From 471c9f97553e1d5722a96d09293ab0d3d70604ab Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 19 Dec 2017 12:24:17 -0800 Subject: [PATCH 001/473] separate creating the loadbalancer to its own powershell script so we can run it again Signed-off-by: HQCATALYST\imran.qureshi --- azure/acs.template.nosubnet.json | 1 + azure/create-acs-cluster.ps1 | 58 ---------------- azure/ingress.ssl.yml | 32 +++++++-- azure/setup-loadbalancer.ps1 | 116 +++++++++++++++++++++++++++++++ nlp/installnlpkubernetes.ps1 | 8 ++- nlp/nlp-kubernetes-public.yml | 9 ++- 6 files changed, 158 insertions(+), 66 deletions(-) create mode 100644 azure/setup-loadbalancer.ps1 diff --git a/azure/acs.template.nosubnet.json b/azure/acs.template.nosubnet.json index 30db3f8..712e96c 100644 --- a/azure/acs.template.nosubnet.json +++ b/azure/acs.template.nosubnet.json @@ -3,6 +3,7 @@ "properties": { "orchestratorProfile": { "orchestratorType": "Kubernetes", + "orchestratorRelease": "1.8", "kubernetesConfig": { "networkPolicy": "azure" } diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index 8fb23fc..09a1879 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -18,7 +18,6 @@ $AKS_SUBNET_NAME = "" $AKS_SUBNET_RESOURCE_GROUP = "" $AKS_SSH_KEY = "" $AKS_FIRST_STATIC_IP = "" -$AKS_OPEN_TO_PUBLIC = "" $AKS_USE_AZURE_NETWORKING = "no" $AKS_SERVICE_PRINCIPAL_NAME = "" @@ -199,10 +198,6 @@ if ($confirmation -eq 'y') { } } - -Do { $AKS_OPEN_TO_PUBLIC = Read-Host "Do you want this cluster open to public? (y/n)"} -while ([string]::IsNullOrWhiteSpace($AKS_OPEN_TO_PUBLIC)) - Write-Output "checking if resource group already exists" $resourceGroupExists = az group exists --name ${AKS_PERS_RESOURCE_GROUP} if ($resourceGroupExists -eq "true") { @@ -636,64 +631,11 @@ Write-Output "Storagekey: [$STORAGE_KEY]" Write-Output "Creating kubernetes secret" kubectl create secret generic azure-secret --from-literal=azurestorageaccountname="${AKS_PERS_STORAGE_ACCOUNT_NAME}" --from-literal=azurestorageaccountkey="${STORAGE_KEY}" -Write-Output "Deploy the ingress controller" -kubectl create -f "$GITHUB_URL/azure/ingress.yml" - -if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { - Write-Output "Setting up a public load balancer" - - az network public-ip create -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --location $AKS_PERS_LOCATION --allocation-method Static - $publicip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --query "ipAddress" -o tsv; - - Write-Host "Using Public IP: [$publicip]" - - $serviceyaml = @" -kind: Service -apiVersion: v1 -metadata: - name: traefik-ingress-service-public - namespace: kube-system -spec: - selector: - k8s-app: traefik-ingress-lb - ports: - - protocol: TCP - port: 80 - name: web - - protocol: TCP - port: 443 - name: ssl - type: LoadBalancer - # Special notes for Azure: To use user-specified public type loadBalancerIP, a static type public IP address resource needs to be created first, - # and it should be in the same resource group of the cluster. - # note that in the case of AKS, that resource group is MC__ - # Then you could specify the assigned IP address as loadBalancerIP - # https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer - loadBalancerIP: $publicip ---- -"@ - - Write-Output $serviceyaml | kubectl create -f - - #kubectl create -f "$GITHUB_URL/azure/loadbalancer-public.yml" - - #kubectl patch service traefik-ingress-service-public --loadBalancerIP=52.191.114.120 - - #kubectl patch deployment traefik-ingress-controller -p '{"spec":{"loadBalancerIP":"52.191.114.120"}}' -} -else { - Write-Output "Setting up a private load balancer" - kubectl create -f "$GITHUB_URL/azure/loadbalancer-internal.yml" - -} - kubectl get "deployments,pods,services,ingress,secrets" --namespace=kube-system Write-Output "Run the following to see status of the cluster" Write-Output "kubectl get deployments,pods,services,ingress,secrets --namespace=kube-system" -Write-Output "To get IP of cluster, run:" -Write-Output "kubectl get svc traefik-ingress-service-private -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}'" - Write-Output "------------------------" Write-Output "To launch the dashboard UI, run:" Write-Output "kubectl proxy" diff --git a/azure/ingress.ssl.yml b/azure/ingress.ssl.yml index a8791ab..b2e5b0c 100644 --- a/azure/ingress.ssl.yml +++ b/azure/ingress.ssl.yml @@ -1,7 +1,12 @@ +# Traefik Ingress reverse proxy +# based on https://github.com/containous/traefik/issues/2329 + +# the config for Traefik so it knows where the certificates are apiVersion: v1 kind: ConfigMap metadata: name: traefik-conf + namespace: kube-system data: traefik.toml: | # traefik.toml @@ -15,15 +20,21 @@ data: address = ":443" [entryPoints.https.tls] [[entryPoints.https.tls.certificates]] - CertFile = "/ssl/tls.crt" - KeyFile = "/ssl/tls.key" + # TLS certs for Allina (AHMN): *.ahmn.healthcatalyst.net + CertFile = "/ssl/ahmn/tls.crt" + KeyFile = "/ssl/ahmn/tls.key" + # [[entryPoints.https.tls.certificates]] + # CertFile = "/ssl/ahmn/tls.crt" + # KeyFile = "/ssl/ahmn/tls.key" --- +# service account to use for running the traefik ingress service apiVersion: v1 kind: ServiceAccount metadata: name: traefik-ingress-controller-serviceaccount namespace: kube-system --- +# deployment of the pods for traefik service kind: Deployment apiVersion: extensions/v1beta1 metadata: @@ -46,9 +57,12 @@ spec: terminationGracePeriodSeconds: 60 terminationGracePeriodSeconds: 60 volumes: - - name: ssl + - name: ssl-ahmn secret: - secretName: traefik-cert + secretName: traefik-cert-ahmn + # - name: ssl-ahmn + # secret: + # secretName: traefik-cert-ahmn - name: config configMap: name: traefik-conf @@ -58,12 +72,21 @@ spec: volumeMounts: - mountPath: "/config" name: "config" + - mountPath: "/ssl/ahmn" + name: "ssl-ahmn" + # - mountPath: "/ssl/ahmn" + # name: "ssl-ahmn" + ports: + - containerPort: 80 + - containerPort: 443 + - containerPort: 8080 args: - --web - --kubernetes - --configfile=/config/traefik.toml - --logLevel=DEBUG --- +# service definition for traefik apiVersion: v1 kind: Service metadata: @@ -76,6 +99,7 @@ spec: - port: 80 targetPort: 8080 --- +# ingress for the Traefik admin ui apiVersion: extensions/v1beta1 kind: Ingress metadata: diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 new file mode 100644 index 0000000..64ce419 --- /dev/null +++ b/azure/setup-loadbalancer.ps1 @@ -0,0 +1,116 @@ +Write-output "Version 2017.12.18.23" + +# +# This script is meant for quick & easy install via: +# curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/setup-loadbalancer.ps1 | iex; + +$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" +$GITHUB_URL = "." + +$AKS_OPEN_TO_PUBLIC = "" +$AKS_USE_SSL="" + +$loggedInUser = az account show --query "user.name" --output tsv + +Write-Output "user: $loggedInUser" + +if ( "$loggedInUser" ) { + $SUBSCRIPTION_NAME = az account show --query "name" --output tsv + Write-Output "You are currently logged in as [$loggedInUser] into subscription [$SUBSCRIPTION_NAME]" + + Do { $confirmation = Read-Host "Do you want to use this account? (y/n)"} + while ([string]::IsNullOrWhiteSpace($confirmation)) + + if ($confirmation -eq 'n') { + az login + } +} +else { + az login +} + +$AKS_SUBSCRIPTION_ID = az account show --query "id" --output tsv + +Do { $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group (e.g., fabricnlp-rg)"} +while ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) + +$AKS_PERS_LOCATION = az group show --name $AKS_PERS_RESOURCE_GROUP --query "location" -o tsv +Write-Output "Using location: [$AKS_PERS_LOCATION]" + +Do { $AKS_OPEN_TO_PUBLIC = Read-Host "Do you want this cluster open to public? (y/n)"} +while ([string]::IsNullOrWhiteSpace($AKS_OPEN_TO_PUBLIC)) + +Do { $AKS_USE_SSL = Read-Host "Do you want to setup SSL? (y/n)"} +while ([string]::IsNullOrWhiteSpace($AKS_USE_SSL)) + +if($AKS_USE_SSL -eq "y" ){ + # ask for tls cert files + Do { $AKS_SSL_CERT_FOLDER = Read-Host "What folder has the tls.crt and tls.key files? (relative path e.g., /temp/certs"} + while ([string]::IsNullOrWhiteSpace($AKS_SSL_CERT_FOLDER) -and (Test-Path -Path "$AKS_SSL_CERT_FOLDER")) + + Write-Output "Storing TLS certs as kubernetes secret" + kubectl create secret generic traefik-cert-ahmn --from-file=$AKS_SSL_CERT_FOLDER/tls.crt --from-file=$AKS_SSL_CERT_FOLDER/tls.key + + Write-Output "Deploy the SSL ingress controller" + kubectl create -f "$GITHUB_URL/azure/ingress.ssl.yml" +} +else { + Write-Output "Deploy the non-SSL ingress controller" + kubectl create -f "$GITHUB_URL/azure/ingress.yml" +} + +if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { + Write-Output "Setting up a public load balancer" + + $publicip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --query "ipAddress" -o tsv; + if ([string]::IsNullOrWhiteSpace($publicip)){ + az network public-ip create -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --location $AKS_PERS_LOCATION --allocation-method Static + $publicip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --query "ipAddress" -o tsv; + } + + Write-Host "Using Public IP: [$publicip]" + + $serviceyaml = @" +kind: Service +apiVersion: v1 +metadata: + name: traefik-ingress-service-public + namespace: kube-system +spec: + selector: + k8s-app: traefik-ingress-lb + ports: + - protocol: TCP + port: 80 + name: web + - protocol: TCP + port: 443 + name: ssl + type: LoadBalancer + # Special notes for Azure: To use user-specified public type loadBalancerIP, a static type public IP address resource needs to be created first, + # and it should be in the same resource group of the cluster. + # note that in the case of AKS, that resource group is MC__ + # Then you could specify the assigned IP address as loadBalancerIP + # https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer + loadBalancerIP: $publicip +--- +"@ + + Write-Output $serviceyaml | kubectl create -f - + #kubectl create -f "$GITHUB_URL/azure/loadbalancer-public.yml" + + #kubectl patch service traefik-ingress-service-public --loadBalancerIP=52.191.114.120 + + #kubectl patch deployment traefik-ingress-controller -p '{"spec":{"loadBalancerIP":"52.191.114.120"}}' +} +else { + Write-Output "Setting up a private load balancer" + kubectl create -f "$GITHUB_URL/azure/loadbalancer-internal.yml" +} + + +Write-Output "To get IP of cluster, run:" +Write-Output "kubectl get svc traefik-ingress-service-private -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}'" + + + diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index 3eb3bad..50f16d8 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -8,9 +8,11 @@ Write-Output "user: $loggedInUser" if ( "$loggedInUser" ) { $SUBSCRIPTION_NAME = az account show --query "name" --output tsv - Write-Output "You are currently logged in as $loggedInUser into subscription $SUBSCRIPTION_NAME" + Write-Output "You are currently logged in as [$loggedInUser] into subscription [$SUBSCRIPTION_NAME]" + + Do { $confirmation = Read-Host "Do you want to use this account? (y/n)"} + while ([string]::IsNullOrWhiteSpace($confirmation)) - $confirmation = Read-Host "Do you want to use this account? (y/n)" if ($confirmation -eq 'n') { az login } @@ -44,7 +46,7 @@ if ([string]::IsNullOrWhiteSpace($(kubectl get secret mysqlpassword -n fabricnlp $mysqlpasswordsecure = Read-host "MySQL password for NLP database" -AsSecureString $mysqlpassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($mysqlpasswordsecure)) kubectl create secret generic mysqlpassword --namespace=fabricnlp --from-literal=password=$mysqlpassword - Write-Warning "WARNING: Be sure to keep the passwords in a secure place or you won't be able to access the data in the cluster afterwards" + Write-Warning "Be sure to keep the passwords in a secure place or you won't be able to access the data in the cluster afterwards" } else { Write-Output "mysqlpassword secret already set so will reuse it" diff --git a/nlp/nlp-kubernetes-public.yml b/nlp/nlp-kubernetes-public.yml index 5ce5a66..bbca1c3 100644 --- a/nlp/nlp-kubernetes-public.yml +++ b/nlp/nlp-kubernetes-public.yml @@ -1,4 +1,5 @@ -# ingress for solr web server +# ingress for web services +# for SSL, from: https://github.com/containous/traefik/issues/2329 apiVersion: extensions/v1beta1 kind: Ingress metadata: @@ -7,6 +8,12 @@ metadata: annotations: kubernetes.io/ingress.class: traefik spec: + tls: + - secretName: ssl-ahmn + hosts: + - solr.allina.healthcatalyst.net + - nlp.allina.healthcatalyst.net + - nlpjobs.allina.healthcatalyst.net rules: - host: solr.allina.healthcatalyst.net http: From 94c96b09ef8a7bd9b1afad98479044b19e0482dd Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 19 Dec 2017 18:10:02 -0800 Subject: [PATCH 002/473] add a check to validate MySQL passwords Signed-off-by: HQCATALYST\imran.qureshi --- azure/create-acs-cluster.ps1 | 5 +++-- azure/setup-loadbalancer.ps1 | 4 ++-- nlp/installnlpkubernetes.ps1 | 20 +++++++++++++++----- 3 files changed, 20 insertions(+), 9 deletions(-) diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index 09a1879..24efb0f 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -448,7 +448,8 @@ function Get-FirstIP { $endaddr = IP-toINT64 -ip $end } - $startaddr = $startaddr + 256 # skip the first few since they are reserved + # https://github.com/Azure/acs-engine/blob/master/docs/kubernetes/features.md#feat-custom-vnet + $startaddr = $startaddr + 239 # skip the first few since they are reserved INT64-toIP -int $startaddr } @@ -621,7 +622,7 @@ if (!"${AKS_PERS_SHARE_NAME}") { $AZURE_STORAGE_CONNECTION_STRING = az storage account show-connection-string -n $AKS_PERS_STORAGE_ACCOUNT_NAME -g $AKS_PERS_RESOURCE_GROUP -o tsv # Write-Output "Create the file share" -az storage share create -n $AKS_PERS_SHARE_NAME --connection-string $AZURE_STORAGE_CONNECTION_STRING +az storage share create -n $AKS_PERS_SHARE_NAME --connection-string $AZURE_STORAGE_CONNECTION_STRING --quota 512 Write-Output "Get storage account key" $STORAGE_KEY = az storage account keys list --resource-group $AKS_PERS_RESOURCE_GROUP --account-name $AKS_PERS_STORAGE_ACCOUNT_NAME --query "[0].value" --output tsv diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index 64ce419..2d4d6b6 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,11 +1,11 @@ -Write-output "Version 2017.12.18.23" +Write-output "Version 2017.12.18.24" # # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/setup-loadbalancer.ps1 | iex; $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -$GITHUB_URL = "." +# $GITHUB_URL = "." $AKS_OPEN_TO_PUBLIC = "" $AKS_USE_SSL="" diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index 50f16d8..9dacba1 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -1,4 +1,4 @@ -write-output "Version 2017.12.18.23" +write-output "Version 2017.12.18.24" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | iex; @@ -34,8 +34,13 @@ else { kubectl create namespace fabricnlp if ([string]::IsNullOrWhiteSpace($(kubectl get secret mysqlrootpassword -n fabricnlp -o jsonpath='{.data.password}'))) { - $mysqlrootpasswordsecure = Read-host "MySQL root password" -AsSecureString - $mysqlrootpassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($mysqlrootpasswordsecure)) + + # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html + Do { + $mysqlrootpasswordsecure = Read-host "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -AsSecureString + $mysqlrootpassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($mysqlrootpasswordsecure)) + } + while (($mysqlrootpassword -notmatch "^[a-z0-9!.*@\s]+$") -or ($mysqlrootpassword.Length -lt 8 )) kubectl create secret generic mysqlrootpassword --namespace=fabricnlp --from-literal=password=$mysqlrootpassword } else { @@ -43,8 +48,13 @@ else { } if ([string]::IsNullOrWhiteSpace($(kubectl get secret mysqlpassword -n fabricnlp -o jsonpath='{.data.password}'))) { - $mysqlpasswordsecure = Read-host "MySQL password for NLP database" -AsSecureString - $mysqlpassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($mysqlpasswordsecure)) + + Do { + $mysqlpasswordsecure = Read-host "MySQL NLP_APP_USER password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -AsSecureString + $mysqlpassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($mysqlpasswordsecure)) + } + while (($mysqlpassword -notmatch "^[a-z0-9!.*@\s]+$") -or ($mysqlpassword.Length -lt 8 )) + kubectl create secret generic mysqlpassword --namespace=fabricnlp --from-literal=password=$mysqlpassword Write-Warning "Be sure to keep the passwords in a secure place or you won't be able to access the data in the cluster afterwards" } From 034bb2c32b5ea979af75900c66dc30c5610f4b2b Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 19 Dec 2017 18:47:54 -0800 Subject: [PATCH 003/473] add ability to set up SSL Signed-off-by: HQCATALYST\imran.qureshi --- azure/ingress.ssl.yml | 9 ++++++++- azure/ingress.yml | 5 +++++ azure/setup-loadbalancer.ps1 | 26 +++++++++++++++++++------- nlp/installnlpkubernetes.ps1 | 1 + 4 files changed, 33 insertions(+), 8 deletions(-) diff --git a/azure/ingress.ssl.yml b/azure/ingress.ssl.yml index b2e5b0c..393b031 100644 --- a/azure/ingress.ssl.yml +++ b/azure/ingress.ssl.yml @@ -6,7 +6,9 @@ apiVersion: v1 kind: ConfigMap metadata: name: traefik-conf - namespace: kube-system + namespace: kube-system + labels: + k8s-traefik: traefik data: traefik.toml: | # traefik.toml @@ -42,6 +44,7 @@ metadata: namespace: kube-system labels: k8s-app: traefik-ingress-lb + k8s-traefik: traefik spec: replicas: 1 selector: @@ -92,6 +95,8 @@ kind: Service metadata: name: traefik-web-ui namespace: kube-system + labels: + k8s-traefik: traefik spec: selector: k8s-app: traefik-ingress-lb @@ -105,6 +110,8 @@ kind: Ingress metadata: name: traefik-web-ui namespace: kube-system + labels: + k8s-traefik: traefik annotations: kubernetes.io/ingress.class: traefik spec: diff --git a/azure/ingress.yml b/azure/ingress.yml index dacf44f..6266b5b 100644 --- a/azure/ingress.yml +++ b/azure/ingress.yml @@ -12,6 +12,7 @@ metadata: namespace: kube-system labels: k8s-app: traefik-ingress-lb + k8s-traefik: traefik spec: replicas: 1 selector: @@ -37,6 +38,8 @@ kind: Service metadata: name: traefik-web-ui namespace: kube-system + labels: + k8s-traefik: traefik spec: selector: k8s-app: traefik-ingress-lb @@ -49,6 +52,8 @@ kind: Ingress metadata: name: traefik-web-ui namespace: kube-system + labels: + k8s-traefik: traefik annotations: kubernetes.io/ingress.class: traefik spec: diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index 2d4d6b6..876ea6d 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2017.12.18.24" +Write-output "Version 2017.12.18.25" # # This script is meant for quick & easy install via: @@ -43,19 +43,23 @@ while ([string]::IsNullOrWhiteSpace($AKS_OPEN_TO_PUBLIC)) Do { $AKS_USE_SSL = Read-Host "Do you want to setup SSL? (y/n)"} while ([string]::IsNullOrWhiteSpace($AKS_USE_SSL)) +kubectl delete 'pods,services,configMaps,deployments,ingress' -l k8s-traefik=traefik -n kube-system + if($AKS_USE_SSL -eq "y" ){ # ask for tls cert files - Do { $AKS_SSL_CERT_FOLDER = Read-Host "What folder has the tls.crt and tls.key files? (relative path e.g., /temp/certs"} - while ([string]::IsNullOrWhiteSpace($AKS_SSL_CERT_FOLDER) -and (Test-Path -Path "$AKS_SSL_CERT_FOLDER")) + Do { $AKS_SSL_CERT_FOLDER = Read-Host "What folder has the tls.crt and tls.key files? (relative path e.g., /temp/certs. no slash at the end)"} + while ([string]::IsNullOrWhiteSpace($AKS_SSL_CERT_FOLDER) -or (!(Test-Path -Path "$AKS_SSL_CERT_FOLDER"))) Write-Output "Storing TLS certs as kubernetes secret" - kubectl create secret generic traefik-cert-ahmn --from-file=$AKS_SSL_CERT_FOLDER/tls.crt --from-file=$AKS_SSL_CERT_FOLDER/tls.key + kubectl create secret generic traefik-cert-ahmn -n kube-system --from-file=$AKS_SSL_CERT_FOLDER/tls.crt --from-file=$AKS_SSL_CERT_FOLDER/tls.key Write-Output "Deploy the SSL ingress controller" + # kubectl delete -f "$GITHUB_URL/azure/ingress.ssl.yml" kubectl create -f "$GITHUB_URL/azure/ingress.ssl.yml" } else { Write-Output "Deploy the non-SSL ingress controller" + # kubectl delete -f "$GITHUB_URL/azure/ingress.yml" kubectl create -f "$GITHUB_URL/azure/ingress.yml" } @@ -70,12 +74,15 @@ if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { Write-Host "Using Public IP: [$publicip]" + # kubectl delete svc traefik-ingress-service-public -n kube-system $serviceyaml = @" kind: Service apiVersion: v1 metadata: name: traefik-ingress-service-public namespace: kube-system + labels: + k8s-traefik: traefik spec: selector: k8s-app: traefik-ingress-lb @@ -108,9 +115,14 @@ else { kubectl create -f "$GITHUB_URL/azure/loadbalancer-internal.yml" } - -Write-Output "To get IP of cluster, run:" -Write-Output "kubectl get svc traefik-ingress-service-private -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}'" +if ("$AKS_OPEN_TO_PUBLIC" -eq "y"){ + Write-Output "To get IP of cluster, run (Note: It can take a minute or so to get the IP from azure):" + Write-Output "kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}'" +} +else { + Write-Output "To get IP of cluster, run:" + Write-Output "kubectl get svc traefik-ingress-service-private -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}'" +} diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index 9dacba1..f537618 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -36,6 +36,7 @@ kubectl create namespace fabricnlp if ([string]::IsNullOrWhiteSpace($(kubectl get secret mysqlrootpassword -n fabricnlp -o jsonpath='{.data.password}'))) { # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html + # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script Do { $mysqlrootpasswordsecure = Read-host "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -AsSecureString $mysqlrootpassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($mysqlrootpasswordsecure)) From 7164f6beb3c24c2d66dd371ec75006f22f6c83a4 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 20 Dec 2017 09:26:42 -0800 Subject: [PATCH 004/473] use path conversion from windows to unix paths since kubectl create secret does not accept windows paths Signed-off-by: HQCATALYST\imran.qureshi --- azure/loadbalancer-internal.yml | 2 ++ azure/setup-loadbalancer.ps1 | 10 +++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/azure/loadbalancer-internal.yml b/azure/loadbalancer-internal.yml index 1d1abce..d5de516 100644 --- a/azure/loadbalancer-internal.yml +++ b/azure/loadbalancer-internal.yml @@ -3,6 +3,8 @@ apiVersion: v1 metadata: name: traefik-ingress-service-private namespace: kube-system + labels: + k8s-traefik: traefik annotations: # from https://radu-matei.com/blog/k8s-appsvc/ service.beta.kubernetes.io/azure-load-balancer-internal: "true" diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index 876ea6d..eb4df9b 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2017.12.18.25" +Write-output "Version 2017.12.20.1" # # This script is meant for quick & easy install via: @@ -47,11 +47,15 @@ kubectl delete 'pods,services,configMaps,deployments,ingress' -l k8s-traefik=tra if($AKS_USE_SSL -eq "y" ){ # ask for tls cert files - Do { $AKS_SSL_CERT_FOLDER = Read-Host "What folder has the tls.crt and tls.key files? (relative path e.g., /temp/certs. no slash at the end)"} + Do { $AKS_SSL_CERT_FOLDER = Read-Host "What folder has the tls.crt and tls.key files? (absolute path e.g., c:\temp\certs)"} while ([string]::IsNullOrWhiteSpace($AKS_SSL_CERT_FOLDER) -or (!(Test-Path -Path "$AKS_SSL_CERT_FOLDER"))) + $AKS_SSL_CERT_FOLDER_UNIX_PATH = (($AKS_SSL_CERT_FOLDER -replace "\\", "/")).ToLower().Trim("/") + + kubectl delete secret traefik-cert-ahmn -n kube-system + Write-Output "Storing TLS certs as kubernetes secret" - kubectl create secret generic traefik-cert-ahmn -n kube-system --from-file=$AKS_SSL_CERT_FOLDER/tls.crt --from-file=$AKS_SSL_CERT_FOLDER/tls.key + kubectl create secret generic traefik-cert-ahmn -n kube-system --from-file="$AKS_SSL_CERT_FOLDER_UNIX_PATH/tls.crt" --from-file="$AKS_SSL_CERT_FOLDER_UNIX_PATH/tls.key" Write-Output "Deploy the SSL ingress controller" # kubectl delete -f "$GITHUB_URL/azure/ingress.ssl.yml" From 3e80551cebb910fa389f43ed9483c98660708726 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 20 Dec 2017 09:59:09 -0800 Subject: [PATCH 005/473] change allina to ahmn Signed-off-by: HQCATALYST\imran.qureshi --- nlp/installnlpkubernetes.ps1 | 4 ++-- nlp/nlp-kubernetes-public.yml | 12 ++++++------ nlp/nlp-kubernetes.yml | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index f537618..fe27d08 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -98,5 +98,5 @@ Write-Output "and then in your browser, navigate to: http://127.0.0.1:8001/ui" $loadBalancerIP = kubectl get svc traefik-ingress-service-private -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' Write-Output "To test out the NLP services, open Git Bash and run:" -Write-Output "curl -L --verbose --header 'Host: solr.allina.healthcatalyst.net' 'http://$loadBalancerIP/solr'" -Write-Output "curl -L --verbose --header 'Host: nlp.allina.healthcatalyst.net' 'http://$loadBalancerIP/nlpweb'" +Write-Output "curl -L --verbose --header 'Host: solr.ahmn.healthcatalyst.net' 'http://$loadBalancerIP/solr'" +Write-Output "curl -L --verbose --header 'Host: nlp.ahmn.healthcatalyst.net' 'http://$loadBalancerIP/nlpweb'" diff --git a/nlp/nlp-kubernetes-public.yml b/nlp/nlp-kubernetes-public.yml index bbca1c3..5b9c736 100644 --- a/nlp/nlp-kubernetes-public.yml +++ b/nlp/nlp-kubernetes-public.yml @@ -11,23 +11,23 @@ spec: tls: - secretName: ssl-ahmn hosts: - - solr.allina.healthcatalyst.net - - nlp.allina.healthcatalyst.net - - nlpjobs.allina.healthcatalyst.net + - solr.ahmn.healthcatalyst.net + - nlp.ahmn.healthcatalyst.net + - nlpjobs.ahmn.healthcatalyst.net rules: - - host: solr.allina.healthcatalyst.net + - host: solr.ahmn.healthcatalyst.net http: paths: - backend: serviceName: solrserverpublic servicePort: 80 - - host: nlp.allina.healthcatalyst.net + - host: nlp.ahmn.healthcatalyst.net http: paths: - backend: serviceName: nlpserverpublic servicePort: 80 - - host: nlpjobs.allina.healthcatalyst.net + - host: nlpjobs.ahmn.healthcatalyst.net http: paths: - backend: diff --git a/nlp/nlp-kubernetes.yml b/nlp/nlp-kubernetes.yml index 4d1f62a..0e6e3bb 100644 --- a/nlp/nlp-kubernetes.yml +++ b/nlp/nlp-kubernetes.yml @@ -89,9 +89,9 @@ spec: imagePullPolicy: Always env: - name: NLPWEB_EXTERNAL_URL - value: nlp.allina.healthcatalyst.net + value: nlp.ahmn.healthcatalyst.net - name: JOBSERVER_EXTERNAL_URL - value: nlpjobs.allina.healthcatalyst.net + value: nlpjobs.ahmn.healthcatalyst.net - name: MYSQL_PASSWORD valueFrom: secretKeyRef: @@ -157,9 +157,9 @@ spec: imagePullPolicy: Always env: # - name: NLPWEB_EXTERNAL_URL - # value: nlp.allina.healthcatalyst.net + # value: nlp.ahmn.healthcatalyst.net # - name: JOBSERVER_EXTERNAL_URL - # value: nlpjobs.allina.healthcatalyst.net + # value: nlpjobs.ahmn.healthcatalyst.net - name: EXTERNAL_HOSTNAME value: localhost - name: MYSQL_PASSWORD From 70acb6950fcc31774d0b6ebdf332f44c47c73f64 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 20 Dec 2017 10:01:17 -0800 Subject: [PATCH 006/473] increment version Signed-off-by: HQCATALYST\imran.qureshi --- nlp/installnlpkubernetes.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index fe27d08..ed35625 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -1,4 +1,4 @@ -write-output "Version 2017.12.18.24" +Write-Output "Version 2017.12.20.1" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | iex; From c053ae0d28a323429c36a1c28c95a995aa819306 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 20 Dec 2017 10:56:12 -0800 Subject: [PATCH 007/473] specify NLPWEB_EXTERNAL_URL for nlpjobs container Signed-off-by: HQCATALYST\imran.qureshi --- azure/setup-loadbalancer.ps1 | 27 ++++++++++++++++++++------- nlp/nlp-kubernetes.yml | 14 +++++++------- 2 files changed, 27 insertions(+), 14 deletions(-) diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index eb4df9b..690532f 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2017.12.20.1" +Write-output "Version 2017.12.20.2" # # This script is meant for quick & easy install via: @@ -8,7 +8,7 @@ $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/m # $GITHUB_URL = "." $AKS_OPEN_TO_PUBLIC = "" -$AKS_USE_SSL="" +$AKS_USE_SSL = "" $loggedInUser = az account show --query "user.name" --output tsv @@ -45,10 +45,10 @@ while ([string]::IsNullOrWhiteSpace($AKS_USE_SSL)) kubectl delete 'pods,services,configMaps,deployments,ingress' -l k8s-traefik=traefik -n kube-system -if($AKS_USE_SSL -eq "y" ){ +if ($AKS_USE_SSL -eq "y" ) { # ask for tls cert files Do { $AKS_SSL_CERT_FOLDER = Read-Host "What folder has the tls.crt and tls.key files? (absolute path e.g., c:\temp\certs)"} - while ([string]::IsNullOrWhiteSpace($AKS_SSL_CERT_FOLDER) -or (!(Test-Path -Path "$AKS_SSL_CERT_FOLDER"))) + while ([string]::IsNullOrWhiteSpace($AKS_SSL_CERT_FOLDER) -or (!(Test-Path -Path "$AKS_SSL_CERT_FOLDER"))) $AKS_SSL_CERT_FOLDER_UNIX_PATH = (($AKS_SSL_CERT_FOLDER -replace "\\", "/")).ToLower().Trim("/") @@ -71,7 +71,7 @@ if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { Write-Output "Setting up a public load balancer" $publicip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --query "ipAddress" -o tsv; - if ([string]::IsNullOrWhiteSpace($publicip)){ + if ([string]::IsNullOrWhiteSpace($publicip)) { az network public-ip create -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --location $AKS_PERS_LOCATION --allocation-method Static $publicip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --query "ipAddress" -o tsv; } @@ -119,8 +119,21 @@ else { kubectl create -f "$GITHUB_URL/azure/loadbalancer-internal.yml" } -if ("$AKS_OPEN_TO_PUBLIC" -eq "y"){ - Write-Output "To get IP of cluster, run (Note: It can take a minute or so to get the IP from azure):" +$startDate = Get-Date +$timeoutInMinutes = 10 +if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { + + Write-Output "Waiting for IP to get assigned to the load balancer (Note: It can take 5 minutes or so to get the IP from azure)" + Do { + Start-Sleep -Seconds 10 + Write-Output "." + $EXTERNAL_IP = $(kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}') + } + while ([string]::IsNullOrWhiteSpace($EXTERNAL_IP) -and ($startDate.AddMinutes($timeoutInMinutes) -gt (Get-Date))) + + Write-Output "External IP: $EXTERNAL_IP" + + Write-Output "To get IP of cluster later:" Write-Output "kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}'" } else { diff --git a/nlp/nlp-kubernetes.yml b/nlp/nlp-kubernetes.yml index 0e6e3bb..225bb57 100644 --- a/nlp/nlp-kubernetes.yml +++ b/nlp/nlp-kubernetes.yml @@ -153,15 +153,15 @@ spec: spec: containers: - name: jobserver - image: healthcatalyst/fabric.nlp.docker.jobs:latest + image: healthcatalyst/fabric.nlp.docker.jobs:1 imagePullPolicy: Always env: - # - name: NLPWEB_EXTERNAL_URL - # value: nlp.ahmn.healthcatalyst.net - # - name: JOBSERVER_EXTERNAL_URL - # value: nlpjobs.ahmn.healthcatalyst.net - - name: EXTERNAL_HOSTNAME - value: localhost + - name: NLPWEB_EXTERNAL_URL + value: nlp.ahmn.healthcatalyst.net + - name: JOBSERVER_EXTERNAL_URL + value: nlpjobs.ahmn.healthcatalyst.net + # - name: EXTERNAL_HOSTNAME + # value: localhost - name: MYSQL_PASSWORD valueFrom: secretKeyRef: From 00fda5c73117ca9f4c5a873b8561c18c20f47dc0 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 21 Dec 2017 15:23:20 -0800 Subject: [PATCH 008/473] show public IP if set Signed-off-by: HQCATALYST\imran.qureshi --- nlp/installnlpkubernetes.ps1 | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index ed35625..c9ce316 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -95,7 +95,10 @@ Write-Output "To launch the dashboard UI, run:" Write-Output "kubectl proxy" Write-Output "and then in your browser, navigate to: http://127.0.0.1:8001/ui" -$loadBalancerIP = kubectl get svc traefik-ingress-service-private -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' +$loadBalancerIP = kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' +if([string]::IsNullOrWhiteSpace($loadBalancerIP)){ + $loadBalancerIP = kubectl get svc traefik-ingress-service-private -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' +} Write-Output "To test out the NLP services, open Git Bash and run:" Write-Output "curl -L --verbose --header 'Host: solr.ahmn.healthcatalyst.net' 'http://$loadBalancerIP/solr'" From e3570af5af616c19d2d078655cfd50fe7d5800f8 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 2 Jan 2018 14:49:05 -0800 Subject: [PATCH 009/473] pass smtp relay key into kubernetes so we can send emails using SendGrid Signed-off-by: HQCATALYST\imran.qureshi --- nlp/installnlpkubernetes.ps1 | 13 +++++++++++++ nlp/nlp-kubernetes.yml | 17 ++++++++++++++++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index c9ce316..4df5681 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -63,6 +63,19 @@ else { Write-Output "mysqlpassword secret already set so will reuse it" } +if ([string]::IsNullOrWhiteSpace($(kubectl get secret smtprelaypassword -n fabricnlp -o jsonpath='{.data.password}'))) { + + Do { + $smtprelaypassword = Read-host "SMTP (SendGrid) Relay Key" + } + while (($smtprelaypassword.Length -lt 8 )) + + kubectl create secret generic smtprelaypassword --namespace=fabricnlp --from-literal=password=$smtprelaypassword +} +else { + Write-Output "smtprelaypassword secret already set so will reuse it" +} + Write-Output "Cleaning out any old resources in fabricnlp" # note kubectl doesn't like spaces in between commas below diff --git a/nlp/nlp-kubernetes.yml b/nlp/nlp-kubernetes.yml index 225bb57..a87eadd 100644 --- a/nlp/nlp-kubernetes.yml +++ b/nlp/nlp-kubernetes.yml @@ -315,7 +315,22 @@ spec: containers: - name: smtpserver image: healthcatalyst/fabric.smtp.agent:latest - imagePullPolicy: Always + imagePullPolicy: Always + # environment variables + env: + - name: SMTP_RELAY_PASSWORD + # set the value of this environment variable from a secret called smtprelaypassword + valueFrom: + secretKeyRef: + name: smtprelaypassword + key: password + - name: SMTP_RELAY_USERNAME + # set the value of this environment variable directly + value: apikey + - name: SMTP_RELAY_SERVER + value: smtp.sendgrid.net + - name: SMTP_RELAY_PORT + value: 587 --- # Service kind: Service From 3d1d6e12146a66c68de102b431a002ce8b7bfb63 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 2 Jan 2018 17:18:46 -0800 Subject: [PATCH 010/473] put number in quotes otherwise kubernetes doesn't ike it Signed-off-by: HQCATALYST\imran.qureshi --- nlp/nlp-kubernetes.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nlp/nlp-kubernetes.yml b/nlp/nlp-kubernetes.yml index a87eadd..f827e02 100644 --- a/nlp/nlp-kubernetes.yml +++ b/nlp/nlp-kubernetes.yml @@ -330,7 +330,7 @@ spec: - name: SMTP_RELAY_SERVER value: smtp.sendgrid.net - name: SMTP_RELAY_PORT - value: 587 + value: "587" --- # Service kind: Service From 7bd821c2de6ba75236f408664b4e98c0e777de11 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 2 Jan 2018 17:40:14 -0800 Subject: [PATCH 011/473] specify port for smtp relay Signed-off-by: HQCATALYST\imran.qureshi --- nlp/nlp-kubernetes.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nlp/nlp-kubernetes.yml b/nlp/nlp-kubernetes.yml index f827e02..1ce6381 100644 --- a/nlp/nlp-kubernetes.yml +++ b/nlp/nlp-kubernetes.yml @@ -331,6 +331,9 @@ spec: value: smtp.sendgrid.net - name: SMTP_RELAY_PORT value: "587" + ports: + - containerPort: 25 + name: smtp --- # Service kind: Service From a322165321687a500a13dd7335a29af3fec60cd7 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 2 Jan 2018 18:20:31 -0800 Subject: [PATCH 012/473] add cafe-kube-dns.yml to set upstream nameservers Signed-off-by: HQCATALYST\imran.qureshi --- azure/cafe-kube-dns.yml | 10 ++++++++++ azure/setup-loadbalancer.ps1 | 4 ++++ 2 files changed, 14 insertions(+) create mode 100644 azure/cafe-kube-dns.yml diff --git a/azure/cafe-kube-dns.yml b/azure/cafe-kube-dns.yml new file mode 100644 index 0000000..8bfa035 --- /dev/null +++ b/azure/cafe-kube-dns.yml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: kube-dns + namespace: kube-system +data: + stubDomains: | + {"cafe.healthcatalyst.com": ["10.5.2.4","10.5.2.15"]} + upstreamNameservers: | + ["10.5.2.4","10.5.2.15"] \ No newline at end of file diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index 690532f..ebb6e59 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -45,6 +45,10 @@ while ([string]::IsNullOrWhiteSpace($AKS_USE_SSL)) kubectl delete 'pods,services,configMaps,deployments,ingress' -l k8s-traefik=traefik -n kube-system +kubectl delete -f "$GITHUB_URL/azure/cafe-kube-dns.yml" +Start-Sleep -Seconds 10 +kubectl create -f "$GITHUB_URL/azure/cafe-kube-dns.yml" + if ($AKS_USE_SSL -eq "y" ) { # ask for tls cert files Do { $AKS_SSL_CERT_FOLDER = Read-Host "What folder has the tls.crt and tls.key files? (absolute path e.g., c:\temp\certs)"} From 285e9d13be72006ac44b60d45de4735e47cd4a74 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 2 Jan 2018 18:32:10 -0800 Subject: [PATCH 013/473] add google nameservers to configmap Signed-off-by: HQCATALYST\imran.qureshi --- azure/cafe-kube-dns.yml | 3 ++- azure/setup-loadbalancer.ps1 | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/azure/cafe-kube-dns.yml b/azure/cafe-kube-dns.yml index 8bfa035..804eba8 100644 --- a/azure/cafe-kube-dns.yml +++ b/azure/cafe-kube-dns.yml @@ -1,3 +1,4 @@ +# from http://blog.kubernetes.io/2017/04/configuring-private-dns-zones-upstream-nameservers-kubernetes.html apiVersion: v1 kind: ConfigMap metadata: @@ -7,4 +8,4 @@ data: stubDomains: | {"cafe.healthcatalyst.com": ["10.5.2.4","10.5.2.15"]} upstreamNameservers: | - ["10.5.2.4","10.5.2.15"] \ No newline at end of file + ["10.5.2.4","10.5.2.15","8.8.8.8", "8.8.4.4"] \ No newline at end of file diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index ebb6e59..f5d7cad 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -45,6 +45,7 @@ while ([string]::IsNullOrWhiteSpace($AKS_USE_SSL)) kubectl delete 'pods,services,configMaps,deployments,ingress' -l k8s-traefik=traefik -n kube-system +# http://blog.kubernetes.io/2017/04/configuring-private-dns-zones-upstream-nameservers-kubernetes.html kubectl delete -f "$GITHUB_URL/azure/cafe-kube-dns.yml" Start-Sleep -Seconds 10 kubectl create -f "$GITHUB_URL/azure/cafe-kube-dns.yml" From aa224f1216229b392f863c233376232f29690874 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 2 Jan 2018 18:56:12 -0800 Subject: [PATCH 014/473] reduce number of upstream nameservers since kubernetes can't handle more than three entries Signed-off-by: HQCATALYST\imran.qureshi --- azure/cafe-kube-dns.yml | 2 +- azure/setup-loadbalancer.ps1 | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/azure/cafe-kube-dns.yml b/azure/cafe-kube-dns.yml index 804eba8..281b4ee 100644 --- a/azure/cafe-kube-dns.yml +++ b/azure/cafe-kube-dns.yml @@ -8,4 +8,4 @@ data: stubDomains: | {"cafe.healthcatalyst.com": ["10.5.2.4","10.5.2.15"]} upstreamNameservers: | - ["10.5.2.4","10.5.2.15","8.8.8.8", "8.8.4.4"] \ No newline at end of file + ["10.5.2.4","8.8.8.8"] \ No newline at end of file diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index f5d7cad..75e69cf 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -49,6 +49,7 @@ kubectl delete 'pods,services,configMaps,deployments,ingress' -l k8s-traefik=tra kubectl delete -f "$GITHUB_URL/azure/cafe-kube-dns.yml" Start-Sleep -Seconds 10 kubectl create -f "$GITHUB_URL/azure/cafe-kube-dns.yml" +# to debug dns: https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#inheriting-dns-from-the-node if ($AKS_USE_SSL -eq "y" ) { # ask for tls cert files From a316afd83570e47086fa7f151eb58b4e52357286 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 3 Jan 2018 09:44:53 -0800 Subject: [PATCH 015/473] remove the cafe dns from kube-dns to troubleshoot an issue Signed-off-by: HQCATALYST\imran.qureshi --- azure/cafe-kube-dns.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/azure/cafe-kube-dns.yml b/azure/cafe-kube-dns.yml index 281b4ee..9c918ce 100644 --- a/azure/cafe-kube-dns.yml +++ b/azure/cafe-kube-dns.yml @@ -5,7 +5,5 @@ metadata: name: kube-dns namespace: kube-system data: - stubDomains: | - {"cafe.healthcatalyst.com": ["10.5.2.4","10.5.2.15"]} upstreamNameservers: | - ["10.5.2.4","8.8.8.8"] \ No newline at end of file + ["8.8.8.8"] \ No newline at end of file From c75e97e3196f85c50bfc5401be96be9521db9070 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 4 Jan 2018 16:00:50 -0800 Subject: [PATCH 016/473] initial version of the kubernetes scripts for realtime Signed-off-by: HQCATALYST\imran.qureshi --- realtime/installrealtimekubernetes.ps1 | 131 +++++++++++++++++++++++ realtime/mysql-deployment.yml | 44 -------- realtime/persistentdisks.yml | 11 -- realtime/realtime-kubernetes-storage.yml | 95 ++++++++++++++++ realtime/realtime-kubernetes.yml | 119 ++++++++++++++++---- 5 files changed, 327 insertions(+), 73 deletions(-) create mode 100644 realtime/installrealtimekubernetes.ps1 delete mode 100644 realtime/mysql-deployment.yml delete mode 100644 realtime/persistentdisks.yml create mode 100644 realtime/realtime-kubernetes-storage.yml diff --git a/realtime/installrealtimekubernetes.ps1 b/realtime/installrealtimekubernetes.ps1 new file mode 100644 index 0000000..59c23a2 --- /dev/null +++ b/realtime/installrealtimekubernetes.ps1 @@ -0,0 +1,131 @@ +Write-Output "Version 2017.12.20.1" + +# curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.ps1 | iex; + +$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" +$GITHUB_URL = "." + +$loggedInUser = az account show --query "user.name" --output tsv + +Write-Output "user: $loggedInUser" + +if ( "$loggedInUser" ) { + $SUBSCRIPTION_NAME = az account show --query "name" --output tsv + Write-Output "You are currently logged in as [$loggedInUser] into subscription [$SUBSCRIPTION_NAME]" + + Do { $confirmation = Read-Host "Do you want to use this account? (y/n)"} + while ([string]::IsNullOrWhiteSpace($confirmation)) + + if ($confirmation -eq 'n') { + az login + } +} +else { + # login + az login +} + +# https://kubernetes.io/docs/reference/kubectl/jsonpath/ + +# setup DNS +# az network dns zone create -g $AKS_PERS_RESOURCE_GROUP -n nlp.allina.healthcatalyst.net +# az network dns record-set a add-record --ipv4-address j ` +# --record-set-name nlp.allina.healthcatalyst.net ` +# --resource-group $AKS_PERS_RESOURCE_GROUP ` +# --zone-name + +kubectl create namespace fabricrealtime + +if ([string]::IsNullOrWhiteSpace($(kubectl get secret mysqlrootpassword -n fabricrealtime -o jsonpath='{.data.password}'))) { + + # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html + # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script + Do { + $mysqlrootpasswordsecure = Read-host "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -AsSecureString + $mysqlrootpassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($mysqlrootpasswordsecure)) + } + while (($mysqlrootpassword -notmatch "^[a-z0-9!.*@\s]+$") -or ($mysqlrootpassword.Length -lt 8 )) + kubectl create secret generic mysqlrootpassword --namespace=fabricrealtime --from-literal=password=$mysqlrootpassword +} +else { + Write-Output "mysqlrootpassword secret already set so will reuse it" +} + +if ([string]::IsNullOrWhiteSpace($(kubectl get secret mysqlpassword -n fabricrealtime -o jsonpath='{.data.password}'))) { + + Do { + $mysqlpasswordsecure = Read-host "MySQL NLP_APP_USER password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -AsSecureString + $mysqlpassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($mysqlpasswordsecure)) + } + while (($mysqlpassword -notmatch "^[a-z0-9!.*@\s]+$") -or ($mysqlpassword.Length -lt 8 )) + + kubectl create secret generic mysqlpassword --namespace=fabricrealtime --from-literal=password=$mysqlpassword + Write-Warning "Be sure to keep the passwords in a secure place or you won't be able to access the data in the cluster afterwards" +} +else { + Write-Output "mysqlpassword secret already set so will reuse it" +} + +if ([string]::IsNullOrWhiteSpace($(kubectl get secret certhostname -n fabricrealtime -o jsonpath='{.data.value}'))) { + + Do { + $certhostname = Read-host "Client Certificate hostname" + } + while ($certhostname.Length -lt 8 ) + + kubectl create secret generic certhostname --namespace=fabricrealtime --from-literal=value=$certhostname +} +else { + Write-Output "certhostname secret already set so will reuse it" +} + +if ([string]::IsNullOrWhiteSpace($(kubectl get secret certpassword -n fabricrealtime -o jsonpath='{.data.password}'))) { + + Do { + $certpasswordsecure = Read-host "Client Certificate password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -AsSecureString + $certpassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($certpasswordsecure)) + } + while (($certpassword -notmatch "^[a-z0-9!.*@\s]+$") -or ($certpassword.Length -lt 8 )) + + kubectl create secret generic certpassword --namespace=fabricrealtime --from-literal=password=$certpassword +} +else { + Write-Output "certpassword secret already set so will reuse it" +} + +Write-Output "Cleaning out any old resources in fabricrealtime" + +# note kubectl doesn't like spaces in between commas below +kubectl delete --all 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes' --namespace=fabricrealtime + +Write-Output "Waiting until all the resources are cleared up" + +Do { $CLEANUP_DONE = $(kubectl get 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes' --namespace=fabricrealtime)} +while (![string]::IsNullOrWhiteSpace($CLEANUP_DONE)) + +kubectl create -f $GITHUB_URL/realtime/realtime-kubernetes-storage.yml + +kubectl create -f $GITHUB_URL/realtime/realtime-kubernetes.yml + +kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime + +# to get a shell +# kubectl exec -it fabric.nlp.nlpwebserver-85c8cb86b5-gkphh bash --namespace=fabricrealtime + +# kubectl create secret generic azure-secret --namespace=fabricrealtime --from-literal=azurestorageaccountname="fabricrealtime7storage" --from-literal=azurestorageaccountkey="/bYhXNstTodg3MdOvTMog/vDLSFrQDpxG/Zgkp2MlnjtOWhDBNQ2xOs6zjRoZYNjmJHya34MfzqdfOwXkMDN2A==" + +Write-Output "To get status of Fabric.NLP run:" +Write-Output "kubectl get deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes --namespace=fabricrealtime" + +Write-Output "To launch the dashboard UI, run:" +Write-Output "kubectl proxy" +Write-Output "and then in your browser, navigate to: http://127.0.0.1:8001/ui" + +$loadBalancerIP = kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' +if([string]::IsNullOrWhiteSpace($loadBalancerIP)){ + $loadBalancerIP = kubectl get svc traefik-ingress-service-private -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' +} + +Write-Output "To test out the NLP services, open Git Bash and run:" +Write-Output "curl -L --verbose --header 'Host: solr.ahmn.healthcatalyst.net' 'http://$loadBalancerIP/solr'" +Write-Output "curl -L --verbose --header 'Host: nlp.ahmn.healthcatalyst.net' 'http://$loadBalancerIP/nlpweb'" diff --git a/realtime/mysql-deployment.yml b/realtime/mysql-deployment.yml deleted file mode 100644 index 282809c..0000000 --- a/realtime/mysql-deployment.yml +++ /dev/null @@ -1,44 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - name: mysql - labels: - app: mysql -spec: - replicas: 1 - selector: - matchLabels: - app: mysql - template: - metadata: - labels: - app: mysql - spec: - containers: - - image: healthcatalyst/fabric.realtime.mysql - name: mysqlserver - env: - - name: MYSQL_ROOT_PASSWORD - valueFrom: - secretKeyRef: - name: mysqlrootpassword - key: password - - name: MYSQL_PASSWORD - valueFrom: - secretKeyRef: - name: mysqlpassword - key: password - - name: MYSQL_DATABASE - value: mirthdb - - name: MYSQL_USER - value: mirthuser - ports: - - containerPort: 3306 - name: mysql - volumeMounts: - - name: mysql-persistent-storage - mountPath: /var/lib/mysql - volumes: - - name: mysql-persistent-storage - hostPath: - path: /C/tmp/mysql diff --git a/realtime/persistentdisks.yml b/realtime/persistentdisks.yml deleted file mode 100644 index b445d3c..0000000 --- a/realtime/persistentdisks.yml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: v1 -kind: PersistentVolume -metadata: - name: pv0001 -spec: - accessModes: - - ReadWriteOnce - capacity: - storage: 5Gi - hostPath: - path: /data/pv0001/ \ No newline at end of file diff --git a/realtime/realtime-kubernetes-storage.yml b/realtime/realtime-kubernetes-storage.yml new file mode 100644 index 0000000..56874e8 --- /dev/null +++ b/realtime/realtime-kubernetes-storage.yml @@ -0,0 +1,95 @@ +# define persistent volumes +# ----- MySql ---------- +# Persistent Volume +apiVersion: v1 +kind: PersistentVolume +metadata: + name: azure-file-volume-mysql + namespace: fabricrealtime +spec: + storageClassName: default + capacity: + storage: 128Gi + # https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes + accessModes: + - ReadWriteMany + # https://kubernetes.io/docs/api-reference/v1.8/#azurefilepersistentvolumesource-v1-core + azureFile: + secretName: azure-secret + secretNamespace: default + shareName: fabricrealtime + readOnly: false + mountOptions: + # we need to set owner of this to mysql user (999) so it has permissions to this folder + - uid=999 + - gid=999 + # and set permissions for the user to this folder + # 0 no permissions + # 1 execute + # 2 write + # 3 write & execute + # 4 read + # 5 read & execute + # 6 read & write + # 7 read write & execute + # in 0731 0 is ignore, the 7 applies to owner, 3 applies to group, 1 applies to everyone else + - dir_mode=0731 + - file_mode=0764 + claimRef: + namespace: fabricrealtime + name: az-files-mysql +--- +# Persistent Volume Claim +# claims have to be defined here otherwise when we remove the pods the volume goes into Released mode +# and we can't bind to that volume again until we delete the volume +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: az-files-mysql + namespace: fabricrealtime +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 128Gi +--- +# ----- MySql ---------- +# Persistent Volume +apiVersion: v1 +kind: PersistentVolume +metadata: + name: azure-file-volume-certificateserver + namespace: fabricrealtime +spec: + storageClassName: default + capacity: + storage: 16Gi + # https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes + accessModes: + - ReadWriteMany + # https://kubernetes.io/docs/api-reference/v1.8/#azurefilepersistentvolumesource-v1-core + azureFile: + secretName: azure-secret + secretNamespace: default + shareName: fabricrealtime + readOnly: false + claimRef: + namespace: fabricrealtime + name: az-files-certificateserver +--- +# Persistent Volume Claim +# claims have to be defined here otherwise when we remove the pods the volume goes into Released mode +# and we can't bind to that volume again until we delete the volume +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: az-files-certificateserver + namespace: fabricrealtime +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 16Gi +--- diff --git a/realtime/realtime-kubernetes.yml b/realtime/realtime-kubernetes.yml index 7afe399..127f336 100644 --- a/realtime/realtime-kubernetes.yml +++ b/realtime/realtime-kubernetes.yml @@ -1,24 +1,40 @@ -apiVersion: extensions/v1beta1 +# --- MySql --- +# Pod kind: Deployment +apiVersion: extensions/v1beta1 metadata: - name: fabric.realtime +# name for this pod + name: mysqlserver +# namespace for this pod + namespace: fabricrealtime labels: - app: mysql + app: mysqlserver spec: replicas: 1 + revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. + strategy: + # We need to kill the existing Pod before creating an new one + # for the new one to be able to attach the persistent disk. + type: Recreate selector: matchLabels: - app: mysql + app: mysqlserver template: metadata: labels: - app: mysql + app: mysqlserver spec: containers: + # name of this pod - name: mysqlserver - image: healthcatalyst/fabric.realtime.mysql + # image to pull + image: healthcatalyst/fabric.realtime.mysql:latest + # specify to always pull a new image + imagePullPolicy: Always + # environment variables env: - name: MYSQL_ROOT_PASSWORD + # set the value of this environment variable from a secret called mysqlrootpassword valueFrom: secretKeyRef: name: mysqlrootpassword @@ -29,17 +45,83 @@ spec: name: mysqlpassword key: password - name: MYSQL_DATABASE + # set the value of this environment variable directly value: mirthdb - name: MYSQL_USER value: mirthuser ports: + # expose port 3306 - containerPort: 3306 + # name of the port name: mysql volumeMounts: - name: mysql-persistent-storage + # point the /var/lib/mysql folder inside the container to the volume called mysql-persistent-storage mountPath: /var/lib/mysql + subPath: mysql + volumes: + - name: mysql-persistent-storage + persistentVolumeClaim: + claimName: az-files-mysql +--- +# Service +kind: Service +apiVersion: v1 +metadata: +# this service shows up in the UI with this name + name: mysqlserver +# namespace should match other services in this file + namespace: fabricrealtime +# labels allows you to use selectors to find this service + labels: + app: mysqlserver +spec: + ports: +# port that other services can use to connect to this service + - port: 3306 +# port in the pod we map to + targetPort: 3306 + protocol: TCP +# selector says this service should use a pod that has the "app: mysqlserver" label + selector: + app: mysqlserver +--- +# -- end of MySql --- + +# --- Certificate Server --- +# Pod +kind: Deployment +apiVersion: extensions/v1beta1 +metadata: +# name for this pod + name: certificateserver +# namespace for this pod + namespace: fabricrealtime + labels: + app: certificateserver +spec: + replicas: 1 + revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. + strategy: + # We need to kill the existing Pod before creating an new one + # for the new one to be able to attach the persistent disk. + type: Recreate + selector: + matchLabels: + app: certificateserver + template: + metadata: + labels: + app: certificateserver + spec: + containers: + # name of this pod - name: certificateserver - image: healthcatalyst/fabric.certificateserver + # image to pull + image: healthcatalyst/fabric.certificateserver:latest + # specify to always pull a new image + imagePullPolicy: Always + # environment variables env: - name: CERT_HOSTNAME valueFrom: @@ -54,16 +136,17 @@ spec: - name: CLIENT_CERT_USERNAME value: fabricrabbitmquser ports: - - containerPort: 3000 - resources: {} + # expose port 3000 + - containerPort: 3000 + # name of the port + name: certserver volumeMounts: - - mountPath: /opt/certs/ - name: certificateserver-storage - + - name: certificateserver-persistent-storage + # point the /var/lib/mysql folder inside the container to the volume called mysql-persistent-storage + mountPath: /opt/certs/ + subPath: mysql volumes: - - name: mysql-persistent-storage - hostPath: - path: /data/mysql - - name: certificateserver-storage - hostPath: - path: /data/mysql + - name: certificateserver-persistent-storage + persistentVolumeClaim: + claimName: az-files-certificateserver +--- From 93b1240c5fa0a2c170136252bd5209065ba2621f Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 4 Jan 2018 19:14:23 -0800 Subject: [PATCH 017/473] add rabbitmq service to kubernetes Signed-off-by: HQCATALYST\imran.qureshi --- realtime/installrealtimekubernetes.ps1 | 75 ++++++------- realtime/realtime-kubernetes-storage.yml | 98 ++++++++++++++++- realtime/realtime-kubernetes.yml | 129 ++++++++++++++++++++++- 3 files changed, 255 insertions(+), 47 deletions(-) diff --git a/realtime/installrealtimekubernetes.ps1 b/realtime/installrealtimekubernetes.ps1 index 59c23a2..b01109f 100644 --- a/realtime/installrealtimekubernetes.ps1 +++ b/realtime/installrealtimekubernetes.ps1 @@ -36,62 +36,47 @@ else { kubectl create namespace fabricrealtime -if ([string]::IsNullOrWhiteSpace($(kubectl get secret mysqlrootpassword -n fabricrealtime -o jsonpath='{.data.password}'))) { - - # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html - # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script - Do { - $mysqlrootpasswordsecure = Read-host "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -AsSecureString - $mysqlrootpassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($mysqlrootpasswordsecure)) +function AskForPassword ($secretname, $prompt) { + if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n fabricrealtime -o jsonpath='{.data.password}'))) { + + # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html + # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script + Do { + $mysqlrootpasswordsecure = Read-host "$prompt" -AsSecureString + $mysqlrootpassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($mysqlrootpasswordsecure)) + } + while (($mysqlrootpassword -notmatch "^[a-z0-9!.*@\s]+$") -or ($mysqlrootpassword.Length -lt 8 )) + kubectl create secret generic $secretname --namespace=fabricrealtime --from-literal=password=$mysqlrootpassword + } + else { + Write-Output "$secretname secret already set so will reuse it" } - while (($mysqlrootpassword -notmatch "^[a-z0-9!.*@\s]+$") -or ($mysqlrootpassword.Length -lt 8 )) - kubectl create secret generic mysqlrootpassword --namespace=fabricrealtime --from-literal=password=$mysqlrootpassword -} -else { - Write-Output "mysqlrootpassword secret already set so will reuse it" } -if ([string]::IsNullOrWhiteSpace($(kubectl get secret mysqlpassword -n fabricrealtime -o jsonpath='{.data.password}'))) { +function AskForSecretValue ($secretname, $prompt) { + if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n fabricrealtime -o jsonpath='{.data.value}'))) { - Do { - $mysqlpasswordsecure = Read-host "MySQL NLP_APP_USER password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -AsSecureString - $mysqlpassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($mysqlpasswordsecure)) + Do { + $certhostname = Read-host "$prompt" + } + while ($certhostname.Length -lt 8 ) + + kubectl create secret generic $secretname --namespace=fabricrealtime --from-literal=value=$certhostname } - while (($mysqlpassword -notmatch "^[a-z0-9!.*@\s]+$") -or ($mysqlpassword.Length -lt 8 )) - - kubectl create secret generic mysqlpassword --namespace=fabricrealtime --from-literal=password=$mysqlpassword - Write-Warning "Be sure to keep the passwords in a secure place or you won't be able to access the data in the cluster afterwards" -} -else { - Write-Output "mysqlpassword secret already set so will reuse it" + else { + Write-Output "certhostname secret already set so will reuse it" + } } -if ([string]::IsNullOrWhiteSpace($(kubectl get secret certhostname -n fabricrealtime -o jsonpath='{.data.value}'))) { +AskForPassword -secretname "mysqlrootpassword" -prompt "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" - Do { - $certhostname = Read-host "Client Certificate hostname" - } - while ($certhostname.Length -lt 8 ) +AskForPassword -secretname "mysqlpassword" -prompt "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" - kubectl create secret generic certhostname --namespace=fabricrealtime --from-literal=value=$certhostname -} -else { - Write-Output "certhostname secret already set so will reuse it" -} +AskForSecretValue -secretname "certhostname" -prompt "Client Certificate hostname" -if ([string]::IsNullOrWhiteSpace($(kubectl get secret certpassword -n fabricrealtime -o jsonpath='{.data.password}'))) { +AskForPassword -secretname "certpassword" -prompt "Client Certificate password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" - Do { - $certpasswordsecure = Read-host "Client Certificate password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -AsSecureString - $certpassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($certpasswordsecure)) - } - while (($certpassword -notmatch "^[a-z0-9!.*@\s]+$") -or ($certpassword.Length -lt 8 )) - - kubectl create secret generic certpassword --namespace=fabricrealtime --from-literal=password=$certpassword -} -else { - Write-Output "certpassword secret already set so will reuse it" -} +AskForPassword -secretname "rabbitmqmgmtuipassword" -prompt "Admin password for RabbitMqMgmt" Write-Output "Cleaning out any old resources in fabricrealtime" diff --git a/realtime/realtime-kubernetes-storage.yml b/realtime/realtime-kubernetes-storage.yml index 56874e8..3c26129 100644 --- a/realtime/realtime-kubernetes-storage.yml +++ b/realtime/realtime-kubernetes-storage.yml @@ -54,7 +54,7 @@ spec: requests: storage: 128Gi --- -# ----- MySql ---------- +# ----- Certificate Server ---------- # Persistent Volume apiVersion: v1 kind: PersistentVolume @@ -93,3 +93,99 @@ spec: requests: storage: 16Gi --- +# ----- RabbitMq Cert ---------- +# Persistent Volume +apiVersion: v1 +kind: PersistentVolume +metadata: + name: azure-file-volume-rabbitmqcert + namespace: fabricrealtime +spec: + storageClassName: default + capacity: + storage: 16Gi + # https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes + accessModes: + - ReadWriteMany + # https://kubernetes.io/docs/api-reference/v1.8/#azurefilepersistentvolumesource-v1-core + azureFile: + secretName: azure-secret + secretNamespace: default + shareName: fabricrealtime + readOnly: false + claimRef: + namespace: fabricrealtime + name: az-files-rabbitmqcert +--- +# Persistent Volume Claim +# claims have to be defined here otherwise when we remove the pods the volume goes into Released mode +# and we can't bind to that volume again until we delete the volume +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: az-files-rabbitmqcert + namespace: fabricrealtime +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 16Gi +--- +# ----- RabbitMq Storage ---------- +# Persistent Volume +apiVersion: v1 +kind: PersistentVolume +metadata: + name: azure-file-volume-rabbitmq + namespace: fabricrealtime +spec: + storageClassName: default + capacity: + storage: 128Gi + # https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes + accessModes: + - ReadWriteMany + # https://kubernetes.io/docs/api-reference/v1.8/#azurefilepersistentvolumesource-v1-core + mountOptions: + # we need to set owner of this to mysql user (999) so it has permissions to this folder + # https://github.com/airdock-io/docker-base/wiki/Common-User-List + # This should be 4204 according to documentation but is actually 999 in reality + - uid=999 + - gid=999 + # and set permissions for the user to this folder + # 0 no permissions + # 1 execute + # 2 write + # 3 write & execute + # 4 read + # 5 read & execute + # 6 read & write + # 7 read write & execute + # in 0731 0 is ignore, the 7 applies to owner, 3 applies to group, 1 applies to everyone else + - dir_mode=0731 + - file_mode=0764 + azureFile: + secretName: azure-secret + secretNamespace: default + shareName: fabricrealtime + readOnly: false + claimRef: + namespace: fabricrealtime + name: az-files-rabbitmq +--- +# Persistent Volume Claim +# claims have to be defined here otherwise when we remove the pods the volume goes into Released mode +# and we can't bind to that volume again until we delete the volume +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: az-files-rabbitmq + namespace: fabricrealtime +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 128Gi +--- diff --git a/realtime/realtime-kubernetes.yml b/realtime/realtime-kubernetes.yml index 127f336..b86c53d 100644 --- a/realtime/realtime-kubernetes.yml +++ b/realtime/realtime-kubernetes.yml @@ -144,9 +144,136 @@ spec: - name: certificateserver-persistent-storage # point the /var/lib/mysql folder inside the container to the volume called mysql-persistent-storage mountPath: /opt/certs/ - subPath: mysql + subPath: certs volumes: - name: certificateserver-persistent-storage persistentVolumeClaim: claimName: az-files-certificateserver --- +# Service +kind: Service +apiVersion: v1 +metadata: +# this service shows up in the UI with this name + name: certificateserver +# namespace should match other services in this file + namespace: fabricrealtime +# labels allows you to use selectors to find this service + labels: + app: certificateserver +spec: + ports: +# port that other services can use to connect to this service + - port: 8801 +# port in the pod we map to + targetPort: 3000 + protocol: TCP +# selector says this service should use a pod that has the "app: mysqlserver" label + selector: + app: certificateserver +--- +# -- end of Certificateserver --- + +# --- RabbitMq Server --- +# Pod +kind: Deployment +apiVersion: extensions/v1beta1 +metadata: +# name for this pod + name: rabbitmq +# namespace for this pod + namespace: fabricrealtime + labels: + app: rabbitmq +spec: + replicas: 1 + revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. + strategy: + # We need to kill the existing Pod before creating an new one + # for the new one to be able to attach the persistent disk. + type: Recreate + selector: + matchLabels: + app: rabbitmq + template: + metadata: + labels: + app: rabbitmq + spec: + containers: + # name of this pod + - name: rabbitmq + # image to pull + image: healthcatalyst/fabric.realtime.rabbitmq:latest + # specify to always pull a new image + imagePullPolicy: Always + # environment variables + env: + - name: CERT_HOSTNAME + valueFrom: + secretKeyRef: + name: certhostname + key: value + - name: RABBITMQ_MGMT_UI_PASSWORD + valueFrom: + secretKeyRef: + name: rabbitmqmgmtuipassword + key: password + - name: RABBITMQ_MNESIA_BASE + value: "/opt/rabbitmq" + - name: RABBITMQ_LOGS + value: "-" + ports: + # expose port 3000 + - containerPort: 5671 + # name of the port + name: rabbitmq + - containerPort: 15672 + # name of the port + name: rabbitmqmgmt + volumeMounts: + - name: rabbitmqcert-persistent-storage + # point the /var/lib/mysql folder inside the container to the volume called mysql-persistent-storage + mountPath: /opt/healthcatalyst/ + subPath: certs + - name: rabbitmq-persistent-storage + # point the /var/lib/mysql folder inside the container to the volume called mysql-persistent-storage + mountPath: /opt/rabbitmq + subPath: rabbitmq + volumes: + - name: rabbitmqcert-persistent-storage + persistentVolumeClaim: + claimName: az-files-rabbitmqcert + - name: rabbitmq-persistent-storage + persistentVolumeClaim: + claimName: az-files-rabbitmq +--- +# Service +kind: Service +apiVersion: v1 +metadata: +# this service shows up in the UI with this name + name: rabbitmq +# namespace should match other services in this file + namespace: fabricrealtime +# labels allows you to use selectors to find this service + labels: + app: rabbitmq +spec: + ports: +# port that other services can use to connect to this service + - port: 5671 +# port in the pod we map to + targetPort: 5671 + protocol: TCP + name: "main" + - port: 15672 +# port in the pod we map to + targetPort: 15672 + protocol: TCP + name: "mgmt" +# selector says this service should use a pod that has the "app: mysqlserver" label + selector: + app: rabbitmq +--- +# -- end of rabbitmq --- \ No newline at end of file From 4ece82d44214e331e52f5c2cb45b106313f3bf08 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 5 Jan 2018 08:21:27 -0800 Subject: [PATCH 018/473] add interfaceengine to kubernetes Signed-off-by: HQCATALYST\imran.qureshi --- realtime/realtime-kubernetes.yml | 93 +++++++++++++++++++++++++++++++- 1 file changed, 92 insertions(+), 1 deletion(-) diff --git a/realtime/realtime-kubernetes.yml b/realtime/realtime-kubernetes.yml index b86c53d..3248cf0 100644 --- a/realtime/realtime-kubernetes.yml +++ b/realtime/realtime-kubernetes.yml @@ -276,4 +276,95 @@ spec: selector: app: rabbitmq --- -# -- end of rabbitmq --- \ No newline at end of file +# -- end of rabbitmq --- + +# --- Interface Engine --- +# Pod +kind: Deployment +apiVersion: extensions/v1beta1 +metadata: +# name for this pod + name: interfaceengine +# namespace for this pod + namespace: fabricrealtime + labels: + app: interfaceengine +spec: + replicas: 1 + revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. + strategy: + # We need to kill the existing Pod before creating an new one + # for the new one to be able to attach the persistent disk. + type: Recreate + selector: + matchLabels: + app: interfaceengine + template: + metadata: + labels: + app: interfaceengine + spec: + containers: + # name of this pod + - name: interfaceengine + # image to pull + image: healthcatalyst/fabric.docker.interfaceengine:latest + # specify to always pull a new image + imagePullPolicy: Always + # environment variables + env: + - name: MYSQL_PASSWORD + valueFrom: + secretKeyRef: + name: mysqlpassword + key: password + - name: MYSQL_DATABASE + value: mirthdb + - name: MYSQL_USER + value: mirthuser + ports: + # expose port 3000 + - containerPort: 8080 + # name of the port + name: http + - containerPort: 8443 + # name of the port + name: https + - containerPort: 6661 + # name of the port + name: channel +--- +# Service +kind: Service +apiVersion: v1 +metadata: +# this service shows up in the UI with this name + name: interfaceengine +# namespace should match other services in this file + namespace: fabricrealtime +# labels allows you to use selectors to find this service + labels: + app: interfaceengine +spec: + ports: +# port that other services can use to connect to this service + - port: 8080 +# port in the pod we map to + targetPort: 8080 + protocol: TCP + name: "http" + - port: 8443 +# port in the pod we map to + targetPort: 8443 + protocol: TCP + name: "https" + - port: 8443 +# port in the pod we map to + targetPort: 6661 + protocol: TCP + name: "https" +# selector says this service should use a pod that has the "app: mysqlserver" label + selector: + app: interfaceengine +--- +# -- end of interfaceengine --- \ No newline at end of file From 5a70e82b0e58af1a9a70ecf57bd009e83dc039d6 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 5 Jan 2018 09:22:55 -0800 Subject: [PATCH 019/473] setup loadbalancer for interface engine Signed-off-by: HQCATALYST\imran.qureshi --- realtime/installrealtimekubernetes.ps1 | 79 ++++++++++++++++++++++--- realtime/realtime-kubernetes-public.yml | 40 +++++++++++++ realtime/realtime-kubernetes.yml | 4 +- 3 files changed, 113 insertions(+), 10 deletions(-) create mode 100644 realtime/realtime-kubernetes-public.yml diff --git a/realtime/installrealtimekubernetes.ps1 b/realtime/installrealtimekubernetes.ps1 index b01109f..fe18154 100644 --- a/realtime/installrealtimekubernetes.ps1 +++ b/realtime/installrealtimekubernetes.ps1 @@ -25,14 +25,8 @@ else { az login } -# https://kubernetes.io/docs/reference/kubectl/jsonpath/ - -# setup DNS -# az network dns zone create -g $AKS_PERS_RESOURCE_GROUP -n nlp.allina.healthcatalyst.net -# az network dns record-set a add-record --ipv4-address j ` -# --record-set-name nlp.allina.healthcatalyst.net ` -# --resource-group $AKS_PERS_RESOURCE_GROUP ` -# --zone-name +Do { $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group (e.g., fabricnlp-rg)"} +while ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) kubectl create namespace fabricrealtime @@ -92,6 +86,75 @@ kubectl create -f $GITHUB_URL/realtime/realtime-kubernetes-storage.yml kubectl create -f $GITHUB_URL/realtime/realtime-kubernetes.yml +kubectl create -f $GITHUB_URL/realtime/realtime-kubernetes-public.yml + +$ipname="InterfaceEnginePublicIP" +$publicip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n $ipname --query "ipAddress" -o tsv; +if ([string]::IsNullOrWhiteSpace($publicip)) { + az network public-ip create -g $AKS_PERS_RESOURCE_GROUP -n $ipname --allocation-method Static + $publicip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n $ipname --query "ipAddress" -o tsv; +} +Write-Host "Using Interface Engine Public IP: [$publicip]" + +$serviceyaml = @" +kind: Service +apiVersion: v1 +metadata: + name: interfaceengine-direct-port + namespace: fabricrealtime +spec: + selector: + app: interfaceengine + ports: + - name: interfaceengine + protocol: TCP + port: 6661 + targetPort: 6661 + type: LoadBalancer + # Special notes for Azure: To use user-specified public type loadBalancerIP, a static type public IP address resource needs to be created first, + # and it should be in the same resource group of the cluster. + # Then you could specify the assigned IP address as loadBalancerIP + # https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer + loadBalancerIP: $publicip +--- +"@ + + Write-Output $serviceyaml | kubectl create -f - + + +# $serviceyaml = @" +# apiVersion: extensions/v1beta1 +# kind: Ingress +# metadata: +# name: realtime-ingress +# namespace: fabricrealtime +# annotations: +# kubernetes.io/ingress.class: traefik +# spec: +# rules: +# - host: solr.ahmn.healthcatalyst.net +# http: +# paths: +# - backend: +# serviceName: solrserverpublic +# servicePort: 80 +# - host: nlp.ahmn.healthcatalyst.net +# http: +# paths: +# - backend: +# serviceName: nlpserverpublic +# servicePort: 80 +# - host: nlpjobs.ahmn.healthcatalyst.net +# http: +# paths: +# - backend: +# serviceName: nlpjobsserverpublic +# servicePort: 80 +# --- +# "@ + +# Write-Output $serviceyaml | kubectl create -f - + kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime # to get a shell diff --git a/realtime/realtime-kubernetes-public.yml b/realtime/realtime-kubernetes-public.yml new file mode 100644 index 0000000..f2cf4a5 --- /dev/null +++ b/realtime/realtime-kubernetes-public.yml @@ -0,0 +1,40 @@ +# ----- Services exposed to the outside world ------ +# solr web server +kind: Service +apiVersion: v1 +metadata: + name: solrserverpublic + namespace: fabricrealtime +spec: + selector: + app: solrserver + ports: + - port: 80 + targetPort: 8085 +--- +# nlp web server +kind: Service +apiVersion: v1 +metadata: + name: nlpserverpublic + namespace: fabricrealtime +spec: + selector: + app: nlpwebserver + ports: + - port: 80 + targetPort: 8083 +--- +# nlp jobs web server +kind: Service +apiVersion: v1 +metadata: + name: nlpjobsserverpublic + namespace: fabricrealtime +spec: + selector: + app: jobserver + ports: + - port: 80 + targetPort: 8084 +--- diff --git a/realtime/realtime-kubernetes.yml b/realtime/realtime-kubernetes.yml index 3248cf0..140e5ac 100644 --- a/realtime/realtime-kubernetes.yml +++ b/realtime/realtime-kubernetes.yml @@ -358,11 +358,11 @@ spec: targetPort: 8443 protocol: TCP name: "https" - - port: 8443 + - port: 6661 # port in the pod we map to targetPort: 6661 protocol: TCP - name: "https" + name: "channel" # selector says this service should use a pod that has the "app: mysqlserver" label selector: app: interfaceengine From 0fb7c68589210b76d46e1380aa13d64d3b592d77 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 5 Jan 2018 10:22:08 -0800 Subject: [PATCH 020/473] fix port for certificateserver Signed-off-by: HQCATALYST\imran.qureshi --- realtime/installrealtimekubernetes.ps1 | 71 +++++++++++++------------ realtime/realtime-kubernetes-public.yml | 32 ++--------- realtime/realtime-kubernetes.yml | 2 +- 3 files changed, 40 insertions(+), 65 deletions(-) diff --git a/realtime/installrealtimekubernetes.ps1 b/realtime/installrealtimekubernetes.ps1 index fe18154..d626033 100644 --- a/realtime/installrealtimekubernetes.ps1 +++ b/realtime/installrealtimekubernetes.ps1 @@ -96,6 +96,16 @@ if ([string]::IsNullOrWhiteSpace($publicip)) { } Write-Host "Using Interface Engine Public IP: [$publicip]" +# Write-Output "Checking if DNS entries exist" +# https://kubernetes.io/docs/reference/kubectl/jsonpath/ + +# setup DNS +# az network dns zone create -g $AKS_PERS_RESOURCE_GROUP -n nlp.allina.healthcatalyst.net +# az network dns record-set a add-record --ipv4-address j ` +# --record-set-name nlp.allina.healthcatalyst.net ` +# --resource-group $AKS_PERS_RESOURCE_GROUP ` +# --zone-name + $serviceyaml = @" kind: Service apiVersion: v1 @@ -122,38 +132,25 @@ spec: Write-Output $serviceyaml | kubectl create -f - -# $serviceyaml = @" -# apiVersion: extensions/v1beta1 -# kind: Ingress -# metadata: -# name: realtime-ingress -# namespace: fabricrealtime -# annotations: -# kubernetes.io/ingress.class: traefik -# spec: -# rules: -# - host: solr.ahmn.healthcatalyst.net -# http: -# paths: -# - backend: -# serviceName: solrserverpublic -# servicePort: 80 -# - host: nlp.ahmn.healthcatalyst.net -# http: -# paths: -# - backend: -# serviceName: nlpserverpublic -# servicePort: 80 -# - host: nlpjobs.ahmn.healthcatalyst.net -# http: -# paths: -# - backend: -# serviceName: nlpjobsserverpublic -# servicePort: 80 -# --- -# "@ - -# Write-Output $serviceyaml | kubectl create -f - +$serviceyaml = @" +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: realtime-ingress + namespace: fabricrealtime + annotations: + kubernetes.io/ingress.class: traefik +spec: + rules: + - http: + paths: + - backend: + serviceName: certificateserverpublic + servicePort: 80 +--- +"@ + + Write-Output $serviceyaml | kubectl create -f - kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime @@ -174,6 +171,10 @@ if([string]::IsNullOrWhiteSpace($loadBalancerIP)){ $loadBalancerIP = kubectl get svc traefik-ingress-service-private -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' } -Write-Output "To test out the NLP services, open Git Bash and run:" -Write-Output "curl -L --verbose --header 'Host: solr.ahmn.healthcatalyst.net' 'http://$loadBalancerIP/solr'" -Write-Output "curl -L --verbose --header 'Host: nlp.ahmn.healthcatalyst.net' 'http://$loadBalancerIP/nlpweb'" +Write-Output "if you want, you can download the CA (Certificate Authority) cert from this url" +Write-Output "http://$loadBalancerIP/client/fabric_ca_cert.p12" + +Write-Output "-------------------------------" +Write-Output "you can download the client certificate from this url:" +Write-Output "http://$loadBalancerIP/client/fabricrabbitmquser_client_cert.p12" +Write-Output "-------------------------------" diff --git a/realtime/realtime-kubernetes-public.yml b/realtime/realtime-kubernetes-public.yml index f2cf4a5..67936bf 100644 --- a/realtime/realtime-kubernetes-public.yml +++ b/realtime/realtime-kubernetes-public.yml @@ -3,38 +3,12 @@ kind: Service apiVersion: v1 metadata: - name: solrserverpublic + name: certificateserverpublic namespace: fabricrealtime spec: selector: - app: solrserver + app: certificateserver ports: - port: 80 - targetPort: 8085 ---- -# nlp web server -kind: Service -apiVersion: v1 -metadata: - name: nlpserverpublic - namespace: fabricrealtime -spec: - selector: - app: nlpwebserver - ports: - - port: 80 - targetPort: 8083 ---- -# nlp jobs web server -kind: Service -apiVersion: v1 -metadata: - name: nlpjobsserverpublic - namespace: fabricrealtime -spec: - selector: - app: jobserver - ports: - - port: 80 - targetPort: 8084 + targetPort: 8081 --- diff --git a/realtime/realtime-kubernetes.yml b/realtime/realtime-kubernetes.yml index 140e5ac..b2442f5 100644 --- a/realtime/realtime-kubernetes.yml +++ b/realtime/realtime-kubernetes.yml @@ -164,7 +164,7 @@ metadata: spec: ports: # port that other services can use to connect to this service - - port: 8801 + - port: 8081 # port in the pod we map to targetPort: 3000 protocol: TCP From 0828ed9126757e03719abd21a5f51bd6b9cbdf1a Mon Sep 17 00:00:00 2001 From: Nate Arnold Date: Mon, 8 Jan 2018 09:33:47 -0700 Subject: [PATCH 021/473] Update install-traefik-swarm-mode2.txt --- traefik/install-traefik-swarm-mode2.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/traefik/install-traefik-swarm-mode2.txt b/traefik/install-traefik-swarm-mode2.txt index 29a9538..cccaf1c 100644 --- a/traefik/install-traefik-swarm-mode2.txt +++ b/traefik/install-traefik-swarm-mode2.txt @@ -58,7 +58,7 @@ sudo chmod 750 /var/lib/boot2docker/certs printf "\nCopying certificate info for Docker.\n" printf "######################################\n\n" sudo cp /etc/letsencrypt/live/$FQDN/cert.pem /var/lib/boot2docker/certs/cert.pem -sudo cp /etc/letsencrypt/live/$FQDN/privkey.pem /var/lib/boot2docker/certs/privkey.pem +sudo cp /etc/letsencrypt/live/$FQDN/privkey.pem /var/lib/boot2docker/certs/key.pem printf "\nCreating Docker Traefik overlay network\n" printf "#########################################\n\n" From d61f51b8ba57d4f8eaa301f4286035e8bb996031 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 8 Jan 2018 10:31:18 -0800 Subject: [PATCH 022/473] add sample files for coredns Signed-off-by: HQCATALYST\imran.qureshi --- azure/kube-dns.yml | 277 ++++++++++++++++++++++++++++++++++++++++ azure/setup-coredns.ps1 | 152 ++++++++++++++++++++++ 2 files changed, 429 insertions(+) create mode 100644 azure/kube-dns.yml create mode 100644 azure/setup-coredns.ps1 diff --git a/azure/kube-dns.yml b/azure/kube-dns.yml new file mode 100644 index 0000000..0387618 --- /dev/null +++ b/azure/kube-dns.yml @@ -0,0 +1,277 @@ +{ + "kind": "Deployment", + "apiVersion": "extensions/v1beta1", + "metadata": { + "name": "kube-dns-v20", + "namespace": "kube-system", + "selfLink": "/apis/extensions/v1beta1/namespaces/kube-system/deployments/kube-dns-v20", + "uid": "c80ab806-f1a1-11e7-9e1b-000d3a1514a8", + "resourceVersion": "100050", + "generation": 1, + "creationTimestamp": "2018-01-04T22:51:20Z", + "labels": { + "k8s-app": "kube-dns", + "kubernetes.io/cluster-service": "true", + "version": "v20" + }, + "annotations": { + "deployment.kubernetes.io/revision": "1", + "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"apps/v1beta1\",\"kind\":\"Deployment\",\"metadata\":{\"annotations\":{},\"labels\":{\"k8s-app\":\"kube-dns\",\"kubernetes.io/cluster-service\":\"true\",\"version\":\"v20\"},\"name\":\"kube-dns-v20\",\"namespace\":\"kube-system\"},\"spec\":{\"replicas\":2,\"selector\":{\"matchLabels\":{\"k8s-app\":\"kube-dns\",\"version\":\"v20\"}},\"template\":{\"metadata\":{\"annotations\":{\"scheduler.alpha.kubernetes.io/critical-pod\":\"\"},\"labels\":{\"k8s-app\":\"kube-dns\",\"kubernetes.io/cluster-service\":\"true\",\"version\":\"v20\"}},\"spec\":{\"affinity\":{\"podAntiAffinity\":{\"preferredDuringSchedulingIgnoredDuringExecution\":[{\"podAffinityTerm\":{\"labelSelector\":{\"matchExpressions\":[{\"key\":\"k8s-app\",\"operator\":\"In\",\"values\":[\"kube-dns\"]}]},\"topologyKey\":\"kubernetes.io/hostname\"},\"weight\":100}]}},\"containers\":[{\"args\":[\"--domain=cluster.local.\",\"--dns-port=10053\",\"--v=2\",\"--config-dir=/kube-dns-config\"],\"image\":\"gcrio.azureedge.net/google_containers/k8s-dns-kube-dns-amd64:1.14.5\",\"livenessProbe\":{\"failureThreshold\":5,\"httpGet\":{\"path\":\"/healthz-kubedns\",\"port\":8080,\"scheme\":\"HTTP\"},\"initialDelaySeconds\":60,\"successThreshold\":1,\"timeoutSeconds\":5},\"name\":\"kubedns\",\"ports\":[{\"containerPort\":10053,\"name\":\"dns-local\",\"protocol\":\"UDP\"},{\"containerPort\":10053,\"name\":\"dns-tcp-local\",\"protocol\":\"TCP\"}],\"readinessProbe\":{\"httpGet\":{\"path\":\"/readiness\",\"port\":8081,\"scheme\":\"HTTP\"},\"initialDelaySeconds\":30,\"timeoutSeconds\":5},\"resources\":{\"limits\":{\"memory\":\"170Mi\"},\"requests\":{\"cpu\":\"100m\",\"memory\":\"70Mi\"}},\"volumeMounts\":[{\"mountPath\":\"/kube-dns-config\",\"name\":\"kube-dns-config\"}]},{\"args\":[\"-v=2\",\"-logtostderr\",\"-configDir=/kube-dns-config\",\"-restartDnsmasq=true\",\"--\",\"-k\",\"--cache-size=1000\",\"--no-resolv\",\"--server=127.0.0.1#10053\",\"--server=/in-addr.arpa/127.0.0.1#10053\",\"--server=/ip6.arpa/127.0.0.1#10053\",\"--log-facility=-\"],\"image\":\"gcrio.azureedge.net/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.5\",\"name\":\"dnsmasq\",\"ports\":[{\"containerPort\":53,\"name\":\"dns\",\"protocol\":\"UDP\"},{\"containerPort\":53,\"name\":\"dns-tcp\",\"protocol\":\"TCP\"}],\"volumeMounts\":[{\"mountPath\":\"/kube-dns-config\",\"name\":\"kube-dns-config\"}]},{\"args\":[\"--cmd=nslookup kubernetes.default.svc.cluster.local 127.0.0.1 \\u003e/dev/null\",\"--url=/healthz-dnsmasq\",\"--cmd=nslookup kubernetes.default.svc.cluster.local 127.0.0.1:10053 \\u003e/dev/null\",\"--url=/healthz-kubedns\",\"--port=8080\",\"--quiet\"],\"image\":\"gcrio.azureedge.net/google_containers/exechealthz-amd64:1.2\",\"livenessProbe\":{\"failureThreshold\":5,\"httpGet\":{\"path\":\"/healthz-dnsmasq\",\"port\":8080,\"scheme\":\"HTTP\"},\"initialDelaySeconds\":60,\"successThreshold\":1,\"timeoutSeconds\":5},\"name\":\"healthz\",\"ports\":[{\"containerPort\":8080,\"protocol\":\"TCP\"}],\"resources\":{\"limits\":{\"memory\":\"50Mi\"},\"requests\":{\"cpu\":\"10m\",\"memory\":\"50Mi\"}}}],\"dnsPolicy\":\"Default\",\"nodeSelector\":{\"beta.kubernetes.io/os\":\"linux\"},\"serviceAccountName\":\"kube-dns\",\"tolerations\":[{\"key\":\"CriticalAddonsOnly\",\"operator\":\"Exists\"}],\"volumes\":[{\"configMap\":{\"name\":\"kube-dns\",\"optional\":true},\"name\":\"kube-dns-config\"}]}}}}\n" + } + }, + "spec": { + "replicas": 2, + "selector": { + "matchLabels": { + "k8s-app": "kube-dns", + "version": "v20" + } + }, + "template": { + "metadata": { + "creationTimestamp": null, + "labels": { + "k8s-app": "kube-dns", + "kubernetes.io/cluster-service": "true", + "version": "v20" + }, + "annotations": { + "scheduler.alpha.kubernetes.io/critical-pod": "" + } + }, + "spec": { + "volumes": [ + { + "name": "kube-dns-config", + "configMap": { + "name": "kube-dns", + "defaultMode": 420, + "optional": true + } + } + ], + "containers": [ + { + "name": "kubedns", + "image": "gcrio.azureedge.net/google_containers/k8s-dns-kube-dns-amd64:1.14.5", + "args": [ + "--domain=cluster.local.", + "--dns-port=10053", + "--v=2", + "--config-dir=/kube-dns-config" + ], + "ports": [ + { + "name": "dns-local", + "containerPort": 10053, + "protocol": "UDP" + }, + { + "name": "dns-tcp-local", + "containerPort": 10053, + "protocol": "TCP" + } + ], + "resources": { + "limits": { + "memory": "170Mi" + }, + "requests": { + "cpu": "100m", + "memory": "70Mi" + } + }, + "volumeMounts": [ + { + "name": "kube-dns-config", + "mountPath": "/kube-dns-config" + } + ], + "livenessProbe": { + "httpGet": { + "path": "/healthz-kubedns", + "port": 8080, + "scheme": "HTTP" + }, + "initialDelaySeconds": 60, + "timeoutSeconds": 5, + "periodSeconds": 10, + "successThreshold": 1, + "failureThreshold": 5 + }, + "readinessProbe": { + "httpGet": { + "path": "/readiness", + "port": 8081, + "scheme": "HTTP" + }, + "initialDelaySeconds": 30, + "timeoutSeconds": 5, + "periodSeconds": 10, + "successThreshold": 1, + "failureThreshold": 3 + }, + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent" + }, + { + "name": "dnsmasq", + "image": "gcrio.azureedge.net/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.5", + "args": [ + "-v=2", + "-logtostderr", + "-configDir=/kube-dns-config", + "-restartDnsmasq=true", + "--", + "-k", + "--cache-size=1000", + "--no-resolv", + "--server=127.0.0.1#10053", + "--server=/in-addr.arpa/127.0.0.1#10053", + "--server=/ip6.arpa/127.0.0.1#10053", + "--log-facility=-" + ], + "ports": [ + { + "name": "dns", + "containerPort": 53, + "protocol": "UDP" + }, + { + "name": "dns-tcp", + "containerPort": 53, + "protocol": "TCP" + } + ], + "resources": {}, + "volumeMounts": [ + { + "name": "kube-dns-config", + "mountPath": "/kube-dns-config" + } + ], + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent" + }, + { + "name": "healthz", + "image": "gcrio.azureedge.net/google_containers/exechealthz-amd64:1.2", + "args": [ + "--cmd=nslookup kubernetes.default.svc.cluster.local 127.0.0.1 >/dev/null", + "--url=/healthz-dnsmasq", + "--cmd=nslookup kubernetes.default.svc.cluster.local 127.0.0.1:10053 >/dev/null", + "--url=/healthz-kubedns", + "--port=8080", + "--quiet" + ], + "ports": [ + { + "containerPort": 8080, + "protocol": "TCP" + } + ], + "resources": { + "limits": { + "memory": "50Mi" + }, + "requests": { + "cpu": "10m", + "memory": "50Mi" + } + }, + "livenessProbe": { + "httpGet": { + "path": "/healthz-dnsmasq", + "port": 8080, + "scheme": "HTTP" + }, + "initialDelaySeconds": 60, + "timeoutSeconds": 5, + "periodSeconds": 10, + "successThreshold": 1, + "failureThreshold": 5 + }, + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "imagePullPolicy": "IfNotPresent" + } + ], + "restartPolicy": "Always", + "terminationGracePeriodSeconds": 30, + "dnsPolicy": "Default", + "nodeSelector": { + "beta.kubernetes.io/os": "linux" + }, + "serviceAccountName": "kube-dns", + "serviceAccount": "kube-dns", + "securityContext": {}, + "affinity": { + "podAntiAffinity": { + "preferredDuringSchedulingIgnoredDuringExecution": [ + { + "weight": 100, + "podAffinityTerm": { + "labelSelector": { + "matchExpressions": [ + { + "key": "k8s-app", + "operator": "In", + "values": [ + "kube-dns" + ] + } + ] + }, + "topologyKey": "kubernetes.io/hostname" + } + } + ] + } + }, + "schedulerName": "default-scheduler", + "tolerations": [ + { + "key": "CriticalAddonsOnly", + "operator": "Exists" + } + ] + } + }, + "strategy": { + "type": "RollingUpdate", + "rollingUpdate": { + "maxUnavailable": "25%", + "maxSurge": "25%" + } + }, + "revisionHistoryLimit": 2, + "progressDeadlineSeconds": 600 + }, + "status": { + "observedGeneration": 1, + "replicas": 2, + "updatedReplicas": 2, + "readyReplicas": 2, + "availableReplicas": 2, + "conditions": [ + { + "type": "Progressing", + "status": "True", + "lastUpdateTime": "2018-01-04T22:56:05Z", + "lastTransitionTime": "2018-01-04T22:51:20Z", + "reason": "NewReplicaSetAvailable", + "message": "ReplicaSet \"kube-dns-v20-568b85b8b\" has successfully progressed." + }, + { + "type": "Available", + "status": "True", + "lastUpdateTime": "2018-01-05T18:14:51Z", + "lastTransitionTime": "2018-01-05T18:14:51Z", + "reason": "MinimumReplicasAvailable", + "message": "Deployment has minimum availability." + } + ] + } +} \ No newline at end of file diff --git a/azure/setup-coredns.ps1 b/azure/setup-coredns.ps1 new file mode 100644 index 0000000..e5d6e7c --- /dev/null +++ b/azure/setup-coredns.ps1 @@ -0,0 +1,152 @@ + + + +$CLUSTER_DNS_IP=kubectl get service --namespace kube-system kube-dns -o jsonpath="{.spec.clusterIP}" +$CLUSTER_DOMAIN="cluster.local" +$SERVICE_CIDR="10.0.0.0/16" +$POD_CIDR="" + +$serviceyaml = @" +apiVersion: v1 +kind: ServiceAccount +metadata: + name: coredns + namespace: kube-system +--- +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: ClusterRole +metadata: + labels: + kubernetes.io/bootstrapping: rbac-defaults + name: system:coredns +rules: +- apiGroups: + - "" + resources: + - endpoints + - services + - pods + - namespaces + verbs: + - list + - watch +--- +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: ClusterRoleBinding +metadata: + annotations: + rbac.authorization.kubernetes.io/autoupdate: "true" + labels: + kubernetes.io/bootstrapping: rbac-defaults + name: system:coredns +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: system:coredns +subjects: +- kind: ServiceAccount + name: coredns + namespace: kube-system +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: coredns + namespace: kube-system +data: + Corefile: | + .:53 { + errors + health + kubernetes $CLUSTER_DOMAIN $SERVICE_CIDR + prometheus :9153 + proxy . /etc/resolv.conf + cache 30 + } +--- +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: coredns + namespace: kube-system + labels: + k8s-app: coredns + kubernetes.io/name: "CoreDNS" +spec: + replicas: 2 + strategy: + type: RollingUpdate + rollingUpdate: + maxUnavailable: 1 + selector: + matchLabels: + k8s-app: coredns + template: + metadata: + labels: + k8s-app: coredns + spec: + serviceAccountName: coredns + tolerations: + - key: node-role.kubernetes.io/master + effect: NoSchedule + - key: "CriticalAddonsOnly" + operator: "Exists" + containers: + - name: coredns + image: coredns/coredns:1.0.1 + imagePullPolicy: IfNotPresent + args: [ "-conf", "/etc/coredns/Corefile" ] + volumeMounts: + - name: config-volume + mountPath: /etc/coredns + ports: + - containerPort: 53 + name: dns + protocol: UDP + - containerPort: 53 + name: dns-tcp + protocol: TCP + livenessProbe: + httpGet: + path: /health + port: 8080 + scheme: HTTP + initialDelaySeconds: 60 + timeoutSeconds: 5 + successThreshold: 1 + failureThreshold: 5 + dnsPolicy: Default + volumes: + - name: config-volume + configMap: + name: coredns + items: + - key: Corefile + path: Corefile +--- +apiVersion: v1 +kind: Service +metadata: + name: kube-dns + namespace: kube-system + labels: + k8s-app: coredns + kubernetes.io/cluster-service: "true" + kubernetes.io/name: "CoreDNS" +spec: + selector: + k8s-app: coredns + clusterIP: $CLUSTER_DNS_IP + ports: + - name: dns + port: 53 + protocol: UDP + - name: dns-tcp + port: 53 + protocol: TCP +--- +"@ + + Write-Output $serviceyaml | kubectl create -f - + From 4cc866442257554f408c91ea1af6fc05454ce4e8 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 8 Jan 2018 11:14:50 -0800 Subject: [PATCH 023/473] allow specifying the customerid Signed-off-by: HQCATALYST\imran.qureshi --- nlp/installnlpkubernetes.ps1 | 121 +++++++++++++++++-------- nlp/nlp-kubernetes-public.yml | 37 -------- realtime/installrealtimekubernetes.ps1 | 24 ++--- 3 files changed, 97 insertions(+), 85 deletions(-) diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index 4df5681..d539a7b 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -31,50 +31,50 @@ else { # --resource-group $AKS_PERS_RESOURCE_GROUP ` # --zone-name -kubectl create namespace fabricnlp - -if ([string]::IsNullOrWhiteSpace($(kubectl get secret mysqlrootpassword -n fabricnlp -o jsonpath='{.data.password}'))) { +if ([string]::IsNullOrWhiteSpace($(kubectl get namespace fabricnlp))) { + kubectl create namespace fabricnlp +} - # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html - # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script - Do { - $mysqlrootpasswordsecure = Read-host "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -AsSecureString - $mysqlrootpassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($mysqlrootpasswordsecure)) +function AskForPassword ($secretname, $prompt, $namespace) { + if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.password}'))) { + + # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html + # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script + Do { + $mysqlrootpasswordsecure = Read-host "$prompt" -AsSecureString + $mysqlrootpassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($mysqlrootpasswordsecure)) + } + while (($mysqlrootpassword -notmatch "^[a-z0-9!.*@\s]+$") -or ($mysqlrootpassword.Length -lt 8 )) + kubectl create secret generic $secretname --namespace=$namespace --from-literal=password=$mysqlrootpassword + } + else { + Write-Output "$secretname secret already set so will reuse it" } - while (($mysqlrootpassword -notmatch "^[a-z0-9!.*@\s]+$") -or ($mysqlrootpassword.Length -lt 8 )) - kubectl create secret generic mysqlrootpassword --namespace=fabricnlp --from-literal=password=$mysqlrootpassword -} -else { - Write-Output "mysqlrootpassword secret already set so will reuse it" } -if ([string]::IsNullOrWhiteSpace($(kubectl get secret mysqlpassword -n fabricnlp -o jsonpath='{.data.password}'))) { +function AskForSecretValue ($secretname, $prompt, $namespace) { + if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.value}'))) { - Do { - $mysqlpasswordsecure = Read-host "MySQL NLP_APP_USER password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -AsSecureString - $mysqlpassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($mysqlpasswordsecure)) + Do { + $certhostname = Read-host "$prompt" + } + while ($certhostname.Length -lt 8 ) + + kubectl create secret generic $secretname --namespace=$namespace --from-literal=value=$certhostname } - while (($mysqlpassword -notmatch "^[a-z0-9!.*@\s]+$") -or ($mysqlpassword.Length -lt 8 )) - - kubectl create secret generic mysqlpassword --namespace=fabricnlp --from-literal=password=$mysqlpassword - Write-Warning "Be sure to keep the passwords in a secure place or you won't be able to access the data in the cluster afterwards" -} -else { - Write-Output "mysqlpassword secret already set so will reuse it" + else { + Write-Output "$secretname secret already set so will reuse it" + } } -if ([string]::IsNullOrWhiteSpace($(kubectl get secret smtprelaypassword -n fabricnlp -o jsonpath='{.data.password}'))) { - Do { - $smtprelaypassword = Read-host "SMTP (SendGrid) Relay Key" - } - while (($smtprelaypassword.Length -lt 8 )) +AskForPassword -secretname "mysqlrootpassword" -prompt "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -namespace "fabricnlp" + # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html + # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script - kubectl create secret generic smtprelaypassword --namespace=fabricnlp --from-literal=password=$smtprelaypassword -} -else { - Write-Output "smtprelaypassword secret already set so will reuse it" -} +AskForPassword -secretname "mysqlpassword" -prompt "MySQL NLP_APP_USER password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -namespace "fabricnlp" + +AskForPassword -secretname "smtprelaypassword" -prompt "SMTP (SendGrid) Relay Key" -namespace "fabricnlp" Write-Output "Cleaning out any old resources in fabricnlp" @@ -94,6 +94,55 @@ kubectl create -f https://healthcatalyst.github.io/InstallScripts/nlp/nlp-kubern kubectl create -f https://healthcatalyst.github.io/InstallScripts/nlp/nlp-mysql-private.yml +Write-Output "Setting up SSL reverse proxy" + +AskForSecretValue -secretname "customerid" -prompt "Health Catalyst Customer ID (e.g., ahmn)" -namespace "fabricnlp" + +$customeridbase64 = kubectl get secret customerid -n fabricnlp -o jsonpath='{.data.value}' +$customerid = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($customeridbase64)) +Write-Output "Customer ID:" $customerid + +# $customerid="ahmn" +# ingress for web services +# for SSL, from: https://github.com/containous/traefik/issues/2329 +$serviceyaml = @" +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: nlp-ingress + namespace: fabricnlp + annotations: + kubernetes.io/ingress.class: traefik +spec: + tls: + - secretName: ssl-ahmn + hosts: + - solr.$customerid.healthcatalyst.net + - nlp.$customerid.healthcatalyst.net + - nlpjobs.$customerid.healthcatalyst.net + rules: + - host: solr.$customerid.healthcatalyst.net + http: + paths: + - backend: + serviceName: solrserverpublic + servicePort: 80 + - host: nlp.$customerid.healthcatalyst.net + http: + paths: + - backend: + serviceName: nlpserverpublic + servicePort: 80 + - host: nlpjobs.$customerid.healthcatalyst.net + http: + paths: + - backend: + serviceName: nlpjobsserverpublic + servicePort: 80--- +"@ + + Write-Output $serviceyaml | kubectl create -f - + kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp # to get a shell @@ -114,5 +163,5 @@ if([string]::IsNullOrWhiteSpace($loadBalancerIP)){ } Write-Output "To test out the NLP services, open Git Bash and run:" -Write-Output "curl -L --verbose --header 'Host: solr.ahmn.healthcatalyst.net' 'http://$loadBalancerIP/solr'" -Write-Output "curl -L --verbose --header 'Host: nlp.ahmn.healthcatalyst.net' 'http://$loadBalancerIP/nlpweb'" +Write-Output "curl -L --verbose --header 'Host: solr.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/solr'" +Write-Output "curl -L --verbose --header 'Host: nlp.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/nlpweb'" diff --git a/nlp/nlp-kubernetes-public.yml b/nlp/nlp-kubernetes-public.yml index 5b9c736..2a6c3db 100644 --- a/nlp/nlp-kubernetes-public.yml +++ b/nlp/nlp-kubernetes-public.yml @@ -1,40 +1,3 @@ -# ingress for web services -# for SSL, from: https://github.com/containous/traefik/issues/2329 -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: nlp-ingress - namespace: fabricnlp - annotations: - kubernetes.io/ingress.class: traefik -spec: - tls: - - secretName: ssl-ahmn - hosts: - - solr.ahmn.healthcatalyst.net - - nlp.ahmn.healthcatalyst.net - - nlpjobs.ahmn.healthcatalyst.net - rules: - - host: solr.ahmn.healthcatalyst.net - http: - paths: - - backend: - serviceName: solrserverpublic - servicePort: 80 - - host: nlp.ahmn.healthcatalyst.net - http: - paths: - - backend: - serviceName: nlpserverpublic - servicePort: 80 - - host: nlpjobs.ahmn.healthcatalyst.net - http: - paths: - - backend: - serviceName: nlpjobsserverpublic - servicePort: 80 - ---- # ----- Services exposed to the outside world ------ # solr web server kind: Service diff --git a/realtime/installrealtimekubernetes.ps1 b/realtime/installrealtimekubernetes.ps1 index d626033..eb8e0a1 100644 --- a/realtime/installrealtimekubernetes.ps1 +++ b/realtime/installrealtimekubernetes.ps1 @@ -30,8 +30,8 @@ while ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) kubectl create namespace fabricrealtime -function AskForPassword ($secretname, $prompt) { - if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n fabricrealtime -o jsonpath='{.data.password}'))) { +function AskForPassword ($secretname, $prompt, $namespace) { + if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.password}'))) { # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script @@ -40,37 +40,37 @@ function AskForPassword ($secretname, $prompt) { $mysqlrootpassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($mysqlrootpasswordsecure)) } while (($mysqlrootpassword -notmatch "^[a-z0-9!.*@\s]+$") -or ($mysqlrootpassword.Length -lt 8 )) - kubectl create secret generic $secretname --namespace=fabricrealtime --from-literal=password=$mysqlrootpassword + kubectl create secret generic $secretname --namespace=$namespace --from-literal=password=$mysqlrootpassword } else { Write-Output "$secretname secret already set so will reuse it" } } -function AskForSecretValue ($secretname, $prompt) { - if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n fabricrealtime -o jsonpath='{.data.value}'))) { +function AskForSecretValue ($secretname, $prompt, $namespace) { + if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.value}'))) { Do { $certhostname = Read-host "$prompt" } while ($certhostname.Length -lt 8 ) - kubectl create secret generic $secretname --namespace=fabricrealtime --from-literal=value=$certhostname + kubectl create secret generic $secretname --namespace=$namespace --from-literal=value=$certhostname } else { - Write-Output "certhostname secret already set so will reuse it" + Write-Output "$secretname secret already set so will reuse it" } } -AskForPassword -secretname "mysqlrootpassword" -prompt "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" +AskForPassword -secretname "mysqlrootpassword" -prompt "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -namespace "fabricrealtime" -AskForPassword -secretname "mysqlpassword" -prompt "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" +AskForPassword -secretname "mysqlpassword" -prompt "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -namespace "fabricrealtime" -AskForSecretValue -secretname "certhostname" -prompt "Client Certificate hostname" +AskForSecretValue -secretname "certhostname" -prompt "Client Certificate hostname" -namespace "fabricrealtime" -AskForPassword -secretname "certpassword" -prompt "Client Certificate password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" +AskForPassword -secretname "certpassword" -prompt "Client Certificate password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -namespace "fabricrealtime" -AskForPassword -secretname "rabbitmqmgmtuipassword" -prompt "Admin password for RabbitMqMgmt" +AskForPassword -secretname "rabbitmqmgmtuipassword" -prompt "Admin password for RabbitMqMgmt" -namespace "fabricrealtime" Write-Output "Cleaning out any old resources in fabricrealtime" From f5edbca58e6691215960ea2c811790745afe3f14 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 8 Jan 2018 11:38:11 -0800 Subject: [PATCH 024/473] cd to local folder Signed-off-by: HQCATALYST\imran.qureshi --- azure/create-acs-cluster.ps1 | 9 ++++++++- realtime/installrealtimekubernetes.ps1 | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index 24efb0f..64aa435 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2017.12.18.23" +Write-output "Version 2018.01.08.1" # # This script is meant for quick & easy install via: @@ -369,6 +369,10 @@ if (!(Test-Path -Path "$AKS_LOCAL_TEMP_FOLDER")) { New-Item -ItemType directory -Path "$AKS_LOCAL_TEMP_FOLDER" } +# sometimes powershell starts in a strange folder where the current user doesn't have permissions +# so CD into the temp folder to avoid errors +Set-Location -Path $AKS_LOCAL_TEMP_FOLDER + $output = "$AKS_LOCAL_TEMP_FOLDER\acs.json" Write-Output "Downloading parameters file from github to $output" if (Test-Path $output) { @@ -485,6 +489,9 @@ $Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding $False [System.IO.File]::WriteAllLines($output, $MyFile, $Utf8NoBomEncoding) $acsoutputfolder = "$AKS_LOCAL_TEMP_FOLDER\_output\$dnsNamePrefix" +if (!(Test-Path -Path "$acsoutputfolder")) { + New-Item -ItemType directory -Path "$acsoutputfolder" +} Write-Output "Generating ACS engine template" diff --git a/realtime/installrealtimekubernetes.ps1 b/realtime/installrealtimekubernetes.ps1 index eb8e0a1..d9315a1 100644 --- a/realtime/installrealtimekubernetes.ps1 +++ b/realtime/installrealtimekubernetes.ps1 @@ -3,7 +3,7 @@ Write-Output "Version 2017.12.20.1" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.ps1 | iex; $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -$GITHUB_URL = "." +# $GITHUB_URL = "." $loggedInUser = az account show --query "user.name" --output tsv From 71b19005deb93ed153610ccb917995d83752f3fb Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 8 Jan 2018 21:52:05 -0800 Subject: [PATCH 025/473] add option to install with azure networking instead of kubenet Signed-off-by: HQCATALYST\imran.qureshi --- azure/acs.template.azurenetwork.json | 41 +++++++++++++++++++++ azure/acs.template.json | 5 ++- azure/acs.template.linuxwindows.json | 55 ++++++++++++++++++++++++++++ azure/create-acs-cluster.ps1 | 28 +++++++++++--- azure/setup-coredns.ps1 | 12 ++++-- 5 files changed, 131 insertions(+), 10 deletions(-) create mode 100644 azure/acs.template.azurenetwork.json create mode 100644 azure/acs.template.linuxwindows.json diff --git a/azure/acs.template.azurenetwork.json b/azure/acs.template.azurenetwork.json new file mode 100644 index 0000000..0f4306a --- /dev/null +++ b/azure/acs.template.azurenetwork.json @@ -0,0 +1,41 @@ +{ + "apiVersion": "vlabs", + "properties": { + "orchestratorProfile": { + "orchestratorType": "Kubernetes", + "orchestratorRelease": "1.8", + "kubernetesConfig": { + "networkPolicy": "azure" + } + }, + "masterProfile": { + "count": 1, + "dnsPrefix": "REPLACE-DNS-NAME-PREFIX", + "vmSize": "Standard_D2_v2", + "vnetSubnetId": "REPLACE-SUBNET", + "firstConsecutiveStaticIP": "REPLACE-FIRST-STATIC-IP", + "vnetCidr": "REPLACE_VNET_CIDR", + "storageProfile": "ManagedDisks" + }, + "agentPoolProfiles": [{ + "name": "linuxagent", + "count": 2, + "vmSize": "Standard_D2_v2", + "vnetSubnetId": "REPLACE-SUBNET", + "availabilityProfile": "AvailabilitySet", + "storageProfile": "ManagedDisks" + }], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [{ + "keyData": "REPLACE-SSH-KEY" + }] + } + }, + "servicePrincipalProfile": { + "clientId": "REPLACE-CLIENTID", + "secret": "REPLACE-CLIENTSECRET" + } + } +} \ No newline at end of file diff --git a/azure/acs.template.json b/azure/acs.template.json index 5344e98..584d23b 100644 --- a/azure/acs.template.json +++ b/azure/acs.template.json @@ -3,7 +3,10 @@ "properties": { "orchestratorProfile": { "orchestratorType": "Kubernetes", - "orchestratorRelease": "1.8" + "orchestratorRelease": "1.8", + "kubernetesConfig": { + "networkPolicy": "none" + } }, "masterProfile": { "count": 1, diff --git a/azure/acs.template.linuxwindows.json b/azure/acs.template.linuxwindows.json new file mode 100644 index 0000000..15fb754 --- /dev/null +++ b/azure/acs.template.linuxwindows.json @@ -0,0 +1,55 @@ +{ + "apiVersion": "vlabs", + "properties": { + "orchestratorProfile": { + "orchestratorType": "Kubernetes", + "orchestratorRelease": "1.8", + "kubernetesConfig": { + "networkPolicy": "azure" + } + }, + "masterProfile": { + "count": 1, + "dnsPrefix": "REPLACE-DNS-NAME-PREFIX", + "vmSize": "Standard_D2_v2", + "vnetSubnetId": "REPLACE-SUBNET", + "firstConsecutiveStaticIP": "REPLACE-FIRST-STATIC-IP", + "vnetCidr": "REPLACE_VNET_CIDR", + "storageProfile": "ManagedDisks" + }, + "agentPoolProfiles": [{ + "name": "linuxagent", + "count": 2, + "vmSize": "Standard_D2_v2", + "vnetSubnetId": "REPLACE-SUBNET", + "availabilityProfile": "AvailabilitySet", + "storageProfile": "ManagedDisks" + }, + { + "name": "windowsagent", + "osType": "Windows", + "count": 2, + "vmSize": "Standard_D2_v2", + "vnetSubnetId": "REPLACE-SUBNET", + "availabilityProfile": "AvailabilitySet", + "storageProfile": "ManagedDisks" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [{ + "keyData": "REPLACE-SSH-KEY" + }] + } + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "REPLACE-WINDOWS-PASSWORD" + }, + "servicePrincipalProfile": { + "clientId": "REPLACE-CLIENTID", + "secret": "REPLACE-CLIENTSECRET" + } + } +} \ No newline at end of file diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index 64aa435..39d78bf 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -1,11 +1,11 @@ -Write-output "Version 2018.01.08.1" +Write-output "Version 2018.01.08.02" # # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/create-acs-cluster.ps1 | iex; $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -#$GITHUB_URL = "." +# $GITHUB_URL = "C:\Catalyst\git\Installscripts" $AKS_PERS_RESOURCE_GROUP = "" $AKS_PERS_LOCATION = "" @@ -49,6 +49,11 @@ $AKS_SUBSCRIPTION_ID = az account show --query "id" --output tsv Do { $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group (e.g., fabricnlp-rg)"} while ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) +$AKS_USE_AZURE_NETWORKING = Read-Host "Use Azure networking (default: yes)" +if ([string]::IsNullOrWhiteSpace($AKS_USE_AZURE_NETWORKING)) { + $AKS_USE_AZURE_NETWORKING = "yes" +} + $AKS_SERVICE_PRINCIPAL_NAME = Read-Host "Service account to use (default: ${AKS_PERS_RESOURCE_GROUP}Kubernetes)" if ([string]::IsNullOrWhiteSpace($AKS_SERVICE_PRINCIPAL_NAME)) { $AKS_SERVICE_PRINCIPAL_NAME = "${AKS_PERS_RESOURCE_GROUP}Kubernetes" @@ -123,17 +128,23 @@ else { # echo download as-engine $ACS_ENGINE_FILE = "$AKS_LOCAL_FOLDER\acs-engine.exe" -if (!(Test-Path "$ACS_ENGINE_FILE")) { +$acsengineversion = acs-engine version +$acsengineversion = $acsengineversion -match "^Version: v[0-9.]+" +$acsengineversion = "[$acsengineversion]" +if ((!(Test-Path "$ACS_ENGINE_FILE")) -or !$acsengineversion.equals("[Version: v0.11.0]")) { Write-Output "Downloading acs-engine.exe to $ACS_ENGINE_FILE" - $url = "https://github.com/Azure/acs-engine/releases/download/v0.10.0/acs-engine-v0.10.0-windows-amd64.zip" + $url = "https://github.com/Azure/acs-engine/releases/download/v0.11.0/acs-engine-v0.11.0-windows-amd64.zip" (New-Object System.Net.WebClient).DownloadFile($url, "$AKS_LOCAL_FOLDER\acs-engine.zip") Expand-Archive -Path "$AKS_LOCAL_FOLDER\acs-engine.zip" -DestinationPath "$AKS_LOCAL_FOLDER" -Force - Copy-Item -Path "$AKS_LOCAL_FOLDER\acs-engine-v0.10.0-windows-amd64\acs-engine.exe" -Destination $ACS_ENGINE_FILE + Copy-Item -Path "$AKS_LOCAL_FOLDER\acs-engine-v0.11.0-windows-amd64\acs-engine.exe" -Destination $ACS_ENGINE_FILE } else { Write-Output "acs-engine.exe already exists at $ACS_ENGINE_FILE" } +Write-Output "ACS Engine version" +acs-engine version + Do { $AKS_PERS_LOCATION = Read-Host "Location: (e.g., eastus)"} while ([string]::IsNullOrWhiteSpace($AKS_PERS_LOCATION)) @@ -260,7 +271,7 @@ if ($resourceGroupExists -eq "true") { az resource delete --ids $(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Network/publicIPAddresses" --query "[].id" -o tsv | Where-Object {!"$_".EndsWith("IngressPublicIP")} ) } - if ("$AKS_VNET_NAME") { + if (("$AKS_VNET_NAME") -and ("$AKS_USE_AZURE_NETWORKING" -eq "no")) { Write-Output "Switching the subnet to a temp route table and tempnsg so we can delete the old route table and nsg" $routeid = $(az network route-table show --name temproutetable --resource-group $AKS_PERS_RESOURCE_GROUP --query "id" -o tsv) @@ -363,6 +374,11 @@ $templateFile = "acs.template.json" if (!"$AKS_VNET_NAME") { $templateFile = "acs.template.nosubnet.json" } +elseif ("$AKS_USE_AZURE_NETWORKING" -eq "yes") { + $templateFile = "acs.template.azurenetwork.json" +} + +Write-Output "Using template: $templateFile" $AKS_LOCAL_TEMP_FOLDER = "$AKS_LOCAL_FOLDER\$AKS_PERS_RESOURCE_GROUP\temp" if (!(Test-Path -Path "$AKS_LOCAL_TEMP_FOLDER")) { diff --git a/azure/setup-coredns.ps1 b/azure/setup-coredns.ps1 index e5d6e7c..0a17280 100644 --- a/azure/setup-coredns.ps1 +++ b/azure/setup-coredns.ps1 @@ -1,10 +1,13 @@ +# +# This script is meant for quick & easy install via: +# curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/setup-coredns.ps1 | iex; $CLUSTER_DNS_IP=kubectl get service --namespace kube-system kube-dns -o jsonpath="{.spec.clusterIP}" $CLUSTER_DOMAIN="cluster.local" $SERVICE_CIDR="10.0.0.0/16" -$POD_CIDR="" +$POD_CIDR="10.244.0.0/24" $serviceyaml = @" apiVersion: v1 @@ -57,8 +60,11 @@ data: Corefile: | .:53 { errors + log health - kubernetes $CLUSTER_DOMAIN $SERVICE_CIDR + kubernetes $CLUSTER_DOMAIN $SERVICE_CIDR { + pods insecure + } prometheus :9153 proxy . /etc/resolv.conf cache 30 @@ -148,5 +154,5 @@ spec: --- "@ - Write-Output $serviceyaml | kubectl create -f - + Write-Output $serviceyaml | kubectl apply -f - From a2053c70203a83cb3d0cd75b70900b4cc5583070 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 9 Jan 2018 08:53:19 -0800 Subject: [PATCH 026/473] add support for installing nlp without SSL Signed-off-by: HQCATALYST\imran.qureshi --- azure/setup-coredns.ps1 | 5 ++ nlp/installnlpkubernetes.ps1 | 127 ++++++++++++++++++++++++++--------- 2 files changed, 101 insertions(+), 31 deletions(-) diff --git a/azure/setup-coredns.ps1 b/azure/setup-coredns.ps1 index 0a17280..6350d38 100644 --- a/azure/setup-coredns.ps1 +++ b/azure/setup-coredns.ps1 @@ -9,6 +9,9 @@ $CLUSTER_DOMAIN="cluster.local" $SERVICE_CIDR="10.0.0.0/16" $POD_CIDR="10.244.0.0/24" +Write-Output "Removing kube-dns-v20 deployment" +kubectl delete --namespace=kube-system deployment kube-dns-v20 + $serviceyaml = @" apiVersion: v1 kind: ServiceAccount @@ -156,3 +159,5 @@ spec: Write-Output $serviceyaml | kubectl apply -f - + + diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index d539a7b..dfdb1e8 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -3,6 +3,7 @@ Write-Output "Version 2017.12.20.1" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | iex; $loggedInUser = az account show --query "user.name" --output tsv +$AKS_USE_SSL = "" Write-Output "user: $loggedInUser" @@ -22,6 +23,9 @@ else { az login } +Do { $AKS_USE_SSL = Read-Host "Do you want to setup SSL? (y/n)"} +while ([string]::IsNullOrWhiteSpace($AKS_USE_SSL)) + # https://kubernetes.io/docs/reference/kubectl/jsonpath/ # setup DNS @@ -38,6 +42,7 @@ if ([string]::IsNullOrWhiteSpace($(kubectl get namespace fabricnlp))) { function AskForPassword ($secretname, $prompt, $namespace) { if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.password}'))) { + $mysqlrootpassword="" # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script Do { @@ -52,13 +57,32 @@ function AskForPassword ($secretname, $prompt, $namespace) { } } +function AskForPasswordAnyCharacters ($secretname, $prompt, $namespace) { + if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.password}'))) { + + $mysqlrootpassword="" + # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html + # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script + Do { + $mysqlrootpasswordsecure = Read-host "$prompt" -AsSecureString + $mysqlrootpassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($mysqlrootpasswordsecure)) + } + while ($mysqlrootpassword.Length -lt 8 ) + kubectl create secret generic $secretname --namespace=$namespace --from-literal=password=$mysqlrootpassword + } + else { + Write-Output "$secretname secret already set so will reuse it" + } +} + function AskForSecretValue ($secretname, $prompt, $namespace) { if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.value}'))) { + $certhostname="" Do { $certhostname = Read-host "$prompt" } - while ($certhostname.Length -lt 8 ) + while ($certhostname.Length -lt 1 ) kubectl create secret generic $secretname --namespace=$namespace --from-literal=value=$certhostname } @@ -74,7 +98,7 @@ AskForPassword -secretname "mysqlrootpassword" -prompt "MySQL root password (> 8 AskForPassword -secretname "mysqlpassword" -prompt "MySQL NLP_APP_USER password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -namespace "fabricnlp" -AskForPassword -secretname "smtprelaypassword" -prompt "SMTP (SendGrid) Relay Key" -namespace "fabricnlp" +AskForPasswordAnyCharacters -secretname "smtprelaypassword" -prompt "SMTP (SendGrid) Relay Key" -namespace "fabricnlp" Write-Output "Cleaning out any old resources in fabricnlp" @@ -102,6 +126,7 @@ $customeridbase64 = kubectl get secret customerid -n fabricnlp -o jsonpath='{.da $customerid = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($customeridbase64)) Write-Output "Customer ID:" $customerid +if ($AKS_USE_SSL -eq "y" ) { # $customerid="ahmn" # ingress for web services # for SSL, from: https://github.com/containous/traefik/issues/2329 @@ -109,41 +134,81 @@ $serviceyaml = @" apiVersion: extensions/v1beta1 kind: Ingress metadata: - name: nlp-ingress - namespace: fabricnlp - annotations: - kubernetes.io/ingress.class: traefik + name: nlp-ingress + namespace: fabricnlp + annotations: + kubernetes.io/ingress.class: traefik spec: - tls: + tls: - secretName: ssl-ahmn - hosts: - - solr.$customerid.healthcatalyst.net - - nlp.$customerid.healthcatalyst.net - - nlpjobs.$customerid.healthcatalyst.net - rules: - - host: solr.$customerid.healthcatalyst.net - http: - paths: - - backend: - serviceName: solrserverpublic - servicePort: 80 - - host: nlp.$customerid.healthcatalyst.net - http: - paths: - - backend: - serviceName: nlpserverpublic - servicePort: 80 - - host: nlpjobs.$customerid.healthcatalyst.net - http: - paths: - - backend: - serviceName: nlpjobsserverpublic - servicePort: 80--- + hosts: + - solr.$customerid.healthcatalyst.net + - nlp.$customerid.healthcatalyst.net + - nlpjobs.$customerid.healthcatalyst.net + rules: + - host: solr.$customerid.healthcatalyst.net + http: + paths: + - backend: + serviceName: solrserverpublic + servicePort: 80 + - host: nlp.$customerid.healthcatalyst.net + http: + paths: + - backend: + serviceName: nlpserverpublic + servicePort: 80 + - host: nlpjobs.$customerid.healthcatalyst.net + http: + paths: + - backend: + serviceName: nlpjobsserverpublic + servicePort: 80 +--- "@ + Write-Output $serviceyaml Write-Output $serviceyaml | kubectl create -f - +} +else { + +$serviceyaml = @" +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: nlp-ingress + namespace: fabricnlp + annotations: + kubernetes.io/ingress.class: traefik +spec: + rules: + - host: solr.$customerid.healthcatalyst.net + http: + paths: + - backend: + serviceName: solrserverpublic + servicePort: 80 + - host: nlp.$customerid.healthcatalyst.net + http: + paths: + - backend: + serviceName: nlpserverpublic + servicePort: 80 + - host: nlpjobs.$customerid.healthcatalyst.net + http: + paths: + - backend: + serviceName: nlpjobsserverpublic + servicePort: 80 +--- +"@ + +Write-Output $serviceyaml +Write-Output $serviceyaml | kubectl create -f - + +} -kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp +kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide # to get a shell # kubectl exec -it fabric.nlp.nlpwebserver-85c8cb86b5-gkphh bash --namespace=fabricnlp From 2b2e782c29269e79ffc4a50e7077219290138963 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 9 Jan 2018 14:46:40 -0800 Subject: [PATCH 027/473] fix port in realtime kubernetes Signed-off-by: HQCATALYST\imran.qureshi --- azure/acs.template.calico.json | 40 +++++++++++ nlp/installnlpkubernetes.ps1 | 2 +- realtime/installrealtimekubernetes.ps1 | 90 ++++++++++++++++++------- realtime/realtime-kubernetes-public.yml | 2 +- 4 files changed, 108 insertions(+), 26 deletions(-) create mode 100644 azure/acs.template.calico.json diff --git a/azure/acs.template.calico.json b/azure/acs.template.calico.json new file mode 100644 index 0000000..4a0bccd --- /dev/null +++ b/azure/acs.template.calico.json @@ -0,0 +1,40 @@ +{ + "apiVersion": "vlabs", + "properties": { + "orchestratorProfile": { + "orchestratorType": "Kubernetes", + "orchestratorRelease": "1.8", + "kubernetesConfig": { + "networkPolicy": "calico" + } + }, + "masterProfile": { + "count": 1, + "dnsPrefix": "REPLACE-DNS-NAME-PREFIX", + "vmSize": "Standard_D2_v2", + "vnetSubnetId": "REPLACE-SUBNET", + "firstConsecutiveStaticIP": "REPLACE-FIRST-STATIC-IP", + "storageProfile": "ManagedDisks" + }, + "agentPoolProfiles": [{ + "name": "linuxagent", + "count": 2, + "vmSize": "Standard_D2_v2", + "vnetSubnetId": "REPLACE-SUBNET", + "availabilityProfile": "AvailabilitySet", + "storageProfile": "ManagedDisks" + }], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [{ + "keyData": "REPLACE-SSH-KEY" + }] + } + }, + "servicePrincipalProfile": { + "clientId": "REPLACE-CLIENTID", + "secret": "REPLACE-CLIENTSECRET" + } + } +} \ No newline at end of file diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index dfdb1e8..2e5aeb0 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -216,7 +216,7 @@ kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,pe # kubectl create secret generic azure-secret --namespace=fabricnlp --from-literal=azurestorageaccountname="fabricnlp7storage" --from-literal=azurestorageaccountkey="/bYhXNstTodg3MdOvTMog/vDLSFrQDpxG/Zgkp2MlnjtOWhDBNQ2xOs6zjRoZYNjmJHya34MfzqdfOwXkMDN2A==" Write-Output "To get status of Fabric.NLP run:" -Write-Output "kubectl get deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes --namespace=fabricnlp" +Write-Output "kubectl get deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes --namespace=fabricnlp -o wide" Write-Output "To launch the dashboard UI, run:" Write-Output "kubectl proxy" diff --git a/realtime/installrealtimekubernetes.ps1 b/realtime/installrealtimekubernetes.ps1 index d9315a1..212d15c 100644 --- a/realtime/installrealtimekubernetes.ps1 +++ b/realtime/installrealtimekubernetes.ps1 @@ -1,4 +1,4 @@ -Write-Output "Version 2017.12.20.1" +Write-Output "Version 2018.01.09.1" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.ps1 | iex; @@ -25,10 +25,20 @@ else { az login } -Do { $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group (e.g., fabricnlp-rg)"} -while ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) +$AKS_PERS_RESOURCE_GROUP_BASE64 = kubectl get secret azure-secret -o jsonpath='{.data.resourcegroup}' +$AKS_PERS_RESOURCE_GROUP = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($AKS_PERS_RESOURCE_GROUP_BASE64)) -kubectl create namespace fabricrealtime +if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) { + Do { $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group (e.g., fabricnlp-rg)"} + while ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) +} +else { + Write-Output "Using resource group: $AKS_PERS_RESOURCE_GROUP" +} + +if ([string]::IsNullOrWhiteSpace($(kubectl get namespace fabricrealtime))) { + kubectl create namespace fabricrealtime +} function AskForPassword ($secretname, $prompt, $namespace) { if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.password}'))) { @@ -50,10 +60,11 @@ function AskForPassword ($secretname, $prompt, $namespace) { function AskForSecretValue ($secretname, $prompt, $namespace) { if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.value}'))) { + $certhostname = "" Do { $certhostname = Read-host "$prompt" } - while ($certhostname.Length -lt 8 ) + while ($certhostname.Length -lt 1 ) kubectl create secret generic $secretname --namespace=$namespace --from-literal=value=$certhostname } @@ -82,13 +93,22 @@ Write-Output "Waiting until all the resources are cleared up" Do { $CLEANUP_DONE = $(kubectl get 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes' --namespace=fabricrealtime)} while (![string]::IsNullOrWhiteSpace($CLEANUP_DONE)) +$AKS_PERS_SHARE_NAME = "fabricrealtime" +$AKS_PERS_STORAGE_ACCOUNT_NAME_BASE64 = kubectl get secret azure-secret -o jsonpath='{.data.azurestorageaccountname}' +$AKS_PERS_STORAGE_ACCOUNT_NAME = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($AKS_PERS_STORAGE_ACCOUNT_NAME_BASE64)) + +$AZURE_STORAGE_CONNECTION_STRING = az storage account show-connection-string -n $AKS_PERS_STORAGE_ACCOUNT_NAME -g $AKS_PERS_RESOURCE_GROUP -o tsv + +Write-Output "Create the file share: $AKS_PERS_SHARE_NAME" +az storage share create -n $AKS_PERS_SHARE_NAME --connection-string $AZURE_STORAGE_CONNECTION_STRING --quota 512 + kubectl create -f $GITHUB_URL/realtime/realtime-kubernetes-storage.yml kubectl create -f $GITHUB_URL/realtime/realtime-kubernetes.yml kubectl create -f $GITHUB_URL/realtime/realtime-kubernetes-public.yml -$ipname="InterfaceEnginePublicIP" +$ipname = "InterfaceEnginePublicIP" $publicip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n $ipname --query "ipAddress" -o tsv; if ([string]::IsNullOrWhiteSpace($publicip)) { az network public-ip create -g $AKS_PERS_RESOURCE_GROUP -n $ipname --allocation-method Static @@ -129,30 +149,37 @@ spec: --- "@ - Write-Output $serviceyaml | kubectl create -f - +Write-Output $serviceyaml | kubectl create -f - + +AskForSecretValue -secretname "customerid" -prompt "Health Catalyst Customer ID (e.g., ahmn)" -namespace "fabricrealtime" +$customeridbase64 = kubectl get secret customerid -n fabricrealtime -o jsonpath='{.data.value}' +$customerid = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($customeridbase64)) +Write-Output "Customer ID:" $customerid $serviceyaml = @" apiVersion: extensions/v1beta1 kind: Ingress metadata: - name: realtime-ingress - namespace: fabricrealtime - annotations: - kubernetes.io/ingress.class: traefik + name: realtime-ingress + namespace: fabricrealtime + annotations: + kubernetes.io/ingress.class: traefik spec: - rules: - - http: - paths: - - backend: - serviceName: certificateserverpublic - servicePort: 80 + rules: + - host: certificates.$customerid.healthcatalyst.net + http: + paths: + - backend: + serviceName: certificateserverpublic + servicePort: 80 --- -"@ +"@ - Write-Output $serviceyaml | kubectl create -f - +Write-Output $serviceyaml +Write-Output $serviceyaml | kubectl create -f - -kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime +kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime -o wide # to get a shell # kubectl exec -it fabric.nlp.nlpwebserver-85c8cb86b5-gkphh bash --namespace=fabricrealtime @@ -160,21 +187,36 @@ kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,pe # kubectl create secret generic azure-secret --namespace=fabricrealtime --from-literal=azurestorageaccountname="fabricrealtime7storage" --from-literal=azurestorageaccountkey="/bYhXNstTodg3MdOvTMog/vDLSFrQDpxG/Zgkp2MlnjtOWhDBNQ2xOs6zjRoZYNjmJHya34MfzqdfOwXkMDN2A==" Write-Output "To get status of Fabric.NLP run:" -Write-Output "kubectl get deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes --namespace=fabricrealtime" +Write-Output "kubectl get deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes --namespace=fabricrealtime -o wide" Write-Output "To launch the dashboard UI, run:" Write-Output "kubectl proxy" Write-Output "and then in your browser, navigate to: http://127.0.0.1:8001/ui" $loadBalancerIP = kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' -if([string]::IsNullOrWhiteSpace($loadBalancerIP)){ +if ([string]::IsNullOrWhiteSpace($loadBalancerIP)) { $loadBalancerIP = kubectl get svc traefik-ingress-service-private -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' } +Write-Output "To test out the NLP services, open Git Bash and run:" +Write-Output "curl -L --verbose --header 'Host: certificates.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/client'" + +Write-Output "Connect to interface engine at: $publicip:6661" + Write-Output "if you want, you can download the CA (Certificate Authority) cert from this url" -Write-Output "http://$loadBalancerIP/client/fabric_ca_cert.p12" +Write-Output "http://certificates.$customerid.healthcatalyst.net/client/fabric_ca_cert.p12" Write-Output "-------------------------------" Write-Output "you can download the client certificate from this url:" -Write-Output "http://$loadBalancerIP/client/fabricrabbitmquser_client_cert.p12" +Write-Output "http://certificates.$customerid.healthcatalyst.net/client/fabricrabbitmquser_client_cert.p12" Write-Output "-------------------------------" + +Write-Output "Waiting for load balancer IP to get assigned to interface engine..." +Do { + $loadBalancerIP = $(kubectl get service interfaceengine-direct-port -n fabricrealtime -o jsonpath='{.spec.loadBalancerIP}'); + Write-Output "." + Start-Sleep -Seconds 5 +} +while ([string]::IsNullOrWhiteSpace($loadBalancerIP)) + + diff --git a/realtime/realtime-kubernetes-public.yml b/realtime/realtime-kubernetes-public.yml index 67936bf..9413642 100644 --- a/realtime/realtime-kubernetes-public.yml +++ b/realtime/realtime-kubernetes-public.yml @@ -10,5 +10,5 @@ spec: app: certificateserver ports: - port: 80 - targetPort: 8081 + targetPort: 3000 --- From 360ee3a647bd25bb6bc8b4c0c44c42f075d4b48d Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 10 Jan 2018 14:07:08 -0800 Subject: [PATCH 028/473] move realtime-ingress to separate files Signed-off-by: HQCATALYST\imran.qureshi --- azure/setup-loadbalancer.ps1 | 12 +++++-- realtime/installrealtimekubernetes.ps1 | 44 +++++++++++++------------- realtime/realtime-ingress-ssl.yml | 18 +++++++++++ realtime/realtime-ingress.yml | 16 ++++++++++ 4 files changed, 66 insertions(+), 24 deletions(-) create mode 100644 realtime/realtime-ingress-ssl.yml create mode 100644 realtime/realtime-ingress.yml diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index 75e69cf..486f4d8 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -31,8 +31,16 @@ else { $AKS_SUBSCRIPTION_ID = az account show --query "id" --output tsv -Do { $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group (e.g., fabricnlp-rg)"} -while ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) +$AKS_PERS_RESOURCE_GROUP_BASE64 = kubectl get secret azure-secret -o jsonpath='{.data.resourcegroup}' +$AKS_PERS_RESOURCE_GROUP = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($AKS_PERS_RESOURCE_GROUP_BASE64)) + +if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) { + Do { $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group (e.g., fabricnlp-rg)"} + while ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) +} +else { + Write-Output "Using resource group: $AKS_PERS_RESOURCE_GROUP" +} $AKS_PERS_LOCATION = az group show --name $AKS_PERS_RESOURCE_GROUP --query "location" -o tsv Write-Output "Using location: [$AKS_PERS_LOCATION]" diff --git a/realtime/installrealtimekubernetes.ps1 b/realtime/installrealtimekubernetes.ps1 index 212d15c..11da863 100644 --- a/realtime/installrealtimekubernetes.ps1 +++ b/realtime/installrealtimekubernetes.ps1 @@ -3,7 +3,7 @@ Write-Output "Version 2018.01.09.1" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.ps1 | iex; $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -# $GITHUB_URL = "." +$GITHUB_URL = "." $loggedInUser = az account show --query "user.name" --output tsv @@ -40,6 +40,9 @@ if ([string]::IsNullOrWhiteSpace($(kubectl get namespace fabricrealtime))) { kubectl create namespace fabricrealtime } +Do { $AKS_USE_SSL = Read-Host "Do you want to setup SSL? (y/n)"} +while ([string]::IsNullOrWhiteSpace($AKS_USE_SSL)) + function AskForPassword ($secretname, $prompt, $namespace) { if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.password}'))) { @@ -157,27 +160,24 @@ $customeridbase64 = kubectl get secret customerid -n fabricrealtime -o jsonpath= $customerid = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($customeridbase64)) Write-Output "Customer ID:" $customerid -$serviceyaml = @" -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: realtime-ingress - namespace: fabricrealtime - annotations: - kubernetes.io/ingress.class: traefik -spec: - rules: - - host: certificates.$customerid.healthcatalyst.net - http: - paths: - - backend: - serviceName: certificateserverpublic - servicePort: 80 ---- -"@ +$templateFile="realtime-ingress.yml" +if ($AKS_USE_SSL -eq "y" ){ + $templateFile="realtime-ingress-ssl.yml" +} -Write-Output $serviceyaml -Write-Output $serviceyaml | kubectl create -f - +Write-Output "Using template: $templateFile" + +if ($GITHUB_URL.StartsWith("http")) { + Invoke-WebRequest -Uri "$GITHUB_URL/realtime/$templateFile" -ContentType "text/plain; charset=utf-8" ` + | Select-Object -Expand Content ` + | Foreach-Object {$_ -replace 'CUSTOMERID', "${customerid}"} ` + | kubectl create -f - +} +else { + Get-Content -Path "$GITHUB_URL/realtime/$templateFile" ` + | Foreach-Object {$_ -replace 'CUSTOMERID', "${customerid}"} ` + | kubectl create -f - +} kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime -o wide @@ -201,7 +201,7 @@ if ([string]::IsNullOrWhiteSpace($loadBalancerIP)) { Write-Output "To test out the NLP services, open Git Bash and run:" Write-Output "curl -L --verbose --header 'Host: certificates.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/client'" -Write-Output "Connect to interface engine at: $publicip:6661" +Write-Output "Connect to interface engine at: $publicip port 6661" Write-Output "if you want, you can download the CA (Certificate Authority) cert from this url" Write-Output "http://certificates.$customerid.healthcatalyst.net/client/fabric_ca_cert.p12" diff --git a/realtime/realtime-ingress-ssl.yml b/realtime/realtime-ingress-ssl.yml new file mode 100644 index 0000000..0bdd7e2 --- /dev/null +++ b/realtime/realtime-ingress-ssl.yml @@ -0,0 +1,18 @@ +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: realtime-ingress + namespace: fabricrealtime + annotations: + kubernetes.io/ingress.class: traefik +spec: + tls: + - secretName: ssl-ahmn + rules: + - host: certificates.CUSTOMERID.healthcatalyst.net + http: + paths: + - backend: + serviceName: certificateserverpublic + servicePort: 80 +--- diff --git a/realtime/realtime-ingress.yml b/realtime/realtime-ingress.yml new file mode 100644 index 0000000..ff6dbfb --- /dev/null +++ b/realtime/realtime-ingress.yml @@ -0,0 +1,16 @@ +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: realtime-ingress + namespace: fabricrealtime + annotations: + kubernetes.io/ingress.class: traefik +spec: + rules: + - host: certificates.CUSTOMERID.healthcatalyst.net + http: + paths: + - backend: + serviceName: certificateserverpublic + servicePort: 80 +--- From 904f30fdfd4ced9ee4674df579fc5935043b1060 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 10 Jan 2018 14:08:26 -0800 Subject: [PATCH 029/473] remove typo Signed-off-by: HQCATALYST\imran.qureshi --- realtime/installrealtimekubernetes.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/realtime/installrealtimekubernetes.ps1 b/realtime/installrealtimekubernetes.ps1 index 11da863..7c02e12 100644 --- a/realtime/installrealtimekubernetes.ps1 +++ b/realtime/installrealtimekubernetes.ps1 @@ -3,7 +3,7 @@ Write-Output "Version 2018.01.09.1" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.ps1 | iex; $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -$GITHUB_URL = "." +# $GITHUB_URL = "." $loggedInUser = az account show --query "user.name" --output tsv From e590b07ebc9245f9f3f0b7e21fe46604d6aab1c2 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 11 Jan 2018 08:05:18 -0800 Subject: [PATCH 030/473] set resource group name in the secret Signed-off-by: HQCATALYST\imran.qureshi --- azure/create-acs-cluster.ps1 | 6 +++--- azure/setup-loadbalancer.ps1 | 30 +++++++++++++------------- realtime/installrealtimekubernetes.ps1 | 2 +- 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index 39d78bf..319f607 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -266,9 +266,9 @@ if ($resourceGroupExists -eq "true") { az resource delete --ids $(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Storage/storageAccounts" --query "[].id" -o tsv | Where-Object {!"$_".EndsWith("${AKS_PERS_STORAGE_ACCOUNT_NAME}")} ) # az resource list --resource-group fabricnlp3 --resource-type "Microsoft.Storage/storageAccounts" --query "[].id" -o tsv | ForEach-Object { if (!"$_".EndsWith("${AKS_PERS_RESOURCE_GROUP}storage")) { az resource delete --ids "$_" }} } - if ($(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Network/publicIPAddresses" --query "[].id" -o tsv | Where-Object {!"$_".EndsWith("IngressPublicIP")}).length -ne 0) { + if ($(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Network/publicIPAddresses" --query "[].id" -o tsv | Where-Object {!"$_".EndsWith("PublicIP")}).length -ne 0) { Write-Output "delete the public IPs EXCEPT Ingress IP we created in the past" - az resource delete --ids $(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Network/publicIPAddresses" --query "[].id" -o tsv | Where-Object {!"$_".EndsWith("IngressPublicIP")} ) + az resource delete --ids $(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Network/publicIPAddresses" --query "[].id" -o tsv | Where-Object {!"$_".EndsWith("PublicIP")} ) } if (("$AKS_VNET_NAME") -and ("$AKS_USE_AZURE_NETWORKING" -eq "no")) { @@ -653,7 +653,7 @@ $STORAGE_KEY = az storage account keys list --resource-group $AKS_PERS_RESOURCE_ Write-Output "Storagekey: [$STORAGE_KEY]" Write-Output "Creating kubernetes secret" -kubectl create secret generic azure-secret --from-literal=azurestorageaccountname="${AKS_PERS_STORAGE_ACCOUNT_NAME}" --from-literal=azurestorageaccountkey="${STORAGE_KEY}" +kubectl create secret generic azure-secret --from-literal=resourcegroup="${AKS_PERS_RESOURCE_GROUP}" --from-literal=azurestorageaccountname="${AKS_PERS_STORAGE_ACCOUNT_NAME}" --from-literal=azurestorageaccountkey="${STORAGE_KEY}" kubectl get "deployments,pods,services,ingress,secrets" --namespace=kube-system diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index 486f4d8..13eb1ba 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -135,25 +135,25 @@ else { $startDate = Get-Date $timeoutInMinutes = 10 -if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { - - Write-Output "Waiting for IP to get assigned to the load balancer (Note: It can take 5 minutes or so to get the IP from azure)" - Do { - Start-Sleep -Seconds 10 - Write-Output "." - $EXTERNAL_IP = $(kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}') - } - while ([string]::IsNullOrWhiteSpace($EXTERNAL_IP) -and ($startDate.AddMinutes($timeoutInMinutes) -gt (Get-Date))) - - Write-Output "External IP: $EXTERNAL_IP" - Write-Output "To get IP of cluster later:" - Write-Output "kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}'" +if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { + $loadbalancer = "traefik-ingress-service-public" } else { - Write-Output "To get IP of cluster, run:" - Write-Output "kubectl get svc traefik-ingress-service-private -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}'" + $loadbalancer = "traefik-ingress-service-private" } +Write-Output "Waiting for IP to get assigned to the load balancer (Note: It can take 5 minutes or so to get the IP from azure)" +Do { + Start-Sleep -Seconds 10 + Write-Output "." + $EXTERNAL_IP = $(kubectl get svc $loadbalancer -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}') +} +while ([string]::IsNullOrWhiteSpace($EXTERNAL_IP) -and ($startDate.AddMinutes($timeoutInMinutes) -gt (Get-Date))) + +Write-Output "External IP: $EXTERNAL_IP" + + + diff --git a/realtime/installrealtimekubernetes.ps1 b/realtime/installrealtimekubernetes.ps1 index 7c02e12..87b3801 100644 --- a/realtime/installrealtimekubernetes.ps1 +++ b/realtime/installrealtimekubernetes.ps1 @@ -219,4 +219,4 @@ Do { } while ([string]::IsNullOrWhiteSpace($loadBalancerIP)) - +Write-Output "Load Balancer IP: $loadBalancerIP" From 537ddd5b9400b5586b958f4a08e1b4dfc5bad670 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 12 Jan 2018 09:57:46 -0800 Subject: [PATCH 031/473] specify a default ackend for ingress so Azure health probes work Signed-off-by: HQCATALYST\imran.qureshi --- azure/ingress.ssl.yml | 19 ++++++++++++++++++- azure/ingress.yml | 20 +++++++++++++++++++- azure/setup-loadbalancer.ps1 | 4 +++- realtime/installrealtimekubernetes.ps1 | 4 +++- 4 files changed, 43 insertions(+), 4 deletions(-) diff --git a/azure/ingress.ssl.yml b/azure/ingress.ssl.yml index 393b031..b597530 100644 --- a/azure/ingress.ssl.yml +++ b/azure/ingress.ssl.yml @@ -123,4 +123,21 @@ spec: serviceName: traefik-web-ui servicePort: 80 --- - +# default backend so if no rules match it goes here +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: traefik-default-route + namespace: kube-system + labels: + k8s-traefik: traefik + annotations: + kubernetes.io/ingress.class: traefik +spec: + rules: + - http: + paths: + - backend: + serviceName: traefik-web-ui + servicePort: 80 +--- diff --git a/azure/ingress.yml b/azure/ingress.yml index 6266b5b..f2a4c52 100644 --- a/azure/ingress.yml +++ b/azure/ingress.yml @@ -63,6 +63,24 @@ spec: paths: - backend: serviceName: traefik-web-ui - servicePort: 80 + servicePort: 80 +--- +# default backend so if no rules match it goes here +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: traefik-default-route + namespace: kube-system + labels: + k8s-traefik: traefik + annotations: + kubernetes.io/ingress.class: traefik +spec: + rules: + - http: + paths: + - backend: + serviceName: traefik-web-ui + servicePort: 80 --- diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index 13eb1ba..bbaef2c 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -32,7 +32,9 @@ else { $AKS_SUBSCRIPTION_ID = az account show --query "id" --output tsv $AKS_PERS_RESOURCE_GROUP_BASE64 = kubectl get secret azure-secret -o jsonpath='{.data.resourcegroup}' -$AKS_PERS_RESOURCE_GROUP = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($AKS_PERS_RESOURCE_GROUP_BASE64)) +if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP_BASE64)) { + $AKS_PERS_RESOURCE_GROUP = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($AKS_PERS_RESOURCE_GROUP_BASE64)) +} if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) { Do { $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group (e.g., fabricnlp-rg)"} diff --git a/realtime/installrealtimekubernetes.ps1 b/realtime/installrealtimekubernetes.ps1 index 87b3801..42acad3 100644 --- a/realtime/installrealtimekubernetes.ps1 +++ b/realtime/installrealtimekubernetes.ps1 @@ -26,7 +26,9 @@ else { } $AKS_PERS_RESOURCE_GROUP_BASE64 = kubectl get secret azure-secret -o jsonpath='{.data.resourcegroup}' -$AKS_PERS_RESOURCE_GROUP = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($AKS_PERS_RESOURCE_GROUP_BASE64)) +if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP_BASE64)) { + $AKS_PERS_RESOURCE_GROUP = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($AKS_PERS_RESOURCE_GROUP_BASE64)) +} if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) { Do { $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group (e.g., fabricnlp-rg)"} From bb790b04b2791ef8f4054f9e19e20b98f21a9de1 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 12 Jan 2018 10:40:06 -0800 Subject: [PATCH 032/473] fix typo Signed-off-by: HQCATALYST\imran.qureshi --- azure/main.ps1 | 0 azure/setup-loadbalancer.ps1 | 2 +- realtime/installrealtimekubernetes.ps1 | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 azure/main.ps1 diff --git a/azure/main.ps1 b/azure/main.ps1 new file mode 100644 index 0000000..e69de29 diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index bbaef2c..b343fa7 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -32,7 +32,7 @@ else { $AKS_SUBSCRIPTION_ID = az account show --query "id" --output tsv $AKS_PERS_RESOURCE_GROUP_BASE64 = kubectl get secret azure-secret -o jsonpath='{.data.resourcegroup}' -if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP_BASE64)) { +if (![string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP_BASE64)) { $AKS_PERS_RESOURCE_GROUP = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($AKS_PERS_RESOURCE_GROUP_BASE64)) } diff --git a/realtime/installrealtimekubernetes.ps1 b/realtime/installrealtimekubernetes.ps1 index 42acad3..50feb01 100644 --- a/realtime/installrealtimekubernetes.ps1 +++ b/realtime/installrealtimekubernetes.ps1 @@ -26,7 +26,7 @@ else { } $AKS_PERS_RESOURCE_GROUP_BASE64 = kubectl get secret azure-secret -o jsonpath='{.data.resourcegroup}' -if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP_BASE64)) { +if (![string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP_BASE64)) { $AKS_PERS_RESOURCE_GROUP = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($AKS_PERS_RESOURCE_GROUP_BASE64)) } From 62ffcaf4290f45e3c70ad47cf8d18dcaea6e620c Mon Sep 17 00:00:00 2001 From: "michael.vidal" Date: Fri, 12 Jan 2018 12:28:43 -0500 Subject: [PATCH 033/473] Update identity docker scripts to accept additional environment variables. --- identity/installidentity.txt | 13 +++++++++++-- installidentityandauthorization.txt | 11 ++++++++++- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/identity/installidentity.txt b/identity/installidentity.txt index 60d11fe..0e462b9 100644 --- a/identity/installidentity.txt +++ b/identity/installidentity.txt @@ -1,4 +1,4 @@ -git#!/bin/sh +#!/bin/sh couchdb_username=$1 couchdb_password=$2 @@ -26,6 +26,14 @@ if ! [ $identityversion ]; then identityversion="latest" fi +if [ $6 ]; then + allowunsafeeval=$6 +fi + +if ! [ $allowunsafeeval ]; then + allowunsafeeval="false" +fi + # # This script is meant for quick & easy install via: # curl -sSL https://healthcatalyst.github.io/InstallScripts/identity/installidentity.txt | sh /dev/stdin [couchdb_username] [couchdb_password] @@ -55,7 +63,8 @@ sleep 20 echo "starting fabric.identity" docker run -d --name fabric.identity \ - -e "HostingOptions__UseInMemoryStores=false" \ + -e "HostingOptions__StorageProvider=CouchDB" \ + -e "HostingOptions__AllowUnsafeEval=$allowunsafeeval" \ -e "CouchDbSettings__Server=http://couchdb:5984" \ -e "CouchDbSettings__Username=$couchdb_username" \ -e "CouchDbSettings__Password=$couchdb_password" \ diff --git a/installidentityandauthorization.txt b/installidentityandauthorization.txt index 3fd80ec..aa4dcd4 100644 --- a/installidentityandauthorization.txt +++ b/installidentityandauthorization.txt @@ -34,6 +34,14 @@ if ! [ $identityversion ]; then identityversion="latest" fi +if [ $7 ]; then + allowunsafeeval=$7 +fi + +if ! [ $allowunsafeeval ]; then + allowunsafeeval="false" +fi + # # This script is meant for quick & easy install via: # curl -sSL https://healthcatalyst.github.io/InstallScripts/installidentityandauthorization.txt | sh /dev/stdin [couchdb_username] [couchdb_password] @@ -71,7 +79,8 @@ sleep 20 echo "starting fabric.identity" docker run -d --name fabric.identity \ - -e "HostingOptions__UseInMemoryStores=false" \ + -e "HostingOptions__StorageProvider=CouchDB" \ + -e "HostingOptions__AllowUnsafeEval=$allowunsafeeval" \ -e "CouchDbSettings__Server=http://couchdb:5984" \ -e "CouchDbSettings__Username=$couchdb_username" \ -e "CouchDbSettings__Password=$couchdb_password" \ From d45a047aa65abd40b3a90231d70428e4abe3baf3 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 12 Jan 2018 12:21:30 -0800 Subject: [PATCH 034/473] replace customerid in nlp yml Signed-off-by: HQCATALYST\imran.qureshi --- azure/setup-loadbalancer.ps1 | 8 +- nlp/installnlpkubernetes.ps1 | 137 ++++++++----------------- nlp/nlp-ingress-ssl.yml | 34 ++++++ nlp/nlp-ingress.yml | 28 +++++ nlp/nlp-kubernetes.yml | 8 +- realtime/installrealtimekubernetes.ps1 | 33 +++--- 6 files changed, 129 insertions(+), 119 deletions(-) create mode 100644 nlp/nlp-ingress-ssl.yml create mode 100644 nlp/nlp-ingress.yml diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index b343fa7..ae49079 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -31,7 +31,7 @@ else { $AKS_SUBSCRIPTION_ID = az account show --query "id" --output tsv -$AKS_PERS_RESOURCE_GROUP_BASE64 = kubectl get secret azure-secret -o jsonpath='{.data.resourcegroup}' +$AKS_PERS_RESOURCE_GROUP_BASE64 = kubectl get secret azure-secret -o jsonpath='{.data.resourcegroup}' --ignore-not-found=true if (![string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP_BASE64)) { $AKS_PERS_RESOURCE_GROUP = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($AKS_PERS_RESOURCE_GROUP_BASE64)) } @@ -53,10 +53,10 @@ while ([string]::IsNullOrWhiteSpace($AKS_OPEN_TO_PUBLIC)) Do { $AKS_USE_SSL = Read-Host "Do you want to setup SSL? (y/n)"} while ([string]::IsNullOrWhiteSpace($AKS_USE_SSL)) -kubectl delete 'pods,services,configMaps,deployments,ingress' -l k8s-traefik=traefik -n kube-system +kubectl delete 'pods,services,configMaps,deployments,ingress' -l k8s-traefik=traefik -n kube-system --ignore-not-found=true # http://blog.kubernetes.io/2017/04/configuring-private-dns-zones-upstream-nameservers-kubernetes.html -kubectl delete -f "$GITHUB_URL/azure/cafe-kube-dns.yml" +kubectl delete -f "$GITHUB_URL/azure/cafe-kube-dns.yml" --ignore-not-found=true Start-Sleep -Seconds 10 kubectl create -f "$GITHUB_URL/azure/cafe-kube-dns.yml" # to debug dns: https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#inheriting-dns-from-the-node @@ -154,6 +154,8 @@ Do { while ([string]::IsNullOrWhiteSpace($EXTERNAL_IP) -and ($startDate.AddMinutes($timeoutInMinutes) -gt (Get-Date))) Write-Output "External IP: $EXTERNAL_IP" +Write-Output "To test out the load balancer, open Git Bash and run:" +Write-Output "curl -L --verbose --header 'Host: traefik-ui.minikube' 'http://$EXTERNAL_IP/'" diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index 2e5aeb0..b397aae 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -1,6 +1,8 @@ -Write-Output "Version 2017.12.20.1" +Write-Output "Version 2018.01.12.1" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | iex; +$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" +# $GITHUB_URL = "." $loggedInUser = az account show --query "user.name" --output tsv $AKS_USE_SSL = "" @@ -40,9 +42,10 @@ if ([string]::IsNullOrWhiteSpace($(kubectl get namespace fabricnlp))) { } function AskForPassword ($secretname, $prompt, $namespace) { + if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.password}'))) { - $mysqlrootpassword="" + $mysqlrootpassword = "" # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script Do { @@ -58,9 +61,10 @@ function AskForPassword ($secretname, $prompt, $namespace) { } function AskForPasswordAnyCharacters ($secretname, $prompt, $namespace) { + if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.password}'))) { - $mysqlrootpassword="" + $mysqlrootpassword = "" # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script Do { @@ -76,9 +80,10 @@ function AskForPasswordAnyCharacters ($secretname, $prompt, $namespace) { } function AskForSecretValue ($secretname, $prompt, $namespace) { + if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.value}'))) { - $certhostname="" + $certhostname = "" Do { $certhostname = Read-host "$prompt" } @@ -91,10 +96,29 @@ function AskForSecretValue ($secretname, $prompt, $namespace) { } } +function ReadYmlAndReplaceCustomer($templateFile, $customerid ) { + if ($GITHUB_URL.StartsWith("http")) { +# Write-Output "Reading from url: $GITHUB_URL/$templateFile" + Invoke-WebRequest -Uri "$GITHUB_URL/$templateFile" -ContentType "text/plain; charset=utf-8" ` + | Select-Object -Expand Content ` + | Foreach-Object {$_ -replace 'CUSTOMERID', "$customerid"} + } + else { +# Write-Output "Reading from local file: $GITHUB_URL/$templateFile" + Get-Content -Path "$GITHUB_URL/$templateFile" ` + | Foreach-Object {$_ -replace 'CUSTOMERID', "$customerid"} + } +} + +AskForSecretValue -secretname "customerid" -prompt "Health Catalyst Customer ID (e.g., ahmn)" + +$customeridbase64 = kubectl get secret customerid -o jsonpath='{.data.value}' +$customerid = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($customeridbase64)) +Write-Output "Customer ID:" $customerid AskForPassword -secretname "mysqlrootpassword" -prompt "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -namespace "fabricnlp" - # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html - # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script +# MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html +# we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script AskForPassword -secretname "mysqlpassword" -prompt "MySQL NLP_APP_USER password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -namespace "fabricnlp" @@ -103,110 +127,29 @@ AskForPasswordAnyCharacters -secretname "smtprelaypassword" -prompt "SMTP (SendG Write-Output "Cleaning out any old resources in fabricnlp" # note kubectl doesn't like spaces in between commas below -kubectl delete --all 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes' --namespace=fabricnlp +kubectl delete --all 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes' --namespace=fabricnlp --ignore-not-found=true Write-Output "Waiting until all the resources are cleared up" Do { $CLEANUP_DONE = $(kubectl get 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes' --namespace=fabricnlp)} while (![string]::IsNullOrWhiteSpace($CLEANUP_DONE)) -kubectl create -f https://healthcatalyst.github.io/InstallScripts/nlp/nlp-kubernetes-storage.yml +ReadYmlAndReplaceCustomer -templateFile "nlp/nlp-kubernetes-storage.yml" -customerid $customerid | kubectl create -f - -kubectl create -f https://healthcatalyst.github.io/InstallScripts/nlp/nlp-kubernetes.yml +ReadYmlAndReplaceCustomer -templateFile "nlp/nlp-kubernetes.yml" -customerid $customerid | kubectl create -f - -kubectl create -f https://healthcatalyst.github.io/InstallScripts/nlp/nlp-kubernetes-public.yml +ReadYmlAndReplaceCustomer -templateFile "nlp/nlp-kubernetes-public.yml" -customerid $customerid | kubectl create -f - -kubectl create -f https://healthcatalyst.github.io/InstallScripts/nlp/nlp-mysql-private.yml +ReadYmlAndReplaceCustomer -templateFile "nlp/nlp-mysql-private.yml" -customerid $customerid | kubectl create -f - Write-Output "Setting up SSL reverse proxy" -AskForSecretValue -secretname "customerid" -prompt "Health Catalyst Customer ID (e.g., ahmn)" -namespace "fabricnlp" - -$customeridbase64 = kubectl get secret customerid -n fabricnlp -o jsonpath='{.data.value}' -$customerid = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($customeridbase64)) -Write-Output "Customer ID:" $customerid - +$ingressTemplate = "nlp/nlp-ingress.yml" if ($AKS_USE_SSL -eq "y" ) { -# $customerid="ahmn" -# ingress for web services -# for SSL, from: https://github.com/containous/traefik/issues/2329 -$serviceyaml = @" -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: nlp-ingress - namespace: fabricnlp - annotations: - kubernetes.io/ingress.class: traefik -spec: - tls: - - secretName: ssl-ahmn - hosts: - - solr.$customerid.healthcatalyst.net - - nlp.$customerid.healthcatalyst.net - - nlpjobs.$customerid.healthcatalyst.net - rules: - - host: solr.$customerid.healthcatalyst.net - http: - paths: - - backend: - serviceName: solrserverpublic - servicePort: 80 - - host: nlp.$customerid.healthcatalyst.net - http: - paths: - - backend: - serviceName: nlpserverpublic - servicePort: 80 - - host: nlpjobs.$customerid.healthcatalyst.net - http: - paths: - - backend: - serviceName: nlpjobsserverpublic - servicePort: 80 ---- -"@ - - Write-Output $serviceyaml - Write-Output $serviceyaml | kubectl create -f - + $ingressTemplate = "nlp/nlp-ingress-ssl.yml" } -else { - -$serviceyaml = @" -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: nlp-ingress - namespace: fabricnlp - annotations: - kubernetes.io/ingress.class: traefik -spec: - rules: - - host: solr.$customerid.healthcatalyst.net - http: - paths: - - backend: - serviceName: solrserverpublic - servicePort: 80 - - host: nlp.$customerid.healthcatalyst.net - http: - paths: - - backend: - serviceName: nlpserverpublic - servicePort: 80 - - host: nlpjobs.$customerid.healthcatalyst.net - http: - paths: - - backend: - serviceName: nlpjobsserverpublic - servicePort: 80 ---- -"@ - -Write-Output $serviceyaml -Write-Output $serviceyaml | kubectl create -f - -} +ReadYmlAndReplaceCustomer -templateFile $ingressTemplate -customerid $customerid | kubectl create -f - kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide @@ -222,8 +165,8 @@ Write-Output "To launch the dashboard UI, run:" Write-Output "kubectl proxy" Write-Output "and then in your browser, navigate to: http://127.0.0.1:8001/ui" -$loadBalancerIP = kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' -if([string]::IsNullOrWhiteSpace($loadBalancerIP)){ +$loadBalancerIP = kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' --ignore-not-found=true +if ([string]::IsNullOrWhiteSpace($loadBalancerIP)) { $loadBalancerIP = kubectl get svc traefik-ingress-service-private -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' } diff --git a/nlp/nlp-ingress-ssl.yml b/nlp/nlp-ingress-ssl.yml new file mode 100644 index 0000000..e58d788 --- /dev/null +++ b/nlp/nlp-ingress-ssl.yml @@ -0,0 +1,34 @@ +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: nlp-ingress + namespace: fabricnlp + annotations: + kubernetes.io/ingress.class: traefik +spec: + tls: + - secretName: ssl-ahmn + hosts: + - solr.CUSTOMERID.healthcatalyst.net + - nlp.CUSTOMERID.healthcatalyst.net + - nlpjobs.CUSTOMERID.healthcatalyst.net + rules: + - host: solr.CUSTOMERID.healthcatalyst.net + http: + paths: + - backend: + serviceName: solrserverpublic + servicePort: 80 + - host: nlp.CUSTOMERID.healthcatalyst.net + http: + paths: + - backend: + serviceName: nlpserverpublic + servicePort: 80 + - host: nlpjobs.CUSTOMERID.healthcatalyst.net + http: + paths: + - backend: + serviceName: nlpjobsserverpublic + servicePort: 80 +--- diff --git a/nlp/nlp-ingress.yml b/nlp/nlp-ingress.yml new file mode 100644 index 0000000..89d4d09 --- /dev/null +++ b/nlp/nlp-ingress.yml @@ -0,0 +1,28 @@ +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: nlp-ingress + namespace: fabricnlp + annotations: + kubernetes.io/ingress.class: traefik +spec: + rules: + - host: solr.CUSTOMERID.healthcatalyst.net + http: + paths: + - backend: + serviceName: solrserverpublic + servicePort: 80 + - host: nlp.CUSTOMERID.healthcatalyst.net + http: + paths: + - backend: + serviceName: nlpserverpublic + servicePort: 80 + - host: nlpjobs.CUSTOMERID.healthcatalyst.net + http: + paths: + - backend: + serviceName: nlpjobsserverpublic + servicePort: 80 +--- diff --git a/nlp/nlp-kubernetes.yml b/nlp/nlp-kubernetes.yml index 1ce6381..76c392f 100644 --- a/nlp/nlp-kubernetes.yml +++ b/nlp/nlp-kubernetes.yml @@ -89,9 +89,9 @@ spec: imagePullPolicy: Always env: - name: NLPWEB_EXTERNAL_URL - value: nlp.ahmn.healthcatalyst.net + value: nlp.CUSTOMERID.healthcatalyst.net - name: JOBSERVER_EXTERNAL_URL - value: nlpjobs.ahmn.healthcatalyst.net + value: nlpjobs.CUSTOMERID.healthcatalyst.net - name: MYSQL_PASSWORD valueFrom: secretKeyRef: @@ -157,9 +157,9 @@ spec: imagePullPolicy: Always env: - name: NLPWEB_EXTERNAL_URL - value: nlp.ahmn.healthcatalyst.net + value: nlp.CUSTOMERID.healthcatalyst.net - name: JOBSERVER_EXTERNAL_URL - value: nlpjobs.ahmn.healthcatalyst.net + value: nlpjobs.CUSTOMERID.healthcatalyst.net # - name: EXTERNAL_HOSTNAME # value: localhost - name: MYSQL_PASSWORD diff --git a/realtime/installrealtimekubernetes.ps1 b/realtime/installrealtimekubernetes.ps1 index 50feb01..512753e 100644 --- a/realtime/installrealtimekubernetes.ps1 +++ b/realtime/installrealtimekubernetes.ps1 @@ -78,6 +78,19 @@ function AskForSecretValue ($secretname, $prompt, $namespace) { } } +function ReadYmlAndReplaceCustomer($templateFile, $customerid ) { + if ($GITHUB_URL.StartsWith("http")) { + Invoke-WebRequest -Uri "$GITHUB_URL/$templateFile" -ContentType "text/plain; charset=utf-8" ` + | Select-Object -Expand Content ` + | Foreach-Object {$_ -replace 'CUSTOMERID', "$customerid"} + } + else { + Get-Content -Path "$GITHUB_URL/$templateFile" ` + | Foreach-Object {$_ -replace 'CUSTOMERID', "$customerid"} + } +} + + AskForPassword -secretname "mysqlrootpassword" -prompt "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -namespace "fabricrealtime" AskForPassword -secretname "mysqlpassword" -prompt "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -namespace "fabricrealtime" @@ -91,7 +104,7 @@ AskForPassword -secretname "rabbitmqmgmtuipassword" -prompt "Admin password for Write-Output "Cleaning out any old resources in fabricrealtime" # note kubectl doesn't like spaces in between commas below -kubectl delete --all 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes' --namespace=fabricrealtime +kubectl delete --all 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes' --namespace=fabricrealtime --ignore-not-found=true Write-Output "Waiting until all the resources are cleared up" @@ -162,24 +175,14 @@ $customeridbase64 = kubectl get secret customerid -n fabricrealtime -o jsonpath= $customerid = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($customeridbase64)) Write-Output "Customer ID:" $customerid -$templateFile="realtime-ingress.yml" -if ($AKS_USE_SSL -eq "y" ){ - $templateFile="realtime-ingress-ssl.yml" +$templateFile = "realtime/realtime-ingress.yml" +if ($AKS_USE_SSL -eq "y" ) { + $templateFile = "realtime/realtime-ingress-ssl.yml" } Write-Output "Using template: $templateFile" -if ($GITHUB_URL.StartsWith("http")) { - Invoke-WebRequest -Uri "$GITHUB_URL/realtime/$templateFile" -ContentType "text/plain; charset=utf-8" ` - | Select-Object -Expand Content ` - | Foreach-Object {$_ -replace 'CUSTOMERID', "${customerid}"} ` - | kubectl create -f - -} -else { - Get-Content -Path "$GITHUB_URL/realtime/$templateFile" ` - | Foreach-Object {$_ -replace 'CUSTOMERID', "${customerid}"} ` - | kubectl create -f - -} +ReadYmlAndReplaceCustomer -templateFile $templateFile -customerid $customerid kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime -o wide From 5bf4af1988822761bd12a9d695c2d0efec6656de Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 12 Jan 2018 12:41:34 -0800 Subject: [PATCH 035/473] add an implementation for main.ps1 Signed-off-by: HQCATALYST\imran.qureshi --- azure/create-acs-cluster.ps1 | 4 +-- azure/main.ps1 | 48 ++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 2 deletions(-) diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index 319f607..e4d7684 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -655,10 +655,10 @@ Write-Output "Storagekey: [$STORAGE_KEY]" Write-Output "Creating kubernetes secret" kubectl create secret generic azure-secret --from-literal=resourcegroup="${AKS_PERS_RESOURCE_GROUP}" --from-literal=azurestorageaccountname="${AKS_PERS_STORAGE_ACCOUNT_NAME}" --from-literal=azurestorageaccountkey="${STORAGE_KEY}" -kubectl get "deployments,pods,services,ingress,secrets" --namespace=kube-system +kubectl get "deployments,pods,services,ingress,secrets" --namespace=kube-system -o wide Write-Output "Run the following to see status of the cluster" -Write-Output "kubectl get deployments,pods,services,ingress,secrets --namespace=kube-system" +Write-Output "kubectl get deployments,pods,services,ingress,secrets --namespace=kube-system -o wide" Write-Output "------------------------" Write-Output "To launch the dashboard UI, run:" diff --git a/azure/main.ps1 b/azure/main.ps1 index e69de29..ec69a0f 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -0,0 +1,48 @@ + +# This script is meant for quick & easy install via: +# curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; + +do { + Write-Host "================ Health Catalyst ================" + + Write-Host "1: Create a new Azure Container Service" + Write-Host "2: Setup Load Balancer" + Write-Host "3: Install NLP" + Write-Host "4: Install Realtime" + Write-Host "5: Show status of cluster" + Write-Host "6: Show status of NLP" + Write-Host "7: Show status of realtime" + Write-Host "q: Quit" + $input = Read-Host "Please make a selection" + switch ($input) { + '1' { + Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/create-acs-cluster.ps1 | Invoke-Expression; + } + '2' { + Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/setup-loadbalancer.ps1 | Invoke-Expression; + } + '3' { + Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | Invoke-Expression; + } + '4' { + Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.ps1 | Invoke-Expression; + } + '5' { + kubectl get "deployments,pods,services,ingress,secrets" --namespace=kube-system -o wide + } + '6' { + kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide + } + '7' { + kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime -o wide + } + 'q' { + return + } + } + pause +} +until ($input -eq 'q') + + + From f30a32f382d10d762dc241e6a8e28a53adc6b492 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 12 Jan 2018 14:00:34 -0800 Subject: [PATCH 036/473] add ability to auto-generate passwords Signed-off-by: HQCATALYST\imran.qureshi --- azure/main.ps1 | 19 ++++---- nlp/installnlpkubernetes.ps1 | 60 ++++++++++++++++++++------ realtime/installrealtimekubernetes.ps1 | 49 ++++++++++++++++++--- 3 files changed, 101 insertions(+), 27 deletions(-) diff --git a/azure/main.ps1 b/azure/main.ps1 index ec69a0f..d5b7b36 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -7,11 +7,14 @@ do { Write-Host "1: Create a new Azure Container Service" Write-Host "2: Setup Load Balancer" - Write-Host "3: Install NLP" - Write-Host "4: Install Realtime" - Write-Host "5: Show status of cluster" - Write-Host "6: Show status of NLP" + Write-Host "3: Show status of cluster" + Write-Host "------ NLP -----" + Write-Host "4: Install NLP" + Write-Host "5: Show status of NLP" + Write-Host "------ Realtime -----" + Write-Host "6: Install Realtime" Write-Host "7: Show status of realtime" + Write-Host "-----------" Write-Host "q: Quit" $input = Read-Host "Please make a selection" switch ($input) { @@ -22,16 +25,16 @@ do { Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/setup-loadbalancer.ps1 | Invoke-Expression; } '3' { - Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | Invoke-Expression; + kubectl get "deployments,pods,services,ingress,secrets" --namespace=kube-system -o wide } '4' { - Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.ps1 | Invoke-Expression; + Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | Invoke-Expression; } '5' { - kubectl get "deployments,pods,services,ingress,secrets" --namespace=kube-system -o wide + kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide } '6' { - kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide + Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.ps1 | Invoke-Expression; } '7' { kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime -o wide diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index b397aae..37cf2c6 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -37,20 +37,51 @@ while ([string]::IsNullOrWhiteSpace($AKS_USE_SSL)) # --resource-group $AKS_PERS_RESOURCE_GROUP ` # --zone-name -if ([string]::IsNullOrWhiteSpace($(kubectl get namespace fabricnlp))) { +if ([string]::IsNullOrWhiteSpace($(kubectl get namespace fabricnlp --ignore-not-found=true))) { kubectl create namespace fabricnlp } +else { + Do { $deleteSecrets = Read-Host "Namespace exists. Do you want to delete passwords stored in this namespace? (y/n)"} + while ([string]::IsNullOrWhiteSpace($deleteSecrets)) + + if ($deleteSecrets -eq "y" ) { + kubectl delete secret mysqlrootpassword -n fabricnlp --ignore-not-found=true + kubectl delete secret mysqlpassword -n fabricnlp --ignore-not-found=true + kubectl delete secret smtprelaypassword -n fabricnlp --ignore-not-found=true + } +} + +function GeneratePassword() { + $Length = 3 + $set1 = "abcdefghijklmnopqrstuvwxyz".ToCharArray() + $set2 = "0123456789".ToCharArray() + $set3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".ToCharArray() + $set4 = "!.*@".ToCharArray() + $result = "" + for ($x = 0; $x -lt $Length; $x++) { + $result += $set1 | Get-Random + $result += $set2 | Get-Random + $result += $set3 | Get-Random + $result += $set4 | Get-Random + } + return $result +} function AskForPassword ($secretname, $prompt, $namespace) { if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} - if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.password}'))) { + if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.password}' --ignore-not-found=true))) { $mysqlrootpassword = "" # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script Do { - $mysqlrootpasswordsecure = Read-host "$prompt" -AsSecureString - $mysqlrootpassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($mysqlrootpasswordsecure)) + $mysqlrootpasswordsecure = Read-host "$prompt (leave empty for auto-generated)" -AsSecureString + if ($mysqlrootpasswordsecure.Length -lt 1) { + $mysqlrootpassword = GeneratePassword + } + else { + $mysqlrootpassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($mysqlrootpasswordsecure)) + } } while (($mysqlrootpassword -notmatch "^[a-z0-9!.*@\s]+$") -or ($mysqlrootpassword.Length -lt 8 )) kubectl create secret generic $secretname --namespace=$namespace --from-literal=password=$mysqlrootpassword @@ -60,16 +91,21 @@ function AskForPassword ($secretname, $prompt, $namespace) { } } -function AskForPasswordAnyCharacters ($secretname, $prompt, $namespace) { +function AskForPasswordAnyCharacters ($secretname, $prompt, $namespace, $defaultvalue) { if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} - if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.password}'))) { + if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.password}' --ignore-not-found=true))) { $mysqlrootpassword = "" # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script Do { - $mysqlrootpasswordsecure = Read-host "$prompt" -AsSecureString - $mysqlrootpassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($mysqlrootpasswordsecure)) + $mysqlrootpasswordsecure = Read-host "$prompt (leave empty for default)" -AsSecureString + if ($mysqlrootpasswordsecure.Length -lt 1) { + $mysqlrootpassword = $defaultvalue + } + else { + $mysqlrootpassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($mysqlrootpasswordsecure)) + } } while ($mysqlrootpassword.Length -lt 8 ) kubectl create secret generic $secretname --namespace=$namespace --from-literal=password=$mysqlrootpassword @@ -81,7 +117,7 @@ function AskForPasswordAnyCharacters ($secretname, $prompt, $namespace) { function AskForSecretValue ($secretname, $prompt, $namespace) { if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} - if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.value}'))) { + if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.value}' --ignore-not-found=true))) { $certhostname = "" Do { @@ -98,13 +134,13 @@ function AskForSecretValue ($secretname, $prompt, $namespace) { function ReadYmlAndReplaceCustomer($templateFile, $customerid ) { if ($GITHUB_URL.StartsWith("http")) { -# Write-Output "Reading from url: $GITHUB_URL/$templateFile" + # Write-Output "Reading from url: $GITHUB_URL/$templateFile" Invoke-WebRequest -Uri "$GITHUB_URL/$templateFile" -ContentType "text/plain; charset=utf-8" ` | Select-Object -Expand Content ` | Foreach-Object {$_ -replace 'CUSTOMERID', "$customerid"} } else { -# Write-Output "Reading from local file: $GITHUB_URL/$templateFile" + # Write-Output "Reading from local file: $GITHUB_URL/$templateFile" Get-Content -Path "$GITHUB_URL/$templateFile" ` | Foreach-Object {$_ -replace 'CUSTOMERID', "$customerid"} } @@ -122,7 +158,7 @@ AskForPassword -secretname "mysqlrootpassword" -prompt "MySQL root password (> 8 AskForPassword -secretname "mysqlpassword" -prompt "MySQL NLP_APP_USER password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -namespace "fabricnlp" -AskForPasswordAnyCharacters -secretname "smtprelaypassword" -prompt "SMTP (SendGrid) Relay Key" -namespace "fabricnlp" +AskForPasswordAnyCharacters -secretname "smtprelaypassword" -prompt "SMTP (SendGrid) Relay Key" -namespace "fabricnlp" -defaultvalue "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" Write-Output "Cleaning out any old resources in fabricnlp" diff --git a/realtime/installrealtimekubernetes.ps1 b/realtime/installrealtimekubernetes.ps1 index 512753e..48b3bdf 100644 --- a/realtime/installrealtimekubernetes.ps1 +++ b/realtime/installrealtimekubernetes.ps1 @@ -38,21 +38,56 @@ else { Write-Output "Using resource group: $AKS_PERS_RESOURCE_GROUP" } -if ([string]::IsNullOrWhiteSpace($(kubectl get namespace fabricrealtime))) { +if ([string]::IsNullOrWhiteSpace($(kubectl get namespace fabricrealtime --ignore-not-found=true))) { kubectl create namespace fabricrealtime } +else { + Do { $deleteSecrets = Read-Host "Namespace exists. Do you want to delete passwords stored in this namespace? (y/n)"} + while ([string]::IsNullOrWhiteSpace($deleteSecrets)) + + if ($deleteSecrets -eq "y" ) { + kubectl delete secret mysqlrootpassword -n fabricrealtime --ignore-not-found=true + kubectl delete secret mysqlpassword -n fabricrealtime --ignore-not-found=true + kubectl delete secret certhostname -n fabricrealtime --ignore-not-found=true + kubectl delete secret certpassword -n fabricrealtime --ignore-not-found=true + kubectl delete secret rabbitmqmgmtuipassword -n fabricrealtime --ignore-not-found=true + } +} Do { $AKS_USE_SSL = Read-Host "Do you want to setup SSL? (y/n)"} while ([string]::IsNullOrWhiteSpace($AKS_USE_SSL)) +function GeneratePassword() { + $Length = 3 + $set1 = "abcdefghijklmnopqrstuvwxyz".ToCharArray() + $set2 = "0123456789".ToCharArray() + $set3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".ToCharArray() + $set4 = "!.*@".ToCharArray() + $result = "" + for ($x = 0; $x -lt $Length; $x++) { + $result += $set1 | Get-Random + $result += $set2 | Get-Random + $result += $set3 | Get-Random + $result += $set4 | Get-Random + } + return $result +} + function AskForPassword ($secretname, $prompt, $namespace) { - if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.password}'))) { + if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} + if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.password}' --ignore-not-found=true))) { + $mysqlrootpassword = "" # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script Do { - $mysqlrootpasswordsecure = Read-host "$prompt" -AsSecureString - $mysqlrootpassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($mysqlrootpasswordsecure)) + $mysqlrootpasswordsecure = Read-host "$prompt (leave empty for auto-generated)" -AsSecureString + if ($mysqlrootpasswordsecure.Length -lt 1) { + $mysqlrootpassword = GeneratePassword + } + else { + $mysqlrootpassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($mysqlrootpasswordsecure)) + } } while (($mysqlrootpassword -notmatch "^[a-z0-9!.*@\s]+$") -or ($mysqlrootpassword.Length -lt 8 )) kubectl create secret generic $secretname --namespace=$namespace --from-literal=password=$mysqlrootpassword @@ -120,11 +155,11 @@ $AZURE_STORAGE_CONNECTION_STRING = az storage account show-connection-string -n Write-Output "Create the file share: $AKS_PERS_SHARE_NAME" az storage share create -n $AKS_PERS_SHARE_NAME --connection-string $AZURE_STORAGE_CONNECTION_STRING --quota 512 -kubectl create -f $GITHUB_URL/realtime/realtime-kubernetes-storage.yml +ReadYmlAndReplaceCustomer -templateFile "realtime/realtime-kubernetes-storage.yml" -customerid $customerid | kubectl create -f - -kubectl create -f $GITHUB_URL/realtime/realtime-kubernetes.yml +ReadYmlAndReplaceCustomer -templateFile "realtime/realtime-kubernetes.yml" -customerid $customerid | kubectl create -f - -kubectl create -f $GITHUB_URL/realtime/realtime-kubernetes-public.yml +ReadYmlAndReplaceCustomer -templateFile "realtime/realtime-kubernetes-public.yml" -customerid $customerid | kubectl create -f - $ipname = "InterfaceEnginePublicIP" $publicip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n $ipname --query "ipAddress" -o tsv; From 539b57bac87a2aa549da65e858a82fa6a8d34de8 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 12 Jan 2018 14:02:52 -0800 Subject: [PATCH 037/473] clear screen in main.ps1 before showing the menu Signed-off-by: HQCATALYST\imran.qureshi --- azure/main.ps1 | 1 + 1 file changed, 1 insertion(+) diff --git a/azure/main.ps1 b/azure/main.ps1 index d5b7b36..c793c0e 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -3,6 +3,7 @@ # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; do { + Clear-Host Write-Host "================ Health Catalyst ================" Write-Host "1: Create a new Azure Container Service" From 5dc58f9f60d2ee4c248bc0828c8b38f3f0db1467 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 12 Jan 2018 14:09:00 -0800 Subject: [PATCH 038/473] specify -UseBasicParsing to Invoke-WebRequest for servers where IE is not setup Signed-off-by: HQCATALYST\imran.qureshi --- azure/main.ps1 | 1 + nlp/installnlpkubernetes.ps1 | 2 +- realtime/installrealtimekubernetes.ps1 | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/azure/main.ps1 b/azure/main.ps1 index c793c0e..5a7488a 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,3 +1,4 @@ +Write-output "Version 2018.01.12.2" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index 37cf2c6..59cb47c 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -135,7 +135,7 @@ function AskForSecretValue ($secretname, $prompt, $namespace) { function ReadYmlAndReplaceCustomer($templateFile, $customerid ) { if ($GITHUB_URL.StartsWith("http")) { # Write-Output "Reading from url: $GITHUB_URL/$templateFile" - Invoke-WebRequest -Uri "$GITHUB_URL/$templateFile" -ContentType "text/plain; charset=utf-8" ` + Invoke-WebRequest -Uri "$GITHUB_URL/$templateFile" -UseBasicParsing -ContentType "text/plain; charset=utf-8" ` | Select-Object -Expand Content ` | Foreach-Object {$_ -replace 'CUSTOMERID', "$customerid"} } diff --git a/realtime/installrealtimekubernetes.ps1 b/realtime/installrealtimekubernetes.ps1 index 48b3bdf..35bb10f 100644 --- a/realtime/installrealtimekubernetes.ps1 +++ b/realtime/installrealtimekubernetes.ps1 @@ -115,7 +115,7 @@ function AskForSecretValue ($secretname, $prompt, $namespace) { function ReadYmlAndReplaceCustomer($templateFile, $customerid ) { if ($GITHUB_URL.StartsWith("http")) { - Invoke-WebRequest -Uri "$GITHUB_URL/$templateFile" -ContentType "text/plain; charset=utf-8" ` + Invoke-WebRequest -Uri "$GITHUB_URL/$templateFile" -UseBasicParsing -ContentType "text/plain; charset=utf-8" ` | Select-Object -Expand Content ` | Foreach-Object {$_ -replace 'CUSTOMERID', "$customerid"} } From 742529d6b0ec7f0b67e595bc962343967a2010d4 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 12 Jan 2018 14:10:15 -0800 Subject: [PATCH 039/473] remove sendgrid key Signed-off-by: HQCATALYST\imran.qureshi --- nlp/installnlpkubernetes.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index 59cb47c..164f9de 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -158,7 +158,7 @@ AskForPassword -secretname "mysqlrootpassword" -prompt "MySQL root password (> 8 AskForPassword -secretname "mysqlpassword" -prompt "MySQL NLP_APP_USER password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -namespace "fabricnlp" -AskForPasswordAnyCharacters -secretname "smtprelaypassword" -prompt "SMTP (SendGrid) Relay Key" -namespace "fabricnlp" -defaultvalue "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" +AskForPasswordAnyCharacters -secretname "smtprelaypassword" -prompt "SMTP (SendGrid) Relay Key" -namespace "fabricnlp" Write-Output "Cleaning out any old resources in fabricnlp" From da2688b8d69933131c3619c05255af62240d9aa8 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 12 Jan 2018 14:50:35 -0800 Subject: [PATCH 040/473] list vnets and subnets to choose from Signed-off-by: HQCATALYST\imran.qureshi --- azure/create-acs-cluster.ps1 | 70 ++++++++++++++++++++++++++++++------ nlp/installnlpkubernetes.ps1 | 13 +++++-- 2 files changed, 69 insertions(+), 14 deletions(-) diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index e4d7684..bca4b9c 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.01.08.02" +Write-output "Version 2018.01.12.03" # # This script is meant for quick & easy install via: @@ -46,9 +46,41 @@ else { $AKS_SUBSCRIPTION_ID = az account show --query "id" --output tsv -Do { $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group (e.g., fabricnlp-rg)"} +function AskForSecretValue ($secretname, $prompt, $namespace) { + if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} + if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.value}' --ignore-not-found=true))) { + + $certhostname = "" + Do { + $certhostname = Read-host "$prompt" + } + while ($certhostname.Length -lt 1 ) + + kubectl create secret generic $secretname --namespace=$namespace --from-literal=value=$certhostname + } + else { + Write-Output "$secretname secret already set so will reuse it" + } +} + + +Do { $customerid = Read-Host "Health Catalyst Customer ID (e.g., ahmn)"} +while ([string]::IsNullOrWhiteSpace($customerid)) + +Write-Output "Customer ID: $customerid" + +$DEFAULT_RESOURCE_GROUP="Prod-Kub-$($customerid.ToUpper())-RG" +Do { + $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group (leave empty for $DEFAULT_RESOURCE_GROUP)" + if([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) + { + $AKS_PERS_RESOURCE_GROUP = $DEFAULT_RESOURCE_GROUP + } +} while ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) +Write-Output "Using resource group [$AKS_PERS_RESOURCE_GROUP]" + $AKS_USE_AZURE_NETWORKING = Read-Host "Use Azure networking (default: yes)" if ([string]::IsNullOrWhiteSpace($AKS_USE_AZURE_NETWORKING)) { $AKS_USE_AZURE_NETWORKING = "yes" @@ -169,13 +201,21 @@ while ([string]::IsNullOrWhiteSpace($confirmation)) if ($confirmation -eq 'y') { Write-Output "Finding existing vnets..." - Write-Output "------ Existing vnets -------" Write-Output " vnet `t resourcegroup" - az network vnet list --query "[].[name,resourceGroup ]" -o tsv - Write-Output "------ End vnets -------" + # az network vnet list --query "[].[name,resourceGroup ]" -o tsv - - Do { $AKS_VNET_NAME = Read-Host "Virtual Network Name"} + $vnets=az network vnet list --query "[].[name]" -o tsv + + Do { + Write-Output "------ Existing vnets -------" + for ($i=1;$i -le $vnets.count; $i++) { + Write-Host "$i. $($vnets[$i-1])" + } + Write-Output "------ End vnets -------" + + $index = Read-Host "Enter number of vnet to use (1 - $($vnets.count))" + $AKS_VNET_NAME = $($vnets[$index-1]) + } while ([string]::IsNullOrWhiteSpace($AKS_VNET_NAME)) if ("$AKS_VNET_NAME") { @@ -187,11 +227,18 @@ if ($confirmation -eq 'y') { Write-Output "Using subnet resource group: [$AKS_SUBNET_RESOURCE_GROUP]" Write-Output "Finding existing subnets in $AKS_VNET_NAME ..." - Write-Output "------ Subnets in $AKS_VNET_NAME -------" - az network vnet subnet list --resource-group $AKS_SUBNET_RESOURCE_GROUP --vnet-name $AKS_VNET_NAME --query "[].name" -o tsv - Write-Output "------ End Subnets -------" + $subnets = az network vnet subnet list --resource-group $AKS_SUBNET_RESOURCE_GROUP --vnet-name $AKS_VNET_NAME --query "[].name" -o tsv - Do { $AKS_SUBNET_NAME = Read-Host "Subnet Name"} + Do { + Write-Output "------ Subnets in $AKS_VNET_NAME -------" + for ($i=1;$i -le $subnets.count; $i++) { + Write-Host "$i. $($subnets[$i-1])" + } + Write-Output "------ End Subnets -------" + + $index = Read-Host "Enter number of subnet to use (1 - $($subnets.count))" + $AKS_SUBNET_NAME = $($subnets[$index-1]) + } while ([string]::IsNullOrWhiteSpace($AKS_SUBNET_NAME)) # verify the subnet exists @@ -654,6 +701,7 @@ Write-Output "Storagekey: [$STORAGE_KEY]" Write-Output "Creating kubernetes secret" kubectl create secret generic azure-secret --from-literal=resourcegroup="${AKS_PERS_RESOURCE_GROUP}" --from-literal=azurestorageaccountname="${AKS_PERS_STORAGE_ACCOUNT_NAME}" --from-literal=azurestorageaccountkey="${STORAGE_KEY}" +kubectl create secret generic customerid --from-literal=value=$customerid kubectl get "deployments,pods,services,ingress,secrets" --namespace=kube-system -o wide diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index 164f9de..6e3da14 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -146,11 +146,18 @@ function ReadYmlAndReplaceCustomer($templateFile, $customerid ) { } } +function ReadSecret($secretname, $namespace){ + if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} + + $secretbase64 = kubectl get secret $secretname -o jsonpath='{.data.value}' -n $namespace + $secretvalue = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($secretbase64)) + return $secretvalue +} + AskForSecretValue -secretname "customerid" -prompt "Health Catalyst Customer ID (e.g., ahmn)" -$customeridbase64 = kubectl get secret customerid -o jsonpath='{.data.value}' -$customerid = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($customeridbase64)) -Write-Output "Customer ID:" $customerid +$customerid = ReadSecret -secretname customerid +Write-Output "Customer ID: $customerid" AskForPassword -secretname "mysqlrootpassword" -prompt "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -namespace "fabricnlp" # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html From 361513f331a4c1580b2995c4d5f84c3030b71120 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 12 Jan 2018 15:04:51 -0800 Subject: [PATCH 041/473] added a warning that each customer should have their own subnet Signed-off-by: HQCATALYST\imran.qureshi --- azure/create-acs-cluster.ps1 | 1 + 1 file changed, 1 insertion(+) diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index bca4b9c..dd05a93 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -236,6 +236,7 @@ if ($confirmation -eq 'y') { } Write-Output "------ End Subnets -------" + Write-Host "NOTE: Each customer should have their own subnet. Do not put multiple customers in the same subnet" $index = Read-Host "Enter number of subnet to use (1 - $($subnets.count))" $AKS_SUBNET_NAME = $($subnets[$index-1]) } From cb9e676037df9bfbb879727a0510c076dd864152 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 15 Jan 2018 20:50:25 -0800 Subject: [PATCH 042/473] fix format of ingress-ssl.yml Signed-off-by: HQCATALYST\imran.qureshi --- azure/setup-loadbalancer.ps1 | 4 +++- nlp/nlp-ingress-ssl.yml | 32 +++++++++++++++---------------- nlp/nlp-ingress.yml | 12 ++++++------ realtime/realtime-ingress-ssl.yml | 4 ++-- realtime/realtime-ingress.yml | 4 ++-- 5 files changed, 29 insertions(+), 27 deletions(-) diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index ae49079..35dd132 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -61,6 +61,8 @@ Start-Sleep -Seconds 10 kubectl create -f "$GITHUB_URL/azure/cafe-kube-dns.yml" # to debug dns: https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#inheriting-dns-from-the-node +kubectl delete ServiceAccount traefik-ingress-controller-serviceaccount -n kube-system --ignore-not-found=true + if ($AKS_USE_SSL -eq "y" ) { # ask for tls cert files Do { $AKS_SSL_CERT_FOLDER = Read-Host "What folder has the tls.crt and tls.key files? (absolute path e.g., c:\temp\certs)"} @@ -68,7 +70,7 @@ if ($AKS_USE_SSL -eq "y" ) { $AKS_SSL_CERT_FOLDER_UNIX_PATH = (($AKS_SSL_CERT_FOLDER -replace "\\", "/")).ToLower().Trim("/") - kubectl delete secret traefik-cert-ahmn -n kube-system + kubectl delete secret traefik-cert-ahmn -n kube-system --ignore-not-found=true Write-Output "Storing TLS certs as kubernetes secret" kubectl create secret generic traefik-cert-ahmn -n kube-system --from-file="$AKS_SSL_CERT_FOLDER_UNIX_PATH/tls.crt" --from-file="$AKS_SSL_CERT_FOLDER_UNIX_PATH/tls.key" diff --git a/nlp/nlp-ingress-ssl.yml b/nlp/nlp-ingress-ssl.yml index e58d788..792a892 100644 --- a/nlp/nlp-ingress-ssl.yml +++ b/nlp/nlp-ingress-ssl.yml @@ -8,27 +8,27 @@ metadata: spec: tls: - secretName: ssl-ahmn - hosts: - - solr.CUSTOMERID.healthcatalyst.net - - nlp.CUSTOMERID.healthcatalyst.net - - nlpjobs.CUSTOMERID.healthcatalyst.net + hosts: + - solr.CUSTOMERID.healthcatalyst.net + - nlp.CUSTOMERID.healthcatalyst.net + - nlpjobs.CUSTOMERID.healthcatalyst.net rules: - host: solr.CUSTOMERID.healthcatalyst.net http: - paths: - - backend: - serviceName: solrserverpublic - servicePort: 80 + paths: + - backend: + serviceName: solrserverpublic + servicePort: 80 - host: nlp.CUSTOMERID.healthcatalyst.net http: - paths: - - backend: - serviceName: nlpserverpublic - servicePort: 80 + paths: + - backend: + serviceName: nlpserverpublic + servicePort: 80 - host: nlpjobs.CUSTOMERID.healthcatalyst.net http: - paths: - - backend: - serviceName: nlpjobsserverpublic - servicePort: 80 + paths: + - backend: + serviceName: nlpjobsserverpublic + servicePort: 80 --- diff --git a/nlp/nlp-ingress.yml b/nlp/nlp-ingress.yml index 89d4d09..898fa4a 100644 --- a/nlp/nlp-ingress.yml +++ b/nlp/nlp-ingress.yml @@ -11,18 +11,18 @@ spec: http: paths: - backend: - serviceName: solrserverpublic - servicePort: 80 + serviceName: solrserverpublic + servicePort: 80 - host: nlp.CUSTOMERID.healthcatalyst.net http: paths: - backend: - serviceName: nlpserverpublic - servicePort: 80 + serviceName: nlpserverpublic + servicePort: 80 - host: nlpjobs.CUSTOMERID.healthcatalyst.net http: paths: - backend: - serviceName: nlpjobsserverpublic - servicePort: 80 + serviceName: nlpjobsserverpublic + servicePort: 80 --- diff --git a/realtime/realtime-ingress-ssl.yml b/realtime/realtime-ingress-ssl.yml index 0bdd7e2..887823e 100644 --- a/realtime/realtime-ingress-ssl.yml +++ b/realtime/realtime-ingress-ssl.yml @@ -13,6 +13,6 @@ spec: http: paths: - backend: - serviceName: certificateserverpublic - servicePort: 80 + serviceName: certificateserverpublic + servicePort: 80 --- diff --git a/realtime/realtime-ingress.yml b/realtime/realtime-ingress.yml index ff6dbfb..a6446ab 100644 --- a/realtime/realtime-ingress.yml +++ b/realtime/realtime-ingress.yml @@ -11,6 +11,6 @@ spec: http: paths: - backend: - serviceName: certificateserverpublic - servicePort: 80 + serviceName: certificateserverpublic + servicePort: 80 --- From f538952a2a10ccdaa4f00bf2ab39da518ea648a3 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 15 Jan 2018 21:04:15 -0800 Subject: [PATCH 043/473] another format fix Signed-off-by: HQCATALYST\imran.qureshi --- nlp/nlp-ingress-ssl.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/nlp/nlp-ingress-ssl.yml b/nlp/nlp-ingress-ssl.yml index 792a892..b648740 100644 --- a/nlp/nlp-ingress-ssl.yml +++ b/nlp/nlp-ingress-ssl.yml @@ -17,18 +17,18 @@ spec: http: paths: - backend: - serviceName: solrserverpublic - servicePort: 80 + serviceName: solrserverpublic + servicePort: 80 - host: nlp.CUSTOMERID.healthcatalyst.net http: paths: - backend: - serviceName: nlpserverpublic - servicePort: 80 + serviceName: nlpserverpublic + servicePort: 80 - host: nlpjobs.CUSTOMERID.healthcatalyst.net http: paths: - backend: - serviceName: nlpjobsserverpublic - servicePort: 80 + serviceName: nlpjobsserverpublic + servicePort: 80 --- From 0021ee693f01a72d981377eb541736f79cdce0eb Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 16 Jan 2018 09:53:58 -0800 Subject: [PATCH 044/473] lowercase the customerid since kubernetes ingress doesn't like dns names with upper case Signed-off-by: HQCATALYST\imran.qureshi --- azure/main.ps1 | 19 ++++++++++++------- nlp/installnlpkubernetes.ps1 | 1 + 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/azure/main.ps1 b/azure/main.ps1 index 5a7488a..c2bf70f 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -10,12 +10,13 @@ do { Write-Host "1: Create a new Azure Container Service" Write-Host "2: Setup Load Balancer" Write-Host "3: Show status of cluster" + Write-Host "4: Launch Kubernetes Dashboard" Write-Host "------ NLP -----" - Write-Host "4: Install NLP" - Write-Host "5: Show status of NLP" + Write-Host "5: Install NLP" + Write-Host "6: Show status of NLP" Write-Host "------ Realtime -----" - Write-Host "6: Install Realtime" - Write-Host "7: Show status of realtime" + Write-Host "7: Install Realtime" + Write-Host "8: Show status of realtime" Write-Host "-----------" Write-Host "q: Quit" $input = Read-Host "Please make a selection" @@ -30,15 +31,19 @@ do { kubectl get "deployments,pods,services,ingress,secrets" --namespace=kube-system -o wide } '4' { - Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | Invoke-Expression; + Start-Process -FilePath http://localhost:8001/ui + kubectl proxy } '5' { - kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide + Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | Invoke-Expression; } '6' { - Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.ps1 | Invoke-Expression; + kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide } '7' { + Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.ps1 | Invoke-Expression; + } + '8' { kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime -o wide } 'q' { diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index 6e3da14..c57a307 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -157,6 +157,7 @@ function ReadSecret($secretname, $namespace){ AskForSecretValue -secretname "customerid" -prompt "Health Catalyst Customer ID (e.g., ahmn)" $customerid = ReadSecret -secretname customerid +$customerid = $customerid.ToLower().Trim() Write-Output "Customer ID: $customerid" AskForPassword -secretname "mysqlrootpassword" -prompt "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -namespace "fabricnlp" From 8be31d8ef2aa9f6de20af5fcbc1a3819e424329f Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 16 Jan 2018 10:08:35 -0800 Subject: [PATCH 045/473] add option to test websites Signed-off-by: HQCATALYST\imran.qureshi --- azure/main.ps1 | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/azure/main.ps1 b/azure/main.ps1 index c2bf70f..6ffc806 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,8 +1,16 @@ -Write-output "Version 2018.01.12.2" +Write-output "Version 2018.01.16.1" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; +function ReadSecret($secretname, $namespace){ + if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} + + $secretbase64 = kubectl get secret $secretname -o jsonpath='{.data.value}' -n $namespace + $secretvalue = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($secretbase64)) + return $secretvalue +} + do { Clear-Host Write-Host "================ Health Catalyst ================" @@ -14,9 +22,10 @@ do { Write-Host "------ NLP -----" Write-Host "5: Install NLP" Write-Host "6: Show status of NLP" + Write-Host "7: Test web sites" Write-Host "------ Realtime -----" - Write-Host "7: Install Realtime" - Write-Host "8: Show status of realtime" + Write-Host "8: Install Realtime" + Write-Host "9: Show status of realtime" Write-Host "-----------" Write-Host "q: Quit" $input = Read-Host "Please make a selection" @@ -32,7 +41,7 @@ do { } '4' { Start-Process -FilePath http://localhost:8001/ui - kubectl proxy + Start-Job -Name "KubDashboard" -ScriptBlock {kubectl proxy} } '5' { Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | Invoke-Expression; @@ -41,9 +50,23 @@ do { kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide } '7' { - Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.ps1 | Invoke-Expression; + + $loadBalancerIP = kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' --ignore-not-found=true + if ([string]::IsNullOrWhiteSpace($loadBalancerIP)) { + $loadBalancerIP = kubectl get svc traefik-ingress-service-private -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' + } + $customerid = ReadSecret -secretname customerid + $customerid = $customerid.ToLower().Trim() + + Write-Output "To test out the NLP services, open Git Bash and run:" + Write-Output "curl -L --verbose --header 'Host: solr.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/solr'" + Write-Output "curl -L --verbose --header 'Host: nlp.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/nlpweb'" + Write-Output "curl -L --verbose --header 'Host: nlpjobs.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/nlp'" } '8' { + Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.ps1 | Invoke-Expression; + } + '9' { kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime -o wide } 'q' { From 9880c741d88a715644cbbd85da0b573ef5053130 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 16 Jan 2018 10:19:01 -0800 Subject: [PATCH 046/473] use Invoke-WebRequest to test nlp instead of curl Signed-off-by: HQCATALYST\imran.qureshi --- azure/main.ps1 | 13 +++++++------ nlp/installnlpkubernetes.ps1 | 5 +++-- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/azure/main.ps1 b/azure/main.ps1 index 6ffc806..e727600 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.01.16.1" +Write-output "Version 2018.01.16.2" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -40,9 +40,8 @@ do { kubectl get "deployments,pods,services,ingress,secrets" --namespace=kube-system -o wide } '4' { - Start-Process -FilePath http://localhost:8001/ui Start-Job -Name "KubDashboard" -ScriptBlock {kubectl proxy} - } + Start-Process -FilePath http://localhost:8001/ui } '5' { Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | Invoke-Expression; } @@ -58,10 +57,12 @@ do { $customerid = ReadSecret -secretname customerid $customerid = $customerid.ToLower().Trim() + Invoke-WebRequest -Headers @{"Host" = "nlp.$customerid.healthcatalyst.net"} -Uri http://$loadBalancerIP/nlpweb | Select-Object -Expand Content + Write-Output "To test out the NLP services, open Git Bash and run:" - Write-Output "curl -L --verbose --header 'Host: solr.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/solr'" - Write-Output "curl -L --verbose --header 'Host: nlp.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/nlpweb'" - Write-Output "curl -L --verbose --header 'Host: nlpjobs.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/nlp'" + Write-Output "curl -L --verbose --header 'Host: solr.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/solr' -k" + Write-Output "curl -L --verbose --header 'Host: nlp.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/nlpweb' -k" + Write-Output "curl -L --verbose --header 'Host: nlpjobs.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/nlp' -k" } '8' { Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.ps1 | Invoke-Expression; diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index c57a307..144855b 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -215,5 +215,6 @@ if ([string]::IsNullOrWhiteSpace($loadBalancerIP)) { } Write-Output "To test out the NLP services, open Git Bash and run:" -Write-Output "curl -L --verbose --header 'Host: solr.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/solr'" -Write-Output "curl -L --verbose --header 'Host: nlp.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/nlpweb'" +Write-Output "curl -L --verbose --header 'Host: solr.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/solr' -k" +Write-Output "curl -L --verbose --header 'Host: nlp.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/nlpweb' -k" +Write-Output "curl -L --verbose --header 'Host: nlpjobs.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/nlp' -k" From 961a145589fe2c1514f4f292b3353630eb684c7a Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 16 Jan 2018 10:20:37 -0800 Subject: [PATCH 047/473] use -useb with Invoke-Expression Signed-off-by: HQCATALYST\imran.qureshi --- azure/main.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/azure/main.ps1 b/azure/main.ps1 index e727600..4db58e2 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.01.16.2" +Write-output "Version 2018.01.16.3" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -57,7 +57,7 @@ do { $customerid = ReadSecret -secretname customerid $customerid = $customerid.ToLower().Trim() - Invoke-WebRequest -Headers @{"Host" = "nlp.$customerid.healthcatalyst.net"} -Uri http://$loadBalancerIP/nlpweb | Select-Object -Expand Content + Invoke-WebRequest -useb -Headers @{"Host" = "nlp.$customerid.healthcatalyst.net"} -Uri http://$loadBalancerIP/nlpweb | Select-Object -Expand Content Write-Output "To test out the NLP services, open Git Bash and run:" Write-Output "curl -L --verbose --header 'Host: solr.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/solr' -k" From 7071ae442d8023ea5d56ce172a3dbd5649fa3dcf Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 16 Jan 2018 10:23:03 -0800 Subject: [PATCH 048/473] update version number Signed-off-by: HQCATALYST\imran.qureshi --- azure/main.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/azure/main.ps1 b/azure/main.ps1 index 4db58e2..3e8b5de 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.01.16.3" +$version ="2018.01.16.3" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -13,7 +13,7 @@ function ReadSecret($secretname, $namespace){ do { Clear-Host - Write-Host "================ Health Catalyst ================" + Write-Host "================ Health Catalyst version $version ================" Write-Host "1: Create a new Azure Container Service" Write-Host "2: Setup Load Balancer" From 31e307b4a7db8284e52621ff6b9be80b712ca9ed Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 16 Jan 2018 10:46:06 -0800 Subject: [PATCH 049/473] add option to SSH to master vm Signed-off-by: HQCATALYST\imran.qureshi --- azure/main.ps1 | 46 +++++++++++++++++++++++++++++++++------------- 1 file changed, 33 insertions(+), 13 deletions(-) diff --git a/azure/main.ps1 b/azure/main.ps1 index 3e8b5de..ffc638a 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,9 +1,9 @@ -$version ="2018.01.16.3" +$version = "2018.01.16.4" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; -function ReadSecret($secretname, $namespace){ +function ReadSecret($secretname, $namespace) { if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} $secretbase64 = kubectl get secret $secretname -o jsonpath='{.data.value}' -n $namespace @@ -19,13 +19,14 @@ do { Write-Host "2: Setup Load Balancer" Write-Host "3: Show status of cluster" Write-Host "4: Launch Kubernetes Dashboard" + Write-Host "5: SSH to Master VM" Write-Host "------ NLP -----" - Write-Host "5: Install NLP" - Write-Host "6: Show status of NLP" - Write-Host "7: Test web sites" + Write-Host "6: Install NLP" + Write-Host "7: Show status of NLP" + Write-Host "8: Test web sites" Write-Host "------ Realtime -----" - Write-Host "8: Install Realtime" - Write-Host "9: Show status of realtime" + Write-Host "9: Install Realtime" + Write-Host "10: Show status of realtime" Write-Host "-----------" Write-Host "q: Quit" $input = Read-Host "Please make a selection" @@ -41,14 +42,33 @@ do { } '4' { Start-Job -Name "KubDashboard" -ScriptBlock {kubectl proxy} - Start-Process -FilePath http://localhost:8001/ui } - '5' { - Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | Invoke-Expression; + Start-Process -FilePath http://localhost:8001/ui + } + '5' { + $AKS_PERS_RESOURCE_GROUP_BASE64 = kubectl get secret azure-secret -o jsonpath='{.data.resourcegroup}' + if (![string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP_BASE64)) { + $AKS_PERS_RESOURCE_GROUP = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($AKS_PERS_RESOURCE_GROUP_BASE64)) + } + + $AKS_PERS_LOCATION = az group show --name $AKS_PERS_RESOURCE_GROUP --query "location" -o tsv + + $AKS_LOCAL_FOLDER = Read-Host "Folder to store SSH keys (default: c:\kubernetes)" + if ([string]::IsNullOrWhiteSpace($AKS_LOCAL_FOLDER)) {$AKS_LOCAL_FOLDER = "C:\kubernetes"} + + $AKS_FOLDER_FOR_SSH_KEY = "$AKS_LOCAL_FOLDER\ssh\$AKS_PERS_RESOURCE_GROUP" + $SSH_PRIVATE_KEY_FILE = "$AKS_FOLDER_FOR_SSH_KEY\id_rsa" + $SSH_PRIVATE_KEY_FILE_UNIX_PATH = "/" + (($SSH_PRIVATE_KEY_FILE -replace "\\", "/") -replace ":", "").ToLower().Trim("/") + $MASTER_VM_NAME = "${AKS_PERS_RESOURCE_GROUP}.${AKS_PERS_LOCATION}.cloudapp.azure.com" + Write-Output "You can connect to master VM in Git Bash for debugging using:" + Write-Output "ssh -i ${SSH_PRIVATE_KEY_FILE_UNIX_PATH} azureuser@${MASTER_VM_NAME}" } '6' { - kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide + Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | Invoke-Expression; } '7' { + kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide + } + '8' { $loadBalancerIP = kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' --ignore-not-found=true if ([string]::IsNullOrWhiteSpace($loadBalancerIP)) { @@ -64,10 +84,10 @@ do { Write-Output "curl -L --verbose --header 'Host: nlp.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/nlpweb' -k" Write-Output "curl -L --verbose --header 'Host: nlpjobs.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/nlp' -k" } - '8' { + '9' { Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.ps1 | Invoke-Expression; } - '9' { + '10' { kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime -o wide } 'q' { From e601e43331834fd3b2d5d8c09e65f69bee7eac0f Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 16 Jan 2018 12:12:22 -0800 Subject: [PATCH 050/473] move common code into a separate file Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 208 +++++++++++++++++++++++++ azure/create-acs-cluster.ps1 | 83 +--------- azure/main.ps1 | 23 +-- nlp/installnlpkubernetes.ps1 | 118 +++----------- realtime/installrealtimekubernetes.ps1 | 71 +-------- 5 files changed, 244 insertions(+), 259 deletions(-) create mode 100644 azure/common.ps1 diff --git a/azure/common.ps1 b/azure/common.ps1 new file mode 100644 index 0000000..4e71c18 --- /dev/null +++ b/azure/common.ps1 @@ -0,0 +1,208 @@ +$version = "2018.01.16.1" + +Write-Host "Installed Common functions version $version" +function global:ShowCommonVersion(){ + Write-Host $version +} + +function global:CreateShare($resourceGroup, $sharename, $deleteExisting) { + $AKS_PERS_STORAGE_ACCOUNT_NAME_BASE64 = kubectl get secret azure-secret -o jsonpath='{.data.azurestorageaccountname}' + $AKS_PERS_STORAGE_ACCOUNT_NAME = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($AKS_PERS_STORAGE_ACCOUNT_NAME_BASE64)) + + $AZURE_STORAGE_CONNECTION_STRING = az storage account show-connection-string -n $AKS_PERS_STORAGE_ACCOUNT_NAME -g $resourceGroup -o tsv + + if ($deleteExisting) { + if ($(az storage share exists -n $sharename --connection-string $AZURE_STORAGE_CONNECTION_STRING --query "exists" -o tsv)) { + Write-Output "Deleting the file share: $sharename" + az storage share delete -n $sharename --connection-string $AZURE_STORAGE_CONNECTION_STRING + + + Write-Output "Waiting for completion of delete for the file share: $sharename" + Do { + Start-Sleep -Seconds 5 + $SHARE_EXISTS = $(az storage share exists -n $sharename --connection-string $AZURE_STORAGE_CONNECTION_STRING --query "exists" -o tsv) + Write-Host "." + } + while ($SHARE_EXISTS) + } + } + + if (!$(az storage share exists -n $sharename --connection-string $AZURE_STORAGE_CONNECTION_STRING --query "exists" -o tsv)) { + Write-Output "Creating the file share: $sharename" + az storage share create -n $sharename --connection-string $AZURE_STORAGE_CONNECTION_STRING --quota 512 + } +} + + +function global:ReadSecret($secretname, $namespace) { + if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} + + $secretbase64 = kubectl get secret $secretname -o jsonpath='{.data.value}' -n $namespace + $secretvalue = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($secretbase64)) + return $secretvalue +} + +function global:ReadSecretPassword($secretname, $namespace) { + if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} + + $secretbase64 = kubectl get secret $secretname -o jsonpath='{.data.password}' -n $namespace + $secretvalue = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($secretbase64)) + return $secretvalue +} + +function global:GeneratePassword() { + $Length = 3 + $set1 = "abcdefghijklmnopqrstuvwxyz".ToCharArray() + $set2 = "0123456789".ToCharArray() + $set3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".ToCharArray() + $set4 = "!.*@".ToCharArray() + $result = "" + for ($x = 0; $x -lt $Length; $x++) { + $result += $set1 | Get-Random + $result += $set2 | Get-Random + $result += $set3 | Get-Random + $result += $set4 | Get-Random + } + return $result +} + +function global:AskForPassword ($secretname, $prompt, $namespace) { + if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} + if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.password}' --ignore-not-found=true))) { + + $mysqlrootpassword = "" + # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html + # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script + Do { + $mysqlrootpasswordsecure = Read-host "$prompt (leave empty for auto-generated)" -AsSecureString + if ($mysqlrootpasswordsecure.Length -lt 1) { + $mysqlrootpassword = GeneratePassword + } + else { + $mysqlrootpassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($mysqlrootpasswordsecure)) + } + } + while (($mysqlrootpassword -notmatch "^[a-z0-9!.*@\s]+$") -or ($mysqlrootpassword.Length -lt 8 )) + kubectl create secret generic $secretname --namespace=$namespace --from-literal=password=$mysqlrootpassword + } + else { + Write-Output "$secretname secret already set so will reuse it" + } +} + +function global:AskForPasswordAnyCharacters ($secretname, $prompt, $namespace, $defaultvalue) { + if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} + if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.password}' --ignore-not-found=true))) { + + $mysqlrootpassword = "" + # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html + # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script + Do { + $mysqlrootpasswordsecure = Read-host "$prompt (leave empty for default)" -AsSecureString + if ($mysqlrootpasswordsecure.Length -lt 1) { + $mysqlrootpassword = $defaultvalue + } + else { + $mysqlrootpassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($mysqlrootpasswordsecure)) + } + } + while ($mysqlrootpassword.Length -lt 8 ) + kubectl create secret generic $secretname --namespace=$namespace --from-literal=password=$mysqlrootpassword + } + else { + Write-Output "$secretname secret already set so will reuse it" + } +} + +function global:AskForSecretValue ($secretname, $prompt, $namespace) { + if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} + if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.value}' --ignore-not-found=true))) { + + $certhostname = "" + Do { + $certhostname = Read-host "$prompt" + } + while ($certhostname.Length -lt 1 ) + + kubectl create secret generic $secretname --namespace=$namespace --from-literal=value=$certhostname + } + else { + Write-Output "$secretname secret already set so will reuse it" + } +} + +function global:ReadYmlAndReplaceCustomer($templateFile, $customerid ) { + if ($GITHUB_URL.StartsWith("http")) { + # Write-Output "Reading from url: $GITHUB_URL/$templateFile" + Invoke-WebRequest -Uri "$GITHUB_URL/$templateFile" -UseBasicParsing -ContentType "text/plain; charset=utf-8" ` + | Select-Object -Expand Content ` + | Foreach-Object {$_ -replace 'CUSTOMERID', "$customerid"} + } + else { + # Write-Output "Reading from local file: $GITHUB_URL/$templateFile" + Get-Content -Path "$GITHUB_URL/$templateFile" ` + | Foreach-Object {$_ -replace 'CUSTOMERID', "$customerid"} + } +} + +# helper functions for subnet match +# from https://gallery.technet.microsoft.com/scriptcenter/Start-and-End-IP-addresses-bcccc3a9 +function global:Get-FirstIP { + <# + .SYNOPSIS + Get the IP addresses in a range + .EXAMPLE + Get-IPrange -start 192.168.8.2 -end 192.168.8.20 + .EXAMPLE + Get-IPrange -ip 192.168.8.2 -mask 255.255.255.0 + .EXAMPLE + Get-IPrange -ip 192.168.8.3 -cidr 24 +#> + + param + ( + [string]$start, + [string]$end, + [string]$ip, + [string]$mask, + [int]$cidr + ) + + function IP-toINT64 () { + param ($ip) + + $octets = $ip.split(".") + return [int64]([int64]$octets[0] * 16777216 + [int64]$octets[1] * 65536 + [int64]$octets[2] * 256 + [int64]$octets[3]) + } + + function INT64-toIP() { + param ([int64]$int) + + return (([math]::truncate($int / 16777216)).tostring() + "." + ([math]::truncate(($int % 16777216) / 65536)).tostring() + "." + ([math]::truncate(($int % 65536) / 256)).tostring() + "." + ([math]::truncate($int % 256)).tostring() ) + } + + if ($ip.Contains("/")) { + $Temp = $ip.Split("/") + $ip = $Temp[0] + $cidr = $Temp[1] + } + + if ($ip) {$ipaddr = [Net.IPAddress]::Parse($ip)} + if ($cidr) {$maskaddr = [Net.IPAddress]::Parse((INT64-toIP -int ([convert]::ToInt64(("1" * $cidr + "0" * (32 - $cidr)), 2)))) } + if ($mask) {$maskaddr = [Net.IPAddress]::Parse($mask)} + if ($ip) {$networkaddr = new-object net.ipaddress ($maskaddr.address -band $ipaddr.address)} + if ($ip) {$broadcastaddr = new-object net.ipaddress (([system.net.ipaddress]::parse("255.255.255.255").address -bxor $maskaddr.address -bor $networkaddr.address))} + + if ($ip) { + $startaddr = IP-toINT64 -ip $networkaddr.ipaddresstostring + $endaddr = IP-toINT64 -ip $broadcastaddr.ipaddresstostring + } + else { + $startaddr = IP-toINT64 -ip $start + $endaddr = IP-toINT64 -ip $end + } + + # https://github.com/Azure/acs-engine/blob/master/docs/kubernetes/features.md#feat-custom-vnet + $startaddr = $startaddr + 239 # skip the first few since they are reserved + INT64-toIP -int $startaddr +} diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index dd05a93..70a6b92 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.01.12.03" +Write-output "Version 2018.01.16.01" # # This script is meant for quick & easy install via: @@ -6,6 +6,8 @@ Write-output "Version 2018.01.12.03" $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" # $GITHUB_URL = "C:\Catalyst\git\Installscripts" +Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/common.ps1 | Invoke-Expression; + $AKS_PERS_RESOURCE_GROUP = "" $AKS_PERS_LOCATION = "" @@ -46,24 +48,6 @@ else { $AKS_SUBSCRIPTION_ID = az account show --query "id" --output tsv -function AskForSecretValue ($secretname, $prompt, $namespace) { - if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} - if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.value}' --ignore-not-found=true))) { - - $certhostname = "" - Do { - $certhostname = Read-host "$prompt" - } - while ($certhostname.Length -lt 1 ) - - kubectl create secret generic $secretname --namespace=$namespace --from-literal=value=$certhostname - } - else { - Write-Output "$secretname secret already set so will reuse it" - } -} - - Do { $customerid = Read-Host "Health Catalyst Customer ID (e.g., ahmn)"} while ([string]::IsNullOrWhiteSpace($customerid)) @@ -459,67 +443,6 @@ if ("$AKS_VNET_NAME") { Write-Output "Subnet CIDR=[$AKS_SUBNET_CIDR]" } -# helper functions for subnet match -# from https://gallery.technet.microsoft.com/scriptcenter/Start-and-End-IP-addresses-bcccc3a9 -function Get-FirstIP { - <# - .SYNOPSIS - Get the IP addresses in a range - .EXAMPLE - Get-IPrange -start 192.168.8.2 -end 192.168.8.20 - .EXAMPLE - Get-IPrange -ip 192.168.8.2 -mask 255.255.255.0 - .EXAMPLE - Get-IPrange -ip 192.168.8.3 -cidr 24 -#> - - param - ( - [string]$start, - [string]$end, - [string]$ip, - [string]$mask, - [int]$cidr - ) - - function IP-toINT64 () { - param ($ip) - - $octets = $ip.split(".") - return [int64]([int64]$octets[0] * 16777216 + [int64]$octets[1] * 65536 + [int64]$octets[2] * 256 + [int64]$octets[3]) - } - - function INT64-toIP() { - param ([int64]$int) - - return (([math]::truncate($int / 16777216)).tostring() + "." + ([math]::truncate(($int % 16777216) / 65536)).tostring() + "." + ([math]::truncate(($int % 65536) / 256)).tostring() + "." + ([math]::truncate($int % 256)).tostring() ) - } - - if ($ip.Contains("/")) { - $Temp = $ip.Split("/") - $ip = $Temp[0] - $cidr = $Temp[1] - } - - if ($ip) {$ipaddr = [Net.IPAddress]::Parse($ip)} - if ($cidr) {$maskaddr = [Net.IPAddress]::Parse((INT64-toIP -int ([convert]::ToInt64(("1" * $cidr + "0" * (32 - $cidr)), 2)))) } - if ($mask) {$maskaddr = [Net.IPAddress]::Parse($mask)} - if ($ip) {$networkaddr = new-object net.ipaddress ($maskaddr.address -band $ipaddr.address)} - if ($ip) {$broadcastaddr = new-object net.ipaddress (([system.net.ipaddress]::parse("255.255.255.255").address -bxor $maskaddr.address -bor $networkaddr.address))} - - if ($ip) { - $startaddr = IP-toINT64 -ip $networkaddr.ipaddresstostring - $endaddr = IP-toINT64 -ip $broadcastaddr.ipaddresstostring - } - else { - $startaddr = IP-toINT64 -ip $start - $endaddr = IP-toINT64 -ip $end - } - - # https://github.com/Azure/acs-engine/blob/master/docs/kubernetes/features.md#feat-custom-vnet - $startaddr = $startaddr + 239 # skip the first few since they are reserved - INT64-toIP -int $startaddr -} $AKS_FIRST_STATIC_IP = "" if ("$AKS_VNET_NAME") { diff --git a/azure/main.ps1 b/azure/main.ps1 index ffc638a..2f35d88 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,15 +1,10 @@ -$version = "2018.01.16.4" +$version = "2018.01.16.5" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; +Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/common.ps1 | Invoke-Expression; -function ReadSecret($secretname, $namespace) { - if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} - - $secretbase64 = kubectl get secret $secretname -o jsonpath='{.data.value}' -n $namespace - $secretvalue = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($secretbase64)) - return $secretvalue -} +# Get-Content -Path "./azure/common.ps1" | Invoke-Expression; do { Clear-Host @@ -24,9 +19,10 @@ do { Write-Host "6: Install NLP" Write-Host "7: Show status of NLP" Write-Host "8: Test web sites" + Write-Host "9: Show passwords" Write-Host "------ Realtime -----" - Write-Host "9: Install Realtime" - Write-Host "10: Show status of realtime" + Write-Host "10: Install Realtime" + Write-Host "11: Show status of realtime" Write-Host "-----------" Write-Host "q: Quit" $input = Read-Host "Please make a selection" @@ -85,9 +81,14 @@ do { Write-Output "curl -L --verbose --header 'Host: nlpjobs.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/nlp' -k" } '9' { - Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.ps1 | Invoke-Expression; + Write-Host "MySql root password: $(ReadSecretPassword -secretname mysqlrootpassword -namespace fabricnlp)" + Write-Host "MySql NLP_APP_USER password: $(ReadSecretPassword -secretname mysqlpassword -namespace fabricnlp)" + Write-Host "SendGrid SMTP Relay key: $(ReadSecretPassword -secretname smtprelaypassword -namespace fabricnlp)" } '10' { + Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.ps1 | Invoke-Expression; + } + '11' { kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime -o wide } 'q' { diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index 144855b..8a80d3b 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -1,9 +1,11 @@ -Write-Output "Version 2018.01.12.1" +Write-Output "Version 2018.01.16.1" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | iex; $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" # $GITHUB_URL = "." +Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/common.ps1 | Invoke-Expression; + $loggedInUser = az account show --query "user.name" --output tsv $AKS_USE_SSL = "" @@ -37,122 +39,38 @@ while ([string]::IsNullOrWhiteSpace($AKS_USE_SSL)) # --resource-group $AKS_PERS_RESOURCE_GROUP ` # --zone-name + + if ([string]::IsNullOrWhiteSpace($(kubectl get namespace fabricnlp --ignore-not-found=true))) { kubectl create namespace fabricnlp } else { - Do { $deleteSecrets = Read-Host "Namespace exists. Do you want to delete passwords stored in this namespace? (y/n)"} + Do { $deleteSecrets = Read-Host "Namespace exists. Do you want to delete passwords and ALL data stored in this namespace? (y/n)"} while ([string]::IsNullOrWhiteSpace($deleteSecrets)) if ($deleteSecrets -eq "y" ) { kubectl delete secret mysqlrootpassword -n fabricnlp --ignore-not-found=true kubectl delete secret mysqlpassword -n fabricnlp --ignore-not-found=true kubectl delete secret smtprelaypassword -n fabricnlp --ignore-not-found=true - } -} -function GeneratePassword() { - $Length = 3 - $set1 = "abcdefghijklmnopqrstuvwxyz".ToCharArray() - $set2 = "0123456789".ToCharArray() - $set3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".ToCharArray() - $set4 = "!.*@".ToCharArray() - $result = "" - for ($x = 0; $x -lt $Length; $x++) { - $result += $set1 | Get-Random - $result += $set2 | Get-Random - $result += $set3 | Get-Random - $result += $set4 | Get-Random - } - return $result -} - -function AskForPassword ($secretname, $prompt, $namespace) { - if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} - if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.password}' --ignore-not-found=true))) { - - $mysqlrootpassword = "" - # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html - # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script - Do { - $mysqlrootpasswordsecure = Read-host "$prompt (leave empty for auto-generated)" -AsSecureString - if ($mysqlrootpasswordsecure.Length -lt 1) { - $mysqlrootpassword = GeneratePassword - } - else { - $mysqlrootpassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($mysqlrootpasswordsecure)) - } + $AKS_PERS_RESOURCE_GROUP_BASE64 = kubectl get secret azure-secret -o jsonpath='{.data.resourcegroup}' + if (![string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP_BASE64)) { + $AKS_PERS_RESOURCE_GROUP = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($AKS_PERS_RESOURCE_GROUP_BASE64)) } - while (($mysqlrootpassword -notmatch "^[a-z0-9!.*@\s]+$") -or ($mysqlrootpassword.Length -lt 8 )) - kubectl create secret generic $secretname --namespace=$namespace --from-literal=password=$mysqlrootpassword - } - else { - Write-Output "$secretname secret already set so will reuse it" - } -} - -function AskForPasswordAnyCharacters ($secretname, $prompt, $namespace, $defaultvalue) { - if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} - if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.password}' --ignore-not-found=true))) { - - $mysqlrootpassword = "" - # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html - # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script - Do { - $mysqlrootpasswordsecure = Read-host "$prompt (leave empty for default)" -AsSecureString - if ($mysqlrootpasswordsecure.Length -lt 1) { - $mysqlrootpassword = $defaultvalue - } - else { - $mysqlrootpassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($mysqlrootpasswordsecure)) - } + + if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) { + Do { $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group (e.g., fabricnlp-rg)"} + while ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) } - while ($mysqlrootpassword.Length -lt 8 ) - kubectl create secret generic $secretname --namespace=$namespace --from-literal=password=$mysqlrootpassword - } - else { - Write-Output "$secretname secret already set so will reuse it" - } -} - -function AskForSecretValue ($secretname, $prompt, $namespace) { - if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} - if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.value}' --ignore-not-found=true))) { - - $certhostname = "" - Do { - $certhostname = Read-host "$prompt" + else { + Write-Output "Using resource group: $AKS_PERS_RESOURCE_GROUP" } - while ($certhostname.Length -lt 1 ) - - kubectl create secret generic $secretname --namespace=$namespace --from-literal=value=$certhostname - } - else { - Write-Output "$secretname secret already set so will reuse it" - } -} - -function ReadYmlAndReplaceCustomer($templateFile, $customerid ) { - if ($GITHUB_URL.StartsWith("http")) { - # Write-Output "Reading from url: $GITHUB_URL/$templateFile" - Invoke-WebRequest -Uri "$GITHUB_URL/$templateFile" -UseBasicParsing -ContentType "text/plain; charset=utf-8" ` - | Select-Object -Expand Content ` - | Foreach-Object {$_ -replace 'CUSTOMERID', "$customerid"} - } - else { - # Write-Output "Reading from local file: $GITHUB_URL/$templateFile" - Get-Content -Path "$GITHUB_URL/$templateFile" ` - | Foreach-Object {$_ -replace 'CUSTOMERID', "$customerid"} + + $AKS_PERS_SHARE_NAME = "fabricnlp" + CreateShare -resourceGroup $AKS_PERS_RESOURCE_GROUP -sharename $AKS_PERS_SHARE_NAME -deleteExisting true } } -function ReadSecret($secretname, $namespace){ - if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} - - $secretbase64 = kubectl get secret $secretname -o jsonpath='{.data.value}' -n $namespace - $secretvalue = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($secretbase64)) - return $secretvalue -} AskForSecretValue -secretname "customerid" -prompt "Health Catalyst Customer ID (e.g., ahmn)" diff --git a/realtime/installrealtimekubernetes.ps1 b/realtime/installrealtimekubernetes.ps1 index 35bb10f..218d288 100644 --- a/realtime/installrealtimekubernetes.ps1 +++ b/realtime/installrealtimekubernetes.ps1 @@ -1,10 +1,12 @@ -Write-Output "Version 2018.01.09.1" +Write-Output "Version 2018.01.16.1" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.ps1 | iex; $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" # $GITHUB_URL = "." +Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/common.ps1 | Invoke-Expression; + $loggedInUser = az account show --query "user.name" --output tsv Write-Output "user: $loggedInUser" @@ -57,73 +59,6 @@ else { Do { $AKS_USE_SSL = Read-Host "Do you want to setup SSL? (y/n)"} while ([string]::IsNullOrWhiteSpace($AKS_USE_SSL)) -function GeneratePassword() { - $Length = 3 - $set1 = "abcdefghijklmnopqrstuvwxyz".ToCharArray() - $set2 = "0123456789".ToCharArray() - $set3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".ToCharArray() - $set4 = "!.*@".ToCharArray() - $result = "" - for ($x = 0; $x -lt $Length; $x++) { - $result += $set1 | Get-Random - $result += $set2 | Get-Random - $result += $set3 | Get-Random - $result += $set4 | Get-Random - } - return $result -} - -function AskForPassword ($secretname, $prompt, $namespace) { - if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} - if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.password}' --ignore-not-found=true))) { - - $mysqlrootpassword = "" - # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html - # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script - Do { - $mysqlrootpasswordsecure = Read-host "$prompt (leave empty for auto-generated)" -AsSecureString - if ($mysqlrootpasswordsecure.Length -lt 1) { - $mysqlrootpassword = GeneratePassword - } - else { - $mysqlrootpassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($mysqlrootpasswordsecure)) - } - } - while (($mysqlrootpassword -notmatch "^[a-z0-9!.*@\s]+$") -or ($mysqlrootpassword.Length -lt 8 )) - kubectl create secret generic $secretname --namespace=$namespace --from-literal=password=$mysqlrootpassword - } - else { - Write-Output "$secretname secret already set so will reuse it" - } -} - -function AskForSecretValue ($secretname, $prompt, $namespace) { - if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.value}'))) { - - $certhostname = "" - Do { - $certhostname = Read-host "$prompt" - } - while ($certhostname.Length -lt 1 ) - - kubectl create secret generic $secretname --namespace=$namespace --from-literal=value=$certhostname - } - else { - Write-Output "$secretname secret already set so will reuse it" - } -} - -function ReadYmlAndReplaceCustomer($templateFile, $customerid ) { - if ($GITHUB_URL.StartsWith("http")) { - Invoke-WebRequest -Uri "$GITHUB_URL/$templateFile" -UseBasicParsing -ContentType "text/plain; charset=utf-8" ` - | Select-Object -Expand Content ` - | Foreach-Object {$_ -replace 'CUSTOMERID', "$customerid"} - } - else { - Get-Content -Path "$GITHUB_URL/$templateFile" ` - | Foreach-Object {$_ -replace 'CUSTOMERID', "$customerid"} - } -} AskForPassword -secretname "mysqlrootpassword" -prompt "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -namespace "fabricrealtime" From 4f532dbd4146c12818ef018eea9c73013a394fda Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 16 Jan 2018 12:18:18 -0800 Subject: [PATCH 051/473] show version of common functions Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 4 ++-- azure/main.ps1 | 7 +++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index 4e71c18..6701238 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,8 +1,8 @@ $version = "2018.01.16.1" Write-Host "Installed Common functions version $version" -function global:ShowCommonVersion(){ - Write-Host $version +function global:GetCommonVersion(){ + return $version } function global:CreateShare($resourceGroup, $sharename, $deleteExisting) { diff --git a/azure/main.ps1 b/azure/main.ps1 index 2f35d88..6790fb1 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.01.16.5" +$version = "2018.01.16.6" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -7,9 +7,7 @@ Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/Install # Get-Content -Path "./azure/common.ps1" | Invoke-Expression; do { - Clear-Host - Write-Host "================ Health Catalyst version $version ================" - + Write-Host "================ Health Catalyst version $version, common functions $(GetCommonVersion) ================" Write-Host "1: Create a new Azure Container Service" Write-Host "2: Setup Load Balancer" Write-Host "3: Show status of cluster" @@ -96,6 +94,7 @@ do { } } pause + Clear-Host } until ($input -eq 'q') From f64747b03143af069de1d0655cb33546b4a75a2a Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 16 Jan 2018 14:56:02 -0800 Subject: [PATCH 052/473] added option to restart dns pods if failed Signed-off-by: HQCATALYST\imran.qureshi --- azure/main.ps1 | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/azure/main.ps1 b/azure/main.ps1 index 6790fb1..cfaefb9 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.01.16.6" +$version = "2018.01.16.7" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -13,14 +13,15 @@ do { Write-Host "3: Show status of cluster" Write-Host "4: Launch Kubernetes Dashboard" Write-Host "5: SSH to Master VM" + Write-Host "6: Restart any failed DNS pods" Write-Host "------ NLP -----" - Write-Host "6: Install NLP" - Write-Host "7: Show status of NLP" - Write-Host "8: Test web sites" - Write-Host "9: Show passwords" + Write-Host "7: Install NLP" + Write-Host "8: Show status of NLP" + Write-Host "9: Test web sites" + Write-Host "10: Show passwords" Write-Host "------ Realtime -----" - Write-Host "10: Install Realtime" - Write-Host "11: Show status of realtime" + Write-Host "11: Install Realtime" + Write-Host "12: Show status of realtime" Write-Host "-----------" Write-Host "q: Quit" $input = Read-Host "Please make a selection" @@ -57,12 +58,21 @@ do { Write-Output "ssh -i ${SSH_PRIVATE_KEY_FILE_UNIX_PATH} azureuser@${MASTER_VM_NAME}" } '6' { - Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | Invoke-Expression; + kubectl get pods -l k8s-app=kube-dns -n kube-system -o wide + $failedItems=kubectl get pods -l k8s-app=kube-dns -n kube-system -o jsonpath='{range.items[?(@.status.phase!=\"Running\")]}{.metadata.name}{\"\n\"}{end}' + ForEach ($line in $failedItems) + { + Write-Host "Deleting pod $line" + kubectl delete pod $line -n kube-system + } } '7' { - kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide + Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | Invoke-Expression; } '8' { + kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide + } + '9' { $loadBalancerIP = kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' --ignore-not-found=true if ([string]::IsNullOrWhiteSpace($loadBalancerIP)) { @@ -78,15 +88,15 @@ do { Write-Output "curl -L --verbose --header 'Host: nlp.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/nlpweb' -k" Write-Output "curl -L --verbose --header 'Host: nlpjobs.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/nlp' -k" } - '9' { + '10' { Write-Host "MySql root password: $(ReadSecretPassword -secretname mysqlrootpassword -namespace fabricnlp)" Write-Host "MySql NLP_APP_USER password: $(ReadSecretPassword -secretname mysqlpassword -namespace fabricnlp)" Write-Host "SendGrid SMTP Relay key: $(ReadSecretPassword -secretname smtprelaypassword -namespace fabricnlp)" } - '10' { + '11' { Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.ps1 | Invoke-Expression; } - '11' { + '12' { kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime -o wide } 'q' { From 3e07c91bbb951c7c986f9d1184ee7fe04ff7401e Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 16 Jan 2018 15:16:47 -0800 Subject: [PATCH 053/473] add option to delete all DNS pods so they get restarted Signed-off-by: HQCATALYST\imran.qureshi --- azure/main.ps1 | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/azure/main.ps1 b/azure/main.ps1 index cfaefb9..8831aba 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.01.16.7" +$version = "2018.01.16.8" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -13,7 +13,7 @@ do { Write-Host "3: Show status of cluster" Write-Host "4: Launch Kubernetes Dashboard" Write-Host "5: SSH to Master VM" - Write-Host "6: Restart any failed DNS pods" + Write-Host "6: View status of DNS pods" Write-Host "------ NLP -----" Write-Host "7: Install NLP" Write-Host "8: Show status of NLP" @@ -59,12 +59,16 @@ do { } '6' { kubectl get pods -l k8s-app=kube-dns -n kube-system -o wide - $failedItems=kubectl get pods -l k8s-app=kube-dns -n kube-system -o jsonpath='{range.items[?(@.status.phase!=\"Running\")]}{.metadata.name}{\"\n\"}{end}' - ForEach ($line in $failedItems) - { - Write-Host "Deleting pod $line" - kubectl delete pod $line -n kube-system - } + Do { $confirmation = Read-Host "Do you want to restart DNS pods? (y/n)"} + while ([string]::IsNullOrWhiteSpace($confirmation)) + + if ($confirmation -eq 'y') { + $failedItems = kubectl get pods -l k8s-app=kube-dns -n kube-system -o jsonpath='{range.items[*]}{.metadata.name}{\"\n\"}{end}' + ForEach ($line in $failedItems) { + Write-Host "Deleting pod $line" + kubectl delete pod $line -n kube-system + } + } } '7' { Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | Invoke-Expression; From 8a4704272b900bcb64f686dacf0681a57f149b5c Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 16 Jan 2018 15:51:05 -0800 Subject: [PATCH 054/473] add ability to point to other kube clusters Signed-off-by: HQCATALYST\imran.qureshi --- azure/main.ps1 | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/azure/main.ps1 b/azure/main.ps1 index 8831aba..96d808d 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.01.16.8" +$version = "2018.01.16.9" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -8,6 +8,7 @@ Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/Install do { Write-Host "================ Health Catalyst version $version, common functions $(GetCommonVersion) ================" + Write-Host "0: Change kube to point to another cluster" Write-Host "1: Create a new Azure Container Service" Write-Host "2: Setup Load Balancer" Write-Host "3: Show status of cluster" @@ -26,6 +27,19 @@ do { Write-Host "q: Quit" $input = Read-Host "Please make a selection" switch ($input) { + '0' { + Write-Host "Current cluster: $(kubectl config current-context)" + $folders = Get-ChildItem "C:\kubernetes" -directory + for ($i = 1; $i -le $folders.count; $i++) { + Write-Host "$i. $($folders[$i-1])" + } + $index = Read-Host "Enter number of folder to use (1 - $($folders.count))" + $folderToUse = $($folders[$index - 1]) + $fileToUse = "C:\kubernetes\$folderToUse\temp\.kube\config" + Write-Host "Copying $fileToUse to $env:userprofile\.kube\config" + Copy-Item -Path $fileToUse -Destination "$env:userprofile\.kube\config" + Write-Host "Current cluster: $(kubectl config current-context)" + } '1' { Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/create-acs-cluster.ps1 | Invoke-Expression; } @@ -33,6 +47,7 @@ do { Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/setup-loadbalancer.ps1 | Invoke-Expression; } '3' { + Write-Host "Current cluster: $(kubectl config current-context)" kubectl get "deployments,pods,services,ingress,secrets" --namespace=kube-system -o wide } '4' { From 915415619b77ae88454305a0ab0fc25b31d58554 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 16 Jan 2018 17:00:27 -0800 Subject: [PATCH 055/473] create dns zones in setup-loadbalancer.ps1 Signed-off-by: HQCATALYST\imran.qureshi --- azure/setup-loadbalancer.ps1 | 35 +++++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index 35dd132..af5c2c5 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2017.12.20.2" +Write-output "Version 2018.01.16.1" # # This script is meant for quick & easy install via: @@ -53,6 +53,11 @@ while ([string]::IsNullOrWhiteSpace($AKS_OPEN_TO_PUBLIC)) Do { $AKS_USE_SSL = Read-Host "Do you want to setup SSL? (y/n)"} while ([string]::IsNullOrWhiteSpace($AKS_USE_SSL)) +$DNS_RESOURCE_GROUP = Read-Host "Resource group containing DNS zones? (default: dns)" +if ([string]::IsNullOrWhiteSpace($DNS_RESOURCE_GROUP)) { + $DNS_RESOURCE_GROUP = "dns" +} + kubectl delete 'pods,services,configMaps,deployments,ingress' -l k8s-traefik=traefik -n kube-system --ignore-not-found=true # http://blog.kubernetes.io/2017/04/configuring-private-dns-zones-upstream-nameservers-kubernetes.html @@ -64,16 +69,18 @@ kubectl create -f "$GITHUB_URL/azure/cafe-kube-dns.yml" kubectl delete ServiceAccount traefik-ingress-controller-serviceaccount -n kube-system --ignore-not-found=true if ($AKS_USE_SSL -eq "y" ) { - # ask for tls cert files - Do { $AKS_SSL_CERT_FOLDER = Read-Host "What folder has the tls.crt and tls.key files? (absolute path e.g., c:\temp\certs)"} - while ([string]::IsNullOrWhiteSpace($AKS_SSL_CERT_FOLDER) -or (!(Test-Path -Path "$AKS_SSL_CERT_FOLDER"))) + if ([string]::IsNullOrWhiteSpace($(kubectl get secret traefik-cert-ahmn -o jsonpath='{.data}' -n kube-system --ignore-not-found=true))) { + # ask for tls cert files + Do { $AKS_SSL_CERT_FOLDER = Read-Host "What folder has the tls.crt and tls.key files? (absolute path e.g., c:\temp\certs)"} + while ([string]::IsNullOrWhiteSpace($AKS_SSL_CERT_FOLDER) -or (!(Test-Path -Path "$AKS_SSL_CERT_FOLDER"))) - $AKS_SSL_CERT_FOLDER_UNIX_PATH = (($AKS_SSL_CERT_FOLDER -replace "\\", "/")).ToLower().Trim("/") + $AKS_SSL_CERT_FOLDER_UNIX_PATH = (($AKS_SSL_CERT_FOLDER -replace "\\", "/")).ToLower().Trim("/") - kubectl delete secret traefik-cert-ahmn -n kube-system --ignore-not-found=true + kubectl delete secret traefik-cert-ahmn -n kube-system --ignore-not-found=true - Write-Output "Storing TLS certs as kubernetes secret" - kubectl create secret generic traefik-cert-ahmn -n kube-system --from-file="$AKS_SSL_CERT_FOLDER_UNIX_PATH/tls.crt" --from-file="$AKS_SSL_CERT_FOLDER_UNIX_PATH/tls.key" + Write-Output "Storing TLS certs as kubernetes secret" + kubectl create secret generic traefik-cert-ahmn -n kube-system --from-file="$AKS_SSL_CERT_FOLDER_UNIX_PATH/tls.crt" --from-file="$AKS_SSL_CERT_FOLDER_UNIX_PATH/tls.key" + } Write-Output "Deploy the SSL ingress controller" # kubectl delete -f "$GITHUB_URL/azure/ingress.ssl.yml" @@ -155,6 +162,18 @@ Do { } while ([string]::IsNullOrWhiteSpace($EXTERNAL_IP) -and ($startDate.AddMinutes($timeoutInMinutes) -gt (Get-Date))) +# set up DNS zones +Write-Output "Creating DNS zones" +$customerid = ReadSecret -secretname customerid +$customerid = $customerid.ToLower().Trim() +Write-Output "Customer ID: $customerid" + +if ([string]::IsNullOrWhiteSpace($(az network dns zone show --name $customerid.healthcatalyst.net -g $DNS_RESOURCE_GROUP))) { + az network dns zone create --name $customerid.healthcatalyst.net -g $DNS_RESOURCE_GROUP + + az network dns record-set a add-record --ipv4-address $EXTERNAL_IP --record-set-name * --resource-group $DNS_RESOURCE_GROUP --zone-name $customerid.healthcatalyst.net +} + Write-Output "External IP: $EXTERNAL_IP" Write-Output "To test out the load balancer, open Git Bash and run:" Write-Output "curl -L --verbose --header 'Host: traefik-ui.minikube' 'http://$EXTERNAL_IP/'" From 324c17d272aed8bed87551502544c744f518e48a Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 16 Jan 2018 17:10:21 -0800 Subject: [PATCH 056/473] add quotes to call to create dns zones Signed-off-by: HQCATALYST\imran.qureshi --- azure/setup-loadbalancer.ps1 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index af5c2c5..127b008 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.01.16.1" +Write-output "Version 2018.01.16.2" # # This script is meant for quick & easy install via: @@ -168,10 +168,10 @@ $customerid = ReadSecret -secretname customerid $customerid = $customerid.ToLower().Trim() Write-Output "Customer ID: $customerid" -if ([string]::IsNullOrWhiteSpace($(az network dns zone show --name $customerid.healthcatalyst.net -g $DNS_RESOURCE_GROUP))) { - az network dns zone create --name $customerid.healthcatalyst.net -g $DNS_RESOURCE_GROUP +if ([string]::IsNullOrWhiteSpace($(az network dns zone show --name "$customerid.healthcatalyst.net" -g $DNS_RESOURCE_GROUP))) { + az network dns zone create --name "$customerid.healthcatalyst.net" -g $DNS_RESOURCE_GROUP - az network dns record-set a add-record --ipv4-address $EXTERNAL_IP --record-set-name * --resource-group $DNS_RESOURCE_GROUP --zone-name $customerid.healthcatalyst.net + az network dns record-set a add-record --ipv4-address $EXTERNAL_IP --record-set-name "*" --resource-group $DNS_RESOURCE_GROUP --zone-name "$customerid.healthcatalyst.net" } Write-Output "External IP: $EXTERNAL_IP" From dd8ee686f2f0a4dbad94306472be67854bda690b Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 17 Jan 2018 09:18:53 -0800 Subject: [PATCH 057/473] show nameservers in setup-loadbalancer.ps1 Signed-off-by: HQCATALYST\imran.qureshi --- azure/setup-loadbalancer.ps1 | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index 127b008..b4b5be2 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.01.16.2" +Write-output "Version 2018.01.16.3" # # This script is meant for quick & easy install via: @@ -167,13 +167,18 @@ Write-Output "Creating DNS zones" $customerid = ReadSecret -secretname customerid $customerid = $customerid.ToLower().Trim() Write-Output "Customer ID: $customerid" +$dnsrecordname="$customerid.healthcatalyst.net" -if ([string]::IsNullOrWhiteSpace($(az network dns zone show --name "$customerid.healthcatalyst.net" -g $DNS_RESOURCE_GROUP))) { - az network dns zone create --name "$customerid.healthcatalyst.net" -g $DNS_RESOURCE_GROUP +if ([string]::IsNullOrWhiteSpace($(az network dns zone show --name "$dnsrecordname" -g $DNS_RESOURCE_GROUP))) { + az network dns zone create --name "$dnsrecordname" -g $DNS_RESOURCE_GROUP - az network dns record-set a add-record --ipv4-address $EXTERNAL_IP --record-set-name "*" --resource-group $DNS_RESOURCE_GROUP --zone-name "$customerid.healthcatalyst.net" + az network dns record-set a add-record --ipv4-address $EXTERNAL_IP --record-set-name "*" --resource-group $DNS_RESOURCE_GROUP --zone-name "$dnsrecordname" } +# list out the name servers +Write-Output "Name servers to set in GoDaddy for *.$dnsrecordname" +az network dns zone show -g $DNS_RESOURCE_GROUP -n "$dnsrecordname" --query "nameServers" -o tsv + Write-Output "External IP: $EXTERNAL_IP" Write-Output "To test out the load balancer, open Git Bash and run:" Write-Output "curl -L --verbose --header 'Host: traefik-ui.minikube' 'http://$EXTERNAL_IP/'" From cf953bae226455e1c26335916374f611327ea916 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 17 Jan 2018 10:01:20 -0800 Subject: [PATCH 058/473] pass githuburl to common functions. change url of ingress dashboard to dashboard.$customerid.healthcatalyst.net Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 10 ++-- azure/create-acs-cluster.ps1 | 53 ++++++++++------------ azure/ingress.ssl.yml | 3 +- azure/ingress.yml | 2 +- azure/loadbalancer-public.yml | 4 +- azure/main.ps1 | 3 +- azure/setup-loadbalancer.ps1 | 63 +++++++++++++++++--------- nlp/installnlpkubernetes.ps1 | 51 ++++++++++----------- realtime/installrealtimekubernetes.ps1 | 10 ++-- 9 files changed, 105 insertions(+), 94 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index 6701238..4f41745 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,4 +1,4 @@ -$version = "2018.01.16.1" +$version = "2018.01.17.1" Write-Host "Installed Common functions version $version" function global:GetCommonVersion(){ @@ -131,16 +131,16 @@ function global:AskForSecretValue ($secretname, $prompt, $namespace) { } } -function global:ReadYmlAndReplaceCustomer($templateFile, $customerid ) { - if ($GITHUB_URL.StartsWith("http")) { +function global:ReadYmlAndReplaceCustomer($baseUrl, $templateFile, $customerid ) { + if ($baseUrl.StartsWith("http")) { # Write-Output "Reading from url: $GITHUB_URL/$templateFile" - Invoke-WebRequest -Uri "$GITHUB_URL/$templateFile" -UseBasicParsing -ContentType "text/plain; charset=utf-8" ` + Invoke-WebRequest -Uri "$baseUrl/$templateFile" -UseBasicParsing -ContentType "text/plain; charset=utf-8" ` | Select-Object -Expand Content ` | Foreach-Object {$_ -replace 'CUSTOMERID', "$customerid"} } else { # Write-Output "Reading from local file: $GITHUB_URL/$templateFile" - Get-Content -Path "$GITHUB_URL/$templateFile" ` + Get-Content -Path "$baseUrl/$templateFile" ` | Foreach-Object {$_ -replace 'CUSTOMERID', "$customerid"} } } diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index 70a6b92..307b9c3 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.01.16.01" +Write-output "Version 2018.01.17.01" # # This script is meant for quick & easy install via: @@ -13,7 +13,6 @@ $AKS_PERS_RESOURCE_GROUP = "" $AKS_PERS_LOCATION = "" $AKS_CLUSTER_NAME = "" $AKS_PERS_STORAGE_ACCOUNT_NAME = "" -$AKS_PERS_SHARE_NAME = "" $AKS_SUBSCRIPTION_ID = "" $AKS_VNET_NAME = "" $AKS_SUBNET_NAME = "" @@ -28,6 +27,7 @@ write-output "Checking if you're already logged in..." # to print out the result to screen also use: | Tee-Object -Variable cmdOutput $loggedInUser = az account show --query "user.name" --output tsv +# get azure login and subscription Write-Output "user: $loggedInUser" if ( "$loggedInUser" ) { @@ -48,11 +48,13 @@ else { $AKS_SUBSCRIPTION_ID = az account show --query "id" --output tsv +# ask for customerid Do { $customerid = Read-Host "Health Catalyst Customer ID (e.g., ahmn)"} while ([string]::IsNullOrWhiteSpace($customerid)) Write-Output "Customer ID: $customerid" +# ask for resource group name to create $DEFAULT_RESOURCE_GROUP="Prod-Kub-$($customerid.ToUpper())-RG" Do { $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group (leave empty for $DEFAULT_RESOURCE_GROUP)" @@ -65,16 +67,22 @@ while ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) Write-Output "Using resource group [$AKS_PERS_RESOURCE_GROUP]" +Do { $AKS_PERS_LOCATION = Read-Host "Location: (e.g., eastus)"} +while ([string]::IsNullOrWhiteSpace($AKS_PERS_LOCATION)) + +# do we want to use azure networking or kube networking $AKS_USE_AZURE_NETWORKING = Read-Host "Use Azure networking (default: yes)" if ([string]::IsNullOrWhiteSpace($AKS_USE_AZURE_NETWORKING)) { $AKS_USE_AZURE_NETWORKING = "yes" } +# service account to own the resources $AKS_SERVICE_PRINCIPAL_NAME = Read-Host "Service account to use (default: ${AKS_PERS_RESOURCE_GROUP}Kubernetes)" if ([string]::IsNullOrWhiteSpace($AKS_SERVICE_PRINCIPAL_NAME)) { $AKS_SERVICE_PRINCIPAL_NAME = "${AKS_PERS_RESOURCE_GROUP}Kubernetes" } +# where to store the SSH keys on local machine $AKS_LOCAL_FOLDER = Read-Host "Folder to store SSH keys (default: c:\kubernetes)" if ([string]::IsNullOrWhiteSpace($AKS_LOCAL_FOLDER)) {$AKS_LOCAL_FOLDER = "C:\kubernetes"} @@ -84,6 +92,7 @@ if (!(Test-Path -Path "$AKS_LOCAL_FOLDER")) { New-Item -ItemType directory -Path $AKS_LOCAL_FOLDER } +# add the c:\kubernetes folder to system PATH Write-Output "Checking if $AKS_LOCAL_FOLDER is in PATH" $pathItems = ($env:path).split(";") if ( $pathItems -notcontains "$AKS_LOCAL_FOLDER") { @@ -114,7 +123,7 @@ if (!(Test-Path -Path "$AKS_FOLDER_FOR_SSH_KEY")) { New-Item -ItemType directory -Path "$AKS_FOLDER_FOR_SSH_KEY" } -# check if SSH key is present +# check if SSH key is present. If not, generate it $SSH_PRIVATE_KEY_FILE = "$AKS_FOLDER_FOR_SSH_KEY\id_rsa" $SSH_PRIVATE_KEY_FILE_UNIX_PATH = "/" + (($SSH_PRIVATE_KEY_FILE -replace "\\", "/") -replace ":", "").ToLower().Trim("/") @@ -132,6 +141,7 @@ $SSH_PUBLIC_KEY_FILE = "$AKS_FOLDER_FOR_SSH_KEY\id_rsa.pub" $AKS_SSH_KEY = Get-Content "$SSH_PUBLIC_KEY_FILE" -First 1 Write-Output "SSH Public Key=$AKS_SSH_KEY" +# download kubectl $KUBECTL_FILE = "$AKS_LOCAL_FOLDER\kubectl.exe" if (!(Test-Path "$KUBECTL_FILE")) { Write-Output "Downloading kubectl.exe to $KUBECTL_FILE" @@ -142,7 +152,7 @@ else { Write-Output "kubectl already exists at $KUBECTL_FILE" } -# echo download as-engine +# download acs-engine $ACS_ENGINE_FILE = "$AKS_LOCAL_FOLDER\acs-engine.exe" $acsengineversion = acs-engine version $acsengineversion = $acsengineversion -match "^Version: v[0-9.]+" @@ -161,12 +171,10 @@ else { Write-Output "ACS Engine version" acs-engine version -Do { $AKS_PERS_LOCATION = Read-Host "Location: (e.g., eastus)"} -while ([string]::IsNullOrWhiteSpace($AKS_PERS_LOCATION)) - $AKS_CLUSTER_NAME = "kubcluster" # $AKS_CLUSTER_NAME = Read-Host "Cluster Name: (e.g., fabricnlpcluster)" +# create storage account to store data $AKS_PERS_STORAGE_ACCOUNT_NAME = Read-Host "Storage Account Name (leave empty for default)" if ([string]::IsNullOrWhiteSpace($AKS_PERS_STORAGE_ACCOUNT_NAME)) { $AKS_PERS_STORAGE_ACCOUNT_NAME = "${AKS_PERS_RESOURCE_GROUP}storage" @@ -176,10 +184,8 @@ if ([string]::IsNullOrWhiteSpace($AKS_PERS_STORAGE_ACCOUNT_NAME)) { Write-Output "Using storage account: [$AKS_PERS_STORAGE_ACCOUNT_NAME]" } -# $AKS_PERS_SHARE_NAME = Read-Host "Storage File share Name: (leave empty for default)" # see if the user wants to use a specific virtual network - Do { $confirmation = Read-Host "Would you like to connect to an existing virtual network? (y/n)"} while ([string]::IsNullOrWhiteSpace($confirmation)) @@ -402,6 +408,7 @@ $dnsNamePrefix = "$AKS_PERS_RESOURCE_GROUP" # az acs create --orchestrator-type kubernetes --resource-group $AKS_PERS_RESOURCE_GROUP --name $AKS_CLUSTER_NAME --generate-ssh-keys --agent-count=3 --agent-vm-size Standard_B2ms #az acs create --orchestrator-type kubernetes --resource-group fabricnlpcluster --name cluster1 --service-principal="$AKS_SERVICE_PRINCIPAL_CLIENTID" --client-secret="$AKS_SERVICE_PRINCIPAL_CLIENTSECRET" --generate-ssh-keys --agent-count=3 --agent-vm-size Standard_D2 --master-vnet-subnet-id="$mysubnetid" --agent-vnet-subnet-id="$mysubnetid" +# choose the right template based on user choice $templateFile = "acs.template.json" if (!"$AKS_VNET_NAME") { $templateFile = "acs.template.nosubnet.json" @@ -427,7 +434,7 @@ if (Test-Path $output) { Remove-Item $output } -# Write-Output "Invoke-WebRequest -Uri $url -OutFile $output -ContentType 'text/plain; charset=utf-8'" +# download the template file from github if ($GITHUB_URL.StartsWith("http")) { Write-Output "Downloading file: $GITHUB_URL/azure/$templateFile" Invoke-WebRequest -Uri "$GITHUB_URL/azure/$templateFile" -OutFile $output -ContentType "text/plain; charset=utf-8" @@ -436,6 +443,7 @@ else { Copy-Item -Path "$GITHUB_URL/azure/$templateFile" -Destination "$output" } +# find CIDR for subnet if ("$AKS_VNET_NAME") { Write-Output "Looking up CIDR for Subnet: [${AKS_SUBNET_NAME}]" $AKS_SUBNET_CIDR = az network vnet subnet show --name ${AKS_SUBNET_NAME} --resource-group ${AKS_SUBNET_RESOURCE_GROUP} --vnet-name ${AKS_VNET_NAME} --query "addressPrefix" --output tsv @@ -443,7 +451,7 @@ if ("$AKS_VNET_NAME") { Write-Output "Subnet CIDR=[$AKS_SUBNET_CIDR]" } - +# suggest and ask for the first static IP to use $AKS_FIRST_STATIC_IP = "" if ("$AKS_VNET_NAME") { $suggestedFirstStaticIP = Get-FirstIP -ip ${AKS_SUBNET_CIDR} @@ -515,6 +523,7 @@ az group deployment create ` # Write-Output "Saved to $acsoutputfolder\azuredeploy.json" +# if joining a vnet, and not using azure networking then we have to manually set the route-table if ("$AKS_VNET_NAME") { if ("$AKS_USE_AZURE_NETWORKING" -eq "no") { Write-Output "Attaching route table" @@ -557,6 +566,7 @@ if ("$AKS_VNET_NAME") { # Get-SCPFile -LocalFile "$env:userprofile\.kube\config" -RemoteFile "./.kube/config" -ComputerName ${MASTER_VM_NAME} -KeyFile "${SSH_PRIVATE_KEY_FILE}" -Credential $Credential -AcceptKey -Verbose -Force # Remove-SSHSession -SessionId 0 +# store kube config in local folder if (!(Test-Path -Path "$env:userprofile\.kube")) { Write-Output "$env:userprofile\.kube does not exist. Creating it..." New-Item -ItemType directory -Path "$env:userprofile\.kube" @@ -578,6 +588,7 @@ Write-Output "Check nodes via kubectl" $env:KUBECONFIG = "${HOME}\.kube\config" kubectl get nodes -o=name +# wait until the nodes are up $nodeCount = 0 while ($nodeCount -lt 3) { @@ -586,7 +597,7 @@ while ($nodeCount -lt 3) { Start-Sleep -s 10 } - +# create storage account Write-Output "Checking to see if storage account exists" $storageAccountCanBeCreated = az storage account check-name --name $AKS_PERS_STORAGE_ACCOUNT_NAME --query "nameAvailable" --output tsv @@ -607,21 +618,10 @@ else { az storage account create -n $AKS_PERS_STORAGE_ACCOUNT_NAME -g $AKS_PERS_RESOURCE_GROUP -l $AKS_PERS_LOCATION --sku Standard_LRS } -if (!"${AKS_PERS_SHARE_NAME}") { - $AKS_PERS_SHARE_NAME = "fabricnlp" - Write-Output "Using share name: ${AKS_PERS_SHARE_NAME}" -} - -# Export the connection string as an environment variable, this is used when creating the Azure file share -$AZURE_STORAGE_CONNECTION_STRING = az storage account show-connection-string -n $AKS_PERS_STORAGE_ACCOUNT_NAME -g $AKS_PERS_RESOURCE_GROUP -o tsv - -# Write-Output "Create the file share" -az storage share create -n $AKS_PERS_SHARE_NAME --connection-string $AZURE_STORAGE_CONNECTION_STRING --quota 512 - Write-Output "Get storage account key" $STORAGE_KEY = az storage account keys list --resource-group $AKS_PERS_RESOURCE_GROUP --account-name $AKS_PERS_STORAGE_ACCOUNT_NAME --query "[0].value" --output tsv -Write-Output "Storagekey: [$STORAGE_KEY]" +# Write-Output "Storagekey: [$STORAGE_KEY]" Write-Output "Creating kubernetes secret" kubectl create secret generic azure-secret --from-literal=resourcegroup="${AKS_PERS_RESOURCE_GROUP}" --from-literal=azurestorageaccountname="${AKS_PERS_STORAGE_ACCOUNT_NAME}" --from-literal=azurestorageaccountkey="${STORAGE_KEY}" @@ -631,8 +631,3 @@ kubectl get "deployments,pods,services,ingress,secrets" --namespace=kube-system Write-Output "Run the following to see status of the cluster" Write-Output "kubectl get deployments,pods,services,ingress,secrets --namespace=kube-system -o wide" - -Write-Output "------------------------" -Write-Output "To launch the dashboard UI, run:" -Write-Output "kubectl proxy" -Write-Output "and then in your browser, navigate to: http://127.0.0.1:8001/ui" \ No newline at end of file diff --git a/azure/ingress.ssl.yml b/azure/ingress.ssl.yml index b597530..43c55ff 100644 --- a/azure/ingress.ssl.yml +++ b/azure/ingress.ssl.yml @@ -58,7 +58,6 @@ spec: spec: serviceAccountName: traefik-ingress-controller-serviceaccount terminationGracePeriodSeconds: 60 - terminationGracePeriodSeconds: 60 volumes: - name: ssl-ahmn secret: @@ -116,7 +115,7 @@ metadata: kubernetes.io/ingress.class: traefik spec: rules: - - host: traefik-ui.minikube + - host: dashboard.CUSTOMERID.healthcatalyst.net http: paths: - backend: diff --git a/azure/ingress.yml b/azure/ingress.yml index f2a4c52..a446fa2 100644 --- a/azure/ingress.yml +++ b/azure/ingress.yml @@ -58,7 +58,7 @@ metadata: kubernetes.io/ingress.class: traefik spec: rules: - - host: traefik-ui.minikube + - host: dashboard.CUSTOMERID.healthcatalyst.net http: paths: - backend: diff --git a/azure/loadbalancer-public.yml b/azure/loadbalancer-public.yml index 45b88fd..63cf773 100644 --- a/azure/loadbalancer-public.yml +++ b/azure/loadbalancer-public.yml @@ -3,6 +3,8 @@ apiVersion: v1 metadata: name: traefik-ingress-service-public namespace: kube-system + labels: + k8s-traefik: traefik spec: selector: k8s-app: traefik-ingress-lb @@ -19,5 +21,5 @@ spec: # note that in the case of AKS, that resource group is MC__ # Then you could specify the assigned IP address as loadBalancerIP # https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer - loadBalancerIP: 52.191.114.114 + loadBalancerIP: $publicip --- diff --git a/azure/main.ps1 b/azure/main.ps1 index 96d808d..1c674f3 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.01.16.9" +$version = "2018.01.17.1" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -38,6 +38,7 @@ do { $fileToUse = "C:\kubernetes\$folderToUse\temp\.kube\config" Write-Host "Copying $fileToUse to $env:userprofile\.kube\config" Copy-Item -Path $fileToUse -Destination "$env:userprofile\.kube\config" + $env:KUBECONFIG = "${HOME}\.kube\config" Write-Host "Current cluster: $(kubectl config current-context)" } '1' { diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index b4b5be2..6f8984e 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.01.16.3" +Write-output "Version 2018.01.17.1" # # This script is meant for quick & easy install via: @@ -14,6 +14,7 @@ $loggedInUser = az account show --query "user.name" --output tsv Write-Output "user: $loggedInUser" +# choose Azure login and subscription if ( "$loggedInUser" ) { $SUBSCRIPTION_NAME = az account show --query "name" --output tsv Write-Output "You are currently logged in as [$loggedInUser] into subscription [$SUBSCRIPTION_NAME]" @@ -29,8 +30,7 @@ else { az login } -$AKS_SUBSCRIPTION_ID = az account show --query "id" --output tsv - +# Get resource group name from kube secrets $AKS_PERS_RESOURCE_GROUP_BASE64 = kubectl get secret azure-secret -o jsonpath='{.data.resourcegroup}' --ignore-not-found=true if (![string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP_BASE64)) { $AKS_PERS_RESOURCE_GROUP = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($AKS_PERS_RESOURCE_GROUP_BASE64)) @@ -44,22 +44,33 @@ else { Write-Output "Using resource group: $AKS_PERS_RESOURCE_GROUP" } +# Get location name from resource group $AKS_PERS_LOCATION = az group show --name $AKS_PERS_RESOURCE_GROUP --query "location" -o tsv Write-Output "Using location: [$AKS_PERS_LOCATION]" +# Ask input from user Do { $AKS_OPEN_TO_PUBLIC = Read-Host "Do you want this cluster open to public? (y/n)"} while ([string]::IsNullOrWhiteSpace($AKS_OPEN_TO_PUBLIC)) Do { $AKS_USE_SSL = Read-Host "Do you want to setup SSL? (y/n)"} while ([string]::IsNullOrWhiteSpace($AKS_USE_SSL)) -$DNS_RESOURCE_GROUP = Read-Host "Resource group containing DNS zones? (default: dns)" -if ([string]::IsNullOrWhiteSpace($DNS_RESOURCE_GROUP)) { - $DNS_RESOURCE_GROUP = "dns" +Do { $SETUP_DNS = Read-Host "Do you want to setup DNS entries in Azure? (y/n)"} +while ([string]::IsNullOrWhiteSpace($SETUP_DNS)) + +# if we need to setup DNS then ask which resourceGroup to use +if ($SETUP_DNS -eq "y") { + $DNS_RESOURCE_GROUP = Read-Host "Resource group containing DNS zones? (default: dns)" + if ([string]::IsNullOrWhiteSpace($DNS_RESOURCE_GROUP)) { + $DNS_RESOURCE_GROUP = "dns" + } + } +# delete existing containers kubectl delete 'pods,services,configMaps,deployments,ingress' -l k8s-traefik=traefik -n kube-system --ignore-not-found=true +# set Google DNS servers to resolve external urls # http://blog.kubernetes.io/2017/04/configuring-private-dns-zones-upstream-nameservers-kubernetes.html kubectl delete -f "$GITHUB_URL/azure/cafe-kube-dns.yml" --ignore-not-found=true Start-Sleep -Seconds 10 @@ -69,6 +80,8 @@ kubectl create -f "$GITHUB_URL/azure/cafe-kube-dns.yml" kubectl delete ServiceAccount traefik-ingress-controller-serviceaccount -n kube-system --ignore-not-found=true if ($AKS_USE_SSL -eq "y" ) { + + # if the SSL cert is not set in kube secrets then ask for the files if ([string]::IsNullOrWhiteSpace($(kubectl get secret traefik-cert-ahmn -o jsonpath='{.data}' -n kube-system --ignore-not-found=true))) { # ask for tls cert files Do { $AKS_SSL_CERT_FOLDER = Read-Host "What folder has the tls.crt and tls.key files? (absolute path e.g., c:\temp\certs)"} @@ -84,12 +97,12 @@ if ($AKS_USE_SSL -eq "y" ) { Write-Output "Deploy the SSL ingress controller" # kubectl delete -f "$GITHUB_URL/azure/ingress.ssl.yml" - kubectl create -f "$GITHUB_URL/azure/ingress.ssl.yml" + ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "azure/ingress.ssl.yml" -customerid $customerid | kubectl create -f - } else { Write-Output "Deploy the non-SSL ingress controller" # kubectl delete -f "$GITHUB_URL/azure/ingress.yml" - kubectl create -f "$GITHUB_URL/azure/ingress.yml" + ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "azure/ingress.yml" -customerid $customerid | kubectl create -f - } if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { @@ -162,26 +175,32 @@ Do { } while ([string]::IsNullOrWhiteSpace($EXTERNAL_IP) -and ($startDate.AddMinutes($timeoutInMinutes) -gt (Get-Date))) -# set up DNS zones -Write-Output "Creating DNS zones" -$customerid = ReadSecret -secretname customerid -$customerid = $customerid.ToLower().Trim() -Write-Output "Customer ID: $customerid" -$dnsrecordname="$customerid.healthcatalyst.net" +if ($SETUP_DNS -eq "y") { + # set up DNS zones + Write-Output "Creating DNS zones" + $customerid = ReadSecret -secretname customerid + $customerid = $customerid.ToLower().Trim() + Write-Output "Customer ID: $customerid" + $dnsrecordname = "$customerid.healthcatalyst.net" -if ([string]::IsNullOrWhiteSpace($(az network dns zone show --name "$dnsrecordname" -g $DNS_RESOURCE_GROUP))) { - az network dns zone create --name "$dnsrecordname" -g $DNS_RESOURCE_GROUP + if ([string]::IsNullOrWhiteSpace($(az network dns zone show --name "$dnsrecordname" -g $DNS_RESOURCE_GROUP))) { + az network dns zone create --name "$dnsrecordname" -g $DNS_RESOURCE_GROUP - az network dns record-set a add-record --ipv4-address $EXTERNAL_IP --record-set-name "*" --resource-group $DNS_RESOURCE_GROUP --zone-name "$dnsrecordname" -} + az network dns record-set a add-record --ipv4-address $EXTERNAL_IP --record-set-name "*" --resource-group $DNS_RESOURCE_GROUP --zone-name "$dnsrecordname" + } -# list out the name servers -Write-Output "Name servers to set in GoDaddy for *.$dnsrecordname" -az network dns zone show -g $DNS_RESOURCE_GROUP -n "$dnsrecordname" --query "nameServers" -o tsv + # list out the name servers + Write-Output "Name servers to set in GoDaddy for *.$dnsrecordname" + az network dns zone show -g $DNS_RESOURCE_GROUP -n "$dnsrecordname" --query "nameServers" -o tsv +} +else { + Write-Output "To access the urls from your browser, add the following entries in your c:\windows\system32\drivers\etc\hosts file" + Write-Output "$EXTERNAL_IP dashboard.$dnsrecordname" +} Write-Output "External IP: $EXTERNAL_IP" Write-Output "To test out the load balancer, open Git Bash and run:" -Write-Output "curl -L --verbose --header 'Host: traefik-ui.minikube' 'http://$EXTERNAL_IP/'" +Write-Output "curl -L --verbose --header 'Host: dashboard.$dnsrecordname' 'http://$EXTERNAL_IP/'" diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index 8a80d3b..6b812e2 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -1,4 +1,4 @@ -Write-Output "Version 2018.01.16.1" +Write-Output "Version 2018.01.17.1" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | iex; $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -39,7 +39,22 @@ while ([string]::IsNullOrWhiteSpace($AKS_USE_SSL)) # --resource-group $AKS_PERS_RESOURCE_GROUP ` # --zone-name +$AKS_PERS_SHARE_NAME = "fabricnlp" +$AKS_PERS_RESOURCE_GROUP_BASE64 = kubectl get secret azure-secret -o jsonpath='{.data.resourcegroup}' +if (![string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP_BASE64)) { + $AKS_PERS_RESOURCE_GROUP = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($AKS_PERS_RESOURCE_GROUP_BASE64)) +} + +if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) { + Do { $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group (e.g., fabricnlp-rg)"} + while ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) +} +else { + Write-Output "Using resource group: $AKS_PERS_RESOURCE_GROUP" +} + +CreateShare -resourceGroup $AKS_PERS_RESOURCE_GROUP -sharename $AKS_PERS_SHARE_NAME if ([string]::IsNullOrWhiteSpace($(kubectl get namespace fabricnlp --ignore-not-found=true))) { kubectl create namespace fabricnlp @@ -52,21 +67,8 @@ else { kubectl delete secret mysqlrootpassword -n fabricnlp --ignore-not-found=true kubectl delete secret mysqlpassword -n fabricnlp --ignore-not-found=true kubectl delete secret smtprelaypassword -n fabricnlp --ignore-not-found=true - - $AKS_PERS_RESOURCE_GROUP_BASE64 = kubectl get secret azure-secret -o jsonpath='{.data.resourcegroup}' - if (![string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP_BASE64)) { - $AKS_PERS_RESOURCE_GROUP = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($AKS_PERS_RESOURCE_GROUP_BASE64)) - } - - if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) { - Do { $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group (e.g., fabricnlp-rg)"} - while ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) - } - else { - Write-Output "Using resource group: $AKS_PERS_RESOURCE_GROUP" - } - - $AKS_PERS_SHARE_NAME = "fabricnlp" + + # need to recreate the file share when we change passwords otherwise the new password will not work with the old password stored in the share CreateShare -resourceGroup $AKS_PERS_RESOURCE_GROUP -sharename $AKS_PERS_SHARE_NAME -deleteExisting true } } @@ -96,13 +98,13 @@ Write-Output "Waiting until all the resources are cleared up" Do { $CLEANUP_DONE = $(kubectl get 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes' --namespace=fabricnlp)} while (![string]::IsNullOrWhiteSpace($CLEANUP_DONE)) -ReadYmlAndReplaceCustomer -templateFile "nlp/nlp-kubernetes-storage.yml" -customerid $customerid | kubectl create -f - +ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/nlp-kubernetes-storage.yml" -customerid $customerid | kubectl create -f - -ReadYmlAndReplaceCustomer -templateFile "nlp/nlp-kubernetes.yml" -customerid $customerid | kubectl create -f - +ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/nlp-kubernetes.yml" -customerid $customerid | kubectl create -f - -ReadYmlAndReplaceCustomer -templateFile "nlp/nlp-kubernetes-public.yml" -customerid $customerid | kubectl create -f - +ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/nlp-kubernetes-public.yml" -customerid $customerid | kubectl create -f - -ReadYmlAndReplaceCustomer -templateFile "nlp/nlp-mysql-private.yml" -customerid $customerid | kubectl create -f - +ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/nlp-mysql-private.yml" -customerid $customerid | kubectl create -f - Write-Output "Setting up SSL reverse proxy" @@ -111,7 +113,7 @@ if ($AKS_USE_SSL -eq "y" ) { $ingressTemplate = "nlp/nlp-ingress-ssl.yml" } -ReadYmlAndReplaceCustomer -templateFile $ingressTemplate -customerid $customerid | kubectl create -f - +ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile $ingressTemplate -customerid $customerid | kubectl create -f - kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide @@ -120,13 +122,6 @@ kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,pe # kubectl create secret generic azure-secret --namespace=fabricnlp --from-literal=azurestorageaccountname="fabricnlp7storage" --from-literal=azurestorageaccountkey="/bYhXNstTodg3MdOvTMog/vDLSFrQDpxG/Zgkp2MlnjtOWhDBNQ2xOs6zjRoZYNjmJHya34MfzqdfOwXkMDN2A==" -Write-Output "To get status of Fabric.NLP run:" -Write-Output "kubectl get deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes --namespace=fabricnlp -o wide" - -Write-Output "To launch the dashboard UI, run:" -Write-Output "kubectl proxy" -Write-Output "and then in your browser, navigate to: http://127.0.0.1:8001/ui" - $loadBalancerIP = kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' --ignore-not-found=true if ([string]::IsNullOrWhiteSpace($loadBalancerIP)) { $loadBalancerIP = kubectl get svc traefik-ingress-service-private -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' diff --git a/realtime/installrealtimekubernetes.ps1 b/realtime/installrealtimekubernetes.ps1 index 218d288..7dbbf22 100644 --- a/realtime/installrealtimekubernetes.ps1 +++ b/realtime/installrealtimekubernetes.ps1 @@ -1,4 +1,4 @@ -Write-Output "Version 2018.01.16.1" +Write-Output "Version 2018.01.17.1" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.ps1 | iex; @@ -90,11 +90,11 @@ $AZURE_STORAGE_CONNECTION_STRING = az storage account show-connection-string -n Write-Output "Create the file share: $AKS_PERS_SHARE_NAME" az storage share create -n $AKS_PERS_SHARE_NAME --connection-string $AZURE_STORAGE_CONNECTION_STRING --quota 512 -ReadYmlAndReplaceCustomer -templateFile "realtime/realtime-kubernetes-storage.yml" -customerid $customerid | kubectl create -f - +ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/realtime-kubernetes-storage.yml" -customerid $customerid | kubectl create -f - -ReadYmlAndReplaceCustomer -templateFile "realtime/realtime-kubernetes.yml" -customerid $customerid | kubectl create -f - +ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/realtime-kubernetes.yml" -customerid $customerid | kubectl create -f - -ReadYmlAndReplaceCustomer -templateFile "realtime/realtime-kubernetes-public.yml" -customerid $customerid | kubectl create -f - +ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/realtime-kubernetes-public.yml" -customerid $customerid | kubectl create -f - $ipname = "InterfaceEnginePublicIP" $publicip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n $ipname --query "ipAddress" -o tsv; @@ -152,7 +152,7 @@ if ($AKS_USE_SSL -eq "y" ) { Write-Output "Using template: $templateFile" -ReadYmlAndReplaceCustomer -templateFile $templateFile -customerid $customerid +ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile $templateFile -customerid $customerid kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime -o wide From 3f9f4b751e8d052f83dfeaf8ae83b01457fcb876 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 17 Jan 2018 10:10:15 -0800 Subject: [PATCH 059/473] fix issue where the customerid was not retrieved when not using SSL Signed-off-by: HQCATALYST\imran.qureshi --- azure/setup-loadbalancer.ps1 | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index 6f8984e..a7746d9 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.01.17.1" +Write-output "Version 2018.01.17.2" # # This script is meant for quick & easy install via: @@ -48,6 +48,10 @@ else { $AKS_PERS_LOCATION = az group show --name $AKS_PERS_RESOURCE_GROUP --query "location" -o tsv Write-Output "Using location: [$AKS_PERS_LOCATION]" +$customerid = ReadSecret -secretname customerid +$customerid = $customerid.ToLower().Trim() +Write-Output "Customer ID: $customerid" + # Ask input from user Do { $AKS_OPEN_TO_PUBLIC = Read-Host "Do you want this cluster open to public? (y/n)"} while ([string]::IsNullOrWhiteSpace($AKS_OPEN_TO_PUBLIC)) @@ -175,13 +179,11 @@ Do { } while ([string]::IsNullOrWhiteSpace($EXTERNAL_IP) -and ($startDate.AddMinutes($timeoutInMinutes) -gt (Get-Date))) +$dnsrecordname = "$customerid.healthcatalyst.net" + if ($SETUP_DNS -eq "y") { # set up DNS zones Write-Output "Creating DNS zones" - $customerid = ReadSecret -secretname customerid - $customerid = $customerid.ToLower().Trim() - Write-Output "Customer ID: $customerid" - $dnsrecordname = "$customerid.healthcatalyst.net" if ([string]::IsNullOrWhiteSpace($(az network dns zone show --name "$dnsrecordname" -g $DNS_RESOURCE_GROUP))) { az network dns zone create --name "$dnsrecordname" -g $DNS_RESOURCE_GROUP From f1ba5a636c57b9cef4b1ee6e32b43745678be0bd Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 17 Jan 2018 10:28:21 -0800 Subject: [PATCH 060/473] fix indentation in nlp-ingress.yml Signed-off-by: HQCATALYST\imran.qureshi --- azure/setup-loadbalancer.ps1 | 3 +++ nlp/installnlpkubernetes.ps1 | 3 ++- nlp/nlp-ingress.yml | 12 ++++++------ 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index a7746d9..b04b71f 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -201,6 +201,9 @@ else { } Write-Output "External IP: $EXTERNAL_IP" +Write-Output "Testing load balancer" +Invoke-WebRequest -useb -Headers @{"Host" = "dashboard.$dnsrecordname"} -Uri http://$EXTERNAL_IP/ | Select-Object -Expand Content + Write-Output "To test out the load balancer, open Git Bash and run:" Write-Output "curl -L --verbose --header 'Host: dashboard.$dnsrecordname' 'http://$EXTERNAL_IP/'" diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index 6b812e2..7bba615 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -106,12 +106,13 @@ ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/nlp-kubernetes ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/nlp-mysql-private.yml" -customerid $customerid | kubectl create -f - -Write-Output "Setting up SSL reverse proxy" +Write-Output "Setting up reverse proxy" $ingressTemplate = "nlp/nlp-ingress.yml" if ($AKS_USE_SSL -eq "y" ) { $ingressTemplate = "nlp/nlp-ingress-ssl.yml" } +Write-Output "Using template: $ingressTemplate" ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile $ingressTemplate -customerid $customerid | kubectl create -f - diff --git a/nlp/nlp-ingress.yml b/nlp/nlp-ingress.yml index 898fa4a..fa70ca1 100644 --- a/nlp/nlp-ingress.yml +++ b/nlp/nlp-ingress.yml @@ -9,20 +9,20 @@ spec: rules: - host: solr.CUSTOMERID.healthcatalyst.net http: - paths: - - backend: + paths: + - backend: serviceName: solrserverpublic servicePort: 80 - host: nlp.CUSTOMERID.healthcatalyst.net http: - paths: - - backend: + paths: + - backend: serviceName: nlpserverpublic servicePort: 80 - host: nlpjobs.CUSTOMERID.healthcatalyst.net http: - paths: - - backend: + paths: + - backend: serviceName: nlpjobsserverpublic servicePort: 80 --- From 4bc02f8c2f6cf0d81fe48f61db4cc0a9a8e69fc7 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 17 Jan 2018 10:46:06 -0800 Subject: [PATCH 061/473] show instructions for updating your local hosts file Signed-off-by: HQCATALYST\imran.qureshi --- azure/main.ps1 | 7 ++++++- nlp/installnlpkubernetes.ps1 | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/azure/main.ps1 b/azure/main.ps1 index 1c674f3..7a9913e 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.01.17.1" +$version = "2018.01.17.2" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -107,6 +107,11 @@ do { Write-Output "curl -L --verbose --header 'Host: solr.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/solr' -k" Write-Output "curl -L --verbose --header 'Host: nlp.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/nlpweb' -k" Write-Output "curl -L --verbose --header 'Host: nlpjobs.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/nlp' -k" + + Write-Output "If you didn't setup DNS, add the following entries in your c:\windows\system32\drivers\etc\hosts file to access the urls from your browser" + Write-Output "$loadBalancerIP solr.$customerid.healthcatalyst.net" + Write-Output "$loadBalancerIP nlp.$customerid.healthcatalyst.net" + Write-Output "$loadBalancerIP nlpjobs.$customerid.healthcatalyst.net" } '10' { Write-Host "MySql root password: $(ReadSecretPassword -secretname mysqlrootpassword -namespace fabricnlp)" diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index 7bba615..6e911c5 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -1,4 +1,4 @@ -Write-Output "Version 2018.01.17.1" +Write-Output "Version 2018.01.17.2" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | iex; $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -132,3 +132,8 @@ Write-Output "To test out the NLP services, open Git Bash and run:" Write-Output "curl -L --verbose --header 'Host: solr.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/solr' -k" Write-Output "curl -L --verbose --header 'Host: nlp.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/nlpweb' -k" Write-Output "curl -L --verbose --header 'Host: nlpjobs.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/nlp' -k" + +Write-Output "If you didn't setup DNS, add the following entries in your c:\windows\system32\drivers\etc\hosts file to access the urls from your browser" +Write-Output "$loadBalancerIP solr.$customerid.healthcatalyst.net" +Write-Output "$loadBalancerIP nlp.$customerid.healthcatalyst.net" +Write-Output "$loadBalancerIP nlpjobs.$customerid.healthcatalyst.net" From e9cc73b1ebadfdde5dbb87aaf4c868af7c3022b9 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 17 Jan 2018 16:47:48 -0800 Subject: [PATCH 062/473] add ability in setup-loadbalancer to create an Azure application firewall Signed-off-by: HQCATALYST\imran.qureshi --- azure/config.json | 14 +++ azure/create-acs-cluster.ps1 | 1 - azure/setup-loadbalancer.ps1 | 136 ++++++++++++++++++++++++- realtime/installrealtimekubernetes.ps1 | 2 +- 4 files changed, 149 insertions(+), 4 deletions(-) create mode 100644 azure/config.json diff --git a/azure/config.json b/azure/config.json new file mode 100644 index 0000000..67c2c73 --- /dev/null +++ b/azure/config.json @@ -0,0 +1,14 @@ +{ + "customerId": "", + "resourceGroup": "", + "deleteExisting": "", + "location": "", + "UseAzureNetworking": true, + "serviceAccount": "", + "folderToStoreSSHKeys": "", + "storageAccount": "", + "deleteStorageAccountIfExists": "", + "vnet": "", + "subnet": "", + "firstStaticIP": "" +} \ No newline at end of file diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index 307b9c3..93a927e 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -191,7 +191,6 @@ while ([string]::IsNullOrWhiteSpace($confirmation)) if ($confirmation -eq 'y') { Write-Output "Finding existing vnets..." - Write-Output " vnet `t resourcegroup" # az network vnet list --query "[].[name,resourceGroup ]" -o tsv $vnets=az network vnet list --query "[].[name]" -o tsv diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index b04b71f..464e417 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -53,8 +53,72 @@ $customerid = $customerid.ToLower().Trim() Write-Output "Customer ID: $customerid" # Ask input from user -Do { $AKS_OPEN_TO_PUBLIC = Read-Host "Do you want this cluster open to public? (y/n)"} -while ([string]::IsNullOrWhiteSpace($AKS_OPEN_TO_PUBLIC)) +Do { $AKS_USE_WAF = Read-Host "Do you want to use Azure Application Gateway with WAF? (y/n)"} +while ([string]::IsNullOrWhiteSpace($AKS_USE_WAF)) + +if ($AKS_USE_WAF -eq "n") { + Do { $AKS_OPEN_TO_PUBLIC = Read-Host "Do you want this cluster open to public? (y/n)"} + while ([string]::IsNullOrWhiteSpace($AKS_OPEN_TO_PUBLIC)) +} +else { + $AKS_OPEN_TO_PUBLIC = "n" + $publicip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --query "ipAddress" -o tsv; + if ([string]::IsNullOrWhiteSpace($publicip)) { + az network public-ip create -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --location $AKS_PERS_LOCATION --allocation-method Static + $publicip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --query "ipAddress" -o tsv; + } + + Write-Host "Using Public IP: [$publicip]" + # get vnet and subnet name + Do { $confirmation = Read-Host "Would you like to connect the Azure WAF to an existing virtual network? (y/n)"} + while ([string]::IsNullOrWhiteSpace($confirmation)) + + if ($confirmation -eq 'y') { + Write-Output "Finding existing vnets..." + # az network vnet list --query "[].[name,resourceGroup ]" -o tsv + + $vnets = az network vnet list --query "[].[name]" -o tsv + + Do { + Write-Output "------ Existing vnets -------" + for ($i = 1; $i -le $vnets.count; $i++) { + Write-Host "$i. $($vnets[$i-1])" + } + Write-Output "------ End vnets -------" + + $index = Read-Host "Enter number of vnet to use (1 - $($vnets.count))" + $AKS_VNET_NAME = $($vnets[$index - 1]) + } + while ([string]::IsNullOrWhiteSpace($AKS_VNET_NAME)) + + if ("$AKS_VNET_NAME") { + + # Do { $AKS_SUBNET_RESOURCE_GROUP = Read-Host "Resource Group of Virtual Network"} + # while ([string]::IsNullOrWhiteSpace($AKS_SUBNET_RESOURCE_GROUP)) + + $AKS_SUBNET_RESOURCE_GROUP = az network vnet list --query "[?name == '$AKS_VNET_NAME'].resourceGroup" -o tsv + Write-Output "Using subnet resource group: [$AKS_SUBNET_RESOURCE_GROUP]" + + Write-Output "Finding existing subnets in $AKS_VNET_NAME ..." + $subnets = az network vnet subnet list --resource-group $AKS_SUBNET_RESOURCE_GROUP --vnet-name $AKS_VNET_NAME --query "[].name" -o tsv + + Do { + Write-Output "------ Subnets in $AKS_VNET_NAME -------" + for ($i = 1; $i -le $subnets.count; $i++) { + Write-Host "$i. $($subnets[$i-1])" + } + Write-Output "------ End Subnets -------" + + Write-Host "NOTE: Each customer should have their own gateway subnet. This subnet should be different than the cluster subnet" + $index = Read-Host "Enter number of subnet to use (1 - $($subnets.count))" + $AKS_SUBNET_NAME = $($subnets[$index - 1]) + } + while ([string]::IsNullOrWhiteSpace($AKS_SUBNET_NAME)) + + } + } + +} Do { $AKS_USE_SSL = Read-Host "Do you want to setup SSL? (y/n)"} while ([string]::IsNullOrWhiteSpace($AKS_USE_SSL)) @@ -200,6 +264,74 @@ else { Write-Output "$EXTERNAL_IP dashboard.$dnsrecordname" } +if ($AKS_USE_WAF -eq "y") { + Write-Output "Setting up Azure Application Gateway" + + $gatewayName = "${customerid}Gateway" + + az network application-gateway show --name "$gatewayName" --resource-group "$AKS_PERS_RESOURCE_GROUP" + + Write-Output "Checking if Application Gateway already exists" + if ([string]::IsNullOrEmpty($(az network application-gateway show --name "$gatewayName" --resource-group "$AKS_PERS_RESOURCE_GROUP" ))) { + Write-Output "Creating new application gateway with WAF" + # https://docs.microsoft.com/en-us/cli/azure/network/application-gateway?view=azure-cli-latest#az_network_application_gateway_create + az network application-gateway create ` + --sku WAF_Medium ` + --name "$gatewayName" ` + --location "$AKS_PERS_LOCATION" ` + --resource-group "$AKS_PERS_RESOURCE_GROUP" ` + --vnet-name "$AKS_VNET_NAME" ` + --subnet "$AKS_SUBNET_NAME" ` + --public-ip-address "IngressPublicIP" ` + --servers "$EXTERNAL_IP" ` + + Write-Output "Waiting for Azure Application Gateway to be created. (This can take 10-15 minutes)" + az network application-gateway wait ` + --name "$gatewayName" ` + --resource-group "$AKS_PERS_RESOURCE_GROUP" ` + --created + } + else { + + # # set public IP + # $frontendPoolName = az network application-gateway show --name "$gatewayName" --resource-group "$AKS_PERS_RESOURCE_GROUP" --query "frontendIpConfigurations[0].name" -o tsv + # Write-Output "Setting $publicip as IP for frontend pool $frontendPoolName" + # az network application-gateway frontend-ip update ` + # --gateway-name "$gatewayName" ` + # --resource-group "$AKS_PERS_RESOURCE_GROUP" ` + # --name "$frontendPoolName" ` + # --public-ip-address "IngressPublicIP" + + $backendPoolName = az network application-gateway show --name "$gatewayName" --resource-group "$AKS_PERS_RESOURCE_GROUP" --query "backendAddressPools[0].name" -o tsv + Write-Output "Setting $EXTERNAL_IP as IP for backend pool $backendPoolName" + # set backend private IP + az network application-gateway address-pool update ` + --gateway-name "$gatewayName" ` + --resource-group "$AKS_PERS_RESOURCE_GROUP" ` + --name "$backendPoolName" ` + --servers "$EXTERNAL_IP" + + az network application-gateway wait ` + --name "$gatewayName" ` + --resource-group "$AKS_PERS_RESOURCE_GROUP" ` + --updated + } + + Write-Output "Enabling Prevention mode of firewall" + az network application-gateway waf-config set ` + --enabled true ` + --firewall-mode Prevention ` + --gateway-name "$gatewayName" ` + --resource-group "$AKS_PERS_RESOURCE_GROUP" ` + --rule-set-type "OWASP" ` + --rule-set-version "3.0" + + Write-Output "Checking for health of backend pool" + az network application-gateway show-backend-health ` + --name "$gatewayName" ` + --resource-group "$AKS_PERS_RESOURCE_GROUP" ` + --query "backendAddressPools[0].backendHttpSettingsCollection[0].servers[0].health" +} Write-Output "External IP: $EXTERNAL_IP" Write-Output "Testing load balancer" Invoke-WebRequest -useb -Headers @{"Host" = "dashboard.$dnsrecordname"} -Uri http://$EXTERNAL_IP/ | Select-Object -Expand Content diff --git a/realtime/installrealtimekubernetes.ps1 b/realtime/installrealtimekubernetes.ps1 index 7dbbf22..d0ed637 100644 --- a/realtime/installrealtimekubernetes.ps1 +++ b/realtime/installrealtimekubernetes.ps1 @@ -44,7 +44,7 @@ if ([string]::IsNullOrWhiteSpace($(kubectl get namespace fabricrealtime --ignore kubectl create namespace fabricrealtime } else { - Do { $deleteSecrets = Read-Host "Namespace exists. Do you want to delete passwords stored in this namespace? (y/n)"} + Do { $deleteSecrets = Read-Host "Namespace exists. Do you want to delete passwords and data stored in this namespace? (y/n)"} while ([string]::IsNullOrWhiteSpace($deleteSecrets)) if ($deleteSecrets -eq "y" ) { From cd6a1fa8e14f1596829b3e2bf72696b7a01098fd Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 18 Jan 2018 15:13:31 -0800 Subject: [PATCH 063/473] added ability to whitelist certain IPs for accessing the cluster Signed-off-by: HQCATALYST\imran.qureshi --- azure/create-acs-cluster.ps1 | 5 ++ azure/ingress.ssl.yml | 2 + azure/ingress.yml | 32 ++++++++++++ azure/loadbalancer-internal.yml | 1 + azure/loadbalancer-public.yml | 4 +- azure/setup-loadbalancer.ps1 | 90 +++++++++++++++++++-------------- 6 files changed, 96 insertions(+), 38 deletions(-) diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index 93a927e..47092cc 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -298,6 +298,11 @@ if ($resourceGroupExists -eq "true") { az resource delete --ids $(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Network/loadBalancers" --query "[].id" -o tsv ) } + if ($(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Network/applicationGateways" --query "[].id" -o tsv ).length -ne 0) { + Write-Output "delete the application gateways" + az resource delete --ids $(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Network/applicationGateways" --query "[].id" -o tsv ) + } + if ($(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Storage/storageAccounts" --query "[].id" -o tsv | Where-Object {!"$_".EndsWith("$AKS_PERS_STORAGE_ACCOUNT_NAME")}).length -ne 0) { Write-Output "delete the storage accounts EXCEPT storage account we created in the past" az resource delete --ids $(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Storage/storageAccounts" --query "[].id" -o tsv | Where-Object {!"$_".EndsWith("${AKS_PERS_STORAGE_ACCOUNT_NAME}")} ) diff --git a/azure/ingress.ssl.yml b/azure/ingress.ssl.yml index 43c55ff..1b9d2e9 100644 --- a/azure/ingress.ssl.yml +++ b/azure/ingress.ssl.yml @@ -13,9 +13,11 @@ data: traefik.toml: | # traefik.toml defaultEntryPoints = ["http","https"] + [accessLog] [entryPoints] [entryPoints.http] address = ":80" + WHITELISTIP [entryPoints.http.redirect] entryPoint = "https" [entryPoints.https] diff --git a/azure/ingress.yml b/azure/ingress.yml index a446fa2..f1dbdbc 100644 --- a/azure/ingress.yml +++ b/azure/ingress.yml @@ -1,3 +1,22 @@ +# format: https://docs.traefik.io/configuration/backends/kubernetes/ +# the config for Traefik so it knows where the certificates are +# https://docs.traefik.io/configuration/commons/ +apiVersion: v1 +kind: ConfigMap +metadata: + name: traefik-conf + namespace: kube-system + labels: + k8s-traefik: traefik +data: + traefik.toml: | + # traefik.toml + defaultEntryPoints = ["http"] + [accessLog] + [entryPoints] + [entryPoints.http] + address = ":80" + WHITELISTIP --- apiVersion: v1 kind: ServiceAccount @@ -26,12 +45,25 @@ spec: spec: serviceAccountName: traefik-ingress-controller-serviceaccount terminationGracePeriodSeconds: 60 + volumes: + - name: config + configMap: + name: traefik-conf containers: - image: traefik name: traefik-ingress-lb + volumeMounts: + - mountPath: "/config" + name: "config" + ports: + - containerPort: 80 + - containerPort: 443 + - containerPort: 8080 args: - --web - --kubernetes + - --configfile=/config/traefik.toml + - --logLevel=DEBUG --- apiVersion: v1 kind: Service diff --git a/azure/loadbalancer-internal.yml b/azure/loadbalancer-internal.yml index d5de516..cbfb130 100644 --- a/azure/loadbalancer-internal.yml +++ b/azure/loadbalancer-internal.yml @@ -11,6 +11,7 @@ metadata: spec: selector: k8s-app: traefik-ingress-lb + externalTrafficPolicy: "Local" ports: - protocol: TCP port: 80 diff --git a/azure/loadbalancer-public.yml b/azure/loadbalancer-public.yml index 63cf773..382c95f 100644 --- a/azure/loadbalancer-public.yml +++ b/azure/loadbalancer-public.yml @@ -8,6 +8,8 @@ metadata: spec: selector: k8s-app: traefik-ingress-lb +# https://kubernetes.io/docs/tutorials/services/source-ip/ + externalTrafficPolicy: "Local" ports: - protocol: TCP port: 80 @@ -21,5 +23,5 @@ spec: # note that in the case of AKS, that resource group is MC__ # Then you could specify the assigned IP address as loadBalancerIP # https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer - loadBalancerIP: $publicip + loadBalancerIP: PUBLICIP --- diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index 464e417..ab21938 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.01.17.2" +Write-output "Version 2018.01.18.1" # # This script is meant for quick & easy install via: @@ -6,6 +6,7 @@ Write-output "Version 2018.01.17.2" $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" # $GITHUB_URL = "." +Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/common.ps1 | Invoke-Expression; $AKS_OPEN_TO_PUBLIC = "" $AKS_USE_SSL = "" @@ -53,12 +54,19 @@ $customerid = $customerid.ToLower().Trim() Write-Output "Customer ID: $customerid" # Ask input from user -Do { $AKS_USE_WAF = Read-Host "Do you want to use Azure Application Gateway with WAF? (y/n)"} -while ([string]::IsNullOrWhiteSpace($AKS_USE_WAF)) +$AKS_USE_WAF = Read-Host "Do you want to use Azure Application Gateway with WAF? (y/n) (default: n)" + +if ([string]::IsNullOrWhiteSpace($AKS_USE_WAF)) { + $AKS_USE_WAF = "n" +} if ($AKS_USE_WAF -eq "n") { - Do { $AKS_OPEN_TO_PUBLIC = Read-Host "Do you want this cluster open to public? (y/n)"} - while ([string]::IsNullOrWhiteSpace($AKS_OPEN_TO_PUBLIC)) + $AKS_OPEN_TO_PUBLIC = Read-Host "Do you want this cluster open to public? (y/n) (default: y)" + + if ([string]::IsNullOrWhiteSpace($AKS_OPEN_TO_PUBLIC)) { + $AKS_OPEN_TO_PUBLIC = "y" + } + } else { $AKS_OPEN_TO_PUBLIC = "n" @@ -120,6 +128,17 @@ else { } +if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { + $AKS_IP_WHITELIST = Read-Host "Do you want to restrict the IPs able to connect to this cluster: ( ex: 127.0.0.1/32 or 192.168.1.7 ) leave empty for no restriction" + if ([string]::IsNullOrWhiteSpace($AKS_IP_WHITELIST)) { + $AKS_IP_WHITELIST = "" + } + else { + $AKS_IP_WHITELIST = "whiteListSourceRange = [`"$AKS_IP_WHITELIST`"]" + Write-Output "Whitelist: $AKS_IP_WHITELIST" + } +} + Do { $AKS_USE_SSL = Read-Host "Do you want to setup SSL? (y/n)"} while ([string]::IsNullOrWhiteSpace($AKS_USE_SSL)) @@ -165,12 +184,12 @@ if ($AKS_USE_SSL -eq "y" ) { Write-Output "Deploy the SSL ingress controller" # kubectl delete -f "$GITHUB_URL/azure/ingress.ssl.yml" - ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "azure/ingress.ssl.yml" -customerid $customerid | kubectl create -f - + ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "azure/ingress.ssl.yml" -customerid $customerid | Foreach-Object {$_ -replace 'WHITELISTIP', "$AKS_IP_WHITELIST"} | kubectl create -f - } else { Write-Output "Deploy the non-SSL ingress controller" # kubectl delete -f "$GITHUB_URL/azure/ingress.yml" - ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "azure/ingress.yml" -customerid $customerid | kubectl create -f - + ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "azure/ingress.yml" -customerid $customerid | Foreach-Object {$_ -replace 'WHITELISTIP', "$AKS_IP_WHITELIST"} | kubectl create -f - } if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { @@ -184,36 +203,10 @@ if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { Write-Host "Using Public IP: [$publicip]" - # kubectl delete svc traefik-ingress-service-public -n kube-system - $serviceyaml = @" -kind: Service -apiVersion: v1 -metadata: - name: traefik-ingress-service-public - namespace: kube-system - labels: - k8s-traefik: traefik -spec: - selector: - k8s-app: traefik-ingress-lb - ports: - - protocol: TCP - port: 80 - name: web - - protocol: TCP - port: 443 - name: ssl - type: LoadBalancer - # Special notes for Azure: To use user-specified public type loadBalancerIP, a static type public IP address resource needs to be created first, - # and it should be in the same resource group of the cluster. - # note that in the case of AKS, that resource group is MC__ - # Then you could specify the assigned IP address as loadBalancerIP - # https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer - loadBalancerIP: $publicip ---- -"@ - - Write-Output $serviceyaml | kubectl create -f - + ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "azure/loadbalancer-public.yml" -customerid $customerid ` + | Foreach-Object {$_ -replace 'PUBLICIP', "$publicip"} ` + | kubectl create -f - + #kubectl create -f "$GITHUB_URL/azure/loadbalancer-public.yml" #kubectl patch service traefik-ingress-service-public --loadBalancerIP=52.191.114.120 @@ -265,6 +258,27 @@ else { } if ($AKS_USE_WAF -eq "y") { + + $nsgname = "IngressNSG" + $iprangetoallow = "" + if ([string]::IsNullOrEmpty($(az network nsg show --name "$nsgname" --resource-group "$AKS_PERS_RESOURCE_GROUP" ))) { + az network nsg create --name "$nsgname" --resource-group "$AKS_PERS_RESOURCE_GROUP" + } + + if ([string]::IsNullOrEmpty($(az network nsg rule show --nsg-name "$nsgname" --name "IPFilter" --resource-group "$AKS_PERS_RESOURCE_GROUP" ))) { + # Rule priority, between 100 (highest priority) and 4096 (lowest priority). Must be unique for each rule in the collection. + # Space-separated list of CIDR prefixes or IP ranges. Alternatively, specify ONE of 'VirtualNetwork', 'AzureLoadBalancer', 'Internet' or '*' to match all IPs. + az network nsg rule create --name "IPFilter" ` + --nsg-name "$nsgname" ` + --priority 220 ` + --resource-group "$AKS_PERS_RESOURCE_GROUP" ` + --description "IP Filtering" ` + --access "Allow" ` + --source-address-prefixes "$iprangetoallow" + } + + Write-Output "Creating network security group to restrict IP address" + Write-Output "Setting up Azure Application Gateway" $gatewayName = "${customerid}Gateway" @@ -285,6 +299,8 @@ if ($AKS_USE_WAF -eq "y") { --public-ip-address "IngressPublicIP" ` --servers "$EXTERNAL_IP" ` + # https://docs.microsoft.com/en-us/azure/application-gateway/application-gateway-faq + Write-Output "Waiting for Azure Application Gateway to be created. (This can take 10-15 minutes)" az network application-gateway wait ` --name "$gatewayName" ` From 72ac6453f74f78f4c496d753b4f086f2bb95c744 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 18 Jan 2018 21:28:14 -0800 Subject: [PATCH 064/473] add ability to create an Azure Application Gateway to get the WAF Signed-off-by: HQCATALYST\imran.qureshi --- azure/ingress-nginx.yml | 83 +++++++++++ azure/ingress.ssl.yml | 2 +- azure/ingress.yml | 2 +- azure/loadbalancer-internal.yml | 3 + azure/loadbalancer-public.yml | 1 + azure/main.ps1 | 1 + azure/setup-loadbalancer.ps1 | 241 ++++++++++++++++++++++---------- 7 files changed, 256 insertions(+), 77 deletions(-) create mode 100644 azure/ingress-nginx.yml diff --git a/azure/ingress-nginx.yml b/azure/ingress-nginx.yml new file mode 100644 index 0000000..06e8387 --- /dev/null +++ b/azure/ingress-nginx.yml @@ -0,0 +1,83 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: nginx-ingress-controller +spec: + replicas: 1 + revisionHistoryLimit: 3 + template: + metadata: + labels: + k8s-app: nginx-ingress-lb + spec: + containers: + - args: + - /nginx-ingress-controller + - "--default-backend-service=$(POD_NAMESPACE)/default-http-backend" + # - "--default-ssl-certificate=$(POD_NAMESPACE)/tls-certificate" + env: + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + image: "gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.5" + imagePullPolicy: Always + livenessProbe: + httpGet: + path: /healthz + port: 10254 + scheme: HTTP + initialDelaySeconds: 10 + timeoutSeconds: 5 + name: nginx-ingress-controller + ports: + - containerPort: 80 + name: http + protocol: TCP + - containerPort: 443 + name: https + protocol: TCP + # volumeMounts: + # - mountPath: /etc/nginx-ssl/dhparam + # name: tls-dhparam-vol + terminationGracePeriodSeconds: 60 + # volumes: + # - name: tls-dhparam-vol + # secret: + # secretName: tls-dhparam +--- +apiVersion: v1 +kind: Service +metadata: + name: nginx-web-ui + namespace: kube-system + labels: + k8s-traefik: traefik +spec: + selector: + k8s-app: nginx-ingress-lb + ports: + - port: 80 + targetPort: 8080 +--- +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: nginx-web-ui-ingress + namespace: kube-system + labels: + k8s-traefik: traefik + annotations: + kubernetes.io/ingress.class: nginx +spec: + rules: + - host: dashboard.CUSTOMERID.healthcatalyst.net + http: + paths: + - backend: + serviceName: nginx-web-ui + servicePort: 80 \ No newline at end of file diff --git a/azure/ingress.ssl.yml b/azure/ingress.ssl.yml index 1b9d2e9..1fbc6a0 100644 --- a/azure/ingress.ssl.yml +++ b/azure/ingress.ssl.yml @@ -88,7 +88,7 @@ spec: - --web - --kubernetes - --configfile=/config/traefik.toml - - --logLevel=DEBUG + - --logLevel=INFO --- # service definition for traefik apiVersion: v1 diff --git a/azure/ingress.yml b/azure/ingress.yml index f1dbdbc..c7c9daf 100644 --- a/azure/ingress.yml +++ b/azure/ingress.yml @@ -63,7 +63,7 @@ spec: - --web - --kubernetes - --configfile=/config/traefik.toml - - --logLevel=DEBUG + - --logLevel=INFO --- apiVersion: v1 kind: Service diff --git a/azure/loadbalancer-internal.yml b/azure/loadbalancer-internal.yml index cbfb130..a29d128 100644 --- a/azure/loadbalancer-internal.yml +++ b/azure/loadbalancer-internal.yml @@ -8,6 +8,9 @@ metadata: annotations: # from https://radu-matei.com/blog/k8s-appsvc/ service.beta.kubernetes.io/azure-load-balancer-internal: "true" + # https://gowalker.org/k8s.io/kubernetes/pkg/cloudprovider/providers/azure + # service.beta.kubernetes.io/azure-load-balancer-internal-subnet": "" + spec: selector: k8s-app: traefik-ingress-lb diff --git a/azure/loadbalancer-public.yml b/azure/loadbalancer-public.yml index 382c95f..f8100e9 100644 --- a/azure/loadbalancer-public.yml +++ b/azure/loadbalancer-public.yml @@ -8,6 +8,7 @@ metadata: spec: selector: k8s-app: traefik-ingress-lb +# k8s-app: nginx-ingress-lb # https://kubernetes.io/docs/tutorials/services/source-ip/ externalTrafficPolicy: "Local" ports: diff --git a/azure/main.ps1 b/azure/main.ps1 index 7a9913e..f8f9fec 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -129,6 +129,7 @@ do { } } pause + [Console]::ResetColor() Clear-Host } until ($input -eq 'q') diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index ab21938..08ef84f 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.01.18.1" +Write-output "Version 2018.01.18.3" # # This script is meant for quick & easy install via: @@ -10,6 +10,7 @@ Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/Install $AKS_OPEN_TO_PUBLIC = "" $AKS_USE_SSL = "" +$AKS_IP_WHITELIST = "" $loggedInUser = az account show --query "user.name" --output tsv @@ -31,6 +32,8 @@ else { az login } +$AKS_SUBSCRIPTION_ID = az account show --query "id" --output tsv + # Get resource group name from kube secrets $AKS_PERS_RESOURCE_GROUP_BASE64 = kubectl get secret azure-secret -o jsonpath='{.data.resourcegroup}' --ignore-not-found=true if (![string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP_BASE64)) { @@ -54,6 +57,17 @@ $customerid = $customerid.ToLower().Trim() Write-Output "Customer ID: $customerid" # Ask input from user +Do { + Write-Host "How do you want to control access to this cluster:" + Write-Host "1: Allow anyone to access it" + Write-Host "2: Only allow certain IP ranges to access it" + Write-Host "3: Only allow computers inside the subnet to access it" + Write-Host "-------------" + + $AKS_CLUSTER_ACCESS_TYPE = Read-Host "Enter number of option to use (1 - 3)" +} +while ([string]::IsNullOrWhiteSpace($AKS_CLUSTER_ACCESS_TYPE)) + $AKS_USE_WAF = Read-Host "Do you want to use Azure Application Gateway with WAF? (y/n) (default: n)" if ([string]::IsNullOrWhiteSpace($AKS_USE_WAF)) { @@ -61,12 +75,9 @@ if ([string]::IsNullOrWhiteSpace($AKS_USE_WAF)) { } if ($AKS_USE_WAF -eq "n") { - $AKS_OPEN_TO_PUBLIC = Read-Host "Do you want this cluster open to public? (y/n) (default: y)" - - if ([string]::IsNullOrWhiteSpace($AKS_OPEN_TO_PUBLIC)) { + if (($AKS_CLUSTER_ACCESS_TYPE -eq "1" ) -or ($AKS_CLUSTER_ACCESS_TYPE -eq "2")) { $AKS_OPEN_TO_PUBLIC = "y" } - } else { $AKS_OPEN_TO_PUBLIC = "n" @@ -128,15 +139,43 @@ else { } -if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { - $AKS_IP_WHITELIST = Read-Host "Do you want to restrict the IPs able to connect to this cluster: ( ex: 127.0.0.1/32 or 192.168.1.7 ) leave empty for no restriction" - if ([string]::IsNullOrWhiteSpace($AKS_IP_WHITELIST)) { - $AKS_IP_WHITELIST = "" +if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { + + Do { $AKS_IP_WHITELIST = Read-Host "Enter IP range that should be able to access this cluster: ( ex: 127.0.0.1/32 or 192.168.1.7 )"} + while ([string]::IsNullOrWhiteSpace($AKS_IP_WHITELIST)) + + $vnets = az network vnet list --query "[].[name]" -o tsv + + Do { + Write-Output "------ Existing vnets -------" + for ($i = 1; $i -le $vnets.count; $i++) { + Write-Host "$i. $($vnets[$i-1])" + } + Write-Output "------ End vnets -------" + + $index = Read-Host "Enter number of vnet of this cluster so we can whitelist it (1 - $($vnets.count))" + $AKS_VNET_NAME = $($vnets[$index - 1]) } - else { - $AKS_IP_WHITELIST = "whiteListSourceRange = [`"$AKS_IP_WHITELIST`"]" - Write-Output "Whitelist: $AKS_IP_WHITELIST" + while ([string]::IsNullOrWhiteSpace($AKS_VNET_NAME)) + + $AKS_SUBNET_RESOURCE_GROUP = az network vnet list --query "[?name == '$AKS_VNET_NAME'].resourceGroup" -o tsv + Write-Output "Using vnet resource group: [$AKS_SUBNET_RESOURCE_GROUP]" + + Write-Output "Looking up CIDR for Vnet: [${AKS_VNET_NAME}] to add to whitelist" + $AKS_VNET_CIDR_LIST = az network vnet show --name ${AKS_VNET_NAME} --resource-group ${AKS_SUBNET_RESOURCE_GROUP} --query "addressSpace.addressPrefixes" --output tsv + + $WHITELIST = "" + + foreach ($cidr in $AKS_VNET_CIDR_LIST) { + $WHITELIST = "${WHITELIST}`"${cidr}`"," } + + $WHITELIST = "${WHITELIST}`"$AKS_IP_WHITELIST`"" + + $WHITELIST = "${WHITELIST}" + + $AKS_IP_WHITELIST = "whiteListSourceRange = [$WHITELIST]" + Write-Output "Whitelist: $AKS_IP_WHITELIST" } Do { $AKS_USE_SSL = Read-Host "Do you want to setup SSL? (y/n)"} @@ -204,8 +243,8 @@ if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { Write-Host "Using Public IP: [$publicip]" ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "azure/loadbalancer-public.yml" -customerid $customerid ` - | Foreach-Object {$_ -replace 'PUBLICIP', "$publicip"} ` - | kubectl create -f - + | Foreach-Object {$_ -replace 'PUBLICIP', "$publicip"} ` + | kubectl create -f - #kubectl create -f "$GITHUB_URL/azure/loadbalancer-public.yml" @@ -228,7 +267,7 @@ else { $loadbalancer = "traefik-ingress-service-private" } -Write-Output "Waiting for IP to get assigned to the load balancer (Note: It can take 5 minutes or so to get the IP from azure)" +Write-Output "Waiting for IP to get assigned to the load balancer (Note: It can take upto 5 minutes for Azure to finish creating the load balancer)" Do { Start-Sleep -Seconds 10 Write-Output "." @@ -238,70 +277,75 @@ while ([string]::IsNullOrWhiteSpace($EXTERNAL_IP) -and ($startDate.AddMinutes($t $dnsrecordname = "$customerid.healthcatalyst.net" -if ($SETUP_DNS -eq "y") { - # set up DNS zones - Write-Output "Creating DNS zones" - - if ([string]::IsNullOrWhiteSpace($(az network dns zone show --name "$dnsrecordname" -g $DNS_RESOURCE_GROUP))) { - az network dns zone create --name "$dnsrecordname" -g $DNS_RESOURCE_GROUP - - az network dns record-set a add-record --ipv4-address $EXTERNAL_IP --record-set-name "*" --resource-group $DNS_RESOURCE_GROUP --zone-name "$dnsrecordname" - } - - # list out the name servers - Write-Output "Name servers to set in GoDaddy for *.$dnsrecordname" - az network dns zone show -g $DNS_RESOURCE_GROUP -n "$dnsrecordname" --query "nameServers" -o tsv -} -else { - Write-Output "To access the urls from your browser, add the following entries in your c:\windows\system32\drivers\etc\hosts file" - Write-Output "$EXTERNAL_IP dashboard.$dnsrecordname" -} - if ($AKS_USE_WAF -eq "y") { - $nsgname = "IngressNSG" - $iprangetoallow = "" - if ([string]::IsNullOrEmpty($(az network nsg show --name "$nsgname" --resource-group "$AKS_PERS_RESOURCE_GROUP" ))) { - az network nsg create --name "$nsgname" --resource-group "$AKS_PERS_RESOURCE_GROUP" - } - - if ([string]::IsNullOrEmpty($(az network nsg rule show --nsg-name "$nsgname" --name "IPFilter" --resource-group "$AKS_PERS_RESOURCE_GROUP" ))) { - # Rule priority, between 100 (highest priority) and 4096 (lowest priority). Must be unique for each rule in the collection. - # Space-separated list of CIDR prefixes or IP ranges. Alternatively, specify ONE of 'VirtualNetwork', 'AzureLoadBalancer', 'Internet' or '*' to match all IPs. - az network nsg rule create --name "IPFilter" ` - --nsg-name "$nsgname" ` - --priority 220 ` - --resource-group "$AKS_PERS_RESOURCE_GROUP" ` - --description "IP Filtering" ` - --access "Allow" ` - --source-address-prefixes "$iprangetoallow" - } - - Write-Output "Creating network security group to restrict IP address" + # $nsgname = "IngressNSG" + # $iprangetoallow = "" + # if ([string]::IsNullOrEmpty($(az network nsg show --name "$nsgname" --resource-group "$AKS_PERS_RESOURCE_GROUP" ))) { + # az network nsg create --name "$nsgname" --resource-group "$AKS_PERS_RESOURCE_GROUP" + # } + + # if ([string]::IsNullOrEmpty($(az network nsg rule show --nsg-name "$nsgname" --name "IPFilter" --resource-group "$AKS_PERS_RESOURCE_GROUP" ))) { + # # Rule priority, between 100 (highest priority) and 4096 (lowest priority). Must be unique for each rule in the collection. + # # Space-separated list of CIDR prefixes or IP ranges. Alternatively, specify ONE of 'VirtualNetwork', 'AzureLoadBalancer', 'Internet' or '*' to match all IPs. + # az network nsg rule create --name "IPFilter" ` + # --nsg-name "$nsgname" ` + # --priority 220 ` + # --resource-group "$AKS_PERS_RESOURCE_GROUP" ` + # --description "IP Filtering" ` + # --access "Allow" ` + # --source-address-prefixes "$iprangetoallow" + # } + + # Write-Output "Creating network security group to restrict IP address" Write-Output "Setting up Azure Application Gateway" $gatewayName = "${customerid}Gateway" az network application-gateway show --name "$gatewayName" --resource-group "$AKS_PERS_RESOURCE_GROUP" + $gatewayipName = "${gatewayName}PublicIP" Write-Output "Checking if Application Gateway already exists" if ([string]::IsNullOrEmpty($(az network application-gateway show --name "$gatewayName" --resource-group "$AKS_PERS_RESOURCE_GROUP" ))) { - Write-Output "Creating new application gateway with WAF" + + # note application gateway provides no way to specify the resourceGroup of the vnet so we HAVE to create the App Gateway in the same resourceGroup + # as the vnet and NOT in the resourceGroup of the cluster + $gatewayip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n "$gatewayipName" --query "ipAddress" -o tsv; + if ([string]::IsNullOrWhiteSpace($gatewayip)) { + az network public-ip create -g $AKS_PERS_RESOURCE_GROUP -n "$gatewayipName" --location $AKS_PERS_LOCATION --allocation-method Dynamic + + # Write-Output "Waiting for IP address to get assigned to $gatewayipName" + # Do { + # Start-Sleep -Seconds 10 + # Write-Output "." + # $gatewayip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n "$gatewayipName" --query "ipAddress" -o tsv; + # } + # while ([string]::IsNullOrWhiteSpace($gatewayip)) + } + + # Write-Host "Using Gateway IP: [$gatewayip]" + + $mysubnetid = "/subscriptions/${AKS_SUBSCRIPTION_ID}/resourceGroups/${AKS_SUBNET_RESOURCE_GROUP}/providers/Microsoft.Network/virtualNetworks/${AKS_VNET_NAME}/subnets/${AKS_SUBNET_NAME}" + + Write-Output "Using subnet id: $mysubnetid" + + Write-Output "Creating new application gateway with WAF (This can take 10-15 minutes)" # https://docs.microsoft.com/en-us/cli/azure/network/application-gateway?view=azure-cli-latest#az_network_application_gateway_create + az network application-gateway create ` --sku WAF_Medium ` --name "$gatewayName" ` --location "$AKS_PERS_LOCATION" ` --resource-group "$AKS_PERS_RESOURCE_GROUP" ` --vnet-name "$AKS_VNET_NAME" ` - --subnet "$AKS_SUBNET_NAME" ` - --public-ip-address "IngressPublicIP" ` + --subnet "$mysubnetid" ` + --public-ip-address "$gatewayipName" ` --servers "$EXTERNAL_IP" ` # https://docs.microsoft.com/en-us/azure/application-gateway/application-gateway-faq - Write-Output "Waiting for Azure Application Gateway to be created. (This can take 10-15 minutes)" + Write-Output "Waiting for Azure Application Gateway to be created." az network application-gateway wait ` --name "$gatewayName" ` --resource-group "$AKS_PERS_RESOURCE_GROUP" ` @@ -310,15 +354,15 @@ if ($AKS_USE_WAF -eq "y") { else { # # set public IP - # $frontendPoolName = az network application-gateway show --name "$gatewayName" --resource-group "$AKS_PERS_RESOURCE_GROUP" --query "frontendIpConfigurations[0].name" -o tsv - # Write-Output "Setting $publicip as IP for frontend pool $frontendPoolName" - # az network application-gateway frontend-ip update ` - # --gateway-name "$gatewayName" ` - # --resource-group "$AKS_PERS_RESOURCE_GROUP" ` - # --name "$frontendPoolName" ` - # --public-ip-address "IngressPublicIP" - - $backendPoolName = az network application-gateway show --name "$gatewayName" --resource-group "$AKS_PERS_RESOURCE_GROUP" --query "backendAddressPools[0].name" -o tsv + $frontendPoolName = az network application-gateway show --name "$gatewayName" --resource-group "$AKS_SUBNET_RESOURCE_GROUP" --query "frontendIpConfigurations[0].name" -o tsv + Write-Output "Setting $gatewayipName as IP for frontend pool $frontendPoolName" + az network application-gateway frontend-ip update ` + --gateway-name "$gatewayName" ` + --resource-group "$AKS_PERS_RESOURCE_GROUP" ` + --name "$frontendPoolName" ` + --public-ip-address "$gatewayipName" + + $backendPoolName = az network application-gateway show --name "$gatewayName" --resource-group "$AKS_SUBNET_RESOURCE_GROUP" --query "backendAddressPools[0].name" -o tsv Write-Output "Setting $EXTERNAL_IP as IP for backend pool $backendPoolName" # set backend private IP az network application-gateway address-pool update ` @@ -333,22 +377,69 @@ if ($AKS_USE_WAF -eq "y") { --updated } - Write-Output "Enabling Prevention mode of firewall" - az network application-gateway waf-config set ` - --enabled true ` - --firewall-mode Prevention ` - --gateway-name "$gatewayName" ` - --resource-group "$AKS_PERS_RESOURCE_GROUP" ` - --rule-set-type "OWASP" ` - --rule-set-version "3.0" - + if ($(az network application-gateway waf-config show --gateway-name "$gatewayName" --resource-group "$AKS_PERS_RESOURCE_GROUP" --query "firewallMode" -o tsv) -eq "Prevention") { + } + else { + Write-Output "Enabling Prevention mode of firewall" + az network application-gateway waf-config set ` + --enabled true ` + --firewall-mode Prevention ` + --gateway-name "$gatewayName" ` + --resource-group "$AKS_PERS_RESOURCE_GROUP" ` + --rule-set-type "OWASP" ` + --rule-set-version "3.0" + } + + # if ([string]::IsNullOrEmpty($(az network application-gateway probe show --gateway-name "$gatewayName" --name "MyCustomProbe" --resource-group "$AKS_SUBNET_RESOURCE_GROUP"))) { + # # create a custom probe + # az network application-gateway probe create --gateway-name "$gatewayName" ` + # --resource-group "$AKS_SUBNET_RESOURCE_GROUP" ` + # --name "MyCustomProbe" ` + # --path "/" ` + # --protocol "Http" ` + # --host "dashboard.${dnsrecordname}" + + # # associate custom probe with HttpSettings: appGatewayBackendHttpSettings + # az network application-gateway http-settings update --gateway-name "$gatewayName" ` + # --name "appGatewayBackendHttpSettings" ` + # --resource-group "$AKS_SUBNET_RESOURCE_GROUP" ` + # --probe "MyCustomProbe" ` + # --enable-probe true ` + # --host-name "dashboard.${dnsrecordname}" + # } + + Write-Output "Checking for health of backend pool" az network application-gateway show-backend-health ` --name "$gatewayName" ` --resource-group "$AKS_PERS_RESOURCE_GROUP" ` --query "backendAddressPools[0].backendHttpSettingsCollection[0].servers[0].health" + + # set EXTERNAL_IP to be the IP of the Application Gateway + $EXTERNAL_IP = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n "$gatewayipName" --query "ipAddress" -o tsv; } + +if ($SETUP_DNS -eq "y") { + # set up DNS zones + Write-Output "Creating DNS zones" + + if ([string]::IsNullOrWhiteSpace($(az network dns zone show --name "$dnsrecordname" -g $DNS_RESOURCE_GROUP))) { + az network dns zone create --name "$dnsrecordname" -g $DNS_RESOURCE_GROUP + + az network dns record-set a add-record --ipv4-address $EXTERNAL_IP --record-set-name "*" --resource-group $DNS_RESOURCE_GROUP --zone-name "$dnsrecordname" + } + + # list out the name servers + Write-Output "Name servers to set in GoDaddy for *.$dnsrecordname" + az network dns zone show -g $DNS_RESOURCE_GROUP -n "$dnsrecordname" --query "nameServers" -o tsv +} +else { + Write-Output "To access the urls from your browser, add the following entries in your c:\windows\system32\drivers\etc\hosts file" + Write-Output "$EXTERNAL_IP dashboard.$dnsrecordname" +} + Write-Output "External IP: $EXTERNAL_IP" + Write-Output "Testing load balancer" Invoke-WebRequest -useb -Headers @{"Host" = "dashboard.$dnsrecordname"} -Uri http://$EXTERNAL_IP/ | Select-Object -Expand Content From f0c386cb30114f5b630c5d88f41aeaeb59a5051d Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Sun, 21 Jan 2018 16:13:08 -0800 Subject: [PATCH 065/473] added an option to include windows containers (not working yet) Signed-off-by: HQCATALYST\imran.qureshi --- azure/acs.template.linuxwindows.json | 2 +- azure/create-acs-cluster.ps1 | 52 +++++++---- azure/ingress-roles.yml | 131 +++++++++++++++++++++++++++ azure/ingress.ssl.yml | 9 +- azure/ingress.yml | 8 +- azure/main.ps1 | 2 +- azure/setup-loadbalancer.ps1 | 4 +- 7 files changed, 173 insertions(+), 35 deletions(-) create mode 100644 azure/ingress-roles.yml diff --git a/azure/acs.template.linuxwindows.json b/azure/acs.template.linuxwindows.json index 15fb754..3f09729 100644 --- a/azure/acs.template.linuxwindows.json +++ b/azure/acs.template.linuxwindows.json @@ -5,7 +5,7 @@ "orchestratorType": "Kubernetes", "orchestratorRelease": "1.8", "kubernetesConfig": { - "networkPolicy": "azure" + "networkPolicy": "none" } }, "masterProfile": { diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index 47092cc..ab87b24 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -21,6 +21,7 @@ $AKS_SSH_KEY = "" $AKS_FIRST_STATIC_IP = "" $AKS_USE_AZURE_NETWORKING = "no" $AKS_SERVICE_PRINCIPAL_NAME = "" +$AKS_SUPPORT_WINDOWS_CONTAINERS = "n" write-output "Checking if you're already logged in..." @@ -55,11 +56,10 @@ while ([string]::IsNullOrWhiteSpace($customerid)) Write-Output "Customer ID: $customerid" # ask for resource group name to create -$DEFAULT_RESOURCE_GROUP="Prod-Kub-$($customerid.ToUpper())-RG" +$DEFAULT_RESOURCE_GROUP = "Prod-Kub-$($customerid.ToUpper())-RG" Do { $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group (leave empty for $DEFAULT_RESOURCE_GROUP)" - if([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) - { + if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) { $AKS_PERS_RESOURCE_GROUP = $DEFAULT_RESOURCE_GROUP } } @@ -70,10 +70,18 @@ Write-Output "Using resource group [$AKS_PERS_RESOURCE_GROUP]" Do { $AKS_PERS_LOCATION = Read-Host "Location: (e.g., eastus)"} while ([string]::IsNullOrWhiteSpace($AKS_PERS_LOCATION)) -# do we want to use azure networking or kube networking -$AKS_USE_AZURE_NETWORKING = Read-Host "Use Azure networking (default: yes)" -if ([string]::IsNullOrWhiteSpace($AKS_USE_AZURE_NETWORKING)) { - $AKS_USE_AZURE_NETWORKING = "yes" +$AKS_SUPPORT_WINDOWS_CONTAINERS = Read-Host "Support Windows containers (y/n) (default: n)" +if ([string]::IsNullOrWhiteSpace($AKS_SUPPORT_WINDOWS_CONTAINERS)) { + $AKS_SUPPORT_WINDOWS_CONTAINERS = "n" +} + +if ("$AKS_SUPPORT_WINDOWS_CONTAINERS" -eq "n") { + # azure networking is not supported with windows containers + # do we want to use azure networking or kube networking + $AKS_USE_AZURE_NETWORKING = Read-Host "Use Azure networking (default: yes)" + if ([string]::IsNullOrWhiteSpace($AKS_USE_AZURE_NETWORKING)) { + $AKS_USE_AZURE_NETWORKING = "yes" + } } # service account to own the resources @@ -157,12 +165,13 @@ $ACS_ENGINE_FILE = "$AKS_LOCAL_FOLDER\acs-engine.exe" $acsengineversion = acs-engine version $acsengineversion = $acsengineversion -match "^Version: v[0-9.]+" $acsengineversion = "[$acsengineversion]" -if ((!(Test-Path "$ACS_ENGINE_FILE")) -or !$acsengineversion.equals("[Version: v0.11.0]")) { +$desiredversion="v0.11.0" +if ((!(Test-Path "$ACS_ENGINE_FILE")) -or !$acsengineversion.equals("[Version: $desiredversion]")) { Write-Output "Downloading acs-engine.exe to $ACS_ENGINE_FILE" - $url = "https://github.com/Azure/acs-engine/releases/download/v0.11.0/acs-engine-v0.11.0-windows-amd64.zip" + $url = "https://github.com/Azure/acs-engine/releases/download/${desiredversion}/acs-engine-${desiredversion}-windows-amd64.zip" (New-Object System.Net.WebClient).DownloadFile($url, "$AKS_LOCAL_FOLDER\acs-engine.zip") Expand-Archive -Path "$AKS_LOCAL_FOLDER\acs-engine.zip" -DestinationPath "$AKS_LOCAL_FOLDER" -Force - Copy-Item -Path "$AKS_LOCAL_FOLDER\acs-engine-v0.11.0-windows-amd64\acs-engine.exe" -Destination $ACS_ENGINE_FILE + Copy-Item -Path "$AKS_LOCAL_FOLDER\acs-engine-${desiredversion}-windows-amd64\acs-engine.exe" -Destination $ACS_ENGINE_FILE } else { Write-Output "acs-engine.exe already exists at $ACS_ENGINE_FILE" @@ -193,17 +202,17 @@ if ($confirmation -eq 'y') { Write-Output "Finding existing vnets..." # az network vnet list --query "[].[name,resourceGroup ]" -o tsv - $vnets=az network vnet list --query "[].[name]" -o tsv + $vnets = az network vnet list --query "[].[name]" -o tsv Do { Write-Output "------ Existing vnets -------" - for ($i=1;$i -le $vnets.count; $i++) { + for ($i = 1; $i -le $vnets.count; $i++) { Write-Host "$i. $($vnets[$i-1])" } Write-Output "------ End vnets -------" $index = Read-Host "Enter number of vnet to use (1 - $($vnets.count))" - $AKS_VNET_NAME = $($vnets[$index-1]) + $AKS_VNET_NAME = $($vnets[$index - 1]) } while ([string]::IsNullOrWhiteSpace($AKS_VNET_NAME)) @@ -220,14 +229,14 @@ if ($confirmation -eq 'y') { Do { Write-Output "------ Subnets in $AKS_VNET_NAME -------" - for ($i=1;$i -le $subnets.count; $i++) { + for ($i = 1; $i -le $subnets.count; $i++) { Write-Host "$i. $($subnets[$i-1])" } Write-Output "------ End Subnets -------" Write-Host "NOTE: Each customer should have their own subnet. Do not put multiple customers in the same subnet" $index = Read-Host "Enter number of subnet to use (1 - $($subnets.count))" - $AKS_SUBNET_NAME = $($subnets[$index-1]) + $AKS_SUBNET_NAME = $($subnets[$index - 1]) } while ([string]::IsNullOrWhiteSpace($AKS_SUBNET_NAME)) @@ -379,6 +388,8 @@ if ("$AKS_SERVICE_PRINCIPAL_CLIENTID") { Write-Output "Creating Service Principal: [$AKS_SERVICE_PRINCIPAL_NAME]" $AKS_SERVICE_PRINCIPAL_CLIENTSECRET = az ad sp create-for-rbac --role="Owner" --scopes="$myscope" --name ${AKS_SERVICE_PRINCIPAL_NAME} --query "password" --output tsv + # the above command changes the color because it retries role assignment creation + [Console]::ResetColor() # https://github.com/Azure/azure-cli/issues/1332 Write-Output "Sleeping to wait for Service Principal to propagate" Start-Sleep -Seconds 30; @@ -418,7 +429,11 @@ if (!"$AKS_VNET_NAME") { $templateFile = "acs.template.nosubnet.json" } elseif ("$AKS_USE_AZURE_NETWORKING" -eq "yes") { - $templateFile = "acs.template.azurenetwork.json" + $templateFile = "acs.template.azurenetwork.json" +} +elseif ("$AKS_SUPPORT_WINDOWS_CONTAINERS" -eq "y") { + # https://github.com/Azure/acs-engine/issues/1767 + $templateFile = "acs.template.linuxwindows.json" } Write-Output "Using template: $templateFile" @@ -471,7 +486,7 @@ if ("$AKS_VNET_NAME") { # subnet CIDR to mask # https://doc.m0n0.ch/quickstartpc/intro-CIDR.html - +$WINDOWS_PASSWORD="replacepassword1234$" Write-Output "replacing values in the acs.json file" $MyFile = (Get-Content $output) | Foreach-Object {$_ -replace 'REPLACE-SSH-KEY', "${AKS_SSH_KEY}"} | @@ -480,8 +495,11 @@ $MyFile = (Get-Content $output) | Foreach-Object {$_ -replace 'REPLACE-SUBNET', "${mysubnetid}"} | Foreach-Object {$_ -replace 'REPLACE-DNS-NAME-PREFIX', "${dnsNamePrefix}"} | Foreach-Object {$_ -replace 'REPLACE-FIRST-STATIC-IP', "${AKS_FIRST_STATIC_IP}"} | + Foreach-Object {$_ -replace 'REPLACE-WINDOWS-PASSWORD', "${WINDOWS_PASSWORD}"} | Foreach-Object {$_ -replace 'REPLACE_VNET_CIDR', "${AKS_SUBNET_CIDR}"} + + # have to do it this way instead of Outfile so we can get a UTF-8 file without BOM # from https://stackoverflow.com/questions/5596982/using-powershell-to-write-a-file-in-utf-8-without-the-bom $Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding $False diff --git a/azure/ingress-roles.yml b/azure/ingress-roles.yml new file mode 100644 index 0000000..de91a6a --- /dev/null +++ b/azure/ingress-roles.yml @@ -0,0 +1,131 @@ +# from https://github.com/containous/traefik/blob/master/docs/user-guide/kubernetes.md +apiVersion: v1 +kind: ServiceAccount +metadata: + name: traefik-ingress-serviceaccount + namespace: kube-system +--- +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: ClusterRole +metadata: + name: traefik-ingress-clusterrole +rules: + - apiGroups: + - "" + resources: + - configmaps + - endpoints + - nodes + - pods + - secrets + verbs: + - get + - list + - watch + - apiGroups: + - "" + resources: + - nodes + verbs: + - get + - apiGroups: + - "" + resources: + - services + verbs: + - get + - list + - watch + - apiGroups: + - "extensions" + resources: + - ingresses + verbs: + - get + - list + - watch + - apiGroups: + - "" + resources: + - events + verbs: + - create + - patch + - apiGroups: + - "extensions" + resources: + - ingresses/status + verbs: + - update +--- +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: Role +metadata: + name: traefik-ingress-role + namespace: kube-system +rules: + - apiGroups: + - "" + resources: + - configmaps + - pods + - secrets + - namespaces + verbs: + - get + - apiGroups: + - "" + resources: + - configmaps + resourceNames: + # Defaults to "-" + # Here: "-" + # This has to be adapted if you change either parameter + # when launching the traefik-ingress-controller. + - "ingress-controller-leader-traefik" + verbs: + - get + - update + - apiGroups: + - "" + resources: + - configmaps + verbs: + - create + - apiGroups: + - "" + resources: + - endpoints + verbs: + - get + +--- + +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: RoleBinding +metadata: + name: traefik-ingress-role-nisa-binding + namespace: kube-system +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: traefik-ingress-role +subjects: + - kind: ServiceAccount + name: traefik-ingress-serviceaccount + namespace: kube-system + +--- + +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: ClusterRoleBinding +metadata: + name: traefik-ingress-clusterrole-nisa-binding +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: traefik-ingress-clusterrole +subjects: + - kind: ServiceAccount + name: traefik-ingress-serviceaccount + namespace: kube-system \ No newline at end of file diff --git a/azure/ingress.ssl.yml b/azure/ingress.ssl.yml index 1fbc6a0..69afe6f 100644 --- a/azure/ingress.ssl.yml +++ b/azure/ingress.ssl.yml @@ -31,13 +31,6 @@ data: # CertFile = "/ssl/ahmn/tls.crt" # KeyFile = "/ssl/ahmn/tls.key" --- -# service account to use for running the traefik ingress service -apiVersion: v1 -kind: ServiceAccount -metadata: - name: traefik-ingress-controller-serviceaccount - namespace: kube-system ---- # deployment of the pods for traefik service kind: Deployment apiVersion: extensions/v1beta1 @@ -58,7 +51,7 @@ spec: k8s-app: traefik-ingress-lb name: traefik-ingress-lb spec: - serviceAccountName: traefik-ingress-controller-serviceaccount + serviceAccountName: traefik-ingress-serviceaccount terminationGracePeriodSeconds: 60 volumes: - name: ssl-ahmn diff --git a/azure/ingress.yml b/azure/ingress.yml index c7c9daf..839fba0 100644 --- a/azure/ingress.yml +++ b/azure/ingress.yml @@ -18,12 +18,6 @@ data: address = ":80" WHITELISTIP --- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: traefik-ingress-controller-serviceaccount - namespace: kube-system ---- kind: Deployment apiVersion: extensions/v1beta1 metadata: @@ -43,7 +37,7 @@ spec: k8s-app: traefik-ingress-lb name: traefik-ingress-lb spec: - serviceAccountName: traefik-ingress-controller-serviceaccount + serviceAccountName: traefik-ingress-serviceaccount terminationGracePeriodSeconds: 60 volumes: - name: config diff --git a/azure/main.ps1 b/azure/main.ps1 index f8f9fec..1cfe9c3 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -53,7 +53,7 @@ do { } '4' { Start-Job -Name "KubDashboard" -ScriptBlock {kubectl proxy} - Start-Process -FilePath http://localhost:8001/ui + Start-Process -FilePath "http://localhost:8001/api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy" } '5' { $AKS_PERS_RESOURCE_GROUP_BASE64 = kubectl get secret azure-secret -o jsonpath='{.data.resourcegroup}' diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index 08ef84f..43cf514 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.01.18.3" +Write-output "Version 2018.01.19.1" # # This script is meant for quick & easy install via: @@ -205,6 +205,8 @@ kubectl create -f "$GITHUB_URL/azure/cafe-kube-dns.yml" kubectl delete ServiceAccount traefik-ingress-controller-serviceaccount -n kube-system --ignore-not-found=true +ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "azure/ingress-roles.yml" -customerid $customerid | kubectl apply -f - + if ($AKS_USE_SSL -eq "y" ) { # if the SSL cert is not set in kube secrets then ask for the files From 6fd057ccb88c619eaa5accd9c307a787a724e295 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 22 Jan 2018 08:41:51 -0800 Subject: [PATCH 066/473] fix bug in checking if file share exists Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 9 ++++++--- nlp/installnlpkubernetes.ps1 | 4 ++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index 4f41745..0cf5be7 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,4 +1,4 @@ -$version = "2018.01.17.1" +$version = "2018.01.22.1" Write-Host "Installed Common functions version $version" function global:GetCommonVersion(){ @@ -27,10 +27,13 @@ function global:CreateShare($resourceGroup, $sharename, $deleteExisting) { } } - if (!$(az storage share exists -n $sharename --connection-string $AZURE_STORAGE_CONNECTION_STRING --query "exists" -o tsv)) { + if ($(az storage share exists -n $sharename --connection-string $AZURE_STORAGE_CONNECTION_STRING --query "exists" -o tsv) -eq "false") { Write-Output "Creating the file share: $sharename" az storage share create -n $sharename --connection-string $AZURE_STORAGE_CONNECTION_STRING --quota 512 } + else { + Write-Output "File share already exists: $sharename" + } } @@ -106,7 +109,7 @@ function global:AskForPasswordAnyCharacters ($secretname, $prompt, $namespace, $ $mysqlrootpassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($mysqlrootpasswordsecure)) } } - while ($mysqlrootpassword.Length -lt 8 ) + while (($mysqlrootpassword.Length -lt 8 ) -and (!("$mysqlrootpassword" -eq "$defaultvalue"))) kubectl create secret generic $secretname --namespace=$namespace --from-literal=password=$mysqlrootpassword } else { diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index 6e911c5..faf2543 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -1,4 +1,4 @@ -Write-Output "Version 2018.01.17.2" +Write-Output "Version 2018.01.22.1" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | iex; $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -86,7 +86,7 @@ AskForPassword -secretname "mysqlrootpassword" -prompt "MySQL root password (> 8 AskForPassword -secretname "mysqlpassword" -prompt "MySQL NLP_APP_USER password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -namespace "fabricnlp" -AskForPasswordAnyCharacters -secretname "smtprelaypassword" -prompt "SMTP (SendGrid) Relay Key" -namespace "fabricnlp" +AskForPasswordAnyCharacters -secretname "smtprelaypassword" -prompt "SMTP (SendGrid) Relay Key" -namespace "fabricnlp" -defaultvalue "" Write-Output "Cleaning out any old resources in fabricnlp" From 2aa5150ea45ed7961a8931b5efaf5088abcc7aa8 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 22 Jan 2018 11:33:08 -0800 Subject: [PATCH 067/473] restart dns at the end of setup to reduce the changes of the DNS pod having errors Signed-off-by: HQCATALYST\imran.qureshi --- azure/create-acs-cluster.ps1 | 9 ++++++++- azure/kube-dns-patch.yml | 10 ++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 azure/kube-dns-patch.yml diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index ab87b24..b9321bb 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.01.17.01" +Write-output "Version 2018.01.22.01" # # This script is meant for quick & easy install via: @@ -651,5 +651,12 @@ kubectl create secret generic customerid --from-literal=value=$customerid kubectl get "deployments,pods,services,ingress,secrets" --namespace=kube-system -o wide +Write-Output "Restarting DNS Pods (sometimes they get in a CrashLoopBackoff loop)" +$failedItems = kubectl get pods -l k8s-app=kube-dns -n kube-system -o jsonpath='{range.items[*]}{.metadata.name}{\"\n\"}{end}' +ForEach ($line in $failedItems) { + Write-Host "Deleting pod $line" + kubectl delete pod $line -n kube-system +} + Write-Output "Run the following to see status of the cluster" Write-Output "kubectl get deployments,pods,services,ingress,secrets --namespace=kube-system -o wide" diff --git a/azure/kube-dns-patch.yml b/azure/kube-dns-patch.yml new file mode 100644 index 0000000..e20cd79 --- /dev/null +++ b/azure/kube-dns-patch.yml @@ -0,0 +1,10 @@ +kind: Deployment +apiVersion: "extensions/v1beta1" +metadata: + name: "kube-dns-v20" + namespace": "kube-system" +spec: + strategy: + # We need to kill the existing Pod before creating an new one + # for the new one to be able to attach the persistent disk. + type: Recreate From 67e63f50956f865cf0371081a4e20961e4af0ff4 Mon Sep 17 00:00:00 2001 From: Nate TFS Date: Tue, 23 Jan 2018 08:38:34 -0700 Subject: [PATCH 068/473] Added two new functions that are shared betwen identity and auth. Add-ServiceUserToDiscovery Invoke-SQL --- common/Fabric-Install-Utilities.psm1 | 49 +++++++++++++++++++++++++--- 1 file changed, 45 insertions(+), 4 deletions(-) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index 3cfd883..731f15e 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -51,7 +51,6 @@ function New-AppRoot($appDirectory, $iisUser){ function New-AppPool($appName, $userName, $credential){ Set-Location IIS:\AppPools - if(!(Test-Path $appName -PathType Container)) { Write-Console "AppPool $appName does not exist...creating." @@ -63,7 +62,8 @@ function New-AppPool($appName, $userName, $credential){ $appPool = Get-Item $appName } - if(![string]::IsNullOrEmpty($userName) -and $credential -ne $null) + Write-Host $userName $credential + if(!([string]::IsNullOrEmpty($userName) -and $credential -ne $null)) { $appPool.processModel.userName = $userName $appPool.processModel.password = $credential.GetNetworkCredential().Password @@ -407,6 +407,46 @@ function Test-IsRunAsAdministrator() return $currentPrincipal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator) } +function Add-ServiceUserToDiscovery($userName, $connString) +{ + + $query = "DECLARE @IdentityID int; + DECLARE @DiscoveryServiceUserRoleID int; + + SELECT @IdentityID = IdentityID FROM CatalystAdmin.IdentityBASE WHERE IdentityNM = @userName; + IF (@IdentityID IS NULL) + BEGIN + print ''-- Adding Identity''; + INSERT INTO CatalystAdmin.IdentityBASE (IdentityNM) VALUES (@userName); + SELECT @IdentityID = SCOPE_IDENTITY(); + END + + SELECT @DiscoveryServiceUserRoleID = RoleID FROM CatalystAdmin.RoleBASE WHERE RoleNM = 'DiscoveryServiceUser'; + IF (NOT EXISTS (SELECT 1 FROM CatalystAdmin.IdentityRoleBASE WHERE IdentityID = @IdentityID AND RoleID = @DiscoveryServiceUserRoleID)) + BEGIN + print ''-- Assigning Discovery Service user''; + INSERT INTO CatalystAdmin.IdentityRoleBASE (IdentityID, RoleID) VALUES (@IdentityID, @DiscoveryServiceUserRoleID); + END" + Invoke-Sql $connString $query @{userName=$userName} | Out-Null +} + +function Invoke-Sql($connectionString, $sql, $parameters=@{}){ + $connection = New-Object System.Data.SqlClient.SQLConnection($connectionString) + $command = New-Object System.Data.SqlClient.SqlCommand($sql, $connection) + + try { + foreach($p in $parameters.Keys){ + $command.Parameters.AddWithValue("@$p",$parameters[$p]) + } + + $connection.Open() + $command.ExecuteNonQuery() + $connection.Close() + }catch [System.Data.SqlClient.SqlException] { + Write-Error "An error ocurred while executing the command. Please ensure the connection string is correct and the identity database has been setup. Connection String: $($connectionString). Error $($_.Exception.Message)" -ErrorAction Stop + } +} + function Write-Success($message){ Write-Host $message -ForegroundColor Green } @@ -415,7 +455,6 @@ function Write-Console($message){ Write-Host $message -ForegroundColor Gray } - Export-ModuleMember -function Add-EnvironmentVariable Export-ModuleMember -function New-AppRoot Export-ModuleMember -function New-AppPool @@ -441,4 +480,6 @@ Export-ModuleMember -Function Get-CertsFromLocation Export-ModuleMember -Function Get-CertThumbprint Export-ModuleMember -Function Write-Success Export-ModuleMember -Function Write-Console -Export-ModuleMember -Function Test-IsRunAsAdministrator \ No newline at end of file +Export-ModuleMember -Function Test-IsRunAsAdministrator +Export-ModuleMember -Function Add-ServiceUserToDiscovery +Export-ModuleMember -Function Invoke-Sql \ No newline at end of file From 39d128306ec175936f11f949bf091a70f5ffb63f Mon Sep 17 00:00:00 2001 From: Nate TFS Date: Tue, 23 Jan 2018 12:43:31 -0700 Subject: [PATCH 069/473] Removed write-hoist debug line. --- common/Fabric-Install-Utilities.psm1 | 1 - 1 file changed, 1 deletion(-) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index 731f15e..cbbe27f 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -62,7 +62,6 @@ function New-AppPool($appName, $userName, $credential){ $appPool = Get-Item $appName } - Write-Host $userName $credential if(!([string]::IsNullOrEmpty($userName) -and $credential -ne $null)) { $appPool.processModel.userName = $userName From 4d38c0068ac7e098c9def208e93fdd4edb809394 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Sun, 28 Jan 2018 19:47:35 -0800 Subject: [PATCH 070/473] change storage type to "general purpose v2". create a folder for backups. Signed-off-by: HQCATALYST\imran.qureshi --- azure/copyfileshare.ps1 | 42 ++++++++++++++++++++++++++ azure/create-acs-cluster.ps1 | 7 +++-- nlp/installnlpkubernetes.ps1 | 6 +++- nlp/nlp-backups-cronjob.yml | 39 ++++++++++++++++++++++++ nlp/nlp-backups-manual.yml | 44 +++++++++++++++++++++++++++ nlp/nlp-kubernetes-storage.yml | 55 ++++++++++++++++++++++++++++++++++ nlp/nlp-mysql-client.yml | 41 +++++++++++++++++++++++++ 7 files changed, 230 insertions(+), 4 deletions(-) create mode 100644 azure/copyfileshare.ps1 create mode 100644 nlp/nlp-backups-cronjob.yml create mode 100644 nlp/nlp-backups-manual.yml create mode 100644 nlp/nlp-mysql-client.yml diff --git a/azure/copyfileshare.ps1 b/azure/copyfileshare.ps1 new file mode 100644 index 0000000..015e568 --- /dev/null +++ b/azure/copyfileshare.ps1 @@ -0,0 +1,42 @@ + + +# destination storage account name +$destResourceGroup = "Prod-Kub-AHMN-RG" +$destAccountName = "prodkubahmnrgstorage" +$destAccountKey = az storage account keys list -g $destResourceGroup -n $destAccountName --query "[0].value" -o tsv +$destConnectionString = az storage account show-connection-string -n $destAccountName -g $destResourceGroup -o tsv +az storage file generate-sas --path "" --share-name "fabricnlp" + +# source storage account +$srcResourceGroup = "Prod-NLP-RG" +$sourceAccountName = "prodnlpstorage" +$sourceAccountKey = az storage account keys list -g $srcResourceGroup -n $sourceAccountName --query "[0].value" -o tsv +$sourceSASToken = az storage file generate-sas +$sourceConnectionString = az storage account show-connection-string -n $sourceAccountName -g $srcResourceGroup -o tsv + +$sourceShare = "fabricnlp" + +# fabric nlp +az storage share snapshot ` + --name $sourceShare ` + --account-key $sourceAccountKey ` + --account-name $sourceAccountName ` + --connection-string $sourceConnectionString + + +az storage blob copy start-batch ` +--account-key $destAccountKey ` +--account-name $destAccountName ` +--connection-string $destConnectionString ` +--dryrun ` +--pattern "*" ` +--source-account-key $sourceAccountKey ` +--source-account-name $sourceAccountName ` +--source-share $sourceShare + + +# [--destination-container] +# [--source-container] +# [--sas-token] +# [--source-sas] +# [--source-uri] diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index b9321bb..e52e15d 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.01.22.01" +Write-output "Version 2018.01.28.01" # # This script is meant for quick & easy install via: @@ -632,12 +632,13 @@ if ($storageAccountCanBeCreated -ne "True" ) { if ($confirmation -eq 'y') { az storage account delete -n $AKS_PERS_STORAGE_ACCOUNT_NAME -g $AKS_PERS_RESOURCE_GROUP Write-Output "Creating storage account: [${AKS_PERS_STORAGE_ACCOUNT_NAME}]" - az storage account create -n $AKS_PERS_STORAGE_ACCOUNT_NAME -g $AKS_PERS_RESOURCE_GROUP -l $AKS_PERS_LOCATION --sku Standard_LRS + # https://docs.microsoft.com/en-us/azure/storage/common/storage-quickstart-create-account?tabs=azure-cli + az storage account create -n $AKS_PERS_STORAGE_ACCOUNT_NAME -g $AKS_PERS_RESOURCE_GROUP -l $AKS_PERS_LOCATION --kind StorageV2 --sku Standard_LRS } } else { Write-Output "Creating storage account: [${AKS_PERS_STORAGE_ACCOUNT_NAME}]" - az storage account create -n $AKS_PERS_STORAGE_ACCOUNT_NAME -g $AKS_PERS_RESOURCE_GROUP -l $AKS_PERS_LOCATION --sku Standard_LRS + az storage account create -n $AKS_PERS_STORAGE_ACCOUNT_NAME -g $AKS_PERS_RESOURCE_GROUP -l $AKS_PERS_LOCATION --kind StorageV2 --sku Standard_LRS } Write-Output "Get storage account key" diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index faf2543..4b873c3 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -1,4 +1,4 @@ -Write-Output "Version 2018.01.22.1" +Write-Output "Version 2018.01.28.01" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | iex; $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -40,6 +40,7 @@ while ([string]::IsNullOrWhiteSpace($AKS_USE_SSL)) # --zone-name $AKS_PERS_SHARE_NAME = "fabricnlp" +$AKS_PERS_BACKUP_SHARE_NAME="${AKS_PERS_SHARE_NAME}backups" $AKS_PERS_RESOURCE_GROUP_BASE64 = kubectl get secret azure-secret -o jsonpath='{.data.resourcegroup}' if (![string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP_BASE64)) { @@ -55,6 +56,7 @@ else { } CreateShare -resourceGroup $AKS_PERS_RESOURCE_GROUP -sharename $AKS_PERS_SHARE_NAME +CreateShare -resourceGroup $AKS_PERS_RESOURCE_GROUP -sharename $AKS_PERS_BACKUP_SHARE_NAME if ([string]::IsNullOrWhiteSpace($(kubectl get namespace fabricnlp --ignore-not-found=true))) { kubectl create namespace fabricnlp @@ -106,6 +108,8 @@ ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/nlp-kubernetes ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/nlp-mysql-private.yml" -customerid $customerid | kubectl create -f - +# ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/nlp-backups-manual.yml" -customerid $customerid | kubectl create -f - + Write-Output "Setting up reverse proxy" $ingressTemplate = "nlp/nlp-ingress.yml" diff --git a/nlp/nlp-backups-cronjob.yml b/nlp/nlp-backups-cronjob.yml new file mode 100644 index 0000000..dab0eb5 --- /dev/null +++ b/nlp/nlp-backups-cronjob.yml @@ -0,0 +1,39 @@ +apiVersion: batch/v1beta1 +kind: CronJob +metadata: + name: mysqlbackup + namespace: fabricnlp +spec: + #crontab schedule: https://crontab.guru + schedule: "0 * * * *" + jobTemplate: + spec: + template: + spec: + containers: + - name: mysqlclient + image: healthcatalyst/fabric.mysqlclient + imagePullPolicy: Always + # environment variables + env: + - name: MYSQL_PASSWORD + valueFrom: + secretKeyRef: + name: mysqlpassword + key: password + - name: MYSQL_DATABASE + # set the value of this environment variable directly + value: nlpmt + - name: MYSQL_USER + value: NLP_APP_USER + - name: MYSQL_SERVER + value: mysqlserver + - name: BACKUP_NAME_PREFIX + value: "nlpsql" + - name: DOBACKUP + value: true + # args: + # - /bin/sh + # - -c + # - date; echo Hello from the Kubernetes cluster + restartPolicy: OnFailure \ No newline at end of file diff --git a/nlp/nlp-backups-manual.yml b/nlp/nlp-backups-manual.yml new file mode 100644 index 0000000..0606b63 --- /dev/null +++ b/nlp/nlp-backups-manual.yml @@ -0,0 +1,44 @@ +apiVersion: batch/v1 +kind: Job +metadata: + name: mysqlbackup + namespace: fabricnlp +spec: + template: + spec: + containers: + - name: mysqlclient + image: healthcatalyst/fabric.mysqlclient + imagePullPolicy: Always + # this overrides the CMD command in docker + command: ["/bin/sh"] + # args: ["shell"] + # environment variables + env: + - name: MYSQL_PASSWORD + valueFrom: + secretKeyRef: + name: mysqlpassword + key: password + - name: MYSQL_DATABASE + # set the value of this environment variable directly + value: nlpmt + - name: MYSQL_USER + value: NLP_APP_USER + - name: MYSQL_SERVER + value: mysqlserver + - name: BACKUP_NAME_PREFIX + value: "nlpsql" + - name: DOBACKUP + value: "true" + volumeMounts: + - name: mysql-persistent-storage-backup + # point the /var/lib/mysql folder inside the container to the volume called mysql-persistent-storage + mountPath: /var/lib/mysql + subPath: mysqlbackups + restartPolicy: Never + volumes: + - name: mysql-persistent-storage-backup + persistentVolumeClaim: + claimName: az-files-mysql-backup + backoffLimit: 4 \ No newline at end of file diff --git a/nlp/nlp-kubernetes-storage.yml b/nlp/nlp-kubernetes-storage.yml index 4bce75a..54765ae 100644 --- a/nlp/nlp-kubernetes-storage.yml +++ b/nlp/nlp-kubernetes-storage.yml @@ -137,3 +137,58 @@ spec: requests: storage: 32Gi --- +# ----- MySql Backup ---------- +# Persistent Volume +apiVersion: v1 +kind: PersistentVolume +metadata: + name: azure-file-volume-mysql-backup + namespace: fabricnlp +spec: + storageClassName: default + capacity: + storage: 128Gi + # https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes + accessModes: + - ReadWriteMany + # https://kubernetes.io/docs/api-reference/v1.8/#azurefilepersistentvolumesource-v1-core + azureFile: + secretName: azure-secret + secretNamespace: default + shareName: fabricnlpbackups + readOnly: false + mountOptions: + # we need to set owner of this to mysql user (999) so it has permissions to this folder + - uid=999 + - gid=999 + # and set permissions for the user to this folder + # 0 no permissions + # 1 execute + # 2 write + # 3 write & execute + # 4 read + # 5 read & execute + # 6 read & write + # 7 read write & execute + # in 0731 0 is ignore, the 7 applies to owner, 3 applies to group, 1 applies to everyone else + - dir_mode=0731 + - file_mode=0764 + claimRef: + namespace: fabricnlp + name: az-files-mysql-backup +--- +# Persistent Volume Claim +# claims have to be defined here otherwise when we remove the pods the volume goes into Released mode +# and we can't bind to that volume again until we delete the volume +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: az-files-mysql-backup + namespace: fabricnlp +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 128Gi +--- diff --git a/nlp/nlp-mysql-client.yml b/nlp/nlp-mysql-client.yml new file mode 100644 index 0000000..5517b98 --- /dev/null +++ b/nlp/nlp-mysql-client.yml @@ -0,0 +1,41 @@ +apiVersion: v1 +kind: Pod +metadata: + name: mysqlclient + namespace: fabricnlp +spec: + containers: + - image: healthcatalyst/fabric.mysqlclient:latest + command: + - sleep + - "3600" + imagePullPolicy: Always + name: mysqlclient + env: + - name: MYSQL_PASSWORD + valueFrom: + secretKeyRef: + name: mysqlpassword + key: password + - name: MYSQL_DATABASE + # set the value of this environment variable directly + value: nlpmt + - name: MYSQL_USER + value: NLP_APP_USER + - name: MYSQL_SERVER + value: mysqlserver + - name: BACKUP_NAME_PREFIX + value: "nlpsql" + - name: DOBACKUP + value: "true" + volumeMounts: + - name: mysql-persistent-storage-backup + # point the /var/lib/mysql folder inside the container to the volume called mysql-persistent-storage + mountPath: /var/lib/mysql + subPath: mysqlbackups + volumes: + - name: mysql-persistent-storage-backup + persistentVolumeClaim: + claimName: az-files-mysql-backup + + restartPolicy: OnFailure \ No newline at end of file From 29cce23cbcb9bf6b0b5cee078ae2ed92e84040fc Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Sun, 28 Jan 2018 20:27:03 -0800 Subject: [PATCH 071/473] add schedule to cronjob to backup mysql every night Signed-off-by: HQCATALYST\imran.qureshi --- azure/copyfileshare.ps1 | 8 +++--- nlp/nlp-backups-cronjob.yml | 30 ++++++++++++++--------- nlp/nlp-backups-manual.yml | 14 +++++------ nlp/nlp-backups-restore.yml | 49 +++++++++++++++++++++++++++++++++++++ nlp/nlp-mysql-client.yml | 10 ++++---- 5 files changed, 83 insertions(+), 28 deletions(-) create mode 100644 nlp/nlp-backups-restore.yml diff --git a/azure/copyfileshare.ps1 b/azure/copyfileshare.ps1 index 015e568..3ad8b58 100644 --- a/azure/copyfileshare.ps1 +++ b/azure/copyfileshare.ps1 @@ -1,15 +1,15 @@ # destination storage account name -$destResourceGroup = "Prod-Kub-AHMN-RG" -$destAccountName = "prodkubahmnrgstorage" +$destResourceGroup = "Imran1" +$destAccountName = "imranstoragetest" $destAccountKey = az storage account keys list -g $destResourceGroup -n $destAccountName --query "[0].value" -o tsv $destConnectionString = az storage account show-connection-string -n $destAccountName -g $destResourceGroup -o tsv az storage file generate-sas --path "" --share-name "fabricnlp" # source storage account -$srcResourceGroup = "Prod-NLP-RG" -$sourceAccountName = "prodnlpstorage" +$srcResourceGroup = "fabrickubernetes" +$sourceAccountName = "fabrickubernetesstorage" $sourceAccountKey = az storage account keys list -g $srcResourceGroup -n $sourceAccountName --query "[0].value" -o tsv $sourceSASToken = az storage file generate-sas $sourceConnectionString = az storage account show-connection-string -n $sourceAccountName -g $srcResourceGroup -o tsv diff --git a/nlp/nlp-backups-cronjob.yml b/nlp/nlp-backups-cronjob.yml index dab0eb5..062427c 100644 --- a/nlp/nlp-backups-cronjob.yml +++ b/nlp/nlp-backups-cronjob.yml @@ -1,19 +1,24 @@ apiVersion: batch/v1beta1 kind: CronJob metadata: - name: mysqlbackup + name: mysql-cron-backup namespace: fabricnlp spec: #crontab schedule: https://crontab.guru - schedule: "0 * * * *" + # run every day at 1am + schedule: "0 1 * * *" + # run every 5 minutes + # schedule: "*/5 * * * *" jobTemplate: spec: template: spec: containers: - - name: mysqlclient + - name: mysql-cron-backup image: healthcatalyst/fabric.mysqlclient - imagePullPolicy: Always + imagePullPolicy: Always + # # this overrides the CMD command in docker + args: ["backup"] # environment variables env: - name: MYSQL_PASSWORD @@ -30,10 +35,13 @@ spec: value: mysqlserver - name: BACKUP_NAME_PREFIX value: "nlpsql" - - name: DOBACKUP - value: true - # args: - # - /bin/sh - # - -c - # - date; echo Hello from the Kubernetes cluster - restartPolicy: OnFailure \ No newline at end of file + volumeMounts: + - name: mysql-persistent-storage-backup + # point the /var/lib/mysql folder inside the container to the volume called mysql-persistent-storage + mountPath: /var/lib/mysql + subPath: mysqlbackups + restartPolicy: OnFailure + volumes: + - name: mysql-persistent-storage-backup + persistentVolumeClaim: + claimName: az-files-mysql-backup diff --git a/nlp/nlp-backups-manual.yml b/nlp/nlp-backups-manual.yml index 0606b63..e81bf9f 100644 --- a/nlp/nlp-backups-manual.yml +++ b/nlp/nlp-backups-manual.yml @@ -1,18 +1,17 @@ apiVersion: batch/v1 kind: Job metadata: - name: mysqlbackup + name: mysql-backup-onetime namespace: fabricnlp spec: template: spec: containers: - - name: mysqlclient + - name: mysql-backup-onetime image: healthcatalyst/fabric.mysqlclient imagePullPolicy: Always - # this overrides the CMD command in docker - command: ["/bin/sh"] - # args: ["shell"] + # # this overrides the CMD command in docker + args: ["backup"] # environment variables env: - name: MYSQL_PASSWORD @@ -29,8 +28,6 @@ spec: value: mysqlserver - name: BACKUP_NAME_PREFIX value: "nlpsql" - - name: DOBACKUP - value: "true" volumeMounts: - name: mysql-persistent-storage-backup # point the /var/lib/mysql folder inside the container to the volume called mysql-persistent-storage @@ -41,4 +38,5 @@ spec: - name: mysql-persistent-storage-backup persistentVolumeClaim: claimName: az-files-mysql-backup - backoffLimit: 4 \ No newline at end of file + # job failures: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/ + backoffLimit: 1 \ No newline at end of file diff --git a/nlp/nlp-backups-restore.yml b/nlp/nlp-backups-restore.yml new file mode 100644 index 0000000..33e936f --- /dev/null +++ b/nlp/nlp-backups-restore.yml @@ -0,0 +1,49 @@ +apiVersion: batch/v1 +kind: Job +metadata: + name: mysql-restore + namespace: fabricnlp +spec: + template: + spec: + containers: + - name: mysql-restore + image: healthcatalyst/fabric.mysqlclient + imagePullPolicy: Always + # # this overrides the CMD command in docker + args: ["restore"] + # environment variables + env: + - name: MYSQL_ROOT_PASSWORD + # set the value of this environment variable from a secret called mysqlrootpassword + valueFrom: + secretKeyRef: + name: mysqlrootpassword + key: password + - name: MYSQL_PASSWORD + valueFrom: + secretKeyRef: + name: mysqlpassword + key: password + - name: MYSQL_DATABASE + # set the value of this environment variable directly + value: nlpmt + - name: MYSQL_USER + value: NLP_APP_USER + - name: MYSQL_SERVER + value: mysqlserver + - name: BACKUP_NAME + value: "" + volumeMounts: + - name: mysql-persistent-storage-backup + # point the /var/lib/mysql folder inside the container to the volume called mysql-persistent-storage + mountPath: /var/lib/mysql + subPath: mysqlbackups + restartPolicy: Never + volumes: + - name: mysql-persistent-storage-backup + persistentVolumeClaim: + claimName: az-files-mysql-backup + # job failures: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/ + backoffLimit: 1 + diff --git a/nlp/nlp-mysql-client.yml b/nlp/nlp-mysql-client.yml index 5517b98..29ce08d 100644 --- a/nlp/nlp-mysql-client.yml +++ b/nlp/nlp-mysql-client.yml @@ -6,9 +6,11 @@ metadata: spec: containers: - image: healthcatalyst/fabric.mysqlclient:latest - command: - - sleep - - "3600" + # command: + # - sleep + # - "3600" + # # this overrides the CMD command in docker + args: ["sleep"] imagePullPolicy: Always name: mysqlclient env: @@ -26,8 +28,6 @@ spec: value: mysqlserver - name: BACKUP_NAME_PREFIX value: "nlpsql" - - name: DOBACKUP - value: "true" volumeMounts: - name: mysql-persistent-storage-backup # point the /var/lib/mysql folder inside the container to the volume called mysql-persistent-storage From c702ef7f2dc9aa8e9b57b164db76c4503d288257 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 29 Jan 2018 00:22:52 -0800 Subject: [PATCH 072/473] when user specifies a whitelist IP range, set up an internal load balancer in addition to the public load balancer so we can get to the environment Signed-off-by: HQCATALYST\imran.qureshi --- azure/main.ps1 | 4 +- azure/setup-loadbalancer.ps1 | 93 +++++++++++++++++++++++++----------- nlp/installnlpkubernetes.ps1 | 14 ++++-- 3 files changed, 78 insertions(+), 33 deletions(-) diff --git a/azure/main.ps1 b/azure/main.ps1 index 1cfe9c3..84e4701 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -52,8 +52,10 @@ do { kubectl get "deployments,pods,services,ingress,secrets" --namespace=kube-system -o wide } '4' { - Start-Job -Name "KubDashboard" -ScriptBlock {kubectl proxy} + $job = Start-Job -Name "KubDashboard" -ScriptBlock {kubectl proxy} Start-Process -FilePath "http://localhost:8001/api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy" + Start-Sleep -Seconds 5 + Receive-Job -Job $job } '5' { $AKS_PERS_RESOURCE_GROUP_BASE64 = kubectl get secret azure-secret -o jsonpath='{.data.resourcegroup}' diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index 43cf514..8e21697 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.01.19.1" +Write-output "Version 2018.01.28.01" # # This script is meant for quick & easy install via: @@ -144,31 +144,31 @@ if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { Do { $AKS_IP_WHITELIST = Read-Host "Enter IP range that should be able to access this cluster: ( ex: 127.0.0.1/32 or 192.168.1.7 )"} while ([string]::IsNullOrWhiteSpace($AKS_IP_WHITELIST)) - $vnets = az network vnet list --query "[].[name]" -o tsv + # $vnets = az network vnet list --query "[].[name]" -o tsv - Do { - Write-Output "------ Existing vnets -------" - for ($i = 1; $i -le $vnets.count; $i++) { - Write-Host "$i. $($vnets[$i-1])" - } - Write-Output "------ End vnets -------" - - $index = Read-Host "Enter number of vnet of this cluster so we can whitelist it (1 - $($vnets.count))" - $AKS_VNET_NAME = $($vnets[$index - 1]) - } - while ([string]::IsNullOrWhiteSpace($AKS_VNET_NAME)) + # Do { + # Write-Output "------ Existing vnets -------" + # for ($i = 1; $i -le $vnets.count; $i++) { + # Write-Host "$i. $($vnets[$i-1])" + # } + # Write-Output "------ End vnets -------" + + # $index = Read-Host "Enter number of vnet of this cluster so we can whitelist it (1 - $($vnets.count))" + # $AKS_VNET_NAME = $($vnets[$index - 1]) + # } + # while ([string]::IsNullOrWhiteSpace($AKS_VNET_NAME)) - $AKS_SUBNET_RESOURCE_GROUP = az network vnet list --query "[?name == '$AKS_VNET_NAME'].resourceGroup" -o tsv - Write-Output "Using vnet resource group: [$AKS_SUBNET_RESOURCE_GROUP]" + # $AKS_SUBNET_RESOURCE_GROUP = az network vnet list --query "[?name == '$AKS_VNET_NAME'].resourceGroup" -o tsv + # Write-Output "Using vnet resource group: [$AKS_SUBNET_RESOURCE_GROUP]" - Write-Output "Looking up CIDR for Vnet: [${AKS_VNET_NAME}] to add to whitelist" - $AKS_VNET_CIDR_LIST = az network vnet show --name ${AKS_VNET_NAME} --resource-group ${AKS_SUBNET_RESOURCE_GROUP} --query "addressSpace.addressPrefixes" --output tsv + # Write-Output "Looking up CIDR for Vnet: [${AKS_VNET_NAME}] to add to whitelist" + # $AKS_VNET_CIDR_LIST = az network vnet show --name ${AKS_VNET_NAME} --resource-group ${AKS_SUBNET_RESOURCE_GROUP} --query "addressSpace.addressPrefixes" --output tsv $WHITELIST = "" - foreach ($cidr in $AKS_VNET_CIDR_LIST) { - $WHITELIST = "${WHITELIST}`"${cidr}`"," - } + # foreach ($cidr in $AKS_VNET_CIDR_LIST) { + # $WHITELIST = "${WHITELIST}`"${cidr}`"," + # } $WHITELIST = "${WHITELIST}`"$AKS_IP_WHITELIST`"" @@ -178,8 +178,13 @@ if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { Write-Output "Whitelist: $AKS_IP_WHITELIST" } -Do { $AKS_USE_SSL = Read-Host "Do you want to setup SSL? (y/n)"} -while ([string]::IsNullOrWhiteSpace($AKS_USE_SSL)) +if ([string]::IsNullOrWhiteSpace($(kubectl get secret traefik-cert-ahmn -o jsonpath='{.data}' -n kube-system --ignore-not-found=true))) { + Do { $AKS_USE_SSL = Read-Host "Do you want to setup SSL? (y/n)"} + while ([string]::IsNullOrWhiteSpace($AKS_USE_SSL)) +} +else { + Write-Output "SSL cert already stored as secret (traefik-cert-ahmn) so setting up SSL" +} Do { $SETUP_DNS = Read-Host "Do you want to setup DNS entries in Azure? (y/n)"} while ([string]::IsNullOrWhiteSpace($SETUP_DNS)) @@ -248,6 +253,12 @@ if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { | Foreach-Object {$_ -replace 'PUBLICIP', "$publicip"} ` | kubectl create -f - + + if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { + # if we are restricting IPs then also deploy an internal load balancer + Write-Output "Setting up a internal load balancer since we are restricting IPs" + kubectl create -f "$GITHUB_URL/azure/loadbalancer-internal.yml" + } #kubectl create -f "$GITHUB_URL/azure/loadbalancer-public.yml" #kubectl patch service traefik-ingress-service-public --loadBalancerIP=52.191.114.120 @@ -255,7 +266,7 @@ if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { #kubectl patch deployment traefik-ingress-controller -p '{"spec":{"loadBalancerIP":"52.191.114.120"}}' } else { - Write-Output "Setting up a private load balancer" + Write-Output "Setting up an internal load balancer" kubectl create -f "$GITHUB_URL/azure/loadbalancer-internal.yml" } @@ -269,6 +280,8 @@ else { $loadbalancer = "traefik-ingress-service-private" } +$INTERNAL_IP = "" + Write-Output "Waiting for IP to get assigned to the load balancer (Note: It can take upto 5 minutes for Azure to finish creating the load balancer)" Do { Start-Sleep -Seconds 10 @@ -277,6 +290,17 @@ Do { } while ([string]::IsNullOrWhiteSpace($EXTERNAL_IP) -and ($startDate.AddMinutes($timeoutInMinutes) -gt (Get-Date))) +if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { + Write-Output "Waiting for IP to get assigned to the internal load balancer (Note: It can take upto 5 minutes for Azure to finish creating the load balancer)" + Do { + Start-Sleep -Seconds 10 + Write-Output "." + $INTERNAL_IP = $(kubectl get svc traefik-ingress-service-private -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}') + } + while ([string]::IsNullOrWhiteSpace($INTERNAL_IP) -and ($startDate.AddMinutes($timeoutInMinutes) -gt (Get-Date))) +} + + $dnsrecordname = "$customerid.healthcatalyst.net" if ($AKS_USE_WAF -eq "y") { @@ -441,12 +465,27 @@ else { } Write-Output "External IP: $EXTERNAL_IP" +if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { + Write-Output "Internal IP: $INTERNAL_IP" +} -Write-Output "Testing load balancer" -Invoke-WebRequest -useb -Headers @{"Host" = "dashboard.$dnsrecordname"} -Uri http://$EXTERNAL_IP/ | Select-Object -Expand Content +if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { + Write-Output "Testing internal load balancer" + Invoke-WebRequest -useb -Headers @{"Host" = "dashboard.$dnsrecordname"} -Uri http://$INTERNAL_IP/ | Select-Object -Expand Content + + Write-Output "To test out the load balancer since the vnet, open Git Bash and run:" + Write-Output "curl -L --verbose --header 'Host: dashboard.$dnsrecordname' 'http://$INTERNAL_IP/'" -Write-Output "To test out the load balancer, open Git Bash and run:" -Write-Output "curl -L --verbose --header 'Host: dashboard.$dnsrecordname' 'http://$EXTERNAL_IP/'" + Write-Output "To test out the load balancer from one of the whitelist IPs, open Git Bash and run:" + Write-Output "curl -L --verbose --header 'Host: dashboard.$dnsrecordname' 'http://$EXTERNAL_IP/'" +} +else { + Write-Output "Testing load balancer" + Invoke-WebRequest -useb -Headers @{"Host" = "dashboard.$dnsrecordname"} -Uri http://$EXTERNAL_IP/ | Select-Object -Expand Content + + Write-Output "To test out the load balancer, open Git Bash and run:" + Write-Output "curl -L --verbose --header 'Host: dashboard.$dnsrecordname' 'http://$EXTERNAL_IP/'" +} diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index 4b873c3..196095e 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -1,4 +1,4 @@ -Write-Output "Version 2018.01.28.01" +Write-Output "Version 2018.01.28.02" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | iex; $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -27,8 +27,12 @@ else { az login } -Do { $AKS_USE_SSL = Read-Host "Do you want to setup SSL? (y/n)"} -while ([string]::IsNullOrWhiteSpace($AKS_USE_SSL)) +if ([string]::IsNullOrWhiteSpace($(kubectl get secret traefik-cert-ahmn -o jsonpath='{.data}' -n kube-system --ignore-not-found=true))) { + $AKS_USE_SSL = "" +} +else { + $AKS_USE_SSL = "y" +} # https://kubernetes.io/docs/reference/kubectl/jsonpath/ @@ -40,7 +44,7 @@ while ([string]::IsNullOrWhiteSpace($AKS_USE_SSL)) # --zone-name $AKS_PERS_SHARE_NAME = "fabricnlp" -$AKS_PERS_BACKUP_SHARE_NAME="${AKS_PERS_SHARE_NAME}backups" +$AKS_PERS_BACKUP_SHARE_NAME = "${AKS_PERS_SHARE_NAME}backups" $AKS_PERS_RESOURCE_GROUP_BASE64 = kubectl get secret azure-secret -o jsonpath='{.data.resourcegroup}' if (![string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP_BASE64)) { @@ -108,7 +112,7 @@ ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/nlp-kubernetes ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/nlp-mysql-private.yml" -customerid $customerid | kubectl create -f - -# ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/nlp-backups-manual.yml" -customerid $customerid | kubectl create -f - +ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/nlp-backups-cronjob.yml" -customerid $customerid | kubectl create -f - Write-Output "Setting up reverse proxy" From 7407cb60ae48aa67d5ebcba6000891d1b1571c1f Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 29 Jan 2018 01:45:36 -0800 Subject: [PATCH 073/473] allow multiple IP ranges for whitelisting Signed-off-by: HQCATALYST\imran.qureshi --- azure/setup-loadbalancer.ps1 | 56 ++++++++++++++++++++++-------------- 1 file changed, 34 insertions(+), 22 deletions(-) diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index 8e21697..a409aff 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.01.28.01" +Write-output "Version 2018.01.28.02" # # This script is meant for quick & easy install via: @@ -141,36 +141,46 @@ else { if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { - Do { $AKS_IP_WHITELIST = Read-Host "Enter IP range that should be able to access this cluster: ( ex: 127.0.0.1/32 or 192.168.1.7 )"} + Do { $AKS_IP_WHITELIST = Read-Host "Enter IP range that should be able to access this cluster: ( ex: 127.0.0.1/32 or 192.168.1.7. separate multiple by space. )"} while ([string]::IsNullOrWhiteSpace($AKS_IP_WHITELIST)) - # $vnets = az network vnet list --query "[].[name]" -o tsv + $AKS_IP_WHITELIST_ITEMS = $AKS_IP_WHITELIST.split(" ") - # Do { - # Write-Output "------ Existing vnets -------" - # for ($i = 1; $i -le $vnets.count; $i++) { - # Write-Host "$i. $($vnets[$i-1])" - # } - # Write-Output "------ End vnets -------" + $vnets = az network vnet list --query "[].[name]" -o tsv - # $index = Read-Host "Enter number of vnet of this cluster so we can whitelist it (1 - $($vnets.count))" - # $AKS_VNET_NAME = $($vnets[$index - 1]) - # } - # while ([string]::IsNullOrWhiteSpace($AKS_VNET_NAME)) + Do { + Write-Output "------ Existing vnets -------" + for ($i = 1; $i -le $vnets.count; $i++) { + Write-Host "$i. $($vnets[$i-1])" + } + Write-Output "------ End vnets -------" + + $index = Read-Host "Enter number of vnet of this cluster so we can whitelist it (1 - $($vnets.count))" + $AKS_VNET_NAME = $($vnets[$index - 1]) + } + while ([string]::IsNullOrWhiteSpace($AKS_VNET_NAME)) - # $AKS_SUBNET_RESOURCE_GROUP = az network vnet list --query "[?name == '$AKS_VNET_NAME'].resourceGroup" -o tsv - # Write-Output "Using vnet resource group: [$AKS_SUBNET_RESOURCE_GROUP]" + $AKS_SUBNET_RESOURCE_GROUP = az network vnet list --query "[?name == '$AKS_VNET_NAME'].resourceGroup" -o tsv + Write-Output "Using vnet resource group: [$AKS_SUBNET_RESOURCE_GROUP]" - # Write-Output "Looking up CIDR for Vnet: [${AKS_VNET_NAME}] to add to whitelist" - # $AKS_VNET_CIDR_LIST = az network vnet show --name ${AKS_VNET_NAME} --resource-group ${AKS_SUBNET_RESOURCE_GROUP} --query "addressSpace.addressPrefixes" --output tsv + Write-Output "Looking up CIDR for Vnet: [${AKS_VNET_NAME}] to add to whitelist" + $AKS_VNET_CIDR_LIST = az network vnet show --name ${AKS_VNET_NAME} --resource-group ${AKS_SUBNET_RESOURCE_GROUP} --query "addressSpace.addressPrefixes" --output tsv $WHITELIST = "" - # foreach ($cidr in $AKS_VNET_CIDR_LIST) { - # $WHITELIST = "${WHITELIST}`"${cidr}`"," - # } - - $WHITELIST = "${WHITELIST}`"$AKS_IP_WHITELIST`"" + foreach ($cidr in $AKS_VNET_CIDR_LIST) { + if (![string]::IsNullOrWhiteSpace($WHITELIST)) { + $WHITELIST = "${WHITELIST}," + } + $WHITELIST = "${WHITELIST}`"${cidr}`"" + } + + foreach ($cidr in $AKS_IP_WHITELIST_ITEMS) { + if (![string]::IsNullOrWhiteSpace($WHITELIST)) { + $WHITELIST = "${WHITELIST}," + } + $WHITELIST = "${WHITELIST}`"${cidr}`"" + } $WHITELIST = "${WHITELIST}" @@ -289,6 +299,7 @@ Do { $EXTERNAL_IP = $(kubectl get svc $loadbalancer -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}') } while ([string]::IsNullOrWhiteSpace($EXTERNAL_IP) -and ($startDate.AddMinutes($timeoutInMinutes) -gt (Get-Date))) +Write-Output "External IP: $EXTERNAL_IP" if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { Write-Output "Waiting for IP to get assigned to the internal load balancer (Note: It can take upto 5 minutes for Azure to finish creating the load balancer)" @@ -298,6 +309,7 @@ if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { $INTERNAL_IP = $(kubectl get svc traefik-ingress-service-private -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}') } while ([string]::IsNullOrWhiteSpace($INTERNAL_IP) -and ($startDate.AddMinutes($timeoutInMinutes) -gt (Get-Date))) + Write-Output "Internal IP: $INTERNAL_IP" } From 83cd075b9b312f47b63dd8ae5109b9813dbc8f30 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 29 Jan 2018 02:31:47 -0800 Subject: [PATCH 074/473] try not setting the secret name in nlp ingress to see if it will inherit Signed-off-by: HQCATALYST\imran.qureshi --- azure/loadbalancer-internal.yml | 3 --- nlp/installnlpkubernetes.ps1 | 2 +- nlp/nlp-ingress-ssl.yml | 12 ++++++------ 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/azure/loadbalancer-internal.yml b/azure/loadbalancer-internal.yml index a29d128..bb22f8e 100644 --- a/azure/loadbalancer-internal.yml +++ b/azure/loadbalancer-internal.yml @@ -19,9 +19,6 @@ spec: - protocol: TCP port: 80 name: web - - protocol: TCP - port: 8080 - name: admin - protocol: TCP port: 443 name: ssl diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index 196095e..bb9503e 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -97,7 +97,7 @@ AskForPasswordAnyCharacters -secretname "smtprelaypassword" -prompt "SMTP (SendG Write-Output "Cleaning out any old resources in fabricnlp" # note kubectl doesn't like spaces in between commas below -kubectl delete --all 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes' --namespace=fabricnlp --ignore-not-found=true +kubectl delete --all 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes,jobs,cronjobs' --namespace=fabricnlp --ignore-not-found=true Write-Output "Waiting until all the resources are cleared up" diff --git a/nlp/nlp-ingress-ssl.yml b/nlp/nlp-ingress-ssl.yml index b648740..ac407db 100644 --- a/nlp/nlp-ingress-ssl.yml +++ b/nlp/nlp-ingress-ssl.yml @@ -6,12 +6,12 @@ metadata: annotations: kubernetes.io/ingress.class: traefik spec: - tls: - - secretName: ssl-ahmn - hosts: - - solr.CUSTOMERID.healthcatalyst.net - - nlp.CUSTOMERID.healthcatalyst.net - - nlpjobs.CUSTOMERID.healthcatalyst.net + # tls: + # - secretName: ssl-ahmn + # hosts: + # - solr.CUSTOMERID.healthcatalyst.net + # - nlp.CUSTOMERID.healthcatalyst.net + # - nlpjobs.CUSTOMERID.healthcatalyst.net rules: - host: solr.CUSTOMERID.healthcatalyst.net http: From 657aefc91524d10245741f99c16181c96f0bf19f Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 29 Jan 2018 02:41:54 -0800 Subject: [PATCH 075/473] add WHITELIST to https endpoint also Signed-off-by: HQCATALYST\imran.qureshi --- azure/ingress.ssl.yml | 5 +++++ nlp/nlp-ingress-ssl.yml | 12 ++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/azure/ingress.ssl.yml b/azure/ingress.ssl.yml index 69afe6f..00be4f0 100644 --- a/azure/ingress.ssl.yml +++ b/azure/ingress.ssl.yml @@ -21,6 +21,7 @@ data: [entryPoints.http.redirect] entryPoint = "https" [entryPoints.https] + WHITELISTIP address = ":443" [entryPoints.https.tls] [[entryPoints.https.tls.certificates]] @@ -109,6 +110,10 @@ metadata: annotations: kubernetes.io/ingress.class: traefik spec: + tls: + - secretName: ssl-ahmn + hosts: + - dashboard.CUSTOMERID.healthcatalyst.net rules: - host: dashboard.CUSTOMERID.healthcatalyst.net http: diff --git a/nlp/nlp-ingress-ssl.yml b/nlp/nlp-ingress-ssl.yml index ac407db..b648740 100644 --- a/nlp/nlp-ingress-ssl.yml +++ b/nlp/nlp-ingress-ssl.yml @@ -6,12 +6,12 @@ metadata: annotations: kubernetes.io/ingress.class: traefik spec: - # tls: - # - secretName: ssl-ahmn - # hosts: - # - solr.CUSTOMERID.healthcatalyst.net - # - nlp.CUSTOMERID.healthcatalyst.net - # - nlpjobs.CUSTOMERID.healthcatalyst.net + tls: + - secretName: ssl-ahmn + hosts: + - solr.CUSTOMERID.healthcatalyst.net + - nlp.CUSTOMERID.healthcatalyst.net + - nlpjobs.CUSTOMERID.healthcatalyst.net rules: - host: solr.CUSTOMERID.healthcatalyst.net http: From 7ed276bfa2977e486bb587beb07296973611f1ba Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 29 Jan 2018 03:10:02 -0800 Subject: [PATCH 076/473] move WHITELISTIP to last row in traefik config Signed-off-by: HQCATALYST\imran.qureshi --- azure/ingress.ssl.yml | 4 ++-- azure/setup-loadbalancer.ps1 | 6 +++--- nlp/nlp-ingress-ssl.yml | 1 + 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/azure/ingress.ssl.yml b/azure/ingress.ssl.yml index 00be4f0..3348d0c 100644 --- a/azure/ingress.ssl.yml +++ b/azure/ingress.ssl.yml @@ -17,11 +17,9 @@ data: [entryPoints] [entryPoints.http] address = ":80" - WHITELISTIP [entryPoints.http.redirect] entryPoint = "https" [entryPoints.https] - WHITELISTIP address = ":443" [entryPoints.https.tls] [[entryPoints.https.tls.certificates]] @@ -31,6 +29,8 @@ data: # [[entryPoints.https.tls.certificates]] # CertFile = "/ssl/ahmn/tls.crt" # KeyFile = "/ssl/ahmn/tls.key" + WHITELISTIP + --- # deployment of the pods for traefik service kind: Deployment diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index a409aff..c90ad5b 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.01.28.02" +Write-output "Version 2018.01.28.03" # # This script is meant for quick & easy install via: @@ -170,14 +170,14 @@ if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { foreach ($cidr in $AKS_VNET_CIDR_LIST) { if (![string]::IsNullOrWhiteSpace($WHITELIST)) { - $WHITELIST = "${WHITELIST}," + $WHITELIST = "${WHITELIST}, " } $WHITELIST = "${WHITELIST}`"${cidr}`"" } foreach ($cidr in $AKS_IP_WHITELIST_ITEMS) { if (![string]::IsNullOrWhiteSpace($WHITELIST)) { - $WHITELIST = "${WHITELIST}," + $WHITELIST = "${WHITELIST}, " } $WHITELIST = "${WHITELIST}`"${cidr}`"" } diff --git a/nlp/nlp-ingress-ssl.yml b/nlp/nlp-ingress-ssl.yml index b648740..29ef21a 100644 --- a/nlp/nlp-ingress-ssl.yml +++ b/nlp/nlp-ingress-ssl.yml @@ -6,6 +6,7 @@ metadata: annotations: kubernetes.io/ingress.class: traefik spec: + # https://v1-8.docs.kubernetes.io/docs/api-reference/v1.8/#ingresstls-v1beta1-extensions tls: - secretName: ssl-ahmn hosts: From f95d797a505ea0e119660775722808fd8eb7344c Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 29 Jan 2018 03:14:41 -0800 Subject: [PATCH 077/473] set AKS_USE_SSL to true if ssl cert exists Signed-off-by: HQCATALYST\imran.qureshi --- azure/setup-loadbalancer.ps1 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index c90ad5b..9a5441f 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.01.28.03" +Write-output "Version 2018.01.28.04" # # This script is meant for quick & easy install via: @@ -193,6 +193,7 @@ if ([string]::IsNullOrWhiteSpace($(kubectl get secret traefik-cert-ahmn -o jsonp while ([string]::IsNullOrWhiteSpace($AKS_USE_SSL)) } else { + $AKS_USE_SSL="y" Write-Output "SSL cert already stored as secret (traefik-cert-ahmn) so setting up SSL" } From 2cc12165a1c95dadc14acff18d62eb5a085340bd Mon Sep 17 00:00:00 2001 From: Nate TFS Date: Mon, 29 Jan 2018 10:20:15 -0700 Subject: [PATCH 078/473] Removed negating logic in New-AppPool function --- common/Fabric-Install-Utilities.psm1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index cbbe27f..a1e35fd 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -62,7 +62,7 @@ function New-AppPool($appName, $userName, $credential){ $appPool = Get-Item $appName } - if(!([string]::IsNullOrEmpty($userName) -and $credential -ne $null)) + if(![string]::IsNullOrEmpty($userName) -and $credential -ne $null) { $appPool.processModel.userName = $userName $appPool.processModel.password = $credential.GetNetworkCredential().Password From 9aed66b40ab74447d9d82bc6e42fd5a019d62242 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 29 Jan 2018 09:55:44 -0800 Subject: [PATCH 079/473] move WHITELISTIP to the top Signed-off-by: HQCATALYST\imran.qureshi --- azure/ingress.ssl.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure/ingress.ssl.yml b/azure/ingress.ssl.yml index 3348d0c..0cd0b28 100644 --- a/azure/ingress.ssl.yml +++ b/azure/ingress.ssl.yml @@ -21,6 +21,7 @@ data: entryPoint = "https" [entryPoints.https] address = ":443" + WHITELISTIP [entryPoints.https.tls] [[entryPoints.https.tls.certificates]] # TLS certs for Allina (AHMN): *.ahmn.healthcatalyst.net @@ -29,7 +30,6 @@ data: # [[entryPoints.https.tls.certificates]] # CertFile = "/ssl/ahmn/tls.crt" # KeyFile = "/ssl/ahmn/tls.key" - WHITELISTIP --- # deployment of the pods for traefik service From f92a8ed38bf691afd5bdf0d85362c4aa5ae36e39 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 29 Jan 2018 11:40:59 -0800 Subject: [PATCH 080/473] create network security group for subnet Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 17 ++-- azure/create-acs-cluster.ps1 | 7 +- azure/ingress.ssl.yml | 1 - azure/ingress.yml | 1 - azure/setup-loadbalancer.ps1 | 185 +++++++++++++++++++++++++---------- 5 files changed, 148 insertions(+), 63 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index 0cf5be7..93bb5bb 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,4 +1,4 @@ -$version = "2018.01.22.1" +$version = "2018.01.29.1" Write-Host "Installed Common functions version $version" function global:GetCommonVersion(){ @@ -36,21 +36,20 @@ function global:CreateShare($resourceGroup, $sharename, $deleteExisting) { } } - -function global:ReadSecret($secretname, $namespace) { +function global:ReadSecretValue($secretname, $valueName, $namespace) { if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} - $secretbase64 = kubectl get secret $secretname -o jsonpath='{.data.value}' -n $namespace + $secretbase64 = kubectl get secret $secretname -o jsonpath="{.data.${valueName}}" -n $namespace $secretvalue = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($secretbase64)) return $secretvalue } -function global:ReadSecretPassword($secretname, $namespace) { - if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} +function global:ReadSecret($secretname, $namespace) { + return ReadSecretValue -secretname $secretname -valueName "value" -namespace $namespace +} - $secretbase64 = kubectl get secret $secretname -o jsonpath='{.data.password}' -n $namespace - $secretvalue = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($secretbase64)) - return $secretvalue +function global:ReadSecretPassword($secretname, $namespace) { + return ReadSecretValue -secretname $secretname -valueName "password" -namespace $namespace } function global:GeneratePassword() { diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index e52e15d..02ebb29 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.01.28.01" +Write-output "Version 2018.01.29.01" # # This script is meant for quick & easy install via: @@ -646,9 +646,12 @@ $STORAGE_KEY = az storage account keys list --resource-group $AKS_PERS_RESOURCE_ # Write-Output "Storagekey: [$STORAGE_KEY]" -Write-Output "Creating kubernetes secret" +Write-Output "Creating kubernetes secret for Azure Storage Account: azure-secret" kubectl create secret generic azure-secret --from-literal=resourcegroup="${AKS_PERS_RESOURCE_GROUP}" --from-literal=azurestorageaccountname="${AKS_PERS_STORAGE_ACCOUNT_NAME}" --from-literal=azurestorageaccountkey="${STORAGE_KEY}" +Write-Output "Creating kubernetes secret for customerid: customerid" kubectl create secret generic customerid --from-literal=value=$customerid +Write-Output "Creating kubernetes secret for vnet: azure-vnet" +kubectl create secret generic azure-vnet --from-literal=vnet="${AKS_VNET_NAME}" --from-literal=subnet="${AKS_SUBNET_NAME}" --from-literal=subnetResourceGroup="${AKS_SUBNET_RESOURCE_GROUP}" kubectl get "deployments,pods,services,ingress,secrets" --namespace=kube-system -o wide diff --git a/azure/ingress.ssl.yml b/azure/ingress.ssl.yml index 0cd0b28..eeccb79 100644 --- a/azure/ingress.ssl.yml +++ b/azure/ingress.ssl.yml @@ -21,7 +21,6 @@ data: entryPoint = "https" [entryPoints.https] address = ":443" - WHITELISTIP [entryPoints.https.tls] [[entryPoints.https.tls.certificates]] # TLS certs for Allina (AHMN): *.ahmn.healthcatalyst.net diff --git a/azure/ingress.yml b/azure/ingress.yml index 839fba0..7ad0d31 100644 --- a/azure/ingress.yml +++ b/azure/ingress.yml @@ -16,7 +16,6 @@ data: [entryPoints] [entryPoints.http] address = ":80" - WHITELISTIP --- kind: Deployment apiVersion: extensions/v1beta1 diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index 9a5441f..cd851f7 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.01.28.04" +Write-output "Version 2018.01.29.01" # # This script is meant for quick & easy install via: @@ -68,6 +68,138 @@ Do { } while ([string]::IsNullOrWhiteSpace($AKS_CLUSTER_ACCESS_TYPE)) +# read the vnet and subnet info from kubernetes secret +$AKS_VNET_NAME = ReadSecretValue -secretname azure-vnet -valueName "vnet" +$AKS_SUBNET_NAME = ReadSecretValue -secretname azure-vnet -valueName "subnet" +$AKS_SUBNET_RESOURCE_GROUP = ReadSecretValue -secretname azure-vnet -valueName "subnetResourceGroup" + +Write-Output "Found vnet info from secret: vnet: $AKS_VNET_NAME, subnet: $AKS_SUBNET_NAME, subnetResourceGroup: $AKS_SUBNET_RESOURCE_GROUP" + +$AKS_ALLOW_ADMIN_ACCESS_OUTSIDE_VNET = Read-Host "Do you want to allow admin access to this cluster from outside the vnet: ${AKS_VNET_NAME}? (y/n) (default: n)" + +if ([string]::IsNullOrWhiteSpace($AKS_ALLOW_ADMIN_ACCESS_OUTSIDE_VNET)) { + $AKS_ALLOW_ADMIN_ACCESS_OUTSIDE_VNET = "n" +} + +$AKS_IP_WHITELIST = "" +if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { + + Do { $AKS_IP_WHITELIST = Read-Host "Enter IP range that should be able to access this cluster: ( ex: 127.0.0.1/32 192.168.1.7. separate multiple IPs by a space.)"} + while ([string]::IsNullOrWhiteSpace($AKS_IP_WHITELIST)) + + # $AKS_IP_WHITELIST_ITEMS = $AKS_IP_WHITELIST.split(" ") + + # $WHITELIST = "" + + # foreach ($cidr in $AKS_IP_WHITELIST_ITEMS) { + # if (![string]::IsNullOrWhiteSpace($WHITELIST)) { + # $WHITELIST = "${WHITELIST} " + # } + # $WHITELIST = "${WHITELIST}${cidr}" + # } + + # $AKS_IP_WHITELIST = "$WHITELIST" + Write-Output "Whitelist: $AKS_IP_WHITELIST" +} + +Write-Output "Setting up Network Security Group for the subnet" + +# setup network security group +$AKS_PERS_NETWORK_SECURITY_GROUP = "$($AKS_PERS_RESOURCE_GROUP.ToLower())-nsg" + +if ([string]::IsNullOrWhiteSpace($(az network nsg show -g $AKS_PERS_RESOURCE_GROUP -n $AKS_PERS_NETWORK_SECURITY_GROUP))) { + + Write-Output "Creating the Network Security Group for the subnet" + az network nsg create -g $AKS_PERS_RESOURCE_GROUP -n $AKS_PERS_NETWORK_SECURITY_GROUP +} +else { + Write-Output "Network Security Group already exists: $AKS_PERS_NETWORK_SECURITY_GROUP" +} + +Write-Output "Adding or updating rules to Network Security Group for the subnet" +$sourceTagForAdminAccess = "VirtualNetwork" +if ($AKS_ALLOW_ADMIN_ACCESS_OUTSIDE_VNET -eq "y") { + $sourceTagForAdminAccess = "Internet" + Write-Output "Enabling admin access to cluster from Internet" +} + +if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "allow-kube-tls" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { + az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow-kube-tls --priority 100 ` + --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` + --protocol Tcp --description "allow kubectl access from ${sourceTagForAdminAccess}." +} +else { + az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow-kube-tls --priority 100 ` + --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` + --protocol Tcp --description "allow kubectl access from ${sourceTagForAdminAccess}." +} +if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "allow-ssh" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { + az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow-ssh --priority 101 ` + --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges 22 --access Allow ` + --protocol Tcp --description "allow ssh access from ${sourceTagForAdminAccess}." +} +else { + az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow-ssh --priority 101 ` + --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges 22 --access Allow ` + --protocol Tcp --description "allow ssh access from ${sourceTagForAdminAccess}." +} + +if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "mysql" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { + az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n mysql --priority 105 ` + --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges 3306 --access Allow ` + --protocol Tcp --description "allow mysql access from ${sourceTagForAdminAccess}." +} +else { + az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n mysql --priority 105 ` + --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges 3306 --access Allow ` + --protocol Tcp --description "allow mysql access from ${sourceTagForAdminAccess}." +} + + +$sourceTagForHttpAccess = "Internet" +if (![string]::IsNullOrWhiteSpace($AKS_IP_WHITELIST)) { + $sourceTagForHttpAccess = $AKS_IP_WHITELIST +} + +if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "HttpPort" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { + az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpPort --priority 500 ` + --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges 80 --access Allow ` + --protocol Tcp --description "allow HTTP access from $sourceTagForHttpAccess." +} +else { + az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpPort --priority 500 ` + --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges 80 --access Allow ` + --protocol Tcp --description "allow HTTP access from $sourceTagForHttpAccess." +} + +if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "HttpsPort" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { + az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpsPort --priority 501 ` + --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` + --protocol Tcp --description "allow HTTPS access from $sourceTagForHttpAccess." +} +else { + az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpsPort --priority 501 ` + --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` + --protocol Tcp --description "allow HTTPS access from $sourceTagForHttpAccess." +} + +$nsgid = az network nsg list --resource-group ${AKS_PERS_RESOURCE_GROUP} --query "[?name != '${AKS_PERS_NETWORK_SECURITY_GROUP}'].id" -o tsv +Write-Output "Found ID for ${AKS_PERS_NETWORK_SECURITY_GROUP}: $nsgid" + +Write-Output "Setting NSG into subnet" +az network vnet subnet update -n "${AKS_SUBNET_NAME}" -g "${AKS_SUBNET_RESOURCE_GROUP}" --vnet-name "${AKS_VNET_NAME}" --network-security-group "$nsgid" + + $AKS_USE_WAF = Read-Host "Do you want to use Azure Application Gateway with WAF? (y/n) (default: n)" if ([string]::IsNullOrWhiteSpace($AKS_USE_WAF)) { @@ -139,61 +271,13 @@ else { } -if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { - - Do { $AKS_IP_WHITELIST = Read-Host "Enter IP range that should be able to access this cluster: ( ex: 127.0.0.1/32 or 192.168.1.7. separate multiple by space. )"} - while ([string]::IsNullOrWhiteSpace($AKS_IP_WHITELIST)) - - $AKS_IP_WHITELIST_ITEMS = $AKS_IP_WHITELIST.split(" ") - - $vnets = az network vnet list --query "[].[name]" -o tsv - - Do { - Write-Output "------ Existing vnets -------" - for ($i = 1; $i -le $vnets.count; $i++) { - Write-Host "$i. $($vnets[$i-1])" - } - Write-Output "------ End vnets -------" - - $index = Read-Host "Enter number of vnet of this cluster so we can whitelist it (1 - $($vnets.count))" - $AKS_VNET_NAME = $($vnets[$index - 1]) - } - while ([string]::IsNullOrWhiteSpace($AKS_VNET_NAME)) - - $AKS_SUBNET_RESOURCE_GROUP = az network vnet list --query "[?name == '$AKS_VNET_NAME'].resourceGroup" -o tsv - Write-Output "Using vnet resource group: [$AKS_SUBNET_RESOURCE_GROUP]" - - Write-Output "Looking up CIDR for Vnet: [${AKS_VNET_NAME}] to add to whitelist" - $AKS_VNET_CIDR_LIST = az network vnet show --name ${AKS_VNET_NAME} --resource-group ${AKS_SUBNET_RESOURCE_GROUP} --query "addressSpace.addressPrefixes" --output tsv - - $WHITELIST = "" - - foreach ($cidr in $AKS_VNET_CIDR_LIST) { - if (![string]::IsNullOrWhiteSpace($WHITELIST)) { - $WHITELIST = "${WHITELIST}, " - } - $WHITELIST = "${WHITELIST}`"${cidr}`"" - } - - foreach ($cidr in $AKS_IP_WHITELIST_ITEMS) { - if (![string]::IsNullOrWhiteSpace($WHITELIST)) { - $WHITELIST = "${WHITELIST}, " - } - $WHITELIST = "${WHITELIST}`"${cidr}`"" - } - - $WHITELIST = "${WHITELIST}" - - $AKS_IP_WHITELIST = "whiteListSourceRange = [$WHITELIST]" - Write-Output "Whitelist: $AKS_IP_WHITELIST" -} if ([string]::IsNullOrWhiteSpace($(kubectl get secret traefik-cert-ahmn -o jsonpath='{.data}' -n kube-system --ignore-not-found=true))) { Do { $AKS_USE_SSL = Read-Host "Do you want to setup SSL? (y/n)"} while ([string]::IsNullOrWhiteSpace($AKS_USE_SSL)) } else { - $AKS_USE_SSL="y" + $AKS_USE_SSL = "y" Write-Output "SSL cert already stored as secret (traefik-cert-ahmn) so setting up SSL" } @@ -212,6 +296,7 @@ if ($SETUP_DNS -eq "y") { # delete existing containers kubectl delete 'pods,services,configMaps,deployments,ingress' -l k8s-traefik=traefik -n kube-system --ignore-not-found=true + # set Google DNS servers to resolve external urls # http://blog.kubernetes.io/2017/04/configuring-private-dns-zones-upstream-nameservers-kubernetes.html kubectl delete -f "$GITHUB_URL/azure/cafe-kube-dns.yml" --ignore-not-found=true From f49e397742c296bfe0d8161761c34b5f8d04cd05 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 29 Jan 2018 12:02:46 -0800 Subject: [PATCH 081/473] change allow-shh to allow_ssh Signed-off-by: HQCATALYST\imran.qureshi --- azure/create-acs-cluster.ps1 | 3 +++ azure/setup-loadbalancer.ps1 | 16 +++++++++------- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index 02ebb29..058ca07 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -601,6 +601,9 @@ Copy-Item -Path "$acsoutputfolder\kubeconfig\kubeconfig.$AKS_PERS_LOCATION.json" Copy-Item -Path "$acsoutputfolder\kubeconfig\kubeconfig.$AKS_PERS_LOCATION.json" -Destination "$AKS_LOCAL_TEMP_FOLDER\.kube\config" +# If ((Get-Content "$($env:windir)\system32\Drivers\etc\hosts" ) -notcontains "127.0.0.1 hostname1") +# {ac -Encoding UTF8 "$($env:windir)\system32\Drivers\etc\hosts" "127.0.0.1 hostname1" } + $MASTER_VM_NAME = "${AKS_PERS_RESOURCE_GROUP}.${AKS_PERS_LOCATION}.cloudapp.azure.com" Write-Output "You can connect to master VM in Git Bash for debugging using:" Write-Output "ssh -i ${SSH_PRIVATE_KEY_FILE_UNIX_PATH} azureuser@${MASTER_VM_NAME}" diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index cd851f7..9912153 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.01.29.01" +Write-output "Version 2018.01.29.02" # # This script is meant for quick & easy install via: @@ -123,26 +123,28 @@ if ($AKS_ALLOW_ADMIN_ACCESS_OUTSIDE_VNET -eq "y") { Write-Output "Enabling admin access to cluster from Internet" } -if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "allow-kube-tls" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { - az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow-kube-tls --priority 100 ` +if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "allow_kube_tls" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { + Write-Output "Creating rule: allow_kube_tls" + az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_kube_tls --priority 100 ` --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` --protocol Tcp --description "allow kubectl access from ${sourceTagForAdminAccess}." } else { - az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow-kube-tls --priority 100 ` + az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_kube_tls --priority 100 ` --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` --protocol Tcp --description "allow kubectl access from ${sourceTagForAdminAccess}." } -if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "allow-ssh" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { - az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow-ssh --priority 101 ` +if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "allow_ssh" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { + Write-Output "Creating rule: allow_ssh" + az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_ssh --priority 101 ` --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 22 --access Allow ` --protocol Tcp --description "allow ssh access from ${sourceTagForAdminAccess}." } else { - az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow-ssh --priority 101 ` + az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_ssh --priority 101 ` --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 22 --access Allow ` --protocol Tcp --description "allow ssh access from ${sourceTagForAdminAccess}." From 4c5892e273d4c4de93cf233c24cdad466ff7638e Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 29 Jan 2018 12:24:03 -0800 Subject: [PATCH 082/473] open port 80 from virtualnetwork also Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 2 +- azure/setup-loadbalancer.ps1 | 89 ++++++++++++++++++++++++------------ 2 files changed, 61 insertions(+), 30 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index 93bb5bb..dae8ce1 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ $version = "2018.01.29.1" -Write-Host "Installed Common functions version $version" +Write-Host "Including common.ps1 version $version" function global:GetCommonVersion(){ return $version } diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index 9912153..cc2e53f 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.01.29.02" +Write-output "Version 2018.01.29.03" # # This script is meant for quick & easy install via: @@ -123,19 +123,48 @@ if ($AKS_ALLOW_ADMIN_ACCESS_OUTSIDE_VNET -eq "y") { Write-Output "Enabling admin access to cluster from Internet" } +$sourceTagForHttpAccess = "Internet" +if (![string]::IsNullOrWhiteSpace($AKS_IP_WHITELIST)) { + $sourceTagForHttpAccess = $AKS_IP_WHITELIST +} + +if (![string]::IsNullOrWhiteSpace($(az network nsg rule show --name "HttpPort" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { + Write-Output "Deleting HttpPort rule so we can create it later" + az network nsg rule delete -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpPort +} + +if (![string]::IsNullOrWhiteSpace($(az network nsg rule show --name "HttpsPort" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { + Write-Output "Deleting HttpsPort rule so we can create it later" + az network nsg rule delete -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpsPort +} + if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "allow_kube_tls" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { Write-Output "Creating rule: allow_kube_tls" az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_kube_tls --priority 100 ` --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` - --protocol Tcp --description "allow kubectl access from ${sourceTagForAdminAccess}." + --protocol Tcp --description "allow kubectl and HTTPS access from ${sourceTagForAdminAccess}." } else { az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_kube_tls --priority 100 ` --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` - --protocol Tcp --description "allow kubectl access from ${sourceTagForAdminAccess}." + --protocol Tcp --description "allow kubectl access and HTTPS from ${sourceTagForAdminAccess}." } +if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "allow_http" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { + Write-Output "Creating rule: allow_http" + az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_http --priority 100 ` + --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges 80 --access Allow ` + --protocol Tcp --description "allow kubectl and HTTPS access from ${sourceTagForAdminAccess}." +} +else { + az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_http --priority 100 ` + --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges 80 --access Allow ` + --protocol Tcp --description "allow kubectl access and HTTPS from ${sourceTagForAdminAccess}." +} + if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "allow_ssh" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { Write-Output "Creating rule: allow_ssh" az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_ssh --priority 101 ` @@ -164,36 +193,38 @@ else { } -$sourceTagForHttpAccess = "Internet" -if (![string]::IsNullOrWhiteSpace($AKS_IP_WHITELIST)) { - $sourceTagForHttpAccess = $AKS_IP_WHITELIST -} - -if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "HttpPort" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { - az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpPort --priority 500 ` - --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges 80 --access Allow ` - --protocol Tcp --description "allow HTTP access from $sourceTagForHttpAccess." +# if we already have opened the ports for admin access then we're not allowed to add another rule for opening them +if (($sourceTagForHttpAccess -eq "Internet") -and ($sourceTagForAdminAccess -eq "Internet")) { + Write-Output "Since we already have rules open port 80 and 443 to the Internet, we do not need to create separate ones for the Internet" } else { - az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpPort --priority 500 ` - --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges 80 --access Allow ` - --protocol Tcp --description "allow HTTP access from $sourceTagForHttpAccess." -} + if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "HttpPort" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { + az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpPort --priority 500 ` + --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges 80 --access Allow ` + --protocol Tcp --description "allow HTTP access from $sourceTagForHttpAccess." + } + else { + az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpPort --priority 500 ` + --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges 80 --access Allow ` + --protocol Tcp --description "allow HTTP access from $sourceTagForHttpAccess." + } -if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "HttpsPort" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { - az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpsPort --priority 501 ` - --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` - --protocol Tcp --description "allow HTTPS access from $sourceTagForHttpAccess." + if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "HttpsPort" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { + az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpsPort --priority 501 ` + --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` + --protocol Tcp --description "allow HTTPS access from $sourceTagForHttpAccess." + } + else { + az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpsPort --priority 501 ` + --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` + --protocol Tcp --description "allow HTTPS access from $sourceTagForHttpAccess." + } } -else { - az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpsPort --priority 501 ` - --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` - --protocol Tcp --description "allow HTTPS access from $sourceTagForHttpAccess." -} + $nsgid = az network nsg list --resource-group ${AKS_PERS_RESOURCE_GROUP} --query "[?name != '${AKS_PERS_NETWORK_SECURITY_GROUP}'].id" -o tsv Write-Output "Found ID for ${AKS_PERS_NETWORK_SECURITY_GROUP}: $nsgid" From 52dc6afb0676e0e3588bba1a5b40338d93bd2fff Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 29 Jan 2018 12:31:29 -0800 Subject: [PATCH 083/473] change priority of http rule so it uses a unique priority Signed-off-by: HQCATALYST\imran.qureshi --- azure/setup-loadbalancer.ps1 | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index cc2e53f..409d781 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.01.29.03" +Write-output "Version 2018.01.29.04" # # This script is meant for quick & easy install via: @@ -153,40 +153,40 @@ else { } if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "allow_http" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { Write-Output "Creating rule: allow_http" - az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_http --priority 100 ` + az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_http --priority 101 ` --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 80 --access Allow ` - --protocol Tcp --description "allow kubectl and HTTPS access from ${sourceTagForAdminAccess}." + --protocol Tcp --description "allow HTTP access from ${sourceTagForAdminAccess}." } else { - az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_http --priority 100 ` + az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_http --priority 101 ` --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 80 --access Allow ` - --protocol Tcp --description "allow kubectl access and HTTPS from ${sourceTagForAdminAccess}." + --protocol Tcp --description "allow HTTP access from ${sourceTagForAdminAccess}." } if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "allow_ssh" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { Write-Output "Creating rule: allow_ssh" - az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_ssh --priority 101 ` + az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_ssh --priority 104 ` --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 22 --access Allow ` --protocol Tcp --description "allow ssh access from ${sourceTagForAdminAccess}." } else { - az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_ssh --priority 101 ` + az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_ssh --priority 104 ` --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 22 --access Allow ` --protocol Tcp --description "allow ssh access from ${sourceTagForAdminAccess}." } if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "mysql" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { - az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n mysql --priority 105 ` + az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n mysql --priority 205 ` --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 3306 --access Allow ` --protocol Tcp --description "allow mysql access from ${sourceTagForAdminAccess}." } else { - az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n mysql --priority 105 ` + az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n mysql --priority 205 ` --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 3306 --access Allow ` --protocol Tcp --description "allow mysql access from ${sourceTagForAdminAccess}." From bfbcba3c7271f00d044cc7ed45f92e18054fe04e Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 29 Jan 2018 12:56:15 -0800 Subject: [PATCH 084/473] store whitelistip as a secret so we don't have to type it again Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 26 ++++++++++++---- azure/setup-loadbalancer.ps1 | 57 ++++++++++++++++++++++-------------- 2 files changed, 56 insertions(+), 27 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index dae8ce1..282d351 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,7 +1,7 @@ -$version = "2018.01.29.1" +$version = "2018.01.29.02" Write-Host "Including common.ps1 version $version" -function global:GetCommonVersion(){ +function global:GetCommonVersion() { return $version } @@ -39,9 +39,15 @@ function global:CreateShare($resourceGroup, $sharename, $deleteExisting) { function global:ReadSecretValue($secretname, $valueName, $namespace) { if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} - $secretbase64 = kubectl get secret $secretname -o jsonpath="{.data.${valueName}}" -n $namespace - $secretvalue = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($secretbase64)) - return $secretvalue + $secretbase64 = kubectl get secret $secretname -o jsonpath="{.data.${valueName}}" -n $namespace --ignore-not-found=true + + if (![string]::IsNullOrWhiteSpace($secretbase64)) { + $secretvalue = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($secretbase64)) + return $secretvalue + } + + return ""; + } function global:ReadSecret($secretname, $namespace) { @@ -68,6 +74,16 @@ function global:GeneratePassword() { return $result } +function global:SaveSecretValue($secretname, $valueName, $value, $namespace) { + if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} + + if (![string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data}' --ignore-not-found=true))) { + kubectl delete secret $secretname -n $namespace + } + + kubectl create secret generic $secretname --namespace=$namespace --from-literal=${valueName}=$value +} + function global:AskForPassword ($secretname, $prompt, $namespace) { if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.password}' --ignore-not-found=true))) { diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index 409d781..d2a5842 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.01.29.04" +Write-output "Version 2018.01.29.05" # # This script is meant for quick & easy install via: @@ -84,7 +84,19 @@ if ([string]::IsNullOrWhiteSpace($AKS_ALLOW_ADMIN_ACCESS_OUTSIDE_VNET)) { $AKS_IP_WHITELIST = "" if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { - Do { $AKS_IP_WHITELIST = Read-Host "Enter IP range that should be able to access this cluster: ( ex: 127.0.0.1/32 192.168.1.7. separate multiple IPs by a space.)"} + $currentWhitelistIP = ReadSecretValue -secretname WhiteListIP -valueName ip + + Do { + if (![string]::IsNullOrWhiteSpace($currentWhitelistIP)) { + $AKS_IP_WHITELIST = Read-Host "Enter IP range that should be able to access this cluster: ( ex: 127.0.0.1/32 192.168.1.7. separate multiple IPs by a space.) (default: $currentWhitelistIP)" + if ([string]::IsNullOrWhiteSpace($AKS_IP_WHITELIST)) { + $AKS_IP_WHITELIST = $currentWhitelistIP + } + } + else { + $AKS_IP_WHITELIST = Read-Host "Enter IP range that should be able to access this cluster: ( ex: 127.0.0.1/32 192.168.1.7. separate multiple IPs by a space.)" + } + } while ([string]::IsNullOrWhiteSpace($AKS_IP_WHITELIST)) # $AKS_IP_WHITELIST_ITEMS = $AKS_IP_WHITELIST.split(" ") @@ -100,8 +112,28 @@ if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { # $AKS_IP_WHITELIST = "$WHITELIST" Write-Output "Whitelist: $AKS_IP_WHITELIST" + + SaveSecretValue -secretname WhiteListIP -valueName ip -value "\"${AKS_IP_WHITELIST}\"" } +$AKS_USE_WAF = Read-Host "Do you want to use Azure Application Gateway with WAF? (y/n) (default: n)" + +if ([string]::IsNullOrWhiteSpace($AKS_USE_WAF)) { + $AKS_USE_WAF = "n" +} + +if ([string]::IsNullOrWhiteSpace($(kubectl get secret traefik-cert-ahmn -o jsonpath='{.data}' -n kube-system --ignore-not-found=true))) { + Do { $AKS_USE_SSL = Read-Host "Do you want to setup SSL? (y/n)"} + while ([string]::IsNullOrWhiteSpace($AKS_USE_SSL)) +} +else { + $AKS_USE_SSL = "y" + Write-Output "SSL cert already stored as secret (traefik-cert-ahmn) so setting up SSL" +} + +Do { $SETUP_DNS = Read-Host "Do you want to setup DNS entries in Azure? (y/n)"} +while ([string]::IsNullOrWhiteSpace($SETUP_DNS)) + Write-Output "Setting up Network Security Group for the subnet" # setup network security group @@ -232,13 +264,7 @@ Write-Output "Found ID for ${AKS_PERS_NETWORK_SECURITY_GROUP}: $nsgid" Write-Output "Setting NSG into subnet" az network vnet subnet update -n "${AKS_SUBNET_NAME}" -g "${AKS_SUBNET_RESOURCE_GROUP}" --vnet-name "${AKS_VNET_NAME}" --network-security-group "$nsgid" - -$AKS_USE_WAF = Read-Host "Do you want to use Azure Application Gateway with WAF? (y/n) (default: n)" - -if ([string]::IsNullOrWhiteSpace($AKS_USE_WAF)) { - $AKS_USE_WAF = "n" -} - +# set up WAF if requested if ($AKS_USE_WAF -eq "n") { if (($AKS_CLUSTER_ACCESS_TYPE -eq "1" ) -or ($AKS_CLUSTER_ACCESS_TYPE -eq "2")) { $AKS_OPEN_TO_PUBLIC = "y" @@ -304,19 +330,6 @@ else { } - -if ([string]::IsNullOrWhiteSpace($(kubectl get secret traefik-cert-ahmn -o jsonpath='{.data}' -n kube-system --ignore-not-found=true))) { - Do { $AKS_USE_SSL = Read-Host "Do you want to setup SSL? (y/n)"} - while ([string]::IsNullOrWhiteSpace($AKS_USE_SSL)) -} -else { - $AKS_USE_SSL = "y" - Write-Output "SSL cert already stored as secret (traefik-cert-ahmn) so setting up SSL" -} - -Do { $SETUP_DNS = Read-Host "Do you want to setup DNS entries in Azure? (y/n)"} -while ([string]::IsNullOrWhiteSpace($SETUP_DNS)) - # if we need to setup DNS then ask which resourceGroup to use if ($SETUP_DNS -eq "y") { $DNS_RESOURCE_GROUP = Read-Host "Resource group containing DNS zones? (default: dns)" From b785d3a26561f33547a05f3b6d5d72c0ce4cc0b7 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 29 Jan 2018 13:06:06 -0800 Subject: [PATCH 085/473] change check for nsg id Signed-off-by: HQCATALYST\imran.qureshi --- azure/setup-loadbalancer.ps1 | 44 ++++++++++++++++++++++-------------- 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index d2a5842..13ec290 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.01.29.05" +Write-output "Version 2018.01.29.06" # # This script is meant for quick & easy install via: @@ -175,26 +175,30 @@ if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "allow_kube_t az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_kube_tls --priority 100 ` --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` - --protocol Tcp --description "allow kubectl and HTTPS access from ${sourceTagForAdminAccess}." + --protocol Tcp --description "allow kubectl and HTTPS access from ${sourceTagForAdminAccess}." ` + --query "provisioningState" -o tsv } else { az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_kube_tls --priority 100 ` --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` - --protocol Tcp --description "allow kubectl access and HTTPS from ${sourceTagForAdminAccess}." + --protocol Tcp --description "allow kubectl access and HTTPS from ${sourceTagForAdminAccess}." ` + --query "provisioningState" -o tsv } if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "allow_http" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { Write-Output "Creating rule: allow_http" az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_http --priority 101 ` --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 80 --access Allow ` - --protocol Tcp --description "allow HTTP access from ${sourceTagForAdminAccess}." + --protocol Tcp --description "allow HTTP access from ${sourceTagForAdminAccess}." ` + --query "provisioningState" -o tsv } else { az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_http --priority 101 ` --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 80 --access Allow ` - --protocol Tcp --description "allow HTTP access from ${sourceTagForAdminAccess}." + --protocol Tcp --description "allow HTTP access from ${sourceTagForAdminAccess}." ` + --query "provisioningState" -o tsv } if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "allow_ssh" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { @@ -202,29 +206,32 @@ if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "allow_ssh" - az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_ssh --priority 104 ` --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 22 --access Allow ` - --protocol Tcp --description "allow ssh access from ${sourceTagForAdminAccess}." + --protocol Tcp --description "allow ssh access from ${sourceTagForAdminAccess}." ` + --query "provisioningState" -o tsv } else { az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_ssh --priority 104 ` --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 22 --access Allow ` - --protocol Tcp --description "allow ssh access from ${sourceTagForAdminAccess}." + --protocol Tcp --description "allow ssh access from ${sourceTagForAdminAccess}." ` + --query "provisioningState" -o tsv } if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "mysql" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n mysql --priority 205 ` --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 3306 --access Allow ` - --protocol Tcp --description "allow mysql access from ${sourceTagForAdminAccess}." + --protocol Tcp --description "allow mysql access from ${sourceTagForAdminAccess}." ` + --query "provisioningState" -o tsv } else { az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n mysql --priority 205 ` --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 3306 --access Allow ` - --protocol Tcp --description "allow mysql access from ${sourceTagForAdminAccess}." + --protocol Tcp --description "allow mysql access from ${sourceTagForAdminAccess}." ` + --query "provisioningState" -o tsv } - # if we already have opened the ports for admin access then we're not allowed to add another rule for opening them if (($sourceTagForHttpAccess -eq "Internet") -and ($sourceTagForAdminAccess -eq "Internet")) { Write-Output "Since we already have rules open port 80 and 443 to the Internet, we do not need to create separate ones for the Internet" @@ -234,35 +241,38 @@ else { az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpPort --priority 500 ` --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 80 --access Allow ` - --protocol Tcp --description "allow HTTP access from $sourceTagForHttpAccess." + --protocol Tcp --description "allow HTTP access from $sourceTagForHttpAccess." ` + --query "provisioningState" -o tsv } else { az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpPort --priority 500 ` --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 80 --access Allow ` - --protocol Tcp --description "allow HTTP access from $sourceTagForHttpAccess." + --protocol Tcp --description "allow HTTP access from $sourceTagForHttpAccess." ` + --query "provisioningState" -o tsv } if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "HttpsPort" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpsPort --priority 501 ` --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` - --protocol Tcp --description "allow HTTPS access from $sourceTagForHttpAccess." + --protocol Tcp --description "allow HTTPS access from $sourceTagForHttpAccess." ` + --query "provisioningState" -o tsv } else { az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpsPort --priority 501 ` --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` - --protocol Tcp --description "allow HTTPS access from $sourceTagForHttpAccess." + --protocol Tcp --description "allow HTTPS access from $sourceTagForHttpAccess." ` + --query "provisioningState" -o tsv } } - -$nsgid = az network nsg list --resource-group ${AKS_PERS_RESOURCE_GROUP} --query "[?name != '${AKS_PERS_NETWORK_SECURITY_GROUP}'].id" -o tsv +$nsgid = az network nsg list --resource-group ${AKS_PERS_RESOURCE_GROUP} --query "[?name == '${AKS_PERS_NETWORK_SECURITY_GROUP}'].id" -o tsv Write-Output "Found ID for ${AKS_PERS_NETWORK_SECURITY_GROUP}: $nsgid" Write-Output "Setting NSG into subnet" -az network vnet subnet update -n "${AKS_SUBNET_NAME}" -g "${AKS_SUBNET_RESOURCE_GROUP}" --vnet-name "${AKS_VNET_NAME}" --network-security-group "$nsgid" +az network vnet subnet update -n "${AKS_SUBNET_NAME}" -g "${AKS_SUBNET_RESOURCE_GROUP}" --vnet-name "${AKS_VNET_NAME}" --network-security-group "$nsgid" --query "provisioningState" -o tsv # set up WAF if requested if ($AKS_USE_WAF -eq "n") { From 2cf4d8b08a1940c7fd7ffef010fa581884a960a8 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 29 Jan 2018 13:32:29 -0800 Subject: [PATCH 086/473] add logging for which nsg rule is being updated Signed-off-by: HQCATALYST\imran.qureshi --- azure/setup-loadbalancer.ps1 | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index 13ec290..b3059bb 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.01.29.06" +Write-output "Version 2018.01.29.07" # # This script is meant for quick & easy install via: @@ -113,7 +113,7 @@ if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { # $AKS_IP_WHITELIST = "$WHITELIST" Write-Output "Whitelist: $AKS_IP_WHITELIST" - SaveSecretValue -secretname WhiteListIP -valueName ip -value "\"${AKS_IP_WHITELIST}\"" + SaveSecretValue -secretname WhiteListIP -valueName ip -value "'${AKS_IP_WHITELIST}'" } $AKS_USE_WAF = Read-Host "Do you want to use Azure Application Gateway with WAF? (y/n) (default: n)" @@ -179,6 +179,8 @@ if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "allow_kube_t --query "provisioningState" -o tsv } else { + Write-Output "Updating rule: allow_kube_tls" + az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_kube_tls --priority 100 ` --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` @@ -194,6 +196,7 @@ if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "allow_http" --query "provisioningState" -o tsv } else { + Write-Output "Updating rule: allow_http" az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_http --priority 101 ` --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 80 --access Allow ` @@ -210,6 +213,7 @@ if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "allow_ssh" - --query "provisioningState" -o tsv } else { + Write-Output "Updating rule: allow_ssh" az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_ssh --priority 104 ` --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 22 --access Allow ` @@ -218,6 +222,7 @@ else { } if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "mysql" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { + Write-Output "Creating rule: mysql" az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n mysql --priority 205 ` --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 3306 --access Allow ` @@ -225,6 +230,7 @@ if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "mysql" --nsg --query "provisioningState" -o tsv } else { + Write-Output "Updating rule: mysql" az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n mysql --priority 205 ` --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 3306 --access Allow ` @@ -238,6 +244,7 @@ if (($sourceTagForHttpAccess -eq "Internet") -and ($sourceTagForAdminAccess -eq } else { if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "HttpPort" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { + Write-Output "Creating rule: HttpPort" az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpPort --priority 500 ` --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 80 --access Allow ` @@ -245,6 +252,7 @@ else { --query "provisioningState" -o tsv } else { + Write-Output "Updating rule: HttpPort" az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpPort --priority 500 ` --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 80 --access Allow ` @@ -253,6 +261,7 @@ else { } if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "HttpsPort" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { + Write-Output "Creating rule: HttpsPort" az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpsPort --priority 501 ` --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` @@ -260,6 +269,7 @@ else { --query "provisioningState" -o tsv } else { + Write-Output "Updating rule: HttpsPort" az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpsPort --priority 501 ` --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` @@ -408,7 +418,7 @@ if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { # if we are restricting IPs then also deploy an internal load balancer - Write-Output "Setting up a internal load balancer since we are restricting IPs" + Write-Output "Setting up a internal load balancer also since we are restricting IPs" kubectl create -f "$GITHUB_URL/azure/loadbalancer-internal.yml" } #kubectl create -f "$GITHUB_URL/azure/loadbalancer-public.yml" From e6dd18816e3e6b2ba611056a002410cb1b84e0c1 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 29 Jan 2018 13:41:58 -0800 Subject: [PATCH 087/473] use lowercase name for secrets due to kubernetes limitation Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 1 + azure/setup-loadbalancer.ps1 | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index 282d351..745ad9a 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -75,6 +75,7 @@ function global:GeneratePassword() { } function global:SaveSecretValue($secretname, $valueName, $value, $namespace) { + # secretname must be lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} if (![string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data}' --ignore-not-found=true))) { diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index b3059bb..c49b28a 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.01.29.07" +Write-output "Version 2018.01.29.08" # # This script is meant for quick & easy install via: @@ -84,7 +84,7 @@ if ([string]::IsNullOrWhiteSpace($AKS_ALLOW_ADMIN_ACCESS_OUTSIDE_VNET)) { $AKS_IP_WHITELIST = "" if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { - $currentWhitelistIP = ReadSecretValue -secretname WhiteListIP -valueName ip + $currentWhitelistIP = ReadSecretValue -secretname whitelistip -valueName iprange Do { if (![string]::IsNullOrWhiteSpace($currentWhitelistIP)) { @@ -113,7 +113,7 @@ if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { # $AKS_IP_WHITELIST = "$WHITELIST" Write-Output "Whitelist: $AKS_IP_WHITELIST" - SaveSecretValue -secretname WhiteListIP -valueName ip -value "'${AKS_IP_WHITELIST}'" + SaveSecretValue -secretname whitelistip -valueName iprange -value "${AKS_IP_WHITELIST}" } $AKS_USE_WAF = Read-Host "Do you want to use Azure Application Gateway with WAF? (y/n) (default: n)" From 4df91caaf8b30f23f40e1ad2657813e907e11ddc Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 29 Jan 2018 19:18:51 -0800 Subject: [PATCH 088/473] set the dns zone record even if it exists since the IP may have changed Signed-off-by: HQCATALYST\imran.qureshi --- azure/restartdns.txt | 25 +++++++++++++++++++++++++ azure/setup-loadbalancer.ps1 | 25 ++++++++++++++----------- 2 files changed, 39 insertions(+), 11 deletions(-) create mode 100644 azure/restartdns.txt diff --git a/azure/restartdns.txt b/azure/restartdns.txt new file mode 100644 index 0000000..184ad9c --- /dev/null +++ b/azure/restartdns.txt @@ -0,0 +1,25 @@ +#!/bin/sh + +echo "Version 1.068" + +restartCounts=$(kubectl get pods -l k8s-app=kube-dns -n kube-system -o jsonpath='{.items[*].status.containerStatuses[*].restartCount}') +needToRestart="n" +for restartCount in $restartCounts +do + if [[ $restartCount -gt "0" ]]; then + needToRestart="y" + echo $restartCount + fi +done + +if [[ $needToRestart == "y" ]]; then + failedItems=$(kubectl get pods -l k8s-app=kube-dns -n kube-system -o jsonpath='{range.items[*]}{.metadata.name}{\" \"}{end}') + + for item in $failedItems + do + echo "deleting $item" + kubectl delete pod $item -n kube-system + done +fi + + diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index c49b28a..c4325a8 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.01.29.08" +Write-output "Version 2018.01.29.09" # # This script is meant for quick & easy install via: @@ -116,11 +116,12 @@ if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { SaveSecretValue -secretname whitelistip -valueName iprange -value "${AKS_IP_WHITELIST}" } -$AKS_USE_WAF = Read-Host "Do you want to use Azure Application Gateway with WAF? (y/n) (default: n)" +$AKS_USE_WAF = "n" +# $AKS_USE_WAF = Read-Host "Do you want to use Azure Application Gateway with WAF? (y/n) (default: n)" -if ([string]::IsNullOrWhiteSpace($AKS_USE_WAF)) { - $AKS_USE_WAF = "n" -} +# if ([string]::IsNullOrWhiteSpace($AKS_USE_WAF)) { +# $AKS_USE_WAF = "n" +# } if ([string]::IsNullOrWhiteSpace($(kubectl get secret traefik-cert-ahmn -o jsonpath='{.data}' -n kube-system --ignore-not-found=true))) { Do { $AKS_USE_SSL = Read-Host "Do you want to setup SSL? (y/n)"} @@ -611,14 +612,16 @@ if ($AKS_USE_WAF -eq "y") { if ($SETUP_DNS -eq "y") { # set up DNS zones - Write-Output "Creating DNS zones" + Write-Output "Setting DNS zones" if ([string]::IsNullOrWhiteSpace($(az network dns zone show --name "$dnsrecordname" -g $DNS_RESOURCE_GROUP))) { + Write-Output "Creating DNS zone: $dnsrecordname" az network dns zone create --name "$dnsrecordname" -g $DNS_RESOURCE_GROUP - - az network dns record-set a add-record --ipv4-address $EXTERNAL_IP --record-set-name "*" --resource-group $DNS_RESOURCE_GROUP --zone-name "$dnsrecordname" } + Write-Output "Create A record for * in zone: $dnsrecordname" + az network dns record-set a add-record --ipv4-address $EXTERNAL_IP --record-set-name "*" --resource-group $DNS_RESOURCE_GROUP --zone-name "$dnsrecordname" + # list out the name servers Write-Output "Name servers to set in GoDaddy for *.$dnsrecordname" az network dns zone show -g $DNS_RESOURCE_GROUP -n "$dnsrecordname" --query "nameServers" -o tsv @@ -638,17 +641,17 @@ if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { Invoke-WebRequest -useb -Headers @{"Host" = "dashboard.$dnsrecordname"} -Uri http://$INTERNAL_IP/ | Select-Object -Expand Content Write-Output "To test out the load balancer since the vnet, open Git Bash and run:" - Write-Output "curl -L --verbose --header 'Host: dashboard.$dnsrecordname' 'http://$INTERNAL_IP/'" + Write-Output "curl -L --verbose --header 'Host: dashboard.$dnsrecordname' 'http://$INTERNAL_IP/' -k" Write-Output "To test out the load balancer from one of the whitelist IPs, open Git Bash and run:" - Write-Output "curl -L --verbose --header 'Host: dashboard.$dnsrecordname' 'http://$EXTERNAL_IP/'" + Write-Output "curl -L --verbose --header 'Host: dashboard.$dnsrecordname' 'http://$EXTERNAL_IP/' -k" } else { Write-Output "Testing load balancer" Invoke-WebRequest -useb -Headers @{"Host" = "dashboard.$dnsrecordname"} -Uri http://$EXTERNAL_IP/ | Select-Object -Expand Content Write-Output "To test out the load balancer, open Git Bash and run:" - Write-Output "curl -L --verbose --header 'Host: dashboard.$dnsrecordname' 'http://$EXTERNAL_IP/'" + Write-Output "curl -L --verbose --header 'Host: dashboard.$dnsrecordname' 'http://$EXTERNAL_IP/' -k" } From 6c76be8de69f0a6186c200ff235cbbd73e602f9d Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 31 Jan 2018 10:28:39 -0800 Subject: [PATCH 089/473] add a bash file to check and restart kube dns if it is stuck in a CrashBackoffLoop Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 4 +- azure/create-acs-cluster.ps1 | 76 +++++++++++++------- azure/kube-dns-patch.yml | 15 ++-- azure/main.ps1 | 6 ++ azure/{restartdns.txt => restartkubedns.txt} | 14 ++-- azure/setup-loadbalancer.ps1 | 18 ++--- 6 files changed, 87 insertions(+), 46 deletions(-) rename azure/{restartdns.txt => restartkubedns.txt} (61%) diff --git a/azure/common.ps1 b/azure/common.ps1 index 745ad9a..7359719 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,4 +1,4 @@ -$version = "2018.01.29.02" +$version = "2018.01.30.01" Write-Host "Including common.ps1 version $version" function global:GetCommonVersion() { @@ -23,7 +23,7 @@ function global:CreateShare($resourceGroup, $sharename, $deleteExisting) { $SHARE_EXISTS = $(az storage share exists -n $sharename --connection-string $AZURE_STORAGE_CONNECTION_STRING --query "exists" -o tsv) Write-Host "." } - while ($SHARE_EXISTS) + while ($SHARE_EXISTS -ne "false") } } diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index 058ca07..bb27999 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.01.29.01" +Write-output "Version 2018.01.30.01" # # This script is meant for quick & easy install via: @@ -165,7 +165,7 @@ $ACS_ENGINE_FILE = "$AKS_LOCAL_FOLDER\acs-engine.exe" $acsengineversion = acs-engine version $acsengineversion = $acsengineversion -match "^Version: v[0-9.]+" $acsengineversion = "[$acsengineversion]" -$desiredversion="v0.11.0" +$desiredversion="v0.12.4" if ((!(Test-Path "$ACS_ENGINE_FILE")) -or !$acsengineversion.equals("[Version: $desiredversion]")) { Write-Output "Downloading acs-engine.exe to $ACS_ENGINE_FILE" $url = "https://github.com/Azure/acs-engine/releases/download/${desiredversion}/acs-engine-${desiredversion}-windows-amd64.zip" @@ -255,6 +255,29 @@ if ($confirmation -eq 'y') { } } + +# find CIDR for subnet +if ("$AKS_VNET_NAME") { + Write-Output "Looking up CIDR for Subnet: [${AKS_SUBNET_NAME}]" + $AKS_SUBNET_CIDR = az network vnet subnet show --name ${AKS_SUBNET_NAME} --resource-group ${AKS_SUBNET_RESOURCE_GROUP} --vnet-name ${AKS_VNET_NAME} --query "addressPrefix" --output tsv + + Write-Output "Subnet CIDR=[$AKS_SUBNET_CIDR]" +} + +# suggest and ask for the first static IP to use +$AKS_FIRST_STATIC_IP = "" +if ("$AKS_VNET_NAME") { + $suggestedFirstStaticIP = Get-FirstIP -ip ${AKS_SUBNET_CIDR} + + $AKS_FIRST_STATIC_IP = Read-Host "First static IP: (default: $suggestedFirstStaticIP )" + + if ([string]::IsNullOrWhiteSpace($AKS_FIRST_STATIC_IP)) { + $AKS_FIRST_STATIC_IP = "$suggestedFirstStaticIP" + } + + Write-Output "First static IP=[${AKS_FIRST_STATIC_IP}]" +} + Write-Output "checking if resource group already exists" $resourceGroupExists = az group exists --name ${AKS_PERS_RESOURCE_GROUP} if ($resourceGroupExists -eq "true") { @@ -462,28 +485,6 @@ else { Copy-Item -Path "$GITHUB_URL/azure/$templateFile" -Destination "$output" } -# find CIDR for subnet -if ("$AKS_VNET_NAME") { - Write-Output "Looking up CIDR for Subnet: [${AKS_SUBNET_NAME}]" - $AKS_SUBNET_CIDR = az network vnet subnet show --name ${AKS_SUBNET_NAME} --resource-group ${AKS_SUBNET_RESOURCE_GROUP} --vnet-name ${AKS_VNET_NAME} --query "addressPrefix" --output tsv - - Write-Output "Subnet CIDR=[$AKS_SUBNET_CIDR]" -} - -# suggest and ask for the first static IP to use -$AKS_FIRST_STATIC_IP = "" -if ("$AKS_VNET_NAME") { - $suggestedFirstStaticIP = Get-FirstIP -ip ${AKS_SUBNET_CIDR} - - $AKS_FIRST_STATIC_IP = Read-Host "First static IP: (default: $suggestedFirstStaticIP )" - - if ([string]::IsNullOrWhiteSpace($AKS_FIRST_STATIC_IP)) { - $AKS_FIRST_STATIC_IP = "$suggestedFirstStaticIP" - } - - Write-Output "First static IP=[${AKS_FIRST_STATIC_IP}]" -} - # subnet CIDR to mask # https://doc.m0n0.ch/quickstartpc/intro-CIDR.html $WINDOWS_PASSWORD="replacepassword1234$" @@ -658,6 +659,9 @@ kubectl create secret generic azure-vnet --from-literal=vnet="${AKS_VNET_NAME}" kubectl get "deployments,pods,services,ingress,secrets" --namespace=kube-system -o wide +# kubectl patch deployment kube-dns-v20 -n kube-system -p '{"spec":{"template":{"spec":{"containers":[{"name":"myapp","image":"172.20.34.206:5000/myapp:img:3.0"}]}}}}' +# kubectl patch deployment kube-dns-v20 -n kube-system -p '{"spec":{"template":{"spec":{"restartPolicy":"Never"}}}}' + Write-Output "Restarting DNS Pods (sometimes they get in a CrashLoopBackoff loop)" $failedItems = kubectl get pods -l k8s-app=kube-dns -n kube-system -o jsonpath='{range.items[*]}{.metadata.name}{\"\n\"}{end}' ForEach ($line in $failedItems) { @@ -665,5 +669,29 @@ ForEach ($line in $failedItems) { kubectl delete pod $line -n kube-system } +Write-Host "hosts entries" +$virtualmachines=az vm list -g $AKS_PERS_RESOURCE_GROUP --query "[].name" -o tsv +ForEach ($vm in $virtualmachines) { + $firstprivateip=az vm list-ip-addresses -g $AKS_PERS_RESOURCE_GROUP -n $vm --query "[].virtualMachine.network.privateIpAddresses[0]" -o tsv + # $privateiplist= az vm show -g $AKS_PERS_RESOURCE_GROUP -n $vm -d --query privateIps -otsv + Write-Output "$firstprivateip $vm" + if($vm -match "master" ){ + Write-Output "$firstprivateip $MASTER_VM_NAME" + } +} + +# /subscriptions/f8a42a3a-8b22-4be4-8413-0b6911c77242/resourceGroups/Prod-Kub-AHMN-RG/providers/Microsoft.Network/networkInterfaces/k8s-master-37819884-nic-0 + +# copy the file into /etc/cron.hourly/ +# chmod +x ./restartkubedns.sh +# sudo mv ./restartkubedns.sh /etc/cron.hourly/ +# grep CRON /var/log/syslog +# * * * * * /etc/cron.hourly/restartkubedns.sh >>/tmp/restartkubedns.log +# https://stackoverflow.com/questions/878600/how-to-create-a-cron-job-using-bash-automatically-without-the-interactive-editor +# crontab -l | { cat; echo "*/10 * * * * /etc/cron.hourly/restartkubedns.sh >>/tmp/restartkubedns.log"; } | crontab - +# az vm extension set --resource-group Prod-Kub-AHMN-RG --vm-name k8s-master-37819884-0 --name customScript --publisher Microsoft.Azure.Extensions --protected-settings "{'commandToExecute': 'whoami;touch /tmp/me.txt'}" +# az vm run-command invoke -g Prod-Kub-AHMN-RG -n k8s-master-37819884-0 --command-id RunShellScript --scripts "whomai" +# az vm run-command invoke -g Prod-Kub-AHMN-RG -n k8s-master-37819884-0 --command-id RunShellScript --scripts "crontab -l | { cat; echo '*/10 * * * * /etc/cron.hourly/restartkubedns.sh >>/tmp/restartkubedns.log'; } | crontab -" + Write-Output "Run the following to see status of the cluster" Write-Output "kubectl get deployments,pods,services,ingress,secrets --namespace=kube-system -o wide" diff --git a/azure/kube-dns-patch.yml b/azure/kube-dns-patch.yml index e20cd79..e5c4a16 100644 --- a/azure/kube-dns-patch.yml +++ b/azure/kube-dns-patch.yml @@ -1,10 +1,15 @@ kind: Deployment -apiVersion: "extensions/v1beta1" +apiVersion: extensions/v1beta1 metadata: - name: "kube-dns-v20" - namespace": "kube-system" + name: kube-dns-v20 + namespace": kube-system spec: strategy: # We need to kill the existing Pod before creating an new one - # for the new one to be able to attach the persistent disk. - type: Recreate + type: Recreate + template: + spec: + # https://kubernetes-v1-4.github.io/docs/user-guide/pod-states/ + # kube-dns seems to get into an infinite restart loop + # so don't restart containers but let the whole pod fail and the deployment will create a new one + restartPolicy: Never diff --git a/azure/main.ps1 b/azure/main.ps1 index 84e4701..ce2242a 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -74,6 +74,12 @@ do { $MASTER_VM_NAME = "${AKS_PERS_RESOURCE_GROUP}.${AKS_PERS_LOCATION}.cloudapp.azure.com" Write-Output "You can connect to master VM in Git Bash for debugging using:" Write-Output "ssh -i ${SSH_PRIVATE_KEY_FILE_UNIX_PATH} azureuser@${MASTER_VM_NAME}" + + Write-Output "Command to show errors: sudo journalctl -xef" + Write-Output "Command to see apiserver logs: sudo journalctl -fu kube-apiserver" + # systemctl list-unit-files | grep .service | grep enabled + # https://askubuntu.com/questions/795226/how-to-list-all-enabled-services-from-systemctl + } '6' { kubectl get pods -l k8s-app=kube-dns -n kube-system -o wide diff --git a/azure/restartdns.txt b/azure/restartkubedns.txt similarity index 61% rename from azure/restartdns.txt rename to azure/restartkubedns.txt index 184ad9c..6e089a4 100644 --- a/azure/restartdns.txt +++ b/azure/restartkubedns.txt @@ -1,19 +1,23 @@ #!/bin/sh - +PATH=$PATH:/usr/local/bin +date echo "Version 1.068" +# https://www.cyberciti.biz/faq/how-do-i-add-jobs-to-cron-under-linux-or-unix-oses/ +# put this script in /etc/cron.hourly/ so it runs every hourly + restartCounts=$(kubectl get pods -l k8s-app=kube-dns -n kube-system -o jsonpath='{.items[*].status.containerStatuses[*].restartCount}') needToRestart="n" for restartCount in $restartCounts do - if [[ $restartCount -gt "0" ]]; then + if [ $restartCount -gt "0" ]; then needToRestart="y" echo $restartCount fi done -if [[ $needToRestart == "y" ]]; then - failedItems=$(kubectl get pods -l k8s-app=kube-dns -n kube-system -o jsonpath='{range.items[*]}{.metadata.name}{\" \"}{end}') +if [ $needToRestart = "y" ]; then + failedItems=$(kubectl get pods -l k8s-app=kube-dns -n kube-system -o jsonpath='{.items[*].metadata.name}') for item in $failedItems do @@ -21,5 +25,3 @@ if [[ $needToRestart == "y" ]]; then kubectl delete pod $item -n kube-system done fi - - diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index c4325a8..b0b76d1 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -135,6 +135,15 @@ else { Do { $SETUP_DNS = Read-Host "Do you want to setup DNS entries in Azure? (y/n)"} while ([string]::IsNullOrWhiteSpace($SETUP_DNS)) +# if we need to setup DNS then ask which resourceGroup to use +if ($SETUP_DNS -eq "y") { + $DNS_RESOURCE_GROUP = Read-Host "Resource group containing DNS zones? (default: dns)" + if ([string]::IsNullOrWhiteSpace($DNS_RESOURCE_GROUP)) { + $DNS_RESOURCE_GROUP = "dns" + } +} + + Write-Output "Setting up Network Security Group for the subnet" # setup network security group @@ -351,15 +360,6 @@ else { } -# if we need to setup DNS then ask which resourceGroup to use -if ($SETUP_DNS -eq "y") { - $DNS_RESOURCE_GROUP = Read-Host "Resource group containing DNS zones? (default: dns)" - if ([string]::IsNullOrWhiteSpace($DNS_RESOURCE_GROUP)) { - $DNS_RESOURCE_GROUP = "dns" - } - -} - # delete existing containers kubectl delete 'pods,services,configMaps,deployments,ingress' -l k8s-traefik=traefik -n kube-system --ignore-not-found=true From 137e6c360b25a6714a6958617a4fb7f47187d4e7 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 1 Feb 2018 09:00:40 -0800 Subject: [PATCH 090/473] upgrade to kubernetes 1.9. added bash script to restart kube dns if it fails Signed-off-by: HQCATALYST\imran.qureshi --- azure/acs.template.azurenetwork.json | 6 +- azure/create-acs-cluster.ps1 | 100 +++++++++++++++++---------- azure/main.ps1 | 67 +++++++++++------- azure/restartkubedns.txt | 35 +++++----- azure/setup-loadbalancer.ps1 | 4 +- nlp/installnlpkubernetes.ps1 | 28 ++++---- 6 files changed, 140 insertions(+), 100 deletions(-) diff --git a/azure/acs.template.azurenetwork.json b/azure/acs.template.azurenetwork.json index 0f4306a..adcc8f6 100644 --- a/azure/acs.template.azurenetwork.json +++ b/azure/acs.template.azurenetwork.json @@ -3,7 +3,7 @@ "properties": { "orchestratorProfile": { "orchestratorType": "Kubernetes", - "orchestratorRelease": "1.8", + "orchestratorRelease": "1.9", "kubernetesConfig": { "networkPolicy": "azure" } @@ -11,7 +11,7 @@ "masterProfile": { "count": 1, "dnsPrefix": "REPLACE-DNS-NAME-PREFIX", - "vmSize": "Standard_D2_v2", + "vmSize": "Standard_DS2_v2", "vnetSubnetId": "REPLACE-SUBNET", "firstConsecutiveStaticIP": "REPLACE-FIRST-STATIC-IP", "vnetCidr": "REPLACE_VNET_CIDR", @@ -20,7 +20,7 @@ "agentPoolProfiles": [{ "name": "linuxagent", "count": 2, - "vmSize": "Standard_D2_v2", + "vmSize": "Standard_DS2_v2", "vnetSubnetId": "REPLACE-SUBNET", "availabilityProfile": "AvailabilitySet", "storageProfile": "ManagedDisks" diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index bb27999..292d003 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -5,7 +5,7 @@ Write-output "Version 2018.01.30.01" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/create-acs-cluster.ps1 | iex; $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -# $GITHUB_URL = "C:\Catalyst\git\Installscripts" +$GITHUB_URL = "C:\Catalyst\git\Installscripts" Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/common.ps1 | Invoke-Expression; @@ -151,9 +151,23 @@ Write-Output "SSH Public Key=$AKS_SSH_KEY" # download kubectl $KUBECTL_FILE = "$AKS_LOCAL_FOLDER\kubectl.exe" -if (!(Test-Path "$KUBECTL_FILE")) { - Write-Output "Downloading kubectl.exe to $KUBECTL_FILE" - $url = "https://storage.googleapis.com/kubernetes-release/release/v1.8.0/bin/windows/amd64/kubectl.exe" +$DESIRED_KUBECTL_VERSION = "v1.9.2" +$downloadkubectl = "n" +if (!(Test-Path "$KUBECTL_FILE")) +{ + $downloadkubectl = "y" +} +else { + $kubectlversion=kubectl version --client=true --short=true + $kubectlversionMatches=$($kubectlversion -match "$DESIRED_KUBECTL_VERSION") + if(!$kubectlversionMatches){ + $downloadkubectl = "y" + } +} +if ( $downloadkubectl -eq "y") { + $url = "https://storage.googleapis.com/kubernetes-release/release/${DESIRED_KUBECTL_VERSION}/bin/windows/amd64/kubectl.exe" + Write-Output "Downloading kubectl.exe from url $url to $KUBECTL_FILE" + Remove-Item -Path "$KUBECTL_FILE" (New-Object System.Net.WebClient).DownloadFile($url, $KUBECTL_FILE) } else { @@ -162,16 +176,26 @@ else { # download acs-engine $ACS_ENGINE_FILE = "$AKS_LOCAL_FOLDER\acs-engine.exe" -$acsengineversion = acs-engine version -$acsengineversion = $acsengineversion -match "^Version: v[0-9.]+" -$acsengineversion = "[$acsengineversion]" -$desiredversion="v0.12.4" -if ((!(Test-Path "$ACS_ENGINE_FILE")) -or !$acsengineversion.equals("[Version: $desiredversion]")) { - Write-Output "Downloading acs-engine.exe to $ACS_ENGINE_FILE" - $url = "https://github.com/Azure/acs-engine/releases/download/${desiredversion}/acs-engine-${desiredversion}-windows-amd64.zip" +$DESIRED_ACS_ENGINE_VERSION = "v0.12.4" +$downloadACSEngine = "n" +if (!(Test-Path "$ACS_ENGINE_FILE")) { + $downloadACSEngine = "y" +} +else { + $acsengineversion = acs-engine version + $acsengineversion = $acsengineversion -match "^Version: v[0-9.]+" + $acsengineversion = "[$acsengineversion]" + if ( !$acsengineversion.equals("[Version: $DESIRED_ACS_ENGINE_VERSION]")) { + $downloadACSEngine = "y" + } +} +if ($downloadACSEngine -eq "y") { + $url = "https://github.com/Azure/acs-engine/releases/download/${DESIRED_ACS_ENGINE_VERSION}/acs-engine-${DESIRED_ACS_ENGINE_VERSION}-windows-amd64.zip" + Write-Output "Downloading acs-engine.exe from $url to $ACS_ENGINE_FILE" + Remove-Item -Path "$ACS_ENGINE_FILE" (New-Object System.Net.WebClient).DownloadFile($url, "$AKS_LOCAL_FOLDER\acs-engine.zip") Expand-Archive -Path "$AKS_LOCAL_FOLDER\acs-engine.zip" -DestinationPath "$AKS_LOCAL_FOLDER" -Force - Copy-Item -Path "$AKS_LOCAL_FOLDER\acs-engine-${desiredversion}-windows-amd64\acs-engine.exe" -Destination $ACS_ENGINE_FILE + Copy-Item -Path "$AKS_LOCAL_FOLDER\acs-engine-${DESIRED_ACS_ENGINE_VERSION}-windows-amd64\acs-engine.exe" -Destination $ACS_ENGINE_FILE } else { Write-Output "acs-engine.exe already exists at $ACS_ENGINE_FILE" @@ -192,7 +216,26 @@ if ([string]::IsNullOrWhiteSpace($AKS_PERS_STORAGE_ACCOUNT_NAME)) { $AKS_PERS_STORAGE_ACCOUNT_NAME = $AKS_PERS_STORAGE_ACCOUNT_NAME.ToLower() Write-Output "Using storage account: [$AKS_PERS_STORAGE_ACCOUNT_NAME]" } +Write-Output "Checking to see if storage account exists" +$storageAccountCanBeCreated = az storage account check-name --name $AKS_PERS_STORAGE_ACCOUNT_NAME --query "nameAvailable" --output tsv +if ($storageAccountCanBeCreated -ne "True" ) { + az storage account check-name --name $AKS_PERS_STORAGE_ACCOUNT_NAME + + Do { $confirmation = Read-Host "Storage account, [$AKS_PERS_STORAGE_ACCOUNT_NAME], already exists. Delete it? (WARNING: deletes data) (y/n)"} + while ([string]::IsNullOrWhiteSpace($confirmation)) + + if ($confirmation -eq 'y') { + az storage account delete -n $AKS_PERS_STORAGE_ACCOUNT_NAME -g $AKS_PERS_RESOURCE_GROUP + Write-Output "Creating storage account: [${AKS_PERS_STORAGE_ACCOUNT_NAME}]" + # https://docs.microsoft.com/en-us/azure/storage/common/storage-quickstart-create-account?tabs=azure-cli + az storage account create -n $AKS_PERS_STORAGE_ACCOUNT_NAME -g $AKS_PERS_RESOURCE_GROUP -l $AKS_PERS_LOCATION --kind StorageV2 --sku Standard_LRS + } +} +else { + Write-Output "Creating storage account: [${AKS_PERS_STORAGE_ACCOUNT_NAME}]" + az storage account create -n $AKS_PERS_STORAGE_ACCOUNT_NAME -g $AKS_PERS_RESOURCE_GROUP -l $AKS_PERS_LOCATION --kind StorageV2 --sku Standard_LRS +} # see if the user wants to use a specific virtual network Do { $confirmation = Read-Host "Would you like to connect to an existing virtual network? (y/n)"} @@ -382,9 +425,10 @@ if ($resourceGroupExists -eq "true") { Write-Output "delete the routes EXCEPT the temproutetable we just created" az resource delete --ids $(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Network/routeTables" --query "[].id" -o tsv) } - if ($(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Network/networkSecurityGroups" --query "[].id" -o tsv ).length -ne 0) { + $AKS_PERS_NETWORK_SECURITY_GROUP = "$($AKS_PERS_RESOURCE_GROUP.ToLower())-nsg" + if ($(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Network/networkSecurityGroups" --query "[?name != '${$AKS_PERS_NETWORK_SECURITY_GROUP}'].id" -o tsv ).length -ne 0) { Write-Output "delete the network security groups" - az resource delete --ids $(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Network/networkSecurityGroups" --query "[].id" -o tsv ) + az resource delete --ids $(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Network/networkSecurityGroups" --query "[?name != '${$AKS_PERS_NETWORK_SECURITY_GROUP}'].id" -o tsv ) } } @@ -487,7 +531,7 @@ else { # subnet CIDR to mask # https://doc.m0n0.ch/quickstartpc/intro-CIDR.html -$WINDOWS_PASSWORD="replacepassword1234$" +$WINDOWS_PASSWORD = "replacepassword1234$" Write-Output "replacing values in the acs.json file" $MyFile = (Get-Content $output) | Foreach-Object {$_ -replace 'REPLACE-SSH-KEY', "${AKS_SSH_KEY}"} | @@ -624,26 +668,6 @@ while ($nodeCount -lt 3) { } # create storage account -Write-Output "Checking to see if storage account exists" -$storageAccountCanBeCreated = az storage account check-name --name $AKS_PERS_STORAGE_ACCOUNT_NAME --query "nameAvailable" --output tsv - -if ($storageAccountCanBeCreated -ne "True" ) { - az storage account check-name --name $AKS_PERS_STORAGE_ACCOUNT_NAME - - Do { $confirmation = Read-Host "Storage account, [$AKS_PERS_STORAGE_ACCOUNT_NAME], already exists. Delete it? (Warning: deletes data) (y/n)"} - while ([string]::IsNullOrWhiteSpace($confirmation)) - - if ($confirmation -eq 'y') { - az storage account delete -n $AKS_PERS_STORAGE_ACCOUNT_NAME -g $AKS_PERS_RESOURCE_GROUP - Write-Output "Creating storage account: [${AKS_PERS_STORAGE_ACCOUNT_NAME}]" - # https://docs.microsoft.com/en-us/azure/storage/common/storage-quickstart-create-account?tabs=azure-cli - az storage account create -n $AKS_PERS_STORAGE_ACCOUNT_NAME -g $AKS_PERS_RESOURCE_GROUP -l $AKS_PERS_LOCATION --kind StorageV2 --sku Standard_LRS - } -} -else { - Write-Output "Creating storage account: [${AKS_PERS_STORAGE_ACCOUNT_NAME}]" - az storage account create -n $AKS_PERS_STORAGE_ACCOUNT_NAME -g $AKS_PERS_RESOURCE_GROUP -l $AKS_PERS_LOCATION --kind StorageV2 --sku Standard_LRS -} Write-Output "Get storage account key" $STORAGE_KEY = az storage account keys list --resource-group $AKS_PERS_RESOURCE_GROUP --account-name $AKS_PERS_STORAGE_ACCOUNT_NAME --query "[0].value" --output tsv @@ -670,12 +694,12 @@ ForEach ($line in $failedItems) { } Write-Host "hosts entries" -$virtualmachines=az vm list -g $AKS_PERS_RESOURCE_GROUP --query "[].name" -o tsv +$virtualmachines = az vm list -g $AKS_PERS_RESOURCE_GROUP --query "[].name" -o tsv ForEach ($vm in $virtualmachines) { - $firstprivateip=az vm list-ip-addresses -g $AKS_PERS_RESOURCE_GROUP -n $vm --query "[].virtualMachine.network.privateIpAddresses[0]" -o tsv + $firstprivateip = az vm list-ip-addresses -g $AKS_PERS_RESOURCE_GROUP -n $vm --query "[].virtualMachine.network.privateIpAddresses[0]" -o tsv # $privateiplist= az vm show -g $AKS_PERS_RESOURCE_GROUP -n $vm -d --query privateIps -otsv Write-Output "$firstprivateip $vm" - if($vm -match "master" ){ + if ($vm -match "master" ) { Write-Output "$firstprivateip $MASTER_VM_NAME" } } diff --git a/azure/main.ps1 b/azure/main.ps1 index ce2242a..1be9152 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.01.17.2" +$version = "2018.01.31.1" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -8,21 +8,25 @@ Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/Install do { Write-Host "================ Health Catalyst version $version, common functions $(GetCommonVersion) ================" + Write-Host "----- Choose Cluster -----" Write-Host "0: Change kube to point to another cluster" + Write-Host "------ Install -------" Write-Host "1: Create a new Azure Container Service" Write-Host "2: Setup Load Balancer" - Write-Host "3: Show status of cluster" - Write-Host "4: Launch Kubernetes Dashboard" - Write-Host "5: SSH to Master VM" - Write-Host "6: View status of DNS pods" + Write-Host "3: Install NLP" + Write-Host "4: Install Realtime" + Write-Host "----- Troubleshooting ----" + Write-Host "5: Show status of cluster" + Write-Host "6: Launch Kubernetes Admin Dashboard" + Write-Host "7: SSH to Master VM" + Write-Host "8: View status of DNS pods" Write-Host "------ NLP -----" - Write-Host "7: Install NLP" - Write-Host "8: Show status of NLP" - Write-Host "9: Test web sites" - Write-Host "10: Show passwords" + Write-Host "9: Show status of NLP" + Write-Host "10: Test web sites" + Write-Host "11: Show passwords" + Write-Host "12: Show NLP logs" Write-Host "------ Realtime -----" - Write-Host "11: Install Realtime" - Write-Host "12: Show status of realtime" + Write-Host "13: Show status of realtime" Write-Host "-----------" Write-Host "q: Quit" $input = Read-Host "Please make a selection" @@ -48,16 +52,26 @@ do { Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/setup-loadbalancer.ps1 | Invoke-Expression; } '3' { + Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | Invoke-Expression; + } + '4' { + Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.ps1 | Invoke-Expression; + } + '5' { Write-Host "Current cluster: $(kubectl config current-context)" + kubectl version --short kubectl get "deployments,pods,services,ingress,secrets" --namespace=kube-system -o wide } - '4' { + '6' { + # Write-Host "Your kubeconfig file is here: $env:KUBECONFIG" + Write-Host "Click Skip on login screen" $job = Start-Job -Name "KubDashboard" -ScriptBlock {kubectl proxy} - Start-Process -FilePath "http://localhost:8001/api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy" + Start-Process -FilePath "http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/" + Start-Sleep -Seconds 5 Receive-Job -Job $job } - '5' { + '7' { $AKS_PERS_RESOURCE_GROUP_BASE64 = kubectl get secret azure-secret -o jsonpath='{.data.resourcegroup}' if (![string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP_BASE64)) { $AKS_PERS_RESOURCE_GROUP = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($AKS_PERS_RESOURCE_GROUP_BASE64)) @@ -80,8 +94,11 @@ do { # systemctl list-unit-files | grep .service | grep enabled # https://askubuntu.com/questions/795226/how-to-list-all-enabled-services-from-systemctl + # restart VM: az vm restart -g MyResourceGroup -n MyVm + # list vm sizes available: az vm list-sizes --location "eastus" --query "[].name" + } - '6' { + '8' { kubectl get pods -l k8s-app=kube-dns -n kube-system -o wide Do { $confirmation = Read-Host "Do you want to restart DNS pods? (y/n)"} while ([string]::IsNullOrWhiteSpace($confirmation)) @@ -94,13 +111,10 @@ do { } } } - '7' { - Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | Invoke-Expression; - } - '8' { + '9' { kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide } - '9' { + '10' { $loadBalancerIP = kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' --ignore-not-found=true if ([string]::IsNullOrWhiteSpace($loadBalancerIP)) { @@ -120,16 +134,21 @@ do { Write-Output "$loadBalancerIP solr.$customerid.healthcatalyst.net" Write-Output "$loadBalancerIP nlp.$customerid.healthcatalyst.net" Write-Output "$loadBalancerIP nlpjobs.$customerid.healthcatalyst.net" + } - '10' { + '11' { Write-Host "MySql root password: $(ReadSecretPassword -secretname mysqlrootpassword -namespace fabricnlp)" Write-Host "MySql NLP_APP_USER password: $(ReadSecretPassword -secretname mysqlpassword -namespace fabricnlp)" Write-Host "SendGrid SMTP Relay key: $(ReadSecretPassword -secretname smtprelaypassword -namespace fabricnlp)" } - '11' { - Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.ps1 | Invoke-Expression; - } '12' { + $pods=$(kubectl get pods -n fabricnlp -o jsonpath='{.items[*].metadata.name}') + foreach ($pod in $pods.Split(" ")) { + Write-Output "=============== Pod: $pod =================" + kubectl logs --tail=20 $pod -n fabricnlp + } + } + '13' { kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime -o wide } 'q' { diff --git a/azure/restartkubedns.txt b/azure/restartkubedns.txt index 6e089a4..00be965 100644 --- a/azure/restartkubedns.txt +++ b/azure/restartkubedns.txt @@ -1,27 +1,24 @@ #!/bin/sh PATH=$PATH:/usr/local/bin -date -echo "Version 1.068" + +echo "$(date) Version 2018.01.31.01" # https://www.cyberciti.biz/faq/how-do-i-add-jobs-to-cron-under-linux-or-unix-oses/ -# put this script in /etc/cron.hourly/ so it runs every hourly -restartCounts=$(kubectl get pods -l k8s-app=kube-dns -n kube-system -o jsonpath='{.items[*].status.containerStatuses[*].restartCount}') -needToRestart="n" -for restartCount in $restartCounts +dnsPods=$(kubectl get pods -l k8s-app=kube-dns -n kube-system -o jsonpath='{.items[*].metadata.name}') +for dnsPod in $dnsPods do - if [ $restartCount -gt "0" ]; then - needToRestart="y" - echo $restartCount - fi -done - -if [ $needToRestart = "y" ]; then - failedItems=$(kubectl get pods -l k8s-app=kube-dns -n kube-system -o jsonpath='{.items[*].metadata.name}') - - for item in $failedItems + restartCounts=$(kubectl get pods $dnsPod -n kube-system -o jsonpath='{.status.containerStatuses[*].restartCount}') + needToRestart="n" + for restartCount in $restartCounts do - echo "deleting $item" + if [ $restartCount -gt "0" ]; then + needToRestart="y" + fi + done + + if [ $needToRestart = "y" ]; then + echo "deleting pod $item with restartCounts: $restartCounts" kubectl delete pod $item -n kube-system - done -fi + fi +done diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index b0b76d1..54841c9 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -637,8 +637,8 @@ if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { } if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { - Write-Output "Testing internal load balancer" - Invoke-WebRequest -useb -Headers @{"Host" = "dashboard.$dnsrecordname"} -Uri http://$INTERNAL_IP/ | Select-Object -Expand Content + # Write-Output "Testing internal load balancer" + # Invoke-WebRequest -useb -Headers @{"Host" = "dashboard.$dnsrecordname"} -Uri http://$INTERNAL_IP/ | Select-Object -Expand Content Write-Output "To test out the load balancer since the vnet, open Git Bash and run:" Write-Output "curl -L --verbose --header 'Host: dashboard.$dnsrecordname' 'http://$INTERNAL_IP/' -k" diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index bb9503e..ffbaf13 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -1,4 +1,4 @@ -Write-Output "Version 2018.01.28.02" +Write-Output "Version 2018.01.31.01" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | iex; $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -11,6 +11,19 @@ $AKS_USE_SSL = "" Write-Output "user: $loggedInUser" +$AKS_PERS_RESOURCE_GROUP_BASE64 = kubectl get secret azure-secret -o jsonpath='{.data.resourcegroup}' +if (![string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP_BASE64)) { + $AKS_PERS_RESOURCE_GROUP = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($AKS_PERS_RESOURCE_GROUP_BASE64)) +} + +if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) { + Do { $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group (e.g., fabricnlp-rg)"} + while ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) +} +else { + Write-Output "Using resource group: $AKS_PERS_RESOURCE_GROUP" +} + if ( "$loggedInUser" ) { $SUBSCRIPTION_NAME = az account show --query "name" --output tsv Write-Output "You are currently logged in as [$loggedInUser] into subscription [$SUBSCRIPTION_NAME]" @@ -46,19 +59,6 @@ else { $AKS_PERS_SHARE_NAME = "fabricnlp" $AKS_PERS_BACKUP_SHARE_NAME = "${AKS_PERS_SHARE_NAME}backups" -$AKS_PERS_RESOURCE_GROUP_BASE64 = kubectl get secret azure-secret -o jsonpath='{.data.resourcegroup}' -if (![string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP_BASE64)) { - $AKS_PERS_RESOURCE_GROUP = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($AKS_PERS_RESOURCE_GROUP_BASE64)) -} - -if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) { - Do { $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group (e.g., fabricnlp-rg)"} - while ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) -} -else { - Write-Output "Using resource group: $AKS_PERS_RESOURCE_GROUP" -} - CreateShare -resourceGroup $AKS_PERS_RESOURCE_GROUP -sharename $AKS_PERS_SHARE_NAME CreateShare -resourceGroup $AKS_PERS_RESOURCE_GROUP -sharename $AKS_PERS_BACKUP_SHARE_NAME From 9c1cca5b77d20252af968ea998fe4a49ecc39ce8 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 1 Feb 2018 11:21:56 -0800 Subject: [PATCH 091/473] added a menu item to restart all the vms Signed-off-by: HQCATALYST\imran.qureshi --- azure/create-acs-cluster.ps1 | 19 +++++++------------ azure/main.ps1 | 32 ++++++++++++++++++-------------- azure/restartkubedns.txt | 4 ++-- azure/sethostfile.ps1 | 35 +++++++++++++++++++++++++++++++++++ 4 files changed, 62 insertions(+), 28 deletions(-) create mode 100644 azure/sethostfile.ps1 diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index 292d003..ee39f0d 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -5,7 +5,7 @@ Write-output "Version 2018.01.30.01" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/create-acs-cluster.ps1 | iex; $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -$GITHUB_URL = "C:\Catalyst\git\Installscripts" +# $GITHUB_URL = "C:\Catalyst\git\Installscripts" Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/common.ps1 | Invoke-Expression; @@ -693,19 +693,14 @@ ForEach ($line in $failedItems) { kubectl delete pod $line -n kube-system } -Write-Host "hosts entries" -$virtualmachines = az vm list -g $AKS_PERS_RESOURCE_GROUP --query "[].name" -o tsv -ForEach ($vm in $virtualmachines) { - $firstprivateip = az vm list-ip-addresses -g $AKS_PERS_RESOURCE_GROUP -n $vm --query "[].virtualMachine.network.privateIpAddresses[0]" -o tsv - # $privateiplist= az vm show -g $AKS_PERS_RESOURCE_GROUP -n $vm -d --query privateIps -otsv - Write-Output "$firstprivateip $vm" - if ($vm -match "master" ) { - Write-Output "$firstprivateip $MASTER_VM_NAME" - } -} # /subscriptions/f8a42a3a-8b22-4be4-8413-0b6911c77242/resourceGroups/Prod-Kub-AHMN-RG/providers/Microsoft.Network/networkInterfaces/k8s-master-37819884-nic-0 +# command to update hosts +# grep -v " k8s-master-37819884-0" /etc/hosts | grep -v "k8s-linuxagent-37819884-0" - | grep -v "k8s-linuxagent-37819884-1" - | grep -v "prod-kub-ahmn-rg.westus.cloudapp.azure.com" - | tee /etc/hosts +# | ( cat - && echo "foo" && echo "bar") +# | tee /etc/hosts + # copy the file into /etc/cron.hourly/ # chmod +x ./restartkubedns.sh # sudo mv ./restartkubedns.sh /etc/cron.hourly/ @@ -715,7 +710,7 @@ ForEach ($vm in $virtualmachines) { # crontab -l | { cat; echo "*/10 * * * * /etc/cron.hourly/restartkubedns.sh >>/tmp/restartkubedns.log"; } | crontab - # az vm extension set --resource-group Prod-Kub-AHMN-RG --vm-name k8s-master-37819884-0 --name customScript --publisher Microsoft.Azure.Extensions --protected-settings "{'commandToExecute': 'whoami;touch /tmp/me.txt'}" # az vm run-command invoke -g Prod-Kub-AHMN-RG -n k8s-master-37819884-0 --command-id RunShellScript --scripts "whomai" -# az vm run-command invoke -g Prod-Kub-AHMN-RG -n k8s-master-37819884-0 --command-id RunShellScript --scripts "crontab -l | { cat; echo '*/10 * * * * /etc/cron.hourly/restartkubedns.sh >>/tmp/restartkubedns.log'; } | crontab -" +# az vm run-command invoke -g Prod-Kub-AHMN-RG -n k8s-master-37819884-0 --command-id RunShellScript --scripts "crontab -l | { cat; echo '*/10 * * * * /etc/cron.hourly/restartkubedns.sh >>/tmp/restartkubedns.log 2>&1'; } | crontab -" Write-Output "Run the following to see status of the cluster" Write-Output "kubectl get deployments,pods,services,ingress,secrets --namespace=kube-system -o wide" diff --git a/azure/main.ps1 b/azure/main.ps1 index 1be9152..fab2870 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -20,13 +20,14 @@ do { Write-Host "6: Launch Kubernetes Admin Dashboard" Write-Host "7: SSH to Master VM" Write-Host "8: View status of DNS pods" + Write-Host "9: Restart all VMs" Write-Host "------ NLP -----" - Write-Host "9: Show status of NLP" - Write-Host "10: Test web sites" - Write-Host "11: Show passwords" - Write-Host "12: Show NLP logs" + Write-Host "10: Show status of NLP" + Write-Host "11: Test web sites" + Write-Host "12: Show passwords" + Write-Host "13: Show NLP logs" Write-Host "------ Realtime -----" - Write-Host "13: Show status of realtime" + Write-Host "14: Show status of realtime" Write-Host "-----------" Write-Host "q: Quit" $input = Read-Host "Please make a selection" @@ -72,11 +73,8 @@ do { Receive-Job -Job $job } '7' { - $AKS_PERS_RESOURCE_GROUP_BASE64 = kubectl get secret azure-secret -o jsonpath='{.data.resourcegroup}' - if (![string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP_BASE64)) { - $AKS_PERS_RESOURCE_GROUP = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($AKS_PERS_RESOURCE_GROUP_BASE64)) - } - + $AKS_PERS_RESOURCE_GROUP = ReadSecretValue -secretname azure-secret -valueName resourcegroup + $AKS_PERS_LOCATION = az group show --name $AKS_PERS_RESOURCE_GROUP --query "location" -o tsv $AKS_LOCAL_FOLDER = Read-Host "Folder to store SSH keys (default: c:\kubernetes)" @@ -112,9 +110,15 @@ do { } } '9' { - kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide + $AKS_PERS_RESOURCE_GROUP = ReadSecretValue -secretname azure-secret -valueName resourcegroup + # az vm run-command invoke -g Prod-Kub-AHMN-RG -n k8s-master-37819884-0 --command-id RunShellScript --scripts "apt-get update && sudo apt-get upgrade" + Write-Host "Restarting VMs in resource group: $AKS_PERS_RESOURCE_GROUP" + az vm restart --ids $(az vm list -g $AKS_PERS_RESOURCE_GROUP --query "[].id" -o tsv) } '10' { + kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide + } + '11' { $loadBalancerIP = kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' --ignore-not-found=true if ([string]::IsNullOrWhiteSpace($loadBalancerIP)) { @@ -136,19 +140,19 @@ do { Write-Output "$loadBalancerIP nlpjobs.$customerid.healthcatalyst.net" } - '11' { + '12' { Write-Host "MySql root password: $(ReadSecretPassword -secretname mysqlrootpassword -namespace fabricnlp)" Write-Host "MySql NLP_APP_USER password: $(ReadSecretPassword -secretname mysqlpassword -namespace fabricnlp)" Write-Host "SendGrid SMTP Relay key: $(ReadSecretPassword -secretname smtprelaypassword -namespace fabricnlp)" } - '12' { + '13' { $pods=$(kubectl get pods -n fabricnlp -o jsonpath='{.items[*].metadata.name}') foreach ($pod in $pods.Split(" ")) { Write-Output "=============== Pod: $pod =================" kubectl logs --tail=20 $pod -n fabricnlp } } - '13' { + '14' { kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime -o wide } 'q' { diff --git a/azure/restartkubedns.txt b/azure/restartkubedns.txt index 00be965..aedfa3f 100644 --- a/azure/restartkubedns.txt +++ b/azure/restartkubedns.txt @@ -18,7 +18,7 @@ do done if [ $needToRestart = "y" ]; then - echo "deleting pod $item with restartCounts: $restartCounts" - kubectl delete pod $item -n kube-system + echo "deleting pod $dnsPod with restartCounts: $restartCounts" + kubectl delete pod $dnsPod -n kube-system fi done diff --git a/azure/sethostfile.ps1 b/azure/sethostfile.ps1 new file mode 100644 index 0000000..210938b --- /dev/null +++ b/azure/sethostfile.ps1 @@ -0,0 +1,35 @@ + +Write-Output "-------------- sethostfile.ps1 version 2018.02.01.01 --------------------------" + +Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/common.ps1 | Invoke-Expression; + +$AKS_PERS_RESOURCE_GROUP = ReadSecretValue -secretname azure-secret -valueName resourcegroup + +$AKS_PERS_LOCATION = az group show --name $AKS_PERS_RESOURCE_GROUP --query "location" -o tsv + +$MASTER_VM_NAME = "${AKS_PERS_RESOURCE_GROUP}.${AKS_PERS_LOCATION}.cloudapp.azure.com" + +Write-Host "hosts entries" +$fullCmdToUpdateHostsFiles="" +$cmdToRemovePreviousHostEntries="" +$cmdToAddNewHostEntries="" +$virtualmachines = az vm list -g $AKS_PERS_RESOURCE_GROUP --query "[].name" -o tsv +ForEach ($vm in $virtualmachines) { + $firstprivateip = az vm list-ip-addresses -g $AKS_PERS_RESOURCE_GROUP -n $vm --query "[].virtualMachine.network.privateIpAddresses[0]" -o tsv + # $privateiplist= az vm show -g $AKS_PERS_RESOURCE_GROUP -n $vm -d --query privateIps -otsv + Write-Output "$firstprivateip $vm" + + $cmdToRemovePreviousHostEntries = $cmdToRemovePreviousHostEntries + "grep -v '${vm}' /etc/hosts | " + $cmdToAddNewHostEntries = $cmdToAddNewHostEntries + " && echo '$firstprivateip $vm'" + if ($vm -match "master" ) { + Write-Output "$firstprivateip $MASTER_VM_NAME" + $cmdToRemovePreviousHostEntries = $cmdToRemovePreviousHostEntries + "grep -v '${MASTER_VM_NAME}' /etc/hosts | " + $cmdToAddNewHostEntries = $cmdToAddNewHostEntries + " && echo '$firstprivateip ${MASTER_VM_NAME}'" + } +} + +$fullCmdToUpdateHostsFiles="$cmdToRemovePreviousHostEntries (cat $cmdToAddNewHostEntries )" + +Write-Host "$fullCmdToUpdateHostsFiles" + +Write-Output "----------------- end sethostfile.ps1 ----------------------------" From 354f60268e9928ce1510ca7f2e84814ee0f9ab9c Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 1 Feb 2018 12:57:41 -0800 Subject: [PATCH 092/473] based on version, open different urls for kube dashboard. Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 77 +++++++++++++++++++++++++++++++++++- azure/create-acs-cluster.ps1 | 2 + azure/main.ps1 | 27 ++++++++----- azure/sethostfile.ps1 | 35 ---------------- 4 files changed, 96 insertions(+), 45 deletions(-) delete mode 100644 azure/sethostfile.ps1 diff --git a/azure/common.ps1 b/azure/common.ps1 index 7359719..c136b63 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,4 +1,4 @@ -$version = "2018.01.30.01" +$version = "2018.02.01.01" Write-Host "Including common.ps1 version $version" function global:GetCommonVersion() { @@ -225,3 +225,78 @@ function global:Get-FirstIP { $startaddr = $startaddr + 239 # skip the first few since they are reserved INT64-toIP -int $startaddr } + +function global:SetupCronTab($resourceGroup) { + $virtualmachines = az vm list -g $resourceGroup --query "[].name" -o tsv + ForEach ($vm in $virtualmachines) { + if ($vm -match "master" ) { + $cmd = "mkdir -p /opt/healthcatalyst; curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/restartkubedns.txt -o /opt/healthcatalyst/restartkubedns.sh; crontab -l | grep -v 'restartkubedns.sh' - | { cat; echo '*/10 * * * * /opt/healthcatalyst/restartkubedns.sh >> /tmp/restartkubedns.log 2>&1'; } | crontab -" + az vm run-command invoke -g $resourceGroup -n $vm --command-id RunShellScript --scripts "$cmd" + } + } +} + +function global:UpdateOSInVMs($resourceGroup) { + $virtualmachines = az vm list -g $resourceGroup --query "[].name" -o tsv + ForEach ($vm in $virtualmachines) { + Write-Output "Updating OS in vm: $vm" + $cmd = "apt-get update && apt-get upgrade" + az vm run-command invoke -g $resourceGroup -n $vm --command-id RunShellScript --scripts "$cmd" + } +} + + +function global:RestartVMsInResourceGroup( $resourceGroup) { + # az vm run-command invoke -g Prod-Kub-AHMN-RG -n k8s-master-37819884-0 --command-id RunShellScript --scripts "apt-get update && sudo apt-get upgrade" + Write-Host "Restarting VMs in resource group: ${resourceGroup}: $(az vm list -g $resourceGroup --query "[].name" -o tsv)" + az vm restart --ids $(az vm list -g $resourceGroup --query "[].id" -o tsv) + + Write-Output "Waiting for VMs to restart: $(az vm list -g $resourceGroup --query "[].name" -o tsv)" + $virtualmachines = az vm list -g $resourceGroup --query "[].name" -o tsv + ForEach ($vm in $virtualmachines) { + + Write-Output "Waiting on $vm" + Do { + Start-Sleep -Seconds 1 + $state = az vm show -g $resourceGroup -n $vm -d --query "powerState"; + Write-Output "Status of ${vm}: ${state}" + } + while (!($state = "VM running")) + } +} + +function global:SetHostFileInVms( $resourceGroup) { + $AKS_PERS_LOCATION = az group show --name $resourceGroup --query "location" -o tsv + + $MASTER_VM_NAME = "${resourceGroup}.${AKS_PERS_LOCATION}.cloudapp.azure.com" + $MASTER_VM_NAME = $MASTER_VM_NAME.ToLower() + + Write-Host "Creating hosts entries" + $fullCmdToUpdateHostsFiles = "" + $cmdToRemovePreviousHostEntries = "" + $cmdToAddNewHostEntries = "" + $virtualmachines = az vm list -g $resourceGroup --query "[].name" -o tsv + ForEach ($vm in $virtualmachines) { + $firstprivateip = az vm list-ip-addresses -g $resourceGroup -n $vm --query "[].virtualMachine.network.privateIpAddresses[0]" -o tsv + # $privateiplist= az vm show -g $AKS_PERS_RESOURCE_GROUP -n $vm -d --query privateIps -otsv + Write-Output "$firstprivateip $vm" + + $cmdToRemovePreviousHostEntries = $cmdToRemovePreviousHostEntries + "grep -v '${vm}' - | " + $cmdToAddNewHostEntries = $cmdToAddNewHostEntries + " && echo '$firstprivateip $vm'" + if ($vm -match "master" ) { + Write-Output "$firstprivateip $MASTER_VM_NAME" + $cmdToRemovePreviousHostEntries = $cmdToRemovePreviousHostEntries + "grep -v '${MASTER_VM_NAME}' - | " + $cmdToAddNewHostEntries = $cmdToAddNewHostEntries + " && echo '$firstprivateip ${MASTER_VM_NAME}'" + } + } + + $fullCmdToUpdateHostsFiles = "cat /etc/hosts | $cmdToRemovePreviousHostEntries (cat $cmdToAddNewHostEntries ) | tee /etc/hosts; cat /etc/hosts" + + Write-Host "Command to send to VM" + Write-Host "$fullCmdToUpdateHostsFiles" + + ForEach ($vm in $virtualmachines) { + Write-Output "Sending command to $vm" + az vm run-command invoke -g $resourceGroup -n $vm --command-id RunShellScript --scripts "$fullCmdToUpdateHostsFiles" + } +} \ No newline at end of file diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index ee39f0d..5180b98 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -693,6 +693,8 @@ ForEach ($line in $failedItems) { kubectl delete pod $line -n kube-system } +SetHostFileInVms -resourceGroup $AKS_PERS_RESOURCE_GROUP +SetupCronTab -resourceGroup $AKS_PERS_RESOURCE_GROUP # /subscriptions/f8a42a3a-8b22-4be4-8413-0b6911c77242/resourceGroups/Prod-Kub-AHMN-RG/providers/Microsoft.Network/networkInterfaces/k8s-master-37819884-nic-0 diff --git a/azure/main.ps1 b/azure/main.ps1 index fab2870..9078362 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.01.31.1" +$version = "2018.02.01.1" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -20,7 +20,7 @@ do { Write-Host "6: Launch Kubernetes Admin Dashboard" Write-Host "7: SSH to Master VM" Write-Host "8: View status of DNS pods" - Write-Host "9: Restart all VMs" + Write-Host "9: Apply updates and restart all VMs" Write-Host "------ NLP -----" Write-Host "10: Show status of NLP" Write-Host "11: Test web sites" @@ -64,10 +64,17 @@ do { kubectl get "deployments,pods,services,ingress,secrets" --namespace=kube-system -o wide } '6' { - # Write-Host "Your kubeconfig file is here: $env:KUBECONFIG" - Write-Host "Click Skip on login screen" $job = Start-Job -Name "KubDashboard" -ScriptBlock {kubectl proxy} - Start-Process -FilePath "http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/" + + # Write-Host "Your kubeconfig file is here: $env:KUBECONFIG" + $kubectlversion = kubectl version --client=true --short=true + if ($kubectlversion -match "v1.9") { + Write-Host "Click Skip on login screen" + Start-Process -FilePath "http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/" + } + else { + Start-Process -FilePath "http://localhost:8001/api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy" + } Start-Sleep -Seconds 5 Receive-Job -Job $job @@ -110,10 +117,12 @@ do { } } '9' { + # restart VMs $AKS_PERS_RESOURCE_GROUP = ReadSecretValue -secretname azure-secret -valueName resourcegroup - # az vm run-command invoke -g Prod-Kub-AHMN-RG -n k8s-master-37819884-0 --command-id RunShellScript --scripts "apt-get update && sudo apt-get upgrade" - Write-Host "Restarting VMs in resource group: $AKS_PERS_RESOURCE_GROUP" - az vm restart --ids $(az vm list -g $AKS_PERS_RESOURCE_GROUP --query "[].id" -o tsv) + UpdateOSInVMs -resourceGroup $AKS_PERS_RESOURCE_GROUP + RestartVMsInResourceGroup -resourceGroup $AKS_PERS_RESOURCE_GROUP + SetHostFileInVms -resourceGroup $AKS_PERS_RESOURCE_GROUP + SetupCronTab -resourceGroup $AKS_PERS_RESOURCE_GROUP } '10' { kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide @@ -146,7 +155,7 @@ do { Write-Host "SendGrid SMTP Relay key: $(ReadSecretPassword -secretname smtprelaypassword -namespace fabricnlp)" } '13' { - $pods=$(kubectl get pods -n fabricnlp -o jsonpath='{.items[*].metadata.name}') + $pods = $(kubectl get pods -n fabricnlp -o jsonpath='{.items[*].metadata.name}') foreach ($pod in $pods.Split(" ")) { Write-Output "=============== Pod: $pod =================" kubectl logs --tail=20 $pod -n fabricnlp diff --git a/azure/sethostfile.ps1 b/azure/sethostfile.ps1 deleted file mode 100644 index 210938b..0000000 --- a/azure/sethostfile.ps1 +++ /dev/null @@ -1,35 +0,0 @@ - -Write-Output "-------------- sethostfile.ps1 version 2018.02.01.01 --------------------------" - -Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/common.ps1 | Invoke-Expression; - -$AKS_PERS_RESOURCE_GROUP = ReadSecretValue -secretname azure-secret -valueName resourcegroup - -$AKS_PERS_LOCATION = az group show --name $AKS_PERS_RESOURCE_GROUP --query "location" -o tsv - -$MASTER_VM_NAME = "${AKS_PERS_RESOURCE_GROUP}.${AKS_PERS_LOCATION}.cloudapp.azure.com" - -Write-Host "hosts entries" -$fullCmdToUpdateHostsFiles="" -$cmdToRemovePreviousHostEntries="" -$cmdToAddNewHostEntries="" -$virtualmachines = az vm list -g $AKS_PERS_RESOURCE_GROUP --query "[].name" -o tsv -ForEach ($vm in $virtualmachines) { - $firstprivateip = az vm list-ip-addresses -g $AKS_PERS_RESOURCE_GROUP -n $vm --query "[].virtualMachine.network.privateIpAddresses[0]" -o tsv - # $privateiplist= az vm show -g $AKS_PERS_RESOURCE_GROUP -n $vm -d --query privateIps -otsv - Write-Output "$firstprivateip $vm" - - $cmdToRemovePreviousHostEntries = $cmdToRemovePreviousHostEntries + "grep -v '${vm}' /etc/hosts | " - $cmdToAddNewHostEntries = $cmdToAddNewHostEntries + " && echo '$firstprivateip $vm'" - if ($vm -match "master" ) { - Write-Output "$firstprivateip $MASTER_VM_NAME" - $cmdToRemovePreviousHostEntries = $cmdToRemovePreviousHostEntries + "grep -v '${MASTER_VM_NAME}' /etc/hosts | " - $cmdToAddNewHostEntries = $cmdToAddNewHostEntries + " && echo '$firstprivateip ${MASTER_VM_NAME}'" - } -} - -$fullCmdToUpdateHostsFiles="$cmdToRemovePreviousHostEntries (cat $cmdToAddNewHostEntries )" - -Write-Host "$fullCmdToUpdateHostsFiles" - -Write-Output "----------------- end sethostfile.ps1 ----------------------------" From 6266aa06bc83d8614acf601e663b877cf52d283b Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 1 Feb 2018 14:17:45 -0800 Subject: [PATCH 093/473] add option to kill dashboard running by another user Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 23 ++++++++++++++++++++++- azure/main.ps1 | 40 +++++++++++++++++++++++++++++++--------- 2 files changed, 53 insertions(+), 10 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index c136b63..b5742de 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,4 +1,4 @@ -$version = "2018.02.01.01" +$version = "2018.02.01.02" Write-Host "Including common.ps1 version $version" function global:GetCommonVersion() { @@ -299,4 +299,25 @@ function global:SetHostFileInVms( $resourceGroup) { Write-Output "Sending command to $vm" az vm run-command invoke -g $resourceGroup -n $vm --command-id RunShellScript --scripts "$fullCmdToUpdateHostsFiles" } +} + +# from https://github.com/majkinetor/posh/blob/master/MM_Network/Stop-ProcessByPort.ps1 +function global:Stop-ProcessByPort( [ValidateNotNullOrEmpty()] [int] $Port ) { + $netstat = netstat.exe -ano | Select-Object -Skip 4 + $p_line = $netstat | Where-Object { $p = (-split $_ | Select-Object -Index 1) -split ':' | Select-Object -Last 1; $p -eq $Port } | Select-Object -First 1 + if (!$p_line) { Write-Host "No process found using port" $Port; return } + $p_id = $p_line -split '\s+' | Select-Object -Last 1 + if (!$p_id) { throw "Can't parse process id for port $Port" } + + Read-Host "There is another process running on this port. Click ENTER to open an elevated prompt to stop that process." + + Start-Process powershell -verb RunAs -ArgumentList "Stop-Process $p_id -Force" +} + +function global:Get-ProcessByPort( [ValidateNotNullOrEmpty()] [int] $Port ) { + $netstat = netstat.exe -ano | Select-Object -Skip 4 + $p_line = $netstat | Where-Object { $p = (-split $_ | Select-Object -Index 1) -split ':' | Select-Object -Last 1; $p -eq $Port } | Select-Object -First 1 + if (!$p_line) { return; } + $p_id = $p_line -split '\s+' | Select-Object -Last 1 + return $p_id; } \ No newline at end of file diff --git a/azure/main.ps1 b/azure/main.ps1 index 9078362..90bcea2 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.02.01.1" +$version = "2018.02.01.2" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -64,20 +64,42 @@ do { kubectl get "deployments,pods,services,ingress,secrets" --namespace=kube-system -o wide } '6' { - $job = Start-Job -Name "KubDashboard" -ScriptBlock {kubectl proxy} + # launch Kubernetes dashboard + $launchJob = $true + $existingProcess = Get-ProcessByPort 8001 + if (!([string]::IsNullOrWhiteSpace($existingProcess))) { + Do { $confirmation = Read-Host "Another process is listening on 8001. Do you want to kill that process? (y/n)"} + while ([string]::IsNullOrWhiteSpace($confirmation)) + + if ($confirmation = "y") { + Stop-ProcessByPort 8001 + } + else { + $launchJob = $false + } + } + + if ($launchJob) { + $job = Start-Job -Name "KubDashboard" -ScriptBlock {kubectl proxy} -ErrorAction Stop + Wait-Job $job -Timeout 5; + Write-Output "job state: $($job.state)" + Receive-Job -Job $job 6>&1 + } + # if ($job.state -eq 'Failed') { + # Receive-Job -Job $job + # Stop-ProcessByPort 8001 + # } + # Write-Host "Your kubeconfig file is here: $env:KUBECONFIG" $kubectlversion = kubectl version --client=true --short=true if ($kubectlversion -match "v1.9") { - Write-Host "Click Skip on login screen" - Start-Process -FilePath "http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/" + Write-Host "Click Skip on login screen"; + Start-Process -FilePath "http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/"; } else { - Start-Process -FilePath "http://localhost:8001/api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy" - } - - Start-Sleep -Seconds 5 - Receive-Job -Job $job + Start-Process -FilePath "http://localhost:8001/api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy"; + } } '7' { $AKS_PERS_RESOURCE_GROUP = ReadSecretValue -secretname azure-secret -valueName resourcegroup From 764bf035d6a206306d9ed53e88934af983e6e059 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 1 Feb 2018 14:21:32 -0800 Subject: [PATCH 094/473] fix typo Signed-off-by: HQCATALYST\imran.qureshi --- azure/main.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/azure/main.ps1 b/azure/main.ps1 index 90bcea2..af6cfc0 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.02.01.2" +$version = "2018.02.01.3" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -71,7 +71,7 @@ do { Do { $confirmation = Read-Host "Another process is listening on 8001. Do you want to kill that process? (y/n)"} while ([string]::IsNullOrWhiteSpace($confirmation)) - if ($confirmation = "y") { + if ($confirmation -eq "y") { Stop-ProcessByPort 8001 } else { From c610036696b6e7102b49c1699fd091f9e0530dde Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 1 Feb 2018 14:23:16 -0800 Subject: [PATCH 095/473] increment version Signed-off-by: HQCATALYST\imran.qureshi --- azure/main.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure/main.ps1 b/azure/main.ps1 index af6cfc0..3d46165 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.02.01.3" +$version = "2018.02.01.4" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; From fb2ab30becd6049bd75486f281765bebaafafc17 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 2 Feb 2018 08:36:12 -0800 Subject: [PATCH 096/473] fixed creating a hybrid linux and windows cluster Signed-off-by: HQCATALYST\imran.qureshi --- azure/acs.template.linuxwindows.json | 4 +-- azure/common.ps1 | 6 ++-- azure/create-acs-cluster.ps1 | 47 ++++++++++++++++++---------- azure/createwindowsnode.ps1 | 21 +++++++++++++ kubernetes/setupwindows.ps1 | 31 ++++++++++++++++++ 5 files changed, 88 insertions(+), 21 deletions(-) create mode 100644 azure/createwindowsnode.ps1 create mode 100644 kubernetes/setupwindows.ps1 diff --git a/azure/acs.template.linuxwindows.json b/azure/acs.template.linuxwindows.json index 3f09729..543ecbe 100644 --- a/azure/acs.template.linuxwindows.json +++ b/azure/acs.template.linuxwindows.json @@ -3,7 +3,7 @@ "properties": { "orchestratorProfile": { "orchestratorType": "Kubernetes", - "orchestratorRelease": "1.8", + "orchestratorRelease": "1.9", "kubernetesConfig": { "networkPolicy": "none" } @@ -28,7 +28,7 @@ { "name": "windowsagent", "osType": "Windows", - "count": 2, + "count": 1, "vmSize": "Standard_D2_v2", "vnetSubnetId": "REPLACE-SUBNET", "availabilityProfile": "AvailabilitySet", diff --git a/azure/common.ps1 b/azure/common.ps1 index b5742de..6a89202 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,8 +1,8 @@ -$version = "2018.02.01.02" +$versioncommon = "2018.02.01.03" -Write-Host "Including common.ps1 version $version" +Write-Host "Including common.ps1 version $versioncommon" function global:GetCommonVersion() { - return $version + return $versioncommon } function global:CreateShare($resourceGroup, $sharename, $deleteExisting) { diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index 5180b98..bce6ff9 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -1,11 +1,11 @@ -Write-output "Version 2018.01.30.01" +Write-output "--- create-acs-cluster Version 2018.02.01.01 ----" # # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/create-acs-cluster.ps1 | iex; $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -# $GITHUB_URL = "C:\Catalyst\git\Installscripts" +$GITHUB_URL = "C:\Catalyst\git\Installscripts" Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/common.ps1 | Invoke-Expression; @@ -19,7 +19,7 @@ $AKS_SUBNET_NAME = "" $AKS_SUBNET_RESOURCE_GROUP = "" $AKS_SSH_KEY = "" $AKS_FIRST_STATIC_IP = "" -$AKS_USE_AZURE_NETWORKING = "no" +$AKS_USE_AZURE_NETWORKING = "n" $AKS_SERVICE_PRINCIPAL_NAME = "" $AKS_SUPPORT_WINDOWS_CONTAINERS = "n" @@ -78,9 +78,9 @@ if ([string]::IsNullOrWhiteSpace($AKS_SUPPORT_WINDOWS_CONTAINERS)) { if ("$AKS_SUPPORT_WINDOWS_CONTAINERS" -eq "n") { # azure networking is not supported with windows containers # do we want to use azure networking or kube networking - $AKS_USE_AZURE_NETWORKING = Read-Host "Use Azure networking (default: yes)" + $AKS_USE_AZURE_NETWORKING = Read-Host "Use Azure networking (default: y)" if ([string]::IsNullOrWhiteSpace($AKS_USE_AZURE_NETWORKING)) { - $AKS_USE_AZURE_NETWORKING = "yes" + $AKS_USE_AZURE_NETWORKING = "y" } } @@ -153,14 +153,13 @@ Write-Output "SSH Public Key=$AKS_SSH_KEY" $KUBECTL_FILE = "$AKS_LOCAL_FOLDER\kubectl.exe" $DESIRED_KUBECTL_VERSION = "v1.9.2" $downloadkubectl = "n" -if (!(Test-Path "$KUBECTL_FILE")) -{ +if (!(Test-Path "$KUBECTL_FILE")) { $downloadkubectl = "y" } else { - $kubectlversion=kubectl version --client=true --short=true - $kubectlversionMatches=$($kubectlversion -match "$DESIRED_KUBECTL_VERSION") - if(!$kubectlversionMatches){ + $kubectlversion = kubectl version --client=true --short=true + $kubectlversionMatches = $($kubectlversion -match "$DESIRED_KUBECTL_VERSION") + if (!$kubectlversionMatches) { $downloadkubectl = "y" } } @@ -388,7 +387,7 @@ if ($resourceGroupExists -eq "true") { az resource delete --ids $(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Network/publicIPAddresses" --query "[].id" -o tsv | Where-Object {!"$_".EndsWith("PublicIP")} ) } - if (("$AKS_VNET_NAME") -and ("$AKS_USE_AZURE_NETWORKING" -eq "no")) { + if (("$AKS_VNET_NAME") -and ("$AKS_USE_AZURE_NETWORKING" -eq "n")) { Write-Output "Switching the subnet to a temp route table and tempnsg so we can delete the old route table and nsg" $routeid = $(az network route-table show --name temproutetable --resource-group $AKS_PERS_RESOURCE_GROUP --query "id" -o tsv) @@ -495,15 +494,15 @@ $templateFile = "acs.template.json" if (!"$AKS_VNET_NAME") { $templateFile = "acs.template.nosubnet.json" } -elseif ("$AKS_USE_AZURE_NETWORKING" -eq "yes") { - $templateFile = "acs.template.azurenetwork.json" -} elseif ("$AKS_SUPPORT_WINDOWS_CONTAINERS" -eq "y") { # https://github.com/Azure/acs-engine/issues/1767 $templateFile = "acs.template.linuxwindows.json" } +elseif ("$AKS_USE_AZURE_NETWORKING" -eq "y") { + $templateFile = "acs.template.azurenetwork.json" +} -Write-Output "Using template: $templateFile" +Write-Output "Using template: $GITHUB_URL/azure/$templateFile" $AKS_LOCAL_TEMP_FOLDER = "$AKS_LOCAL_FOLDER\$AKS_PERS_RESOURCE_GROUP\temp" if (!(Test-Path -Path "$AKS_LOCAL_TEMP_FOLDER")) { @@ -565,6 +564,22 @@ Write-Output "Generating ACS engine template" acs-engine generate $output --output-directory $acsoutputfolder +if ("$AKS_SUPPORT_WINDOWS_CONTAINERS" -eq "y") { + + Write-Output "Adding subnet to azuredeploy.json to work around acs-engine bug" + $outputdeployfile = "$acsoutputfolder\azuredeploy.json" + # https://github.com/Azure/acs-engine/issues/1767 + # "subnet": "${mysubnetid}" + # replace "vnetSubnetID": "[parameters('masterVnetSubnetID')]" + # "subnet": "[parameters('masterVnetSubnetID')]" + + #there is a bug in acs-engine: https://github.com/Azure/acs-engine/issues/1767 + $mydeployjson = Get-Content -Raw -Path $outputdeployfile | ConvertFrom-Json + $mydeployjson.variables | Add-Member -Type NoteProperty -Name 'subnet' -Value "[parameters('masterVnetSubnetID')]" + $outjson = ConvertTo-Json -InputObject $mydeployjson -Depth 10 + Set-Content -Path $outputdeployfile -Value $outjson +} + # --orchestrator-version 1.8 ` # --ssh-key-value @@ -592,7 +607,7 @@ az group deployment create ` # if joining a vnet, and not using azure networking then we have to manually set the route-table if ("$AKS_VNET_NAME") { - if ("$AKS_USE_AZURE_NETWORKING" -eq "no") { + if ("$AKS_USE_AZURE_NETWORKING" -eq "n") { Write-Output "Attaching route table" # https://github.com/Azure/acs-engine/blob/master/examples/vnet/k8s-vnet-postdeploy.sh $rt = az network route-table list -g "${AKS_PERS_RESOURCE_GROUP}" --query "[?name != 'temproutetable'].id" -o tsv diff --git a/azure/createwindowsnode.ps1 b/azure/createwindowsnode.ps1 new file mode 100644 index 0000000..4b18e9a --- /dev/null +++ b/azure/createwindowsnode.ps1 @@ -0,0 +1,21 @@ +# Create a virtual network card and associate with public IP address and NSG. +az network nic create \ + --resource-group myResourceGroup \ + --name myNic \ + --vnet-name myVnet \ + --subnet mySubnet \ + --network-security-group myNetworkSecurityGroup \ + --public-ip-address myPublicIP + +# Create a virtual machine. +az vm create \ + --resource-group myResourceGroup \ + --name myVM \ + --location westeurope \ + --nics myNic \ + --image win2016datacenter \ + --admin-username azureuser \ + --admin-password $AdminPassword + +# Open port 3389 to allow RDP traffic to host. +az vm open-port --port 3389 --resource-group myResourceGroup --name myVM \ No newline at end of file diff --git a/kubernetes/setupwindows.ps1 b/kubernetes/setupwindows.ps1 new file mode 100644 index 0000000..a60f4ef --- /dev/null +++ b/kubernetes/setupwindows.ps1 @@ -0,0 +1,31 @@ +Install-Module -Name DockerMsftProvider -Repository PSGallery -Force +Install-Package -Name Docker -ProviderName DockerMsftProvider +Restart-Computer -Force + +wget https://github.com/Microsoft/SDN/archive/master.zip -o master.zip +Expand-Archive master.zip -DestinationPath master +mkdir C:/k/ +mv master/SDN-master/Kubernetes/windows/* C:/k/ +rm -recurse -force master,master.zip + +docker pull microsoft/windowsservercore:1709 +docker tag microsoft/windowsservercore:1709 microsoft/windowsservercore:latest +cd C:/k/ +docker build -t kubeletwin/pause . + +https://storage.googleapis.com/kubernetes-release/release/v1.9.1/kubernetes-node-windows-amd64.tar.gz +# copy to c:\k + +$env:Path += ";C:\k" + +[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\k", [EnvironmentVariableTarget]::Machine) + +kubectl version + +$env:KUBECONFIG="C:\k\config" + +[Environment]::SetEnvironmentVariable("KUBECONFIG", "C:\k\config", [EnvironmentVariableTarget]::User) + +./start-kubelet.ps1 -ClusterCidr 192.168.0.0/16 +./start-kubeproxy.ps1 + From b36fa3358c822372993b005b83845434167e8a2a Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 5 Feb 2018 12:23:28 -0800 Subject: [PATCH 097/473] get windows containers working only when you're deploying to a new vnet Signed-off-by: HQCATALYST\imran.qureshi --- azure/acs.template.linuxwindows.json | 7 +++-- azure/acs.template.nosubnet.json | 32 ++++++++++++++----- azure/common.ps1 | 12 ++++---- azure/create-acs-cluster.ps1 | 46 ++++++++++++++++++---------- azure/main.ps1 | 5 ++- kubernetes/setupwindows.ps1 | 1 + kubernetes/testwndowswebserver.yml | 42 +++++++++++++++++++++++++ 7 files changed, 112 insertions(+), 33 deletions(-) create mode 100644 kubernetes/testwndowswebserver.yml diff --git a/azure/acs.template.linuxwindows.json b/azure/acs.template.linuxwindows.json index 543ecbe..8d6b718 100644 --- a/azure/acs.template.linuxwindows.json +++ b/azure/acs.template.linuxwindows.json @@ -5,7 +5,8 @@ "orchestratorType": "Kubernetes", "orchestratorRelease": "1.9", "kubernetesConfig": { - "networkPolicy": "none" + "networkPolicy": "none", + "dockerEngineVersion": "1.12.*" } }, "masterProfile": { @@ -28,11 +29,13 @@ { "name": "windowsagent", "osType": "Windows", + "OSDiskSizeGB": 300, "count": 1, "vmSize": "Standard_D2_v2", "vnetSubnetId": "REPLACE-SUBNET", "availabilityProfile": "AvailabilitySet", - "storageProfile": "ManagedDisks" + "storageProfile": "ManagedDisks", + "diskSizesGB": [1020] } ], "linuxProfile": { diff --git a/azure/acs.template.nosubnet.json b/azure/acs.template.nosubnet.json index 712e96c..a3e342f 100644 --- a/azure/acs.template.nosubnet.json +++ b/azure/acs.template.nosubnet.json @@ -3,9 +3,10 @@ "properties": { "orchestratorProfile": { "orchestratorType": "Kubernetes", - "orchestratorRelease": "1.8", + "orchestratorRelease": "1.9", "kubernetesConfig": { - "networkPolicy": "azure" + "networkPolicy": "none", + "dockerEngineVersion": "1.12.*" } }, "masterProfile": { @@ -15,12 +16,23 @@ "storageProfile": "ManagedDisks" }, "agentPoolProfiles": [{ - "name": "linuxagent", - "count": 2, - "vmSize": "Standard_D2_v2", - "availabilityProfile": "AvailabilitySet", - "storageProfile": "ManagedDisks" - }], + "name": "linuxagent", + "count": 2, + "vmSize": "Standard_D2_v2", + "availabilityProfile": "AvailabilitySet", + "storageProfile": "ManagedDisks" + }, + { + "name": "windowsagent", + "osType": "Windows", + "OSDiskSizeGB": 300, + "count": 1, + "vmSize": "Standard_D2_v2", + "availabilityProfile": "AvailabilitySet", + "storageProfile": "ManagedDisks", + "diskSizesGB": [1020] + } + ], "linuxProfile": { "adminUsername": "azureuser", "ssh": { @@ -29,6 +41,10 @@ }] } }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "REPLACE-WINDOWS-PASSWORD" + }, "servicePrincipalProfile": { "clientId": "REPLACE-CLIENTID", "secret": "REPLACE-CLIENTSECRET" diff --git a/azure/common.ps1 b/azure/common.ps1 index 6a89202..608b58a 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,4 +1,4 @@ -$versioncommon = "2018.02.01.03" +$versioncommon = "2018.02.05.01" Write-Host "Including common.ps1 version $versioncommon" function global:GetCommonVersion() { @@ -227,20 +227,20 @@ function global:Get-FirstIP { } function global:SetupCronTab($resourceGroup) { - $virtualmachines = az vm list -g $resourceGroup --query "[].name" -o tsv + $virtualmachines = az vm list -g $resourceGroup --query "[?storageProfile.osDisk.osType != 'Windows'].name" -o tsv ForEach ($vm in $virtualmachines) { if ($vm -match "master" ) { - $cmd = "mkdir -p /opt/healthcatalyst; curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/restartkubedns.txt -o /opt/healthcatalyst/restartkubedns.sh; crontab -l | grep -v 'restartkubedns.sh' - | { cat; echo '*/10 * * * * /opt/healthcatalyst/restartkubedns.sh >> /tmp/restartkubedns.log 2>&1'; } | crontab -" + $cmd = "crontab -e; mkdir -p /opt/healthcatalyst; curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/restartkubedns.txt -o /opt/healthcatalyst/restartkubedns.sh; crontab -l | grep -v 'restartkubedns.sh' - | { cat; echo '*/10 * * * * /opt/healthcatalyst/restartkubedns.sh >> /tmp/restartkubedns.log 2>&1 \n'; } | crontab -" az vm run-command invoke -g $resourceGroup -n $vm --command-id RunShellScript --scripts "$cmd" } } } function global:UpdateOSInVMs($resourceGroup) { - $virtualmachines = az vm list -g $resourceGroup --query "[].name" -o tsv + $virtualmachines = az vm list -g $resourceGroup --query "[?storageProfile.osDisk.osType != 'Windows'].name" -o tsv ForEach ($vm in $virtualmachines) { Write-Output "Updating OS in vm: $vm" - $cmd = "apt-get update && apt-get upgrade" + $cmd = "apt-get update && apt-get -y upgrade" az vm run-command invoke -g $resourceGroup -n $vm --command-id RunShellScript --scripts "$cmd" } } @@ -275,7 +275,7 @@ function global:SetHostFileInVms( $resourceGroup) { $fullCmdToUpdateHostsFiles = "" $cmdToRemovePreviousHostEntries = "" $cmdToAddNewHostEntries = "" - $virtualmachines = az vm list -g $resourceGroup --query "[].name" -o tsv + $virtualmachines = az vm list -g $resourceGroup --query "[?storageProfile.osDisk.osType != 'Windows'].name" -o tsv ForEach ($vm in $virtualmachines) { $firstprivateip = az vm list-ip-addresses -g $resourceGroup -n $vm --query "[].virtualMachine.network.privateIpAddresses[0]" -o tsv # $privateiplist= az vm show -g $AKS_PERS_RESOURCE_GROUP -n $vm -d --query privateIps -otsv diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index bce6ff9..e94f820 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -1,13 +1,14 @@ -Write-output "--- create-acs-cluster Version 2018.02.01.01 ----" +Write-output "--- create-acs-cluster Version 2018.02.05.01 ----" # # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/create-acs-cluster.ps1 | iex; $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -$GITHUB_URL = "C:\Catalyst\git\Installscripts" -Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/common.ps1 | Invoke-Expression; +# $GITHUB_URL = "C:\Catalyst\git\Installscripts" +Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/common.ps1 | Invoke-Expression; +# Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; $AKS_PERS_RESOURCE_GROUP = "" $AKS_PERS_LOCATION = "" @@ -295,7 +296,13 @@ if ($confirmation -eq 'y') { Write-Output "Found subnet: [$mysubnetid]" } } -} +} +else { + # create a vnet + # create a subnet + + # az network vnet create -g MyResourceGroup -n MyVnet --address-prefix 10.0.0.0/16 --subnet-name MySubnet --subnet-prefix 10.0.0.0/24 +} # find CIDR for subnet @@ -438,6 +445,8 @@ else { az group create --name $AKS_PERS_RESOURCE_GROUP --location $AKS_PERS_LOCATION --verbose } +# Read-Host "continue?" + Write-Output "checking if Service Principal already exists" $AKS_SERVICE_PRINCIPAL_CLIENTID = az ad sp list --display-name ${AKS_SERVICE_PRINCIPAL_NAME} --query "[].appId" --output tsv @@ -554,6 +563,9 @@ if (!(Test-Path -Path "$acsoutputfolder")) { New-Item -ItemType directory -Path "$acsoutputfolder" } +Write-Output "Deleting everything in the output folder" +Remove-Item -Path $acsoutputfolder -Recurse -Force + Write-Output "Generating ACS engine template" # acs-engine deploy --subscription-id "$AKS_SUBSCRIPTION_ID" ` @@ -566,18 +578,20 @@ acs-engine generate $output --output-directory $acsoutputfolder if ("$AKS_SUPPORT_WINDOWS_CONTAINERS" -eq "y") { - Write-Output "Adding subnet to azuredeploy.json to work around acs-engine bug" - $outputdeployfile = "$acsoutputfolder\azuredeploy.json" - # https://github.com/Azure/acs-engine/issues/1767 - # "subnet": "${mysubnetid}" - # replace "vnetSubnetID": "[parameters('masterVnetSubnetID')]" - # "subnet": "[parameters('masterVnetSubnetID')]" - - #there is a bug in acs-engine: https://github.com/Azure/acs-engine/issues/1767 - $mydeployjson = Get-Content -Raw -Path $outputdeployfile | ConvertFrom-Json - $mydeployjson.variables | Add-Member -Type NoteProperty -Name 'subnet' -Value "[parameters('masterVnetSubnetID')]" - $outjson = ConvertTo-Json -InputObject $mydeployjson -Depth 10 - Set-Content -Path $outputdeployfile -Value $outjson + if ("$AKS_VNET_NAME") { + Write-Output "Adding subnet to azuredeploy.json to work around acs-engine bug" + $outputdeployfile = "$acsoutputfolder\azuredeploy.json" + # https://github.com/Azure/acs-engine/issues/1767 + # "subnet": "${mysubnetid}" + # replace "vnetSubnetID": "[parameters('masterVnetSubnetID')]" + # "subnet": "[parameters('masterVnetSubnetID')]" + + #there is a bug in acs-engine: https://github.com/Azure/acs-engine/issues/1767 + $mydeployjson = Get-Content -Raw -Path $outputdeployfile | ConvertFrom-Json + $mydeployjson.variables | Add-Member -Type NoteProperty -Name 'subnet' -Value "[parameters('masterVnetSubnetID')]" + $outjson = ConvertTo-Json -InputObject $mydeployjson -Depth 10 + Set-Content -Path $outputdeployfile -Value $outjson + } } # --orchestrator-version 1.8 ` diff --git a/azure/main.ps1 b/azure/main.ps1 index 3d46165..3efccee 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,8 +1,11 @@ -$version = "2018.02.01.4" +$version = "2018.02.02.01" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; + Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/common.ps1 | Invoke-Expression; +# Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; + # Get-Content -Path "./azure/common.ps1" | Invoke-Expression; diff --git a/kubernetes/setupwindows.ps1 b/kubernetes/setupwindows.ps1 index a60f4ef..49dd634 100644 --- a/kubernetes/setupwindows.ps1 +++ b/kubernetes/setupwindows.ps1 @@ -29,3 +29,4 @@ $env:KUBECONFIG="C:\k\config" ./start-kubelet.ps1 -ClusterCidr 192.168.0.0/16 ./start-kubeproxy.ps1 +kubectl apply -f https://raw.githubusercontent.com/Microsoft/SDN/master/Kubernetes/WebServer.yaml diff --git a/kubernetes/testwndowswebserver.yml b/kubernetes/testwndowswebserver.yml new file mode 100644 index 0000000..92d8ac4 --- /dev/null +++ b/kubernetes/testwndowswebserver.yml @@ -0,0 +1,42 @@ +apiVersion: v1 +kind: Service +metadata: + name: win-webserver + labels: + app: win-webserver +spec: + ports: + - port: 80 + targetPort: 80 + selector: + app: win-webserver + type: LoadBalancer +--- +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + labels: + app: win-webserver + name: win-webserver +spec: + replicas: 1 + template: + metadata: + labels: + app: win-webserver + name: win-webserver + spec: + containers: + - name: windowswebserver + imagePullPolicy: IfNotPresent + image: microsoft/windowsservercore:1709 + command: + - powershell.exe + - -command + - "<#code used from https://gist.github.com/wagnerandrade/5424431#> ; $$listener = New-Object System.Net.HttpListener; $$listener.Prefixes.Add('http://*:80/') ; $$listener.Start() ; $$callerCounts = @{} ; Write-Host('Listening at http://*:80/') ; while ($$listener.IsListening) { ;$$context = $$listener.GetContext() ;$$requestUrl = $$context.Request.Url ;$$clientIP = $$context.Request.RemoteEndPoint.Address ;$$response = $$context.Response ;Write-Host '' ;Write-Host('> {0}' -f $$requestUrl) ; ;$$count = 1 ;$$k=$$callerCounts.Get_Item($$clientIP) ;if ($$k -ne $$null) { $$count += $$k } ;$$callerCounts.Set_Item($$clientIP, $$count) ;$$header='

Windows Container Web Server

' ;$$callerCountsString='' ;$$callerCounts.Keys | % { $$callerCountsString+='

IP {0} callerCount {1} ' -f $$_,$$callerCounts.Item($$_) } ;$$footer='' ;$$content='{0}{1}{2}' -f $$header,$$callerCountsString,$$footer ;Write-Output $$content ;$$buffer = [System.Text.Encoding]::UTF8.GetBytes($$content) ;$$response.ContentLength64 = $$buffer.Length ;$$response.OutputStream.Write($$buffer, 0, $$buffer.Length) ;$$response.Close() ;$$responseStatus = $$response.StatusCode ;Write-Host('< {0}' -f $$responseStatus) } ; " + ports: + - name: "demo" + protocol: TCP + containerPort: 80 + nodeSelector: + beta.kubernetes.io/os: windows \ No newline at end of file From 654464a42c93ee385c014c1d7478cc5059163fea Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 6 Feb 2018 15:50:13 -0800 Subject: [PATCH 098/473] added bash files to setup kubernetes on bare metal centos. move the code to clean out a resource group to common.ps1 Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 127 ++++++++++++++++++- azure/create-acs-cluster.ps1 | 135 ++------------------ azure/create-bare-metal.ps1 | 232 +++++++++++++++++++++++++++++++++++ kubernetes/setupmaster.txt | 30 +++++ kubernetes/setupnode.txt | 51 ++++++++ kubernetes/setupnode2.txt | 42 +++++++ 6 files changed, 489 insertions(+), 128 deletions(-) create mode 100644 azure/create-bare-metal.ps1 create mode 100644 kubernetes/setupmaster.txt create mode 100644 kubernetes/setupnode.txt create mode 100644 kubernetes/setupnode2.txt diff --git a/azure/common.ps1 b/azure/common.ps1 index 608b58a..99a5081 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,4 +1,4 @@ -$versioncommon = "2018.02.05.01" +$versioncommon = "2018.02.06.01" Write-Host "Including common.ps1 version $versioncommon" function global:GetCommonVersion() { @@ -304,7 +304,7 @@ function global:SetHostFileInVms( $resourceGroup) { # from https://github.com/majkinetor/posh/blob/master/MM_Network/Stop-ProcessByPort.ps1 function global:Stop-ProcessByPort( [ValidateNotNullOrEmpty()] [int] $Port ) { $netstat = netstat.exe -ano | Select-Object -Skip 4 - $p_line = $netstat | Where-Object { $p = (-split $_ | Select-Object -Index 1) -split ':' | Select-Object -Last 1; $p -eq $Port } | Select-Object -First 1 + $p_line = $netstat | Where-Object { $p = ( -split $_ | Select-Object -Index 1) -split ':' | Select-Object -Last 1; $p -eq $Port } | Select-Object -First 1 if (!$p_line) { Write-Host "No process found using port" $Port; return } $p_id = $p_line -split '\s+' | Select-Object -Last 1 if (!$p_id) { throw "Can't parse process id for port $Port" } @@ -316,8 +316,129 @@ function global:Stop-ProcessByPort( [ValidateNotNullOrEmpty()] [int] $Port ) { function global:Get-ProcessByPort( [ValidateNotNullOrEmpty()] [int] $Port ) { $netstat = netstat.exe -ano | Select-Object -Skip 4 - $p_line = $netstat | Where-Object { $p = (-split $_ | Select-Object -Index 1) -split ':' | Select-Object -Last 1; $p -eq $Port } | Select-Object -First 1 + $p_line = $netstat | Where-Object { $p = ( -split $_ | Select-Object -Index 1) -split ':' | Select-Object -Last 1; $p -eq $Port } | Select-Object -First 1 if (!$p_line) { return; } $p_id = $p_line -split '\s+' | Select-Object -Last 1 return $p_id; +} + +function global:CleanResourceGroup($resourceGroup, $location, $vnet, $subnet, $subnetResourceGroup, $storageAccount) { + Write-Output "checking if resource group already exists" + $resourceGroupExists = az group exists --name ${resourceGroup} + if ($resourceGroupExists -eq "true") { + + if ($(az vm list -g $resourceGroup --query "[].id" -o tsv).length -ne 0) { + Write-Host "The resource group [${resourceGroup}] already exists with the following VMs" + az resource list --resource-group "${resourceGroup}" --resource-type "Microsoft.Compute/virtualMachines" --query "[].id" + + Do { $confirmation = Read-Host "Would you like to continue (all above resources will be deleted)? (y/n)"} + while ([string]::IsNullOrWhiteSpace($confirmation)) + + if ($confirmation -eq 'n') { + Read-Host "Hit ENTER to exit" + exit 0 + } + } + else { + Write-Host "The resource group [${resourceGroup}] already exists but has no VMs" + } + + if ("$vnet") { + # Write-Output "removing route table" + # az network vnet subnet update -n "${subnet}" -g "${AKS_SUBNET_RESOURCE_GROUP}" --vnet-name "${vnet}" --route-table "" + } + Write-Output "cleaning out the existing group: [$resourceGroup]" + #az group delete --name $resourceGroup --verbose + + if ($(az vm list -g $resourceGroup --query "[].id" -o tsv).length -ne 0) { + Write-Output "delete the VMs first" + az vm delete --ids $(az vm list -g $resourceGroup --query "[].id" -o tsv) --verbose --yes + } + + if ($(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/networkInterfaces" --query "[].id" -o tsv ).length -ne 0) { + Write-Output "delete the nics" + az resource delete --ids $(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/networkInterfaces" --query "[].id" -o tsv ) --verbose + } + + if ($(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Compute/disks" --query "[].id" -o tsv ).length -ne 0) { + Write-Output "delete the disks" + az resource delete --ids $(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Compute/disks" --query "[].id" -o tsv ) + } + + if ($(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Compute/availabilitySets" --query "[].id" -o tsv ).length -ne 0) { + Write-Output "delete the availabilitysets" + az resource delete --ids $(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Compute/availabilitySets" --query "[].id" -o tsv ) + } + + if ($(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/loadBalancers" --query "[].id" -o tsv ).length -ne 0) { + Write-Output "delete the load balancers" + az resource delete --ids $(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/loadBalancers" --query "[].id" -o tsv ) + } + + if ($(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/applicationGateways" --query "[].id" -o tsv ).length -ne 0) { + Write-Output "delete the application gateways" + az resource delete --ids $(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/applicationGateways" --query "[].id" -o tsv ) + } + + if ($(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Storage/storageAccounts" --query "[].id" -o tsv | Where-Object {!"$_".EndsWith("$storageAccount")}).length -ne 0) { + Write-Output "delete the storage accounts EXCEPT storage account we created in the past" + az resource delete --ids $(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Storage/storageAccounts" --query "[].id" -o tsv | Where-Object {!"$_".EndsWith("${storageAccount}")} ) + # az resource list --resource-group fabricnlp3 --resource-type "Microsoft.Storage/storageAccounts" --query "[].id" -o tsv | ForEach-Object { if (!"$_".EndsWith("${resourceGroup}storage")) { az resource delete --ids "$_" }} + } + if ($(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/publicIPAddresses" --query "[].id" -o tsv | Where-Object {!"$_".EndsWith("PublicIP")}).length -ne 0) { + Write-Output "delete the public IPs EXCEPT Ingress IP we created in the past" + az resource delete --ids $(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/publicIPAddresses" --query "[].id" -o tsv | Where-Object {!"$_".EndsWith("PublicIP")} ) + } + + if (("$vnet") -and ("$AKS_USE_AZURE_NETWORKING" -eq "n")) { + Write-Output "Switching the subnet to a temp route table and tempnsg so we can delete the old route table and nsg" + + $routeid = $(az network route-table show --name temproutetable --resource-group $resourceGroup --query "id" -o tsv) + if ([string]::IsNullOrWhiteSpace($routeid)) { + Write-Output "create temproutetable" + $routeid = az network route-table create --name temproutetable --resource-group $resourceGroup --query "id" -o tsv + } + $routeid = $(az network route-table show --name temproutetable --resource-group $resourceGroup --query "id" -o tsv) + Write-Output "temproutetable: $routeid" + + $nsg = $(az network nsg show --name tempnsg --resource-group $resourceGroup --query "id" -o tsv) + if ([string]::IsNullOrWhiteSpace($nsg)) { + Write-Output "create tempnsg" + $nsg = az network nsg create --name tempnsg --resource-group $resourceGroup --query "id" -o tsv + } + $nsg = $(az network nsg show --name tempnsg --resource-group $resourceGroup --query "id" -o tsv) + Write-Output "tempnsg: $nsg" + + Write-Output "Updating the subnet" + az network vnet subnet update -n "${subnet}" -g "${subnetResourceGroup}" --vnet-name "${vnet}" --route-table "$routeid" --network-security-group "$nsg" + + + if ($(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/routeTables" --query "[?name != 'temproutetable'].id" -o tsv ).length -ne 0) { + Write-Output "delete the routes EXCEPT the temproutetable we just created" + az resource delete --ids $(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/routeTables" --query "[?name != 'temproutetable'].id" -o tsv) + } + if ($(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/networkSecurityGroups" --query "[?name != 'tempnsg'].id" -o tsv).length -ne 0) { + Write-Output "delete the nsgs EXCEPT the tempnsg we just created" + az resource delete --ids $(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/networkSecurityGroups" --query "[?name != 'tempnsg'].id" -o tsv) + } + } + else { + if ($(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/routeTables" --query "[].id" -o tsv).length -ne 0) { + Write-Output "delete the routes EXCEPT the temproutetable we just created" + az resource delete --ids $(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/routeTables" --query "[].id" -o tsv) + } + $networkSecurityGroup = "$($resourceGroup.ToLower())-nsg" + if ($(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/networkSecurityGroups" --query "[?name != '${$networkSecurityGroup}'].id" -o tsv ).length -ne 0) { + Write-Output "delete the network security groups" + az resource delete --ids $(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/networkSecurityGroups" --query "[?name != '${$networkSecurityGroup}'].id" -o tsv ) + } + + } + # note: do not delete the Microsoft.Network/publicIPAddresses otherwise the loadBalancer will get a new IP + } + else { + Write-Output "Create the Resource Group" + az group create --name $resourceGroup --location $location --verbose + } + } \ No newline at end of file diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index e94f820..ebae57d 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -1,4 +1,4 @@ -Write-output "--- create-acs-cluster Version 2018.02.05.01 ----" +Write-output "--- create-acs-cluster Version 2018.02.06.01 ----" # # This script is meant for quick & easy install via: @@ -327,127 +327,12 @@ if ("$AKS_VNET_NAME") { Write-Output "First static IP=[${AKS_FIRST_STATIC_IP}]" } -Write-Output "checking if resource group already exists" -$resourceGroupExists = az group exists --name ${AKS_PERS_RESOURCE_GROUP} -if ($resourceGroupExists -eq "true") { - - if ($(az vm list -g $AKS_PERS_RESOURCE_GROUP --query "[].id" -o tsv).length -ne 0) { - Write-Host "The resource group [${AKS_PERS_RESOURCE_GROUP}] already exists with the following VMs" - az resource list --resource-group "${AKS_PERS_RESOURCE_GROUP}" --resource-type "Microsoft.Compute/virtualMachines" --query "[].id" - - Do { $confirmation = Read-Host "Would you like to continue (all above resources will be deleted)? (y/n)"} - while ([string]::IsNullOrWhiteSpace($confirmation)) - - if ($confirmation -eq 'n') { - Read-Host "Hit ENTER to exit" - exit 0 - } - } - else { - Write-Host "The resource group [${AKS_PERS_RESOURCE_GROUP}] already exists but has no VMs" - } - - if ("$AKS_VNET_NAME") { - # Write-Output "removing route table" - # az network vnet subnet update -n "${AKS_SUBNET_NAME}" -g "${AKS_SUBNET_RESOURCE_GROUP}" --vnet-name "${AKS_VNET_NAME}" --route-table "" - } - Write-Output "cleaning out the existing group: [$AKS_PERS_RESOURCE_GROUP]" - #az group delete --name $AKS_PERS_RESOURCE_GROUP --verbose - - if ($(az vm list -g $AKS_PERS_RESOURCE_GROUP --query "[].id" -o tsv).length -ne 0) { - Write-Output "delete the VMs first" - az vm delete --ids $(az vm list -g $AKS_PERS_RESOURCE_GROUP --query "[].id" -o tsv) --verbose --yes - } - - if ($(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Network/networkInterfaces" --query "[].id" -o tsv ).length -ne 0) { - Write-Output "delete the nics" - az resource delete --ids $(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Network/networkInterfaces" --query "[].id" -o tsv ) --verbose - } - - if ($(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Compute/disks" --query "[].id" -o tsv ).length -ne 0) { - Write-Output "delete the disks" - az resource delete --ids $(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Compute/disks" --query "[].id" -o tsv ) - } - - if ($(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Compute/availabilitySets" --query "[].id" -o tsv ).length -ne 0) { - Write-Output "delete the availabilitysets" - az resource delete --ids $(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Compute/availabilitySets" --query "[].id" -o tsv ) - } - - if ($(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Network/loadBalancers" --query "[].id" -o tsv ).length -ne 0) { - Write-Output "delete the load balancers" - az resource delete --ids $(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Network/loadBalancers" --query "[].id" -o tsv ) - } - - if ($(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Network/applicationGateways" --query "[].id" -o tsv ).length -ne 0) { - Write-Output "delete the application gateways" - az resource delete --ids $(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Network/applicationGateways" --query "[].id" -o tsv ) - } - - if ($(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Storage/storageAccounts" --query "[].id" -o tsv | Where-Object {!"$_".EndsWith("$AKS_PERS_STORAGE_ACCOUNT_NAME")}).length -ne 0) { - Write-Output "delete the storage accounts EXCEPT storage account we created in the past" - az resource delete --ids $(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Storage/storageAccounts" --query "[].id" -o tsv | Where-Object {!"$_".EndsWith("${AKS_PERS_STORAGE_ACCOUNT_NAME}")} ) - # az resource list --resource-group fabricnlp3 --resource-type "Microsoft.Storage/storageAccounts" --query "[].id" -o tsv | ForEach-Object { if (!"$_".EndsWith("${AKS_PERS_RESOURCE_GROUP}storage")) { az resource delete --ids "$_" }} - } - if ($(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Network/publicIPAddresses" --query "[].id" -o tsv | Where-Object {!"$_".EndsWith("PublicIP")}).length -ne 0) { - Write-Output "delete the public IPs EXCEPT Ingress IP we created in the past" - az resource delete --ids $(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Network/publicIPAddresses" --query "[].id" -o tsv | Where-Object {!"$_".EndsWith("PublicIP")} ) - } - - if (("$AKS_VNET_NAME") -and ("$AKS_USE_AZURE_NETWORKING" -eq "n")) { - Write-Output "Switching the subnet to a temp route table and tempnsg so we can delete the old route table and nsg" - - $routeid = $(az network route-table show --name temproutetable --resource-group $AKS_PERS_RESOURCE_GROUP --query "id" -o tsv) - if ([string]::IsNullOrWhiteSpace($routeid)) { - Write-Output "create temproutetable" - $routeid = az network route-table create --name temproutetable --resource-group $AKS_PERS_RESOURCE_GROUP --query "id" -o tsv - } - $routeid = $(az network route-table show --name temproutetable --resource-group $AKS_PERS_RESOURCE_GROUP --query "id" -o tsv) - Write-Output "temproutetable: $routeid" - - $nsg = $(az network nsg show --name tempnsg --resource-group $AKS_PERS_RESOURCE_GROUP --query "id" -o tsv) - if ([string]::IsNullOrWhiteSpace($nsg)) { - Write-Output "create tempnsg" - $nsg = az network nsg create --name tempnsg --resource-group $AKS_PERS_RESOURCE_GROUP --query "id" -o tsv - } - $nsg = $(az network nsg show --name tempnsg --resource-group $AKS_PERS_RESOURCE_GROUP --query "id" -o tsv) - Write-Output "tempnsg: $nsg" - - Write-Output "Updating the subnet" - az network vnet subnet update -n "${AKS_SUBNET_NAME}" -g "${AKS_SUBNET_RESOURCE_GROUP}" --vnet-name "${AKS_VNET_NAME}" --route-table "$routeid" --network-security-group "$nsg" - - - if ($(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Network/routeTables" --query "[?name != 'temproutetable'].id" -o tsv ).length -ne 0) { - Write-Output "delete the routes EXCEPT the temproutetable we just created" - az resource delete --ids $(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Network/routeTables" --query "[?name != 'temproutetable'].id" -o tsv) - } - if ($(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Network/networkSecurityGroups" --query "[?name != 'tempnsg'].id" -o tsv).length -ne 0) { - Write-Output "delete the nsgs EXCEPT the tempnsg we just created" - az resource delete --ids $(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Network/networkSecurityGroups" --query "[?name != 'tempnsg'].id" -o tsv) - } - } - else { - if ($(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Network/routeTables" --query "[].id" -o tsv).length -ne 0) { - Write-Output "delete the routes EXCEPT the temproutetable we just created" - az resource delete --ids $(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Network/routeTables" --query "[].id" -o tsv) - } - $AKS_PERS_NETWORK_SECURITY_GROUP = "$($AKS_PERS_RESOURCE_GROUP.ToLower())-nsg" - if ($(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Network/networkSecurityGroups" --query "[?name != '${$AKS_PERS_NETWORK_SECURITY_GROUP}'].id" -o tsv ).length -ne 0) { - Write-Output "delete the network security groups" - az resource delete --ids $(az resource list --resource-group $AKS_PERS_RESOURCE_GROUP --resource-type "Microsoft.Network/networkSecurityGroups" --query "[?name != '${$AKS_PERS_NETWORK_SECURITY_GROUP}'].id" -o tsv ) - } - - } - # note: do not delete the Microsoft.Network/publicIPAddresses otherwise the loadBalancer will get a new IP -} -else { - Write-Output "Create the Resource Group" - az group create --name $AKS_PERS_RESOURCE_GROUP --location $AKS_PERS_LOCATION --verbose -} +CleanResourceGroup -resourceGroup ${AKS_PERS_RESOURCE_GROUP} -location $AKS_PERS_LOCATION -vnet $AKS_VNET_NAME ` + -subnet $AKS_SUBNET_NAME -subnetResourceGroup $AKS_SUBNET_RESOURCE_GROUP ` + -storageAccount $AKS_PERS_STORAGE_ACCOUNT_NAME # Read-Host "continue?" - Write-Output "checking if Service Principal already exists" $AKS_SERVICE_PRINCIPAL_CLIENTID = az ad sp list --display-name ${AKS_SERVICE_PRINCIPAL_NAME} --query "[].appId" --output tsv @@ -715,12 +600,12 @@ kubectl get "deployments,pods,services,ingress,secrets" --namespace=kube-system # kubectl patch deployment kube-dns-v20 -n kube-system -p '{"spec":{"template":{"spec":{"containers":[{"name":"myapp","image":"172.20.34.206:5000/myapp:img:3.0"}]}}}}' # kubectl patch deployment kube-dns-v20 -n kube-system -p '{"spec":{"template":{"spec":{"restartPolicy":"Never"}}}}' -Write-Output "Restarting DNS Pods (sometimes they get in a CrashLoopBackoff loop)" -$failedItems = kubectl get pods -l k8s-app=kube-dns -n kube-system -o jsonpath='{range.items[*]}{.metadata.name}{\"\n\"}{end}' -ForEach ($line in $failedItems) { - Write-Host "Deleting pod $line" - kubectl delete pod $line -n kube-system -} +# Write-Output "Restarting DNS Pods (sometimes they get in a CrashLoopBackoff loop)" +# $failedItems = kubectl get pods -l k8s-app=kube-dns -n kube-system -o jsonpath='{range.items[*]}{.metadata.name}{\"\n\"}{end}' +# ForEach ($line in $failedItems) { +# Write-Host "Deleting pod $line" +# kubectl delete pod $line -n kube-system +# } SetHostFileInVms -resourceGroup $AKS_PERS_RESOURCE_GROUP SetupCronTab -resourceGroup $AKS_PERS_RESOURCE_GROUP diff --git a/azure/create-bare-metal.ps1 b/azure/create-bare-metal.ps1 new file mode 100644 index 0000000..6e5af1b --- /dev/null +++ b/azure/create-bare-metal.ps1 @@ -0,0 +1,232 @@ +Write-output "--- create-bare-metal Version 2018.02.05.01 ----" + +# +# This script is meant for quick & easy install via: +# curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/create-bare-metal.ps1 | iex; + +$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" +# $GITHUB_URL = "C:\Catalyst\git\Installscripts" + +# Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/common.ps1 | Invoke-Expression; +Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; + +$AKS_PERS_RESOURCE_GROUP = "" +$AKS_PERS_LOCATION = "" +$AKS_CLUSTER_NAME = "" +$AKS_PERS_STORAGE_ACCOUNT_NAME = "" +$AKS_SUBSCRIPTION_ID = "" +$AKS_VNET_NAME = "" +$AKS_SUBNET_NAME = "" +$AKS_SUBNET_RESOURCE_GROUP = "" +$AKS_SSH_KEY = "" +$AKS_FIRST_STATIC_IP = "" +$AKS_USE_AZURE_NETWORKING = "n" +$AKS_SERVICE_PRINCIPAL_NAME = "" +$AKS_SUPPORT_WINDOWS_CONTAINERS = "n" + +write-output "Checking if you're already logged in..." + +# to print out the result to screen also use: | Tee-Object -Variable cmdOutput +$loggedInUser = az account show --query "user.name" --output tsv + +# get azure login and subscription +Write-Output "user: $loggedInUser" + +if ( "$loggedInUser" ) { + $SUBSCRIPTION_NAME = az account show --query "name" --output tsv + Write-Output "You are currently logged in as [$loggedInUser] into subscription [$SUBSCRIPTION_NAME]" + + Do { $confirmation = Read-Host "Do you want to use this account? (y/n)"} + while ([string]::IsNullOrWhiteSpace($confirmation)) + + if ($confirmation -eq 'n') { + az login + } +} +else { + # login + az login +} + +$AKS_SUBSCRIPTION_ID = az account show --query "id" --output tsv + +# ask for customerid +Do { $customerid = Read-Host "Health Catalyst Customer ID (e.g., ahmn)"} +while ([string]::IsNullOrWhiteSpace($customerid)) + +Write-Output "Customer ID: $customerid" + +# ask for resource group name to create +$DEFAULT_RESOURCE_GROUP = "Prod-Kub-$($customerid.ToUpper())-RG" +Do { + $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group (leave empty for $DEFAULT_RESOURCE_GROUP)" + if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) { + $AKS_PERS_RESOURCE_GROUP = $DEFAULT_RESOURCE_GROUP + } +} +while ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) + +Write-Output "Using resource group [$AKS_PERS_RESOURCE_GROUP]" + +Do { $AKS_PERS_LOCATION = Read-Host "Location: (e.g., eastus)"} +while ([string]::IsNullOrWhiteSpace($AKS_PERS_LOCATION)) + +$AKS_SUPPORT_WINDOWS_CONTAINERS = Read-Host "Support Windows containers (y/n) (default: n)" +if ([string]::IsNullOrWhiteSpace($AKS_SUPPORT_WINDOWS_CONTAINERS)) { + $AKS_SUPPORT_WINDOWS_CONTAINERS = "n" +} + +if ("$AKS_SUPPORT_WINDOWS_CONTAINERS" -eq "n") { + # azure networking is not supported with windows containers + # do we want to use azure networking or kube networking + $AKS_USE_AZURE_NETWORKING = Read-Host "Use Azure networking (default: y)" + if ([string]::IsNullOrWhiteSpace($AKS_USE_AZURE_NETWORKING)) { + $AKS_USE_AZURE_NETWORKING = "y" + } +} + +# service account to own the resources +$AKS_SERVICE_PRINCIPAL_NAME = Read-Host "Service account to use (default: ${AKS_PERS_RESOURCE_GROUP}Kubernetes)" +if ([string]::IsNullOrWhiteSpace($AKS_SERVICE_PRINCIPAL_NAME)) { + $AKS_SERVICE_PRINCIPAL_NAME = "${AKS_PERS_RESOURCE_GROUP}Kubernetes" +} + +# where to store the SSH keys on local machine +$AKS_LOCAL_FOLDER = Read-Host "Folder to store SSH keys (default: c:\kubernetes)" + +if ([string]::IsNullOrWhiteSpace($AKS_LOCAL_FOLDER)) {$AKS_LOCAL_FOLDER = "C:\kubernetes"} + +if (!(Test-Path -Path "$AKS_LOCAL_FOLDER")) { + Write-Output "$AKS_LOCAL_FOLDER does not exist. Creating it..." + New-Item -ItemType directory -Path $AKS_LOCAL_FOLDER +} + +# add the c:\kubernetes folder to system PATH +Write-Output "Checking if $AKS_LOCAL_FOLDER is in PATH" +$pathItems = ($env:path).split(";") +if ( $pathItems -notcontains "$AKS_LOCAL_FOLDER") { + Write-Output "Adding $AKS_LOCAL_FOLDER to system path" + $oldpath = (Get-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" -Name PATH).path + # see if the registry value is wrong too + if ( ($oldpath).split(";") -notcontains "$AKS_LOCAL_FOLDER") { + $newpath = "$oldpath;$AKS_LOCAL_FOLDER" + Read-Host "Script needs elevated privileges to set PATH. Hit ENTER to launch script to set PATH" + Start-Process powershell -verb RunAs -ArgumentList "Set-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment' -Name PATH -Value '$newPath'; Read-Host 'Press ENTER'" + Write-Output "New PATH:" + $newpath = (Get-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" -Name PATH).path + Write-Output "$newpath".split(";") + } + # for current session set the PATH too. the above only takes effect if powershell is reopened + $ENV:PATH = "$ENV:PATH;$AKS_LOCAL_FOLDER" + Write-Output "Set path for current powershell session" + Write-Output ($env:path).split(";") +} +else { + Write-Output "$AKS_LOCAL_FOLDER is already in PATH" +} + +$AKS_FOLDER_FOR_SSH_KEY = "$AKS_LOCAL_FOLDER\ssh\$AKS_PERS_RESOURCE_GROUP" + +if (!(Test-Path -Path "$AKS_FOLDER_FOR_SSH_KEY")) { + Write-Output "$AKS_FOLDER_FOR_SSH_KEY does not exist. Creating it..." + New-Item -ItemType directory -Path "$AKS_FOLDER_FOR_SSH_KEY" +} + +# check if SSH key is present. If not, generate it +$SSH_PRIVATE_KEY_FILE = "$AKS_FOLDER_FOR_SSH_KEY\id_rsa" +$SSH_PRIVATE_KEY_FILE_UNIX_PATH = "/" + (($SSH_PRIVATE_KEY_FILE -replace "\\", "/") -replace ":", "").ToLower().Trim("/") + +if (!(Test-Path "$SSH_PRIVATE_KEY_FILE")) { + Write-Output "SSH key does not exist in $SSH_PRIVATE_KEY_FILE." + Write-Output "Please open Git Bash and run:" + Write-Output "ssh-keygen -t rsa -b 2048 -q -N '' -C azureuser@linuxvm -f $SSH_PRIVATE_KEY_FILE_UNIX_PATH" + Read-Host "Hit ENTER after you're done" +} +else { + Write-Output "SSH key already exists at $SSH_PRIVATE_KEY_FILE so using it" +} + +$SSH_PUBLIC_KEY_FILE = "$AKS_FOLDER_FOR_SSH_KEY\id_rsa.pub" +$AKS_SSH_KEY = Get-Content "$SSH_PUBLIC_KEY_FILE" -First 1 +Write-Output "SSH Public Key=$AKS_SSH_KEY" + +# download kubectl +$KUBECTL_FILE = "$AKS_LOCAL_FOLDER\kubectl.exe" +$DESIRED_KUBECTL_VERSION = "v1.9.2" +$downloadkubectl = "n" +if (!(Test-Path "$KUBECTL_FILE")) { + $downloadkubectl = "y" +} +else { + $kubectlversion = kubectl version --client=true --short=true + $kubectlversionMatches = $($kubectlversion -match "$DESIRED_KUBECTL_VERSION") + if (!$kubectlversionMatches) { + $downloadkubectl = "y" + } +} +if ( $downloadkubectl -eq "y") { + $url = "https://storage.googleapis.com/kubernetes-release/release/${DESIRED_KUBECTL_VERSION}/bin/windows/amd64/kubectl.exe" + Write-Output "Downloading kubectl.exe from url $url to $KUBECTL_FILE" + Remove-Item -Path "$KUBECTL_FILE" + (New-Object System.Net.WebClient).DownloadFile($url, $KUBECTL_FILE) +} +else { + Write-Output "kubectl already exists at $KUBECTL_FILE" +} + + +$AKS_VNET_NAME="kubnettest" +$AKS_SUBNET_NAME="kubsubnet" +$AKS_SUBNET_RESOURCE_GROUP="Imran" +$AKS_SUBNET_ID = "/subscriptions/${AKS_SUBSCRIPTION_ID}/resourceGroups/${AKS_SUBNET_RESOURCE_GROUP}/providers/Microsoft.Network/virtualNetworks/${AKS_VNET_NAME}/subnets/${AKS_SUBNET_NAME}" + +CleanResourceGroup -resourceGroup ${AKS_PERS_RESOURCE_GROUP} -location $AKS_PERS_LOCATION -vnet $AKS_VNET_NAME ` + -subnet $AKS_SUBNET_NAME -subnetResourceGroup $AKS_SUBNET_RESOURCE_GROUP ` + -storageAccount $AKS_PERS_STORAGE_ACCOUNT_NAME + +# az network vnet create -g $AKS_PERS_RESOURCE_GROUP -n $AKS_VNET_NAME --address-prefix 10.0.0.0/16 --subnet-name $AKS_SUBNET_NAME --subnet-prefix 10.0.0.0/19 + +$MASTER_VM_NAME="k8s-master" +$NETWORK_SECURITY_GROUP="cluster-nsg" +$nsg = az network nsg create --name $NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP --query "id" -o tsv + +Write-Output "Creating master" +$PUBLIC_IP_NAME="${MASTER_VM_NAME}PublicIP" +$ip= az network public-ip create --name $PUBLIC_IP_NAME ` +--resource-group $AKS_PERS_RESOURCE_GROUP ` +--allocation-method Static --query "publicIp.ipAddress" -o tsv + +az network nic create ` + --resource-group $AKS_PERS_RESOURCE_GROUP ` + --name "${MASTER_VM_NAME}-nic" ` + --subnet $AKS_SUBNET_ID ` + --network-security-group $NETWORK_SECURITY_GROUP ` + --public-ip-address $PUBLIC_IP_NAME + +az vm create --resource-group $AKS_PERS_RESOURCE_GROUP --name $MASTER_VM_NAME ` + --image CentOs --size Standard_DS2_v2 ` + --admin-username azureuser --ssh-key-value $SSH_PUBLIC_KEY_FILE ` + --nics "${MASTER_VM_NAME}-nic" + +Write-Output "ssh -i ${SSH_PRIVATE_KEY_FILE_UNIX_PATH} azureuser@${ip}" + +Write-Output "Creating linux vm 1" +$vm="k8s-linux-agent-1" +$PUBLIC_IP_NAME="${vm}PublicIP" +$ip= az network public-ip create --name $PUBLIC_IP_NAME ` +--resource-group $AKS_PERS_RESOURCE_GROUP ` +--allocation-method Static --query "publicIp.ipAddress" -o tsv + +az network nic create ` + --resource-group $AKS_PERS_RESOURCE_GROUP ` + --name "${vm}-nic" ` + --subnet $AKS_SUBNET_ID ` + --network-security-group $NETWORK_SECURITY_GROUP ` + --public-ip-address $PUBLIC_IP_NAME + +az vm create --resource-group $AKS_PERS_RESOURCE_GROUP --name $vm ` + --image CentOs --size Standard_DS2_v2 ` + --admin-username azureuser --ssh-key-value $SSH_PUBLIC_KEY_FILE ` + --nics "${vm}-nic" + +Write-Output "ssh -i ${SSH_PRIVATE_KEY_FILE_UNIX_PATH} azureuser@${ip}" \ No newline at end of file diff --git a/kubernetes/setupmaster.txt b/kubernetes/setupmaster.txt new file mode 100644 index 0000000..bb33279 --- /dev/null +++ b/kubernetes/setupmaster.txt @@ -0,0 +1,30 @@ +#!/bin/sh +set -e +# +# This script is meant for quick & easy install via: +# 'curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupmaster.txt | sh' +# +# + +version="2018.02.06.01" +echo "---- setupmaster version $version ----" + +u="$(whoami)" +echo "User name: $u" + +sudo kubeadm init --kubernetes-version=v1.9.2 --pod-network-cidr=192.168.0.0/16 +kubectl apply -f https://docs.projectcalico.org/v2.6/getting-started/kubernetes/installation/hosted/kubeadm/1.6/calico.yaml + +# for logs, sudo journalctl -xeu kubelet + +mkdir -p $HOME/.kube +sudo cp -f /etc/kubernetes/admin.conf $HOME/.kube/config +sudo chown $(id -u):$(id -g) $HOME/.kube/config + +# enable master to run containers +kubectl taint nodes --all node-role.kubernetes.io/master- + +# testing +# kubectl run nginx --image=nginx --port=80 + +echo "---- end setupmaster version $version ----" diff --git a/kubernetes/setupnode.txt b/kubernetes/setupnode.txt new file mode 100644 index 0000000..6ffb2a7 --- /dev/null +++ b/kubernetes/setupnode.txt @@ -0,0 +1,51 @@ +#!/bin/sh +set -e +# +# This script is meant for quick & easy install via: +# 'curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt | sh' +# +# + +version="2018.02.06.01" +echo "---- setupnode version $version ----" + +u="$(whoami)" +echo "User name: $u" + +sudo yum update -y + +# remove older versions +sudo yum -y remove docker-engine.x86_64 docker-ce docker-engine-selinux.noarch docker-cimprov.x86_64 +sudo rm -rf /var/lib/docker + +sudo yum-config-manager \ + --add-repo \ + https://docs.docker.com/v1.13/engine/installation/linux/repo_files/centos/docker.repo + +sudo yum install -y docker-engine-17.03.1.ce-1.el7.centos + +# https://kubernetes.io/docs/setup/independent/install-kubeadm/ +sudo mkdir -p /etc/docker +cat << EOF | sudo tee -a /etc/docker/daemon.json +{ + "exec-opts": ["native.cgroupdriver=systemd"] +} +EOF + +sudo systemctl enable docker && sudo systemctl start docker + +if [ $u != "root" ]; then + echo "giving permission to $u" + sudo usermod -aG docker $u + # reload permissions without requiring a logout + # from https://superuser.com/questions/272061/reload-a-linux-users-group-assignments-without-logging-out + # su -l $USER + # curl -sSL https://healthcatalyst.github.io/InstallScripts/setupnode2.txt | sh + + echo "curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode2.txt | sh" | sudo tee -a ~/.bashrc + echo "Please logout and login again" +else + echo "Setting up docker" + curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode2.txt | sh +fi + diff --git a/kubernetes/setupnode2.txt b/kubernetes/setupnode2.txt new file mode 100644 index 0000000..9ef0cb4 --- /dev/null +++ b/kubernetes/setupnode2.txt @@ -0,0 +1,42 @@ +#!/bin/sh +set -e +# +# This script is meant for quick & easy install via: +# 'curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode2.txt | sh' +# +# + +version="2018.02.06.01" +echo "---- setupnode2 version $version ----" + +# remove the line from next run +grep -v "setupnode2.txt" ~/.bashrc | sudo tee ~/.bashrc + +u="$(whoami)" +echo "User name: $u" + +cat << EOF | sudo tee -a /etc/yum.repos.d/kubernetes.repo +[kubernetes] +name=Kubernetes +baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 +enabled=1 +gpgcheck=1 +repo_gpgcheck=1 +gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg +EOF + + +# install kubeadm +# https://saurabh-deochake.github.io/posts/2017/07/post-1/ +sudo setenforce 0 +sudo yum install -y kubelet-1.9.2-0 kubeadm-1.9.2-0 kubectl-1.9.2-0 kubernetes-cni-0.6.0-0 +sudo systemctl enable kubelet && sudo systemctl start kubelet + +# Some users on RHEL/CentOS 7 have reported issues with traffic being routed incorrectly due to iptables being bypassed +cat << EOF | sudo tee -a /etc/sysctl.d/k8s.conf +net.bridge.bridge-nf-call-ip6tables = 1 +net.bridge.bridge-nf-call-iptables = 1 +EOF +sudo sysctl --system + +echo "---- end setupnode2 version $version ----" From 2ace3f2014d1536422918b7aab2ff2cbc55f7d23 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 7 Feb 2018 13:37:03 -0800 Subject: [PATCH 099/473] add rules to nsg in create-bare-metal to open up SSH and RDP Signed-off-by: HQCATALYST\imran.qureshi --- azure/create-bare-metal.ps1 | 94 +++++++++++++++++++++++++++---------- azure/createwindowsnode.ps1 | 21 --------- kubernetes/setupmaster.txt | 7 ++- kubernetes/setupnode.txt | 9 ++-- kubernetes/setupwindows.ps1 | 49 +++++++++++++++---- 5 files changed, 121 insertions(+), 59 deletions(-) delete mode 100644 azure/createwindowsnode.ps1 diff --git a/azure/create-bare-metal.ps1 b/azure/create-bare-metal.ps1 index 6e5af1b..66a0fca 100644 --- a/azure/create-bare-metal.ps1 +++ b/azure/create-bare-metal.ps1 @@ -1,4 +1,4 @@ -Write-output "--- create-bare-metal Version 2018.02.05.01 ----" +Write-output "--- create-bare-metal Version 2018.02.07.01 ----" # # This script is meant for quick & easy install via: @@ -175,26 +175,41 @@ else { } -$AKS_VNET_NAME="kubnettest" -$AKS_SUBNET_NAME="kubsubnet" -$AKS_SUBNET_RESOURCE_GROUP="Imran" +$AKS_VNET_NAME = "kubnettest" +$AKS_SUBNET_NAME = "kubsubnet" +$AKS_SUBNET_RESOURCE_GROUP = "Imran" $AKS_SUBNET_ID = "/subscriptions/${AKS_SUBSCRIPTION_ID}/resourceGroups/${AKS_SUBNET_RESOURCE_GROUP}/providers/Microsoft.Network/virtualNetworks/${AKS_VNET_NAME}/subnets/${AKS_SUBNET_NAME}" CleanResourceGroup -resourceGroup ${AKS_PERS_RESOURCE_GROUP} -location $AKS_PERS_LOCATION -vnet $AKS_VNET_NAME ` - -subnet $AKS_SUBNET_NAME -subnetResourceGroup $AKS_SUBNET_RESOURCE_GROUP ` - -storageAccount $AKS_PERS_STORAGE_ACCOUNT_NAME + -subnet $AKS_SUBNET_NAME -subnetResourceGroup $AKS_SUBNET_RESOURCE_GROUP ` + -storageAccount $AKS_PERS_STORAGE_ACCOUNT_NAME # az network vnet create -g $AKS_PERS_RESOURCE_GROUP -n $AKS_VNET_NAME --address-prefix 10.0.0.0/16 --subnet-name $AKS_SUBNET_NAME --subnet-prefix 10.0.0.0/19 -$MASTER_VM_NAME="k8s-master" -$NETWORK_SECURITY_GROUP="cluster-nsg" +$MASTER_VM_NAME = "k8s-master" +$NETWORK_SECURITY_GROUP = "cluster-nsg" $nsg = az network nsg create --name $NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP --query "id" -o tsv +Write-Output "Creating rule: allow_ssh" +az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $NETWORK_SECURITY_GROUP -n allow_ssh --priority 100 ` + --source-address-prefixes "*" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges 22 --access Allow ` + --protocol Tcp --description "allow ssh access." ` + --query "provisioningState" -o tsv + +Write-Output "Creating rule: allow_rdp" +az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $NETWORK_SECURITY_GROUP -n allow_rdp ` + --priority 101 ` + --source-address-prefixes "*" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges 3389 --access Allow ` + --protocol Tcp --description "allow RDP access." ` + --query "provisioningState" -o tsv + Write-Output "Creating master" -$PUBLIC_IP_NAME="${MASTER_VM_NAME}PublicIP" -$ip= az network public-ip create --name $PUBLIC_IP_NAME ` ---resource-group $AKS_PERS_RESOURCE_GROUP ` ---allocation-method Static --query "publicIp.ipAddress" -o tsv +$PUBLIC_IP_NAME = "${MASTER_VM_NAME}PublicIP" +$ip = az network public-ip create --name $PUBLIC_IP_NAME ` + --resource-group $AKS_PERS_RESOURCE_GROUP ` + --allocation-method Static --query "publicIp.ipAddress" -o tsv az network nic create ` --resource-group $AKS_PERS_RESOURCE_GROUP ` @@ -204,18 +219,18 @@ az network nic create ` --public-ip-address $PUBLIC_IP_NAME az vm create --resource-group $AKS_PERS_RESOURCE_GROUP --name $MASTER_VM_NAME ` - --image CentOs --size Standard_DS2_v2 ` - --admin-username azureuser --ssh-key-value $SSH_PUBLIC_KEY_FILE ` - --nics "${MASTER_VM_NAME}-nic" + --image CentOs --size Standard_DS2_v2 ` + --admin-username azureuser --ssh-key-value $SSH_PUBLIC_KEY_FILE ` + --nics "${MASTER_VM_NAME}-nic" Write-Output "ssh -i ${SSH_PRIVATE_KEY_FILE_UNIX_PATH} azureuser@${ip}" Write-Output "Creating linux vm 1" -$vm="k8s-linux-agent-1" -$PUBLIC_IP_NAME="${vm}PublicIP" -$ip= az network public-ip create --name $PUBLIC_IP_NAME ` ---resource-group $AKS_PERS_RESOURCE_GROUP ` ---allocation-method Static --query "publicIp.ipAddress" -o tsv +$vm = "k8s-linux-agent-1" +$PUBLIC_IP_NAME = "${vm}PublicIP" +$ip = az network public-ip create --name $PUBLIC_IP_NAME ` + --resource-group $AKS_PERS_RESOURCE_GROUP ` + --allocation-method Static --query "publicIp.ipAddress" -o tsv az network nic create ` --resource-group $AKS_PERS_RESOURCE_GROUP ` @@ -225,8 +240,39 @@ az network nic create ` --public-ip-address $PUBLIC_IP_NAME az vm create --resource-group $AKS_PERS_RESOURCE_GROUP --name $vm ` - --image CentOs --size Standard_DS2_v2 ` - --admin-username azureuser --ssh-key-value $SSH_PUBLIC_KEY_FILE ` - --nics "${vm}-nic" + --image CentOs --size Standard_DS2_v2 ` + --admin-username azureuser --ssh-key-value $SSH_PUBLIC_KEY_FILE ` + --nics "${vm}-nic" + +Write-Output "ssh -i ${SSH_PRIVATE_KEY_FILE_UNIX_PATH} azureuser@${ip}" + +Write-Output "Creating windows vm 1" +$vm = "k8swindows2" +$PUBLIC_IP_NAME = "${vm}PublicIP" +$ip = az network public-ip create --name $PUBLIC_IP_NAME ` + --resource-group $AKS_PERS_RESOURCE_GROUP ` + --allocation-method Static --query "publicIp.ipAddress" -o tsv + +az network nic create ` + --resource-group $AKS_PERS_RESOURCE_GROUP ` + --name "${vm}-nic" ` + --subnet $AKS_SUBNET_ID ` + --network-security-group $NETWORK_SECURITY_GROUP ` + --public-ip-address $PUBLIC_IP_NAME + +# Update for your admin password +$AdminPassword = "ChangeYourAdminPassword1" + +$urn="MicrosoftWindowsServer:WindowsServerSemiAnnual:Datacenter-Core-1709-with-Containers-smalldisk:1709.0.20171012" +$urn="Win2016Datacenter" +az vm create --resource-group $AKS_PERS_RESOURCE_GROUP --name $vm ` + --image "$urn" ` + --size Standard_DS2_v2 ` + --admin-username azureuser --admin-password $AdminPassword ` + --nics "${vm}-nic" + + + +# https://stackoverflow.com/questions/43914269/how-to-run-simple-custom-commands-on-a-azure-vm-win-7-8-10-server-post-deploy +# az vm extension set -n CustomScriptExtension --publisher Microsoft.Compute --version 1.8 --vm-name DVWinServerVMB --resource-group DVResourceGroup --settings "{'commandToExecute': 'powershell.exe md c:\\test'}" -Write-Output "ssh -i ${SSH_PRIVATE_KEY_FILE_UNIX_PATH} azureuser@${ip}" \ No newline at end of file diff --git a/azure/createwindowsnode.ps1 b/azure/createwindowsnode.ps1 deleted file mode 100644 index 4b18e9a..0000000 --- a/azure/createwindowsnode.ps1 +++ /dev/null @@ -1,21 +0,0 @@ -# Create a virtual network card and associate with public IP address and NSG. -az network nic create \ - --resource-group myResourceGroup \ - --name myNic \ - --vnet-name myVnet \ - --subnet mySubnet \ - --network-security-group myNetworkSecurityGroup \ - --public-ip-address myPublicIP - -# Create a virtual machine. -az vm create \ - --resource-group myResourceGroup \ - --name myVM \ - --location westeurope \ - --nics myNic \ - --image win2016datacenter \ - --admin-username azureuser \ - --admin-password $AdminPassword - -# Open port 3389 to allow RDP traffic to host. -az vm open-port --port 3389 --resource-group myResourceGroup --name myVM \ No newline at end of file diff --git a/kubernetes/setupmaster.txt b/kubernetes/setupmaster.txt index bb33279..d0df88a 100644 --- a/kubernetes/setupmaster.txt +++ b/kubernetes/setupmaster.txt @@ -13,16 +13,19 @@ u="$(whoami)" echo "User name: $u" sudo kubeadm init --kubernetes-version=v1.9.2 --pod-network-cidr=192.168.0.0/16 -kubectl apply -f https://docs.projectcalico.org/v2.6/getting-started/kubernetes/installation/hosted/kubeadm/1.6/calico.yaml +sleep 10s # for logs, sudo journalctl -xeu kubelet mkdir -p $HOME/.kube sudo cp -f /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config +kubectl apply -f https://docs.projectcalico.org/v2.6/getting-started/kubernetes/installation/hosted/kubeadm/1.6/calico.yaml + # enable master to run containers -kubectl taint nodes --all node-role.kubernetes.io/master- +# kubectl taint nodes --all node-role.kubernetes.io/master- + # testing # kubectl run nginx --image=nginx --port=80 diff --git a/kubernetes/setupnode.txt b/kubernetes/setupnode.txt index 6ffb2a7..96168bb 100644 --- a/kubernetes/setupnode.txt +++ b/kubernetes/setupnode.txt @@ -39,11 +39,12 @@ if [ $u != "root" ]; then sudo usermod -aG docker $u # reload permissions without requiring a logout # from https://superuser.com/questions/272061/reload-a-linux-users-group-assignments-without-logging-out - # su -l $USER - # curl -sSL https://healthcatalyst.github.io/InstallScripts/setupnode2.txt | sh + # https://man.cx/newgrp(1) + newgrp docker + curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode2.txt | sh - echo "curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode2.txt | sh" | sudo tee -a ~/.bashrc - echo "Please logout and login again" + #echo "curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode2.txt | sh" | sudo tee -a ~/.bashrc + #echo "Please logout and login again" else echo "Setting up docker" curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode2.txt | sh diff --git a/kubernetes/setupwindows.ps1 b/kubernetes/setupwindows.ps1 index 49dd634..e06f9f2 100644 --- a/kubernetes/setupwindows.ps1 +++ b/kubernetes/setupwindows.ps1 @@ -1,30 +1,63 @@ +Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force Install-Module -Name DockerMsftProvider -Repository PSGallery -Force -Install-Package -Name Docker -ProviderName DockerMsftProvider +Install-Package -Name Docker -ProviderName DockerMsftProvider -Force Restart-Computer -Force -wget https://github.com/Microsoft/SDN/archive/master.zip -o master.zip -Expand-Archive master.zip -DestinationPath master +docker run microsoft/dotnet-samples:dotnetapp-nanoserver + +# https://docs.microsoft.com/en-us/virtualization/windowscontainers/kubernetes/configuring-host-gateway-mode +$url = "https://raw.githubusercontent.com/Microsoft/SDN/master/Kubernetes/windows/AddRoutes.ps1" +wget $url -o AddRoutes.ps1 +./AddRoutes.ps1 -MasterIp 10.1.2.3 -Gateway 10.1.3.1 + mkdir C:/k/ +Invoke-WebRequest https://github.com/Microsoft/SDN/archive/master.zip -o master.zip +Expand-Archive master.zip -DestinationPath master mv master/SDN-master/Kubernetes/windows/* C:/k/ rm -recurse -force master,master.zip -docker pull microsoft/windowsservercore:1709 -docker tag microsoft/windowsservercore:1709 microsoft/windowsservercore:latest +Invoke-WebRequest "http://7-zip.org/a/7z1801-x64.exe" -o 7z1801-x64.exe +Start-Process .\7z1801-x64.exe + +Invoke-WebRequest https://dl.k8s.io/v1.9.2/kubernetes-node-windows-amd64.tar.gz -o kubernetes-node-windows-amd64.tar.gz +mv kubernetes-node-windows-amd64.tar.gz C:/k/ + +Expand-Archive kubernetes-node-windows-amd64.tar.gz -DestinationPath kubernetes-node-windows-amd64 +# install 7-zip and extract + +docker pull microsoft/windowsservercore +docker tag microsoft/windowsservercore microsoft/windowsservercore:latest cd C:/k/ docker build -t kubeletwin/pause . -https://storage.googleapis.com/kubernetes-release/release/v1.9.1/kubernetes-node-windows-amd64.tar.gz +# docker pull microsoft/windowsservercore:1709 +# docker tag microsoft/windowsservercore:1709 microsoft/windowsservercore:latest +# cd C:/k/ +# docker build -t kubeletwin/pause . + +# https://storage.googleapis.com/kubernetes-release/release/v1.9.1/kubernetes-node-windows-amd64.tar.gz # copy to c:\k $env:Path += ";C:\k" [Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\k", [EnvironmentVariableTarget]::Machine) -kubectl version - $env:KUBECONFIG="C:\k\config" [Environment]::SetEnvironmentVariable("KUBECONFIG", "C:\k\config", [EnvironmentVariableTarget]::User) +Get-ChildItem Env: + +kubectl version + +# https://github.com/MicrosoftDocs/Virtualization-Documentation/issues/529 +# https://github.com/MicrosoftDocs/Virtualization-Documentation/tree/live/windows-server-container-tools/CleanupContainerHostNetworking +net stop hns +del C:\ProgramData\Microsoft\Windows\HNS\HNS.data +net start hns + +Stop-service docker +Get-ContainerNetwork | Remove-ContainerNetwork -Force +Start-service docker ./start-kubelet.ps1 -ClusterCidr 192.168.0.0/16 ./start-kubeproxy.ps1 From 709357b4507cfb085fe09d4a66d5629731645ac7 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 7 Feb 2018 14:52:08 -0800 Subject: [PATCH 100/473] create kueconfig folder for user if it doesn't exist Signed-off-by: HQCATALYST\imran.qureshi --- azure/main.ps1 | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/azure/main.ps1 b/azure/main.ps1 index 3efccee..fe41b7f 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.02.02.01" +$version = "2018.02.07.01" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -29,8 +29,9 @@ do { Write-Host "11: Test web sites" Write-Host "12: Show passwords" Write-Host "13: Show NLP logs" + Write-Host "14: Restart NLP" Write-Host "------ Realtime -----" - Write-Host "14: Show status of realtime" + Write-Host "15: Show status of realtime" Write-Host "-----------" Write-Host "q: Quit" $input = Read-Host "Please make a selection" @@ -44,9 +45,17 @@ do { $index = Read-Host "Enter number of folder to use (1 - $($folders.count))" $folderToUse = $($folders[$index - 1]) $fileToUse = "C:\kubernetes\$folderToUse\temp\.kube\config" - Write-Host "Copying $fileToUse to $env:userprofile\.kube\config" - Copy-Item -Path $fileToUse -Destination "$env:userprofile\.kube\config" - $env:KUBECONFIG = "${HOME}\.kube\config" + $userKubeConfigFolder = "$env:userprofile\.kube" + If (!(Test-Path $userKubeConfigFolder)) { + Write-Output "Creating $userKubeConfigFolder" + New-Item -ItemType Directory -Force -Path "$userKubeConfigFolder" + } + $destinationFile = "${userKubeConfigFolder}\config" + Write-Host "Copying $fileToUse to $destinationFile" + Copy-Item -Path "$fileToUse" -Destination "$destinationFile" + # set environment variable KUBECONFIG to point to this location + $env:KUBECONFIG = "$destinationFile" + [Environment]::SetEnvironmentVariable("KUBECONFIG", "$destinationFile", [EnvironmentVariableTarget]::User) Write-Host "Current cluster: $(kubectl config current-context)" } '1' { @@ -187,6 +196,9 @@ do { } } '14' { + kubectl delete --all 'pods' --namespace=fabricnlp --ignore-not-found=true + } + '15' { kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime -o wide } 'q' { From 304c64149bd673e35b90d9c8f2d95cf52a67512f Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 7 Feb 2018 15:31:49 -0800 Subject: [PATCH 101/473] increase terminationGracePeriod for solr so it can save indexes Signed-off-by: HQCATALYST\imran.qureshi --- nlp/nlp-kubernetes.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nlp/nlp-kubernetes.yml b/nlp/nlp-kubernetes.yml index 76c392f..3e39fa7 100644 --- a/nlp/nlp-kubernetes.yml +++ b/nlp/nlp-kubernetes.yml @@ -35,6 +35,8 @@ spec: ports: - containerPort: 8085 name: solr + # give pod more time to finish solr indexing + terminationGracePeriodSeconds: 10 volumes: - name: solr-persistent-storage persistentVolumeClaim: From e4083f8084c08ec29e59614d84d39bf21f85f83e Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 7 Feb 2018 16:10:06 -0800 Subject: [PATCH 102/473] add test yml files for windows Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/setupwindows.ps1 | 7 +- kubernetes/testwindowsnanoserver.yml | 20 ++ kubernetes/testwindowswebserver.yml | 42 ++++ ...erver.yml => testwindowswebserver1709.yml} | 0 kubernetes/windows/AddRoutes.ps1 | 58 +++++ kubernetes/windows/start-kubelet.ps1 | 219 ++++++++++++++++++ kubernetes/windows/start-kubeproxy.ps1 | 2 + 7 files changed, 346 insertions(+), 2 deletions(-) create mode 100644 kubernetes/testwindowsnanoserver.yml create mode 100644 kubernetes/testwindowswebserver.yml rename kubernetes/{testwndowswebserver.yml => testwindowswebserver1709.yml} (100%) create mode 100644 kubernetes/windows/AddRoutes.ps1 create mode 100644 kubernetes/windows/start-kubelet.ps1 create mode 100644 kubernetes/windows/start-kubeproxy.ps1 diff --git a/kubernetes/setupwindows.ps1 b/kubernetes/setupwindows.ps1 index e06f9f2..3169f62 100644 --- a/kubernetes/setupwindows.ps1 +++ b/kubernetes/setupwindows.ps1 @@ -59,7 +59,10 @@ Stop-service docker Get-ContainerNetwork | Remove-ContainerNetwork -Force Start-service docker -./start-kubelet.ps1 -ClusterCidr 192.168.0.0/16 +./start-kubelet.ps1 ./start-kubeproxy.ps1 -kubectl apply -f https://raw.githubusercontent.com/Microsoft/SDN/master/Kubernetes/WebServer.yaml +# kubectl apply -f https://raw.githubusercontent.com/Microsoft/SDN/master/Kubernetes/WebServer.yaml +kubectl apply -f https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/testwindowsnanoserver.yml + +kubectl apply -f https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/testwindowswebserver.yml diff --git a/kubernetes/testwindowsnanoserver.yml b/kubernetes/testwindowsnanoserver.yml new file mode 100644 index 0000000..59278c6 --- /dev/null +++ b/kubernetes/testwindowsnanoserver.yml @@ -0,0 +1,20 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + labels: + app: win-nanoserver + name: win-nanoserver +spec: + replicas: 1 + template: + metadata: + labels: + app: win-nanoserver + name: win-nanoserver + spec: + containers: + - name: nanoserver + imagePullPolicy: IfNotPresent + image: microsoft/dotnet-samples:dotnetapp-nanoserver + nodeSelector: + beta.kubernetes.io/os: windows \ No newline at end of file diff --git a/kubernetes/testwindowswebserver.yml b/kubernetes/testwindowswebserver.yml new file mode 100644 index 0000000..1b5a84d --- /dev/null +++ b/kubernetes/testwindowswebserver.yml @@ -0,0 +1,42 @@ +apiVersion: v1 +kind: Service +metadata: + name: win-webserver + labels: + app: win-webserver +spec: + ports: + - port: 80 + targetPort: 80 + selector: + app: win-webserver + type: LoadBalancer +--- +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + labels: + app: win-webserver + name: win-webserver +spec: + replicas: 1 + template: + metadata: + labels: + app: win-webserver + name: win-webserver + spec: + containers: + - name: windowswebserver + imagePullPolicy: IfNotPresent + image: microsoft/windowsservercore + command: + - powershell.exe + - -command + - "<#code used from https://gist.github.com/wagnerandrade/5424431#> ; $$listener = New-Object System.Net.HttpListener; $$listener.Prefixes.Add('http://*:80/') ; $$listener.Start() ; $$callerCounts = @{} ; Write-Host('Listening at http://*:80/') ; while ($$listener.IsListening) { ;$$context = $$listener.GetContext() ;$$requestUrl = $$context.Request.Url ;$$clientIP = $$context.Request.RemoteEndPoint.Address ;$$response = $$context.Response ;Write-Host '' ;Write-Host('> {0}' -f $$requestUrl) ; ;$$count = 1 ;$$k=$$callerCounts.Get_Item($$clientIP) ;if ($$k -ne $$null) { $$count += $$k } ;$$callerCounts.Set_Item($$clientIP, $$count) ;$$header='

Windows Container Web Server

' ;$$callerCountsString='' ;$$callerCounts.Keys | % { $$callerCountsString+='

IP {0} callerCount {1} ' -f $$_,$$callerCounts.Item($$_) } ;$$footer='' ;$$content='{0}{1}{2}' -f $$header,$$callerCountsString,$$footer ;Write-Output $$content ;$$buffer = [System.Text.Encoding]::UTF8.GetBytes($$content) ;$$response.ContentLength64 = $$buffer.Length ;$$response.OutputStream.Write($$buffer, 0, $$buffer.Length) ;$$response.Close() ;$$responseStatus = $$response.StatusCode ;Write-Host('< {0}' -f $$responseStatus) } ; " + ports: + - name: "demo" + protocol: TCP + containerPort: 80 + nodeSelector: + beta.kubernetes.io/os: windows \ No newline at end of file diff --git a/kubernetes/testwndowswebserver.yml b/kubernetes/testwindowswebserver1709.yml similarity index 100% rename from kubernetes/testwndowswebserver.yml rename to kubernetes/testwindowswebserver1709.yml diff --git a/kubernetes/windows/AddRoutes.ps1 b/kubernetes/windows/AddRoutes.ps1 new file mode 100644 index 0000000..8676b2d --- /dev/null +++ b/kubernetes/windows/AddRoutes.ps1 @@ -0,0 +1,58 @@ +Param( + [parameter(Mandatory = $false)] [string] $masterIp, + [parameter(Mandatory = $false)] [string] $gateway +) + +function +Add-RouteToPodCIDR($nicName) +{ + $podCIDRs=c:\k\kubectl.exe --kubeconfig=c:\k\config get nodes -o=custom-columns=Name:.status.nodeInfo.operatingSystem,PODCidr:.spec.podCIDR --no-headers + Write-Host "Add-RouteToPodCIDR - available nodes $podCIDRs" + foreach ($podcidr in $podCIDRs) + { + $tmp = $podcidr.Split(" ") + $os = $tmp | select -First 1 + $cidr = $tmp | select -Last 1 + $cidrGw = $cidr.substring(0,$cidr.lastIndexOf(".")) + ".1" + + if ($os -eq "windows") { + $cidrGw = $cidr.substring(0,$cidr.lastIndexOf(".")) + ".2" + } + + Write-Host "Adding route for Remote Pod CIDR $cidr, GW $cidrGw, for node type $os" + + $route = get-netroute -InterfaceAlias "$nicName" -DestinationPrefix $cidr -erroraction Ignore + if (!$route) { + + new-netroute -InterfaceAlias "$nicName" -DestinationPrefix $cidr -NextHop $cidrGw -Verbose + } + } +} + +$endpointName = "cbr0" +$vnicName = "vEthernet ($endpointName)" + +# Add routes to all POD networks on the Bridge endpoint nic +Add-RouteToPodCIDR -nicName $vnicName + +$na = Get-NetAdapter | ? Name -Like "vEthernet (Ethernet*" +if (!$na) +{ + Write-Error "Do you have a virtual adapter configured? Couldn't find one!" + exit 1 +} + +# Add routes to all POD networks on the Mgmt Nic on the host +Add-RouteToPodCIDR -nicName $na.InterfaceAlias + +# Update the route for the POD on current host to be on Link +$podCIDR=c:\k\kubectl.exe --kubeconfig=c:\k\config get nodes/$($(hostname).ToLower()) -o custom-columns=podCidr:.spec.podCIDR --no-headers +get-NetRoute -DestinationPrefix $podCIDR -InterfaceAlias $na.InterfaceAlias | Remove-NetRoute -Confirm:$false +new-NetRoute -DestinationPrefix $podCIDR -NextHop 0.0.0.0 -InterfaceAlias $na.InterfaceAlias + +# Add a route to Master, to override the Remote Endpoint +$route = Get-NetRoute -DestinationPrefix "$masterIp/32" -erroraction Ignore +if (!$route) +{ + New-NetRoute -DestinationPrefix "$masterIp/32" -NextHop $gateway -InterfaceAlias $na.InterfaceAlias +} diff --git a/kubernetes/windows/start-kubelet.ps1 b/kubernetes/windows/start-kubelet.ps1 new file mode 100644 index 0000000..1f8c275 --- /dev/null +++ b/kubernetes/windows/start-kubelet.ps1 @@ -0,0 +1,219 @@ +Param( + $clusterCIDR="192.168.0.0/16" +) + +# Todo : Get these values using kubectl +$KubeDnsServiceIp="11.0.0.10" +$serviceCIDR="11.0.0.0/8" + +$WorkingDir = "c:\k" +$CNIPath = [Io.path]::Combine($WorkingDir , "cni") +$NetworkMode = "L2Bridge" +$CNIConfig = [Io.path]::Combine($CNIPath, "config", "$NetworkMode.conf") + +$endpointName = "cbr0" +$vnicName = "vEthernet ($endpointName)" + +function +Get-PodGateway($podCIDR) +{ + # Current limitation of Platform to not use .1 ip, since it is reserved + return $podCIDR.substring(0,$podCIDR.lastIndexOf(".")) + ".1" +} + +function +Get-PodEndpointGateway($podCIDR) +{ + # Current limitation of Platform to not use .1 ip, since it is reserved + return $podCIDR.substring(0,$podCIDR.lastIndexOf(".")) + ".2" +} + +function +Get-PodCIDR() +{ + $podCIDR=c:\k\kubectl.exe --kubeconfig=c:\k\config get nodes/$($(hostname).ToLower()) -o custom-columns=podCidr:.spec.podCIDR --no-headers + return $podCIDR +} + +function +Get-MgmtIpAddress() +{ + $na = Get-NetAdapter | ? Name -Like "vEthernet (HNSTransparent)" + return (Get-NetIPAddress -InterfaceAlias $na.ifAlias -AddressFamily IPv4).IPAddress +} + +function +ConvertTo-DecimalIP +{ + param( + [Parameter(Mandatory = $true, Position = 0)] + [Net.IPAddress] $IPAddress + ) + $i = 3; $DecimalIP = 0; + $IPAddress.GetAddressBytes() | % { + $DecimalIP += $_ * [Math]::Pow(256, $i); $i-- + } + + return [UInt32]$DecimalIP +} + +function +ConvertTo-DottedDecimalIP +{ + param( + [Parameter(Mandatory = $true, Position = 0)] + [Uint32] $IPAddress + ) + + $DottedIP = $(for ($i = 3; $i -gt -1; $i--) + { + $Remainder = $IPAddress % [Math]::Pow(256, $i) + ($IPAddress - $Remainder) / [Math]::Pow(256, $i) + $IPAddress = $Remainder + }) + + return [String]::Join(".", $DottedIP) +} + +function +ConvertTo-MaskLength +{ + param( + [Parameter(Mandatory = $True, Position = 0)] + [Net.IPAddress] $SubnetMask + ) + $Bits = "$($SubnetMask.GetAddressBytes() | % { + [Convert]::ToString($_, 2) + } )" -replace "[\s0]" + return $Bits.Length +} + +function +Get-MgmtSubnet +{ + $na = Get-NetAdapter | ? Name -Like "vEthernet (HNSTransparent)" + if (!$na) { + throw "Failed to find a suitable network adapter, check your network settings." + } + $addr = (Get-NetIPAddress -InterfaceAlias $na.ifAlias -AddressFamily IPv4).IPAddress + $mask = (Get-WmiObject Win32_NetworkAdapterConfiguration | ? InterfaceIndex -eq $($na.ifIndex)).IPSubnet[0] + $mgmtSubnet = (ConvertTo-DecimalIP $addr) -band (ConvertTo-DecimalIP $mask) + $mgmtSubnet = ConvertTo-DottedDecimalIP $mgmtSubnet + return "$mgmtSubnet/$(ConvertTo-MaskLength $mask)" +} + +function +Update-CNIConfig($podCIDR) +{ + $jsonSampleConfig = '{ + "cniVersion": "0.2.0", + "name": "", + "type": "wincni.exe", + "master": "Ethernet", + "capabilities": { "portMappings": true }, + "ipam": { + "environment": "azure", + "subnet":"", + "routes": [{ + "GW":"" + }] + }, + "dns" : { + "Nameservers" : [ "11.0.0.10" ] + }, + "AdditionalArgs" : [ + { + "Name" : "EndpointPolicy", "Value" : { "Type" : "OutBoundNAT", "ExceptionList": [ "", "", "" ] } + }, + { + "Name" : "EndpointPolicy", "Value" : { "Type" : "ROUTE", "DestinationPrefix": "", "NeedEncap" : true } + }, + { + "Name" : "EndpointPolicy", "Value" : { "Type" : "ROUTE", "DestinationPrefix": "/32", "NeedEncap" : true } + } + ] +}' + #Add-Content -Path $CNIConfig -Value $jsonSampleConfig + + $configJson = ConvertFrom-Json $jsonSampleConfig + $configJson.name = $NetworkMode.ToLower() + $configJson.ipam.subnet=$podCIDR + $configJson.ipam.routes[0].GW = Get-PodEndpointGateway $podCIDR + $configJson.dns.Nameservers[0] = $KubeDnsServiceIp + + $configJson.AdditionalArgs[0].Value.ExceptionList[0] = $clusterCIDR + $configJson.AdditionalArgs[0].Value.ExceptionList[1] = $serviceCIDR + $configJson.AdditionalArgs[0].Value.ExceptionList[2] = Get-MgmtSubnet + + $configJson.AdditionalArgs[1].Value.DestinationPrefix = $serviceCIDR + $configJson.AdditionalArgs[2].Value.DestinationPrefix = "$(Get-MgmtIpAddress)/32" + + if (Test-Path $CNIConfig) { + Clear-Content -Path $CNIConfig + } + + Write-Host "Generated CNI Config [$configJson]" + + Add-Content -Path $CNIConfig -Value (ConvertTo-Json $configJson -Depth 20) +} + +function +Test-PodCIDR($podCIDR) +{ + return $podCIDR.length -gt 0 +} + +$podCIDR = Get-PodCIDR +$podCidrDiscovered = Test-PodCIDR $podCIDR + +# if the podCIDR has not yet been assigned to this node, start the kubelet process to get the podCIDR, and then promptly kill it. +if (-not $podCidrDiscovered) +{ + $argList = @("--hostname-override=$(hostname)","--pod-infra-container-image=kubeletwin/pause","--resolv-conf=""""", "--kubeconfig=c:\k\config") + + $process = Start-Process -FilePath c:\k\kubelet.exe -PassThru -ArgumentList $argList + + # run kubelet until podCidr is discovered + Write-Host "waiting to discover pod CIDR" + while (-not $podCidrDiscovered) + { + Write-Host "Sleeping for 10s, and then waiting to discover pod CIDR" + Start-Sleep -sec 10 + + $podCIDR = Get-PodCIDR + $podCidrDiscovered = Test-PodCIDR $podCIDR + } + + # stop the kubelet process now that we have our CIDR, discard the process output + $process | Stop-Process | Out-Null +} + +# startup the service +ipmo C:\k\hns.psm1 +$hnsNetwork = Get-HnsNetworks | ? Name -EQ $NetworkMode.ToLower() + +if (!$hnsNetwork) +{ + $podGW = Get-PodGateway $podCIDR + + $hnsNetwork = New-HNSNetwork -Type $NetworkMode -AddressPrefix $podCIDR -Gateway $podGW -Name $NetworkMode.ToLower() -Verbose + $podEndpointGW = Get-PodEndpointGateway $podCIDR + + $hnsEndpoint = New-HnsEndpoint -NetworkId $hnsNetwork.Id -Name $endpointName -IPAddress $podEndpointGW -Gateway "0.0.0.0" -Verbose + Attach-HnsHostEndpoint -EndpointID $hnsEndpoint.Id -CompartmentID 1 + netsh int ipv4 set int "$vnicName" for=en + #netsh int ipv4 set add "vEthernet (cbr0)" static $podGW 255.255.255.0 +} + +Start-Sleep 10 +# Add route to all other POD networks +Update-CNIConfig $podCIDR + +c:\k\kubelet.exe --hostname-override=$(hostname) --v=6 ` + --pod-infra-container-image=kubeletwin/pause --resolv-conf="" ` + --allow-privileged=true --enable-debugging-handlers ` + --cluster-dns=$KubeDnsServiceIp --cluster-domain=cluster.local ` + --kubeconfig=c:\k\config --hairpin-mode=promiscuous-bridge ` + --image-pull-progress-deadline=20m --cgroups-per-qos=false ` + --enforce-node-allocatable="" ` + --network-plugin=cni --cni-bin-dir="c:\k\cni" --cni-conf-dir "c:\k\cni\config" diff --git a/kubernetes/windows/start-kubeproxy.ps1 b/kubernetes/windows/start-kubeproxy.ps1 new file mode 100644 index 0000000..5c02449 --- /dev/null +++ b/kubernetes/windows/start-kubeproxy.ps1 @@ -0,0 +1,2 @@ +$env:KUBE_NETWORK="l2bridge" +c:\k\kube-proxy.exe --v=4 --proxy-mode=kernelspace --hostname-override=$(hostname) --kubeconfig=c:\k\config From 90c6564d5c3b663bb4c6f7ea8d68e1b309b6c4df Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 8 Feb 2018 14:24:09 -0800 Subject: [PATCH 103/473] some fixes for windows kubernetes Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/flannel.yml | 137 +++++++++++++++++++++++++++ kubernetes/setupmaster.txt | 7 ++ kubernetes/setupwindows.ps1 | 72 +++++++++++--- kubernetes/windows/AddRoutes.ps1 | 5 +- kubernetes/windows/start-kubelet.ps1 | 9 +- 5 files changed, 210 insertions(+), 20 deletions(-) create mode 100644 kubernetes/flannel.yml diff --git a/kubernetes/flannel.yml b/kubernetes/flannel.yml new file mode 100644 index 0000000..61bbc00 --- /dev/null +++ b/kubernetes/flannel.yml @@ -0,0 +1,137 @@ +--- +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1beta1 +metadata: + name: flannel +rules: + - apiGroups: + - "" + resources: + - pods + verbs: + - get + - apiGroups: + - "" + resources: + - nodes + verbs: + - list + - watch + - apiGroups: + - "" + resources: + - nodes/status + verbs: + - patch +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1beta1 +metadata: + name: flannel +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: flannel +subjects: +- kind: ServiceAccount + name: flannel + namespace: kube-system +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: flannel + namespace: kube-system +--- +kind: ConfigMap +apiVersion: v1 +metadata: + name: kube-flannel-cfg + namespace: kube-system + labels: + tier: node + app: flannel +data: + cni-conf.json: | + { + "name": "cbr0", + "type": "flannel", + "delegate": { + "isDefaultGateway": true + } + } + net-conf.json: | + { + "Network": "10.244.0.0/16", + "Backend": { + "Type": "vxlan" + } + } +--- +apiVersion: extensions/v1beta1 +kind: DaemonSet +metadata: + name: kube-flannel-ds + namespace: kube-system + labels: + tier: node + app: flannel +spec: + template: + metadata: + labels: + tier: node + app: flannel + spec: + hostNetwork: true + nodeSelector: + beta.kubernetes.io/arch: amd64 + tolerations: + - key: node-role.kubernetes.io/master + operator: Exists + effect: NoSchedule + serviceAccountName: flannel + initContainers: + - name: install-cni + image: quay.io/coreos/flannel:v0.9.1-amd64 + command: + - cp + args: + - -f + - /etc/kube-flannel/cni-conf.json + - /etc/cni/net.d/10-flannel.conf + volumeMounts: + - name: cni + mountPath: /etc/cni/net.d + - name: flannel-cfg + mountPath: /etc/kube-flannel/ + containers: + - name: kube-flannel + image: quay.io/coreos/flannel:v0.9.1-amd64 + command: [ "/opt/bin/flanneld", "--ip-masq", "--kube-subnet-mgr" ] + securityContext: + privileged: true + env: + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + volumeMounts: + - name: run + mountPath: /run + - name: flannel-cfg + mountPath: /etc/kube-flannel/ + volumes: + - name: run + hostPath: + path: /run + - name: cni + hostPath: + path: /etc/cni/net.d + - name: flannel-cfg + configMap: + name: kube-flannel-cfg diff --git a/kubernetes/setupmaster.txt b/kubernetes/setupmaster.txt index d0df88a..36ea8be 100644 --- a/kubernetes/setupmaster.txt +++ b/kubernetes/setupmaster.txt @@ -21,11 +21,18 @@ mkdir -p $HOME/.kube sudo cp -f /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config +# calico kubectl apply -f https://docs.projectcalico.org/v2.6/getting-started/kubernetes/installation/hosted/kubeadm/1.6/calico.yaml +# flannel +# kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.9.1/Documentation/kube-flannel.yml + # enable master to run containers # kubectl taint nodes --all node-role.kubernetes.io/master- +kubectl get nodes + +kubectl get pods -n kube-system -o wide # testing # kubectl run nginx --image=nginx --port=80 diff --git a/kubernetes/setupwindows.ps1 b/kubernetes/setupwindows.ps1 index 3169f62..49f4e83 100644 --- a/kubernetes/setupwindows.ps1 +++ b/kubernetes/setupwindows.ps1 @@ -1,35 +1,57 @@ Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force +# https://github.com/OneGet/MicrosoftDockerProvider Install-Module -Name DockerMsftProvider -Repository PSGallery -Force -Install-Package -Name Docker -ProviderName DockerMsftProvider -Force +# Uninstall-Package -ProviderName DockerMsftProvider -Name Docker -Verbose +# 17.06.01 is minimum +Install-Package -Name Docker -ProviderName DockerMsftProvider -Force -RequiredVersion 17.06.1-ee-2 Restart-Computer -Force +Write-Output "Checking if docker is working properly" docker run microsoft/dotnet-samples:dotnetapp-nanoserver # https://docs.microsoft.com/en-us/virtualization/windowscontainers/kubernetes/configuring-host-gateway-mode -$url = "https://raw.githubusercontent.com/Microsoft/SDN/master/Kubernetes/windows/AddRoutes.ps1" -wget $url -o AddRoutes.ps1 -./AddRoutes.ps1 -MasterIp 10.1.2.3 -Gateway 10.1.3.1 +# $url = "https://raw.githubusercontent.com/Microsoft/SDN/master/Kubernetes/windows/AddRoutes.ps1" +# wget $url -o AddRoutes.ps1 + +# https://kubernetes.io/docs/getting-started-guides/windows/ mkdir C:/k/ + +Write-Output "installing Windows tools to set up networking" + Invoke-WebRequest https://github.com/Microsoft/SDN/archive/master.zip -o master.zip Expand-Archive master.zip -DestinationPath master mv master/SDN-master/Kubernetes/windows/* C:/k/ rm -recurse -force master,master.zip +# get ip of master via ping +# get gateway from ipconfig +./AddRoutes.ps1 -MasterIp 10.239.0.4 -Gateway 10.239.0.1 + Invoke-WebRequest "http://7-zip.org/a/7z1801-x64.exe" -o 7z1801-x64.exe Start-Process .\7z1801-x64.exe +Write-Output "Downloading Windows Kube tools: kubectl, kubeadm" Invoke-WebRequest https://dl.k8s.io/v1.9.2/kubernetes-node-windows-amd64.tar.gz -o kubernetes-node-windows-amd64.tar.gz mv kubernetes-node-windows-amd64.tar.gz C:/k/ -Expand-Archive kubernetes-node-windows-amd64.tar.gz -DestinationPath kubernetes-node-windows-amd64 +# download from our own location so we can use zip + + +# Expand-Archive kubernetes-node-windows-amd64.tar.gz -DestinationPath kubernetes-node-windows-amd64 # install 7-zip and extract +Write-Output "Creating the pause container" docker pull microsoft/windowsservercore docker tag microsoft/windowsservercore microsoft/windowsservercore:latest cd C:/k/ docker build -t kubeletwin/pause . +docker images + + + +# if using windows 1709 # docker pull microsoft/windowsservercore:1709 # docker tag microsoft/windowsservercore:1709 microsoft/windowsservercore:latest # cd C:/k/ @@ -38,31 +60,53 @@ docker build -t kubeletwin/pause . # https://storage.googleapis.com/kubernetes-release/release/v1.9.1/kubernetes-node-windows-amd64.tar.gz # copy to c:\k -$env:Path += ";C:\k" -[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\k", [EnvironmentVariableTarget]::Machine) +Write-Output "TODO: Copy and create config here" +Write-Output "Setting environment variable to point to kube config" +$env:Path += ";C:\k" +[Environment]::SetEnvironmentVariable("Path", $env:Path, [EnvironmentVariableTarget]::Machine) $env:KUBECONFIG="C:\k\config" - [Environment]::SetEnvironmentVariable("KUBECONFIG", "C:\k\config", [EnvironmentVariableTarget]::User) Get-ChildItem Env: +Write-Output "Checking to see if we can connect to kube master" kubectl version +Get-NetAdapter + # https://github.com/MicrosoftDocs/Virtualization-Documentation/issues/529 # https://github.com/MicrosoftDocs/Virtualization-Documentation/tree/live/windows-server-container-tools/CleanupContainerHostNetworking -net stop hns -del C:\ProgramData\Microsoft\Windows\HNS\HNS.data -net start hns +# net stop hns +# del C:\ProgramData\Microsoft\Windows\HNS\HNS.data +# net start hns -Stop-service docker -Get-ContainerNetwork | Remove-ContainerNetwork -Force -Start-service docker +# Stop-service docker +# Get-ContainerNetwork | Remove-ContainerNetwork -Force +# Start-service docker ./start-kubelet.ps1 ./start-kubeproxy.ps1 +kubectl get nodes + +kubectl get pods -n kube-system -o wide + + # kubectl apply -f https://raw.githubusercontent.com/Microsoft/SDN/master/Kubernetes/WebServer.yaml kubectl apply -f https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/testwindowsnanoserver.yml +kubectl get all -o wide + +kubectl describe po -l app=win-nanoserver + kubectl apply -f https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/testwindowswebserver.yml + +# https://github.com/MicrosoftDocs/Virtualization-Documentation/tree/master/windows-server-container-tools/Debug-ContainerHost +Invoke-WebRequest https://raw.githubusercontent.com/MicrosoftDocs/Virtualization-Documentation/master/windows-server-container-tools/Debug-ContainerHost/Debug-ContainerHost.ps1 -o Debug-ContainerHost.ps1 + +docker network create --driver host host + +# https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/#44-joining-your-nodes +# kubectl drain --delete-local-data --force --ignore-daemonsets +# kubectl delete node \ No newline at end of file diff --git a/kubernetes/windows/AddRoutes.ps1 b/kubernetes/windows/AddRoutes.ps1 index 8676b2d..9bf420a 100644 --- a/kubernetes/windows/AddRoutes.ps1 +++ b/kubernetes/windows/AddRoutes.ps1 @@ -29,13 +29,14 @@ Add-RouteToPodCIDR($nicName) } } -$endpointName = "cbr0" +#$endpointName = "cbr0" +$endpointName = "HNSTransparent" $vnicName = "vEthernet ($endpointName)" # Add routes to all POD networks on the Bridge endpoint nic Add-RouteToPodCIDR -nicName $vnicName -$na = Get-NetAdapter | ? Name -Like "vEthernet (Ethernet*" +$na = Get-NetAdapter | ? Name -Like "vEthernet (HNSTransparent)" if (!$na) { Write-Error "Do you have a virtual adapter configured? Couldn't find one!" diff --git a/kubernetes/windows/start-kubelet.ps1 b/kubernetes/windows/start-kubelet.ps1 index 1f8c275..5a985a4 100644 --- a/kubernetes/windows/start-kubelet.ps1 +++ b/kubernetes/windows/start-kubelet.ps1 @@ -3,15 +3,16 @@ Param( ) # Todo : Get these values using kubectl -$KubeDnsServiceIp="11.0.0.10" -$serviceCIDR="11.0.0.0/8" +$KubeDnsServiceIp="10.96.0.10" +$serviceCIDR="10.96.0.0/12" $WorkingDir = "c:\k" $CNIPath = [Io.path]::Combine($WorkingDir , "cni") $NetworkMode = "L2Bridge" $CNIConfig = [Io.path]::Combine($CNIPath, "config", "$NetworkMode.conf") -$endpointName = "cbr0" +# $endpointName = "cbr0" +$endpointName = "HNSTransparent" $vnicName = "vEthernet ($endpointName)" function @@ -209,7 +210,7 @@ Start-Sleep 10 # Add route to all other POD networks Update-CNIConfig $podCIDR -c:\k\kubelet.exe --hostname-override=$(hostname) --v=6 ` +c:\k\kubelet.exe --hostname-override=$(hostname) --v=1 ` --pod-infra-container-image=kubeletwin/pause --resolv-conf="" ` --allow-privileged=true --enable-debugging-handlers ` --cluster-dns=$KubeDnsServiceIp --cluster-domain=cluster.local ` From b4b91f6ea4771b73fffa7289df9f5e07b58a9b4a Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 12 Feb 2018 14:26:45 -0800 Subject: [PATCH 104/473] add code to download and instal az cli if it doesn't exist or is older Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 12 ++++++++++- azure/create-acs-cluster.ps1 | 40 +++++++++++++++++++++++++++++++++--- azure/create-bare-metal.ps1 | 3 +-- 3 files changed, 49 insertions(+), 6 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index 99a5081..e1b1458 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,10 +1,20 @@ -$versioncommon = "2018.02.06.01" +$versioncommon = "2018.02.12.01" Write-Host "Including common.ps1 version $versioncommon" function global:GetCommonVersion() { return $versioncommon } +function global:Test-CommandExists { + Param ($command) + # from https://blogs.technet.microsoft.com/heyscriptingguy/2013/02/19/use-a-powershell-function-to-see-if-a-command-exists/ + $oldPreference = $ErrorActionPreference + $ErrorActionPreference = 'stop' + try {if (Get-Command $command) {RETURN $true}} + Catch {Write-Host "$command does not exist"; RETURN $false} + Finally {$ErrorActionPreference = $oldPreference} +} #end function test-CommandExists + function global:CreateShare($resourceGroup, $sharename, $deleteExisting) { $AKS_PERS_STORAGE_ACCOUNT_NAME_BASE64 = kubectl get secret azure-secret -o jsonpath='{.data.azurestorageaccountname}' $AKS_PERS_STORAGE_ACCOUNT_NAME = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($AKS_PERS_STORAGE_ACCOUNT_NAME_BASE64)) diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index ebae57d..f7fe331 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -1,4 +1,4 @@ -Write-output "--- create-acs-cluster Version 2018.02.06.01 ----" +Write-output "--- create-acs-cluster Version 2018.02.12.01 ----" # # This script is meant for quick & easy install via: @@ -26,6 +26,40 @@ $AKS_SUPPORT_WINDOWS_CONTAINERS = "n" write-output "Checking if you're already logged in..." + +# install az cli from https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest +$DESIRED_AZ_CLI_VERSION = "2.0.26" +$downloadazcli = $False +if (!(Test-CommandExists az)) { + $downloadazcli = $True +} +else { + $azcurrentversion = az -v | Select-String "azure-cli" | Select-Object -exp line + # we should get: azure-cli (2.0.22) + $azversionMatches = $($azcurrentversion -match "$DESIRED_AZ_CLI_VERSION") + if (!$azversionMatches) { + Write-Output "az version $azcurrentversion is not the same as desired version: $DESIRED_AZ_CLI_VERSION" + $downloadazcli = $True + } +} + +if($downloadazcli){ + $AZCLI_FILE=([System.IO.Path]::GetTempPath()+("az-cli-latest.msi")) + $url = "https://azurecliprod.blob.core.windows.net/msi/azure-cli-latest.msi" + Write-Output "Downloading az-cli-latest.msi from url $url to $AZCLI_FILE" + If (Test-Path $AZCLI_FILE){ + Remove-Item $AZCLI_FILE + } + (New-Object System.Net.WebClient).DownloadFile($url, $AZCLI_FILE) + # https://kevinmarquette.github.io/2016-10-21-powershell-installing-msi-files/ + Write-Output "Running MSI to install az" + $AZCLI_INSTALL_LOG=([System.IO.Path]::GetTempPath()+('az-cli-latest.log')) + # msiexec flags: https://msdn.microsoft.com/en-us/library/windows/desktop/aa367988(v=vs.85).aspx + Start-Process -Verb runAs msiexec.exe -Wait -ArgumentList "/i $AZCLI_FILE /qn /L*e $AZCLI_INSTALL_LOG" + Write-Output "Finished installing az-cli-latest.msi" +} + + # to print out the result to screen also use: | Tee-Object -Variable cmdOutput $loggedInUser = az account show --query "user.name" --output tsv @@ -328,8 +362,8 @@ if ("$AKS_VNET_NAME") { } CleanResourceGroup -resourceGroup ${AKS_PERS_RESOURCE_GROUP} -location $AKS_PERS_LOCATION -vnet $AKS_VNET_NAME ` - -subnet $AKS_SUBNET_NAME -subnetResourceGroup $AKS_SUBNET_RESOURCE_GROUP ` - -storageAccount $AKS_PERS_STORAGE_ACCOUNT_NAME + -subnet $AKS_SUBNET_NAME -subnetResourceGroup $AKS_SUBNET_RESOURCE_GROUP ` + -storageAccount $AKS_PERS_STORAGE_ACCOUNT_NAME # Read-Host "continue?" diff --git a/azure/create-bare-metal.ps1 b/azure/create-bare-metal.ps1 index 66a0fca..b389baf 100644 --- a/azure/create-bare-metal.ps1 +++ b/azure/create-bare-metal.ps1 @@ -174,7 +174,6 @@ else { Write-Output "kubectl already exists at $KUBECTL_FILE" } - $AKS_VNET_NAME = "kubnettest" $AKS_SUBNET_NAME = "kubsubnet" $AKS_SUBNET_RESOURCE_GROUP = "Imran" @@ -247,7 +246,7 @@ az vm create --resource-group $AKS_PERS_RESOURCE_GROUP --name $vm ` Write-Output "ssh -i ${SSH_PRIVATE_KEY_FILE_UNIX_PATH} azureuser@${ip}" Write-Output "Creating windows vm 1" -$vm = "k8swindows2" +$vm = "k8swindows1" $PUBLIC_IP_NAME = "${vm}PublicIP" $ip = az network public-ip create --name $PUBLIC_IP_NAME ` --resource-group $AKS_PERS_RESOURCE_GROUP ` From ade602567c94761fd26f8e592c941aa501369cd9 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 13 Feb 2018 15:48:53 -0800 Subject: [PATCH 105/473] show SSH commands for all VMs not just the master Signed-off-by: HQCATALYST\imran.qureshi --- azure/create-acs-cluster.ps1 | 38 ++++++++++++++++++++++++------------ azure/main.ps1 | 29 ++++++++++++++++++++++----- kubernetes/setupmaster.txt | 17 ++++++++++++++-- kubernetes/setupnode.txt | 2 +- 4 files changed, 66 insertions(+), 20 deletions(-) diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index f7fe331..5739bdc 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -1,4 +1,4 @@ -Write-output "--- create-acs-cluster Version 2018.02.12.01 ----" +Write-output "--- create-acs-cluster Version 2018.02.13.01 ----" # # This script is meant for quick & easy install via: @@ -105,6 +105,13 @@ Write-Output "Using resource group [$AKS_PERS_RESOURCE_GROUP]" Do { $AKS_PERS_LOCATION = Read-Host "Location: (e.g., eastus)"} while ([string]::IsNullOrWhiteSpace($AKS_PERS_LOCATION)) +Write-Output "checking if resource group already exists" +$resourceGroupExists = az group exists --name ${AKS_PERS_RESOURCE_GROUP} +if ($resourceGroupExists -ne "true") { + Write-Output "Create the Resource Group" + az group create --name $AKS_PERS_RESOURCE_GROUP --location $AKS_PERS_LOCATION --verbose +} + $AKS_SUPPORT_WINDOWS_CONTAINERS = Read-Host "Support Windows containers (y/n) (default: n)" if ([string]::IsNullOrWhiteSpace($AKS_SUPPORT_WINDOWS_CONTAINERS)) { $AKS_SUPPORT_WINDOWS_CONTAINERS = "n" @@ -304,18 +311,25 @@ if ($confirmation -eq 'y') { Write-Output "Finding existing subnets in $AKS_VNET_NAME ..." $subnets = az network vnet subnet list --resource-group $AKS_SUBNET_RESOURCE_GROUP --vnet-name $AKS_VNET_NAME --query "[].name" -o tsv - Do { - Write-Output "------ Subnets in $AKS_VNET_NAME -------" - for ($i = 1; $i -le $subnets.count; $i++) { - Write-Host "$i. $($subnets[$i-1])" - } - Write-Output "------ End Subnets -------" - - Write-Host "NOTE: Each customer should have their own subnet. Do not put multiple customers in the same subnet" - $index = Read-Host "Enter number of subnet to use (1 - $($subnets.count))" - $AKS_SUBNET_NAME = $($subnets[$index - 1]) + if($subnets.count -eq 1) + { + Write-Output "There is only subnet called $subnets so choosing that" + $AKS_SUBNET_NAME = $subnets + } + else { + Do { + Write-Output "------ Subnets in $AKS_VNET_NAME -------" + for ($i = 1; $i -le $subnets.count; $i++) { + Write-Host "$i. $($subnets[$i-1])" + } + Write-Output "------ End Subnets -------" + + Write-Host "NOTE: Each customer should have their own subnet. Do not put multiple customers in the same subnet" + $index = Read-Host "Enter number of subnet to use (1 - $($subnets.count))" + $AKS_SUBNET_NAME = $($subnets[$index - 1]) + } + while ([string]::IsNullOrWhiteSpace($AKS_SUBNET_NAME)) } - while ([string]::IsNullOrWhiteSpace($AKS_SUBNET_NAME)) # verify the subnet exists $mysubnetid = "/subscriptions/${AKS_SUBSCRIPTION_ID}/resourceGroups/${AKS_SUBNET_RESOURCE_GROUP}/providers/Microsoft.Network/virtualNetworks/${AKS_VNET_NAME}/subnets/${AKS_SUBNET_NAME}" diff --git a/azure/main.ps1 b/azure/main.ps1 index fe41b7f..0735cbb 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,7 +1,8 @@ -$version = "2018.02.07.01" +$version = "2018.02.13.01" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; +# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | pwsh -c -; Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/common.ps1 | Invoke-Expression; # Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; @@ -21,7 +22,7 @@ do { Write-Host "----- Troubleshooting ----" Write-Host "5: Show status of cluster" Write-Host "6: Launch Kubernetes Admin Dashboard" - Write-Host "7: SSH to Master VM" + Write-Host "7: Show SSH commands to VMs" Write-Host "8: View status of DNS pods" Write-Host "9: Apply updates and restart all VMs" Write-Host "------ NLP -----" @@ -114,8 +115,18 @@ do { } } '7' { - $AKS_PERS_RESOURCE_GROUP = ReadSecretValue -secretname azure-secret -valueName resourcegroup - + # $AKS_PERS_RESOURCE_GROUP = ReadSecretValue -secretname azure-secret -valueName resourcegroup + + if([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)){ + Do { + $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group" + if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) { + $AKS_PERS_RESOURCE_GROUP = $DEFAULT_RESOURCE_GROUP + } + } + while ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) + } + $AKS_PERS_LOCATION = az group show --name $AKS_PERS_RESOURCE_GROUP --query "location" -o tsv $AKS_LOCAL_FOLDER = Read-Host "Folder to store SSH keys (default: c:\kubernetes)" @@ -128,6 +139,14 @@ do { Write-Output "You can connect to master VM in Git Bash for debugging using:" Write-Output "ssh -i ${SSH_PRIVATE_KEY_FILE_UNIX_PATH} azureuser@${MASTER_VM_NAME}" + $virtualmachines = az vm list -g $AKS_PERS_RESOURCE_GROUP --query "[?storageProfile.osDisk.osType != 'Windows'].name" -o tsv + ForEach ($vm in $virtualmachines) { + $firstpublicip = az vm list-ip-addresses -g $AKS_PERS_RESOURCE_GROUP -n $vm --query "[].virtualMachine.network.publicIpAddresses[0].ipAddress" -o tsv + # $privateiplist= az vm show -g $AKS_PERS_RESOURCE_GROUP -n $vm -d --query privateIps -otsv + Write-Output "Connect to $vm" + Write-Output "ssh -i ${SSH_PRIVATE_KEY_FILE_UNIX_PATH} azureuser@${firstpublicip}" + } + Write-Output "Command to show errors: sudo journalctl -xef" Write-Output "Command to see apiserver logs: sudo journalctl -fu kube-apiserver" # systemctl list-unit-files | grep .service | grep enabled @@ -205,7 +224,7 @@ do { return } } - pause + Read-Host -Prompt "Press Enter to continue" [Console]::ResetColor() Clear-Host } diff --git a/kubernetes/setupmaster.txt b/kubernetes/setupmaster.txt index 36ea8be..a564a89 100644 --- a/kubernetes/setupmaster.txt +++ b/kubernetes/setupmaster.txt @@ -2,11 +2,11 @@ set -e # # This script is meant for quick & easy install via: -# 'curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupmaster.txt | sh' +# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupmaster.txt | sh # # -version="2018.02.06.01" +version="2018.02.13.01" echo "---- setupmaster version $version ----" u="$(whoami)" @@ -37,4 +37,17 @@ kubectl get pods -n kube-system -o wide # testing # kubectl run nginx --image=nginx --port=80 +# Register the Microsoft RedHat repository +sudo yum-config-manager \ + --add-repo \ + https://packages.microsoft.com/config/rhel/7/prod.repo + +# curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo + +# Install PowerShell +sudo yum install -y powershell + +# Start PowerShell +# pwsh + echo "---- end setupmaster version $version ----" diff --git a/kubernetes/setupnode.txt b/kubernetes/setupnode.txt index 96168bb..d3a7d4c 100644 --- a/kubernetes/setupnode.txt +++ b/kubernetes/setupnode.txt @@ -2,7 +2,7 @@ set -e # # This script is meant for quick & easy install via: -# 'curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt | sh' +# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt | sh # # From f593530f953bea9d92f6b0be18a6c9aab0f6ae62 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 13 Feb 2018 16:54:33 -0800 Subject: [PATCH 106/473] add bash scripts to setup load balancer on bare metal Signed-off-by: HQCATALYST\imran.qureshi --- .../loadbalancer}/ingress-roles.yml | 0 .../loadbalancer}/ingress.ssl.yml | 0 .../loadbalancer}/ingress.yml | 0 .../loadbalancer}/loadbalancer-public.yml | 0 .../loadbalancer}/setup-loadbalancer.ps1 | 10 ++-- kubernetes/main.sh | 53 +++++++++++++++++++ kubernetes/setup-loadbalancer.sh | 44 +++++++++++++++ 7 files changed, 102 insertions(+), 5 deletions(-) rename {azure => kubernetes/loadbalancer}/ingress-roles.yml (100%) rename {azure => kubernetes/loadbalancer}/ingress.ssl.yml (100%) rename {azure => kubernetes/loadbalancer}/ingress.yml (100%) rename {azure => kubernetes/loadbalancer}/loadbalancer-public.yml (100%) rename {azure => kubernetes/loadbalancer}/setup-loadbalancer.ps1 (98%) create mode 100644 kubernetes/main.sh create mode 100644 kubernetes/setup-loadbalancer.sh diff --git a/azure/ingress-roles.yml b/kubernetes/loadbalancer/ingress-roles.yml similarity index 100% rename from azure/ingress-roles.yml rename to kubernetes/loadbalancer/ingress-roles.yml diff --git a/azure/ingress.ssl.yml b/kubernetes/loadbalancer/ingress.ssl.yml similarity index 100% rename from azure/ingress.ssl.yml rename to kubernetes/loadbalancer/ingress.ssl.yml diff --git a/azure/ingress.yml b/kubernetes/loadbalancer/ingress.yml similarity index 100% rename from azure/ingress.yml rename to kubernetes/loadbalancer/ingress.yml diff --git a/azure/loadbalancer-public.yml b/kubernetes/loadbalancer/loadbalancer-public.yml similarity index 100% rename from azure/loadbalancer-public.yml rename to kubernetes/loadbalancer/loadbalancer-public.yml diff --git a/azure/setup-loadbalancer.ps1 b/kubernetes/loadbalancer/setup-loadbalancer.ps1 similarity index 98% rename from azure/setup-loadbalancer.ps1 rename to kubernetes/loadbalancer/setup-loadbalancer.ps1 index 54841c9..8fdfa47 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/kubernetes/loadbalancer/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.01.29.09" +Write-output "Version 2018.02.13.01" # # This script is meant for quick & easy install via: @@ -373,7 +373,7 @@ kubectl create -f "$GITHUB_URL/azure/cafe-kube-dns.yml" kubectl delete ServiceAccount traefik-ingress-controller-serviceaccount -n kube-system --ignore-not-found=true -ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "azure/ingress-roles.yml" -customerid $customerid | kubectl apply -f - +ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/ingress-roles.yml" -customerid $customerid | kubectl apply -f - if ($AKS_USE_SSL -eq "y" ) { @@ -393,12 +393,12 @@ if ($AKS_USE_SSL -eq "y" ) { Write-Output "Deploy the SSL ingress controller" # kubectl delete -f "$GITHUB_URL/azure/ingress.ssl.yml" - ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "azure/ingress.ssl.yml" -customerid $customerid | Foreach-Object {$_ -replace 'WHITELISTIP', "$AKS_IP_WHITELIST"} | kubectl create -f - + ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/ingress.ssl.yml" -customerid $customerid | Foreach-Object {$_ -replace 'WHITELISTIP', "$AKS_IP_WHITELIST"} | kubectl create -f - } else { Write-Output "Deploy the non-SSL ingress controller" # kubectl delete -f "$GITHUB_URL/azure/ingress.yml" - ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "azure/ingress.yml" -customerid $customerid | Foreach-Object {$_ -replace 'WHITELISTIP', "$AKS_IP_WHITELIST"} | kubectl create -f - + ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/ingress.yml" -customerid $customerid | Foreach-Object {$_ -replace 'WHITELISTIP', "$AKS_IP_WHITELIST"} | kubectl create -f - } if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { @@ -412,7 +412,7 @@ if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { Write-Host "Using Public IP: [$publicip]" - ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "azure/loadbalancer-public.yml" -customerid $customerid ` + ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/loadbalancer-public.yml" -customerid $customerid ` | Foreach-Object {$_ -replace 'PUBLICIP', "$publicip"} ` | kubectl create -f - diff --git a/kubernetes/main.sh b/kubernetes/main.sh new file mode 100644 index 0000000..8a8bf52 --- /dev/null +++ b/kubernetes/main.sh @@ -0,0 +1,53 @@ +#!/bin/sh +set -e +# +# This script is meant for quick & easy install via: +# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | sh +# +# +version="2018.02.13.01" + +input="" +while [ "$input" != "q" ]; do + + echo "================ Health Catalyst version $version ================" + echo "------ Install -------" + echo "1: Add this VM as Master" + echo "2: Add this VM as Worker" + echo "3: Setup Load Balancer" + echo "4: Install NLP" + echo "5: Install Realtime" + echo "----- Troubleshooting ----" + echo "5: Show status of cluster" + echo "6: Launch Kubernetes Admin Dashboard" + echo "8: View status of DNS pods" + echo "9: Apply updates and restart all VMs" + echo "------ NLP -----" + echo "10: Show status of NLP" + echo "11: Test web sites" + echo "12: Show passwords" + echo "13: Show NLP logs" + echo "14: Restart NLP" + echo "------ Realtime -----" + echo "15: Show status of realtime" + echo "-----------" + echo "q: Quit" + + read -p "Please make a selection:" -e input + + case "$input" in + 1) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt | sh + curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupmaster.txt | sh + ;; + 2) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt | sh + ;; + 3) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh | sh + ;; + q) echo "Sending SIGKILL signal" + ;; + *) echo "Signal number $1 is not processed" + ;; + esac + +read -p "Press Enter to Continue" +done diff --git a/kubernetes/setup-loadbalancer.sh b/kubernetes/setup-loadbalancer.sh new file mode 100644 index 0000000..c3a5f5d --- /dev/null +++ b/kubernetes/setup-loadbalancer.sh @@ -0,0 +1,44 @@ +#!/bin/sh +set -e +# +# This script is meant for quick & easy install via: +# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh | sh +# +GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" + +kubectl delete 'pods,services,configMaps,deployments,ingress' -l k8s-traefik=traefik -n kube-system --ignore-not-found=true + +kubectl delete ServiceAccount traefik-ingress-controller-serviceaccount -n kube-system --ignore-not-found=true + +ReadYmlAndReplaceCustomer () { + baseUrl=$1 + templateFile=$2 + customerid=$3 + + curl -sSL "$baseUrl/$templateFile" \ + | while read -r line; do echo "${line//CUSTOMERID/$customerid}"; done +} + +AKS_IP_WHITELIST="" +customerid="hcut" +dnsrecordname="$customerid.healthcatalyst.net" + +# ReadYmlAndReplaceCustomer $GITHUB_URL "azure/ingress-roles.yml" $customerid + +ReadYmlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/ingress-roles.yml" $customerid \ + | kubectl apply -f - + +ReadYmlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/ingress.yml" $customerid \ + | while read -r line; do echo "${line//WHITELISTIP/$AKS_IP_WHITELIST}"; done \ + | kubectl create -f - + +ReadYmlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/loadbalancer-public.yml" $customerid \ + | while read -r line; do echo "${line//PUBLICIP/$publicip}"; done \ + | kubectl create -f - + + +loadbalancer="traefik-ingress-service-public" + +echo "To test out the load balancer, open Git Bash and run:" +echo "curl -L --verbose --header 'Host: dashboard.$dnsrecordname' 'http://$EXTERNAL_IP/' -k" + From 104d458ac7a779680444500510781af1da543f0d Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 13 Feb 2018 17:35:41 -0800 Subject: [PATCH 107/473] fix typo in main.ps1 Signed-off-by: HQCATALYST\imran.qureshi --- azure/main.ps1 | 2 +- kubernetes/loadbalancer/ingress-roles.yml | 3 +- kubernetes/main.sh | 8 +++- kubernetes/setup-loadbalancer.sh | 8 +++- nlp/installnlpkubernetes.sh | 54 +++++++++++++++++++++++ 5 files changed, 70 insertions(+), 5 deletions(-) create mode 100644 nlp/installnlpkubernetes.sh diff --git a/azure/main.ps1 b/azure/main.ps1 index 0735cbb..b1546a4 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -228,7 +228,7 @@ do { [Console]::ResetColor() Clear-Host } -until ($input -eq 'q') +until ($input == "q") diff --git a/kubernetes/loadbalancer/ingress-roles.yml b/kubernetes/loadbalancer/ingress-roles.yml index de91a6a..a465247 100644 --- a/kubernetes/loadbalancer/ingress-roles.yml +++ b/kubernetes/loadbalancer/ingress-roles.yml @@ -128,4 +128,5 @@ roleRef: subjects: - kind: ServiceAccount name: traefik-ingress-serviceaccount - namespace: kube-system \ No newline at end of file + namespace: kube-system +--- \ No newline at end of file diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 8a8bf52..1c4041f 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -18,7 +18,7 @@ while [ "$input" != "q" ]; do echo "4: Install NLP" echo "5: Install Realtime" echo "----- Troubleshooting ----" - echo "5: Show status of cluster" + echo "6: Show status of cluster" echo "6: Launch Kubernetes Admin Dashboard" echo "8: View status of DNS pods" echo "9: Apply updates and restart all VMs" @@ -43,7 +43,11 @@ while [ "$input" != "q" ]; do ;; 3) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh | sh ;; - q) echo "Sending SIGKILL signal" + 6) echo "Current cluster: $(kubectl config current-context)" + kubectl version --short + kubectl get "deployments,pods,services,ingress,secrets" --namespace=kube-system -o wide + ;; + q) echo "Sending SIGKILL signal" ;; *) echo "Signal number $1 is not processed" ;; diff --git a/kubernetes/setup-loadbalancer.sh b/kubernetes/setup-loadbalancer.sh index c3a5f5d..91106b8 100644 --- a/kubernetes/setup-loadbalancer.sh +++ b/kubernetes/setup-loadbalancer.sh @@ -15,8 +15,14 @@ ReadYmlAndReplaceCustomer () { templateFile=$2 customerid=$3 +# have to do this to preserve the tabs in the file per https://askubuntu.com/questions/267384/using-read-without-losing-the-tab + old_IFS=$IFS # save the field separator + IFS=$'\n' # new field separator, the end of line + curl -sSL "$baseUrl/$templateFile" \ - | while read -r line; do echo "${line//CUSTOMERID/$customerid}"; done + | while read -r line || [[ -n $line ]]; do echo "${line//CUSTOMERID/$customerid}"; done + + IFS=$old_IFS # restore default field separator } AKS_IP_WHITELIST="" diff --git a/nlp/installnlpkubernetes.sh b/nlp/installnlpkubernetes.sh new file mode 100644 index 0000000..0a3d0f1 --- /dev/null +++ b/nlp/installnlpkubernetes.sh @@ -0,0 +1,54 @@ +#!/bin/sh +set -e +# +# This script is meant for quick & easy install via: +# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | sh +# +GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" + +# source <(curl -s http://mywebsite.com/myscript.txt) + +if [[ -z $(kubectl get namespace fabricnlp --ignore-not-found=true) ]]; then + echo "Creating namespace: fabricnlp" + kubectl create namespace fabricnlp +else + while read -s -p "Namespace exists. Do you want to delete passwords and ALL data stored in this namespace? (y/n)" deleteSecrets && [[ -z "$deleteSecrets" ]] ; do + echo "No-no, please, no blank passwords" + done + + if [[ $deleteSecrets == "y" ]]; then + kubectl delete secret mysqlrootpassword -n fabricnlp --ignore-not-found=true + kubectl delete secret mysqlpassword -n fabricnlp --ignore-not-found=true + kubectl delete secret smtprelaypassword -n fabricnlp --ignore-not-found=true + + fi +fi + +$customerid = ReadSecret -secretname customerid +$customerid = $customerid.ToLower().Trim() +Write-Output "Customer ID: $customerid" + +function ReadSecretValue() { + secretname=$1 + valueName=$2 + namespace=$3 + if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} + + $secretbase64 = kubectl get secret $secretname -o jsonpath="{.data.${valueName}}" -n $namespace --ignore-not-found=true + + if (![string]::IsNullOrWhiteSpace($secretbase64)) { + $secretvalue = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($secretbase64)) + return $secretvalue + } + + return ""; + +} + +function global:ReadSecret($secretname, $namespace) { + return ReadSecretValue -secretname $secretname -valueName "value" -namespace $namespace +} + +function global:ReadSecretPassword($secretname, $namespace) { + return ReadSecretValue -secretname $secretname -valueName "password" -namespace $namespace +} From c0e47d78944f91f0463f6ced03e9f26b508b0c90 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 13 Feb 2018 17:46:21 -0800 Subject: [PATCH 108/473] use $userinput instead of $input Signed-off-by: HQCATALYST\imran.qureshi --- azure/main.ps1 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/azure/main.ps1 b/azure/main.ps1 index b1546a4..d664215 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.02.13.01" +$version = "2018.02.13.02" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -35,8 +35,8 @@ do { Write-Host "15: Show status of realtime" Write-Host "-----------" Write-Host "q: Quit" - $input = Read-Host "Please make a selection" - switch ($input) { + $userinput = Read-Host "Please make a selection" + switch ($userinput) { '0' { Write-Host "Current cluster: $(kubectl config current-context)" $folders = Get-ChildItem "C:\kubernetes" -directory @@ -228,7 +228,7 @@ do { [Console]::ResetColor() Clear-Host } -until ($input == "q") +until ($userinput -eq "q") From fca07cabf78f0381dbb241bcf4b210445988dca3 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 13 Feb 2018 17:50:22 -0800 Subject: [PATCH 109/473] change do-until loop to while loop to see if powershell on linux likes it Signed-off-by: HQCATALYST\imran.qureshi --- azure/main.ps1 | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/azure/main.ps1 b/azure/main.ps1 index d664215..8b58242 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,8 +1,8 @@ -$version = "2018.02.13.02" +$version = "2018.02.13.03" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; -# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | pwsh -c -; +# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | pwsh -Interactive -NoExit -c -; Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/common.ps1 | Invoke-Expression; # Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; @@ -10,7 +10,8 @@ Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/Install # Get-Content -Path "./azure/common.ps1" | Invoke-Expression; -do { +$userinput="" +while ($userinput -ne "q") { Write-Host "================ Health Catalyst version $version, common functions $(GetCommonVersion) ================" Write-Host "----- Choose Cluster -----" Write-Host "0: Change kube to point to another cluster" @@ -228,7 +229,7 @@ do { [Console]::ResetColor() Clear-Host } -until ($userinput -eq "q") + From 9376252b38b9790406b5a1030ddec4d5e4d70012 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 13 Feb 2018 19:15:49 -0800 Subject: [PATCH 110/473] add bash scripts for installing nlp Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/common.sh | 147 +++++++++++++++++++++++++++++++ kubernetes/main.sh | 9 +- kubernetes/setup-loadbalancer.sh | 23 ++--- nlp/installnlpkubernetes.sh | 86 +++++++++++++----- 4 files changed, 224 insertions(+), 41 deletions(-) create mode 100644 kubernetes/common.sh diff --git a/kubernetes/common.sh b/kubernetes/common.sh new file mode 100644 index 0000000..2feac88 --- /dev/null +++ b/kubernetes/common.sh @@ -0,0 +1,147 @@ + +versioncommon="2018.02.12.01" + +echo "Including common.ps1 version $versioncommon" +function GetCommonVersion() { + echo $versioncommon +} + +ReplaceText(){ + local currentText=$1 + local replacementText=$2 + +# have to do this to preserve the tabs in the file per https://askubuntu.com/questions/267384/using-read-without-losing-the-tab + old_IFS=$IFS # save the field separator + IFS=$'\n' # new field separator, the end of line + + while read -r line || [[ -n $line ]]; do echo "${line//$1/$2}"; done + + IFS=$old_IFS # restore default field separator +} + +ReadYmlAndReplaceCustomer () { + local baseUrl=$1 + local templateFile=$2 + local customerid=$3 + + curl -sSL "$baseUrl/$templateFile" \ + | ReplaceText CUSTOMERID $customerid + +} + +function ReadSecretValue() { + local secretname=$1 + local valueName=$2 + local namespace=$3 + if [[ -z "$namespace" ]]; then + namespace="default" + fi + + secretbase64=$(kubectl get secret $secretname -o jsonpath="{.data.${valueName}}" -n $namespace --ignore-not-found=true) + + if [[ ! -z "$secretbase64" ]]; then + secretvalue=$(echo $secretbase64 | base64 --decode) + echo $secretvalue + return + else + echo ""; + fi +} + +function ReadSecret() { + local secretname=$1 + local namespace=$2 + ReadSecretValue $secretname "value" $namespace +} + +function ReadSecretPassword() { + local secretname=$1 + local namespace=$2 + + return ReadSecretValue $secretname "password" $namespace +} + +function SaveSecretValue() { + local secretname=$1 + local valueName=$2 + local myvalue=$3 + local namespace=$4 + + # secretname must be lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character + if [[ -z "$namespace" ]]; then + namespace="default" + fi + + if [[ ! -z "$(kubectl get secret $secretname -n $namespace -o jsonpath='{.data}' --ignore-not-found=true)" ]]; then + kubectl delete secret $secretname -n $namespace + fi + + kubectl create secret generic $secretname --namespace=$namespace --from-literal=${valueName}=$myvalue +} + +function GeneratePassword() { + local Length=3 + local set1="abcdefghijklmnopqrstuvwxyz" + local set2="0123456789" + local set3="ABCDEFGHIJKLMNOPQRSTUVWXYZ" + local set4='!.*@' + local result="" + + # bash loops: https://www.cyberciti.biz/faq/bash-for-loop/ + for (( c=1; c<$Length; c++ )) + do + result="${result}${set1:RANDOM%${#set1}:1}" + result="${result}${set2:RANDOM%${#set2}:1}" + result="${result}${set3:RANDOM%${#set3}:1}" + result="${result}${set4:RANDOM%${#set4}:1}" + done + echo $result +} + + +function AskForPassword () { + local secretname=$1 + local prompt=$2 + local namespace=$3 + + if [[ -z "$namespace" ]]; then + namespace="default" + fi + + if [[ -z "$(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.password}' --ignore-not-found=true)" ]]; then + mysqlrootpassword="" + # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html + # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script + read -s -p "$prompt (leave empty for auto-generated)" mysqlrootpasswordsecure + if [[ -z "$mysqlrootpasswordsecure" ]]; then + mysqlrootpassword="$(GeneratePassword)" + fi + kubectl create secret generic $secretname --namespace=$namespace --from-literal=password=$mysqlrootpassword + else + Write-Output "$secretname secret already set so will reuse it" + fi +} + +function AskForPasswordAnyCharacters ($secretname, $prompt, $namespace, $defaultvalue) { + local secretname=$1 + local prompt=$2 + local namespace=$3 + local defaultvalue=$4 + + if [[ -z "$namespace" ]]; then + namespace="default" + fi + + if [[ -z "$(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.password}' --ignore-not-found=true)" ]]; then + mysqlrootpassword="" + # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html + # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script + read -s -p "$prompt (leave empty for auto-generated)" mysqlrootpasswordsecure + if [[ -z "$mysqlrootpasswordsecure" ]]; then + mysqlrootpassword="$defaultvalue" + fi + kubectl create secret generic $secretname --namespace=$namespace --from-literal=password=$mysqlrootpassword + else + Write-Output "$secretname secret already set so will reuse it" + fi +} diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 1c4041f..9dedf41 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -7,10 +7,15 @@ set -e # version="2018.02.13.01" +GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" + +source <(curl -s $GITHUB_URL/kubernetes/common.sh) +# source ./kubernetes/common.sh + input="" while [ "$input" != "q" ]; do - echo "================ Health Catalyst version $version ================" + echo "================ Health Catalyst version $version, common functions $(GetCommonVersion) ================" echo "------ Install -------" echo "1: Add this VM as Master" echo "2: Add this VM as Worker" @@ -43,6 +48,8 @@ while [ "$input" != "q" ]; do ;; 3) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh | sh ;; + 4) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | sh + ;; 6) echo "Current cluster: $(kubectl config current-context)" kubectl version --short kubectl get "deployments,pods,services,ingress,secrets" --namespace=kube-system -o wide diff --git a/kubernetes/setup-loadbalancer.sh b/kubernetes/setup-loadbalancer.sh index 91106b8..cbb7a14 100644 --- a/kubernetes/setup-loadbalancer.sh +++ b/kubernetes/setup-loadbalancer.sh @@ -6,24 +6,13 @@ set -e # GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -kubectl delete 'pods,services,configMaps,deployments,ingress' -l k8s-traefik=traefik -n kube-system --ignore-not-found=true - -kubectl delete ServiceAccount traefik-ingress-controller-serviceaccount -n kube-system --ignore-not-found=true +source <(curl -s $GITHUB_URL/kubernetes/common.sh) +# source ./kubernetes/common.sh -ReadYmlAndReplaceCustomer () { - baseUrl=$1 - templateFile=$2 - customerid=$3 -# have to do this to preserve the tabs in the file per https://askubuntu.com/questions/267384/using-read-without-losing-the-tab - old_IFS=$IFS # save the field separator - IFS=$'\n' # new field separator, the end of line - - curl -sSL "$baseUrl/$templateFile" \ - | while read -r line || [[ -n $line ]]; do echo "${line//CUSTOMERID/$customerid}"; done +kubectl delete 'pods,services,configMaps,deployments,ingress' -l k8s-traefik=traefik -n kube-system --ignore-not-found=true - IFS=$old_IFS # restore default field separator -} +kubectl delete ServiceAccount traefik-ingress-controller-serviceaccount -n kube-system --ignore-not-found=true AKS_IP_WHITELIST="" customerid="hcut" @@ -35,11 +24,11 @@ ReadYmlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/ingress-roles.yml | kubectl apply -f - ReadYmlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/ingress.yml" $customerid \ - | while read -r line; do echo "${line//WHITELISTIP/$AKS_IP_WHITELIST}"; done \ + | ReplaceText WHITELISTIP $AKS_IP_WHITELIST | kubectl create -f - ReadYmlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/loadbalancer-public.yml" $customerid \ - | while read -r line; do echo "${line//PUBLICIP/$publicip}"; done \ + | ReplaceText PUBLICIP $publicip | kubectl create -f - diff --git a/nlp/installnlpkubernetes.sh b/nlp/installnlpkubernetes.sh index 0a3d0f1..68f14b8 100644 --- a/nlp/installnlpkubernetes.sh +++ b/nlp/installnlpkubernetes.sh @@ -5,8 +5,12 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | sh # GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" +version="2018.02.13.01" -# source <(curl -s http://mywebsite.com/myscript.txt) +echo "---- installnlpkubernetes.sh version $version ------" + +source <(curl -s $GITHUB_URL/kubernetes/common.sh) +# source ./kubernetes/common.sh if [[ -z $(kubectl get namespace fabricnlp --ignore-not-found=true) ]]; then echo "Creating namespace: fabricnlp" @@ -17,38 +21,74 @@ else done if [[ $deleteSecrets == "y" ]]; then + echo "Deleting passwords" kubectl delete secret mysqlrootpassword -n fabricnlp --ignore-not-found=true kubectl delete secret mysqlpassword -n fabricnlp --ignore-not-found=true kubectl delete secret smtprelaypassword -n fabricnlp --ignore-not-found=true - fi fi -$customerid = ReadSecret -secretname customerid +$customerid = ReadSecret customerid $customerid = $customerid.ToLower().Trim() -Write-Output "Customer ID: $customerid" +echo "Customer ID: $customerid" + +AskForPassword "mysqlrootpassword" "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" "fabricnlp" +# MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html +# we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script + +AskForPassword "mysqlpassword" "MySQL NLP_APP_USER password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" "fabricnlp" + +AskForPasswordAnyCharacters "smtprelaypassword" "SMTP (SendGrid) Relay Key" "fabricnlp" "" + +echo "Cleaning out any old resources in fabricnlp" + +# note kubectl doesn't like spaces in between commas below +kubectl delete --all 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes,jobs,cronjobs' --namespace=fabricnlp --ignore-not-found=true + +echo "Waiting until all the resources are cleared up" + +CLEANUP_DONE="n" +while [[ ! -z "$CLEANUP_DONE" ]]; then + CLEANUP_DONE=$(kubectl get 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes' --namespace=fabricnlp) +fi + +ReadYmlAndReplaceCustomer $GITHUB_URL "nlp/nlp-kubernetes-storage.yml" $customerid | kubectl create -f - -function ReadSecretValue() { - secretname=$1 - valueName=$2 - namespace=$3 - if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} +ReadYmlAndReplaceCustomer $GITHUB_URL "nlp/nlp-kubernetes.yml" $customerid | kubectl create -f - - $secretbase64 = kubectl get secret $secretname -o jsonpath="{.data.${valueName}}" -n $namespace --ignore-not-found=true +ReadYmlAndReplaceCustomer $GITHUB_URL "nlp/nlp-kubernetes-public.yml" $customerid | kubectl create -f - - if (![string]::IsNullOrWhiteSpace($secretbase64)) { - $secretvalue = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($secretbase64)) - return $secretvalue - } - - return ""; +ReadYmlAndReplaceCustomer $GITHUB_URL "nlp/nlp-mysql-private.yml" $customerid | kubectl create -f - + +ReadYmlAndReplaceCustomer $GITHUB_URL "nlp/nlp-backups-cronjob.yml" $customerid | kubectl create -f - + +echo "Setting up reverse proxy" + +ingressTemplate="nlp/nlp-ingress.yml" +echo "Using template: $ingressTemplate" + +ReadYmlAndReplaceCustomer $GITHUB_URL $ingressTemplate $customerid | kubectl create -f - + +kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide + +# to get a shell +# kubectl exec -it fabric.nlp.nlpwebserver-85c8cb86b5-gkphh bash --namespace=fabricnlp + +# kubectl create secret generic azure-secret --namespace=fabricnlp --from-literal=azurestorageaccountname="fabricnlp7storage" --from-literal=azurestorageaccountkey="/bYhXNstTodg3MdOvTMog/vDLSFrQDpxG/Zgkp2MlnjtOWhDBNQ2xOs6zjRoZYNjmJHya34MfzqdfOwXkMDN2A==" + +loadBalancerIP=$(kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' --ignore-not-found=true) +if [[ -z $loadBalancerIP ]]; then + loadBalancerIP=$(kubectl get svc traefik-ingress-service-private -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}') +fi -} +echo "To test out the NLP services, open Git Bash and run:" +echo "curl -L --verbose --header 'Host: solr.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/solr' -k" +echo "curl -L --verbose --header 'Host: nlp.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/nlpweb' -k" +echo "curl -L --verbose --header 'Host: nlpjobs.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/nlp' -k" -function global:ReadSecret($secretname, $namespace) { - return ReadSecretValue -secretname $secretname -valueName "value" -namespace $namespace -} +echo "If you didn't setup DNS, add the following entries in your c:\windows\system32\drivers\etc\hosts file to access the urls from your browser" +echo "$loadBalancerIP solr.$customerid.healthcatalyst.net" +echo "$loadBalancerIP nlp.$customerid.healthcatalyst.net" +echo "$loadBalancerIP nlpjobs.$customerid.healthcatalyst.net" -function global:ReadSecretPassword($secretname, $namespace) { - return ReadSecretValue -secretname $secretname -valueName "password" -namespace $namespace -} +echo "---- end of installnlpkubernetes.sh version $version ------" From e473f026989daf89d04e9871eaa6beeea776b588 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 13 Feb 2018 19:28:10 -0800 Subject: [PATCH 111/473] change source command to see if it works Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/common.sh | 4 ++-- kubernetes/main.sh | 6 ++++-- kubernetes/setup-loadbalancer.sh | 2 +- nlp/installnlpkubernetes.sh | 5 +++-- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/kubernetes/common.sh b/kubernetes/common.sh index 2feac88..0a4d959 100644 --- a/kubernetes/common.sh +++ b/kubernetes/common.sh @@ -1,5 +1,5 @@ -versioncommon="2018.02.12.01" +versioncommon="2018.02.13.01" echo "Including common.ps1 version $versioncommon" function GetCommonVersion() { @@ -122,7 +122,7 @@ function AskForPassword () { fi } -function AskForPasswordAnyCharacters ($secretname, $prompt, $namespace, $defaultvalue) { +function AskForPasswordAnyCharacters () { local secretname=$1 local prompt=$2 local namespace=$3 diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 9dedf41..48bca14 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,13 +5,15 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | sh # # -version="2018.02.13.01" +version="2018.02.13.02" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -source <(curl -s $GITHUB_URL/kubernetes/common.sh) +source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh") # source ./kubernetes/common.sh +GetCommonVersion + input="" while [ "$input" != "q" ]; do diff --git a/kubernetes/setup-loadbalancer.sh b/kubernetes/setup-loadbalancer.sh index cbb7a14..06fae0d 100644 --- a/kubernetes/setup-loadbalancer.sh +++ b/kubernetes/setup-loadbalancer.sh @@ -6,7 +6,7 @@ set -e # GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -source <(curl -s $GITHUB_URL/kubernetes/common.sh) +source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh") # source ./kubernetes/common.sh diff --git a/nlp/installnlpkubernetes.sh b/nlp/installnlpkubernetes.sh index 68f14b8..ccc33ce 100644 --- a/nlp/installnlpkubernetes.sh +++ b/nlp/installnlpkubernetes.sh @@ -5,11 +5,12 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | sh # GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -version="2018.02.13.01" +version="2018.02.13.02" echo "---- installnlpkubernetes.sh version $version ------" -source <(curl -s $GITHUB_URL/kubernetes/common.sh) +source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh") + # source ./kubernetes/common.sh if [[ -z $(kubectl get namespace fabricnlp --ignore-not-found=true) ]]; then From 15be3d9da7a789043536e2020dcf268dd6c9d01d Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 13 Feb 2018 20:05:32 -0800 Subject: [PATCH 112/473] specify /bin/bash instead of /bin/sh Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 2 +- kubernetes/setup-loadbalancer.sh | 2 +- nlp/installnlpkubernetes.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 48bca14..ff8f427 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash set -e # # This script is meant for quick & easy install via: diff --git a/kubernetes/setup-loadbalancer.sh b/kubernetes/setup-loadbalancer.sh index 06fae0d..92b8692 100644 --- a/kubernetes/setup-loadbalancer.sh +++ b/kubernetes/setup-loadbalancer.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash set -e # # This script is meant for quick & easy install via: diff --git a/nlp/installnlpkubernetes.sh b/nlp/installnlpkubernetes.sh index ccc33ce..06644b0 100644 --- a/nlp/installnlpkubernetes.sh +++ b/nlp/installnlpkubernetes.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash set -e # # This script is meant for quick & easy install via: From 68e323a50a3269574d6484af88d686dd58a5cffe Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 13 Feb 2018 20:07:20 -0800 Subject: [PATCH 113/473] increment version Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 2 +- nlp/installnlpkubernetes.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index ff8f427..30850ca 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | sh # # -version="2018.02.13.02" +version="2018.02.13.03" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" diff --git a/nlp/installnlpkubernetes.sh b/nlp/installnlpkubernetes.sh index 06644b0..f0351a1 100644 --- a/nlp/installnlpkubernetes.sh +++ b/nlp/installnlpkubernetes.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | sh # GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -version="2018.02.13.02" +version="2018.02.13.03" echo "---- installnlpkubernetes.sh version $version ------" From 6dafc5ba0c888ee96b772463a8b9e72fe15e1760 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 13 Feb 2018 20:15:20 -0800 Subject: [PATCH 114/473] fix error on reading secret Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 20 ++++++++++---------- kubernetes/setup-loadbalancer.sh | 2 +- nlp/installnlpkubernetes.sh | 10 +++++----- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 30850ca..f401814 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -2,10 +2,10 @@ set -e # # This script is meant for quick & easy install via: -# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | sh +# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.02.13.03" +version="2018.02.13.04" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -15,7 +15,7 @@ source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh") GetCommonVersion input="" -while [ "$input" != "q" ]; do +while [[ "$input" != "q" ]]; do echo "================ Health Catalyst version $version, common functions $(GetCommonVersion) ================" echo "------ Install -------" @@ -40,17 +40,17 @@ while [ "$input" != "q" ]; do echo "-----------" echo "q: Quit" - read -p "Please make a selection:" -e input + read -p "Please make a selection:" -e input < /dev/tty case "$input" in - 1) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt | sh - curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupmaster.txt | sh + 1) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt | bash + curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupmaster.txt | bash ;; - 2) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt | sh + 2) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt | bash ;; - 3) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh | sh + 3) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh | bash ;; - 4) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | sh + 4) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | bash ;; 6) echo "Current cluster: $(kubectl config current-context)" kubectl version --short @@ -62,5 +62,5 @@ while [ "$input" != "q" ]; do ;; esac -read -p "Press Enter to Continue" +read -p "Press Enter to Continue" < /dev/tty done diff --git a/kubernetes/setup-loadbalancer.sh b/kubernetes/setup-loadbalancer.sh index 92b8692..1bc3975 100644 --- a/kubernetes/setup-loadbalancer.sh +++ b/kubernetes/setup-loadbalancer.sh @@ -2,7 +2,7 @@ set -e # # This script is meant for quick & easy install via: -# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh | sh +# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh | bash # GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" diff --git a/nlp/installnlpkubernetes.sh b/nlp/installnlpkubernetes.sh index f0351a1..8477fc2 100644 --- a/nlp/installnlpkubernetes.sh +++ b/nlp/installnlpkubernetes.sh @@ -2,10 +2,10 @@ set -e # # This script is meant for quick & easy install via: -# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | sh +# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | bash # GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -version="2018.02.13.03" +version="2018.02.13.04" echo "---- installnlpkubernetes.sh version $version ------" @@ -17,7 +17,7 @@ if [[ -z $(kubectl get namespace fabricnlp --ignore-not-found=true) ]]; then echo "Creating namespace: fabricnlp" kubectl create namespace fabricnlp else - while read -s -p "Namespace exists. Do you want to delete passwords and ALL data stored in this namespace? (y/n)" deleteSecrets && [[ -z "$deleteSecrets" ]] ; do + while read -s -p "Namespace exists. Do you want to delete passwords and ALL data stored in this namespace? (y/n)" deleteSecrets < /dev/tty && [[ -z "$deleteSecrets" ]] ; do echo "No-no, please, no blank passwords" done @@ -29,8 +29,8 @@ else fi fi -$customerid = ReadSecret customerid -$customerid = $customerid.ToLower().Trim() +customerid="$(ReadSecret customerid)" +customerid="${customerid,,}" echo "Customer ID: $customerid" AskForPassword "mysqlrootpassword" "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" "fabricnlp" From 8dfacbbd3879de693b4abefd8a33a5c7b75d603d Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 13 Feb 2018 20:25:40 -0800 Subject: [PATCH 115/473] read from /dev/tty Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/common.sh | 20 +++++++++++++++----- kubernetes/main.sh | 13 ++++++++++++- nlp/installnlpkubernetes.sh | 6 +++--- 3 files changed, 30 insertions(+), 9 deletions(-) diff --git a/kubernetes/common.sh b/kubernetes/common.sh index 0a4d959..0c13951 100644 --- a/kubernetes/common.sh +++ b/kubernetes/common.sh @@ -1,12 +1,22 @@ -versioncommon="2018.02.13.01" +versioncommon="2018.02.13.02" echo "Including common.ps1 version $versioncommon" function GetCommonVersion() { echo $versioncommon } -ReplaceText(){ +function Write-Output() +{ + echo $1 +} + +function Write-Host() +{ + echo $1 +} + +function ReplaceText(){ local currentText=$1 local replacementText=$2 @@ -19,7 +29,7 @@ ReplaceText(){ IFS=$old_IFS # restore default field separator } -ReadYmlAndReplaceCustomer () { +function ReadYmlAndReplaceCustomer () { local baseUrl=$1 local templateFile=$2 local customerid=$3 @@ -112,7 +122,7 @@ function AskForPassword () { mysqlrootpassword="" # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script - read -s -p "$prompt (leave empty for auto-generated)" mysqlrootpasswordsecure + read -s -p "$prompt (leave empty for auto-generated)" mysqlrootpasswordsecure < /dev/tty if [[ -z "$mysqlrootpasswordsecure" ]]; then mysqlrootpassword="$(GeneratePassword)" fi @@ -136,7 +146,7 @@ function AskForPasswordAnyCharacters () { mysqlrootpassword="" # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script - read -s -p "$prompt (leave empty for auto-generated)" mysqlrootpasswordsecure + read -s -p "$prompt (leave empty for auto-generated)" mysqlrootpasswordsecure < /dev/tty if [[ -z "$mysqlrootpasswordsecure" ]]; then mysqlrootpassword="$defaultvalue" fi diff --git a/kubernetes/main.sh b/kubernetes/main.sh index f401814..43446fa 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.02.13.04" +version="2018.02.13.05" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -56,6 +56,17 @@ while [[ "$input" != "q" ]]; do kubectl version --short kubectl get "deployments,pods,services,ingress,secrets" --namespace=kube-system -o wide ;; + 12) Write-Host "MySql root password: $(ReadSecretPassword mysqlrootpassword fabricnlp)" + Write-Host "MySql NLP_APP_USER password: $(ReadSecretPassword mysqlpassword fabricnlp)" + Write-Host "SendGrid SMTP Relay key: $(ReadSecretPassword smtprelaypassword fabricnlp)" + ;; + 13) pods=$(kubectl get pods -n fabricnlp -o jsonpath='{.items[*].metadata.name}') + for pod in $pods + do + Write-Output "=============== Pod: $pod =================" + kubectl logs --tail=20 $pod -n fabricnlp + done + ;; q) echo "Sending SIGKILL signal" ;; *) echo "Signal number $1 is not processed" diff --git a/nlp/installnlpkubernetes.sh b/nlp/installnlpkubernetes.sh index 8477fc2..03ceffe 100644 --- a/nlp/installnlpkubernetes.sh +++ b/nlp/installnlpkubernetes.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | bash # GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -version="2018.02.13.04" +version="2018.02.13.05" echo "---- installnlpkubernetes.sh version $version ------" @@ -49,9 +49,9 @@ kubectl delete --all 'deployments,pods,services,ingress,persistentvolumeclaims,p echo "Waiting until all the resources are cleared up" CLEANUP_DONE="n" -while [[ ! -z "$CLEANUP_DONE" ]]; then +while [[ ! -z "$CLEANUP_DONE" ]]; do CLEANUP_DONE=$(kubectl get 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes' --namespace=fabricnlp) -fi +done ReadYmlAndReplaceCustomer $GITHUB_URL "nlp/nlp-kubernetes-storage.yml" $customerid | kubectl create -f - From dfad0743cee5c564888b82e902c4adb9deeac683 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 13 Feb 2018 20:46:27 -0800 Subject: [PATCH 116/473] fix bug in creating secrets Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/common.sh | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/kubernetes/common.sh b/kubernetes/common.sh index 0c13951..5845201 100644 --- a/kubernetes/common.sh +++ b/kubernetes/common.sh @@ -1,5 +1,5 @@ -versioncommon="2018.02.13.02" +versioncommon="2018.02.13.03" echo "Including common.ps1 version $versioncommon" function GetCommonVersion() { @@ -108,7 +108,6 @@ function GeneratePassword() { echo $result } - function AskForPassword () { local secretname=$1 local prompt=$2 @@ -122,11 +121,14 @@ function AskForPassword () { mysqlrootpassword="" # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script - read -s -p "$prompt (leave empty for auto-generated)" mysqlrootpasswordsecure < /dev/tty - if [[ -z "$mysqlrootpasswordsecure" ]]; then - mysqlrootpassword="$(GeneratePassword)" + read -s -p "$prompt (leave empty for auto-generated)" mypasswordsecure < /dev/tty + if [[ -z "$mypasswordsecure" ]]; then + mypassword="$(GeneratePassword)" + else + mypassword=$mypasswordsecure fi - kubectl create secret generic $secretname --namespace=$namespace --from-literal=password=$mysqlrootpassword + + kubectl create secret generic $secretname --namespace=$namespace --from-literal=password=$mypassword else Write-Output "$secretname secret already set so will reuse it" fi @@ -146,11 +148,13 @@ function AskForPasswordAnyCharacters () { mysqlrootpassword="" # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script - read -s -p "$prompt (leave empty for auto-generated)" mysqlrootpasswordsecure < /dev/tty - if [[ -z "$mysqlrootpasswordsecure" ]]; then - mysqlrootpassword="$defaultvalue" + read -s -p "$prompt (leave empty for auto-generated)" mypasswordsecure < /dev/tty + if [[ -z "$mypasswordsecure" ]]; then + mypassword="$defaultvalue" + else + mypassword=$mypasswordsecure fi - kubectl create secret generic $secretname --namespace=$namespace --from-literal=password=$mysqlrootpassword + kubectl create secret generic $secretname --namespace=$namespace --from-literal=password=$mypassword else Write-Output "$secretname secret already set so will reuse it" fi From be239db3c4415c968a44dbb07497bd0b6d3a1928 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 13 Feb 2018 21:08:10 -0800 Subject: [PATCH 117/473] remove return statements Signed-off-by: HQCATALYST\imran.qureshi --- {kubernetes/loadbalancer => azure}/setup-loadbalancer.ps1 | 0 kubernetes/common.sh | 5 ++--- kubernetes/main.sh | 4 +++- kubernetes/setup-loadbalancer.sh | 7 +++++++ nlp/installnlpkubernetes.sh | 3 +++ 5 files changed, 15 insertions(+), 4 deletions(-) rename {kubernetes/loadbalancer => azure}/setup-loadbalancer.ps1 (100%) diff --git a/kubernetes/loadbalancer/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 similarity index 100% rename from kubernetes/loadbalancer/setup-loadbalancer.ps1 rename to azure/setup-loadbalancer.ps1 diff --git a/kubernetes/common.sh b/kubernetes/common.sh index 5845201..c74f165 100644 --- a/kubernetes/common.sh +++ b/kubernetes/common.sh @@ -1,5 +1,5 @@ -versioncommon="2018.02.13.03" +versioncommon="2018.02.13.05" echo "Including common.ps1 version $versioncommon" function GetCommonVersion() { @@ -52,7 +52,6 @@ function ReadSecretValue() { if [[ ! -z "$secretbase64" ]]; then secretvalue=$(echo $secretbase64 | base64 --decode) echo $secretvalue - return else echo ""; fi @@ -68,7 +67,7 @@ function ReadSecretPassword() { local secretname=$1 local namespace=$2 - return ReadSecretValue $secretname "password" $namespace + ReadSecretValue $secretname "password" $namespace } function SaveSecretValue() { diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 43446fa..39c0c38 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.02.13.05" +version="2018.02.13.06" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -56,6 +56,8 @@ while [[ "$input" != "q" ]]; do kubectl version --short kubectl get "deployments,pods,services,ingress,secrets" --namespace=kube-system -o wide ;; + 10) kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide + ;; 12) Write-Host "MySql root password: $(ReadSecretPassword mysqlrootpassword fabricnlp)" Write-Host "MySql NLP_APP_USER password: $(ReadSecretPassword mysqlpassword fabricnlp)" Write-Host "SendGrid SMTP Relay key: $(ReadSecretPassword smtprelaypassword fabricnlp)" diff --git a/kubernetes/setup-loadbalancer.sh b/kubernetes/setup-loadbalancer.sh index 1bc3975..b540a34 100644 --- a/kubernetes/setup-loadbalancer.sh +++ b/kubernetes/setup-loadbalancer.sh @@ -9,6 +9,10 @@ GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/mast source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh") # source ./kubernetes/common.sh +version="2018.02.13.05" + +echo "---- setup-loadbalancer.sh version $version ------" + kubectl delete 'pods,services,configMaps,deployments,ingress' -l k8s-traefik=traefik -n kube-system --ignore-not-found=true @@ -18,6 +22,8 @@ AKS_IP_WHITELIST="" customerid="hcut" dnsrecordname="$customerid.healthcatalyst.net" +SaveSecretValue customerid "value" $customerid + # ReadYmlAndReplaceCustomer $GITHUB_URL "azure/ingress-roles.yml" $customerid ReadYmlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/ingress-roles.yml" $customerid \ @@ -37,3 +43,4 @@ loadbalancer="traefik-ingress-service-public" echo "To test out the load balancer, open Git Bash and run:" echo "curl -L --verbose --header 'Host: dashboard.$dnsrecordname' 'http://$EXTERNAL_IP/' -k" +echo "---- end of setup-loadbalancer.sh version $version ------" \ No newline at end of file diff --git a/nlp/installnlpkubernetes.sh b/nlp/installnlpkubernetes.sh index 03ceffe..cd0410b 100644 --- a/nlp/installnlpkubernetes.sh +++ b/nlp/installnlpkubernetes.sh @@ -30,6 +30,9 @@ else fi customerid="$(ReadSecret customerid)" +if [[ -z "$customerid" ]]; then + +fi customerid="${customerid,,}" echo "Customer ID: $customerid" From b5e26a366101041d84e4f70110b3f53bef1be261 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 13 Feb 2018 21:10:05 -0800 Subject: [PATCH 118/473] fix typo Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/setup-loadbalancer.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kubernetes/setup-loadbalancer.sh b/kubernetes/setup-loadbalancer.sh index b540a34..b3133ee 100644 --- a/kubernetes/setup-loadbalancer.sh +++ b/kubernetes/setup-loadbalancer.sh @@ -9,7 +9,7 @@ GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/mast source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh") # source ./kubernetes/common.sh -version="2018.02.13.05" +version="2018.02.13.06" echo "---- setup-loadbalancer.sh version $version ------" @@ -30,11 +30,11 @@ ReadYmlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/ingress-roles.yml | kubectl apply -f - ReadYmlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/ingress.yml" $customerid \ - | ReplaceText WHITELISTIP $AKS_IP_WHITELIST + | ReplaceText WHITELISTIP $AKS_IP_WHITELIST \ | kubectl create -f - ReadYmlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/loadbalancer-public.yml" $customerid \ - | ReplaceText PUBLICIP $publicip + | ReplaceText PUBLICIP $publicip \ | kubectl create -f - From 30847b9a7e78495fac04d4aec611d9d9d6b27608 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 13 Feb 2018 21:12:13 -0800 Subject: [PATCH 119/473] set publicip Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/setup-loadbalancer.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kubernetes/setup-loadbalancer.sh b/kubernetes/setup-loadbalancer.sh index b3133ee..fc2d8f5 100644 --- a/kubernetes/setup-loadbalancer.sh +++ b/kubernetes/setup-loadbalancer.sh @@ -9,16 +9,16 @@ GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/mast source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh") # source ./kubernetes/common.sh -version="2018.02.13.06" +version="2018.02.13.07" echo "---- setup-loadbalancer.sh version $version ------" - kubectl delete 'pods,services,configMaps,deployments,ingress' -l k8s-traefik=traefik -n kube-system --ignore-not-found=true kubectl delete ServiceAccount traefik-ingress-controller-serviceaccount -n kube-system --ignore-not-found=true AKS_IP_WHITELIST="" +publicip="" customerid="hcut" dnsrecordname="$customerid.healthcatalyst.net" From eb6b8c67232a1a7d14937b3ca8b843df93891f35 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 14 Feb 2018 15:08:17 -0800 Subject: [PATCH 120/473] add a yml for using hostport for ingress for on-premise Signed-off-by: HQCATALYST\imran.qureshi --- azure/setup-loadbalancer.ps1 | 4 +- .../loadbalancer/ingress-deployment-azure.yml | 41 ++++++++++++++++++ .../ingress-deployment-onprem.yml | 42 +++++++++++++++++++ kubernetes/loadbalancer/ingress.yml | 41 ------------------ kubernetes/setup-loadbalancer.sh | 6 +-- 5 files changed, 88 insertions(+), 46 deletions(-) create mode 100644 kubernetes/loadbalancer/ingress-deployment-azure.yml create mode 100644 kubernetes/loadbalancer/ingress-deployment-onprem.yml diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index 8fdfa47..b1c8ce5 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.02.13.01" +Write-output "Version 2018.02.14.01" # # This script is meant for quick & easy install via: @@ -401,6 +401,8 @@ else { ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/ingress.yml" -customerid $customerid | Foreach-Object {$_ -replace 'WHITELISTIP', "$AKS_IP_WHITELIST"} | kubectl create -f - } +ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/ingress-deployment-azure.yml" -customerid $customerid | kubectl apply -f - + if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { Write-Output "Setting up a public load balancer" diff --git a/kubernetes/loadbalancer/ingress-deployment-azure.yml b/kubernetes/loadbalancer/ingress-deployment-azure.yml new file mode 100644 index 0000000..e9c2e4f --- /dev/null +++ b/kubernetes/loadbalancer/ingress-deployment-azure.yml @@ -0,0 +1,41 @@ +kind: Deployment +apiVersion: extensions/v1beta1 +metadata: + name: traefik-ingress-controller + namespace: kube-system + labels: + k8s-app: traefik-ingress-lb + k8s-traefik: traefik +spec: + replicas: 1 + selector: + matchLabels: + k8s-app: traefik-ingress-lb + template: + metadata: + labels: + k8s-app: traefik-ingress-lb + name: traefik-ingress-lb + spec: + serviceAccountName: traefik-ingress-serviceaccount + terminationGracePeriodSeconds: 60 + volumes: + - name: config + configMap: + name: traefik-conf + containers: + - image: traefik + name: traefik-ingress-lb + volumeMounts: + - mountPath: "/config" + name: "config" + ports: + - containerPort: 80 + - containerPort: 443 + - containerPort: 8080 + args: + - --web + - --kubernetes + - --configfile=/config/traefik.toml + - --logLevel=INFO +--- diff --git a/kubernetes/loadbalancer/ingress-deployment-onprem.yml b/kubernetes/loadbalancer/ingress-deployment-onprem.yml new file mode 100644 index 0000000..ffc21be --- /dev/null +++ b/kubernetes/loadbalancer/ingress-deployment-onprem.yml @@ -0,0 +1,42 @@ +kind: Deployment +apiVersion: extensions/v1beta1 +metadata: + name: traefik-ingress-controller + namespace: kube-system + labels: + k8s-app: traefik-ingress-lb + k8s-traefik: traefik +spec: + replicas: 1 + selector: + matchLabels: + k8s-app: traefik-ingress-lb + template: + metadata: + labels: + k8s-app: traefik-ingress-lb + name: traefik-ingress-lb + spec: + serviceAccountName: traefik-ingress-serviceaccount + terminationGracePeriodSeconds: 60 + volumes: + - name: config + configMap: + name: traefik-conf + containers: + - image: traefik + name: traefik-ingress-lb + volumeMounts: + - mountPath: "/config" + name: "config" + ports: + - containerPort: 80 + hostPort: 80 + - containerPort: 443 + hostPort: 443 + args: + - --web + - --kubernetes + - --configfile=/config/traefik.toml + - --logLevel=INFO +--- diff --git a/kubernetes/loadbalancer/ingress.yml b/kubernetes/loadbalancer/ingress.yml index 7ad0d31..663069b 100644 --- a/kubernetes/loadbalancer/ingress.yml +++ b/kubernetes/loadbalancer/ingress.yml @@ -17,47 +17,6 @@ data: [entryPoints.http] address = ":80" --- -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: - name: traefik-ingress-controller - namespace: kube-system - labels: - k8s-app: traefik-ingress-lb - k8s-traefik: traefik -spec: - replicas: 1 - selector: - matchLabels: - k8s-app: traefik-ingress-lb - template: - metadata: - labels: - k8s-app: traefik-ingress-lb - name: traefik-ingress-lb - spec: - serviceAccountName: traefik-ingress-serviceaccount - terminationGracePeriodSeconds: 60 - volumes: - - name: config - configMap: - name: traefik-conf - containers: - - image: traefik - name: traefik-ingress-lb - volumeMounts: - - mountPath: "/config" - name: "config" - ports: - - containerPort: 80 - - containerPort: 443 - - containerPort: 8080 - args: - - --web - - --kubernetes - - --configfile=/config/traefik.toml - - --logLevel=INFO ---- apiVersion: v1 kind: Service metadata: diff --git a/kubernetes/setup-loadbalancer.sh b/kubernetes/setup-loadbalancer.sh index fc2d8f5..8a0cd72 100644 --- a/kubernetes/setup-loadbalancer.sh +++ b/kubernetes/setup-loadbalancer.sh @@ -9,7 +9,7 @@ GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/mast source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh") # source ./kubernetes/common.sh -version="2018.02.13.07" +version="2018.02.14.01" echo "---- setup-loadbalancer.sh version $version ------" @@ -33,11 +33,9 @@ ReadYmlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/ingress.yml" $cus | ReplaceText WHITELISTIP $AKS_IP_WHITELIST \ | kubectl create -f - -ReadYmlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/loadbalancer-public.yml" $customerid \ - | ReplaceText PUBLICIP $publicip \ +ReadYmlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/ingress-deployment-onprem.yml" $customerid \ | kubectl create -f - - loadbalancer="traefik-ingress-service-public" echo "To test out the load balancer, open Git Bash and run:" From 4d6ff058da0afff2fc82221cf2ffe7f14495cc02 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 14 Feb 2018 15:18:36 -0800 Subject: [PATCH 121/473] specify traefik ingress to run on master Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/loadbalancer/ingress-deployment-onprem.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/kubernetes/loadbalancer/ingress-deployment-onprem.yml b/kubernetes/loadbalancer/ingress-deployment-onprem.yml index ffc21be..31faf4b 100644 --- a/kubernetes/loadbalancer/ingress-deployment-onprem.yml +++ b/kubernetes/loadbalancer/ingress-deployment-onprem.yml @@ -17,6 +17,10 @@ spec: k8s-app: traefik-ingress-lb name: traefik-ingress-lb spec: + # run on master node so we use the IP of the master + # https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ + nodeSelector: + dedicated: master serviceAccountName: traefik-ingress-serviceaccount terminationGracePeriodSeconds: 60 volumes: @@ -31,6 +35,7 @@ spec: name: "config" ports: - containerPort: 80 + # set hostPort so the ingress shows up on the master node's IP hostPort: 80 - containerPort: 443 hostPort: 443 From d586fc7aacb3e04698d909b9f44dd29c4338e84b Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 14 Feb 2018 15:21:48 -0800 Subject: [PATCH 122/473] add toleration to allow ingress to run on master Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/loadbalancer/ingress-deployment-onprem.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/kubernetes/loadbalancer/ingress-deployment-onprem.yml b/kubernetes/loadbalancer/ingress-deployment-onprem.yml index 31faf4b..20a8bc3 100644 --- a/kubernetes/loadbalancer/ingress-deployment-onprem.yml +++ b/kubernetes/loadbalancer/ingress-deployment-onprem.yml @@ -20,7 +20,13 @@ spec: # run on master node so we use the IP of the master # https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ nodeSelector: - dedicated: master + dedicated: master + # https://stackoverflow.com/questions/41999756/how-to-force-pods-deployments-to-master-nodes + tolerations: + key: dedicated + operator: Equal + value: master + effect: NoSchedule serviceAccountName: traefik-ingress-serviceaccount terminationGracePeriodSeconds: 60 volumes: From afd0bf32d10e912c399275790c0a1c4520e87142 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 14 Feb 2018 15:29:52 -0800 Subject: [PATCH 123/473] fix typo on ingress yml Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/loadbalancer/ingress-deployment-onprem.yml | 3 ++- kubernetes/setup-loadbalancer.sh | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/kubernetes/loadbalancer/ingress-deployment-onprem.yml b/kubernetes/loadbalancer/ingress-deployment-onprem.yml index 20a8bc3..96a509b 100644 --- a/kubernetes/loadbalancer/ingress-deployment-onprem.yml +++ b/kubernetes/loadbalancer/ingress-deployment-onprem.yml @@ -22,8 +22,9 @@ spec: nodeSelector: dedicated: master # https://stackoverflow.com/questions/41999756/how-to-force-pods-deployments-to-master-nodes + # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ tolerations: - key: dedicated + - key: dedicated operator: Equal value: master effect: NoSchedule diff --git a/kubernetes/setup-loadbalancer.sh b/kubernetes/setup-loadbalancer.sh index 8a0cd72..2bb378e 100644 --- a/kubernetes/setup-loadbalancer.sh +++ b/kubernetes/setup-loadbalancer.sh @@ -13,6 +13,9 @@ version="2018.02.14.01" echo "---- setup-loadbalancer.sh version $version ------" +# enable running pods on master +# kubectl taint node mymasternode node-role.kubernetes.io/master:NoSchedule + kubectl delete 'pods,services,configMaps,deployments,ingress' -l k8s-traefik=traefik -n kube-system --ignore-not-found=true kubectl delete ServiceAccount traefik-ingress-controller-serviceaccount -n kube-system --ignore-not-found=true From cabe2a193d83b47f9ac480c28af40ee05bd8f1cf Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 14 Feb 2018 15:42:27 -0800 Subject: [PATCH 124/473] try a different way to tolerate taint Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/loadbalancer/ingress-deployment-onprem.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kubernetes/loadbalancer/ingress-deployment-onprem.yml b/kubernetes/loadbalancer/ingress-deployment-onprem.yml index 96a509b..56c57d1 100644 --- a/kubernetes/loadbalancer/ingress-deployment-onprem.yml +++ b/kubernetes/loadbalancer/ingress-deployment-onprem.yml @@ -27,7 +27,9 @@ spec: - key: dedicated operator: Equal value: master - effect: NoSchedule + effect: NoSchedule + - key: node-role.kubernetes.io/master + effect: NoSchedule serviceAccountName: traefik-ingress-serviceaccount terminationGracePeriodSeconds: 60 volumes: From d4a0fde38c904f89369c4755a5be5da57946feb4 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 14 Feb 2018 15:45:14 -0800 Subject: [PATCH 125/473] try a different nodeselector Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/loadbalancer/ingress-deployment-onprem.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubernetes/loadbalancer/ingress-deployment-onprem.yml b/kubernetes/loadbalancer/ingress-deployment-onprem.yml index 56c57d1..5e8ab7c 100644 --- a/kubernetes/loadbalancer/ingress-deployment-onprem.yml +++ b/kubernetes/loadbalancer/ingress-deployment-onprem.yml @@ -20,7 +20,7 @@ spec: # run on master node so we use the IP of the master # https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ nodeSelector: - dedicated: master + node-role.kubernetes.io/master: # https://stackoverflow.com/questions/41999756/how-to-force-pods-deployments-to-master-nodes # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ tolerations: From 9ffa60735845f51d38bbdbb616df4f16b0204ddb Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 14 Feb 2018 15:50:54 -0800 Subject: [PATCH 126/473] put empty string Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/loadbalancer/ingress-deployment-onprem.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubernetes/loadbalancer/ingress-deployment-onprem.yml b/kubernetes/loadbalancer/ingress-deployment-onprem.yml index 5e8ab7c..08c7062 100644 --- a/kubernetes/loadbalancer/ingress-deployment-onprem.yml +++ b/kubernetes/loadbalancer/ingress-deployment-onprem.yml @@ -20,7 +20,7 @@ spec: # run on master node so we use the IP of the master # https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ nodeSelector: - node-role.kubernetes.io/master: + node-role.kubernetes.io/master: "" # https://stackoverflow.com/questions/41999756/how-to-force-pods-deployments-to-master-nodes # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ tolerations: From d10fbc912feeba967b7e8bac092d23a45cc5b27f Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 14 Feb 2018 15:57:29 -0800 Subject: [PATCH 127/473] try a differnt taint Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/loadbalancer/ingress-deployment-onprem.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/kubernetes/loadbalancer/ingress-deployment-onprem.yml b/kubernetes/loadbalancer/ingress-deployment-onprem.yml index 08c7062..40f8dd2 100644 --- a/kubernetes/loadbalancer/ingress-deployment-onprem.yml +++ b/kubernetes/loadbalancer/ingress-deployment-onprem.yml @@ -19,16 +19,14 @@ spec: spec: # run on master node so we use the IP of the master # https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ + # https://ekartco.com/2017/09/kubernetes-make-pods-run-on-your-master-nodes/ nodeSelector: node-role.kubernetes.io/master: "" # https://stackoverflow.com/questions/41999756/how-to-force-pods-deployments-to-master-nodes # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ tolerations: - - key: dedicated - operator: Equal - value: master - effect: NoSchedule - key: node-role.kubernetes.io/master + operator: Exists effect: NoSchedule serviceAccountName: traefik-ingress-serviceaccount terminationGracePeriodSeconds: 60 From 7a7efd6f059e7453d2fea9eb114bad49b6d2b844 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 14 Feb 2018 16:07:18 -0800 Subject: [PATCH 128/473] use hostnetwork since hostPort does not work with CNI plugins Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/loadbalancer/ingress-deployment-onprem.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/kubernetes/loadbalancer/ingress-deployment-onprem.yml b/kubernetes/loadbalancer/ingress-deployment-onprem.yml index 40f8dd2..3555428 100644 --- a/kubernetes/loadbalancer/ingress-deployment-onprem.yml +++ b/kubernetes/loadbalancer/ingress-deployment-onprem.yml @@ -17,6 +17,8 @@ spec: k8s-app: traefik-ingress-lb name: traefik-ingress-lb spec: + # hostPort is broken on CNI (https://github.com/kubernetes/kubernetes/issues/31307) we have to use hostNetwork where CNI is used + hostNetwork: true # run on master node so we use the IP of the master # https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ # https://ekartco.com/2017/09/kubernetes-make-pods-run-on-your-master-nodes/ @@ -42,10 +44,7 @@ spec: name: "config" ports: - containerPort: 80 - # set hostPort so the ingress shows up on the master node's IP - hostPort: 80 - containerPort: 443 - hostPort: 443 args: - --web - --kubernetes From 9f2284155d6340724d38d7a59db4262076edebd6 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 14 Feb 2018 16:38:38 -0800 Subject: [PATCH 129/473] create a onprem storage for NLP Signed-off-by: HQCATALYST\imran.qureshi --- azure/create-bare-metal.ps1 | 53 +++++++- nlp/installnlpkubernetes.sh | 4 +- nlp/nlp-kubernetes-storage-onprem.yml | 179 ++++++++++++++++++++++++++ 3 files changed, 228 insertions(+), 8 deletions(-) create mode 100644 nlp/nlp-kubernetes-storage-onprem.yml diff --git a/azure/create-bare-metal.ps1 b/azure/create-bare-metal.ps1 index b389baf..a651bdd 100644 --- a/azure/create-bare-metal.ps1 +++ b/azure/create-bare-metal.ps1 @@ -1,4 +1,4 @@ -Write-output "--- create-bare-metal Version 2018.02.07.01 ----" +Write-output "--- create-bare-metal Version 2018.02.14.01 ----" # # This script is meant for quick & easy install via: @@ -7,8 +7,8 @@ Write-output "--- create-bare-metal Version 2018.02.07.01 ----" $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" # $GITHUB_URL = "C:\Catalyst\git\Installscripts" -# Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/common.ps1 | Invoke-Expression; -Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; +Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/common.ps1 | Invoke-Expression; +# Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; $AKS_PERS_RESOURCE_GROUP = "" $AKS_PERS_LOCATION = "" @@ -203,7 +203,48 @@ az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $NETWORK_SECUR --destination-address-prefixes '*' --destination-port-ranges 3389 --access Allow ` --protocol Tcp --description "allow RDP access." ` --query "provisioningState" -o tsv - + +if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "HttpPort" --nsg-name $NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { + Write-Output "Creating rule: HttpPort" + az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $NETWORK_SECURITY_GROUP -n HttpPort --priority 500 ` + --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges 80 --access Allow ` + --protocol Tcp --description "allow HTTP access from $sourceTagForHttpAccess." ` + --query "provisioningState" -o tsv +} +else { + Write-Output "Updating rule: HttpPort" + az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $NETWORK_SECURITY_GROUP -n HttpPort --priority 500 ` + --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges 80 --access Allow ` + --protocol Tcp --description "allow HTTP access from $sourceTagForHttpAccess." ` + --query "provisioningState" -o tsv +} + +if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "HttpsPort" --nsg-name $NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { + Write-Output "Creating rule: HttpsPort" + az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $NETWORK_SECURITY_GROUP -n HttpsPort --priority 501 ` + --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` + --protocol Tcp --description "allow HTTPS access from $sourceTagForHttpAccess." ` + --query "provisioningState" -o tsv +} +else { + Write-Output "Updating rule: HttpsPort" + az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $NETWORK_SECURITY_GROUP -n HttpsPort --priority 501 ` + --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` + --protocol Tcp --description "allow HTTPS access from $sourceTagForHttpAccess." ` + --query "provisioningState" -o tsv +} + +$nsgid = az network nsg list --resource-group ${AKS_PERS_RESOURCE_GROUP} --query "[?name == '${NETWORK_SECURITY_GROUP}'].id" -o tsv +Write-Output "Found ID for ${AKS_PERS_NETWORK_SECURITY_GROUP}: $nsgid" + +Write-Output "Setting NSG into subnet" +az network vnet subnet update -n "${AKS_SUBNET_NAME}" -g "${AKS_SUBNET_RESOURCE_GROUP}" --vnet-name "${AKS_VNET_NAME}" --network-security-group "$nsgid" --query "provisioningState" -o tsv + + Write-Output "Creating master" $PUBLIC_IP_NAME = "${MASTER_VM_NAME}PublicIP" $ip = az network public-ip create --name $PUBLIC_IP_NAME ` @@ -262,8 +303,8 @@ az network nic create ` # Update for your admin password $AdminPassword = "ChangeYourAdminPassword1" -$urn="MicrosoftWindowsServer:WindowsServerSemiAnnual:Datacenter-Core-1709-with-Containers-smalldisk:1709.0.20171012" -$urn="Win2016Datacenter" +$urn = "MicrosoftWindowsServer:WindowsServerSemiAnnual:Datacenter-Core-1709-with-Containers-smalldisk:1709.0.20171012" +$urn = "Win2016Datacenter" az vm create --resource-group $AKS_PERS_RESOURCE_GROUP --name $vm ` --image "$urn" ` --size Standard_DS2_v2 ` diff --git a/nlp/installnlpkubernetes.sh b/nlp/installnlpkubernetes.sh index cd0410b..051fd63 100644 --- a/nlp/installnlpkubernetes.sh +++ b/nlp/installnlpkubernetes.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | bash # GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -version="2018.02.13.05" +version="2018.02.14.01" echo "---- installnlpkubernetes.sh version $version ------" @@ -56,7 +56,7 @@ while [[ ! -z "$CLEANUP_DONE" ]]; do CLEANUP_DONE=$(kubectl get 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes' --namespace=fabricnlp) done -ReadYmlAndReplaceCustomer $GITHUB_URL "nlp/nlp-kubernetes-storage.yml" $customerid | kubectl create -f - +ReadYmlAndReplaceCustomer $GITHUB_URL "nlp/nlp-kubernetes-storage-onprem.yml" $customerid | kubectl create -f - ReadYmlAndReplaceCustomer $GITHUB_URL "nlp/nlp-kubernetes.yml" $customerid | kubectl create -f - diff --git a/nlp/nlp-kubernetes-storage-onprem.yml b/nlp/nlp-kubernetes-storage-onprem.yml new file mode 100644 index 0000000..621dab8 --- /dev/null +++ b/nlp/nlp-kubernetes-storage-onprem.yml @@ -0,0 +1,179 @@ +# define persistent volumes +# ----- MySql ---------- +# Persistent Volume +apiVersion: v1 +kind: PersistentVolume +metadata: + name: azure-file-volume-mysql + namespace: fabricnlp +spec: + storageClassName: default + capacity: + storage: 128Gi + # https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes + accessModes: + - ReadWriteOnce + hostPath: + path: "/mnt/data" + mountOptions: + # we need to set owner of this to mysql user (999) so it has permissions to this folder + - uid=999 + - gid=999 + # and set permissions for the user to this folder + # 0 no permissions + # 1 execute + # 2 write + # 3 write & execute + # 4 read + # 5 read & execute + # 6 read & write + # 7 read write & execute + # in 0731 0 is ignore, the 7 applies to owner, 3 applies to group, 1 applies to everyone else + - dir_mode=0731 + - file_mode=0764 + claimRef: + namespace: fabricnlp + name: az-files-mysql +--- +# Persistent Volume Claim +# claims have to be defined here otherwise when we remove the pods the volume goes into Released mode +# and we can't bind to that volume again until we delete the volume +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: az-files-mysql + namespace: fabricnlp +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 128Gi +--- +# ---- Solr ------ +# volume for solr +apiVersion: v1 +kind: PersistentVolume +metadata: + name: azure-file-volume-solr + namespace: fabricnlp +spec: + #persistentVolumeReclaimPolicy: Delete + capacity: + storage: 128Gi + storageClassName: default + accessModes: + - ReadWriteOnce + hostPath: + path: "/mnt/data" + mountOptions: + - dir_mode=0731 + - file_mode=0724 + - uid=1000 + - gid=1000 + claimRef: + namespace: fabricnlp + name: az-files-solr +--- +# Persistent Volume Claim +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: az-files-solr + namespace: fabricnlp +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 128Gi +--- + +# ----- NLP Jobs ------- +# volume for nlp jobs +apiVersion: v1 +kind: PersistentVolume +metadata: + name: azure-file-volume-jobs + namespace: fabricnlp +spec: + capacity: + storage: 32Gi + storageClassName: default + accessModes: + - ReadWriteOnce + hostPath: + path: "/mnt/data" + mountOptions: + - dir_mode=0731 + - file_mode=0724 + - uid=1000 + - gid=1000 + claimRef: + namespace: fabricnlp + name: az-files-jobs +--- +# Persistent Volume Claim +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: az-files-jobs + namespace: fabricnlp +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 32Gi +--- +# ----- MySql Backup ---------- +# Persistent Volume +apiVersion: v1 +kind: PersistentVolume +metadata: + name: azure-file-volume-mysql-backup + namespace: fabricnlp +spec: + storageClassName: default + capacity: + storage: 128Gi + # https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes + accessModes: + - ReadWriteOnce + hostPath: + path: "/mnt/data" + mountOptions: + # we need to set owner of this to mysql user (999) so it has permissions to this folder + - uid=999 + - gid=999 + # and set permissions for the user to this folder + # 0 no permissions + # 1 execute + # 2 write + # 3 write & execute + # 4 read + # 5 read & execute + # 6 read & write + # 7 read write & execute + # in 0731 0 is ignore, the 7 applies to owner, 3 applies to group, 1 applies to everyone else + - dir_mode=0731 + - file_mode=0764 + claimRef: + namespace: fabricnlp + name: az-files-mysql-backup +--- +# Persistent Volume Claim +# claims have to be defined here otherwise when we remove the pods the volume goes into Released mode +# and we can't bind to that volume again until we delete the volume +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: az-files-mysql-backup + namespace: fabricnlp +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 128Gi +--- From d3a08ade8ed34c0e8f27364441fc3ef0691a6610 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 14 Feb 2018 16:41:43 -0800 Subject: [PATCH 130/473] fix typo Signed-off-by: HQCATALYST\imran.qureshi --- nlp/installnlpkubernetes.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nlp/installnlpkubernetes.sh b/nlp/installnlpkubernetes.sh index 051fd63..9240440 100644 --- a/nlp/installnlpkubernetes.sh +++ b/nlp/installnlpkubernetes.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | bash # GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -version="2018.02.14.01" +version="2018.02.14.02" echo "---- installnlpkubernetes.sh version $version ------" @@ -31,7 +31,7 @@ fi customerid="$(ReadSecret customerid)" if [[ -z "$customerid" ]]; then - + echo "customerid not set" fi customerid="${customerid,,}" echo "Customer ID: $customerid" From 694aee27c6164552de6360e0757a903f3b93eee0 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 14 Feb 2018 16:53:56 -0800 Subject: [PATCH 131/473] fix reading input Signed-off-by: HQCATALYST\imran.qureshi --- nlp/installnlpkubernetes.sh | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/nlp/installnlpkubernetes.sh b/nlp/installnlpkubernetes.sh index 9240440..7772ac7 100644 --- a/nlp/installnlpkubernetes.sh +++ b/nlp/installnlpkubernetes.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | bash # GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -version="2018.02.14.02" +version="2018.02.14.03" echo "---- installnlpkubernetes.sh version $version ------" @@ -17,8 +17,11 @@ if [[ -z $(kubectl get namespace fabricnlp --ignore-not-found=true) ]]; then echo "Creating namespace: fabricnlp" kubectl create namespace fabricnlp else - while read -s -p "Namespace exists. Do you want to delete passwords and ALL data stored in this namespace? (y/n)" deleteSecrets < /dev/tty && [[ -z "$deleteSecrets" ]] ; do - echo "No-no, please, no blank passwords" + while : ; do + read -p "Namespace exists. Do you want to delete passwords and ALL data stored in this namespace? (y/n): " deleteSecrets < /dev/tty + if [[ ! -z "$deleteSecrets" ]]; then + break + fi done if [[ $deleteSecrets == "y" ]]; then From 697858086cf607e388036e5a9ffa1279cfd63f1f Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 14 Feb 2018 17:02:13 -0800 Subject: [PATCH 132/473] set storageclass Signed-off-by: HQCATALYST\imran.qureshi --- nlp/nlp-kubernetes-storage-onprem.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nlp/nlp-kubernetes-storage-onprem.yml b/nlp/nlp-kubernetes-storage-onprem.yml index 621dab8..5c9ce32 100644 --- a/nlp/nlp-kubernetes-storage-onprem.yml +++ b/nlp/nlp-kubernetes-storage-onprem.yml @@ -46,6 +46,7 @@ metadata: spec: accessModes: - ReadWriteMany + storageClassName: default resources: requests: storage: 128Gi @@ -84,6 +85,7 @@ metadata: spec: accessModes: - ReadWriteMany + storageClassName: default resources: requests: storage: 128Gi @@ -122,6 +124,7 @@ metadata: spec: accessModes: - ReadWriteMany + storageClassName: default resources: requests: storage: 32Gi @@ -173,6 +176,7 @@ metadata: spec: accessModes: - ReadWriteMany + storageClassName: default resources: requests: storage: 128Gi From 3c19dc80839c3a6fddc869ee975df6b24e491240 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 14 Feb 2018 17:05:20 -0800 Subject: [PATCH 133/473] remove storageclass from onprem storage Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/common.sh | 4 +++- nlp/nlp-kubernetes-storage-onprem.yml | 8 -------- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/kubernetes/common.sh b/kubernetes/common.sh index c74f165..5b9ce3f 100644 --- a/kubernetes/common.sh +++ b/kubernetes/common.sh @@ -1,5 +1,5 @@ -versioncommon="2018.02.13.05" +versioncommon="2018.02.14.01" echo "Including common.ps1 version $versioncommon" function GetCommonVersion() { @@ -121,6 +121,7 @@ function AskForPassword () { # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script read -s -p "$prompt (leave empty for auto-generated)" mypasswordsecure < /dev/tty + echo "" # to get a new line if [[ -z "$mypasswordsecure" ]]; then mypassword="$(GeneratePassword)" else @@ -148,6 +149,7 @@ function AskForPasswordAnyCharacters () { # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script read -s -p "$prompt (leave empty for auto-generated)" mypasswordsecure < /dev/tty + echo "" # to get a new line if [[ -z "$mypasswordsecure" ]]; then mypassword="$defaultvalue" else diff --git a/nlp/nlp-kubernetes-storage-onprem.yml b/nlp/nlp-kubernetes-storage-onprem.yml index 5c9ce32..2de1120 100644 --- a/nlp/nlp-kubernetes-storage-onprem.yml +++ b/nlp/nlp-kubernetes-storage-onprem.yml @@ -7,7 +7,6 @@ metadata: name: azure-file-volume-mysql namespace: fabricnlp spec: - storageClassName: default capacity: storage: 128Gi # https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes @@ -46,7 +45,6 @@ metadata: spec: accessModes: - ReadWriteMany - storageClassName: default resources: requests: storage: 128Gi @@ -62,7 +60,6 @@ spec: #persistentVolumeReclaimPolicy: Delete capacity: storage: 128Gi - storageClassName: default accessModes: - ReadWriteOnce hostPath: @@ -85,7 +82,6 @@ metadata: spec: accessModes: - ReadWriteMany - storageClassName: default resources: requests: storage: 128Gi @@ -101,7 +97,6 @@ metadata: spec: capacity: storage: 32Gi - storageClassName: default accessModes: - ReadWriteOnce hostPath: @@ -124,7 +119,6 @@ metadata: spec: accessModes: - ReadWriteMany - storageClassName: default resources: requests: storage: 32Gi @@ -137,7 +131,6 @@ metadata: name: azure-file-volume-mysql-backup namespace: fabricnlp spec: - storageClassName: default capacity: storage: 128Gi # https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes @@ -176,7 +169,6 @@ metadata: spec: accessModes: - ReadWriteMany - storageClassName: default resources: requests: storage: 128Gi From 20237d0e277528ffacdd92ca7d89664484ed9be4 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 14 Feb 2018 17:07:50 -0800 Subject: [PATCH 134/473] increment version Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/common.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubernetes/common.sh b/kubernetes/common.sh index 5b9ce3f..6060712 100644 --- a/kubernetes/common.sh +++ b/kubernetes/common.sh @@ -1,5 +1,5 @@ -versioncommon="2018.02.14.01" +versioncommon="2018.02.14.02" echo "Including common.ps1 version $versioncommon" function GetCommonVersion() { From 6f264465262ba7c0d011db71b331d85a2bc0999f Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 14 Feb 2018 17:11:48 -0800 Subject: [PATCH 135/473] set storageClassName to empty Signed-off-by: HQCATALYST\imran.qureshi --- nlp/nlp-kubernetes-storage-onprem.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/nlp/nlp-kubernetes-storage-onprem.yml b/nlp/nlp-kubernetes-storage-onprem.yml index 2de1120..9caac09 100644 --- a/nlp/nlp-kubernetes-storage-onprem.yml +++ b/nlp/nlp-kubernetes-storage-onprem.yml @@ -45,6 +45,8 @@ metadata: spec: accessModes: - ReadWriteMany + # no storageClassName is different than empty: https://kubernetes.io/docs/concepts/storage/persistent-volumes/#types-of-persistent-volumes + storageClassName: "" resources: requests: storage: 128Gi @@ -82,6 +84,7 @@ metadata: spec: accessModes: - ReadWriteMany + storageClassName: "" resources: requests: storage: 128Gi @@ -119,6 +122,7 @@ metadata: spec: accessModes: - ReadWriteMany + storageClassName: "" resources: requests: storage: 32Gi @@ -169,6 +173,7 @@ metadata: spec: accessModes: - ReadWriteMany + storageClassName: "" resources: requests: storage: 128Gi From dc62d5128f4d1d6dc792ebf39035cc7531d9ca86 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 14 Feb 2018 19:07:42 -0800 Subject: [PATCH 136/473] fix nlp onprem storage yml Signed-off-by: HQCATALYST\imran.qureshi --- nlp/nlp-kubernetes-storage-onprem.yml | 50 +++++++++++++++------------ 1 file changed, 28 insertions(+), 22 deletions(-) diff --git a/nlp/nlp-kubernetes-storage-onprem.yml b/nlp/nlp-kubernetes-storage-onprem.yml index 9caac09..e1d6fbb 100644 --- a/nlp/nlp-kubernetes-storage-onprem.yml +++ b/nlp/nlp-kubernetes-storage-onprem.yml @@ -1,17 +1,19 @@ # define persistent volumes # ----- MySql ---------- # Persistent Volume -apiVersion: v1 kind: PersistentVolume +apiVersion: v1 metadata: name: azure-file-volume-mysql namespace: fabricnlp + labels: + type: local spec: + storageClassName: manual capacity: - storage: 128Gi - # https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes + storage: 5Gi accessModes: - - ReadWriteOnce + - ReadWriteMany hostPath: path: "/mnt/data" mountOptions: @@ -41,29 +43,31 @@ kind: PersistentVolumeClaim apiVersion: v1 metadata: name: az-files-mysql - namespace: fabricnlp + namespace: fabricnlp spec: + storageClassName: manual accessModes: - ReadWriteMany - # no storageClassName is different than empty: https://kubernetes.io/docs/concepts/storage/persistent-volumes/#types-of-persistent-volumes - storageClassName: "" resources: requests: - storage: 128Gi ---- + storage: 5Gi +--- # ---- Solr ------ # volume for solr apiVersion: v1 kind: PersistentVolume metadata: name: azure-file-volume-solr - namespace: fabricnlp + namespace: fabricnlp + labels: + type: local spec: #persistentVolumeReclaimPolicy: Delete + storageClassName: manual capacity: - storage: 128Gi + storage: 5Gi accessModes: - - ReadWriteOnce + - ReadWriteMany hostPath: path: "/mnt/data" mountOptions: @@ -84,10 +88,10 @@ metadata: spec: accessModes: - ReadWriteMany - storageClassName: "" + storageClassName: manual resources: requests: - storage: 128Gi + storage: 5Gi --- # ----- NLP Jobs ------- @@ -98,10 +102,11 @@ metadata: name: azure-file-volume-jobs namespace: fabricnlp spec: + storageClassName: manual capacity: - storage: 32Gi + storage: 5Gi accessModes: - - ReadWriteOnce + - ReadWriteMany hostPath: path: "/mnt/data" mountOptions: @@ -122,10 +127,10 @@ metadata: spec: accessModes: - ReadWriteMany - storageClassName: "" + storageClassName: manual resources: requests: - storage: 32Gi + storage: 5Gi --- # ----- MySql Backup ---------- # Persistent Volume @@ -135,11 +140,12 @@ metadata: name: azure-file-volume-mysql-backup namespace: fabricnlp spec: + storageClassName: manual capacity: - storage: 128Gi + storage: 5Gi # https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes accessModes: - - ReadWriteOnce + - ReadWriteMany hostPath: path: "/mnt/data" mountOptions: @@ -173,8 +179,8 @@ metadata: spec: accessModes: - ReadWriteMany - storageClassName: "" + storageClassName: manual resources: requests: - storage: 128Gi + storage: 5Gi --- From 11d164c6e164b489c397672f3c3c55d368be80ee Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 14 Feb 2018 19:35:03 -0800 Subject: [PATCH 137/473] split common.ps1 into two: azure and kube Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 211 +++++++++-------------------------- azure/create-acs-cluster.ps1 | 41 +------ azure/create-bare-metal.ps1 | 5 +- kubernetes/common-kube.ps1 | 167 +++++++++++++++++++++++++++ 4 files changed, 227 insertions(+), 197 deletions(-) create mode 100644 kubernetes/common-kube.ps1 diff --git a/azure/common.ps1 b/azure/common.ps1 index e1b1458..b6e4064 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,25 +1,19 @@ -$versioncommon = "2018.02.12.01" +# This file contains common functions for Azure +# +$versioncommon = "2018.02.14.01" Write-Host "Including common.ps1 version $versioncommon" function global:GetCommonVersion() { return $versioncommon } -function global:Test-CommandExists { - Param ($command) - # from https://blogs.technet.microsoft.com/heyscriptingguy/2013/02/19/use-a-powershell-function-to-see-if-a-command-exists/ - $oldPreference = $ErrorActionPreference - $ErrorActionPreference = 'stop' - try {if (Get-Command $command) {RETURN $true}} - Catch {Write-Host "$command does not exist"; RETURN $false} - Finally {$ErrorActionPreference = $oldPreference} -} #end function test-CommandExists +$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" +# $GITHUB_URL = "C:\Catalyst\git\Installscripts" -function global:CreateShare($resourceGroup, $sharename, $deleteExisting) { - $AKS_PERS_STORAGE_ACCOUNT_NAME_BASE64 = kubectl get secret azure-secret -o jsonpath='{.data.azurestorageaccountname}' - $AKS_PERS_STORAGE_ACCOUNT_NAME = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($AKS_PERS_STORAGE_ACCOUNT_NAME_BASE64)) - - $AZURE_STORAGE_CONNECTION_STRING = az storage account show-connection-string -n $AKS_PERS_STORAGE_ACCOUNT_NAME -g $resourceGroup -o tsv +Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1 | Invoke-Expression; + +function global:CreateShareInStorageAccount($storageAccountName, $resourceGroup, $sharename, $deleteExisting) { + $AZURE_STORAGE_CONNECTION_STRING = az storage account show-connection-string -n $storageAccountName -g $resourceGroup -o tsv if ($deleteExisting) { if ($(az storage share exists -n $sharename --connection-string $AZURE_STORAGE_CONNECTION_STRING --query "exists" -o tsv)) { @@ -45,134 +39,12 @@ function global:CreateShare($resourceGroup, $sharename, $deleteExisting) { Write-Output "File share already exists: $sharename" } } - -function global:ReadSecretValue($secretname, $valueName, $namespace) { - if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} - - $secretbase64 = kubectl get secret $secretname -o jsonpath="{.data.${valueName}}" -n $namespace --ignore-not-found=true - - if (![string]::IsNullOrWhiteSpace($secretbase64)) { - $secretvalue = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($secretbase64)) - return $secretvalue - } - - return ""; - -} - -function global:ReadSecret($secretname, $namespace) { - return ReadSecretValue -secretname $secretname -valueName "value" -namespace $namespace -} - -function global:ReadSecretPassword($secretname, $namespace) { - return ReadSecretValue -secretname $secretname -valueName "password" -namespace $namespace -} - -function global:GeneratePassword() { - $Length = 3 - $set1 = "abcdefghijklmnopqrstuvwxyz".ToCharArray() - $set2 = "0123456789".ToCharArray() - $set3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".ToCharArray() - $set4 = "!.*@".ToCharArray() - $result = "" - for ($x = 0; $x -lt $Length; $x++) { - $result += $set1 | Get-Random - $result += $set2 | Get-Random - $result += $set3 | Get-Random - $result += $set4 | Get-Random - } - return $result -} - -function global:SaveSecretValue($secretname, $valueName, $value, $namespace) { - # secretname must be lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character - if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} - - if (![string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data}' --ignore-not-found=true))) { - kubectl delete secret $secretname -n $namespace - } - - kubectl create secret generic $secretname --namespace=$namespace --from-literal=${valueName}=$value -} - -function global:AskForPassword ($secretname, $prompt, $namespace) { - if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} - if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.password}' --ignore-not-found=true))) { - - $mysqlrootpassword = "" - # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html - # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script - Do { - $mysqlrootpasswordsecure = Read-host "$prompt (leave empty for auto-generated)" -AsSecureString - if ($mysqlrootpasswordsecure.Length -lt 1) { - $mysqlrootpassword = GeneratePassword - } - else { - $mysqlrootpassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($mysqlrootpasswordsecure)) - } - } - while (($mysqlrootpassword -notmatch "^[a-z0-9!.*@\s]+$") -or ($mysqlrootpassword.Length -lt 8 )) - kubectl create secret generic $secretname --namespace=$namespace --from-literal=password=$mysqlrootpassword - } - else { - Write-Output "$secretname secret already set so will reuse it" - } -} - -function global:AskForPasswordAnyCharacters ($secretname, $prompt, $namespace, $defaultvalue) { - if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} - if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.password}' --ignore-not-found=true))) { - - $mysqlrootpassword = "" - # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html - # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script - Do { - $mysqlrootpasswordsecure = Read-host "$prompt (leave empty for default)" -AsSecureString - if ($mysqlrootpasswordsecure.Length -lt 1) { - $mysqlrootpassword = $defaultvalue - } - else { - $mysqlrootpassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($mysqlrootpasswordsecure)) - } - } - while (($mysqlrootpassword.Length -lt 8 ) -and (!("$mysqlrootpassword" -eq "$defaultvalue"))) - kubectl create secret generic $secretname --namespace=$namespace --from-literal=password=$mysqlrootpassword - } - else { - Write-Output "$secretname secret already set so will reuse it" - } -} - -function global:AskForSecretValue ($secretname, $prompt, $namespace) { - if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} - if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.value}' --ignore-not-found=true))) { - - $certhostname = "" - Do { - $certhostname = Read-host "$prompt" - } - while ($certhostname.Length -lt 1 ) +function global:CreateShare($resourceGroup, $sharename, $deleteExisting) { + $storageAccountName = ReadSecretValue -secretname azure-secret -valueName azurestorageaccountname - kubectl create secret generic $secretname --namespace=$namespace --from-literal=value=$certhostname - } - else { - Write-Output "$secretname secret already set so will reuse it" - } + CreateShareInStorageAccount -storageAccountName $storageAccountName -resourceGroup $resourceGroup -sharename $sharename -deleteExisting $deleteExisting } -function global:ReadYmlAndReplaceCustomer($baseUrl, $templateFile, $customerid ) { - if ($baseUrl.StartsWith("http")) { - # Write-Output "Reading from url: $GITHUB_URL/$templateFile" - Invoke-WebRequest -Uri "$baseUrl/$templateFile" -UseBasicParsing -ContentType "text/plain; charset=utf-8" ` - | Select-Object -Expand Content ` - | Foreach-Object {$_ -replace 'CUSTOMERID', "$customerid"} - } - else { - # Write-Output "Reading from local file: $GITHUB_URL/$templateFile" - Get-Content -Path "$baseUrl/$templateFile" ` - | Foreach-Object {$_ -replace 'CUSTOMERID', "$customerid"} - } -} # helper functions for subnet match # from https://gallery.technet.microsoft.com/scriptcenter/Start-and-End-IP-addresses-bcccc3a9 @@ -311,26 +183,6 @@ function global:SetHostFileInVms( $resourceGroup) { } } -# from https://github.com/majkinetor/posh/blob/master/MM_Network/Stop-ProcessByPort.ps1 -function global:Stop-ProcessByPort( [ValidateNotNullOrEmpty()] [int] $Port ) { - $netstat = netstat.exe -ano | Select-Object -Skip 4 - $p_line = $netstat | Where-Object { $p = ( -split $_ | Select-Object -Index 1) -split ':' | Select-Object -Last 1; $p -eq $Port } | Select-Object -First 1 - if (!$p_line) { Write-Host "No process found using port" $Port; return } - $p_id = $p_line -split '\s+' | Select-Object -Last 1 - if (!$p_id) { throw "Can't parse process id for port $Port" } - - Read-Host "There is another process running on this port. Click ENTER to open an elevated prompt to stop that process." - - Start-Process powershell -verb RunAs -ArgumentList "Stop-Process $p_id -Force" -} - -function global:Get-ProcessByPort( [ValidateNotNullOrEmpty()] [int] $Port ) { - $netstat = netstat.exe -ano | Select-Object -Skip 4 - $p_line = $netstat | Where-Object { $p = ( -split $_ | Select-Object -Index 1) -split ':' | Select-Object -Last 1; $p -eq $Port } | Select-Object -First 1 - if (!$p_line) { return; } - $p_id = $p_line -split '\s+' | Select-Object -Last 1 - return $p_id; -} function global:CleanResourceGroup($resourceGroup, $location, $vnet, $subnet, $subnetResourceGroup, $storageAccount) { Write-Output "checking if resource group already exists" @@ -451,4 +303,41 @@ function global:CleanResourceGroup($resourceGroup, $location, $vnet, $subnet, $s az group create --name $resourceGroup --location $location --verbose } -} \ No newline at end of file +} + +function global:CreateStorageIfNotExists($resourceGroup) { + $location = az group show --name $resourceGroup --query "location" -o tsv + + $storageAccountName = Read-Host "Storage Account Name (leave empty for default)" + if ([string]::IsNullOrWhiteSpace($storageAccountName)) { + $storageAccountName = "${resourceGroup}storage" + # remove non-alphanumeric characters and use lowercase since azure doesn't allow those in a storage account + $storageAccountName = $storageAccountName -replace '[^a-zA-Z0-9]', '' + $storageAccountName = $storageAccountName.ToLower() + Write-Output "Using storage account: [$storageAccountName]" + } + Write-Output "Checking to see if storage account exists" + $storageAccountCanBeCreated = az storage account check-name --name $storageAccountName --query "nameAvailable" --output tsv + + if ($storageAccountCanBeCreated -ne "True" ) { + az storage account check-name --name $storageAccountName + + Do { $confirmation = Read-Host "Storage account, [$storageAccountName], already exists. Delete it? (WARNING: deletes data) (y/n)"} + while ([string]::IsNullOrWhiteSpace($confirmation)) + + if ($confirmation -eq 'y') { + az storage account delete -n $storageAccountName -g $resourceGroup + Write-Output "Creating storage account: [${storageAccountName}]" + # https://docs.microsoft.com/en-us/azure/storage/common/storage-quickstart-create-account?tabs=azure-cli + az storage account create -n $storageAccountName -g $resourceGroup -l $location --kind StorageV2 --sku Standard_LRS + } + } + else { + Write-Output "Creating storage account: [${storageAccountName}]" + az storage account create -n $storageAccountName -g $resourceGroup -l $location --kind StorageV2 --sku Standard_LRS + } + + return $storageAccountName +} + +Write-Host "end common.ps1 version $versioncommon" diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index 5739bdc..659e70d 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -43,17 +43,17 @@ else { } } -if($downloadazcli){ - $AZCLI_FILE=([System.IO.Path]::GetTempPath()+("az-cli-latest.msi")) +if ($downloadazcli) { + $AZCLI_FILE = ([System.IO.Path]::GetTempPath() + ("az-cli-latest.msi")) $url = "https://azurecliprod.blob.core.windows.net/msi/azure-cli-latest.msi" Write-Output "Downloading az-cli-latest.msi from url $url to $AZCLI_FILE" - If (Test-Path $AZCLI_FILE){ + If (Test-Path $AZCLI_FILE) { Remove-Item $AZCLI_FILE } (New-Object System.Net.WebClient).DownloadFile($url, $AZCLI_FILE) # https://kevinmarquette.github.io/2016-10-21-powershell-installing-msi-files/ Write-Output "Running MSI to install az" - $AZCLI_INSTALL_LOG=([System.IO.Path]::GetTempPath()+('az-cli-latest.log')) + $AZCLI_INSTALL_LOG = ([System.IO.Path]::GetTempPath() + ('az-cli-latest.log')) # msiexec flags: https://msdn.microsoft.com/en-us/library/windows/desktop/aa367988(v=vs.85).aspx Start-Process -Verb runAs msiexec.exe -Wait -ArgumentList "/i $AZCLI_FILE /qn /L*e $AZCLI_INSTALL_LOG" Write-Output "Finished installing az-cli-latest.msi" @@ -248,35 +248,7 @@ acs-engine version $AKS_CLUSTER_NAME = "kubcluster" # $AKS_CLUSTER_NAME = Read-Host "Cluster Name: (e.g., fabricnlpcluster)" -# create storage account to store data -$AKS_PERS_STORAGE_ACCOUNT_NAME = Read-Host "Storage Account Name (leave empty for default)" -if ([string]::IsNullOrWhiteSpace($AKS_PERS_STORAGE_ACCOUNT_NAME)) { - $AKS_PERS_STORAGE_ACCOUNT_NAME = "${AKS_PERS_RESOURCE_GROUP}storage" - # remove non-alphanumeric characters and use lowercase since azure doesn't allow those in a storage account - $AKS_PERS_STORAGE_ACCOUNT_NAME = $AKS_PERS_STORAGE_ACCOUNT_NAME -replace '[^a-zA-Z0-9]', '' - $AKS_PERS_STORAGE_ACCOUNT_NAME = $AKS_PERS_STORAGE_ACCOUNT_NAME.ToLower() - Write-Output "Using storage account: [$AKS_PERS_STORAGE_ACCOUNT_NAME]" -} -Write-Output "Checking to see if storage account exists" -$storageAccountCanBeCreated = az storage account check-name --name $AKS_PERS_STORAGE_ACCOUNT_NAME --query "nameAvailable" --output tsv - -if ($storageAccountCanBeCreated -ne "True" ) { - az storage account check-name --name $AKS_PERS_STORAGE_ACCOUNT_NAME - - Do { $confirmation = Read-Host "Storage account, [$AKS_PERS_STORAGE_ACCOUNT_NAME], already exists. Delete it? (WARNING: deletes data) (y/n)"} - while ([string]::IsNullOrWhiteSpace($confirmation)) - - if ($confirmation -eq 'y') { - az storage account delete -n $AKS_PERS_STORAGE_ACCOUNT_NAME -g $AKS_PERS_RESOURCE_GROUP - Write-Output "Creating storage account: [${AKS_PERS_STORAGE_ACCOUNT_NAME}]" - # https://docs.microsoft.com/en-us/azure/storage/common/storage-quickstart-create-account?tabs=azure-cli - az storage account create -n $AKS_PERS_STORAGE_ACCOUNT_NAME -g $AKS_PERS_RESOURCE_GROUP -l $AKS_PERS_LOCATION --kind StorageV2 --sku Standard_LRS - } -} -else { - Write-Output "Creating storage account: [${AKS_PERS_STORAGE_ACCOUNT_NAME}]" - az storage account create -n $AKS_PERS_STORAGE_ACCOUNT_NAME -g $AKS_PERS_RESOURCE_GROUP -l $AKS_PERS_LOCATION --kind StorageV2 --sku Standard_LRS -} +$AKS_PERS_STORAGE_ACCOUNT_NAME = CreateStorageIfNotExists -resourceGroup $AKS_PERS_RESOURCE_GROUP # see if the user wants to use a specific virtual network Do { $confirmation = Read-Host "Would you like to connect to an existing virtual network? (y/n)"} @@ -311,8 +283,7 @@ if ($confirmation -eq 'y') { Write-Output "Finding existing subnets in $AKS_VNET_NAME ..." $subnets = az network vnet subnet list --resource-group $AKS_SUBNET_RESOURCE_GROUP --vnet-name $AKS_VNET_NAME --query "[].name" -o tsv - if($subnets.count -eq 1) - { + if ($subnets.count -eq 1) { Write-Output "There is only subnet called $subnets so choosing that" $AKS_SUBNET_NAME = $subnets } diff --git a/azure/create-bare-metal.ps1 b/azure/create-bare-metal.ps1 index a651bdd..14e8e0a 100644 --- a/azure/create-bare-metal.ps1 +++ b/azure/create-bare-metal.ps1 @@ -244,7 +244,10 @@ Write-Output "Found ID for ${AKS_PERS_NETWORK_SECURITY_GROUP}: $nsgid" Write-Output "Setting NSG into subnet" az network vnet subnet update -n "${AKS_SUBNET_NAME}" -g "${AKS_SUBNET_RESOURCE_GROUP}" --vnet-name "${AKS_VNET_NAME}" --network-security-group "$nsgid" --query "provisioningState" -o tsv - +$AKS_PERS_STORAGE_ACCOUNT_NAME = CreateStorageIfNotExists -resourceGroup $AKS_PERS_RESOURCE_GROUP + +CreateShareInStorageAccount -storageAccountName $AKS_PERS_STORAGE_ACCOUNT_NAME -resourceGroup $AKS_PERS_RESOURCE_GROUP -sharename fabricnlp + Write-Output "Creating master" $PUBLIC_IP_NAME = "${MASTER_VM_NAME}PublicIP" $ip = az network public-ip create --name $PUBLIC_IP_NAME ` diff --git a/kubernetes/common-kube.ps1 b/kubernetes/common-kube.ps1 new file mode 100644 index 0000000..cb00aa3 --- /dev/null +++ b/kubernetes/common-kube.ps1 @@ -0,0 +1,167 @@ +# this file contains common functions for kubernetes +$versionkubecommon = "2018.02.14.01" + +Write-Host "Including common-kube.ps1 version $versionkubecommon" +function global:GetCommonKubeVersion() { + return $versionkubecommon +} + +function global:Test-CommandExists { + Param ($command) + # from https://blogs.technet.microsoft.com/heyscriptingguy/2013/02/19/use-a-powershell-function-to-see-if-a-command-exists/ + $oldPreference = $ErrorActionPreference + $ErrorActionPreference = 'stop' + try {if (Get-Command $command) {RETURN $true}} + Catch {Write-Host "$command does not exist"; RETURN $false} + Finally {$ErrorActionPreference = $oldPreference} +} #end function test-CommandExists + +function global:ReadSecretValue($secretname, $valueName, $namespace) { + if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} + + $secretbase64 = kubectl get secret $secretname -o jsonpath="{.data.${valueName}}" -n $namespace --ignore-not-found=true + + if (![string]::IsNullOrWhiteSpace($secretbase64)) { + $secretvalue = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($secretbase64)) + return $secretvalue + } + + return ""; +} + +function global:ReadSecret($secretname, $namespace) { + return ReadSecretValue -secretname $secretname -valueName "value" -namespace $namespace +} + +function global:ReadSecretPassword($secretname, $namespace) { + return ReadSecretValue -secretname $secretname -valueName "password" -namespace $namespace +} + +function global:GeneratePassword() { + $Length = 3 + $set1 = "abcdefghijklmnopqrstuvwxyz".ToCharArray() + $set2 = "0123456789".ToCharArray() + $set3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".ToCharArray() + $set4 = "!.*@".ToCharArray() + $result = "" + for ($x = 0; $x -lt $Length; $x++) { + $result += $set1 | Get-Random + $result += $set2 | Get-Random + $result += $set3 | Get-Random + $result += $set4 | Get-Random + } + return $result +} + +function global:SaveSecretValue($secretname, $valueName, $value, $namespace) { + # secretname must be lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character + if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} + + if (![string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data}' --ignore-not-found=true))) { + kubectl delete secret $secretname -n $namespace + } + + kubectl create secret generic $secretname --namespace=$namespace --from-literal=${valueName}=$value +} + +function global:AskForPassword ($secretname, $prompt, $namespace) { + if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} + if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.password}' --ignore-not-found=true))) { + + $mysqlrootpassword = "" + # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html + # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script + Do { + $mysqlrootpasswordsecure = Read-host "$prompt (leave empty for auto-generated)" -AsSecureString + if ($mysqlrootpasswordsecure.Length -lt 1) { + $mysqlrootpassword = GeneratePassword + } + else { + $mysqlrootpassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($mysqlrootpasswordsecure)) + } + } + while (($mysqlrootpassword -notmatch "^[a-z0-9!.*@\s]+$") -or ($mysqlrootpassword.Length -lt 8 )) + kubectl create secret generic $secretname --namespace=$namespace --from-literal=password=$mysqlrootpassword + } + else { + Write-Output "$secretname secret already set so will reuse it" + } +} + +function global:AskForPasswordAnyCharacters ($secretname, $prompt, $namespace, $defaultvalue) { + if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} + if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.password}' --ignore-not-found=true))) { + + $mysqlrootpassword = "" + # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html + # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script + Do { + $mysqlrootpasswordsecure = Read-host "$prompt (leave empty for default)" -AsSecureString + if ($mysqlrootpasswordsecure.Length -lt 1) { + $mysqlrootpassword = $defaultvalue + } + else { + $mysqlrootpassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($mysqlrootpasswordsecure)) + } + } + while (($mysqlrootpassword.Length -lt 8 ) -and (!("$mysqlrootpassword" -eq "$defaultvalue"))) + kubectl create secret generic $secretname --namespace=$namespace --from-literal=password=$mysqlrootpassword + } + else { + Write-Output "$secretname secret already set so will reuse it" + } +} + +function global:AskForSecretValue ($secretname, $prompt, $namespace) { + if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} + if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.value}' --ignore-not-found=true))) { + + $certhostname = "" + Do { + $certhostname = Read-host "$prompt" + } + while ($certhostname.Length -lt 1 ) + + kubectl create secret generic $secretname --namespace=$namespace --from-literal=value=$certhostname + } + else { + Write-Output "$secretname secret already set so will reuse it" + } +} + +function global:ReadYmlAndReplaceCustomer($baseUrl, $templateFile, $customerid ) { + if ($baseUrl.StartsWith("http")) { + # Write-Output "Reading from url: $GITHUB_URL/$templateFile" + Invoke-WebRequest -Uri "$baseUrl/$templateFile" -UseBasicParsing -ContentType "text/plain; charset=utf-8" ` + | Select-Object -Expand Content ` + | Foreach-Object {$_ -replace 'CUSTOMERID', "$customerid"} + } + else { + # Write-Output "Reading from local file: $GITHUB_URL/$templateFile" + Get-Content -Path "$baseUrl/$templateFile" ` + | Foreach-Object {$_ -replace 'CUSTOMERID', "$customerid"} + } +} + +# from https://github.com/majkinetor/posh/blob/master/MM_Network/Stop-ProcessByPort.ps1 +function global:Stop-ProcessByPort( [ValidateNotNullOrEmpty()] [int] $Port ) { + $netstat = netstat.exe -ano | Select-Object -Skip 4 + $p_line = $netstat | Where-Object { $p = ( -split $_ | Select-Object -Index 1) -split ':' | Select-Object -Last 1; $p -eq $Port } | Select-Object -First 1 + if (!$p_line) { Write-Host "No process found using port" $Port; return } + $p_id = $p_line -split '\s+' | Select-Object -Last 1 + if (!$p_id) { throw "Can't parse process id for port $Port" } + + Read-Host "There is another process running on this port. Click ENTER to open an elevated prompt to stop that process." + + Start-Process powershell -verb RunAs -ArgumentList "Stop-Process $p_id -Force" +} + +function global:Get-ProcessByPort( [ValidateNotNullOrEmpty()] [int] $Port ) { + $netstat = netstat.exe -ano | Select-Object -Skip 4 + $p_line = $netstat | Where-Object { $p = ( -split $_ | Select-Object -Index 1) -split ':' | Select-Object -Last 1; $p -eq $Port } | Select-Object -First 1 + if (!$p_line) { return; } + $p_id = $p_line -split '\s+' | Select-Object -Last 1 + return $p_id; +} + +Write-Host "end common-kube.ps1 version $versioncommon" \ No newline at end of file From 5293a91ac95eaa79db0c0a8cf934e8a0676b5656 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 14 Feb 2018 20:32:00 -0800 Subject: [PATCH 138/473] move more code into common functions Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 235 ++++++++++++++++++++++++++++++- azure/create-acs-cluster.ps1 | 262 ++--------------------------------- azure/create-bare-metal.ps1 | 138 +++--------------- kubernetes/common-kube.ps1 | 54 ++++++++ 4 files changed, 320 insertions(+), 369 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index b6e4064..d311856 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -11,6 +11,7 @@ $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/m # $GITHUB_URL = "C:\Catalyst\git\Installscripts" Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1 | Invoke-Expression; +# Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; function global:CreateShareInStorageAccount($storageAccountName, $resourceGroup, $sharename, $deleteExisting) { $AZURE_STORAGE_CONNECTION_STRING = az storage account show-connection-string -n $storageAccountName -g $resourceGroup -o tsv @@ -207,7 +208,7 @@ function global:CleanResourceGroup($resourceGroup, $location, $vnet, $subnet, $s if ("$vnet") { # Write-Output "removing route table" - # az network vnet subnet update -n "${subnet}" -g "${AKS_SUBNET_RESOURCE_GROUP}" --vnet-name "${vnet}" --route-table "" + # az network vnet subnet update -n "${subnet}" -g "${subnetResourceGroup}" --vnet-name "${vnet}" --route-table "" } Write-Output "cleaning out the existing group: [$resourceGroup]" #az group delete --name $resourceGroup --verbose @@ -340,4 +341,236 @@ function global:CreateStorageIfNotExists($resourceGroup) { return $storageAccountName } +function global:GetVnet($subscriptionId) { + #Create an hashtable variable + [hashtable]$Return = @{} + + Do { $confirmation = Read-Host "Would you like to connect to an existing virtual network? (y/n)"} + while ([string]::IsNullOrWhiteSpace($confirmation)) + + if ($confirmation -eq 'y') { + Write-Output "Finding existing vnets..." + # az network vnet list --query "[].[name,resourceGroup ]" -o tsv + + $vnets = az network vnet list --query "[].[name]" -o tsv + + Do { + Write-Output "------ Existing vnets -------" + for ($i = 1; $i -le $vnets.count; $i++) { + Write-Host "$i. $($vnets[$i-1])" + } + Write-Output "------ End vnets -------" + + $index = Read-Host "Enter number of vnet to use (1 - $($vnets.count))" + $vnetName = $($vnets[$index - 1]) + } + while ([string]::IsNullOrWhiteSpace($vnetName)) + + $subnetResourceGroup = az network vnet list --query "[?name == '$vnetName'].resourceGroup" -o tsv + Write-Output "Using subnet resource group: [$subnetResourceGroup]" + + Write-Output "Finding existing subnets in $vnetName ..." + $subnets = az network vnet subnet list --resource-group $subnetResourceGroup --vnet-name $vnetName --query "[].name" -o tsv + + if ($subnets.count -eq 1) { + Write-Output "There is only one subnet called $subnets so choosing that" + $subnetName = $subnets + } + else { + Do { + Write-Output "------ Subnets in $vnetName -------" + for ($i = 1; $i -le $subnets.count; $i++) { + Write-Host "$i. $($subnets[$i-1])" + } + Write-Output "------ End Subnets -------" + + Write-Host "NOTE: Each customer should have their own subnet. Do not put multiple customers in the same subnet" + $index = Read-Host "Enter number of subnet to use (1 - $($subnets.count))" + $subnetName = $($subnets[$index - 1]) + } + while ([string]::IsNullOrWhiteSpace($subnetName)) + } + + # verify the subnet exists + $mysubnetid = "/subscriptions/${subscriptionId}/resourceGroups/${subnetResourceGroup}/providers/Microsoft.Network/virtualNetworks/${vnet}/subnets/${subnetName}" + + $subnetexists = az resource show --ids $mysubnetid --query "id" -o tsv + if (!"$subnetexists") { + Write-Host "The subnet was not found: $mysubnetid" + Read-Host "Hit ENTER to exit" + exit 0 + } + else { + Write-Output "Found subnet: [$mysubnetid]" + } + + Write-Output "Looking up CIDR for Subnet: [${subnetName}]" + $subnetCidr = az network vnet subnet show --name ${subnetName} --resource-group ${subnetResourceGroup} --vnet-name ${vnet} --query "addressPrefix" --output tsv + + Write-Output "Subnet CIDR=[$subnetCidr]" + # suggest and ask for the first static IP to use + $firstStaticIP = "" + $suggestedFirstStaticIP = Get-FirstIP -ip ${subnetCidr} + + $firstStaticIP = Read-Host "First static IP: (default: $suggestedFirstStaticIP )" + + if ([string]::IsNullOrWhiteSpace($firstStaticIP)) { + $firstStaticIP = "$suggestedFirstStaticIP" + } + + Write-Output "First static IP=[${firstStaticIP}]" + } + else { + # create a vnet + # create a subnet + + # az network vnet create -g MyResourceGroup -n MyVnet --address-prefix 10.0.0.0/16 --subnet-name MySubnet --subnet-prefix 10.0.0.0/24 + } + + + #Assign all return values in to hashtable + $Return.AKS_VNET_NAME = $vnetName + $Return.AKS_SUBNET_NAME = $subnetName + $Return.AKS_SUBNET_RESOURCE_GROUP = $subnetResourceGroup + $Return.AKS_FIRST_STATIC_IP = $firstStaticIP + $Return.AKS_SUBNET_ID = $mysubnetid + + #Return the hashtable + Return $Return +} + +function global:DownloadAzCliIfNeeded() { + # install az cli from https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest + $desiredAzClVersion = "2.0.26" + $downloadazcli = $False + if (!(Test-CommandExists az)) { + $downloadazcli = $True + } + else { + $azcurrentversion = az -v | Select-String "azure-cli" | Select-Object -exp line + # we should get: azure-cli (2.0.22) + $azversionMatches = $($azcurrentversion -match "$desiredAzClVersion") + if (!$azversionMatches) { + Write-Output "az version $azcurrentversion is not the same as desired version: $desiredAzClVersion" + $downloadazcli = $True + } + } + + if ($downloadazcli) { + $azCliFile = ([System.IO.Path]::GetTempPath() + ("az-cli-latest.msi")) + $url = "https://azurecliprod.blob.core.windows.net/msi/azure-cli-latest.msi" + Write-Output "Downloading az-cli-latest.msi from url $url to $azCliFile" + If (Test-Path $azCliFile) { + Remove-Item $azCliFile + } + (New-Object System.Net.WebClient).DownloadFile($url, $azCliFile) + # https://kevinmarquette.github.io/2016-10-21-powershell-installing-msi-files/ + Write-Output "Running MSI to install az" + $azCliInstallLog = ([System.IO.Path]::GetTempPath() + ('az-cli-latest.log')) + # msiexec flags: https://msdn.microsoft.com/en-us/library/windows/desktop/aa367988(v=vs.85).aspx + Start-Process -Verb runAs msiexec.exe -Wait -ArgumentList "/i $azCliFile /qn /L*e $azCliInstallLog" + Write-Output "Finished installing az-cli-latest.msi" + } + +} + +function global:CreateSSHKey($resourceGroup, $localFolder) { + #Create an hashtable variable + [hashtable]$Return = @{} + + $folderForSSHKey = "$localFolder\ssh\$resourceGroup" + + if (!(Test-Path -Path "$folderForSSHKey")) { + Write-Output "$folderForSSHKey does not exist. Creating it..." + New-Item -ItemType directory -Path "$folderForSSHKey" + } + + # check if SSH key is present. If not, generate it + $privateKeyFile = "$folderForSSHKey\id_rsa" + $privateKeyFileUnixPath = "/" + (($privateKeyFile -replace "\\", "/") -replace ":", "").ToLower().Trim("/") + + if (!(Test-Path "$privateKeyFile")) { + Write-Output "SSH key does not exist in $privateKeyFile." + Write-Output "Please open Git Bash and run:" + Write-Output "ssh-keygen -t rsa -b 2048 -q -N '' -C azureuser@linuxvm -f $privateKeyFileUnixPath" + Read-Host "Hit ENTER after you're done" + } + else { + Write-Output "SSH key already exists at $privateKeyFile so using it" + } + + $publicKeyFile = "$folderForSSHKey\id_rsa.pub" + $sshKey = Get-Content "$publicKeyFile" -First 1 + Write-Output "SSH Public Key=$sshKey" + + + $Return.AKS_SSH_KEY = $sshKey + $Return.SSH_PUBLIC_KEY_FILE = $publicKeyFile + + #Return the hashtable + Return $Return + +} + +function global:CheckIfUserLogged() { + write-output "Checking if you're already logged in..." + + # to print out the result to screen also use: | Tee-Object -Variable cmdOutput + $loggedInUser = az account show --query "user.name" --output tsv + + # get azure login and subscription + Write-Output "user: $loggedInUser" + + if ( "$loggedInUser" ) { + $subscriptionName = az account show --query "name" --output tsv + Write-Output "You are currently logged in as [$loggedInUser] into subscription [$subscriptionName]" + + Do { $confirmation = Read-Host "Do you want to use this account? (y/n)"} + while ([string]::IsNullOrWhiteSpace($confirmation)) + + if ($confirmation -eq 'n') { + az login + } + } + else { + # login + az login + } + + $subscriptionId = az account show --query "id" --output tsv + + Return $subscriptionId +} + +function global:GetResourceGroupAndLocation($defaultResourceGroup) { + #Create an hashtable variable + [hashtable]$Return = @{} + + Do { + $resourceGroup = Read-Host "Resource Group (leave empty for $defaultResourceGroup)" + if ([string]::IsNullOrWhiteSpace($resourceGroup)) { + $resourceGroup = $defaultResourceGroup + } + } + while ([string]::IsNullOrWhiteSpace($resourceGroup)) + + Write-Output "Using resource group [$resourceGroup]" + + Write-Output "checking if resource group already exists" + $resourceGroupExists = az group exists --name ${AKS_PERS_RESOURCE_GROUP} + if ($resourceGroupExists -ne "true") { + Write-Output "Create the Resource Group" + az group create --name $resourceGroup --location $AKS_PERS_LOCATION --verbose + + Do { $location = Read-Host "Location: (e.g., eastus)"} + while ([string]::IsNullOrWhiteSpace($location)) + } + + $Return.AKS_PERS_RESOURCE_GROUP = $resourceGroup + $Return.AKS_PERS_LOCATION = $location + + #Return the hashtable + Return $Return +} +#------------------- Write-Host "end common.ps1 version $versioncommon" diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index 659e70d..a391a19 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -10,79 +10,14 @@ $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/m Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/common.ps1 | Invoke-Expression; # Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; -$AKS_PERS_RESOURCE_GROUP = "" -$AKS_PERS_LOCATION = "" -$AKS_CLUSTER_NAME = "" -$AKS_PERS_STORAGE_ACCOUNT_NAME = "" -$AKS_SUBSCRIPTION_ID = "" -$AKS_VNET_NAME = "" -$AKS_SUBNET_NAME = "" -$AKS_SUBNET_RESOURCE_GROUP = "" -$AKS_SSH_KEY = "" -$AKS_FIRST_STATIC_IP = "" $AKS_USE_AZURE_NETWORKING = "n" -$AKS_SERVICE_PRINCIPAL_NAME = "" $AKS_SUPPORT_WINDOWS_CONTAINERS = "n" write-output "Checking if you're already logged in..." +DownloadAzCliIfNeeded -# install az cli from https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest -$DESIRED_AZ_CLI_VERSION = "2.0.26" -$downloadazcli = $False -if (!(Test-CommandExists az)) { - $downloadazcli = $True -} -else { - $azcurrentversion = az -v | Select-String "azure-cli" | Select-Object -exp line - # we should get: azure-cli (2.0.22) - $azversionMatches = $($azcurrentversion -match "$DESIRED_AZ_CLI_VERSION") - if (!$azversionMatches) { - Write-Output "az version $azcurrentversion is not the same as desired version: $DESIRED_AZ_CLI_VERSION" - $downloadazcli = $True - } -} - -if ($downloadazcli) { - $AZCLI_FILE = ([System.IO.Path]::GetTempPath() + ("az-cli-latest.msi")) - $url = "https://azurecliprod.blob.core.windows.net/msi/azure-cli-latest.msi" - Write-Output "Downloading az-cli-latest.msi from url $url to $AZCLI_FILE" - If (Test-Path $AZCLI_FILE) { - Remove-Item $AZCLI_FILE - } - (New-Object System.Net.WebClient).DownloadFile($url, $AZCLI_FILE) - # https://kevinmarquette.github.io/2016-10-21-powershell-installing-msi-files/ - Write-Output "Running MSI to install az" - $AZCLI_INSTALL_LOG = ([System.IO.Path]::GetTempPath() + ('az-cli-latest.log')) - # msiexec flags: https://msdn.microsoft.com/en-us/library/windows/desktop/aa367988(v=vs.85).aspx - Start-Process -Verb runAs msiexec.exe -Wait -ArgumentList "/i $AZCLI_FILE /qn /L*e $AZCLI_INSTALL_LOG" - Write-Output "Finished installing az-cli-latest.msi" -} - - -# to print out the result to screen also use: | Tee-Object -Variable cmdOutput -$loggedInUser = az account show --query "user.name" --output tsv - -# get azure login and subscription -Write-Output "user: $loggedInUser" - -if ( "$loggedInUser" ) { - $SUBSCRIPTION_NAME = az account show --query "name" --output tsv - Write-Output "You are currently logged in as [$loggedInUser] into subscription [$SUBSCRIPTION_NAME]" - - Do { $confirmation = Read-Host "Do you want to use this account? (y/n)"} - while ([string]::IsNullOrWhiteSpace($confirmation)) - - if ($confirmation -eq 'n') { - az login - } -} -else { - # login - az login -} - -$AKS_SUBSCRIPTION_ID = az account show --query "id" --output tsv +$AKS_SUBSCRIPTION_ID = CheckIfUserLogged # ask for customerid Do { $customerid = Read-Host "Health Catalyst Customer ID (e.g., ahmn)"} @@ -92,25 +27,11 @@ Write-Output "Customer ID: $customerid" # ask for resource group name to create $DEFAULT_RESOURCE_GROUP = "Prod-Kub-$($customerid.ToUpper())-RG" -Do { - $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group (leave empty for $DEFAULT_RESOURCE_GROUP)" - if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) { - $AKS_PERS_RESOURCE_GROUP = $DEFAULT_RESOURCE_GROUP - } -} -while ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) - -Write-Output "Using resource group [$AKS_PERS_RESOURCE_GROUP]" -Do { $AKS_PERS_LOCATION = Read-Host "Location: (e.g., eastus)"} -while ([string]::IsNullOrWhiteSpace($AKS_PERS_LOCATION)) +$ResourceGroupInfo = GetResourceGroupAndLocation -defaultResourceGroup $DEFAULT_RESOURCE_GROUP +$AKS_PERS_RESOURCE_GROUP=$ResourceGroupInfo.AKS_PERS_RESOURCE_GROUP +$AKS_PERS_LOCATION=$ResourceGroupInfo.AKS_PERS_LOCATION -Write-Output "checking if resource group already exists" -$resourceGroupExists = az group exists --name ${AKS_PERS_RESOURCE_GROUP} -if ($resourceGroupExists -ne "true") { - Write-Output "Create the Resource Group" - az group create --name $AKS_PERS_RESOURCE_GROUP --location $AKS_PERS_LOCATION --verbose -} $AKS_SUPPORT_WINDOWS_CONTAINERS = Read-Host "Support Windows containers (y/n) (default: n)" if ([string]::IsNullOrWhiteSpace($AKS_SUPPORT_WINDOWS_CONTAINERS)) { @@ -142,78 +63,12 @@ if (!(Test-Path -Path "$AKS_LOCAL_FOLDER")) { New-Item -ItemType directory -Path $AKS_LOCAL_FOLDER } -# add the c:\kubernetes folder to system PATH -Write-Output "Checking if $AKS_LOCAL_FOLDER is in PATH" -$pathItems = ($env:path).split(";") -if ( $pathItems -notcontains "$AKS_LOCAL_FOLDER") { - Write-Output "Adding $AKS_LOCAL_FOLDER to system path" - $oldpath = (Get-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" -Name PATH).path - # see if the registry value is wrong too - if ( ($oldpath).split(";") -notcontains "$AKS_LOCAL_FOLDER") { - $newpath = "$oldpath;$AKS_LOCAL_FOLDER" - Read-Host "Script needs elevated privileges to set PATH. Hit ENTER to launch script to set PATH" - Start-Process powershell -verb RunAs -ArgumentList "Set-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment' -Name PATH -Value '$newPath'; Read-Host 'Press ENTER'" - Write-Output "New PATH:" - $newpath = (Get-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" -Name PATH).path - Write-Output "$newpath".split(";") - } - # for current session set the PATH too. the above only takes effect if powershell is reopened - $ENV:PATH = "$ENV:PATH;$AKS_LOCAL_FOLDER" - Write-Output "Set path for current powershell session" - Write-Output ($env:path).split(";") -} -else { - Write-Output "$AKS_LOCAL_FOLDER is already in PATH" -} +AddFolderToPathEnvironmentVariable -folder $AKS_LOCAL_FOLDER -$AKS_FOLDER_FOR_SSH_KEY = "$AKS_LOCAL_FOLDER\ssh\$AKS_PERS_RESOURCE_GROUP" - -if (!(Test-Path -Path "$AKS_FOLDER_FOR_SSH_KEY")) { - Write-Output "$AKS_FOLDER_FOR_SSH_KEY does not exist. Creating it..." - New-Item -ItemType directory -Path "$AKS_FOLDER_FOR_SSH_KEY" -} +$SSHKeyInfo = CreateSSHKey -resourceGroup $AKS_PERS_RESOURCE_GROUP -localFolder $AKS_LOCAL_FOLDER +$AKS_SSH_KEY = $SSHKeyInfo.AKS_SSH_KEY -# check if SSH key is present. If not, generate it -$SSH_PRIVATE_KEY_FILE = "$AKS_FOLDER_FOR_SSH_KEY\id_rsa" -$SSH_PRIVATE_KEY_FILE_UNIX_PATH = "/" + (($SSH_PRIVATE_KEY_FILE -replace "\\", "/") -replace ":", "").ToLower().Trim("/") - -if (!(Test-Path "$SSH_PRIVATE_KEY_FILE")) { - Write-Output "SSH key does not exist in $SSH_PRIVATE_KEY_FILE." - Write-Output "Please open Git Bash and run:" - Write-Output "ssh-keygen -t rsa -b 2048 -q -N '' -C azureuser@linuxvm -f $SSH_PRIVATE_KEY_FILE_UNIX_PATH" - Read-Host "Hit ENTER after you're done" -} -else { - Write-Output "SSH key already exists at $SSH_PRIVATE_KEY_FILE so using it" -} - -$SSH_PUBLIC_KEY_FILE = "$AKS_FOLDER_FOR_SSH_KEY\id_rsa.pub" -$AKS_SSH_KEY = Get-Content "$SSH_PUBLIC_KEY_FILE" -First 1 -Write-Output "SSH Public Key=$AKS_SSH_KEY" - -# download kubectl -$KUBECTL_FILE = "$AKS_LOCAL_FOLDER\kubectl.exe" -$DESIRED_KUBECTL_VERSION = "v1.9.2" -$downloadkubectl = "n" -if (!(Test-Path "$KUBECTL_FILE")) { - $downloadkubectl = "y" -} -else { - $kubectlversion = kubectl version --client=true --short=true - $kubectlversionMatches = $($kubectlversion -match "$DESIRED_KUBECTL_VERSION") - if (!$kubectlversionMatches) { - $downloadkubectl = "y" - } -} -if ( $downloadkubectl -eq "y") { - $url = "https://storage.googleapis.com/kubernetes-release/release/${DESIRED_KUBECTL_VERSION}/bin/windows/amd64/kubectl.exe" - Write-Output "Downloading kubectl.exe from url $url to $KUBECTL_FILE" - Remove-Item -Path "$KUBECTL_FILE" - (New-Object System.Net.WebClient).DownloadFile($url, $KUBECTL_FILE) -} -else { - Write-Output "kubectl already exists at $KUBECTL_FILE" -} +DownloadKubectl -localFolder $AKS_LOCAL_FOLDER # download acs-engine $ACS_ENGINE_FILE = "$AKS_LOCAL_FOLDER\acs-engine.exe" @@ -251,100 +106,11 @@ $AKS_CLUSTER_NAME = "kubcluster" $AKS_PERS_STORAGE_ACCOUNT_NAME = CreateStorageIfNotExists -resourceGroup $AKS_PERS_RESOURCE_GROUP # see if the user wants to use a specific virtual network -Do { $confirmation = Read-Host "Would you like to connect to an existing virtual network? (y/n)"} -while ([string]::IsNullOrWhiteSpace($confirmation)) - -if ($confirmation -eq 'y') { - Write-Output "Finding existing vnets..." - # az network vnet list --query "[].[name,resourceGroup ]" -o tsv - - $vnets = az network vnet list --query "[].[name]" -o tsv - - Do { - Write-Output "------ Existing vnets -------" - for ($i = 1; $i -le $vnets.count; $i++) { - Write-Host "$i. $($vnets[$i-1])" - } - Write-Output "------ End vnets -------" - - $index = Read-Host "Enter number of vnet to use (1 - $($vnets.count))" - $AKS_VNET_NAME = $($vnets[$index - 1]) - } - while ([string]::IsNullOrWhiteSpace($AKS_VNET_NAME)) - - if ("$AKS_VNET_NAME") { - - # Do { $AKS_SUBNET_RESOURCE_GROUP = Read-Host "Resource Group of Virtual Network"} - # while ([string]::IsNullOrWhiteSpace($AKS_SUBNET_RESOURCE_GROUP)) - - $AKS_SUBNET_RESOURCE_GROUP = az network vnet list --query "[?name == '$AKS_VNET_NAME'].resourceGroup" -o tsv - Write-Output "Using subnet resource group: [$AKS_SUBNET_RESOURCE_GROUP]" - - Write-Output "Finding existing subnets in $AKS_VNET_NAME ..." - $subnets = az network vnet subnet list --resource-group $AKS_SUBNET_RESOURCE_GROUP --vnet-name $AKS_VNET_NAME --query "[].name" -o tsv - - if ($subnets.count -eq 1) { - Write-Output "There is only subnet called $subnets so choosing that" - $AKS_SUBNET_NAME = $subnets - } - else { - Do { - Write-Output "------ Subnets in $AKS_VNET_NAME -------" - for ($i = 1; $i -le $subnets.count; $i++) { - Write-Host "$i. $($subnets[$i-1])" - } - Write-Output "------ End Subnets -------" - - Write-Host "NOTE: Each customer should have their own subnet. Do not put multiple customers in the same subnet" - $index = Read-Host "Enter number of subnet to use (1 - $($subnets.count))" - $AKS_SUBNET_NAME = $($subnets[$index - 1]) - } - while ([string]::IsNullOrWhiteSpace($AKS_SUBNET_NAME)) - } - - # verify the subnet exists - $mysubnetid = "/subscriptions/${AKS_SUBSCRIPTION_ID}/resourceGroups/${AKS_SUBNET_RESOURCE_GROUP}/providers/Microsoft.Network/virtualNetworks/${AKS_VNET_NAME}/subnets/${AKS_SUBNET_NAME}" - - $subnetexists = az resource show --ids $mysubnetid --query "id" -o tsv - if (!"$subnetexists") { - Write-Host "The subnet was not found: $mysubnetid" - Read-Host "Hit ENTER to exit" - exit 0 - } - else { - Write-Output "Found subnet: [$mysubnetid]" - } - } -} -else { - # create a vnet - # create a subnet - - # az network vnet create -g MyResourceGroup -n MyVnet --address-prefix 10.0.0.0/16 --subnet-name MySubnet --subnet-prefix 10.0.0.0/24 -} - - -# find CIDR for subnet -if ("$AKS_VNET_NAME") { - Write-Output "Looking up CIDR for Subnet: [${AKS_SUBNET_NAME}]" - $AKS_SUBNET_CIDR = az network vnet subnet show --name ${AKS_SUBNET_NAME} --resource-group ${AKS_SUBNET_RESOURCE_GROUP} --vnet-name ${AKS_VNET_NAME} --query "addressPrefix" --output tsv - - Write-Output "Subnet CIDR=[$AKS_SUBNET_CIDR]" -} - -# suggest and ask for the first static IP to use -$AKS_FIRST_STATIC_IP = "" -if ("$AKS_VNET_NAME") { - $suggestedFirstStaticIP = Get-FirstIP -ip ${AKS_SUBNET_CIDR} - - $AKS_FIRST_STATIC_IP = Read-Host "First static IP: (default: $suggestedFirstStaticIP )" - - if ([string]::IsNullOrWhiteSpace($AKS_FIRST_STATIC_IP)) { - $AKS_FIRST_STATIC_IP = "$suggestedFirstStaticIP" - } - - Write-Output "First static IP=[${AKS_FIRST_STATIC_IP}]" -} +$VnetInfo = GetVnet -subscriptionId $AKS_SUBSCRIPTION_ID +$AKS_VNET_NAME = $VnetInfo.AKS_VNET_NAME +$AKS_SUBNET_NAME=$VnetInfo.AKS_SUBNET_NAME +$AKS_SUBNET_RESOURCE_GROUP=$VnetInfo.AKS_SUBNET_RESOURCE_GROUP +$AKS_FIRST_STATIC_IP=$VnetInfo.AKS_FIRST_STATIC_IP CleanResourceGroup -resourceGroup ${AKS_PERS_RESOURCE_GROUP} -location $AKS_PERS_LOCATION -vnet $AKS_VNET_NAME ` -subnet $AKS_SUBNET_NAME -subnetResourceGroup $AKS_SUBNET_RESOURCE_GROUP ` diff --git a/azure/create-bare-metal.ps1 b/azure/create-bare-metal.ps1 index 14e8e0a..423659e 100644 --- a/azure/create-bare-metal.ps1 +++ b/azure/create-bare-metal.ps1 @@ -7,48 +7,18 @@ Write-output "--- create-bare-metal Version 2018.02.14.01 ----" $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" # $GITHUB_URL = "C:\Catalyst\git\Installscripts" -Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/common.ps1 | Invoke-Expression; +Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; # Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; -$AKS_PERS_RESOURCE_GROUP = "" -$AKS_PERS_LOCATION = "" -$AKS_CLUSTER_NAME = "" -$AKS_PERS_STORAGE_ACCOUNT_NAME = "" -$AKS_SUBSCRIPTION_ID = "" -$AKS_VNET_NAME = "" -$AKS_SUBNET_NAME = "" -$AKS_SUBNET_RESOURCE_GROUP = "" -$AKS_SSH_KEY = "" -$AKS_FIRST_STATIC_IP = "" $AKS_USE_AZURE_NETWORKING = "n" $AKS_SERVICE_PRINCIPAL_NAME = "" $AKS_SUPPORT_WINDOWS_CONTAINERS = "n" -write-output "Checking if you're already logged in..." - -# to print out the result to screen also use: | Tee-Object -Variable cmdOutput -$loggedInUser = az account show --query "user.name" --output tsv - -# get azure login and subscription -Write-Output "user: $loggedInUser" - -if ( "$loggedInUser" ) { - $SUBSCRIPTION_NAME = az account show --query "name" --output tsv - Write-Output "You are currently logged in as [$loggedInUser] into subscription [$SUBSCRIPTION_NAME]" - - Do { $confirmation = Read-Host "Do you want to use this account? (y/n)"} - while ([string]::IsNullOrWhiteSpace($confirmation)) +DownloadAzCliIfNeeded - if ($confirmation -eq 'n') { - az login - } -} -else { - # login - az login -} +write-output "Checking if you're already logged in..." -$AKS_SUBSCRIPTION_ID = az account show --query "id" --output tsv +$AKS_SUBSCRIPTION_ID = CheckIfUserLogged # ask for customerid Do { $customerid = Read-Host "Health Catalyst Customer ID (e.g., ahmn)"} @@ -57,19 +27,11 @@ while ([string]::IsNullOrWhiteSpace($customerid)) Write-Output "Customer ID: $customerid" # ask for resource group name to create -$DEFAULT_RESOURCE_GROUP = "Prod-Kub-$($customerid.ToUpper())-RG" -Do { - $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group (leave empty for $DEFAULT_RESOURCE_GROUP)" - if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) { - $AKS_PERS_RESOURCE_GROUP = $DEFAULT_RESOURCE_GROUP - } -} -while ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) +$DEFAULT_RESOURCE_GROUP = "Test-Kub-$($customerid.ToUpper())-RG" -Write-Output "Using resource group [$AKS_PERS_RESOURCE_GROUP]" - -Do { $AKS_PERS_LOCATION = Read-Host "Location: (e.g., eastus)"} -while ([string]::IsNullOrWhiteSpace($AKS_PERS_LOCATION)) +$ResourceGroupInfo = GetResourceGroupAndLocation -defaultResourceGroup $DEFAULT_RESOURCE_GROUP +$AKS_PERS_RESOURCE_GROUP=$ResourceGroupInfo.AKS_PERS_RESOURCE_GROUP +$AKS_PERS_LOCATION=$ResourceGroupInfo.AKS_PERS_LOCATION $AKS_SUPPORT_WINDOWS_CONTAINERS = Read-Host "Support Windows containers (y/n) (default: n)" if ([string]::IsNullOrWhiteSpace($AKS_SUPPORT_WINDOWS_CONTAINERS)) { @@ -101,83 +63,19 @@ if (!(Test-Path -Path "$AKS_LOCAL_FOLDER")) { New-Item -ItemType directory -Path $AKS_LOCAL_FOLDER } -# add the c:\kubernetes folder to system PATH -Write-Output "Checking if $AKS_LOCAL_FOLDER is in PATH" -$pathItems = ($env:path).split(";") -if ( $pathItems -notcontains "$AKS_LOCAL_FOLDER") { - Write-Output "Adding $AKS_LOCAL_FOLDER to system path" - $oldpath = (Get-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" -Name PATH).path - # see if the registry value is wrong too - if ( ($oldpath).split(";") -notcontains "$AKS_LOCAL_FOLDER") { - $newpath = "$oldpath;$AKS_LOCAL_FOLDER" - Read-Host "Script needs elevated privileges to set PATH. Hit ENTER to launch script to set PATH" - Start-Process powershell -verb RunAs -ArgumentList "Set-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment' -Name PATH -Value '$newPath'; Read-Host 'Press ENTER'" - Write-Output "New PATH:" - $newpath = (Get-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" -Name PATH).path - Write-Output "$newpath".split(";") - } - # for current session set the PATH too. the above only takes effect if powershell is reopened - $ENV:PATH = "$ENV:PATH;$AKS_LOCAL_FOLDER" - Write-Output "Set path for current powershell session" - Write-Output ($env:path).split(";") -} -else { - Write-Output "$AKS_LOCAL_FOLDER is already in PATH" -} - -$AKS_FOLDER_FOR_SSH_KEY = "$AKS_LOCAL_FOLDER\ssh\$AKS_PERS_RESOURCE_GROUP" - -if (!(Test-Path -Path "$AKS_FOLDER_FOR_SSH_KEY")) { - Write-Output "$AKS_FOLDER_FOR_SSH_KEY does not exist. Creating it..." - New-Item -ItemType directory -Path "$AKS_FOLDER_FOR_SSH_KEY" -} - -# check if SSH key is present. If not, generate it -$SSH_PRIVATE_KEY_FILE = "$AKS_FOLDER_FOR_SSH_KEY\id_rsa" -$SSH_PRIVATE_KEY_FILE_UNIX_PATH = "/" + (($SSH_PRIVATE_KEY_FILE -replace "\\", "/") -replace ":", "").ToLower().Trim("/") - -if (!(Test-Path "$SSH_PRIVATE_KEY_FILE")) { - Write-Output "SSH key does not exist in $SSH_PRIVATE_KEY_FILE." - Write-Output "Please open Git Bash and run:" - Write-Output "ssh-keygen -t rsa -b 2048 -q -N '' -C azureuser@linuxvm -f $SSH_PRIVATE_KEY_FILE_UNIX_PATH" - Read-Host "Hit ENTER after you're done" -} -else { - Write-Output "SSH key already exists at $SSH_PRIVATE_KEY_FILE so using it" -} +AddFolderToPathEnvironmentVariable -folder $AKS_LOCAL_FOLDER -$SSH_PUBLIC_KEY_FILE = "$AKS_FOLDER_FOR_SSH_KEY\id_rsa.pub" -$AKS_SSH_KEY = Get-Content "$SSH_PUBLIC_KEY_FILE" -First 1 -Write-Output "SSH Public Key=$AKS_SSH_KEY" +$SSHKeyInfo = CreateSSHKey -resourceGroup $AKS_PERS_RESOURCE_GROUP -localFolder $AKS_LOCAL_FOLDER +$SSH_PUBLIC_KEY_FILE= $SSHKeyInfo.SSH_PUBLIC_KEY_FILE -# download kubectl -$KUBECTL_FILE = "$AKS_LOCAL_FOLDER\kubectl.exe" -$DESIRED_KUBECTL_VERSION = "v1.9.2" -$downloadkubectl = "n" -if (!(Test-Path "$KUBECTL_FILE")) { - $downloadkubectl = "y" -} -else { - $kubectlversion = kubectl version --client=true --short=true - $kubectlversionMatches = $($kubectlversion -match "$DESIRED_KUBECTL_VERSION") - if (!$kubectlversionMatches) { - $downloadkubectl = "y" - } -} -if ( $downloadkubectl -eq "y") { - $url = "https://storage.googleapis.com/kubernetes-release/release/${DESIRED_KUBECTL_VERSION}/bin/windows/amd64/kubectl.exe" - Write-Output "Downloading kubectl.exe from url $url to $KUBECTL_FILE" - Remove-Item -Path "$KUBECTL_FILE" - (New-Object System.Net.WebClient).DownloadFile($url, $KUBECTL_FILE) -} -else { - Write-Output "kubectl already exists at $KUBECTL_FILE" -} +DownloadKubectl -localFolder $AKS_LOCAL_FOLDER -$AKS_VNET_NAME = "kubnettest" -$AKS_SUBNET_NAME = "kubsubnet" -$AKS_SUBNET_RESOURCE_GROUP = "Imran" -$AKS_SUBNET_ID = "/subscriptions/${AKS_SUBSCRIPTION_ID}/resourceGroups/${AKS_SUBNET_RESOURCE_GROUP}/providers/Microsoft.Network/virtualNetworks/${AKS_VNET_NAME}/subnets/${AKS_SUBNET_NAME}" +# see if the user wants to use a specific virtual network +$VnetInfo = GetVnet -subscriptionId $AKS_SUBSCRIPTION_ID +$AKS_VNET_NAME = $VnetInfo.AKS_VNET_NAME +$AKS_SUBNET_NAME=$VnetInfo.AKS_SUBNET_NAME +$AKS_SUBNET_RESOURCE_GROUP=$VnetInfo.AKS_SUBNET_RESOURCE_GROUP +$AKS_SUBNET_ID=$VnetInfo.AKS_SUBNET_ID CleanResourceGroup -resourceGroup ${AKS_PERS_RESOURCE_GROUP} -location $AKS_PERS_LOCATION -vnet $AKS_VNET_NAME ` -subnet $AKS_SUBNET_NAME -subnetResourceGroup $AKS_SUBNET_RESOURCE_GROUP ` diff --git a/kubernetes/common-kube.ps1 b/kubernetes/common-kube.ps1 index cb00aa3..6562ecf 100644 --- a/kubernetes/common-kube.ps1 +++ b/kubernetes/common-kube.ps1 @@ -164,4 +164,58 @@ function global:Get-ProcessByPort( [ValidateNotNullOrEmpty()] [int] $Port ) { return $p_id; } +function global:AddFolderToPathEnvironmentVariable($folder) { + # add the c:\kubernetes folder to system PATH + Write-Output "Checking if $folder is in PATH" + $pathItems = ($env:path).split(";") + if ( $pathItems -notcontains "$folder") { + Write-Output "Adding $folder to system path" + $oldpath = (Get-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" -Name PATH).path + # see if the registry value is wrong too + if ( ($oldpath).split(";") -notcontains "$folder") { + $newpath = "$oldpath;$folder" + Read-Host "Script needs elevated privileges to set PATH. Hit ENTER to launch script to set PATH" + Start-Process powershell -verb RunAs -ArgumentList "Set-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment' -Name PATH -Value '$newPath'; Read-Host 'Press ENTER'" + Write-Output "New PATH:" + $newpath = (Get-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" -Name PATH).path + Write-Output "$newpath".split(";") + } + # for current session set the PATH too. the above only takes effect if powershell is reopened + $ENV:PATH = "$ENV:PATH;$folder" + Write-Output "Set path for current powershell session" + Write-Output ($env:path).split(";") + } + else { + Write-Output "$folder is already in PATH" + } +} + +function global:DownloadKubectl($localFolder) { + # download kubectl + $kubeCtlFile = "$localFolder\kubectl.exe" + $desiredKubeCtlVersion = "v1.9.2" + $downloadkubectl = "n" + if (!(Test-Path "$kubeCtlFile")) { + $downloadkubectl = "y" + } + else { + $kubectlversion = kubectl version --client=true --short=true + $kubectlversionMatches = $($kubectlversion -match "$desiredKubeCtlVersion") + if (!$kubectlversionMatches) { + $downloadkubectl = "y" + } + } + if ( $downloadkubectl -eq "y") { + $url = "https://storage.googleapis.com/kubernetes-release/release/${desiredKubeCtlVersion}/bin/windows/amd64/kubectl.exe" + Write-Output "Downloading kubectl.exe from url $url to $kubeCtlFile" + Remove-Item -Path "$kubeCtlFile" + (New-Object System.Net.WebClient).DownloadFile($url, $kubeCtlFile) + } + else { + Write-Output "kubectl already exists at $kubeCtlFile" + } + +} + +# -------------------- Write-Host "end common-kube.ps1 version $versioncommon" \ No newline at end of file From 2259157ff0c9c7ff0b89862b7efee4a5ececdea6 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 14 Feb 2018 20:51:51 -0800 Subject: [PATCH 139/473] renumber menu items Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 47 +++++++++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 39c0c38..563e3f5 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.02.13.06" +version="2018.02.14.01" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -21,22 +21,23 @@ while [[ "$input" != "q" ]]; do echo "------ Install -------" echo "1: Add this VM as Master" echo "2: Add this VM as Worker" - echo "3: Setup Load Balancer" - echo "4: Install NLP" - echo "5: Install Realtime" + echo "3. Join a new node to this cluster" + echo "4: Setup Load Balancer" + echo "5: Install NLP" + echo "6: Install Realtime" echo "----- Troubleshooting ----" - echo "6: Show status of cluster" - echo "6: Launch Kubernetes Admin Dashboard" - echo "8: View status of DNS pods" - echo "9: Apply updates and restart all VMs" + echo "11: Show status of cluster" + echo "12: Launch Kubernetes Admin Dashboard" + echo "13: View status of DNS pods" + echo "14: Apply updates and restart all VMs" echo "------ NLP -----" - echo "10: Show status of NLP" - echo "11: Test web sites" - echo "12: Show passwords" - echo "13: Show NLP logs" - echo "14: Restart NLP" + echo "21: Show status of NLP" + echo "22: Test web sites" + echo "23: Show passwords" + echo "24: Show NLP logs" + echo "25: Restart NLP" echo "------ Realtime -----" - echo "15: Show status of realtime" + echo "31: Show status of realtime" echo "-----------" echo "q: Quit" @@ -48,30 +49,34 @@ while [[ "$input" != "q" ]]; do ;; 2) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt | bash ;; - 3) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh | bash + 3) echo "Run this command on the new node to join this cluster:" + sudo kubeadm token create --print-join-command ;; - 4) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | bash + 4) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh | bash ;; - 6) echo "Current cluster: $(kubectl config current-context)" + 5) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | bash + ;; + 11) echo "Current cluster: $(kubectl config current-context)" kubectl version --short kubectl get "deployments,pods,services,ingress,secrets" --namespace=kube-system -o wide ;; - 10) kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide + 21) kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide ;; - 12) Write-Host "MySql root password: $(ReadSecretPassword mysqlrootpassword fabricnlp)" + 23) Write-Host "MySql root password: $(ReadSecretPassword mysqlrootpassword fabricnlp)" Write-Host "MySql NLP_APP_USER password: $(ReadSecretPassword mysqlpassword fabricnlp)" Write-Host "SendGrid SMTP Relay key: $(ReadSecretPassword smtprelaypassword fabricnlp)" ;; - 13) pods=$(kubectl get pods -n fabricnlp -o jsonpath='{.items[*].metadata.name}') + 24) pods=$(kubectl get pods -n fabricnlp -o jsonpath='{.items[*].metadata.name}') for pod in $pods do Write-Output "=============== Pod: $pod =================" + kubectl describe pods $pod -n fabricnlp kubectl logs --tail=20 $pod -n fabricnlp done ;; q) echo "Sending SIGKILL signal" ;; - *) echo "Signal number $1 is not processed" + *) echo "Menu item $1 is not known" ;; esac From 585e874f6e5ca38ffcf6559cd23661bc93f03d18 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 14 Feb 2018 21:11:18 -0800 Subject: [PATCH 140/473] remove mountoptions Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 4 +-- nlp/nlp-kubernetes-storage-onprem.yml | 42 --------------------------- 2 files changed, 2 insertions(+), 44 deletions(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 563e3f5..d1e9cab 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.02.14.01" +version="2018.02.14.02" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -50,7 +50,7 @@ while [[ "$input" != "q" ]]; do 2) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt | bash ;; 3) echo "Run this command on the new node to join this cluster:" - sudo kubeadm token create --print-join-command + echo "sudo $(sudo kubeadm token create --print-join-command)" ;; 4) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh | bash ;; diff --git a/nlp/nlp-kubernetes-storage-onprem.yml b/nlp/nlp-kubernetes-storage-onprem.yml index e1d6fbb..4bf75bf 100644 --- a/nlp/nlp-kubernetes-storage-onprem.yml +++ b/nlp/nlp-kubernetes-storage-onprem.yml @@ -16,22 +16,6 @@ spec: - ReadWriteMany hostPath: path: "/mnt/data" - mountOptions: - # we need to set owner of this to mysql user (999) so it has permissions to this folder - - uid=999 - - gid=999 - # and set permissions for the user to this folder - # 0 no permissions - # 1 execute - # 2 write - # 3 write & execute - # 4 read - # 5 read & execute - # 6 read & write - # 7 read write & execute - # in 0731 0 is ignore, the 7 applies to owner, 3 applies to group, 1 applies to everyone else - - dir_mode=0731 - - file_mode=0764 claimRef: namespace: fabricnlp name: az-files-mysql @@ -70,11 +54,6 @@ spec: - ReadWriteMany hostPath: path: "/mnt/data" - mountOptions: - - dir_mode=0731 - - file_mode=0724 - - uid=1000 - - gid=1000 claimRef: namespace: fabricnlp name: az-files-solr @@ -109,11 +88,6 @@ spec: - ReadWriteMany hostPath: path: "/mnt/data" - mountOptions: - - dir_mode=0731 - - file_mode=0724 - - uid=1000 - - gid=1000 claimRef: namespace: fabricnlp name: az-files-jobs @@ -148,22 +122,6 @@ spec: - ReadWriteMany hostPath: path: "/mnt/data" - mountOptions: - # we need to set owner of this to mysql user (999) so it has permissions to this folder - - uid=999 - - gid=999 - # and set permissions for the user to this folder - # 0 no permissions - # 1 execute - # 2 write - # 3 write & execute - # 4 read - # 5 read & execute - # 6 read & write - # 7 read write & execute - # in 0731 0 is ignore, the 7 applies to owner, 3 applies to group, 1 applies to everyone else - - dir_mode=0731 - - file_mode=0764 claimRef: namespace: fabricnlp name: az-files-mysql-backup From c22694e2543a805d887cb153c8749c8e978137d5 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 14 Feb 2018 21:22:41 -0800 Subject: [PATCH 141/473] fix getting ip after installing nlp in bash Signed-off-by: HQCATALYST\imran.qureshi --- nlp/installnlpkubernetes.sh | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/nlp/installnlpkubernetes.sh b/nlp/installnlpkubernetes.sh index 7772ac7..866853c 100644 --- a/nlp/installnlpkubernetes.sh +++ b/nlp/installnlpkubernetes.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | bash # GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -version="2018.02.14.03" +version="2018.02.14.04" echo "---- installnlpkubernetes.sh version $version ------" @@ -83,10 +83,9 @@ kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,pe # kubectl create secret generic azure-secret --namespace=fabricnlp --from-literal=azurestorageaccountname="fabricnlp7storage" --from-literal=azurestorageaccountkey="/bYhXNstTodg3MdOvTMog/vDLSFrQDpxG/Zgkp2MlnjtOWhDBNQ2xOs6zjRoZYNjmJHya34MfzqdfOwXkMDN2A==" -loadBalancerIP=$(kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' --ignore-not-found=true) -if [[ -z $loadBalancerIP ]]; then - loadBalancerIP=$(kubectl get svc traefik-ingress-service-private -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}') -fi +loadBalancerIP="$(dig +short myip.opendns.com @resolver1.opendns.com)" +echo "My WAN/Public IP address: ${loadBalancerIP}" + echo "To test out the NLP services, open Git Bash and run:" echo "curl -L --verbose --header 'Host: solr.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/solr' -k" From c3d04e01fac163c6f70192d7259e4a8ee79984b3 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 14 Feb 2018 21:27:21 -0800 Subject: [PATCH 142/473] pause when displaying the logs so we can read Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index d1e9cab..ed2a89a 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -69,9 +69,16 @@ while [[ "$input" != "q" ]]; do 24) pods=$(kubectl get pods -n fabricnlp -o jsonpath='{.items[*].metadata.name}') for pod in $pods do - Write-Output "=============== Pod: $pod =================" + Write-Output "=============== Describe Pod: $pod =================" kubectl describe pods $pod -n fabricnlp + read -n1 -r -p "Press space to continue..." key + done + + for pod in $pods + do + Write-Output "=============== Logs for Pod: $pod =================" kubectl logs --tail=20 $pod -n fabricnlp + read -n1 -r -p "Press space to continue..." key done ;; q) echo "Sending SIGKILL signal" From 66bde18640a69514dc084995529847b65ff09abf Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 14 Feb 2018 21:29:10 -0800 Subject: [PATCH 143/473] clear when done with menu Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index ed2a89a..cc92d23 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.02.14.02" +version="2018.02.14.03" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -81,11 +81,12 @@ while [[ "$input" != "q" ]]; do read -n1 -r -p "Press space to continue..." key done ;; - q) echo "Sending SIGKILL signal" + q) echo "Exiting" ;; *) echo "Menu item $1 is not known" ;; esac read -p "Press Enter to Continue" < /dev/tty +clear done From 216bdc89c49404e6747aa9fc866847d1e5016b4c Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 14 Feb 2018 21:38:49 -0800 Subject: [PATCH 144/473] rm old files if user is cleaning Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 8 +++----- nlp/installnlpkubernetes.sh | 4 +++- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index cc92d23..5a59f63 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,15 +5,13 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.02.14.03" +version="2018.02.14.04" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh") # source ./kubernetes/common.sh -GetCommonVersion - input="" while [[ "$input" != "q" ]]; do @@ -71,14 +69,14 @@ while [[ "$input" != "q" ]]; do do Write-Output "=============== Describe Pod: $pod =================" kubectl describe pods $pod -n fabricnlp - read -n1 -r -p "Press space to continue..." key + read -n1 -r -p "Press space to continue..." key < /dev/tty done for pod in $pods do Write-Output "=============== Logs for Pod: $pod =================" kubectl logs --tail=20 $pod -n fabricnlp - read -n1 -r -p "Press space to continue..." key + read -n1 -r -p "Press space to continue..." key < /dev/tty done ;; q) echo "Exiting" diff --git a/nlp/installnlpkubernetes.sh b/nlp/installnlpkubernetes.sh index 866853c..754da06 100644 --- a/nlp/installnlpkubernetes.sh +++ b/nlp/installnlpkubernetes.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | bash # GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -version="2018.02.14.04" +version="2018.02.14.05" echo "---- installnlpkubernetes.sh version $version ------" @@ -29,6 +29,8 @@ else kubectl delete secret mysqlrootpassword -n fabricnlp --ignore-not-found=true kubectl delete secret mysqlpassword -n fabricnlp --ignore-not-found=true kubectl delete secret smtprelaypassword -n fabricnlp --ignore-not-found=true + + sudo rm -rf /mnt/data/* fi fi From b0059385af02bd70fdde4a1a1bec66d166389696 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 15 Feb 2018 09:24:11 -0800 Subject: [PATCH 145/473] separate status from logs in menu Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 5a59f63..9be0a82 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.02.14.04" +version="2018.02.15.01" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -16,10 +16,11 @@ input="" while [[ "$input" != "q" ]]; do echo "================ Health Catalyst version $version, common functions $(GetCommonVersion) ================" - echo "------ Install -------" + echo "------ Infrastructure -------" echo "1: Add this VM as Master" echo "2: Add this VM as Worker" echo "3. Join a new node to this cluster" + echo "------ Product Install -------" echo "4: Setup Load Balancer" echo "5: Install NLP" echo "6: Install Realtime" @@ -32,8 +33,9 @@ while [[ "$input" != "q" ]]; do echo "21: Show status of NLP" echo "22: Test web sites" echo "23: Show passwords" - echo "24: Show NLP logs" - echo "25: Restart NLP" + echo "24: Show NLP detailed status" + echo "25: Show NLP logs" + echo "26: Restart NLP" echo "------ Realtime -----" echo "31: Show status of realtime" echo "-----------" @@ -71,7 +73,8 @@ while [[ "$input" != "q" ]]; do kubectl describe pods $pod -n fabricnlp read -n1 -r -p "Press space to continue..." key < /dev/tty done - + ;; + 25) pods=$(kubectl get pods -n fabricnlp -o jsonpath='{.items[*].metadata.name}') for pod in $pods do Write-Output "=============== Logs for Pod: $pod =================" From 406e7576ea1ddb4890d386c3680e13a2ddcf56d0 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 15 Feb 2018 10:42:57 -0800 Subject: [PATCH 146/473] fix bugs in common.ps1 Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 165 +++++++++++++++++++---------------- azure/create-acs-cluster.ps1 | 6 +- azure/create-bare-metal.ps1 | 12 ++- kubernetes/busybox.yml | 14 +++ kubernetes/main.sh | 60 ++++++++----- kubernetes/setupmaster.txt | 13 +-- 6 files changed, 157 insertions(+), 113 deletions(-) create mode 100644 kubernetes/busybox.yml diff --git a/azure/common.ps1 b/azure/common.ps1 index d311856..911d9d0 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,8 +1,8 @@ # This file contains common functions for Azure # -$versioncommon = "2018.02.14.01" +$versioncommon = "2018.02.15.01" -Write-Host "Including common.ps1 version $versioncommon" +Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { return $versioncommon } @@ -18,11 +18,11 @@ function global:CreateShareInStorageAccount($storageAccountName, $resourceGroup, if ($deleteExisting) { if ($(az storage share exists -n $sharename --connection-string $AZURE_STORAGE_CONNECTION_STRING --query "exists" -o tsv)) { - Write-Output "Deleting the file share: $sharename" + Write-Host "Deleting the file share: $sharename" az storage share delete -n $sharename --connection-string $AZURE_STORAGE_CONNECTION_STRING - Write-Output "Waiting for completion of delete for the file share: $sharename" + Write-Host "Waiting for completion of delete for the file share: $sharename" Do { Start-Sleep -Seconds 5 $SHARE_EXISTS = $(az storage share exists -n $sharename --connection-string $AZURE_STORAGE_CONNECTION_STRING --query "exists" -o tsv) @@ -33,11 +33,11 @@ function global:CreateShareInStorageAccount($storageAccountName, $resourceGroup, } if ($(az storage share exists -n $sharename --connection-string $AZURE_STORAGE_CONNECTION_STRING --query "exists" -o tsv) -eq "false") { - Write-Output "Creating the file share: $sharename" + Write-Host "Creating the file share: $sharename" az storage share create -n $sharename --connection-string $AZURE_STORAGE_CONNECTION_STRING --quota 512 } else { - Write-Output "File share already exists: $sharename" + Write-Host "File share already exists: $sharename" } } function global:CreateShare($resourceGroup, $sharename, $deleteExisting) { @@ -122,7 +122,7 @@ function global:SetupCronTab($resourceGroup) { function global:UpdateOSInVMs($resourceGroup) { $virtualmachines = az vm list -g $resourceGroup --query "[?storageProfile.osDisk.osType != 'Windows'].name" -o tsv ForEach ($vm in $virtualmachines) { - Write-Output "Updating OS in vm: $vm" + Write-Host "Updating OS in vm: $vm" $cmd = "apt-get update && apt-get -y upgrade" az vm run-command invoke -g $resourceGroup -n $vm --command-id RunShellScript --scripts "$cmd" } @@ -134,15 +134,15 @@ function global:RestartVMsInResourceGroup( $resourceGroup) { Write-Host "Restarting VMs in resource group: ${resourceGroup}: $(az vm list -g $resourceGroup --query "[].name" -o tsv)" az vm restart --ids $(az vm list -g $resourceGroup --query "[].id" -o tsv) - Write-Output "Waiting for VMs to restart: $(az vm list -g $resourceGroup --query "[].name" -o tsv)" + Write-Host "Waiting for VMs to restart: $(az vm list -g $resourceGroup --query "[].name" -o tsv)" $virtualmachines = az vm list -g $resourceGroup --query "[].name" -o tsv ForEach ($vm in $virtualmachines) { - Write-Output "Waiting on $vm" + Write-Host "Waiting on $vm" Do { Start-Sleep -Seconds 1 $state = az vm show -g $resourceGroup -n $vm -d --query "powerState"; - Write-Output "Status of ${vm}: ${state}" + Write-Host "Status of ${vm}: ${state}" } while (!($state = "VM running")) } @@ -162,12 +162,12 @@ function global:SetHostFileInVms( $resourceGroup) { ForEach ($vm in $virtualmachines) { $firstprivateip = az vm list-ip-addresses -g $resourceGroup -n $vm --query "[].virtualMachine.network.privateIpAddresses[0]" -o tsv # $privateiplist= az vm show -g $AKS_PERS_RESOURCE_GROUP -n $vm -d --query privateIps -otsv - Write-Output "$firstprivateip $vm" + Write-Host "$firstprivateip $vm" $cmdToRemovePreviousHostEntries = $cmdToRemovePreviousHostEntries + "grep -v '${vm}' - | " $cmdToAddNewHostEntries = $cmdToAddNewHostEntries + " && echo '$firstprivateip $vm'" if ($vm -match "master" ) { - Write-Output "$firstprivateip $MASTER_VM_NAME" + Write-Host "$firstprivateip $MASTER_VM_NAME" $cmdToRemovePreviousHostEntries = $cmdToRemovePreviousHostEntries + "grep -v '${MASTER_VM_NAME}' - | " $cmdToAddNewHostEntries = $cmdToAddNewHostEntries + " && echo '$firstprivateip ${MASTER_VM_NAME}'" } @@ -179,14 +179,14 @@ function global:SetHostFileInVms( $resourceGroup) { Write-Host "$fullCmdToUpdateHostsFiles" ForEach ($vm in $virtualmachines) { - Write-Output "Sending command to $vm" + Write-Host "Sending command to $vm" az vm run-command invoke -g $resourceGroup -n $vm --command-id RunShellScript --scripts "$fullCmdToUpdateHostsFiles" } } function global:CleanResourceGroup($resourceGroup, $location, $vnet, $subnet, $subnetResourceGroup, $storageAccount) { - Write-Output "checking if resource group already exists" + Write-Host "checking if resource group already exists" $resourceGroupExists = az group exists --name ${resourceGroup} if ($resourceGroupExists -eq "true") { @@ -207,92 +207,92 @@ function global:CleanResourceGroup($resourceGroup, $location, $vnet, $subnet, $s } if ("$vnet") { - # Write-Output "removing route table" + # Write-Host "removing route table" # az network vnet subnet update -n "${subnet}" -g "${subnetResourceGroup}" --vnet-name "${vnet}" --route-table "" } - Write-Output "cleaning out the existing group: [$resourceGroup]" + Write-Host "cleaning out the existing group: [$resourceGroup]" #az group delete --name $resourceGroup --verbose if ($(az vm list -g $resourceGroup --query "[].id" -o tsv).length -ne 0) { - Write-Output "delete the VMs first" + Write-Host "delete the VMs first" az vm delete --ids $(az vm list -g $resourceGroup --query "[].id" -o tsv) --verbose --yes } if ($(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/networkInterfaces" --query "[].id" -o tsv ).length -ne 0) { - Write-Output "delete the nics" + Write-Host "delete the nics" az resource delete --ids $(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/networkInterfaces" --query "[].id" -o tsv ) --verbose } if ($(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Compute/disks" --query "[].id" -o tsv ).length -ne 0) { - Write-Output "delete the disks" + Write-Host "delete the disks" az resource delete --ids $(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Compute/disks" --query "[].id" -o tsv ) } if ($(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Compute/availabilitySets" --query "[].id" -o tsv ).length -ne 0) { - Write-Output "delete the availabilitysets" + Write-Host "delete the availabilitysets" az resource delete --ids $(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Compute/availabilitySets" --query "[].id" -o tsv ) } if ($(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/loadBalancers" --query "[].id" -o tsv ).length -ne 0) { - Write-Output "delete the load balancers" + Write-Host "delete the load balancers" az resource delete --ids $(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/loadBalancers" --query "[].id" -o tsv ) } if ($(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/applicationGateways" --query "[].id" -o tsv ).length -ne 0) { - Write-Output "delete the application gateways" + Write-Host "delete the application gateways" az resource delete --ids $(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/applicationGateways" --query "[].id" -o tsv ) } if ($(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Storage/storageAccounts" --query "[].id" -o tsv | Where-Object {!"$_".EndsWith("$storageAccount")}).length -ne 0) { - Write-Output "delete the storage accounts EXCEPT storage account we created in the past" + Write-Host "delete the storage accounts EXCEPT storage account we created in the past" az resource delete --ids $(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Storage/storageAccounts" --query "[].id" -o tsv | Where-Object {!"$_".EndsWith("${storageAccount}")} ) # az resource list --resource-group fabricnlp3 --resource-type "Microsoft.Storage/storageAccounts" --query "[].id" -o tsv | ForEach-Object { if (!"$_".EndsWith("${resourceGroup}storage")) { az resource delete --ids "$_" }} } if ($(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/publicIPAddresses" --query "[].id" -o tsv | Where-Object {!"$_".EndsWith("PublicIP")}).length -ne 0) { - Write-Output "delete the public IPs EXCEPT Ingress IP we created in the past" + Write-Host "delete the public IPs EXCEPT Ingress IP we created in the past" az resource delete --ids $(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/publicIPAddresses" --query "[].id" -o tsv | Where-Object {!"$_".EndsWith("PublicIP")} ) } if (("$vnet") -and ("$AKS_USE_AZURE_NETWORKING" -eq "n")) { - Write-Output "Switching the subnet to a temp route table and tempnsg so we can delete the old route table and nsg" + Write-Host "Switching the subnet to a temp route table and tempnsg so we can delete the old route table and nsg" $routeid = $(az network route-table show --name temproutetable --resource-group $resourceGroup --query "id" -o tsv) if ([string]::IsNullOrWhiteSpace($routeid)) { - Write-Output "create temproutetable" + Write-Host "create temproutetable" $routeid = az network route-table create --name temproutetable --resource-group $resourceGroup --query "id" -o tsv } $routeid = $(az network route-table show --name temproutetable --resource-group $resourceGroup --query "id" -o tsv) - Write-Output "temproutetable: $routeid" + Write-Host "temproutetable: $routeid" $nsg = $(az network nsg show --name tempnsg --resource-group $resourceGroup --query "id" -o tsv) if ([string]::IsNullOrWhiteSpace($nsg)) { - Write-Output "create tempnsg" + Write-Host "create tempnsg" $nsg = az network nsg create --name tempnsg --resource-group $resourceGroup --query "id" -o tsv } $nsg = $(az network nsg show --name tempnsg --resource-group $resourceGroup --query "id" -o tsv) - Write-Output "tempnsg: $nsg" + Write-Host "tempnsg: $nsg" - Write-Output "Updating the subnet" + Write-Host "Updating the subnet" az network vnet subnet update -n "${subnet}" -g "${subnetResourceGroup}" --vnet-name "${vnet}" --route-table "$routeid" --network-security-group "$nsg" if ($(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/routeTables" --query "[?name != 'temproutetable'].id" -o tsv ).length -ne 0) { - Write-Output "delete the routes EXCEPT the temproutetable we just created" + Write-Host "delete the routes EXCEPT the temproutetable we just created" az resource delete --ids $(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/routeTables" --query "[?name != 'temproutetable'].id" -o tsv) } if ($(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/networkSecurityGroups" --query "[?name != 'tempnsg'].id" -o tsv).length -ne 0) { - Write-Output "delete the nsgs EXCEPT the tempnsg we just created" + Write-Host "delete the nsgs EXCEPT the tempnsg we just created" az resource delete --ids $(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/networkSecurityGroups" --query "[?name != 'tempnsg'].id" -o tsv) } } else { if ($(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/routeTables" --query "[].id" -o tsv).length -ne 0) { - Write-Output "delete the routes EXCEPT the temproutetable we just created" + Write-Host "delete the routes EXCEPT the temproutetable we just created" az resource delete --ids $(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/routeTables" --query "[].id" -o tsv) } $networkSecurityGroup = "$($resourceGroup.ToLower())-nsg" if ($(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/networkSecurityGroups" --query "[?name != '${$networkSecurityGroup}'].id" -o tsv ).length -ne 0) { - Write-Output "delete the network security groups" + Write-Host "delete the network security groups" az resource delete --ids $(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/networkSecurityGroups" --query "[?name != '${$networkSecurityGroup}'].id" -o tsv ) } @@ -300,13 +300,16 @@ function global:CleanResourceGroup($resourceGroup, $location, $vnet, $subnet, $s # note: do not delete the Microsoft.Network/publicIPAddresses otherwise the loadBalancer will get a new IP } else { - Write-Output "Create the Resource Group" + Write-Host "Create the Resource Group" az group create --name $resourceGroup --location $location --verbose } } function global:CreateStorageIfNotExists($resourceGroup) { + #Create an hashtable variable + [hashtable]$Return = @{} + $location = az group show --name $resourceGroup --query "location" -o tsv $storageAccountName = Read-Host "Storage Account Name (leave empty for default)" @@ -315,9 +318,9 @@ function global:CreateStorageIfNotExists($resourceGroup) { # remove non-alphanumeric characters and use lowercase since azure doesn't allow those in a storage account $storageAccountName = $storageAccountName -replace '[^a-zA-Z0-9]', '' $storageAccountName = $storageAccountName.ToLower() - Write-Output "Using storage account: [$storageAccountName]" + Write-Host "Using storage account: [$storageAccountName]" } - Write-Output "Checking to see if storage account exists" + Write-Host "Checking to see if storage account exists" $storageAccountCanBeCreated = az storage account check-name --name $storageAccountName --query "nameAvailable" --output tsv if ($storageAccountCanBeCreated -ne "True" ) { @@ -328,38 +331,41 @@ function global:CreateStorageIfNotExists($resourceGroup) { if ($confirmation -eq 'y') { az storage account delete -n $storageAccountName -g $resourceGroup - Write-Output "Creating storage account: [${storageAccountName}]" + Write-Host "Creating storage account: [${storageAccountName}]" # https://docs.microsoft.com/en-us/azure/storage/common/storage-quickstart-create-account?tabs=azure-cli az storage account create -n $storageAccountName -g $resourceGroup -l $location --kind StorageV2 --sku Standard_LRS } } else { - Write-Output "Creating storage account: [${storageAccountName}]" + Write-Host "Creating storage account: [${storageAccountName}]" az storage account create -n $storageAccountName -g $resourceGroup -l $location --kind StorageV2 --sku Standard_LRS } - return $storageAccountName + $Return.AKS_PERS_STORAGE_ACCOUNT_NAME=$storageAccountName + return $Return } function global:GetVnet($subscriptionId) { #Create an hashtable variable [hashtable]$Return = @{} + Write-Host "Subscription Id; $subscriptionId" + Do { $confirmation = Read-Host "Would you like to connect to an existing virtual network? (y/n)"} while ([string]::IsNullOrWhiteSpace($confirmation)) if ($confirmation -eq 'y') { - Write-Output "Finding existing vnets..." + Write-Host "Finding existing vnets..." # az network vnet list --query "[].[name,resourceGroup ]" -o tsv $vnets = az network vnet list --query "[].[name]" -o tsv Do { - Write-Output "------ Existing vnets -------" + Write-Host "------ Existing vnets -------" for ($i = 1; $i -le $vnets.count; $i++) { Write-Host "$i. $($vnets[$i-1])" } - Write-Output "------ End vnets -------" + Write-Host "------ End vnets -------" $index = Read-Host "Enter number of vnet to use (1 - $($vnets.count))" $vnetName = $($vnets[$index - 1]) @@ -367,22 +373,22 @@ function global:GetVnet($subscriptionId) { while ([string]::IsNullOrWhiteSpace($vnetName)) $subnetResourceGroup = az network vnet list --query "[?name == '$vnetName'].resourceGroup" -o tsv - Write-Output "Using subnet resource group: [$subnetResourceGroup]" + Write-Host "Using subnet resource group: [$subnetResourceGroup]" - Write-Output "Finding existing subnets in $vnetName ..." + Write-Host "Finding existing subnets in $vnetName ..." $subnets = az network vnet subnet list --resource-group $subnetResourceGroup --vnet-name $vnetName --query "[].name" -o tsv if ($subnets.count -eq 1) { - Write-Output "There is only one subnet called $subnets so choosing that" + Write-Host "There is only one subnet called $subnets so choosing that" $subnetName = $subnets } else { Do { - Write-Output "------ Subnets in $vnetName -------" + Write-Host "------ Subnets in $vnetName -------" for ($i = 1; $i -le $subnets.count; $i++) { Write-Host "$i. $($subnets[$i-1])" } - Write-Output "------ End Subnets -------" + Write-Host "------ End Subnets -------" Write-Host "NOTE: Each customer should have their own subnet. Do not put multiple customers in the same subnet" $index = Read-Host "Enter number of subnet to use (1 - $($subnets.count))" @@ -392,7 +398,7 @@ function global:GetVnet($subscriptionId) { } # verify the subnet exists - $mysubnetid = "/subscriptions/${subscriptionId}/resourceGroups/${subnetResourceGroup}/providers/Microsoft.Network/virtualNetworks/${vnet}/subnets/${subnetName}" + $mysubnetid = "/subscriptions/${subscriptionId}/resourceGroups/${subnetResourceGroup}/providers/Microsoft.Network/virtualNetworks/${vnetName}/subnets/${subnetName}" $subnetexists = az resource show --ids $mysubnetid --query "id" -o tsv if (!"$subnetexists") { @@ -401,13 +407,13 @@ function global:GetVnet($subscriptionId) { exit 0 } else { - Write-Output "Found subnet: [$mysubnetid]" + Write-Host "Found subnet: [$mysubnetid]" } - Write-Output "Looking up CIDR for Subnet: [${subnetName}]" - $subnetCidr = az network vnet subnet show --name ${subnetName} --resource-group ${subnetResourceGroup} --vnet-name ${vnet} --query "addressPrefix" --output tsv + Write-Host "Looking up CIDR for Subnet: [${subnetName}]" + $subnetCidr = az network vnet subnet show --name ${subnetName} --resource-group ${subnetResourceGroup} --vnet-name ${vnetname} --query "addressPrefix" --output tsv - Write-Output "Subnet CIDR=[$subnetCidr]" + Write-Host "Subnet CIDR=[$subnetCidr]" # suggest and ask for the first static IP to use $firstStaticIP = "" $suggestedFirstStaticIP = Get-FirstIP -ip ${subnetCidr} @@ -418,7 +424,7 @@ function global:GetVnet($subscriptionId) { $firstStaticIP = "$suggestedFirstStaticIP" } - Write-Output "First static IP=[${firstStaticIP}]" + Write-Host "First static IP=[${firstStaticIP}]" } else { # create a vnet @@ -451,7 +457,7 @@ function global:DownloadAzCliIfNeeded() { # we should get: azure-cli (2.0.22) $azversionMatches = $($azcurrentversion -match "$desiredAzClVersion") if (!$azversionMatches) { - Write-Output "az version $azcurrentversion is not the same as desired version: $desiredAzClVersion" + Write-Host "az version $azcurrentversion is not the same as desired version: $desiredAzClVersion" $downloadazcli = $True } } @@ -459,17 +465,17 @@ function global:DownloadAzCliIfNeeded() { if ($downloadazcli) { $azCliFile = ([System.IO.Path]::GetTempPath() + ("az-cli-latest.msi")) $url = "https://azurecliprod.blob.core.windows.net/msi/azure-cli-latest.msi" - Write-Output "Downloading az-cli-latest.msi from url $url to $azCliFile" + Write-Host "Downloading az-cli-latest.msi from url $url to $azCliFile" If (Test-Path $azCliFile) { Remove-Item $azCliFile } (New-Object System.Net.WebClient).DownloadFile($url, $azCliFile) # https://kevinmarquette.github.io/2016-10-21-powershell-installing-msi-files/ - Write-Output "Running MSI to install az" + Write-Host "Running MSI to install az" $azCliInstallLog = ([System.IO.Path]::GetTempPath() + ('az-cli-latest.log')) # msiexec flags: https://msdn.microsoft.com/en-us/library/windows/desktop/aa367988(v=vs.85).aspx Start-Process -Verb runAs msiexec.exe -Wait -ArgumentList "/i $azCliFile /qn /L*e $azCliInstallLog" - Write-Output "Finished installing az-cli-latest.msi" + Write-Host "Finished installing az-cli-latest.msi" } } @@ -481,7 +487,7 @@ function global:CreateSSHKey($resourceGroup, $localFolder) { $folderForSSHKey = "$localFolder\ssh\$resourceGroup" if (!(Test-Path -Path "$folderForSSHKey")) { - Write-Output "$folderForSSHKey does not exist. Creating it..." + Write-Host "$folderForSSHKey does not exist. Creating it..." New-Item -ItemType directory -Path "$folderForSSHKey" } @@ -490,18 +496,18 @@ function global:CreateSSHKey($resourceGroup, $localFolder) { $privateKeyFileUnixPath = "/" + (($privateKeyFile -replace "\\", "/") -replace ":", "").ToLower().Trim("/") if (!(Test-Path "$privateKeyFile")) { - Write-Output "SSH key does not exist in $privateKeyFile." - Write-Output "Please open Git Bash and run:" - Write-Output "ssh-keygen -t rsa -b 2048 -q -N '' -C azureuser@linuxvm -f $privateKeyFileUnixPath" + Write-Host "SSH key does not exist in $privateKeyFile." + Write-Host "Please open Git Bash and run:" + Write-Host "ssh-keygen -t rsa -b 2048 -q -N '' -C azureuser@linuxvm -f $privateKeyFileUnixPath" Read-Host "Hit ENTER after you're done" } else { - Write-Output "SSH key already exists at $privateKeyFile so using it" + Write-Host "SSH key already exists at $privateKeyFile so using it" } $publicKeyFile = "$folderForSSHKey\id_rsa.pub" $sshKey = Get-Content "$publicKeyFile" -First 1 - Write-Output "SSH Public Key=$sshKey" + Write-Host "SSH Public Key=$sshKey" $Return.AKS_SSH_KEY = $sshKey @@ -513,17 +519,21 @@ function global:CreateSSHKey($resourceGroup, $localFolder) { } function global:CheckIfUserLogged() { - write-output "Checking if you're already logged in..." + + #Create an hashtable variable + [hashtable]$Return = @{} + + Write-Host "Checking if you're already logged in..." # to print out the result to screen also use: | Tee-Object -Variable cmdOutput - $loggedInUser = az account show --query "user.name" --output tsv + $loggedInUser = $(az account show --query "user.name" --output tsv) # get azure login and subscription - Write-Output "user: $loggedInUser" + Write-Host "user ${loggedInUser}" if ( "$loggedInUser" ) { $subscriptionName = az account show --query "name" --output tsv - Write-Output "You are currently logged in as [$loggedInUser] into subscription [$subscriptionName]" + Write-Host "You are currently logged in as [$loggedInUser] into subscription [$subscriptionName]" Do { $confirmation = Read-Host "Do you want to use this account? (y/n)"} while ([string]::IsNullOrWhiteSpace($confirmation)) @@ -537,9 +547,12 @@ function global:CheckIfUserLogged() { az login } - $subscriptionId = az account show --query "id" --output tsv + $subscriptionId = $(az account show --query "id" --output tsv) + + Write-Host "SubscriptionId: ${subscriptionId}" - Return $subscriptionId + $Return.AKS_SUBSCRIPTION_ID= "$subscriptionId" + return $Return } function global:GetResourceGroupAndLocation($defaultResourceGroup) { @@ -554,16 +567,16 @@ function global:GetResourceGroupAndLocation($defaultResourceGroup) { } while ([string]::IsNullOrWhiteSpace($resourceGroup)) - Write-Output "Using resource group [$resourceGroup]" + Write-Host "Using resource group [$resourceGroup]" - Write-Output "checking if resource group already exists" - $resourceGroupExists = az group exists --name ${AKS_PERS_RESOURCE_GROUP} + Write-Host "checking if resource group already exists" + $resourceGroupExists = az group exists --name ${resourceGroup} if ($resourceGroupExists -ne "true") { - Write-Output "Create the Resource Group" - az group create --name $resourceGroup --location $AKS_PERS_LOCATION --verbose - Do { $location = Read-Host "Location: (e.g., eastus)"} while ([string]::IsNullOrWhiteSpace($location)) + + Write-Host "Create the Resource Group" + az group create --name $resourceGroup --location $location --verbose } $Return.AKS_PERS_RESOURCE_GROUP = $resourceGroup diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index a391a19..d70d4a0 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -1,4 +1,4 @@ -Write-output "--- create-acs-cluster Version 2018.02.13.01 ----" +Write-output "--- create-acs-cluster Version 2018.02.15.01 ----" # # This script is meant for quick & easy install via: @@ -17,7 +17,7 @@ write-output "Checking if you're already logged in..." DownloadAzCliIfNeeded -$AKS_SUBSCRIPTION_ID = CheckIfUserLogged +$AKS_SUBSCRIPTION_ID = $(CheckIfUserLogged).AKS_SUBSCRIPTION_ID # ask for customerid Do { $customerid = Read-Host "Health Catalyst Customer ID (e.g., ahmn)"} @@ -103,7 +103,7 @@ acs-engine version $AKS_CLUSTER_NAME = "kubcluster" # $AKS_CLUSTER_NAME = Read-Host "Cluster Name: (e.g., fabricnlpcluster)" -$AKS_PERS_STORAGE_ACCOUNT_NAME = CreateStorageIfNotExists -resourceGroup $AKS_PERS_RESOURCE_GROUP +$AKS_PERS_STORAGE_ACCOUNT_NAME = $(CreateStorageIfNotExists -resourceGroup $AKS_PERS_RESOURCE_GROUP).AKS_PERS_STORAGE_ACCOUNT_NAME # see if the user wants to use a specific virtual network $VnetInfo = GetVnet -subscriptionId $AKS_SUBSCRIPTION_ID diff --git a/azure/create-bare-metal.ps1 b/azure/create-bare-metal.ps1 index 423659e..0d9bdad 100644 --- a/azure/create-bare-metal.ps1 +++ b/azure/create-bare-metal.ps1 @@ -1,4 +1,4 @@ -Write-output "--- create-bare-metal Version 2018.02.14.01 ----" +Write-output "--- create-bare-metal Version 2018.02.15.01 ----" # # This script is meant for quick & easy install via: @@ -7,8 +7,8 @@ Write-output "--- create-bare-metal Version 2018.02.14.01 ----" $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" # $GITHUB_URL = "C:\Catalyst\git\Installscripts" -Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; -# Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; +# Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; +Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; $AKS_USE_AZURE_NETWORKING = "n" $AKS_SERVICE_PRINCIPAL_NAME = "" @@ -16,9 +16,7 @@ $AKS_SUPPORT_WINDOWS_CONTAINERS = "n" DownloadAzCliIfNeeded -write-output "Checking if you're already logged in..." - -$AKS_SUBSCRIPTION_ID = CheckIfUserLogged +$AKS_SUBSCRIPTION_ID = $(CheckIfUserLogged).AKS_SUBSCRIPTION_ID # ask for customerid Do { $customerid = Read-Host "Health Catalyst Customer ID (e.g., ahmn)"} @@ -142,7 +140,7 @@ Write-Output "Found ID for ${AKS_PERS_NETWORK_SECURITY_GROUP}: $nsgid" Write-Output "Setting NSG into subnet" az network vnet subnet update -n "${AKS_SUBNET_NAME}" -g "${AKS_SUBNET_RESOURCE_GROUP}" --vnet-name "${AKS_VNET_NAME}" --network-security-group "$nsgid" --query "provisioningState" -o tsv -$AKS_PERS_STORAGE_ACCOUNT_NAME = CreateStorageIfNotExists -resourceGroup $AKS_PERS_RESOURCE_GROUP +$AKS_PERS_STORAGE_ACCOUNT_NAME = $(CreateStorageIfNotExists -resourceGroup $AKS_PERS_RESOURCE_GROUP).AKS_PERS_STORAGE_ACCOUNT_NAME CreateShareInStorageAccount -storageAccountName $AKS_PERS_STORAGE_ACCOUNT_NAME -resourceGroup $AKS_PERS_RESOURCE_GROUP -sharename fabricnlp diff --git a/kubernetes/busybox.yml b/kubernetes/busybox.yml new file mode 100644 index 0000000..c2db4b3 --- /dev/null +++ b/kubernetes/busybox.yml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Pod +metadata: + name: busybox + namespace: default +spec: + containers: + - name: busybox + image: busybox + command: + - sleep + - "3600" + imagePullPolicy: IfNotPresent + restartPolicy: Always diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 9be0a82..3e70d95 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.02.15.01" +version="2018.02.15.02" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -20,24 +20,25 @@ while [[ "$input" != "q" ]]; do echo "1: Add this VM as Master" echo "2: Add this VM as Worker" echo "3. Join a new node to this cluster" - echo "------ Product Install -------" echo "4: Setup Load Balancer" - echo "5: Install NLP" - echo "6: Install Realtime" + echo "5: Test DNS" + echo "------ Product Install -------" + echo "15: Install NLP" + echo "16: Install Realtime" echo "----- Troubleshooting ----" - echo "11: Show status of cluster" - echo "12: Launch Kubernetes Admin Dashboard" - echo "13: View status of DNS pods" - echo "14: Apply updates and restart all VMs" + echo "21: Show status of cluster" + echo "22: Launch Kubernetes Admin Dashboard" + echo "23: View status of DNS pods" + echo "24: Apply updates and restart all VMs" echo "------ NLP -----" - echo "21: Show status of NLP" - echo "22: Test web sites" - echo "23: Show passwords" - echo "24: Show NLP detailed status" - echo "25: Show NLP logs" - echo "26: Restart NLP" + echo "31: Show status of NLP" + echo "32: Test web sites" + echo "33: Show passwords" + echo "34: Show NLP detailed status" + echo "35: Show NLP logs" + echo "36: Restart NLP" echo "------ Realtime -----" - echo "31: Show status of realtime" + echo "41: Show status of realtime" echo "-----------" echo "q: Quit" @@ -54,19 +55,36 @@ while [[ "$input" != "q" ]]; do ;; 4) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh | bash ;; - 5) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | bash + 5) # from https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#debugging-dns-resolution + echo "To resolve DNS issues: https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#debugging-dns-resolution" + echo "----------- Checking if DNS pods are running -----------" + kubectl get pods --namespace=kube-system -l k8s-app=kube-dns + echo "----------- Checking if DNS service is running -----------" + kubectl get svc --namespace=kube-system + echo "----------- Checking if DNS endpoints are exposed ------------" + kubectl get ep kube-dns --namespace=kube-system + echo "----------- Checking logs for DNS service -----------" + kubectl logs --namespace=kube-system $(kubectl get pods --namespace=kube-system -l k8s-app=kube-dns -o name) -c kubedns + kubectl logs --namespace=kube-system $(kubectl get pods --namespace=kube-system -l k8s-app=kube-dns -o name) -c dnsmasq + kubectl logs --namespace=kube-system $(kubectl get pods --namespace=kube-system -l k8s-app=kube-dns -o name) -c sidecar + echo "----------- Creating a busybox pod to test DNS -----------" + kubectl create -f https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/busybox.yaml + kubectl exec -ti busybox -- nslookup kubernetes.default + kubectl exec busybox cat /etc/resolv.conf + ;; + 15) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | bash ;; - 11) echo "Current cluster: $(kubectl config current-context)" + 21) echo "Current cluster: $(kubectl config current-context)" kubectl version --short kubectl get "deployments,pods,services,ingress,secrets" --namespace=kube-system -o wide ;; - 21) kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide + 31) kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide ;; - 23) Write-Host "MySql root password: $(ReadSecretPassword mysqlrootpassword fabricnlp)" + 33) Write-Host "MySql root password: $(ReadSecretPassword mysqlrootpassword fabricnlp)" Write-Host "MySql NLP_APP_USER password: $(ReadSecretPassword mysqlpassword fabricnlp)" Write-Host "SendGrid SMTP Relay key: $(ReadSecretPassword smtprelaypassword fabricnlp)" ;; - 24) pods=$(kubectl get pods -n fabricnlp -o jsonpath='{.items[*].metadata.name}') + 34) pods=$(kubectl get pods -n fabricnlp -o jsonpath='{.items[*].metadata.name}') for pod in $pods do Write-Output "=============== Describe Pod: $pod =================" @@ -74,7 +92,7 @@ while [[ "$input" != "q" ]]; do read -n1 -r -p "Press space to continue..." key < /dev/tty done ;; - 25) pods=$(kubectl get pods -n fabricnlp -o jsonpath='{.items[*].metadata.name}') + 35) pods=$(kubectl get pods -n fabricnlp -o jsonpath='{.items[*].metadata.name}') for pod in $pods do Write-Output "=============== Logs for Pod: $pod =================" diff --git a/kubernetes/setupmaster.txt b/kubernetes/setupmaster.txt index a564a89..15b8439 100644 --- a/kubernetes/setupmaster.txt +++ b/kubernetes/setupmaster.txt @@ -6,7 +6,7 @@ set -e # # -version="2018.02.13.01" +version="2018.02.15.01" echo "---- setupmaster version $version ----" u="$(whoami)" @@ -22,7 +22,8 @@ sudo cp -f /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config # calico -kubectl apply -f https://docs.projectcalico.org/v2.6/getting-started/kubernetes/installation/hosted/kubeadm/1.6/calico.yaml +# from https://docs.projectcalico.org/v3.0/getting-started/kubernetes/installation/hosted/kubeadm/ +kubectl apply -f https://docs.projectcalico.org/v3.0/getting-started/kubernetes/installation/hosted/kubeadm/1.7/calico.yaml # flannel # kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.9.1/Documentation/kube-flannel.yml @@ -38,14 +39,14 @@ kubectl get pods -n kube-system -o wide # kubectl run nginx --image=nginx --port=80 # Register the Microsoft RedHat repository -sudo yum-config-manager \ - --add-repo \ - https://packages.microsoft.com/config/rhel/7/prod.repo +# sudo yum-config-manager \ +# --add-repo \ +# https://packages.microsoft.com/config/rhel/7/prod.repo # curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo # Install PowerShell -sudo yum install -y powershell +# sudo yum install -y powershell # Start PowerShell # pwsh From 0b9b77823fb722774c1210a742b0b0b63d45aade Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 15 Feb 2018 12:31:32 -0800 Subject: [PATCH 147/473] wait for pods to become ready. set log rotation for docker Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 5 +++-- azure/create-bare-metal.ps1 | 32 ++++++++++++-------------------- kubernetes/busybox.yml | 8 ++++++++ kubernetes/cleannode.sh | 7 +++++++ kubernetes/main.sh | 4 ++-- kubernetes/setupmaster.txt | 20 ++++++++++++++++++-- kubernetes/setupnode.txt | 9 ++++++++- 7 files changed, 58 insertions(+), 27 deletions(-) create mode 100644 kubernetes/cleannode.sh diff --git a/azure/common.ps1 b/azure/common.ps1 index 911d9d0..2faa0a3 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.02.15.01" +$versioncommon = "2018.02.15.02" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -253,7 +253,7 @@ function global:CleanResourceGroup($resourceGroup, $location, $vnet, $subnet, $s az resource delete --ids $(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/publicIPAddresses" --query "[].id" -o tsv | Where-Object {!"$_".EndsWith("PublicIP")} ) } - if (("$vnet") -and ("$AKS_USE_AZURE_NETWORKING" -eq "n")) { + if (("$vnet") ) { Write-Host "Switching the subnet to a temp route table and tempnsg so we can delete the old route table and nsg" $routeid = $(az network route-table show --name temproutetable --resource-group $resourceGroup --query "id" -o tsv) @@ -512,6 +512,7 @@ function global:CreateSSHKey($resourceGroup, $localFolder) { $Return.AKS_SSH_KEY = $sshKey $Return.SSH_PUBLIC_KEY_FILE = $publicKeyFile + $Return.SSH_PRIVATE_KEY_FILE_UNIX_PATH = $privateKeyFileUnixPath #Return the hashtable Return $Return diff --git a/azure/create-bare-metal.ps1 b/azure/create-bare-metal.ps1 index 0d9bdad..1d879ea 100644 --- a/azure/create-bare-metal.ps1 +++ b/azure/create-bare-metal.ps1 @@ -28,23 +28,14 @@ Write-Output "Customer ID: $customerid" $DEFAULT_RESOURCE_GROUP = "Test-Kub-$($customerid.ToUpper())-RG" $ResourceGroupInfo = GetResourceGroupAndLocation -defaultResourceGroup $DEFAULT_RESOURCE_GROUP -$AKS_PERS_RESOURCE_GROUP=$ResourceGroupInfo.AKS_PERS_RESOURCE_GROUP -$AKS_PERS_LOCATION=$ResourceGroupInfo.AKS_PERS_LOCATION +$AKS_PERS_RESOURCE_GROUP = $ResourceGroupInfo.AKS_PERS_RESOURCE_GROUP +$AKS_PERS_LOCATION = $ResourceGroupInfo.AKS_PERS_LOCATION $AKS_SUPPORT_WINDOWS_CONTAINERS = Read-Host "Support Windows containers (y/n) (default: n)" if ([string]::IsNullOrWhiteSpace($AKS_SUPPORT_WINDOWS_CONTAINERS)) { $AKS_SUPPORT_WINDOWS_CONTAINERS = "n" } -if ("$AKS_SUPPORT_WINDOWS_CONTAINERS" -eq "n") { - # azure networking is not supported with windows containers - # do we want to use azure networking or kube networking - $AKS_USE_AZURE_NETWORKING = Read-Host "Use Azure networking (default: y)" - if ([string]::IsNullOrWhiteSpace($AKS_USE_AZURE_NETWORKING)) { - $AKS_USE_AZURE_NETWORKING = "y" - } -} - # service account to own the resources $AKS_SERVICE_PRINCIPAL_NAME = Read-Host "Service account to use (default: ${AKS_PERS_RESOURCE_GROUP}Kubernetes)" if ([string]::IsNullOrWhiteSpace($AKS_SERVICE_PRINCIPAL_NAME)) { @@ -64,25 +55,29 @@ if (!(Test-Path -Path "$AKS_LOCAL_FOLDER")) { AddFolderToPathEnvironmentVariable -folder $AKS_LOCAL_FOLDER $SSHKeyInfo = CreateSSHKey -resourceGroup $AKS_PERS_RESOURCE_GROUP -localFolder $AKS_LOCAL_FOLDER -$SSH_PUBLIC_KEY_FILE= $SSHKeyInfo.SSH_PUBLIC_KEY_FILE +$SSH_PUBLIC_KEY_FILE = $SSHKeyInfo.SSH_PUBLIC_KEY_FILE +$SSH_PRIVATE_KEY_FILE_UNIX_PATH = $SSHKeyInfo.SSH_PRIVATE_KEY_FILE_UNIX_PATH DownloadKubectl -localFolder $AKS_LOCAL_FOLDER # see if the user wants to use a specific virtual network $VnetInfo = GetVnet -subscriptionId $AKS_SUBSCRIPTION_ID $AKS_VNET_NAME = $VnetInfo.AKS_VNET_NAME -$AKS_SUBNET_NAME=$VnetInfo.AKS_SUBNET_NAME -$AKS_SUBNET_RESOURCE_GROUP=$VnetInfo.AKS_SUBNET_RESOURCE_GROUP -$AKS_SUBNET_ID=$VnetInfo.AKS_SUBNET_ID +$AKS_SUBNET_NAME = $VnetInfo.AKS_SUBNET_NAME +$AKS_SUBNET_RESOURCE_GROUP = $VnetInfo.AKS_SUBNET_RESOURCE_GROUP +$AKS_SUBNET_ID = $VnetInfo.AKS_SUBNET_ID CleanResourceGroup -resourceGroup ${AKS_PERS_RESOURCE_GROUP} -location $AKS_PERS_LOCATION -vnet $AKS_VNET_NAME ` -subnet $AKS_SUBNET_NAME -subnetResourceGroup $AKS_SUBNET_RESOURCE_GROUP ` -storageAccount $AKS_PERS_STORAGE_ACCOUNT_NAME -# az network vnet create -g $AKS_PERS_RESOURCE_GROUP -n $AKS_VNET_NAME --address-prefix 10.0.0.0/16 --subnet-name $AKS_SUBNET_NAME --subnet-prefix 10.0.0.0/19 +$AKS_PERS_STORAGE_ACCOUNT_NAME = $(CreateStorageIfNotExists -resourceGroup $AKS_PERS_RESOURCE_GROUP).AKS_PERS_STORAGE_ACCOUNT_NAME + +CreateShareInStorageAccount -storageAccountName $AKS_PERS_STORAGE_ACCOUNT_NAME -resourceGroup $AKS_PERS_RESOURCE_GROUP -sharename fabricnlp $MASTER_VM_NAME = "k8s-master" $NETWORK_SECURITY_GROUP = "cluster-nsg" +Write-Host "Creating network security group: $NETWORK_SECURITY_GROUP" $nsg = az network nsg create --name $NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP --query "id" -o tsv Write-Output "Creating rule: allow_ssh" @@ -100,6 +95,7 @@ az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $NETWORK_SECUR --protocol Tcp --description "allow RDP access." ` --query "provisioningState" -o tsv +$sourceTagForHttpAccess = "Internet" if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "HttpPort" --nsg-name $NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { Write-Output "Creating rule: HttpPort" az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $NETWORK_SECURITY_GROUP -n HttpPort --priority 500 ` @@ -140,10 +136,6 @@ Write-Output "Found ID for ${AKS_PERS_NETWORK_SECURITY_GROUP}: $nsgid" Write-Output "Setting NSG into subnet" az network vnet subnet update -n "${AKS_SUBNET_NAME}" -g "${AKS_SUBNET_RESOURCE_GROUP}" --vnet-name "${AKS_VNET_NAME}" --network-security-group "$nsgid" --query "provisioningState" -o tsv -$AKS_PERS_STORAGE_ACCOUNT_NAME = $(CreateStorageIfNotExists -resourceGroup $AKS_PERS_RESOURCE_GROUP).AKS_PERS_STORAGE_ACCOUNT_NAME - -CreateShareInStorageAccount -storageAccountName $AKS_PERS_STORAGE_ACCOUNT_NAME -resourceGroup $AKS_PERS_RESOURCE_GROUP -sharename fabricnlp - Write-Output "Creating master" $PUBLIC_IP_NAME = "${MASTER_VM_NAME}PublicIP" $ip = az network public-ip create --name $PUBLIC_IP_NAME ` diff --git a/kubernetes/busybox.yml b/kubernetes/busybox.yml index c2db4b3..d7d81af 100644 --- a/kubernetes/busybox.yml +++ b/kubernetes/busybox.yml @@ -4,6 +4,14 @@ metadata: name: busybox namespace: default spec: + nodeSelector: + node-role.kubernetes.io/master: "" + # https://stackoverflow.com/questions/41999756/how-to-force-pods-deployments-to-master-nodes + # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + tolerations: + - key: node-role.kubernetes.io/master + operator: Exists + effect: NoSchedule containers: - name: busybox image: busybox diff --git a/kubernetes/cleannode.sh b/kubernetes/cleannode.sh new file mode 100644 index 0000000..7819380 --- /dev/null +++ b/kubernetes/cleannode.sh @@ -0,0 +1,7 @@ + +sudo kubeadm reset +sudo yum remove -y kubelet-1.9.2-0 kubeadm-1.9.2-0 kubectl-1.9.2-0 kubernetes-cni-0.6.0-0 + +sudo yum -y remove docker-engine.x86_64 docker-ce docker-engine-selinux.noarch docker-cimprov.x86_64 +sudo rm -rf /var/lib/docker + diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 3e70d95..488f90e 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.02.15.02" +version="2018.02.15.03" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -68,7 +68,7 @@ while [[ "$input" != "q" ]]; do kubectl logs --namespace=kube-system $(kubectl get pods --namespace=kube-system -l k8s-app=kube-dns -o name) -c dnsmasq kubectl logs --namespace=kube-system $(kubectl get pods --namespace=kube-system -l k8s-app=kube-dns -o name) -c sidecar echo "----------- Creating a busybox pod to test DNS -----------" - kubectl create -f https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/busybox.yaml + kubectl create -f https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/busybox.yml kubectl exec -ti busybox -- nslookup kubernetes.default kubectl exec busybox cat /etc/resolv.conf ;; diff --git a/kubernetes/setupmaster.txt b/kubernetes/setupmaster.txt index 15b8439..869ba7a 100644 --- a/kubernetes/setupmaster.txt +++ b/kubernetes/setupmaster.txt @@ -6,13 +6,13 @@ set -e # # -version="2018.02.15.01" +version="2018.02.15.02" echo "---- setupmaster version $version ----" u="$(whoami)" echo "User name: $u" -sudo kubeadm init --kubernetes-version=v1.9.2 --pod-network-cidr=192.168.0.0/16 +sudo kubeadm init --kubernetes-version=v1.9.3 --pod-network-cidr=192.168.0.0/16 sleep 10s # for logs, sudo journalctl -xeu kubelet @@ -35,6 +35,22 @@ kubectl get nodes kubectl get pods -n kube-system -o wide +pods=$(kubectl get pods -n kube-system -o jsonpath='{.items[*].metadata.name}') +waitingonPod="n" +while [[ ! -z $waitingonPod ]]; do + waitingonPod="" + echo "---- waiting until all pods are running ---" + + for pod in $pods; do + podstatus=$(kubectl get pods $pod -n kube-system -o jsonpath='{.status.phase}') + echo "$pod: $podstatus" + if [[ $podstatus != "Running" ]]; then + waitingonPod=$pod + fi + done + sleep 5 +done + # testing # kubectl run nginx --image=nginx --port=80 diff --git a/kubernetes/setupnode.txt b/kubernetes/setupnode.txt index d3a7d4c..f3559ce 100644 --- a/kubernetes/setupnode.txt +++ b/kubernetes/setupnode.txt @@ -25,10 +25,17 @@ sudo yum-config-manager \ sudo yum install -y docker-engine-17.03.1.ce-1.el7.centos # https://kubernetes.io/docs/setup/independent/install-kubeadm/ +# log rotation for docker: https://docs.docker.com/config/daemon/ +# https://docs.docker.com/config/containers/logging/json-file/ sudo mkdir -p /etc/docker cat << EOF | sudo tee -a /etc/docker/daemon.json { - "exec-opts": ["native.cgroupdriver=systemd"] + "exec-opts": ["native.cgroupdriver=systemd"], + "log-driver": "json-file", + "log-opts": { + "max-size": "10m", + "max-file": "5" + } } EOF From 654bcd1d9f0459f2c1765926708bed1c160a2e1f Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 15 Feb 2018 12:32:39 -0800 Subject: [PATCH 148/473] delete busybox when we're done Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 488f90e..4461cd0 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -71,6 +71,7 @@ while [[ "$input" != "q" ]]; do kubectl create -f https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/busybox.yml kubectl exec -ti busybox -- nslookup kubernetes.default kubectl exec busybox cat /etc/resolv.conf + kubectl delete -f https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/busybox.yml ;; 15) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | bash ;; From 9d8b5125ec9d11a078c55972b33ca0c6b461332f Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 15 Feb 2018 13:08:17 -0800 Subject: [PATCH 149/473] wait for pods to get to running state Signed-off-by: HQCATALYST\imran.qureshi --- azure/create-bare-metal.ps1 | 11 +++++++++-- kubernetes/common.sh | 22 +++++++++++++++++++++- kubernetes/main.sh | 9 +++++---- kubernetes/setupmaster.txt | 23 ++++++----------------- kubernetes/setupnode.txt | 6 ++++-- kubernetes/setupnode2.txt | 2 +- nlp/installnlpkubernetes.sh | 2 ++ 7 files changed, 48 insertions(+), 27 deletions(-) diff --git a/azure/create-bare-metal.ps1 b/azure/create-bare-metal.ps1 index 1d879ea..bc4fada 100644 --- a/azure/create-bare-metal.ps1 +++ b/azure/create-bare-metal.ps1 @@ -136,6 +136,10 @@ Write-Output "Found ID for ${AKS_PERS_NETWORK_SECURITY_GROUP}: $nsgid" Write-Output "Setting NSG into subnet" az network vnet subnet update -n "${AKS_SUBNET_NAME}" -g "${AKS_SUBNET_RESOURCE_GROUP}" --vnet-name "${AKS_VNET_NAME}" --network-security-group "$nsgid" --query "provisioningState" -o tsv +# to list available images: az vm image list --output table +# to list CentOS images: az vm image list --offer CentOS --publisher OpenLogic --all --output table +$urn = "OpenLogic:CentOS:7.4:latest" + Write-Output "Creating master" $PUBLIC_IP_NAME = "${MASTER_VM_NAME}PublicIP" $ip = az network public-ip create --name $PUBLIC_IP_NAME ` @@ -150,7 +154,8 @@ az network nic create ` --public-ip-address $PUBLIC_IP_NAME az vm create --resource-group $AKS_PERS_RESOURCE_GROUP --name $MASTER_VM_NAME ` - --image CentOs --size Standard_DS2_v2 ` + --image "$urn" ` + --size Standard_DS2_v2 ` --admin-username azureuser --ssh-key-value $SSH_PUBLIC_KEY_FILE ` --nics "${MASTER_VM_NAME}-nic" @@ -171,7 +176,8 @@ az network nic create ` --public-ip-address $PUBLIC_IP_NAME az vm create --resource-group $AKS_PERS_RESOURCE_GROUP --name $vm ` - --image CentOs --size Standard_DS2_v2 ` + --image "$urn" ` + --size Standard_DS2_v2 ` --admin-username azureuser --ssh-key-value $SSH_PUBLIC_KEY_FILE ` --nics "${vm}-nic" @@ -194,6 +200,7 @@ az network nic create ` # Update for your admin password $AdminPassword = "ChangeYourAdminPassword1" +# to list Windows images: az vm image list --offer WindowsServer --all --output table $urn = "MicrosoftWindowsServer:WindowsServerSemiAnnual:Datacenter-Core-1709-with-Containers-smalldisk:1709.0.20171012" $urn = "Win2016Datacenter" az vm create --resource-group $AKS_PERS_RESOURCE_GROUP --name $vm ` diff --git a/kubernetes/common.sh b/kubernetes/common.sh index 6060712..f358276 100644 --- a/kubernetes/common.sh +++ b/kubernetes/common.sh @@ -1,5 +1,5 @@ -versioncommon="2018.02.14.02" +versioncommon="2018.02.15.01" echo "Including common.ps1 version $versioncommon" function GetCommonVersion() { @@ -160,3 +160,23 @@ function AskForPasswordAnyCharacters () { Write-Output "$secretname secret already set so will reuse it" fi } + +function WaitForPodsInNamespace(){ + local $namespace=$1 + + pods=$(kubectl get pods -n $namespace -o jsonpath='{.items[*].metadata.name}') + waitingonPod="n" + while [[ ! -z $waitingonPod ]]; do + waitingonPod="" + echo "---- waiting until all pods are running ---" + + for pod in $pods; do + podstatus=$(kubectl get pods $pod -n kube-system -o jsonpath='{.status.phase}') + echo "$pod: $podstatus" + if [[ $podstatus != "Running" ]]; then + waitingonPod=$pod + fi + done + sleep 5 + done +} \ No newline at end of file diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 4461cd0..6cab064 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.02.15.03" +version="2018.02.15.04" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -69,7 +69,7 @@ while [[ "$input" != "q" ]]; do kubectl logs --namespace=kube-system $(kubectl get pods --namespace=kube-system -l k8s-app=kube-dns -o name) -c sidecar echo "----------- Creating a busybox pod to test DNS -----------" kubectl create -f https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/busybox.yml - kubectl exec -ti busybox -- nslookup kubernetes.default + kubectl exec busybox nslookup kubernetes.default kubectl exec busybox cat /etc/resolv.conf kubectl delete -f https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/busybox.yml ;; @@ -77,7 +77,7 @@ while [[ "$input" != "q" ]]; do ;; 21) echo "Current cluster: $(kubectl config current-context)" kubectl version --short - kubectl get "deployments,pods,services,ingress,secrets" --namespace=kube-system -o wide + kubectl get "deployments,pods,services,nodes,ingress,secrets" --namespace=kube-system -o wide ;; 31) kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide ;; @@ -107,6 +107,7 @@ while [[ "$input" != "q" ]]; do ;; esac -read -p "Press Enter to Continue" < /dev/tty +echo "" +read -p "[Press Enter to Continue]" < /dev/tty clear done diff --git a/kubernetes/setupmaster.txt b/kubernetes/setupmaster.txt index 869ba7a..db955ea 100644 --- a/kubernetes/setupmaster.txt +++ b/kubernetes/setupmaster.txt @@ -2,11 +2,14 @@ set -e # # This script is meant for quick & easy install via: -# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupmaster.txt | sh +# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupmaster.txt | bash # # -version="2018.02.15.02" +GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" +source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh") + +version="2018.02.15.03" echo "---- setupmaster version $version ----" u="$(whoami)" @@ -35,21 +38,7 @@ kubectl get nodes kubectl get pods -n kube-system -o wide -pods=$(kubectl get pods -n kube-system -o jsonpath='{.items[*].metadata.name}') -waitingonPod="n" -while [[ ! -z $waitingonPod ]]; do - waitingonPod="" - echo "---- waiting until all pods are running ---" - - for pod in $pods; do - podstatus=$(kubectl get pods $pod -n kube-system -o jsonpath='{.status.phase}') - echo "$pod: $podstatus" - if [[ $podstatus != "Running" ]]; then - waitingonPod=$pod - fi - done - sleep 5 -done +WaitForPodsInNamespace kube-system # testing # kubectl run nginx --image=nginx --port=80 diff --git a/kubernetes/setupnode.txt b/kubernetes/setupnode.txt index f3559ce..8714668 100644 --- a/kubernetes/setupnode.txt +++ b/kubernetes/setupnode.txt @@ -2,11 +2,11 @@ set -e # # This script is meant for quick & easy install via: -# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt | sh +# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt | bash # # -version="2018.02.06.01" +version="2018.02.15.01" echo "---- setupnode version $version ----" u="$(whoami)" @@ -22,6 +22,8 @@ sudo yum-config-manager \ --add-repo \ https://docs.docker.com/v1.13/engine/installation/linux/repo_files/centos/docker.repo +sudo yum repolist + sudo yum install -y docker-engine-17.03.1.ce-1.el7.centos # https://kubernetes.io/docs/setup/independent/install-kubeadm/ diff --git a/kubernetes/setupnode2.txt b/kubernetes/setupnode2.txt index 9ef0cb4..d39e821 100644 --- a/kubernetes/setupnode2.txt +++ b/kubernetes/setupnode2.txt @@ -29,7 +29,7 @@ EOF # install kubeadm # https://saurabh-deochake.github.io/posts/2017/07/post-1/ sudo setenforce 0 -sudo yum install -y kubelet-1.9.2-0 kubeadm-1.9.2-0 kubectl-1.9.2-0 kubernetes-cni-0.6.0-0 +sudo yum install -y kubelet-1.9.3-0 kubeadm-1.9.3-0 kubectl-1.9.3-0 kubernetes-cni-0.6.0-0 sudo systemctl enable kubelet && sudo systemctl start kubelet # Some users on RHEL/CentOS 7 have reported issues with traffic being routed incorrectly due to iptables being bypassed diff --git a/nlp/installnlpkubernetes.sh b/nlp/installnlpkubernetes.sh index 754da06..ff81126 100644 --- a/nlp/installnlpkubernetes.sh +++ b/nlp/installnlpkubernetes.sh @@ -80,6 +80,8 @@ ReadYmlAndReplaceCustomer $GITHUB_URL $ingressTemplate $customerid | kubectl cre kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide +WaitForPodsInNamespace fabricnlp + # to get a shell # kubectl exec -it fabric.nlp.nlpwebserver-85c8cb86b5-gkphh bash --namespace=fabricnlp From 1e71c3d3d0aa044e28a50478d56ce6906f460bf7 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 15 Feb 2018 13:14:48 -0800 Subject: [PATCH 150/473] fix bug in setting namespace Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/common.sh | 8 ++++---- kubernetes/setup-loadbalancer.sh | 4 +++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/kubernetes/common.sh b/kubernetes/common.sh index f358276..30b60f7 100644 --- a/kubernetes/common.sh +++ b/kubernetes/common.sh @@ -1,7 +1,7 @@ -versioncommon="2018.02.15.01" +versioncommon="2018.02.15.02" -echo "Including common.ps1 version $versioncommon" +echo "--- Including common.sh version $versioncommon ---" function GetCommonVersion() { echo $versioncommon } @@ -162,7 +162,7 @@ function AskForPasswordAnyCharacters () { } function WaitForPodsInNamespace(){ - local $namespace=$1 + local namespace="$1" pods=$(kubectl get pods -n $namespace -o jsonpath='{.items[*].metadata.name}') waitingonPod="n" @@ -171,7 +171,7 @@ function WaitForPodsInNamespace(){ echo "---- waiting until all pods are running ---" for pod in $pods; do - podstatus=$(kubectl get pods $pod -n kube-system -o jsonpath='{.status.phase}') + podstatus=$(kubectl get pods $pod -n $namespace -o jsonpath='{.status.phase}') echo "$pod: $podstatus" if [[ $podstatus != "Running" ]]; then waitingonPod=$pod diff --git a/kubernetes/setup-loadbalancer.sh b/kubernetes/setup-loadbalancer.sh index 2bb378e..742ee7e 100644 --- a/kubernetes/setup-loadbalancer.sh +++ b/kubernetes/setup-loadbalancer.sh @@ -40,8 +40,10 @@ ReadYmlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/ingress-deploymen | kubectl create -f - loadbalancer="traefik-ingress-service-public" +loadBalancerIP="$(dig +short myip.opendns.com @resolver1.opendns.com)" +echo "My WAN/Public IP address: ${loadBalancerIP}" echo "To test out the load balancer, open Git Bash and run:" -echo "curl -L --verbose --header 'Host: dashboard.$dnsrecordname' 'http://$EXTERNAL_IP/' -k" +echo "curl -L --verbose --header 'Host: dashboard.$dnsrecordname' 'http://$loadBalancerIP/' -k" echo "---- end of setup-loadbalancer.sh version $version ------" \ No newline at end of file From 5b432650f7b7e8c5f3ed7fdaa2d98584ab57e8b9 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 15 Feb 2018 13:17:01 -0800 Subject: [PATCH 151/473] increment version Signed-off-by: HQCATALYST\imran.qureshi --- azure/create-bare-metal.ps1 | 4 ++-- kubernetes/common.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/azure/create-bare-metal.ps1 b/azure/create-bare-metal.ps1 index bc4fada..d93e5c1 100644 --- a/azure/create-bare-metal.ps1 +++ b/azure/create-bare-metal.ps1 @@ -7,8 +7,8 @@ Write-output "--- create-bare-metal Version 2018.02.15.01 ----" $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" # $GITHUB_URL = "C:\Catalyst\git\Installscripts" -# Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; -Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; +Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; +# Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; $AKS_USE_AZURE_NETWORKING = "n" $AKS_SERVICE_PRINCIPAL_NAME = "" diff --git a/kubernetes/common.sh b/kubernetes/common.sh index 30b60f7..64e544a 100644 --- a/kubernetes/common.sh +++ b/kubernetes/common.sh @@ -1,5 +1,5 @@ -versioncommon="2018.02.15.02" +versioncommon="2018.02.15.03" echo "--- Including common.sh version $versioncommon ---" function GetCommonVersion() { From 32a63a2203b22e56772d76ef28610ffd33955ff4 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 15 Feb 2018 13:23:23 -0800 Subject: [PATCH 152/473] check for empty password Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/common-kube.ps1 | 6 +++--- kubernetes/common.sh | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/kubernetes/common-kube.ps1 b/kubernetes/common-kube.ps1 index 6562ecf..a6c59af 100644 --- a/kubernetes/common-kube.ps1 +++ b/kubernetes/common-kube.ps1 @@ -66,7 +66,7 @@ function global:SaveSecretValue($secretname, $valueName, $value, $namespace) { function global:AskForPassword ($secretname, $prompt, $namespace) { if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} - if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.password}' --ignore-not-found=true))) { + if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data}' --ignore-not-found=true))) { $mysqlrootpassword = "" # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html @@ -90,7 +90,7 @@ function global:AskForPassword ($secretname, $prompt, $namespace) { function global:AskForPasswordAnyCharacters ($secretname, $prompt, $namespace, $defaultvalue) { if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} - if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.password}' --ignore-not-found=true))) { + if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data}' --ignore-not-found=true))) { $mysqlrootpassword = "" # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html @@ -114,7 +114,7 @@ function global:AskForPasswordAnyCharacters ($secretname, $prompt, $namespace, $ function global:AskForSecretValue ($secretname, $prompt, $namespace) { if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} - if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.value}' --ignore-not-found=true))) { + if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data}' --ignore-not-found=true))) { $certhostname = "" Do { diff --git a/kubernetes/common.sh b/kubernetes/common.sh index 64e544a..1caca09 100644 --- a/kubernetes/common.sh +++ b/kubernetes/common.sh @@ -1,5 +1,5 @@ -versioncommon="2018.02.15.03" +versioncommon="2018.02.15.04" echo "--- Including common.sh version $versioncommon ---" function GetCommonVersion() { @@ -116,7 +116,7 @@ function AskForPassword () { namespace="default" fi - if [[ -z "$(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.password}' --ignore-not-found=true)" ]]; then + if [[ -z "$(kubectl get secret $secretname -n $namespace -o jsonpath='{.data}' --ignore-not-found=true)" ]]; then mysqlrootpassword="" # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script @@ -144,7 +144,7 @@ function AskForPasswordAnyCharacters () { namespace="default" fi - if [[ -z "$(kubectl get secret $secretname -n $namespace -o jsonpath='{.data.password}' --ignore-not-found=true)" ]]; then + if [[ -z "$(kubectl get secret $secretname -n $namespace -o jsonpath='{.data}' --ignore-not-found=true)" ]]; then mysqlrootpassword="" # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script From ddfd9bae9448c974bb40739485181835e81f82ae Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 15 Feb 2018 13:34:45 -0800 Subject: [PATCH 153/473] wait for busybox to run before calling it Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 6cab064..6424b4e 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.02.15.04" +version="2018.02.15.05" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -69,6 +69,10 @@ while [[ "$input" != "q" ]]; do kubectl logs --namespace=kube-system $(kubectl get pods --namespace=kube-system -l k8s-app=kube-dns -o name) -c sidecar echo "----------- Creating a busybox pod to test DNS -----------" kubectl create -f https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/busybox.yml + while [[ "$(kubectl get pods busybox -n default -o jsonpath='{.status.phase}')" != "Running" ]]; do + echo "." + sleep 5 + done kubectl exec busybox nslookup kubernetes.default kubectl exec busybox cat /etc/resolv.conf kubectl delete -f https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/busybox.yml From 05fd5cc5522630ce3337235537f3ce9b1b5afc97 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 15 Feb 2018 16:16:50 -0800 Subject: [PATCH 154/473] switch to using flannel instead of calico Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/calico.yaml | 448 ++++++++++++++++++++++++++++++++++++ kubernetes/cleannode.sh | 3 +- kubernetes/flannel.yml | 40 +++- kubernetes/main.sh | 7 + kubernetes/setupmaster.txt | 16 +- nlp/installnlpkubernetes.sh | 1 + nlp/nlp-namespace.yml | 6 + 7 files changed, 507 insertions(+), 14 deletions(-) create mode 100644 kubernetes/calico.yaml create mode 100644 nlp/nlp-namespace.yml diff --git a/kubernetes/calico.yaml b/kubernetes/calico.yaml new file mode 100644 index 0000000..301db5b --- /dev/null +++ b/kubernetes/calico.yaml @@ -0,0 +1,448 @@ +# Calico Version v3.0.2 +# https://docs.projectcalico.org/v3.0/releases#v3.0.2 +# This manifest includes the following component versions: +# calico/node:v3.0.2 +# calico/cni:v2.0.0 +# calico/kube-controllers:v2.0.0 + +# This ConfigMap is used to configure a self-hosted Calico installation. +kind: ConfigMap +apiVersion: v1 +metadata: + name: calico-config + namespace: kube-system +data: + # The location of your etcd cluster. This uses the Service clusterIP + # defined below. + etcd_endpoints: "http://10.96.232.136:6666" + + # Configure the Calico backend to use. + calico_backend: "bird" + + # The CNI network configuration to install on each node. + cni_network_config: |- + { + "name": "k8s-pod-network", + "cniVersion": "0.3.0", + "plugins": [ + { + "type": "calico", + "etcd_endpoints": "__ETCD_ENDPOINTS__", + "log_level": "info", + "mtu": 1500, + "ipam": { + "type": "calico-ipam" + }, + "policy": { + "type": "k8s", + "k8s_api_root": "https://__KUBERNETES_SERVICE_HOST__:__KUBERNETES_SERVICE_PORT__", + "k8s_auth_token": "__SERVICEACCOUNT_TOKEN__" + }, + "kubernetes": { + "kubeconfig": "/etc/cni/net.d/__KUBECONFIG_FILENAME__" + } + }, + { + "type": "portmap", + "snat": true, + "capabilities": {"portMappings": true} + } + ] + } + + +--- + +# This manifest installs the Calico etcd on the kubeadm master. This uses a DaemonSet +# to force it to run on the master even when the master isn't schedulable, and uses +# nodeSelector to ensure it only runs on the master. +apiVersion: extensions/v1beta1 +kind: DaemonSet +metadata: + name: calico-etcd + namespace: kube-system + labels: + k8s-app: calico-etcd +spec: + template: + metadata: + labels: + k8s-app: calico-etcd + annotations: + # Mark this pod as a critical add-on; when enabled, the critical add-on scheduler + # reserves resources for critical add-on pods so that they can be rescheduled after + # a failure. This annotation works in tandem with the toleration below. + scheduler.alpha.kubernetes.io/critical-pod: '' + spec: + # Only run this pod on the master. + tolerations: + # this taint is set by all kubelets running `--cloud-provider=external` + # so we should tolerate it to schedule the calico pods + - key: node.cloudprovider.kubernetes.io/uninitialized + value: "true" + effect: NoSchedule + - key: node-role.kubernetes.io/master + effect: NoSchedule + # Allow this pod to be rescheduled while the node is in "critical add-ons only" mode. + # This, along with the annotation above marks this pod as a critical add-on. + - key: CriticalAddonsOnly + operator: Exists + nodeSelector: + node-role.kubernetes.io/master: "" + hostNetwork: true + containers: + - name: calico-etcd + image: quay.io/coreos/etcd:v3.1.10 + env: + - name: CALICO_ETCD_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + command: + - /usr/local/bin/etcd + args: + - --name=calico + - --data-dir=/var/etcd/calico-data + - --advertise-client-urls=http://$CALICO_ETCD_IP:6666 + - --listen-client-urls=http://0.0.0.0:6666 + - --listen-peer-urls=http://0.0.0.0:6667 + - --auto-compaction-retention=1 + volumeMounts: + - name: var-etcd + mountPath: /var/etcd + volumes: + - name: var-etcd + hostPath: + path: /var/etcd + +--- + +# This manifest installs the Service which gets traffic to the Calico +# etcd. +apiVersion: v1 +kind: Service +metadata: + labels: + k8s-app: calico-etcd + name: calico-etcd + namespace: kube-system +spec: + # Select the calico-etcd pod running on the master. + selector: + k8s-app: calico-etcd + # This ClusterIP needs to be known in advance, since we cannot rely + # on DNS to get access to etcd. + clusterIP: 10.96.232.136 + ports: + - port: 6666 + +--- + +# This manifest installs the calico/node container, as well +# as the Calico CNI plugins and network config on +# each master and worker node in a Kubernetes cluster. +kind: DaemonSet +apiVersion: extensions/v1beta1 +metadata: + name: calico-node + namespace: kube-system + labels: + k8s-app: calico-node +spec: + selector: + matchLabels: + k8s-app: calico-node + updateStrategy: + type: RollingUpdate + rollingUpdate: + maxUnavailable: 1 + template: + metadata: + labels: + k8s-app: calico-node + annotations: + # Mark this pod as a critical add-on; when enabled, the critical add-on scheduler + # reserves resources for critical add-on pods so that they can be rescheduled after + # a failure. This annotation works in tandem with the toleration below. + scheduler.alpha.kubernetes.io/critical-pod: '' + spec: + hostNetwork: true + tolerations: + # this taint is set by all kubelets running `--cloud-provider=external` + # so we should tolerate it to schedule the calico pods + - key: node.cloudprovider.kubernetes.io/uninitialized + value: "true" + effect: NoSchedule + - key: node-role.kubernetes.io/master + effect: NoSchedule + # Allow this pod to be rescheduled while the node is in "critical add-ons only" mode. + # This, along with the annotation above marks this pod as a critical add-on. + - key: CriticalAddonsOnly + operator: Exists + serviceAccountName: calico-cni-plugin + # Minimize downtime during a rolling upgrade or deletion; tell Kubernetes to do a "force + # deletion": https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods. + terminationGracePeriodSeconds: 0 + containers: + # Runs calico/node container on each Kubernetes node. This + # container programs network policy and routes on each + # host. + - name: calico-node + image: quay.io/calico/node:v3.0.2 + env: + # The location of the Calico etcd cluster. + - name: ETCD_ENDPOINTS + valueFrom: + configMapKeyRef: + name: calico-config + key: etcd_endpoints + # Enable BGP. Disable to enforce policy only. + - name: CALICO_NETWORKING_BACKEND + valueFrom: + configMapKeyRef: + name: calico-config + key: calico_backend + # Cluster type to identify the deployment type + - name: CLUSTER_TYPE + value: "kubeadm,bgp" + # Disable file logging so `kubectl logs` works. + - name: CALICO_DISABLE_FILE_LOGGING + value: "true" + # Set noderef for node controller. + - name: CALICO_K8S_NODE_REF + valueFrom: + fieldRef: + fieldPath: spec.nodeName + # Set Felix endpoint to host default action to ACCEPT. + - name: FELIX_DEFAULTENDPOINTTOHOSTACTION + value: "ACCEPT" + # Configure the IP Pool from which Pod IPs will be chosen. + - name: CALICO_IPV4POOL_CIDR + value: "192.168.0.0/16" + - name: CALICO_IPV4POOL_IPIP + value: "Always" + # Disable IPv6 on Kubernetes. + - name: FELIX_IPV6SUPPORT + value: "false" + # Set MTU for tunnel device used if ipip is enabled + - name: FELIX_IPINIPMTU + value: "1440" + # Set Felix logging to "info" + - name: FELIX_LOGSEVERITYSCREEN + value: "info" + # Auto-detect the BGP IP address. + - name: IP + value: "" + - name: FELIX_HEALTHENABLED + value: "true" + securityContext: + privileged: true + resources: + requests: + cpu: 250m + livenessProbe: + httpGet: + path: /liveness + port: 9099 + periodSeconds: 10 + initialDelaySeconds: 10 + failureThreshold: 6 + readinessProbe: + httpGet: + path: /readiness + port: 9099 + periodSeconds: 10 + volumeMounts: + - mountPath: /lib/modules + name: lib-modules + readOnly: true + - mountPath: /var/run/calico + name: var-run-calico + readOnly: false + # This container installs the Calico CNI binaries + # and CNI network config file on each node. + - name: install-cni + image: quay.io/calico/cni:v2.0.0 + command: ["/install-cni.sh"] + env: + # Name of the CNI config file to create. + - name: CNI_CONF_NAME + value: "10-calico.conflist" + # The location of the Calico etcd cluster. + - name: ETCD_ENDPOINTS + valueFrom: + configMapKeyRef: + name: calico-config + key: etcd_endpoints + # The CNI network config to install on each node. + - name: CNI_NETWORK_CONFIG + valueFrom: + configMapKeyRef: + name: calico-config + key: cni_network_config + volumeMounts: + - mountPath: /host/opt/cni/bin + name: cni-bin-dir + - mountPath: /host/etc/cni/net.d + name: cni-net-dir + volumes: + # Used by calico/node. + - name: lib-modules + hostPath: + path: /lib/modules + - name: var-run-calico + hostPath: + path: /var/run/calico + # Used to install CNI. + - name: cni-bin-dir + hostPath: + path: /opt/cni/bin + - name: cni-net-dir + hostPath: + path: /etc/cni/net.d + +--- + +# This manifest deploys the Calico Kubernetes controllers. +# See https://github.com/projectcalico/kube-controllers +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: calico-kube-controllers + namespace: kube-system + labels: + k8s-app: calico-kube-controllers +spec: + # The controllers can only have a single active instance. + replicas: 1 + strategy: + type: Recreate + template: + metadata: + name: calico-kube-controllers + namespace: kube-system + labels: + k8s-app: calico-kube-controllers + annotations: + # Mark this pod as a critical add-on; when enabled, the critical add-on scheduler + # reserves resources for critical add-on pods so that they can be rescheduled after + # a failure. This annotation works in tandem with the toleration below. + scheduler.alpha.kubernetes.io/critical-pod: '' + spec: + # The controllers must run in the host network namespace so that + # it isn't governed by policy that would prevent it from working. + hostNetwork: true + tolerations: + # this taint is set by all kubelets running `--cloud-provider=external` + # so we should tolerate it to schedule the calico pods + - key: node.cloudprovider.kubernetes.io/uninitialized + value: "true" + effect: NoSchedule + - key: node-role.kubernetes.io/master + effect: NoSchedule + # Allow this pod to be rescheduled while the node is in "critical add-ons only" mode. + # This, along with the annotation above marks this pod as a critical add-on. + - key: CriticalAddonsOnly + operator: Exists + serviceAccountName: calico-kube-controllers + containers: + - name: calico-kube-controllers + image: quay.io/calico/kube-controllers:v2.0.0 + env: + # The location of the Calico etcd cluster. + - name: ETCD_ENDPOINTS + valueFrom: + configMapKeyRef: + name: calico-config + key: etcd_endpoints + # The location of the Kubernetes API. Use the default Kubernetes + # service for API access. + - name: K8S_API + value: "https://kubernetes.default:443" + # Choose which controllers to run. + - name: ENABLED_CONTROLLERS + value: policy,profile,workloadendpoint,node + # Since we're running in the host namespace and might not have KubeDNS + # access, configure the container's /etc/hosts to resolve + # kubernetes.default to the correct service clusterIP. + - name: CONFIGURE_ETC_HOSTS + value: "true" + +--- + +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: ClusterRoleBinding +metadata: + name: calico-cni-plugin +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: calico-cni-plugin +subjects: +- kind: ServiceAccount + name: calico-cni-plugin + namespace: kube-system + +--- + +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1beta1 +metadata: + name: calico-cni-plugin +rules: + - apiGroups: [""] + resources: + - pods + - nodes + verbs: + - get + +--- + +apiVersion: v1 +kind: ServiceAccount +metadata: + name: calico-cni-plugin + namespace: kube-system + +--- + +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: ClusterRoleBinding +metadata: + name: calico-kube-controllers +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: calico-kube-controllers +subjects: +- kind: ServiceAccount + name: calico-kube-controllers + namespace: kube-system + +--- + +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1beta1 +metadata: + name: calico-kube-controllers +rules: + - apiGroups: + - "" + - extensions + resources: + - pods + - namespaces + - networkpolicies + - nodes + verbs: + - watch + - list + +--- + +apiVersion: v1 +kind: ServiceAccount +metadata: + name: calico-kube-controllers + namespace: kube-system diff --git a/kubernetes/cleannode.sh b/kubernetes/cleannode.sh index 7819380..4ed7ea4 100644 --- a/kubernetes/cleannode.sh +++ b/kubernetes/cleannode.sh @@ -1,7 +1,8 @@ sudo kubeadm reset -sudo yum remove -y kubelet-1.9.2-0 kubeadm-1.9.2-0 kubectl-1.9.2-0 kubernetes-cni-0.6.0-0 +sudo yum remove -y kubelet kubeadm kubectl kubernetes-cni sudo yum -y remove docker-engine.x86_64 docker-ce docker-engine-selinux.noarch docker-cimprov.x86_64 sudo rm -rf /var/lib/docker +sudo shutdown -r now diff --git a/kubernetes/flannel.yml b/kubernetes/flannel.yml index 61bbc00..a1d1f24 100644 --- a/kubernetes/flannel.yml +++ b/kubernetes/flannel.yml @@ -55,10 +55,21 @@ data: cni-conf.json: | { "name": "cbr0", - "type": "flannel", - "delegate": { - "isDefaultGateway": true - } + "plugins": [ + { + "type": "flannel", + "delegate": { + "hairpinMode": true, + "isDefaultGateway": true + } + }, + { + "type": "portmap", + "capabilities": { + "portMappings": true + } + } + ] } net-conf.json: | { @@ -93,13 +104,13 @@ spec: serviceAccountName: flannel initContainers: - name: install-cni - image: quay.io/coreos/flannel:v0.9.1-amd64 + image: quay.io/coreos/flannel:v0.10.0-amd64 command: - cp args: - -f - /etc/kube-flannel/cni-conf.json - - /etc/cni/net.d/10-flannel.conf + - /etc/cni/net.d/10-flannel.conflist volumeMounts: - name: cni mountPath: /etc/cni/net.d @@ -107,8 +118,19 @@ spec: mountPath: /etc/kube-flannel/ containers: - name: kube-flannel - image: quay.io/coreos/flannel:v0.9.1-amd64 - command: [ "/opt/bin/flanneld", "--ip-masq", "--kube-subnet-mgr" ] + image: quay.io/coreos/flannel:v0.10.0-amd64 + command: + - /opt/bin/flanneld + args: + - --ip-masq + - --kube-subnet-mgr + resources: + requests: + cpu: "100m" + memory: "50Mi" + limits: + cpu: "100m" + memory: "50Mi" securityContext: privileged: true env: @@ -134,4 +156,4 @@ spec: path: /etc/cni/net.d - name: flannel-cfg configMap: - name: kube-flannel-cfg + name: kube-flannel-cfg \ No newline at end of file diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 6424b4e..88b27dd 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -68,6 +68,12 @@ while [[ "$input" != "q" ]]; do kubectl logs --namespace=kube-system $(kubectl get pods --namespace=kube-system -l k8s-app=kube-dns -o name) -c dnsmasq kubectl logs --namespace=kube-system $(kubectl get pods --namespace=kube-system -l k8s-app=kube-dns -o name) -c sidecar echo "----------- Creating a busybox pod to test DNS -----------" + while [[ ! -z "$(kubectl get pods busybox -n default -o jsonpath='{.status.phase}' --ignore-not-found=true)"]]; do + echo "Waiting for busybox to terminate" + echo "." + sleep 5 + done + kubectl create -f https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/busybox.yml while [[ "$(kubectl get pods busybox -n default -o jsonpath='{.status.phase}')" != "Running" ]]; do echo "." @@ -96,6 +102,7 @@ while [[ "$input" != "q" ]]; do kubectl describe pods $pod -n fabricnlp read -n1 -r -p "Press space to continue..." key < /dev/tty done + kubectl exec busybox -- nslookup mysqlserver.fabricnlp.svc.cluster.local ;; 35) pods=$(kubectl get pods -n fabricnlp -o jsonpath='{.items[*].metadata.name}') for pod in $pods diff --git a/kubernetes/setupmaster.txt b/kubernetes/setupmaster.txt index db955ea..6b38bc3 100644 --- a/kubernetes/setupmaster.txt +++ b/kubernetes/setupmaster.txt @@ -9,15 +9,20 @@ set -e GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh") -version="2018.02.15.03" +version="2018.02.15.04" echo "---- setupmaster version $version ----" u="$(whoami)" echo "User name: $u" -sudo kubeadm init --kubernetes-version=v1.9.3 --pod-network-cidr=192.168.0.0/16 +# for calico network plugin +# sudo kubeadm init --kubernetes-version=v1.9.3 --pod-network-cidr=192.168.0.0/16 + +# for flannel network plugin +sudo kubeadm init --kubernetes-version=v1.9.3 --pod-network-cidr=10.244.0.0/16 + +# which CNI plugin to use: https://chrislovecnm.com/kubernetes/cni/choosing-a-cni-provider/ -sleep 10s # for logs, sudo journalctl -xeu kubelet mkdir -p $HOME/.kube @@ -26,14 +31,17 @@ sudo chown $(id -u):$(id -g) $HOME/.kube/config # calico # from https://docs.projectcalico.org/v3.0/getting-started/kubernetes/installation/hosted/kubeadm/ -kubectl apply -f https://docs.projectcalico.org/v3.0/getting-started/kubernetes/installation/hosted/kubeadm/1.7/calico.yaml +# kubectl apply -f ${GITHUB_URL}/kubernetes/calico.yaml # flannel # kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.9.1/Documentation/kube-flannel.yml +kubectl apply -f ${GITHUB_URL}/kubernetes/flannel.yaml # enable master to run containers # kubectl taint nodes --all node-role.kubernetes.io/master- +# kubectl create -f "$GITHUB_URL/azure/cafe-kube-dns.yml" + kubectl get nodes kubectl get pods -n kube-system -o wide diff --git a/nlp/installnlpkubernetes.sh b/nlp/installnlpkubernetes.sh index ff81126..221e498 100644 --- a/nlp/installnlpkubernetes.sh +++ b/nlp/installnlpkubernetes.sh @@ -15,6 +15,7 @@ source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh") if [[ -z $(kubectl get namespace fabricnlp --ignore-not-found=true) ]]; then echo "Creating namespace: fabricnlp" + # kubectl create -f $GITHUB_URL/nlp/nlp-namespace.yml kubectl create namespace fabricnlp else while : ; do diff --git a/nlp/nlp-namespace.yml b/nlp/nlp-namespace.yml new file mode 100644 index 0000000..5575d7e --- /dev/null +++ b/nlp/nlp-namespace.yml @@ -0,0 +1,6 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: fabricnlp + labels: + ns: fabricnlp From 747f37119e55687e86ec29d7c7aa0fc69a9764a1 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 15 Feb 2018 16:21:34 -0800 Subject: [PATCH 155/473] add space Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 88b27dd..71f1876 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.02.15.05" +version="2018.02.15.06" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -68,7 +68,7 @@ while [[ "$input" != "q" ]]; do kubectl logs --namespace=kube-system $(kubectl get pods --namespace=kube-system -l k8s-app=kube-dns -o name) -c dnsmasq kubectl logs --namespace=kube-system $(kubectl get pods --namespace=kube-system -l k8s-app=kube-dns -o name) -c sidecar echo "----------- Creating a busybox pod to test DNS -----------" - while [[ ! -z "$(kubectl get pods busybox -n default -o jsonpath='{.status.phase}' --ignore-not-found=true)"]]; do + while [[ ! -z "$(kubectl get pods busybox -n default -o jsonpath='{.status.phase}' --ignore-not-found=true)" ]]; do echo "Waiting for busybox to terminate" echo "." sleep 5 From ec59c3b60c090c023014a89c16b8d02abb35dbc0 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 15 Feb 2018 17:02:34 -0800 Subject: [PATCH 156/473] added option to mount drive Signed-off-by: HQCATALYST\imran.qureshi --- azure/create-bare-metal.ps1 | 5 ++--- kubernetes/common.sh | 45 ++++++++++++++++++++++++++++++++++++- kubernetes/main.sh | 18 +++++++++------ kubernetes/setupmaster.txt | 6 ++++- 4 files changed, 62 insertions(+), 12 deletions(-) diff --git a/azure/create-bare-metal.ps1 b/azure/create-bare-metal.ps1 index d93e5c1..8ecd491 100644 --- a/azure/create-bare-metal.ps1 +++ b/azure/create-bare-metal.ps1 @@ -1,4 +1,4 @@ -Write-output "--- create-bare-metal Version 2018.02.15.01 ----" +Write-output "--- create-bare-metal Version 2018.02.15.02 ----" # # This script is meant for quick & easy install via: @@ -10,7 +10,6 @@ $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/m Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; # Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; -$AKS_USE_AZURE_NETWORKING = "n" $AKS_SERVICE_PRINCIPAL_NAME = "" $AKS_SUPPORT_WINDOWS_CONTAINERS = "n" @@ -73,7 +72,7 @@ CleanResourceGroup -resourceGroup ${AKS_PERS_RESOURCE_GROUP} -location $AKS_PERS $AKS_PERS_STORAGE_ACCOUNT_NAME = $(CreateStorageIfNotExists -resourceGroup $AKS_PERS_RESOURCE_GROUP).AKS_PERS_STORAGE_ACCOUNT_NAME -CreateShareInStorageAccount -storageAccountName $AKS_PERS_STORAGE_ACCOUNT_NAME -resourceGroup $AKS_PERS_RESOURCE_GROUP -sharename fabricnlp +CreateShareInStorageAccount -storageAccountName $AKS_PERS_STORAGE_ACCOUNT_NAME -resourceGroup $AKS_PERS_RESOURCE_GROUP -sharename "data" $MASTER_VM_NAME = "k8s-master" $NETWORK_SECURITY_GROUP = "cluster-nsg" diff --git a/kubernetes/common.sh b/kubernetes/common.sh index 1caca09..658870f 100644 --- a/kubernetes/common.sh +++ b/kubernetes/common.sh @@ -1,5 +1,5 @@ -versioncommon="2018.02.15.04" +versioncommon="2018.02.15.05" echo "--- Including common.sh version $versioncommon ---" function GetCommonVersion() { @@ -179,4 +179,47 @@ function WaitForPodsInNamespace(){ done sleep 5 done +} + +function mountSMB(){ + read -p "path to SMB share (e.g., //myserver.mydomain/myshare): " pathToShare < /dev/tty + read -p "username: " username < /dev/tty + read -s -p "password: " password < /dev/tty + + mountSMBWithParams $pathToShare $username $password +} + +function mountSMBWithParams(){ + local pathToShare=$1 + local username=$2 # + local password=$3 + + # save as secret + # secretname="sharedfolder" + # namespace="default" + # if [[ ! -z "$(kubectl get secret $secretname -n $namespace -o jsonpath='{.data}' --ignore-not-found=true)" ]]; then + # kubectl delete secret $secretname -n $namespace + # fi + + # kubectl create secret generic $secretname --namespace=$namespace --from-literal=path=$pathToShare --from-literal=username=$username --from-literal=password=$password + + # from: https://docs.microsoft.com/en-us/azure/storage/files/storage-how-to-use-files-linux + sudo yum -y install samba-client samba-common cifs-utils + + sudo mkdir -p /mnt/data + +# sudo mount -t cifs //fabrickubernetesstorage.file.core.windows.net/data /mnt/data -o vers=2.1,username=fabrickubernetesstorage,password=gpHa7oEYsBaxg6o5hZXnfcocB5u5sEkw2q4pBHXaU5SNgJ4PXUU6gioWMjxwSi8DnfzZZfYXfB9pVyWH0t2gng==,dir_mode=0777,file_mode=0777,serverino + + # sudo mount -t cifs $pathToShare /mnt/data -o vers=2.1,username=,password=,dir_mode=0777,file_mode=0777,serverino + + # remove previous entry for this drive + grep -v "/mnt/data" /etc/fstab | sudo tee /etc/fstab + + echo "$pathToShare /mnt/data cifs nofail,vers=2.1,username=$username,password=$password,dir_mode=0777,file_mode=0777,serverino" | sudo tee -a /etc/fstab + + sudo mount -a + + touch "/mnt/data/$hostname.txt" + + ls /mnt/data } \ No newline at end of file diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 71f1876..87b95c6 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.02.15.06" +version="2018.02.15.07" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -19,9 +19,10 @@ while [[ "$input" != "q" ]]; do echo "------ Infrastructure -------" echo "1: Add this VM as Master" echo "2: Add this VM as Worker" - echo "3. Join a new node to this cluster" - echo "4: Setup Load Balancer" - echo "5: Test DNS" + echo "3: Join a new node to this cluster" + echo "4: Mount shared folder" + echo "5: Setup Load Balancer" + echo "6: Test DNS" echo "------ Product Install -------" echo "15: Install NLP" echo "16: Install Realtime" @@ -48,14 +49,17 @@ while [[ "$input" != "q" ]]; do 1) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt | bash curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupmaster.txt | bash ;; - 2) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt | bash + 2) mountSMB + curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt | bash ;; 3) echo "Run this command on the new node to join this cluster:" echo "sudo $(sudo kubeadm token create --print-join-command)" ;; - 4) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh | bash + 4) mountSMB ;; - 5) # from https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#debugging-dns-resolution + 5) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh | bash + ;; + 6) # from https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#debugging-dns-resolution echo "To resolve DNS issues: https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#debugging-dns-resolution" echo "----------- Checking if DNS pods are running -----------" kubectl get pods --namespace=kube-system -l k8s-app=kube-dns diff --git a/kubernetes/setupmaster.txt b/kubernetes/setupmaster.txt index 6b38bc3..34ca1a7 100644 --- a/kubernetes/setupmaster.txt +++ b/kubernetes/setupmaster.txt @@ -9,7 +9,7 @@ set -e GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh") -version="2018.02.15.04" +version="2018.02.15.05" echo "---- setupmaster version $version ----" u="$(whoami)" @@ -48,6 +48,10 @@ kubectl get pods -n kube-system -o wide WaitForPodsInNamespace kube-system +sudo mkdir -p /mnt/data +sudo chown $(id -u):$(id -g) /mnt/data +sudo chmod -R 777 /mnt/data + # testing # kubectl run nginx --image=nginx --port=80 From 16e195fa4c6614a67ca18919bac20558d1612df4 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 15 Feb 2018 17:15:13 -0800 Subject: [PATCH 157/473] pipe tee output to /dev/null since it has sensitive info Signed-off-by: HQCATALYST\imran.qureshi --- docker/setupazurefileshare.txt | 4 ++-- kubernetes/common.sh | 20 +++++++++----------- kubernetes/main.sh | 5 ++--- setupdocker.txt | 2 +- 4 files changed, 14 insertions(+), 17 deletions(-) diff --git a/docker/setupazurefileshare.txt b/docker/setupazurefileshare.txt index 1ac5940..ec6709b 100644 --- a/docker/setupazurefileshare.txt +++ b/docker/setupazurefileshare.txt @@ -24,11 +24,11 @@ connectionString="//${azurestorageaccount}.file.core.windows.net/${azuresharenam sudo mount -t cifs ${connectionString} # remove previous entry for this drive -grep -v "/mnt/hcshared" /etc/fstab | sudo tee /etc/fstab +grep -v "/mnt/hcshared" /etc/fstab | sudo tee /etc/fstab > /dev/null fstabstring="//${azurestorageaccount}.file.core.windows.net/${azuresharename} /mnt/hcshared cifs vers=2.1,username=${azurestorageaccount},password=${azurestorageaccesskey},dir_mode=0777,file_mode=0777,serverino" -echo "${fstabstring}" | sudo tee -a /etc/fstab +echo "${fstabstring}" | sudo tee -a /etc/fstab > /dev/null cat /etc/fstab diff --git a/kubernetes/common.sh b/kubernetes/common.sh index 658870f..da1a0c9 100644 --- a/kubernetes/common.sh +++ b/kubernetes/common.sh @@ -1,5 +1,5 @@ -versioncommon="2018.02.15.05" +versioncommon="2018.02.15.06" echo "--- Including common.sh version $versioncommon ---" function GetCommonVersion() { @@ -195,27 +195,25 @@ function mountSMBWithParams(){ local password=$3 # save as secret - # secretname="sharedfolder" - # namespace="default" - # if [[ ! -z "$(kubectl get secret $secretname -n $namespace -o jsonpath='{.data}' --ignore-not-found=true)" ]]; then - # kubectl delete secret $secretname -n $namespace - # fi + secretname="sharedfolder" + namespace="default" + if [[ ! -z "$(kubectl get secret $secretname -n $namespace -o jsonpath='{.data}' --ignore-not-found=true)" ]]; then + kubectl delete secret $secretname -n $namespace + fi - # kubectl create secret generic $secretname --namespace=$namespace --from-literal=path=$pathToShare --from-literal=username=$username --from-literal=password=$password + kubectl create secret generic $secretname --namespace=$namespace --from-literal=path=$pathToShare --from-literal=username=$username --from-literal=password=$password # from: https://docs.microsoft.com/en-us/azure/storage/files/storage-how-to-use-files-linux sudo yum -y install samba-client samba-common cifs-utils sudo mkdir -p /mnt/data -# sudo mount -t cifs //fabrickubernetesstorage.file.core.windows.net/data /mnt/data -o vers=2.1,username=fabrickubernetesstorage,password=gpHa7oEYsBaxg6o5hZXnfcocB5u5sEkw2q4pBHXaU5SNgJ4PXUU6gioWMjxwSi8DnfzZZfYXfB9pVyWH0t2gng==,dir_mode=0777,file_mode=0777,serverino - # sudo mount -t cifs $pathToShare /mnt/data -o vers=2.1,username=,password=,dir_mode=0777,file_mode=0777,serverino # remove previous entry for this drive - grep -v "/mnt/data" /etc/fstab | sudo tee /etc/fstab + grep -v "/mnt/data" /etc/fstab | sudo tee /etc/fstab > /dev/null - echo "$pathToShare /mnt/data cifs nofail,vers=2.1,username=$username,password=$password,dir_mode=0777,file_mode=0777,serverino" | sudo tee -a /etc/fstab + echo "$pathToShare /mnt/data cifs nofail,vers=2.1,username=$username,password=$password,dir_mode=0777,file_mode=0777,serverino" | sudo tee -a /etc/fstab > /dev/null sudo mount -a diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 87b95c6..9d72587 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.02.15.07" +version="2018.02.15.08" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -49,8 +49,7 @@ while [[ "$input" != "q" ]]; do 1) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt | bash curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupmaster.txt | bash ;; - 2) mountSMB - curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt | bash + 2) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt | bash ;; 3) echo "Run this command on the new node to join this cluster:" echo "sudo $(sudo kubeadm token create --print-join-command)" diff --git a/setupdocker.txt b/setupdocker.txt index 819c07d..a2cd372 100644 --- a/setupdocker.txt +++ b/setupdocker.txt @@ -24,7 +24,7 @@ docker run --rm hello-world echo "docker is setup now" # echo "setting up a cleanup job" -# echo "0 2 * * * /bin/sh backup.sh" | sudo tee -a /etc/cron.d/docker_cleanup +# echo "0 2 * * * /bin/sh backup.sh" | sudo tee -a /etc/cron.d/docker_cleanup > /dev/null # (crontab -l ; echo "@daily /.sh") | sort - | uniq - | crontab - appinsightskey="" From 8ff8d3109699cc0afea5820b253e6866c7cd0dbe Mon Sep 17 00:00:00 2001 From: Nate TFS Date: Thu, 15 Feb 2018 18:17:23 -0700 Subject: [PATCH 158/473] Added Join Active Directory Script --- common/joinAD.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 common/joinAD.txt diff --git a/common/joinAD.txt b/common/joinAD.txt new file mode 100644 index 0000000..e69de29 From 38c44f283ca98ce5066e724359b7d2636cb1eb1a Mon Sep 17 00:00:00 2001 From: Nate Arnold Date: Thu, 15 Feb 2018 18:27:24 -0700 Subject: [PATCH 159/473] Update joinAD.txt --- common/joinAD.txt | 64 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/common/joinAD.txt b/common/joinAD.txt index e69de29..6553344 100644 --- a/common/joinAD.txt +++ b/common/joinAD.txt @@ -0,0 +1,64 @@ +#!/bin/sh +set -e +# +# This script is meant for quick & easy install via: +# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/joinAD.txt | sh +# +# + +version="2018.02.15.01" +echo "---- setupad version $version ----" + +u="$(whoami)" +echo "User name: $u" + +## Set some variables for console bolding +bold=$(tput bold) +normal=$(tput sgr0) + +### Get Active Directory function + +getAD () { + printf "\n" + echo -n "Enter your fully qualified Active Directory domain's distinguished name (example mydomain.local) and press [ENTER]: " + read FQDN + printf "\n" +} + +### Validate the users entered FQDN is accessible publicly + +validateFQDN () { + results=$([ "$(dig +short ${FQDN})" ] && echo "got answer") + if [ -z "$results" ]; then printf "\n ${bold}$FQDN ${normal}is not resolvable. Please ensure that the server is resolvable via nslookup before re-running this script.\n\n" + fi +} + +### Get Active Directory User + +getADUser () { + printf "\n" + echo -n "Enter an Active Directory username with permissions to join computers to the domain and press [ENTER]: " + read aduser + printf "\n" +} + +getAD +validateFQDN +getADUser + + +sudo yum update -y +sudo yum -y install realmd samba samba-common oddjob oddjob-mkhomedir sssd ntpdate ntp +sudo systemctl enable ntpd.service + + +# Get the primary domain controller for NTP +#sudo ntpdate hcsad1.hqcatalyst.local +sudo systemctl start ntpd.service +sudo realm join -U aduser $FQDN + +sudo realm list +servername="$(hostname)" +sudo hostnamectl set-hostname "$servername.${FQDN}" +sudo systemctl restart sssd + From 00b972cdc8c172c28d1e9b701774ef815d348844 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 15 Feb 2018 20:51:34 -0800 Subject: [PATCH 160/473] don't write to secrets when attaching a file share Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/common.sh | 14 ++-- kubernetes/setupmaster.txt | 4 +- nlp/nlp-ingress.onprem.yml | 28 +++++++ nlp/nlp-mysql-onprem.yml | 18 +++++ realtime/installrealtimekubernetes.sh | 107 ++++++++++++++++++++++++++ 5 files changed, 162 insertions(+), 9 deletions(-) create mode 100644 nlp/nlp-ingress.onprem.yml create mode 100644 nlp/nlp-mysql-onprem.yml create mode 100644 realtime/installrealtimekubernetes.sh diff --git a/kubernetes/common.sh b/kubernetes/common.sh index da1a0c9..52a9113 100644 --- a/kubernetes/common.sh +++ b/kubernetes/common.sh @@ -1,5 +1,5 @@ -versioncommon="2018.02.15.06" +versioncommon="2018.02.15.07" echo "--- Including common.sh version $versioncommon ---" function GetCommonVersion() { @@ -195,13 +195,13 @@ function mountSMBWithParams(){ local password=$3 # save as secret - secretname="sharedfolder" - namespace="default" - if [[ ! -z "$(kubectl get secret $secretname -n $namespace -o jsonpath='{.data}' --ignore-not-found=true)" ]]; then - kubectl delete secret $secretname -n $namespace - fi + # secretname="sharedfolder" + # namespace="default" + # if [[ ! -z "$(kubectl get secret $secretname -n $namespace -o jsonpath='{.data}' --ignore-not-found=true)" ]]; then + # kubectl delete secret $secretname -n $namespace + # fi - kubectl create secret generic $secretname --namespace=$namespace --from-literal=path=$pathToShare --from-literal=username=$username --from-literal=password=$password + # kubectl create secret generic $secretname --namespace=$namespace --from-literal=path=$pathToShare --from-literal=username=$username --from-literal=password=$password # from: https://docs.microsoft.com/en-us/azure/storage/files/storage-how-to-use-files-linux sudo yum -y install samba-client samba-common cifs-utils diff --git a/kubernetes/setupmaster.txt b/kubernetes/setupmaster.txt index 34ca1a7..3153304 100644 --- a/kubernetes/setupmaster.txt +++ b/kubernetes/setupmaster.txt @@ -9,7 +9,7 @@ set -e GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh") -version="2018.02.15.05" +version="2018.02.15.06" echo "---- setupmaster version $version ----" u="$(whoami)" @@ -35,7 +35,7 @@ sudo chown $(id -u):$(id -g) $HOME/.kube/config # flannel # kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.9.1/Documentation/kube-flannel.yml -kubectl apply -f ${GITHUB_URL}/kubernetes/flannel.yaml +kubectl apply -f ${GITHUB_URL}/kubernetes/flannel.yml # enable master to run containers # kubectl taint nodes --all node-role.kubernetes.io/master- diff --git a/nlp/nlp-ingress.onprem.yml b/nlp/nlp-ingress.onprem.yml new file mode 100644 index 0000000..fa70ca1 --- /dev/null +++ b/nlp/nlp-ingress.onprem.yml @@ -0,0 +1,28 @@ +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: nlp-ingress + namespace: fabricnlp + annotations: + kubernetes.io/ingress.class: traefik +spec: + rules: + - host: solr.CUSTOMERID.healthcatalyst.net + http: + paths: + - backend: + serviceName: solrserverpublic + servicePort: 80 + - host: nlp.CUSTOMERID.healthcatalyst.net + http: + paths: + - backend: + serviceName: nlpserverpublic + servicePort: 80 + - host: nlpjobs.CUSTOMERID.healthcatalyst.net + http: + paths: + - backend: + serviceName: nlpjobsserverpublic + servicePort: 80 +--- diff --git a/nlp/nlp-mysql-onprem.yml b/nlp/nlp-mysql-onprem.yml new file mode 100644 index 0000000..f639317 --- /dev/null +++ b/nlp/nlp-mysql-onprem.yml @@ -0,0 +1,18 @@ +# https://github.com/kubernetes/contrib/tree/master/for-demos/proxy-to-service +# https://stackoverflow.com/questions/47057176/how-to-access-kubernetes-service-externally-on-bare-metal-install +# https://github.com/kubernetes/contrib/tree/master/for-demos/proxy-to-service +apiVersion: v1 +kind: Pod +metadata: + name: dns-proxy +spec: + + containers: + - name: proxy-tcp + image: k8s.gcr.io/proxy-to-service:v2 + args: [ "tcp", "53", "kube-dns.default" ] + ports: + - name: tcp + protocol: TCP + containerPort: 53 + hostPort: 53 \ No newline at end of file diff --git a/realtime/installrealtimekubernetes.sh b/realtime/installrealtimekubernetes.sh new file mode 100644 index 0000000..9322e20 --- /dev/null +++ b/realtime/installrealtimekubernetes.sh @@ -0,0 +1,107 @@ +#!/bin/bash +set -e +# +# This script is meant for quick & easy install via: +# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | bash +# +GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" +version="2018.02.14.05" + +echo "---- installrealtimekubernetes.sh version $version ------" + +source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh") + +# source ./kubernetes/common.sh + +$namespace="fabricrealtime" + +if [[ -z $(kubectl get namespace $namespace --ignore-not-found=true) ]]; then + echo "Creating namespace: $namespace" + # kubectl create -f $GITHUB_URL/nlp/nlp-namespace.yml + kubectl create namespace $namespace +else + while : ; do + read -p "Namespace exists. Do you want to delete passwords and ALL data stored in this namespace? (y/n): " deleteSecrets < /dev/tty + if [[ ! -z "$deleteSecrets" ]]; then + break + fi + done + + if [[ $deleteSecrets == "y" ]]; then + echo "Deleting passwords" + kubectl delete secret mysqlrootpassword -n $namespace --ignore-not-found=true + kubectl delete secret mysqlpassword -n $namespace --ignore-not-found=true + kubectl delete secret certhostname -n $namespace --ignore-not-found=true + kubectl delete secret certpassword -n $namespace --ignore-not-found=true + kubectl delete secret rabbitmqmgmtuipassword -n $namespace --ignore-not-found=true + + sudo rm -rf /mnt/data/* + fi +fi + +customerid="$(ReadSecret customerid)" +if [[ -z "$customerid" ]]; then + echo "customerid not set" +fi +customerid="${customerid,,}" +echo "Customer ID: $customerid" + +AskForPassword "mysqlrootpassword" "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" "$namespace" + +AskForPassword "mysqlpassword" "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" "$namespace" + +AskForSecretValue "certhostname" "Client Certificate hostname" "$namespace" + +AskForPassword "certpassword" "Client Certificate password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" "$namespace" + +AskForPassword "rabbitmqmgmtuipassword" "Admin password for RabbitMqMgmt" "$namespace" + +echo "Cleaning out any old resources in $namespace" + +# note kubectl doesn't like spaces in between commas below +kubectl delete --all 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes,jobs,cronjobs' --namespace=$namespace --ignore-not-found=true + +echo "Waiting until all the resources are cleared up" + +CLEANUP_DONE="n" +while [[ ! -z "$CLEANUP_DONE" ]]; do + CLEANUP_DONE=$(kubectl get 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes' --namespace=$namespace) +done + +ReadYmlAndReplaceCustomer $GITHUB_URL "realtime/realtime-kubernetes-storage-onprem.yml" $customerid | kubectl create -f - + +ReadYmlAndReplaceCustomer $GITHUB_URL "realtime/realtime-kubernetes.yml" $customerid | kubectl create -f - + +ReadYmlAndReplaceCustomer $GITHUB_URL "realtime/realtime-kubernetes-public.yml" $customerid | kubectl create -f - + +kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=$namespace -o wide + +WaitForPodsInNamespace $namespace + +# to get a shell +# kubectl exec -it fabric.nlp.nlpwebserver-85c8cb86b5-gkphh bash --namespace=fabricnlp + +# kubectl create secret generic azure-secret --namespace=fabricnlp --from-literal=azurestorageaccountname="fabricnlp7storage" --from-literal=azurestorageaccountkey="/bYhXNstTodg3MdOvTMog/vDLSFrQDpxG/Zgkp2MlnjtOWhDBNQ2xOs6zjRoZYNjmJHya34MfzqdfOwXkMDN2A==" + +loadBalancerIP="$(dig +short myip.opendns.com @resolver1.opendns.com)" +echo "My WAN/Public IP address: ${loadBalancerIP}" + +Write-Output "To test out the NLP services, open Git Bash and run:" +Write-Output "curl -L --verbose --header 'Host: certificates.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/client'" + +Write-Output "Connect to interface engine at: $publicip port 6661" + +Write-Output "if you want, you can download the CA (Certificate Authority) cert from this url" +Write-Output "http://certificates.$customerid.healthcatalyst.net/client/fabric_ca_cert.p12" + +Write-Output "-------------------------------" +Write-Output "you can download the client certificate from this url:" +Write-Output "http://certificates.$customerid.healthcatalyst.net/client/fabricrabbitmquser_client_cert.p12" +Write-Output "-------------------------------" + +echo "If you didn't setup DNS, add the following entries in your c:\windows\system32\drivers\etc\hosts file to access the urls from your browser" +echo "$loadBalancerIP solr.$customerid.healthcatalyst.net" +echo "$loadBalancerIP nlp.$customerid.healthcatalyst.net" +echo "$loadBalancerIP nlpjobs.$customerid.healthcatalyst.net" + +echo "---- end of installrealtimekubernetes.sh version $version ------" From 9534963663692de67a1b82c0ac621565d6918583 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 15 Feb 2018 21:46:31 -0800 Subject: [PATCH 161/473] use a different ingress to use paths instead of host names for routing Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/common.sh | 7 ++++--- kubernetes/main.sh | 3 +-- nlp/installnlpkubernetes.sh | 4 ++-- nlp/nlp-ingress.onprem.yml | 35 +++++++++++++++-------------------- nlp/nlp-mysql-onprem.yml | 24 ++++++++++++++++++------ 5 files changed, 40 insertions(+), 33 deletions(-) diff --git a/kubernetes/common.sh b/kubernetes/common.sh index 52a9113..257201f 100644 --- a/kubernetes/common.sh +++ b/kubernetes/common.sh @@ -1,5 +1,5 @@ -versioncommon="2018.02.15.07" +versioncommon="2018.02.15.08" echo "--- Including common.sh version $versioncommon ---" function GetCommonVersion() { @@ -217,7 +217,8 @@ function mountSMBWithParams(){ sudo mount -a - touch "/mnt/data/$hostname.txt" + touch "/mnt/data/$(hostname).txt" - ls /mnt/data + echo "Listing files in shared folder" + ls -al /mnt/data } \ No newline at end of file diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 9d72587..2e02c6f 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.02.15.08" +version="2018.02.15.09" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -105,7 +105,6 @@ while [[ "$input" != "q" ]]; do kubectl describe pods $pod -n fabricnlp read -n1 -r -p "Press space to continue..." key < /dev/tty done - kubectl exec busybox -- nslookup mysqlserver.fabricnlp.svc.cluster.local ;; 35) pods=$(kubectl get pods -n fabricnlp -o jsonpath='{.items[*].metadata.name}') for pod in $pods diff --git a/nlp/installnlpkubernetes.sh b/nlp/installnlpkubernetes.sh index 221e498..5f51272 100644 --- a/nlp/installnlpkubernetes.sh +++ b/nlp/installnlpkubernetes.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | bash # GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -version="2018.02.14.05" +version="2018.02.14.06" echo "---- installnlpkubernetes.sh version $version ------" @@ -74,7 +74,7 @@ ReadYmlAndReplaceCustomer $GITHUB_URL "nlp/nlp-backups-cronjob.yml" $customerid echo "Setting up reverse proxy" -ingressTemplate="nlp/nlp-ingress.yml" +ingressTemplate="nlp/nlp-ingress.onprem.yml" echo "Using template: $ingressTemplate" ReadYmlAndReplaceCustomer $GITHUB_URL $ingressTemplate $customerid | kubectl create -f - diff --git a/nlp/nlp-ingress.onprem.yml b/nlp/nlp-ingress.onprem.yml index fa70ca1..6c74346 100644 --- a/nlp/nlp-ingress.onprem.yml +++ b/nlp/nlp-ingress.onprem.yml @@ -6,23 +6,18 @@ metadata: annotations: kubernetes.io/ingress.class: traefik spec: - rules: - - host: solr.CUSTOMERID.healthcatalyst.net - http: - paths: - - backend: - serviceName: solrserverpublic - servicePort: 80 - - host: nlp.CUSTOMERID.healthcatalyst.net - http: - paths: - - backend: - serviceName: nlpserverpublic - servicePort: 80 - - host: nlpjobs.CUSTOMERID.healthcatalyst.net - http: - paths: - - backend: - serviceName: nlpjobsserverpublic - servicePort: 80 ---- + rules: + - http: + paths: + - path: /solr + backend: + serviceName: solrserverpublic + servicePort: 80 + - path: /nlpweb + backend: + serviceName: nlpserverpublic + servicePort: 80 + - path: /nlp + backend: + serviceName: nlpjobsserverpublic + servicePort: 80 diff --git a/nlp/nlp-mysql-onprem.yml b/nlp/nlp-mysql-onprem.yml index f639317..2fa1244 100644 --- a/nlp/nlp-mysql-onprem.yml +++ b/nlp/nlp-mysql-onprem.yml @@ -4,15 +4,27 @@ apiVersion: v1 kind: Pod metadata: - name: dns-proxy + name: tcp-proxy-mysql + namespace: fabricnlp spec: - + # hostPort is broken on CNI (https://github.com/kubernetes/kubernetes/issues/31307) we have to use hostNetwork where CNI is used + hostNetwork: true + # run on master node so we use the IP of the master + # https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ + # https://ekartco.com/2017/09/kubernetes-make-pods-run-on-your-master-nodes/ + nodeSelector: + node-role.kubernetes.io/master: "" + # https://stackoverflow.com/questions/41999756/how-to-force-pods-deployments-to-master-nodes + # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + tolerations: + - key: node-role.kubernetes.io/master + operator: Exists + effect: NoSchedule containers: - name: proxy-tcp - image: k8s.gcr.io/proxy-to-service:v2 - args: [ "tcp", "53", "kube-dns.default" ] + image: healthcatalyst/tcp-proxy:latest + args: [ "tcp", "3306", "mysqlserver" ] ports: - name: tcp protocol: TCP - containerPort: 53 - hostPort: 53 \ No newline at end of file + containerPort: 3306 \ No newline at end of file From 2c6448e338a6a5c36ab8bc4a4b490951572c2be8 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 15 Feb 2018 22:18:43 -0800 Subject: [PATCH 162/473] pass in the enternal urls to nlp containers via secrets Signed-off-by: HQCATALYST\imran.qureshi --- nlp/installnlpkubernetes.ps1 | 32 ++++++++++++++++------------- nlp/installnlpkubernetes.sh | 40 +++++++++++++++++++++--------------- nlp/nlp-kubernetes.yml | 20 ++++++++++++++---- 3 files changed, 57 insertions(+), 35 deletions(-) diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index ffbaf13..0c88382 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -1,4 +1,4 @@ -Write-Output "Version 2018.01.31.01" +Write-Output "Version 2018.02.15.01" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | iex; $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -62,46 +62,50 @@ $AKS_PERS_BACKUP_SHARE_NAME = "${AKS_PERS_SHARE_NAME}backups" CreateShare -resourceGroup $AKS_PERS_RESOURCE_GROUP -sharename $AKS_PERS_SHARE_NAME CreateShare -resourceGroup $AKS_PERS_RESOURCE_GROUP -sharename $AKS_PERS_BACKUP_SHARE_NAME -if ([string]::IsNullOrWhiteSpace($(kubectl get namespace fabricnlp --ignore-not-found=true))) { - kubectl create namespace fabricnlp +$namespace="fabricnlp" + +if ([string]::IsNullOrWhiteSpace($(kubectl get namespace $namespace --ignore-not-found=true))) { + kubectl create namespace $namespace } else { Do { $deleteSecrets = Read-Host "Namespace exists. Do you want to delete passwords and ALL data stored in this namespace? (y/n)"} while ([string]::IsNullOrWhiteSpace($deleteSecrets)) if ($deleteSecrets -eq "y" ) { - kubectl delete secret mysqlrootpassword -n fabricnlp --ignore-not-found=true - kubectl delete secret mysqlpassword -n fabricnlp --ignore-not-found=true - kubectl delete secret smtprelaypassword -n fabricnlp --ignore-not-found=true + kubectl delete secret mysqlrootpassword -n $namespace --ignore-not-found=true + kubectl delete secret mysqlpassword -n $namespace --ignore-not-found=true + kubectl delete secret smtprelaypassword -n $namespace --ignore-not-found=true # need to recreate the file share when we change passwords otherwise the new password will not work with the old password stored in the share CreateShare -resourceGroup $AKS_PERS_RESOURCE_GROUP -sharename $AKS_PERS_SHARE_NAME -deleteExisting true } } - AskForSecretValue -secretname "customerid" -prompt "Health Catalyst Customer ID (e.g., ahmn)" $customerid = ReadSecret -secretname customerid $customerid = $customerid.ToLower().Trim() Write-Output "Customer ID: $customerid" -AskForPassword -secretname "mysqlrootpassword" -prompt "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -namespace "fabricnlp" +SaveSecretValue -secretname NLPWEB_EXTERNAL_URL -valueName url -value "nlp.$customerid.healthcatalyst.net" -namespace $namespace +SaveSecretValue -secretname JOBSERVER_EXTERNAL_URL -valueName url -value "nlpjobs.$customerid.healthcatalyst.net" -namespace $namespace + +AskForPassword -secretname "mysqlrootpassword" -prompt "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -namespace "$namespace" # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script -AskForPassword -secretname "mysqlpassword" -prompt "MySQL NLP_APP_USER password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -namespace "fabricnlp" +AskForPassword -secretname "mysqlpassword" -prompt "MySQL NLP_APP_USER password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -namespace "$namespace" -AskForPasswordAnyCharacters -secretname "smtprelaypassword" -prompt "SMTP (SendGrid) Relay Key" -namespace "fabricnlp" -defaultvalue "" +AskForPasswordAnyCharacters -secretname "smtprelaypassword" -prompt "SMTP (SendGrid) Relay Key" -namespace "$namespace" -defaultvalue "" -Write-Output "Cleaning out any old resources in fabricnlp" +Write-Output "Cleaning out any old resources in $namespace" # note kubectl doesn't like spaces in between commas below -kubectl delete --all 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes,jobs,cronjobs' --namespace=fabricnlp --ignore-not-found=true +kubectl delete --all 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes,jobs,cronjobs' --namespace=$namespace --ignore-not-found=true Write-Output "Waiting until all the resources are cleared up" -Do { $CLEANUP_DONE = $(kubectl get 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes' --namespace=fabricnlp)} +Do { $CLEANUP_DONE = $(kubectl get 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes' --namespace=$namespace)} while (![string]::IsNullOrWhiteSpace($CLEANUP_DONE)) ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/nlp-kubernetes-storage.yml" -customerid $customerid | kubectl create -f - @@ -124,7 +128,7 @@ Write-Output "Using template: $ingressTemplate" ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile $ingressTemplate -customerid $customerid | kubectl create -f - -kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide +kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=$namespace -o wide # to get a shell # kubectl exec -it fabric.nlp.nlpwebserver-85c8cb86b5-gkphh bash --namespace=fabricnlp diff --git a/nlp/installnlpkubernetes.sh b/nlp/installnlpkubernetes.sh index 5f51272..b01fdb0 100644 --- a/nlp/installnlpkubernetes.sh +++ b/nlp/installnlpkubernetes.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | bash # GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -version="2018.02.14.06" +version="2018.02.15.01" echo "---- installnlpkubernetes.sh version $version ------" @@ -13,13 +13,15 @@ source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh") # source ./kubernetes/common.sh -if [[ -z $(kubectl get namespace fabricnlp --ignore-not-found=true) ]]; then - echo "Creating namespace: fabricnlp" +namespace="fabricnlp" + +if [[ -z $(kubectl get namespace $namespace --ignore-not-found=true) ]]; then + echo "Creating namespace: $namespace" # kubectl create -f $GITHUB_URL/nlp/nlp-namespace.yml - kubectl create namespace fabricnlp + kubectl create namespace $namespace else while : ; do - read -p "Namespace exists. Do you want to delete passwords and ALL data stored in this namespace? (y/n): " deleteSecrets < /dev/tty + read -p "$namespace namespace exists. Do you want to delete passwords and ALL data stored in this namespace? (y/n): " deleteSecrets < /dev/tty if [[ ! -z "$deleteSecrets" ]]; then break fi @@ -27,9 +29,9 @@ else if [[ $deleteSecrets == "y" ]]; then echo "Deleting passwords" - kubectl delete secret mysqlrootpassword -n fabricnlp --ignore-not-found=true - kubectl delete secret mysqlpassword -n fabricnlp --ignore-not-found=true - kubectl delete secret smtprelaypassword -n fabricnlp --ignore-not-found=true + kubectl delete secret mysqlrootpassword -n $namespace --ignore-not-found=true + kubectl delete secret mysqlpassword -n $namespace --ignore-not-found=true + kubectl delete secret smtprelaypassword -n $namespace --ignore-not-found=true sudo rm -rf /mnt/data/* fi @@ -42,24 +44,30 @@ fi customerid="${customerid,,}" echo "Customer ID: $customerid" -AskForPassword "mysqlrootpassword" "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" "fabricnlp" +loadBalancerIP="$(dig +short myip.opendns.com @resolver1.opendns.com)" +echo "My WAN/Public IP address: ${loadBalancerIP}" + +SaveSecretValue NLPWEB_EXTERNAL_URL url "${loadBalancerIP}/nlpweb" $namespace +SaveSecretValue JOBSERVER_EXTERNAL_URL url "${loadBalancerIP}/nlp" $namespace + +AskForPassword "mysqlrootpassword" "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" "$namespace" # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script -AskForPassword "mysqlpassword" "MySQL NLP_APP_USER password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" "fabricnlp" +AskForPassword "mysqlpassword" "MySQL NLP_APP_USER password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" "$namespace" -AskForPasswordAnyCharacters "smtprelaypassword" "SMTP (SendGrid) Relay Key" "fabricnlp" "" +AskForPasswordAnyCharacters "smtprelaypassword" "SMTP (SendGrid) Relay Key" "$namespace" "" echo "Cleaning out any old resources in fabricnlp" # note kubectl doesn't like spaces in between commas below -kubectl delete --all 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes,jobs,cronjobs' --namespace=fabricnlp --ignore-not-found=true +kubectl delete --all 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes,jobs,cronjobs' --namespace=$namespace --ignore-not-found=true echo "Waiting until all the resources are cleared up" CLEANUP_DONE="n" while [[ ! -z "$CLEANUP_DONE" ]]; do - CLEANUP_DONE=$(kubectl get 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes' --namespace=fabricnlp) + CLEANUP_DONE=$(kubectl get 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes' --namespace=$namespace) done ReadYmlAndReplaceCustomer $GITHUB_URL "nlp/nlp-kubernetes-storage-onprem.yml" $customerid | kubectl create -f - @@ -79,17 +87,15 @@ echo "Using template: $ingressTemplate" ReadYmlAndReplaceCustomer $GITHUB_URL $ingressTemplate $customerid | kubectl create -f - -kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide +kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=$namespace -o wide -WaitForPodsInNamespace fabricnlp +WaitForPodsInNamespace $namespace # to get a shell # kubectl exec -it fabric.nlp.nlpwebserver-85c8cb86b5-gkphh bash --namespace=fabricnlp # kubectl create secret generic azure-secret --namespace=fabricnlp --from-literal=azurestorageaccountname="fabricnlp7storage" --from-literal=azurestorageaccountkey="/bYhXNstTodg3MdOvTMog/vDLSFrQDpxG/Zgkp2MlnjtOWhDBNQ2xOs6zjRoZYNjmJHya34MfzqdfOwXkMDN2A==" -loadBalancerIP="$(dig +short myip.opendns.com @resolver1.opendns.com)" -echo "My WAN/Public IP address: ${loadBalancerIP}" echo "To test out the NLP services, open Git Bash and run:" diff --git a/nlp/nlp-kubernetes.yml b/nlp/nlp-kubernetes.yml index 3e39fa7..e837f20 100644 --- a/nlp/nlp-kubernetes.yml +++ b/nlp/nlp-kubernetes.yml @@ -91,9 +91,15 @@ spec: imagePullPolicy: Always env: - name: NLPWEB_EXTERNAL_URL - value: nlp.CUSTOMERID.healthcatalyst.net + valueFrom: + secretKeyRef: + name: NLPWEB_EXTERNAL_URL + key: url - name: JOBSERVER_EXTERNAL_URL - value: nlpjobs.CUSTOMERID.healthcatalyst.net + valueFrom: + secretKeyRef: + name: JOBSERVER_EXTERNAL_URL + key: url - name: MYSQL_PASSWORD valueFrom: secretKeyRef: @@ -159,9 +165,15 @@ spec: imagePullPolicy: Always env: - name: NLPWEB_EXTERNAL_URL - value: nlp.CUSTOMERID.healthcatalyst.net + valueFrom: + secretKeyRef: + name: NLPWEB_EXTERNAL_URL + key: url - name: JOBSERVER_EXTERNAL_URL - value: nlpjobs.CUSTOMERID.healthcatalyst.net + valueFrom: + secretKeyRef: + name: JOBSERVER_EXTERNAL_URL + key: url # - name: EXTERNAL_HOSTNAME # value: localhost - name: MYSQL_PASSWORD From 9d628405e1d2e963293221ee840be674235808b4 Mon Sep 17 00:00:00 2001 From: Nate Arnold Date: Fri, 16 Feb 2018 09:12:55 -0700 Subject: [PATCH 163/473] Removed specific users or Health Catalyst information. --- common/joinAD.txt | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/common/joinAD.txt b/common/joinAD.txt index 6553344..eff04af 100644 --- a/common/joinAD.txt +++ b/common/joinAD.txt @@ -42,10 +42,19 @@ getADUser () { printf "\n" } +### Get Active Directory User + +getDomainController () { + printf "\n" + echo -n "Enter the fully qualified domain name of an Active Directory domain controller and press [ENTER]: " + read domainController + printf "\n" +} + getAD validateFQDN getADUser - +getDomainController sudo yum update -y sudo yum -y install realmd samba samba-common oddjob oddjob-mkhomedir sssd ntpdate ntp @@ -53,11 +62,12 @@ sudo systemctl enable ntpd.service # Get the primary domain controller for NTP -#sudo ntpdate hcsad1.hqcatalyst.local +printf "Configurting Time Service to look to the domain controller for \n" +sudo ntpdate ${getDomainController} sudo systemctl start ntpd.service sudo realm join -U aduser $FQDN -sudo realm list +printf "Configurting the hostname of this server to the fully qualified domain name." servername="$(hostname)" sudo hostnamectl set-hostname "$servername.${FQDN}" sudo systemctl restart sssd From a9afa9e8fa37eb760bec8813a0f947141db155da Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 16 Feb 2018 08:58:33 -0800 Subject: [PATCH 164/473] fix tcp-proxy-mysql Signed-off-by: HQCATALYST\imran.qureshi --- nlp/nlp-mysql-onprem.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/nlp/nlp-mysql-onprem.yml b/nlp/nlp-mysql-onprem.yml index 2fa1244..46f7284 100644 --- a/nlp/nlp-mysql-onprem.yml +++ b/nlp/nlp-mysql-onprem.yml @@ -8,7 +8,8 @@ metadata: namespace: fabricnlp spec: # hostPort is broken on CNI (https://github.com/kubernetes/kubernetes/issues/31307) we have to use hostNetwork where CNI is used - hostNetwork: true + hostNetwork: true + dnsPolicy: ClusterFirstWithHostNet # run on master node so we use the IP of the master # https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ # https://ekartco.com/2017/09/kubernetes-make-pods-run-on-your-master-nodes/ @@ -22,9 +23,11 @@ spec: effect: NoSchedule containers: - name: proxy-tcp +# image: k8s.gcr.io/proxy-to-service:v2 image: healthcatalyst/tcp-proxy:latest - args: [ "tcp", "3306", "mysqlserver" ] + imagePullPolicy: Always + args: [ "tcp", "3306", "mysqlserver.fabricnlp.svc.cluster.local" ] ports: - name: tcp protocol: TCP - containerPort: 3306 \ No newline at end of file + containerPort: 3306 From 052609565598bf35098b487391e3d4c53e3ae137 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 16 Feb 2018 09:44:22 -0800 Subject: [PATCH 165/473] break up the nlp kubernetes manifests into separate files Signed-off-by: HQCATALYST\imran.qureshi --- .../http/web.onprem.yaml} | 0 .../http/web.ssl.yaml} | 0 .../http/web.yaml} | 0 .../tcp/mysqlserver.internal.yaml} | 0 .../tcp/mysqlserver.onprem.yaml} | 0 .../tcp/mysqlserver.public.yaml} | 0 nlp/installnlpkubernetes.sh | 91 +++-- .../mysqlserver-backup-cron.yaml} | 0 .../mysqlserver-backup-manual.yaml} | 0 .../mysqlserver-restore-manual.yaml} | 0 nlp/nlp-kubernetes-public.yml | 40 -- nlp/nlp-kubernetes-storage-onprem.yml | 71 +--- nlp/nlp-kubernetes-storage.yml | 194 --------- nlp/nlp-kubernetes.yml | 377 ------------------ nlp/nlp-mysql-client.yml | 41 -- nlp/pods/jobserver.yaml | 55 +++ nlp/pods/mysqlclient.yaml | 59 +++ nlp/pods/mysqlserver.yaml | 63 +++ nlp/pods/nlpwebserver.yaml | 47 +++ nlp/pods/solrserver.yaml | 39 ++ nlp/services/cluster/jobserver.yaml | 15 + nlp/services/cluster/mysqlserver.yaml | 20 + nlp/services/cluster/nlpwebserver.yaml | 20 + nlp/services/cluster/solrserver.yaml | 16 + nlp/services/external/jobserver.yaml | 11 + nlp/services/external/nlpwebserver.yaml | 11 + nlp/services/external/solrserver.yaml | 11 + nlp/volumeclaims/jobserver.yaml | 11 + nlp/volumeclaims/mysqlbackup.yaml | 11 + nlp/volumeclaims/mysqlserver.yaml | 11 + nlp/volumeclaims/solrserver.yaml | 11 + nlp/volumes/jobserver.onprem.yaml | 19 + nlp/volumes/jobserver.yaml | 24 ++ nlp/volumes/mysqlbackup.onprem.yaml | 17 + nlp/volumes/mysqlbackup.yaml | 37 ++ nlp/volumes/mysqlserver.onprem.yaml | 18 + nlp/volumes/mysqlserver.yaml | 37 ++ nlp/volumes/solrserver.onprem.yaml | 19 + nlp/volumes/solrserver.yaml | 25 ++ 39 files changed, 676 insertions(+), 745 deletions(-) rename nlp/{nlp-ingress.onprem.yml => ingress/http/web.onprem.yaml} (100%) rename nlp/{nlp-ingress-ssl.yml => ingress/http/web.ssl.yaml} (100%) rename nlp/{nlp-ingress.yml => ingress/http/web.yaml} (100%) rename nlp/{nlp-mysql-private.yml => ingress/tcp/mysqlserver.internal.yaml} (100%) rename nlp/{nlp-mysql-onprem.yml => ingress/tcp/mysqlserver.onprem.yaml} (100%) rename nlp/{nlp-mysql-public.yml => ingress/tcp/mysqlserver.public.yaml} (100%) rename nlp/{nlp-backups-cronjob.yml => jobs/mysqlserver-backup-cron.yaml} (100%) rename nlp/{nlp-backups-manual.yml => jobs/mysqlserver-backup-manual.yaml} (100%) rename nlp/{nlp-backups-restore.yml => jobs/mysqlserver-restore-manual.yaml} (100%) delete mode 100644 nlp/nlp-kubernetes-public.yml delete mode 100644 nlp/nlp-kubernetes-storage.yml delete mode 100644 nlp/nlp-kubernetes.yml delete mode 100644 nlp/nlp-mysql-client.yml create mode 100644 nlp/pods/jobserver.yaml create mode 100644 nlp/pods/mysqlclient.yaml create mode 100644 nlp/pods/mysqlserver.yaml create mode 100644 nlp/pods/nlpwebserver.yaml create mode 100644 nlp/pods/solrserver.yaml create mode 100644 nlp/services/cluster/jobserver.yaml create mode 100644 nlp/services/cluster/mysqlserver.yaml create mode 100644 nlp/services/cluster/nlpwebserver.yaml create mode 100644 nlp/services/cluster/solrserver.yaml create mode 100644 nlp/services/external/jobserver.yaml create mode 100644 nlp/services/external/nlpwebserver.yaml create mode 100644 nlp/services/external/solrserver.yaml create mode 100644 nlp/volumeclaims/jobserver.yaml create mode 100644 nlp/volumeclaims/mysqlbackup.yaml create mode 100644 nlp/volumeclaims/mysqlserver.yaml create mode 100644 nlp/volumeclaims/solrserver.yaml create mode 100644 nlp/volumes/jobserver.onprem.yaml create mode 100644 nlp/volumes/jobserver.yaml create mode 100644 nlp/volumes/mysqlbackup.onprem.yaml create mode 100644 nlp/volumes/mysqlbackup.yaml create mode 100644 nlp/volumes/mysqlserver.onprem.yaml create mode 100644 nlp/volumes/mysqlserver.yaml create mode 100644 nlp/volumes/solrserver.onprem.yaml create mode 100644 nlp/volumes/solrserver.yaml diff --git a/nlp/nlp-ingress.onprem.yml b/nlp/ingress/http/web.onprem.yaml similarity index 100% rename from nlp/nlp-ingress.onprem.yml rename to nlp/ingress/http/web.onprem.yaml diff --git a/nlp/nlp-ingress-ssl.yml b/nlp/ingress/http/web.ssl.yaml similarity index 100% rename from nlp/nlp-ingress-ssl.yml rename to nlp/ingress/http/web.ssl.yaml diff --git a/nlp/nlp-ingress.yml b/nlp/ingress/http/web.yaml similarity index 100% rename from nlp/nlp-ingress.yml rename to nlp/ingress/http/web.yaml diff --git a/nlp/nlp-mysql-private.yml b/nlp/ingress/tcp/mysqlserver.internal.yaml similarity index 100% rename from nlp/nlp-mysql-private.yml rename to nlp/ingress/tcp/mysqlserver.internal.yaml diff --git a/nlp/nlp-mysql-onprem.yml b/nlp/ingress/tcp/mysqlserver.onprem.yaml similarity index 100% rename from nlp/nlp-mysql-onprem.yml rename to nlp/ingress/tcp/mysqlserver.onprem.yaml diff --git a/nlp/nlp-mysql-public.yml b/nlp/ingress/tcp/mysqlserver.public.yaml similarity index 100% rename from nlp/nlp-mysql-public.yml rename to nlp/ingress/tcp/mysqlserver.public.yaml diff --git a/nlp/installnlpkubernetes.sh b/nlp/installnlpkubernetes.sh index b01fdb0..31a345a 100644 --- a/nlp/installnlpkubernetes.sh +++ b/nlp/installnlpkubernetes.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | bash # GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -version="2018.02.15.01" +version="2018.02.16.01" echo "---- installnlpkubernetes.sh version $version ------" @@ -47,17 +47,6 @@ echo "Customer ID: $customerid" loadBalancerIP="$(dig +short myip.opendns.com @resolver1.opendns.com)" echo "My WAN/Public IP address: ${loadBalancerIP}" -SaveSecretValue NLPWEB_EXTERNAL_URL url "${loadBalancerIP}/nlpweb" $namespace -SaveSecretValue JOBSERVER_EXTERNAL_URL url "${loadBalancerIP}/nlp" $namespace - -AskForPassword "mysqlrootpassword" "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" "$namespace" -# MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html -# we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script - -AskForPassword "mysqlpassword" "MySQL NLP_APP_USER password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" "$namespace" - -AskForPasswordAnyCharacters "smtprelaypassword" "SMTP (SendGrid) Relay Key" "$namespace" "" - echo "Cleaning out any old resources in fabricnlp" # note kubectl doesn't like spaces in between commas below @@ -70,22 +59,80 @@ while [[ ! -z "$CLEANUP_DONE" ]]; do CLEANUP_DONE=$(kubectl get 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes' --namespace=$namespace) done -ReadYmlAndReplaceCustomer $GITHUB_URL "nlp/nlp-kubernetes-storage-onprem.yml" $customerid | kubectl create -f - +SaveSecretValue NLPWEB_EXTERNAL_URL url "${loadBalancerIP}/nlpweb" $namespace +SaveSecretValue JOBSERVER_EXTERNAL_URL url "${loadBalancerIP}/nlp" $namespace + +AskForPassword "mysqlrootpassword" "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" "$namespace" +# MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html +# we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script + +AskForPassword "mysqlpassword" "MySQL NLP_APP_USER password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" "$namespace" + +AskForPasswordAnyCharacters "smtprelaypassword" "SMTP (SendGrid) Relay Key" "$namespace" "" + +echo "-- Deploying volumes --" +folder="volumes" +for fname in "mysqlserver.onprem.yaml" "solrserver.onprem.yaml" "jobserver.onprem.yaml" "mysqlbackup.onprem.yaml" +do + echo "Deploying nlp/$folder/$fname" + ReadYmlAndReplaceCustomer $GITHUB_URL "nlp/$folder/$fname" $customerid | kubectl create -f - +done -ReadYmlAndReplaceCustomer $GITHUB_URL "nlp/nlp-kubernetes.yml" $customerid | kubectl create -f - +echo "-- Deploying volume claims --" +folder="volumeclaims" +for fname in "mysqlserver.yaml" "solrserver.yaml" "jobserver.yaml" "mysqlbackup.yaml" +do + echo "Deploying nlp/$folder/$fname" + ReadYmlAndReplaceCustomer $GITHUB_URL "nlp/$folder/$fname" $customerid | kubectl create -f - +done -ReadYmlAndReplaceCustomer $GITHUB_URL "nlp/nlp-kubernetes-public.yml" $customerid | kubectl create -f - +echo "-- Deploying pods --" +folder="pods" +for fname in "mysqlserver.yaml" "solrserver.yaml" "jobserver.yaml" "nlpwebserver.yaml" "mysqlclient.yaml" +do + echo "Deploying nlp/$folder/$fname" + ReadYmlAndReplaceCustomer $GITHUB_URL "nlp/$folder/$fname" $customerid | kubectl create -f - +done -ReadYmlAndReplaceCustomer $GITHUB_URL "nlp/nlp-mysql-private.yml" $customerid | kubectl create -f - +echo "-- Deploying cluster services --" +folder="services/cluster" +for fname in "mysqlserver.yaml" "solrserver.yaml" "jobserver.yaml" "nlpwebserver.yaml" +do + echo "Deploying nlp/$folder/$fname" + ReadYmlAndReplaceCustomer $GITHUB_URL "nlp/$folder/$fname" $customerid | kubectl create -f - +done -ReadYmlAndReplaceCustomer $GITHUB_URL "nlp/nlp-backups-cronjob.yml" $customerid | kubectl create -f - +echo "-- Deploying external services --" +folder="services/external" +for fname in "solrserver.yaml" "jobserver.yaml" "nlpwebserver.yaml" +do + echo "Deploying nlp/$folder/$fname" + ReadYmlAndReplaceCustomer $GITHUB_URL "nlp/$folder/$fname" $customerid | kubectl create -f - +done -echo "Setting up reverse proxy" +echo "-- Deploying HTTP proxies --" +folder="ingress/http" +for fname in "web.onprem.yaml" +do + echo "Deploying nlp/$folder/$fname" + ReadYmlAndReplaceCustomer $GITHUB_URL "nlp/$folder/$fname" $customerid | kubectl create -f - +done -ingressTemplate="nlp/nlp-ingress.onprem.yml" -echo "Using template: $ingressTemplate" +echo "-- Deploying TCP proxies --" +folder="ingress/tcp" +for fname in "mysqlserver.onprem.yaml" +do + echo "Deploying nlp/$folder/$fname" + ReadYmlAndReplaceCustomer $GITHUB_URL "nlp/$folder/$fname" $customerid | kubectl create -f - +done -ReadYmlAndReplaceCustomer $GITHUB_URL $ingressTemplate $customerid | kubectl create -f - +echo "-- Deploying jobs --" +folder="jobs" +for fname in "mysqlserver-backup-cron.yaml" +do + echo "Deploying nlp/$folder/$fname" + ReadYmlAndReplaceCustomer $GITHUB_URL "nlp/$folder/$fname" $customerid | kubectl create -f - +done kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=$namespace -o wide @@ -96,8 +143,6 @@ WaitForPodsInNamespace $namespace # kubectl create secret generic azure-secret --namespace=fabricnlp --from-literal=azurestorageaccountname="fabricnlp7storage" --from-literal=azurestorageaccountkey="/bYhXNstTodg3MdOvTMog/vDLSFrQDpxG/Zgkp2MlnjtOWhDBNQ2xOs6zjRoZYNjmJHya34MfzqdfOwXkMDN2A==" - - echo "To test out the NLP services, open Git Bash and run:" echo "curl -L --verbose --header 'Host: solr.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/solr' -k" echo "curl -L --verbose --header 'Host: nlp.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/nlpweb' -k" diff --git a/nlp/nlp-backups-cronjob.yml b/nlp/jobs/mysqlserver-backup-cron.yaml similarity index 100% rename from nlp/nlp-backups-cronjob.yml rename to nlp/jobs/mysqlserver-backup-cron.yaml diff --git a/nlp/nlp-backups-manual.yml b/nlp/jobs/mysqlserver-backup-manual.yaml similarity index 100% rename from nlp/nlp-backups-manual.yml rename to nlp/jobs/mysqlserver-backup-manual.yaml diff --git a/nlp/nlp-backups-restore.yml b/nlp/jobs/mysqlserver-restore-manual.yaml similarity index 100% rename from nlp/nlp-backups-restore.yml rename to nlp/jobs/mysqlserver-restore-manual.yaml diff --git a/nlp/nlp-kubernetes-public.yml b/nlp/nlp-kubernetes-public.yml deleted file mode 100644 index 2a6c3db..0000000 --- a/nlp/nlp-kubernetes-public.yml +++ /dev/null @@ -1,40 +0,0 @@ -# ----- Services exposed to the outside world ------ -# solr web server -kind: Service -apiVersion: v1 -metadata: - name: solrserverpublic - namespace: fabricnlp -spec: - selector: - app: solrserver - ports: - - port: 80 - targetPort: 8085 ---- -# nlp web server -kind: Service -apiVersion: v1 -metadata: - name: nlpserverpublic - namespace: fabricnlp -spec: - selector: - app: nlpwebserver - ports: - - port: 80 - targetPort: 8083 ---- -# nlp jobs web server -kind: Service -apiVersion: v1 -metadata: - name: nlpjobsserverpublic - namespace: fabricnlp -spec: - selector: - app: jobserver - ports: - - port: 80 - targetPort: 8084 ---- diff --git a/nlp/nlp-kubernetes-storage-onprem.yml b/nlp/nlp-kubernetes-storage-onprem.yml index 4bf75bf..ff8d875 100644 --- a/nlp/nlp-kubernetes-storage-onprem.yml +++ b/nlp/nlp-kubernetes-storage-onprem.yml @@ -1,24 +1,6 @@ # define persistent volumes # ----- MySql ---------- # Persistent Volume -kind: PersistentVolume -apiVersion: v1 -metadata: - name: azure-file-volume-mysql - namespace: fabricnlp - labels: - type: local -spec: - storageClassName: manual - capacity: - storage: 5Gi - accessModes: - - ReadWriteMany - hostPath: - path: "/mnt/data" - claimRef: - namespace: fabricnlp - name: az-files-mysql --- # Persistent Volume Claim # claims have to be defined here otherwise when we remove the pods the volume goes into Released mode @@ -38,25 +20,6 @@ spec: --- # ---- Solr ------ # volume for solr -apiVersion: v1 -kind: PersistentVolume -metadata: - name: azure-file-volume-solr - namespace: fabricnlp - labels: - type: local -spec: - #persistentVolumeReclaimPolicy: Delete - storageClassName: manual - capacity: - storage: 5Gi - accessModes: - - ReadWriteMany - hostPath: - path: "/mnt/data" - claimRef: - namespace: fabricnlp - name: az-files-solr --- # Persistent Volume Claim kind: PersistentVolumeClaim @@ -75,22 +38,7 @@ spec: # ----- NLP Jobs ------- # volume for nlp jobs -apiVersion: v1 -kind: PersistentVolume -metadata: - name: azure-file-volume-jobs - namespace: fabricnlp -spec: - storageClassName: manual - capacity: - storage: 5Gi - accessModes: - - ReadWriteMany - hostPath: - path: "/mnt/data" - claimRef: - namespace: fabricnlp - name: az-files-jobs + --- # Persistent Volume Claim kind: PersistentVolumeClaim @@ -108,23 +56,6 @@ spec: --- # ----- MySql Backup ---------- # Persistent Volume -apiVersion: v1 -kind: PersistentVolume -metadata: - name: azure-file-volume-mysql-backup - namespace: fabricnlp -spec: - storageClassName: manual - capacity: - storage: 5Gi - # https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes - accessModes: - - ReadWriteMany - hostPath: - path: "/mnt/data" - claimRef: - namespace: fabricnlp - name: az-files-mysql-backup --- # Persistent Volume Claim # claims have to be defined here otherwise when we remove the pods the volume goes into Released mode diff --git a/nlp/nlp-kubernetes-storage.yml b/nlp/nlp-kubernetes-storage.yml deleted file mode 100644 index 54765ae..0000000 --- a/nlp/nlp-kubernetes-storage.yml +++ /dev/null @@ -1,194 +0,0 @@ -# define persistent volumes -# ----- MySql ---------- -# Persistent Volume -apiVersion: v1 -kind: PersistentVolume -metadata: - name: azure-file-volume-mysql - namespace: fabricnlp -spec: - storageClassName: default - capacity: - storage: 128Gi - # https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes - accessModes: - - ReadWriteMany - # https://kubernetes.io/docs/api-reference/v1.8/#azurefilepersistentvolumesource-v1-core - azureFile: - secretName: azure-secret - secretNamespace: default - shareName: fabricnlp - readOnly: false - mountOptions: - # we need to set owner of this to mysql user (999) so it has permissions to this folder - - uid=999 - - gid=999 - # and set permissions for the user to this folder - # 0 no permissions - # 1 execute - # 2 write - # 3 write & execute - # 4 read - # 5 read & execute - # 6 read & write - # 7 read write & execute - # in 0731 0 is ignore, the 7 applies to owner, 3 applies to group, 1 applies to everyone else - - dir_mode=0731 - - file_mode=0764 - claimRef: - namespace: fabricnlp - name: az-files-mysql ---- -# Persistent Volume Claim -# claims have to be defined here otherwise when we remove the pods the volume goes into Released mode -# and we can't bind to that volume again until we delete the volume -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: az-files-mysql - namespace: fabricnlp -spec: - accessModes: - - ReadWriteMany - resources: - requests: - storage: 128Gi ---- - -# ---- Solr ------ -# volume for solr -apiVersion: v1 -kind: PersistentVolume -metadata: - name: azure-file-volume-solr - namespace: fabricnlp -spec: - #persistentVolumeReclaimPolicy: Delete - capacity: - storage: 128Gi - storageClassName: default - accessModes: - - ReadWriteMany - azureFile: - secretName: azure-secret - secretNamespace: default - shareName: fabricnlp - readOnly: false - mountOptions: - - dir_mode=0731 - - file_mode=0724 - - uid=1000 - - gid=1000 - claimRef: - namespace: fabricnlp - name: az-files-solr ---- -# Persistent Volume Claim -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: az-files-solr - namespace: fabricnlp -spec: - accessModes: - - ReadWriteMany - resources: - requests: - storage: 128Gi ---- - -# ----- NLP Jobs ------- -# volume for nlp jobs -apiVersion: v1 -kind: PersistentVolume -metadata: - name: azure-file-volume-jobs - namespace: fabricnlp -spec: - capacity: - storage: 32Gi - storageClassName: default - accessModes: - - ReadWriteMany - azureFile: - secretName: azure-secret - secretNamespace: default - shareName: fabricnlp - readOnly: false - mountOptions: - - dir_mode=0731 - - file_mode=0724 - - uid=1000 - - gid=1000 - claimRef: - namespace: fabricnlp - name: az-files-jobs ---- -# Persistent Volume Claim -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: az-files-jobs - namespace: fabricnlp -spec: - accessModes: - - ReadWriteMany - resources: - requests: - storage: 32Gi ---- -# ----- MySql Backup ---------- -# Persistent Volume -apiVersion: v1 -kind: PersistentVolume -metadata: - name: azure-file-volume-mysql-backup - namespace: fabricnlp -spec: - storageClassName: default - capacity: - storage: 128Gi - # https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes - accessModes: - - ReadWriteMany - # https://kubernetes.io/docs/api-reference/v1.8/#azurefilepersistentvolumesource-v1-core - azureFile: - secretName: azure-secret - secretNamespace: default - shareName: fabricnlpbackups - readOnly: false - mountOptions: - # we need to set owner of this to mysql user (999) so it has permissions to this folder - - uid=999 - - gid=999 - # and set permissions for the user to this folder - # 0 no permissions - # 1 execute - # 2 write - # 3 write & execute - # 4 read - # 5 read & execute - # 6 read & write - # 7 read write & execute - # in 0731 0 is ignore, the 7 applies to owner, 3 applies to group, 1 applies to everyone else - - dir_mode=0731 - - file_mode=0764 - claimRef: - namespace: fabricnlp - name: az-files-mysql-backup ---- -# Persistent Volume Claim -# claims have to be defined here otherwise when we remove the pods the volume goes into Released mode -# and we can't bind to that volume again until we delete the volume -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: az-files-mysql-backup - namespace: fabricnlp -spec: - accessModes: - - ReadWriteMany - resources: - requests: - storage: 128Gi ---- diff --git a/nlp/nlp-kubernetes.yml b/nlp/nlp-kubernetes.yml deleted file mode 100644 index e837f20..0000000 --- a/nlp/nlp-kubernetes.yml +++ /dev/null @@ -1,377 +0,0 @@ -# Fabric NLP stack -# -# --- Solr service --- -# Pod -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: - name: fabric.nlp.solrserver - namespace: fabricnlp - labels: - app: solrserver -spec: - replicas: 1 - revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. - strategy: - # We need to kill the existing Pod before creating an new one - # for the new one to be able to attach the persistent disk. - type: Recreate - selector: - matchLabels: - app: solrserver - template: - metadata: - labels: - app: solrserver - spec: - containers: - - name: solrserver - image: healthcatalyst/fabric.nlp.docker.solr:latest - imagePullPolicy: Always - volumeMounts: - - name: solr-persistent-storage - mountPath: /var/lib/solr - subPath: solr - ports: - - containerPort: 8085 - name: solr - # give pod more time to finish solr indexing - terminationGracePeriodSeconds: 10 - volumes: - - name: solr-persistent-storage - persistentVolumeClaim: - claimName: az-files-solr ---- -# Service -kind: Service -apiVersion: v1 -metadata: -# name of this service. other - name: solrserver - namespace: fabricnlp - labels: - app: solrserver -spec: - ports: - - port: 8085 - targetPort: 8085 - protocol: TCP - selector: - app: solrserver ---- -# --- end of Solr service --- - -# --- NLP service --- -# Pod -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: - name: fabric.nlp.nlpwebserver - namespace: fabricnlp - labels: - app: nlpwebserver -spec: - replicas: 1 - revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. - strategy: - # We need to kill the existing Pod before creating an new one - # for the new one to be able to attach the persistent disk. - type: Recreate - selector: - matchLabels: - app: nlpwebserver - template: - metadata: - labels: - app: nlpwebserver - spec: - containers: - - name: nlpwebserver - image: healthcatalyst/fabric.nlp.docker.web:latest - imagePullPolicy: Always - env: - - name: NLPWEB_EXTERNAL_URL - valueFrom: - secretKeyRef: - name: NLPWEB_EXTERNAL_URL - key: url - - name: JOBSERVER_EXTERNAL_URL - valueFrom: - secretKeyRef: - name: JOBSERVER_EXTERNAL_URL - key: url - - name: MYSQL_PASSWORD - valueFrom: - secretKeyRef: - name: mysqlpassword - key: password - ports: - - containerPort: 8083 - name: nlpwebserver - - containerPort: 8443 - name: https ---- -# Service -kind: Service -apiVersion: v1 -metadata: -# name of this service. other - name: nlpwebserver - namespace: fabricnlp - labels: - app: nlpwebserver -spec: - ports: - - port: 8083 - targetPort: 8083 - protocol: TCP - name: http - - port: 8443 - targetPort: 8443 - protocol: TCP - name: https - selector: - app: nlpwebserver ---- -# -- end of NLP Service ---- - -# --- NLP Jobs Service --- -# Pod -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: - name: fabric.nlp.jobserver - namespace: fabricnlp - labels: - app: jobserver -spec: - replicas: 1 - revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. - strategy: - # We need to kill the existing Pod before creating an new one - # for the new one to be able to attach the persistent disk. - type: Recreate - selector: - matchLabels: - app: jobserver - template: - metadata: - labels: - app: jobserver - spec: - containers: - - name: jobserver - image: healthcatalyst/fabric.nlp.docker.jobs:1 - imagePullPolicy: Always - env: - - name: NLPWEB_EXTERNAL_URL - valueFrom: - secretKeyRef: - name: NLPWEB_EXTERNAL_URL - key: url - - name: JOBSERVER_EXTERNAL_URL - valueFrom: - secretKeyRef: - name: JOBSERVER_EXTERNAL_URL - key: url - # - name: EXTERNAL_HOSTNAME - # value: localhost - - name: MYSQL_PASSWORD - valueFrom: - secretKeyRef: - name: mysqlpassword - key: password - ports: - - containerPort: 8084 - name: jobserver - volumeMounts: - - name: jobs-persistent-storage - mountPath: /opt/jobWork/ - subPath: jobs - volumes: - - name: jobs-persistent-storage - persistentVolumeClaim: - claimName: az-files-jobs ---- -# Service -kind: Service -apiVersion: v1 -metadata: -# name of this service. other - name: jobserver - namespace: fabricnlp - labels: - app: jobserver -spec: - ports: - - port: 8084 - targetPort: 8084 - protocol: TCP - selector: - app: jobserver ---- -# -- end of NLP Jobs Service - -# --- MySql --- -# Pod -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: -# name for this pod - name: fabric.nlp.mysqlserver -# namespace for this pod - namespace: fabricnlp - labels: - app: mysqlserver -spec: - replicas: 1 - revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. - strategy: - # We need to kill the existing Pod before creating an new one - # for the new one to be able to attach the persistent disk. - type: Recreate - selector: - matchLabels: - app: mysqlserver - template: - metadata: - labels: - app: mysqlserver - spec: - containers: - # name of this pod - - name: mysqlserver - # image to pull - image: healthcatalyst/fabric.nlp.docker.mysql:latest - # specify to always pull a new image - imagePullPolicy: Always - # environment variables - env: - - name: MYSQL_ROOT_PASSWORD - # set the value of this environment variable from a secret called mysqlrootpassword - valueFrom: - secretKeyRef: - name: mysqlrootpassword - key: password - - name: MYSQL_PASSWORD - valueFrom: - secretKeyRef: - name: mysqlpassword - key: password - - name: MYSQL_DATABASE - # set the value of this environment variable directly - value: nlpmt - - name: MYSQL_USER - value: NLP_APP_USER - ports: - # expose port 3306 - - containerPort: 3306 - # name of the port - name: mysql - volumeMounts: - - name: mysql-persistent-storage - # point the /var/lib/mysql folder inside the container to the volume called mysql-persistent-storage - mountPath: /var/lib/mysql - subPath: mysql - volumes: - - name: mysql-persistent-storage - persistentVolumeClaim: - claimName: az-files-mysql ---- -# Service -kind: Service -apiVersion: v1 -metadata: -# this service shows up in the UI with this name - name: mysqlserver -# namespace should match other services in this file - namespace: fabricnlp -# labels allows you to use selectors to find this service - labels: - app: mysqlserver -spec: - ports: -# port that other services can use to connect to this service - - port: 3306 -# port in the pod we map to - targetPort: 3306 - protocol: TCP -# selector says this service should use a pod that has the "app: mysqlserver" label - selector: - app: mysqlserver ---- -# -- end of MySql --- - -# --- SMTP server --- -# Pod -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: - name: fabric.nlp.smtpserver - namespace: fabricnlp - labels: - app: smtpserver -spec: - replicas: 1 - revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. - strategy: - # We need to kill the existing Pod before creating an new one - # for the new one to be able to attach the persistent disk. - type: Recreate - selector: - matchLabels: - app: smtpserver - template: - metadata: - labels: - app: smtpserver - spec: - containers: - - name: smtpserver - image: healthcatalyst/fabric.smtp.agent:latest - imagePullPolicy: Always - # environment variables - env: - - name: SMTP_RELAY_PASSWORD - # set the value of this environment variable from a secret called smtprelaypassword - valueFrom: - secretKeyRef: - name: smtprelaypassword - key: password - - name: SMTP_RELAY_USERNAME - # set the value of this environment variable directly - value: apikey - - name: SMTP_RELAY_SERVER - value: smtp.sendgrid.net - - name: SMTP_RELAY_PORT - value: "587" - ports: - - containerPort: 25 - name: smtp ---- -# Service -kind: Service -apiVersion: v1 -metadata: - name: smtpserver - namespace: fabricnlp - labels: - app: smtpserver -spec: - ports: - - port: 25 - targetPort: 25 - protocol: TCP - selector: - app: smtpserver ---- -# -- end of SMTP --- - -# Template to use for defining new services -# --- --- - -# Pod - -# Service - -# -- end of --- \ No newline at end of file diff --git a/nlp/nlp-mysql-client.yml b/nlp/nlp-mysql-client.yml deleted file mode 100644 index 29ce08d..0000000 --- a/nlp/nlp-mysql-client.yml +++ /dev/null @@ -1,41 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: mysqlclient - namespace: fabricnlp -spec: - containers: - - image: healthcatalyst/fabric.mysqlclient:latest - # command: - # - sleep - # - "3600" - # # this overrides the CMD command in docker - args: ["sleep"] - imagePullPolicy: Always - name: mysqlclient - env: - - name: MYSQL_PASSWORD - valueFrom: - secretKeyRef: - name: mysqlpassword - key: password - - name: MYSQL_DATABASE - # set the value of this environment variable directly - value: nlpmt - - name: MYSQL_USER - value: NLP_APP_USER - - name: MYSQL_SERVER - value: mysqlserver - - name: BACKUP_NAME_PREFIX - value: "nlpsql" - volumeMounts: - - name: mysql-persistent-storage-backup - # point the /var/lib/mysql folder inside the container to the volume called mysql-persistent-storage - mountPath: /var/lib/mysql - subPath: mysqlbackups - volumes: - - name: mysql-persistent-storage-backup - persistentVolumeClaim: - claimName: az-files-mysql-backup - - restartPolicy: OnFailure \ No newline at end of file diff --git a/nlp/pods/jobserver.yaml b/nlp/pods/jobserver.yaml new file mode 100644 index 0000000..ef73c32 --- /dev/null +++ b/nlp/pods/jobserver.yaml @@ -0,0 +1,55 @@ +kind: Deployment +apiVersion: extensions/v1beta1 +metadata: + name: fabric.nlp.jobserver + namespace: fabricnlp + labels: + app: jobserver +spec: + replicas: 1 + revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. + strategy: + # We need to kill the existing Pod before creating an new one + # for the new one to be able to attach the persistent disk. + type: Recreate + selector: + matchLabels: + app: jobserver + template: + metadata: + labels: + app: jobserver + spec: + containers: + - name: jobserver + image: healthcatalyst/fabric.nlp.docker.jobs:1 + imagePullPolicy: Always + env: + - name: NLPWEB_EXTERNAL_URL + valueFrom: + secretKeyRef: + name: NLPWEB_EXTERNAL_URL + key: url + - name: JOBSERVER_EXTERNAL_URL + valueFrom: + secretKeyRef: + name: JOBSERVER_EXTERNAL_URL + key: url + # - name: EXTERNAL_HOSTNAME + # value: localhost + - name: MYSQL_PASSWORD + valueFrom: + secretKeyRef: + name: mysqlpassword + key: password + ports: + - containerPort: 8084 + name: jobserver + volumeMounts: + - name: jobs-persistent-storage + mountPath: /opt/jobWork/ + subPath: jobs + volumes: + - name: jobs-persistent-storage + persistentVolumeClaim: + claimName: az-files-jobs diff --git a/nlp/pods/mysqlclient.yaml b/nlp/pods/mysqlclient.yaml new file mode 100644 index 0000000..a2b4e7f --- /dev/null +++ b/nlp/pods/mysqlclient.yaml @@ -0,0 +1,59 @@ +kind: Deployment +apiVersion: extensions/v1beta1 +metadata: +# name for this pod + name: fabric.nlp.mysqlclient +# namespace for this pod + namespace: fabricnlp + labels: + app: mysqlclient +spec: + replicas: 1 + revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. + strategy: + # We need to kill the existing Pod before creating an new one + # for the new one to be able to attach the persistent disk. + type: Recreate + selector: + matchLabels: + app: mysqlclient + template: + metadata: + labels: + app: mysqlclient + spec: + containers: + - image: healthcatalyst/fabric.mysqlclient:latest + # command: + # - sleep + # - "3600" + # # this overrides the CMD command in docker + args: ["sleep"] + imagePullPolicy: Always + name: mysqlclient + env: + - name: MYSQL_PASSWORD + valueFrom: + secretKeyRef: + name: mysqlpassword + key: password + - name: MYSQL_DATABASE + # set the value of this environment variable directly + value: nlpmt + - name: MYSQL_USER + value: NLP_APP_USER + - name: MYSQL_SERVER + value: mysqlserver + - name: BACKUP_NAME_PREFIX + value: "nlpsql" + volumeMounts: + - name: mysql-persistent-storage-backup + # point the /var/lib/mysql folder inside the container to the volume called mysql-persistent-storage + mountPath: /var/lib/mysql + subPath: mysqlbackups + volumes: + - name: mysql-persistent-storage-backup + persistentVolumeClaim: + claimName: az-files-mysql-backup + restartPolicy: OnFailure +--- diff --git a/nlp/pods/mysqlserver.yaml b/nlp/pods/mysqlserver.yaml new file mode 100644 index 0000000..37b170b --- /dev/null +++ b/nlp/pods/mysqlserver.yaml @@ -0,0 +1,63 @@ +kind: Deployment +apiVersion: extensions/v1beta1 +metadata: +# name for this pod + name: fabric.nlp.mysqlserver +# namespace for this pod + namespace: fabricnlp + labels: + app: mysqlserver +spec: + replicas: 1 + revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. + strategy: + # We need to kill the existing Pod before creating an new one + # for the new one to be able to attach the persistent disk. + type: Recreate + selector: + matchLabels: + app: mysqlserver + template: + metadata: + labels: + app: mysqlserver + spec: + containers: + # name of this pod + - name: mysqlserver + # image to pull + image: healthcatalyst/fabric.nlp.docker.mysql:latest + # specify to always pull a new image + imagePullPolicy: Always + # environment variables + env: + - name: MYSQL_ROOT_PASSWORD + # set the value of this environment variable from a secret called mysqlrootpassword + valueFrom: + secretKeyRef: + name: mysqlrootpassword + key: password + - name: MYSQL_PASSWORD + valueFrom: + secretKeyRef: + name: mysqlpassword + key: password + - name: MYSQL_DATABASE + # set the value of this environment variable directly + value: nlpmt + - name: MYSQL_USER + value: NLP_APP_USER + ports: + # expose port 3306 + - containerPort: 3306 + # name of the port + name: mysql + volumeMounts: + - name: mysql-persistent-storage + # point the /var/lib/mysql folder inside the container to the volume called mysql-persistent-storage + mountPath: /var/lib/mysql + subPath: mysql + volumes: + - name: mysql-persistent-storage + persistentVolumeClaim: + claimName: az-files-mysql diff --git a/nlp/pods/nlpwebserver.yaml b/nlp/pods/nlpwebserver.yaml new file mode 100644 index 0000000..3ba2629 --- /dev/null +++ b/nlp/pods/nlpwebserver.yaml @@ -0,0 +1,47 @@ +kind: Deployment +apiVersion: extensions/v1beta1 +metadata: + name: fabric.nlp.nlpwebserver + namespace: fabricnlp + labels: + app: nlpwebserver +spec: + replicas: 1 + revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. + strategy: + # We need to kill the existing Pod before creating an new one + # for the new one to be able to attach the persistent disk. + type: Recreate + selector: + matchLabels: + app: nlpwebserver + template: + metadata: + labels: + app: nlpwebserver + spec: + containers: + - name: nlpwebserver + image: healthcatalyst/fabric.nlp.docker.web:latest + imagePullPolicy: Always + env: + - name: NLPWEB_EXTERNAL_URL + valueFrom: + secretKeyRef: + name: NLPWEB_EXTERNAL_URL + key: url + - name: JOBSERVER_EXTERNAL_URL + valueFrom: + secretKeyRef: + name: JOBSERVER_EXTERNAL_URL + key: url + - name: MYSQL_PASSWORD + valueFrom: + secretKeyRef: + name: mysqlpassword + key: password + ports: + - containerPort: 8083 + name: nlpwebserver + - containerPort: 8443 + name: https diff --git a/nlp/pods/solrserver.yaml b/nlp/pods/solrserver.yaml new file mode 100644 index 0000000..e7d4e0c --- /dev/null +++ b/nlp/pods/solrserver.yaml @@ -0,0 +1,39 @@ +kind: Deployment +apiVersion: extensions/v1beta1 +metadata: + name: fabric.nlp.solrserver + namespace: fabricnlp + labels: + app: solrserver +spec: + replicas: 1 + revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. + strategy: + # We need to kill the existing Pod before creating an new one + # for the new one to be able to attach the persistent disk. + type: Recreate + selector: + matchLabels: + app: solrserver + template: + metadata: + labels: + app: solrserver + spec: + containers: + - name: solrserver + image: healthcatalyst/fabric.nlp.docker.solr:latest + imagePullPolicy: Always + volumeMounts: + - name: solr-persistent-storage + mountPath: /var/lib/solr + subPath: solr + ports: + - containerPort: 8085 + name: solr + # give pod more time to finish solr indexing + terminationGracePeriodSeconds: 10 + volumes: + - name: solr-persistent-storage + persistentVolumeClaim: + claimName: az-files-solr diff --git a/nlp/services/cluster/jobserver.yaml b/nlp/services/cluster/jobserver.yaml new file mode 100644 index 0000000..f37049b --- /dev/null +++ b/nlp/services/cluster/jobserver.yaml @@ -0,0 +1,15 @@ +kind: Service +apiVersion: v1 +metadata: +# name of this service. other + name: jobserver + namespace: fabricnlp + labels: + app: jobserver +spec: + ports: + - port: 8084 + targetPort: 8084 + protocol: TCP + selector: + app: jobserver diff --git a/nlp/services/cluster/mysqlserver.yaml b/nlp/services/cluster/mysqlserver.yaml new file mode 100644 index 0000000..d340ce1 --- /dev/null +++ b/nlp/services/cluster/mysqlserver.yaml @@ -0,0 +1,20 @@ +kind: Service +apiVersion: v1 +metadata: +# this service shows up in the UI with this name + name: mysqlserver +# namespace should match other services in this file + namespace: fabricnlp +# labels allows you to use selectors to find this service + labels: + app: mysqlserver +spec: + ports: +# port that other services can use to connect to this service + - port: 3306 +# port in the pod we map to + targetPort: 3306 + protocol: TCP +# selector says this service should use a pod that has the "app: mysqlserver" label + selector: + app: mysqlserver diff --git a/nlp/services/cluster/nlpwebserver.yaml b/nlp/services/cluster/nlpwebserver.yaml new file mode 100644 index 0000000..d578025 --- /dev/null +++ b/nlp/services/cluster/nlpwebserver.yaml @@ -0,0 +1,20 @@ +kind: Service +apiVersion: v1 +metadata: +# name of this service. other + name: nlpwebserver + namespace: fabricnlp + labels: + app: nlpwebserver +spec: + ports: + - port: 8083 + targetPort: 8083 + protocol: TCP + name: http + - port: 8443 + targetPort: 8443 + protocol: TCP + name: https + selector: + app: nlpwebserver diff --git a/nlp/services/cluster/solrserver.yaml b/nlp/services/cluster/solrserver.yaml new file mode 100644 index 0000000..439d0ec --- /dev/null +++ b/nlp/services/cluster/solrserver.yaml @@ -0,0 +1,16 @@ +kind: Service +apiVersion: v1 +metadata: +# name of this service. other + name: solrserver + namespace: fabricnlp + labels: + app: solrserver +spec: + ports: + - port: 8085 + targetPort: 8085 + protocol: TCP + selector: + app: solrserver +--- \ No newline at end of file diff --git a/nlp/services/external/jobserver.yaml b/nlp/services/external/jobserver.yaml new file mode 100644 index 0000000..3d7d105 --- /dev/null +++ b/nlp/services/external/jobserver.yaml @@ -0,0 +1,11 @@ +kind: Service +apiVersion: v1 +metadata: + name: nlpserverpublic + namespace: fabricnlp +spec: + selector: + app: nlpwebserver + ports: + - port: 80 + targetPort: 8083 \ No newline at end of file diff --git a/nlp/services/external/nlpwebserver.yaml b/nlp/services/external/nlpwebserver.yaml new file mode 100644 index 0000000..3d7d105 --- /dev/null +++ b/nlp/services/external/nlpwebserver.yaml @@ -0,0 +1,11 @@ +kind: Service +apiVersion: v1 +metadata: + name: nlpserverpublic + namespace: fabricnlp +spec: + selector: + app: nlpwebserver + ports: + - port: 80 + targetPort: 8083 \ No newline at end of file diff --git a/nlp/services/external/solrserver.yaml b/nlp/services/external/solrserver.yaml new file mode 100644 index 0000000..fa07128 --- /dev/null +++ b/nlp/services/external/solrserver.yaml @@ -0,0 +1,11 @@ +kind: Service +apiVersion: v1 +metadata: + name: solrserverpublic + namespace: fabricnlp +spec: + selector: + app: solrserver + ports: + - port: 80 + targetPort: 8085 \ No newline at end of file diff --git a/nlp/volumeclaims/jobserver.yaml b/nlp/volumeclaims/jobserver.yaml new file mode 100644 index 0000000..dd62d09 --- /dev/null +++ b/nlp/volumeclaims/jobserver.yaml @@ -0,0 +1,11 @@ +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: az-files-jobs + namespace: fabricnlp +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 32Gi diff --git a/nlp/volumeclaims/mysqlbackup.yaml b/nlp/volumeclaims/mysqlbackup.yaml new file mode 100644 index 0000000..406e525 --- /dev/null +++ b/nlp/volumeclaims/mysqlbackup.yaml @@ -0,0 +1,11 @@ +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: az-files-mysql-backup + namespace: fabricnlp +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 128Gi diff --git a/nlp/volumeclaims/mysqlserver.yaml b/nlp/volumeclaims/mysqlserver.yaml new file mode 100644 index 0000000..847926c --- /dev/null +++ b/nlp/volumeclaims/mysqlserver.yaml @@ -0,0 +1,11 @@ +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: az-files-mysql + namespace: fabricnlp +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 128Gi diff --git a/nlp/volumeclaims/solrserver.yaml b/nlp/volumeclaims/solrserver.yaml new file mode 100644 index 0000000..4a2a404 --- /dev/null +++ b/nlp/volumeclaims/solrserver.yaml @@ -0,0 +1,11 @@ +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: az-files-solr + namespace: fabricnlp +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 128Gi diff --git a/nlp/volumes/jobserver.onprem.yaml b/nlp/volumes/jobserver.onprem.yaml new file mode 100644 index 0000000..746883c --- /dev/null +++ b/nlp/volumes/jobserver.onprem.yaml @@ -0,0 +1,19 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: azure-file-volume-solr + namespace: fabricnlp + labels: + type: local +spec: + #persistentVolumeReclaimPolicy: Delete + storageClassName: manual + capacity: + storage: 5Gi + accessModes: + - ReadWriteMany + hostPath: + path: "/mnt/data" + claimRef: + namespace: fabricnlp + name: az-files-solr diff --git a/nlp/volumes/jobserver.yaml b/nlp/volumes/jobserver.yaml new file mode 100644 index 0000000..f695bfc --- /dev/null +++ b/nlp/volumes/jobserver.yaml @@ -0,0 +1,24 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: azure-file-volume-jobs + namespace: fabricnlp +spec: + capacity: + storage: 32Gi + storageClassName: default + accessModes: + - ReadWriteMany + azureFile: + secretName: azure-secret + secretNamespace: default + shareName: fabricnlp + readOnly: false + mountOptions: + - dir_mode=0731 + - file_mode=0724 + - uid=1000 + - gid=1000 + claimRef: + namespace: fabricnlp + name: az-files-jobs diff --git a/nlp/volumes/mysqlbackup.onprem.yaml b/nlp/volumes/mysqlbackup.onprem.yaml new file mode 100644 index 0000000..6c2d9ab --- /dev/null +++ b/nlp/volumes/mysqlbackup.onprem.yaml @@ -0,0 +1,17 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: azure-file-volume-mysql-backup + namespace: fabricnlp +spec: + storageClassName: manual + capacity: + storage: 5Gi + # https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes + accessModes: + - ReadWriteMany + hostPath: + path: "/mnt/data" + claimRef: + namespace: fabricnlp + name: az-files-mysql-backup diff --git a/nlp/volumes/mysqlbackup.yaml b/nlp/volumes/mysqlbackup.yaml new file mode 100644 index 0000000..386179c --- /dev/null +++ b/nlp/volumes/mysqlbackup.yaml @@ -0,0 +1,37 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: azure-file-volume-mysql-backup + namespace: fabricnlp +spec: + storageClassName: default + capacity: + storage: 128Gi + # https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes + accessModes: + - ReadWriteMany + # https://kubernetes.io/docs/api-reference/v1.8/#azurefilepersistentvolumesource-v1-core + azureFile: + secretName: azure-secret + secretNamespace: default + shareName: fabricnlpbackups + readOnly: false + mountOptions: + # we need to set owner of this to mysql user (999) so it has permissions to this folder + - uid=999 + - gid=999 + # and set permissions for the user to this folder + # 0 no permissions + # 1 execute + # 2 write + # 3 write & execute + # 4 read + # 5 read & execute + # 6 read & write + # 7 read write & execute + # in 0731 0 is ignore, the 7 applies to owner, 3 applies to group, 1 applies to everyone else + - dir_mode=0731 + - file_mode=0764 + claimRef: + namespace: fabricnlp + name: az-files-mysql-backup diff --git a/nlp/volumes/mysqlserver.onprem.yaml b/nlp/volumes/mysqlserver.onprem.yaml new file mode 100644 index 0000000..fca314f --- /dev/null +++ b/nlp/volumes/mysqlserver.onprem.yaml @@ -0,0 +1,18 @@ +kind: PersistentVolume +apiVersion: v1 +metadata: + name: azure-file-volume-mysql + namespace: fabricnlp + labels: + type: local +spec: + storageClassName: manual + capacity: + storage: 5Gi + accessModes: + - ReadWriteMany + hostPath: + path: "/mnt/data" + claimRef: + namespace: fabricnlp + name: az-files-mysql diff --git a/nlp/volumes/mysqlserver.yaml b/nlp/volumes/mysqlserver.yaml new file mode 100644 index 0000000..803bf87 --- /dev/null +++ b/nlp/volumes/mysqlserver.yaml @@ -0,0 +1,37 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: azure-file-volume-mysql + namespace: fabricnlp +spec: + storageClassName: default + capacity: + storage: 128Gi + # https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes + accessModes: + - ReadWriteMany + # https://kubernetes.io/docs/api-reference/v1.8/#azurefilepersistentvolumesource-v1-core + azureFile: + secretName: azure-secret + secretNamespace: default + shareName: fabricnlp + readOnly: false + mountOptions: + # we need to set owner of this to mysql user (999) so it has permissions to this folder + - uid=999 + - gid=999 + # and set permissions for the user to this folder + # 0 no permissions + # 1 execute + # 2 write + # 3 write & execute + # 4 read + # 5 read & execute + # 6 read & write + # 7 read write & execute + # in 0731 0 is ignore, the 7 applies to owner, 3 applies to group, 1 applies to everyone else + - dir_mode=0731 + - file_mode=0764 + claimRef: + namespace: fabricnlp + name: az-files-mysql diff --git a/nlp/volumes/solrserver.onprem.yaml b/nlp/volumes/solrserver.onprem.yaml new file mode 100644 index 0000000..746883c --- /dev/null +++ b/nlp/volumes/solrserver.onprem.yaml @@ -0,0 +1,19 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: azure-file-volume-solr + namespace: fabricnlp + labels: + type: local +spec: + #persistentVolumeReclaimPolicy: Delete + storageClassName: manual + capacity: + storage: 5Gi + accessModes: + - ReadWriteMany + hostPath: + path: "/mnt/data" + claimRef: + namespace: fabricnlp + name: az-files-solr diff --git a/nlp/volumes/solrserver.yaml b/nlp/volumes/solrserver.yaml new file mode 100644 index 0000000..8c343d9 --- /dev/null +++ b/nlp/volumes/solrserver.yaml @@ -0,0 +1,25 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: azure-file-volume-solr + namespace: fabricnlp +spec: + #persistentVolumeReclaimPolicy: Delete + capacity: + storage: 128Gi + storageClassName: default + accessModes: + - ReadWriteMany + azureFile: + secretName: azure-secret + secretNamespace: default + shareName: fabricnlp + readOnly: false + mountOptions: + - dir_mode=0731 + - file_mode=0724 + - uid=1000 + - gid=1000 + claimRef: + namespace: fabricnlp + name: az-files-solr From 7af57f8337d26d14e749b198d095e7d8555efe2a Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 16 Feb 2018 09:51:28 -0800 Subject: [PATCH 166/473] change secret name to lower case Signed-off-by: HQCATALYST\imran.qureshi --- nlp/installnlpkubernetes.ps1 | 6 +++--- nlp/installnlpkubernetes.sh | 8 ++++---- nlp/pods/jobserver.yaml | 4 ++-- nlp/pods/nlpwebserver.yaml | 4 ++-- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index 0c88382..023aee5 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -1,4 +1,4 @@ -Write-Output "Version 2018.02.15.01" +Write-Output "Version 2018.02.16.01" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | iex; $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -87,8 +87,8 @@ $customerid = ReadSecret -secretname customerid $customerid = $customerid.ToLower().Trim() Write-Output "Customer ID: $customerid" -SaveSecretValue -secretname NLPWEB_EXTERNAL_URL -valueName url -value "nlp.$customerid.healthcatalyst.net" -namespace $namespace -SaveSecretValue -secretname JOBSERVER_EXTERNAL_URL -valueName url -value "nlpjobs.$customerid.healthcatalyst.net" -namespace $namespace +SaveSecretValue -secretname nlpweb-external-url -valueName url -value "nlp.$customerid.healthcatalyst.net" -namespace $namespace +SaveSecretValue -secretname jobserver-external-url -valueName url -value "nlpjobs.$customerid.healthcatalyst.net" -namespace $namespace AskForPassword -secretname "mysqlrootpassword" -prompt "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -namespace "$namespace" # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html diff --git a/nlp/installnlpkubernetes.sh b/nlp/installnlpkubernetes.sh index 31a345a..16ce450 100644 --- a/nlp/installnlpkubernetes.sh +++ b/nlp/installnlpkubernetes.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | bash # GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -version="2018.02.16.01" +version="2018.02.16.02" echo "---- installnlpkubernetes.sh version $version ------" @@ -47,7 +47,7 @@ echo "Customer ID: $customerid" loadBalancerIP="$(dig +short myip.opendns.com @resolver1.opendns.com)" echo "My WAN/Public IP address: ${loadBalancerIP}" -echo "Cleaning out any old resources in fabricnlp" +echo "--- Cleaning out any old resources in fabricnlp ---" # note kubectl doesn't like spaces in between commas below kubectl delete --all 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes,jobs,cronjobs' --namespace=$namespace --ignore-not-found=true @@ -59,8 +59,8 @@ while [[ ! -z "$CLEANUP_DONE" ]]; do CLEANUP_DONE=$(kubectl get 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes' --namespace=$namespace) done -SaveSecretValue NLPWEB_EXTERNAL_URL url "${loadBalancerIP}/nlpweb" $namespace -SaveSecretValue JOBSERVER_EXTERNAL_URL url "${loadBalancerIP}/nlp" $namespace +SaveSecretValue "nlpweb-external-url" url "${loadBalancerIP}/nlpweb" $namespace +SaveSecretValue "jobserver-external-url" url "${loadBalancerIP}/nlp" $namespace AskForPassword "mysqlrootpassword" "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" "$namespace" # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html diff --git a/nlp/pods/jobserver.yaml b/nlp/pods/jobserver.yaml index ef73c32..9f1accc 100644 --- a/nlp/pods/jobserver.yaml +++ b/nlp/pods/jobserver.yaml @@ -28,12 +28,12 @@ spec: - name: NLPWEB_EXTERNAL_URL valueFrom: secretKeyRef: - name: NLPWEB_EXTERNAL_URL + name: nlpweb-external-url key: url - name: JOBSERVER_EXTERNAL_URL valueFrom: secretKeyRef: - name: JOBSERVER_EXTERNAL_URL + name: jobserver-external-url key: url # - name: EXTERNAL_HOSTNAME # value: localhost diff --git a/nlp/pods/nlpwebserver.yaml b/nlp/pods/nlpwebserver.yaml index 3ba2629..2e271a0 100644 --- a/nlp/pods/nlpwebserver.yaml +++ b/nlp/pods/nlpwebserver.yaml @@ -28,12 +28,12 @@ spec: - name: NLPWEB_EXTERNAL_URL valueFrom: secretKeyRef: - name: NLPWEB_EXTERNAL_URL + name: nlpweb-external-url key: url - name: JOBSERVER_EXTERNAL_URL valueFrom: secretKeyRef: - name: JOBSERVER_EXTERNAL_URL + name: jobserver-external-url key: url - name: MYSQL_PASSWORD valueFrom: From de1817f02442e874027b531d837fca9e51ecc4c5 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 16 Feb 2018 09:56:13 -0800 Subject: [PATCH 167/473] fix error in jobserver manifest Signed-off-by: HQCATALYST\imran.qureshi --- nlp/volumes/jobserver.onprem.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nlp/volumes/jobserver.onprem.yaml b/nlp/volumes/jobserver.onprem.yaml index 746883c..2371868 100644 --- a/nlp/volumes/jobserver.onprem.yaml +++ b/nlp/volumes/jobserver.onprem.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: PersistentVolume metadata: - name: azure-file-volume-solr + name: azure-file-volume-jobs namespace: fabricnlp labels: type: local @@ -16,4 +16,4 @@ spec: path: "/mnt/data" claimRef: namespace: fabricnlp - name: az-files-solr + name: az-files-jobs From 2e6a272bd9c600572edb6ee353491d51c937a1a9 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 16 Feb 2018 10:03:28 -0800 Subject: [PATCH 168/473] remove restart policy from mysqlclient Signed-off-by: HQCATALYST\imran.qureshi --- nlp/ingress/tcp/mysqlserver.onprem.yaml | 69 +++++++++++++++---------- nlp/pods/mysqlclient.yaml | 3 +- 2 files changed, 43 insertions(+), 29 deletions(-) diff --git a/nlp/ingress/tcp/mysqlserver.onprem.yaml b/nlp/ingress/tcp/mysqlserver.onprem.yaml index 46f7284..9b719cb 100644 --- a/nlp/ingress/tcp/mysqlserver.onprem.yaml +++ b/nlp/ingress/tcp/mysqlserver.onprem.yaml @@ -1,33 +1,48 @@ # https://github.com/kubernetes/contrib/tree/master/for-demos/proxy-to-service # https://stackoverflow.com/questions/47057176/how-to-access-kubernetes-service-externally-on-bare-metal-install -# https://github.com/kubernetes/contrib/tree/master/for-demos/proxy-to-service -apiVersion: v1 -kind: Pod +kind: Deployment +apiVersion: extensions/v1beta1 metadata: +# name for this pod name: tcp-proxy-mysql +# namespace for this pod namespace: fabricnlp + labels: + app: mysqlclient spec: - # hostPort is broken on CNI (https://github.com/kubernetes/kubernetes/issues/31307) we have to use hostNetwork where CNI is used - hostNetwork: true - dnsPolicy: ClusterFirstWithHostNet - # run on master node so we use the IP of the master - # https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ - # https://ekartco.com/2017/09/kubernetes-make-pods-run-on-your-master-nodes/ - nodeSelector: - node-role.kubernetes.io/master: "" - # https://stackoverflow.com/questions/41999756/how-to-force-pods-deployments-to-master-nodes - # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ - tolerations: - - key: node-role.kubernetes.io/master - operator: Exists - effect: NoSchedule - containers: - - name: proxy-tcp -# image: k8s.gcr.io/proxy-to-service:v2 - image: healthcatalyst/tcp-proxy:latest - imagePullPolicy: Always - args: [ "tcp", "3306", "mysqlserver.fabricnlp.svc.cluster.local" ] - ports: - - name: tcp - protocol: TCP - containerPort: 3306 + replicas: 1 + revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. + strategy: + type: Recreate + selector: + matchLabels: + app: tcp-proxy-mysql + template: + metadata: + labels: + app: tcp-proxy-mysql + spec: + # hostPort is broken on CNI (https://github.com/kubernetes/kubernetes/issues/31307) we have to use hostNetwork where CNI is used + hostNetwork: true + dnsPolicy: ClusterFirstWithHostNet + # run on master node so we use the IP of the master + # https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ + # https://ekartco.com/2017/09/kubernetes-make-pods-run-on-your-master-nodes/ + nodeSelector: + node-role.kubernetes.io/master: "" + # https://stackoverflow.com/questions/41999756/how-to-force-pods-deployments-to-master-nodes + # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + tolerations: + - key: node-role.kubernetes.io/master + operator: Exists + effect: NoSchedule + containers: + - name: proxy-tcp + image: healthcatalyst/tcp-proxy:latest + imagePullPolicy: Always + args: [ "tcp", "3306", "mysqlserver.fabricnlp.svc.cluster.local" ] + ports: + - name: tcp + protocol: TCP + containerPort: 3306 +--- diff --git a/nlp/pods/mysqlclient.yaml b/nlp/pods/mysqlclient.yaml index a2b4e7f..0ee520d 100644 --- a/nlp/pods/mysqlclient.yaml +++ b/nlp/pods/mysqlclient.yaml @@ -54,6 +54,5 @@ spec: volumes: - name: mysql-persistent-storage-backup persistentVolumeClaim: - claimName: az-files-mysql-backup - restartPolicy: OnFailure + claimName: az-files-mysql-backup --- From 6aafc7e65213b04c16929bc396caf320412e3f62 Mon Sep 17 00:00:00 2001 From: Nate Arnold Date: Fri, 16 Feb 2018 11:04:46 -0700 Subject: [PATCH 169/473] Changed comment --- common/joinAD.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/joinAD.txt b/common/joinAD.txt index eff04af..b8e35f7 100644 --- a/common/joinAD.txt +++ b/common/joinAD.txt @@ -2,7 +2,7 @@ set -e # # This script is meant for quick & easy install via: -# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/joinAD.txt | sh +# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/common/joinAD.txt | sh # # From 889aa60c256733c97f6ff907600b0135e22794cc Mon Sep 17 00:00:00 2001 From: Nate Arnold Date: Fri, 16 Feb 2018 11:10:02 -0700 Subject: [PATCH 170/473] Modified Variable name --- common/joinAD.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/joinAD.txt b/common/joinAD.txt index eff04af..a180dfd 100644 --- a/common/joinAD.txt +++ b/common/joinAD.txt @@ -2,7 +2,7 @@ set -e # # This script is meant for quick & easy install via: -# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/joinAD.txt | sh +# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/common/joinAD.txt | sh # # @@ -63,7 +63,7 @@ sudo systemctl enable ntpd.service # Get the primary domain controller for NTP printf "Configurting Time Service to look to the domain controller for \n" -sudo ntpdate ${getDomainController} +sudo ntpdate ${domainController} sudo systemctl start ntpd.service sudo realm join -U aduser $FQDN From 9d60b996dc6540264e5f8fc93ba99924a818455b Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 16 Feb 2018 10:14:28 -0800 Subject: [PATCH 171/473] fix jobserver.yaml Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 3 ++- nlp/installnlpkubernetes.sh | 6 ++++-- nlp/services/external/jobserver.yaml | 6 +++--- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 2e02c6f..ea22a2a 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.02.15.09" +version="2018.02.16.01" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -48,6 +48,7 @@ while [[ "$input" != "q" ]]; do case "$input" in 1) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt | bash curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupmaster.txt | bash + curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh | bash ;; 2) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt | bash ;; diff --git a/nlp/installnlpkubernetes.sh b/nlp/installnlpkubernetes.sh index 16ce450..3a051c0 100644 --- a/nlp/installnlpkubernetes.sh +++ b/nlp/installnlpkubernetes.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | bash # GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -version="2018.02.16.02" +version="2018.02.16.03" echo "---- installnlpkubernetes.sh version $version ------" @@ -56,7 +56,9 @@ echo "Waiting until all the resources are cleared up" CLEANUP_DONE="n" while [[ ! -z "$CLEANUP_DONE" ]]; do - CLEANUP_DONE=$(kubectl get 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes' --namespace=$namespace) + CLEANUP_DONE=$(kubectl get 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes' --namespace=$namespace -o jsonpath="{.items[*].metadata.name}") + echo "Remaining items: $CLEANUP_DONE" + sleep 5 done SaveSecretValue "nlpweb-external-url" url "${loadBalancerIP}/nlpweb" $namespace diff --git a/nlp/services/external/jobserver.yaml b/nlp/services/external/jobserver.yaml index 3d7d105..bc425d9 100644 --- a/nlp/services/external/jobserver.yaml +++ b/nlp/services/external/jobserver.yaml @@ -1,11 +1,11 @@ kind: Service apiVersion: v1 metadata: - name: nlpserverpublic + name: nlpjobsserverpublic namespace: fabricnlp spec: selector: - app: nlpwebserver + app: jobserver ports: - port: 80 - targetPort: 8083 \ No newline at end of file + targetPort: 8084 \ No newline at end of file From 3e4acffc45b588714c310e82778b2a30441be56f Mon Sep 17 00:00:00 2001 From: Nate Arnold Date: Fri, 16 Feb 2018 11:23:49 -0700 Subject: [PATCH 172/473] Debugging script when executing with curl. --- common/joinAD.txt | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/common/joinAD.txt b/common/joinAD.txt index a180dfd..2480775 100644 --- a/common/joinAD.txt +++ b/common/joinAD.txt @@ -1,5 +1,5 @@ -#!/bin/sh -set -e +!/bin/sh +set -ex # # This script is meant for quick & easy install via: # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/common/joinAD.txt | sh @@ -71,4 +71,3 @@ printf "Configurting the hostname of this server to the fully qualified domain n servername="$(hostname)" sudo hostnamectl set-hostname "$servername.${FQDN}" sudo systemctl restart sssd - From 603d3493ccaae176d667f4b1dd1cdfb8a1e835d0 Mon Sep 17 00:00:00 2001 From: Nate Arnold Date: Fri, 16 Feb 2018 11:26:24 -0700 Subject: [PATCH 173/473] Added # back in --- common/joinAD.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/joinAD.txt b/common/joinAD.txt index 2480775..735a5e4 100644 --- a/common/joinAD.txt +++ b/common/joinAD.txt @@ -1,4 +1,4 @@ -!/bin/sh +#!/bin/sh set -ex # # This script is meant for quick & easy install via: From 441e8620f19850a8b4182454dc3f12a63a769411 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 16 Feb 2018 10:29:18 -0800 Subject: [PATCH 174/473] set storage class to default Signed-off-by: HQCATALYST\imran.qureshi --- nlp/volumes/jobserver.onprem.yaml | 2 +- nlp/volumes/mysqlbackup.onprem.yaml | 2 +- nlp/volumes/mysqlserver.onprem.yaml | 2 +- nlp/volumes/solrserver.onprem.yaml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/nlp/volumes/jobserver.onprem.yaml b/nlp/volumes/jobserver.onprem.yaml index 2371868..205d791 100644 --- a/nlp/volumes/jobserver.onprem.yaml +++ b/nlp/volumes/jobserver.onprem.yaml @@ -7,7 +7,7 @@ metadata: type: local spec: #persistentVolumeReclaimPolicy: Delete - storageClassName: manual + storageClassName: default capacity: storage: 5Gi accessModes: diff --git a/nlp/volumes/mysqlbackup.onprem.yaml b/nlp/volumes/mysqlbackup.onprem.yaml index 6c2d9ab..e7e335d 100644 --- a/nlp/volumes/mysqlbackup.onprem.yaml +++ b/nlp/volumes/mysqlbackup.onprem.yaml @@ -4,7 +4,7 @@ metadata: name: azure-file-volume-mysql-backup namespace: fabricnlp spec: - storageClassName: manual + storageClassName: default capacity: storage: 5Gi # https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes diff --git a/nlp/volumes/mysqlserver.onprem.yaml b/nlp/volumes/mysqlserver.onprem.yaml index fca314f..82e78e3 100644 --- a/nlp/volumes/mysqlserver.onprem.yaml +++ b/nlp/volumes/mysqlserver.onprem.yaml @@ -6,7 +6,7 @@ metadata: labels: type: local spec: - storageClassName: manual + storageClassName: default capacity: storage: 5Gi accessModes: diff --git a/nlp/volumes/solrserver.onprem.yaml b/nlp/volumes/solrserver.onprem.yaml index 746883c..04cd745 100644 --- a/nlp/volumes/solrserver.onprem.yaml +++ b/nlp/volumes/solrserver.onprem.yaml @@ -7,7 +7,7 @@ metadata: type: local spec: #persistentVolumeReclaimPolicy: Delete - storageClassName: manual + storageClassName: default capacity: storage: 5Gi accessModes: From 996d5ff21c30fe947ffe3ab59c0ae634843ee7b9 Mon Sep 17 00:00:00 2001 From: Nate Arnold Date: Fri, 16 Feb 2018 11:39:39 -0700 Subject: [PATCH 175/473] Changed carriage return/line feed to line feed. --- common/joinAD.txt | 146 +++++++++++++++++++++++----------------------- 1 file changed, 73 insertions(+), 73 deletions(-) diff --git a/common/joinAD.txt b/common/joinAD.txt index 735a5e4..336c3c5 100644 --- a/common/joinAD.txt +++ b/common/joinAD.txt @@ -1,73 +1,73 @@ -#!/bin/sh -set -ex -# -# This script is meant for quick & easy install via: -# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/common/joinAD.txt | sh -# -# - -version="2018.02.15.01" -echo "---- setupad version $version ----" - -u="$(whoami)" -echo "User name: $u" - -## Set some variables for console bolding -bold=$(tput bold) -normal=$(tput sgr0) - -### Get Active Directory function - -getAD () { - printf "\n" - echo -n "Enter your fully qualified Active Directory domain's distinguished name (example mydomain.local) and press [ENTER]: " - read FQDN - printf "\n" -} - -### Validate the users entered FQDN is accessible publicly - -validateFQDN () { - results=$([ "$(dig +short ${FQDN})" ] && echo "got answer") - if [ -z "$results" ]; then printf "\n ${bold}$FQDN ${normal}is not resolvable. Please ensure that the server is resolvable via nslookup before re-running this script.\n\n" - fi -} - -### Get Active Directory User - -getADUser () { - printf "\n" - echo -n "Enter an Active Directory username with permissions to join computers to the domain and press [ENTER]: " - read aduser - printf "\n" -} - -### Get Active Directory User - -getDomainController () { - printf "\n" - echo -n "Enter the fully qualified domain name of an Active Directory domain controller and press [ENTER]: " - read domainController - printf "\n" -} - -getAD -validateFQDN -getADUser -getDomainController - -sudo yum update -y -sudo yum -y install realmd samba samba-common oddjob oddjob-mkhomedir sssd ntpdate ntp -sudo systemctl enable ntpd.service - - -# Get the primary domain controller for NTP -printf "Configurting Time Service to look to the domain controller for \n" -sudo ntpdate ${domainController} -sudo systemctl start ntpd.service -sudo realm join -U aduser $FQDN - -printf "Configurting the hostname of this server to the fully qualified domain name." -servername="$(hostname)" -sudo hostnamectl set-hostname "$servername.${FQDN}" -sudo systemctl restart sssd +#!/bin/sh +set -e +# +# This script is meant for quick & easy install via: +# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/common/joinAD.txt | sh +# +# + +version="2018.02.15.01" +echo "---- setupad version $version ----" + +u="$(whoami)" +echo "User name: $u" + +## Set some variables for console bolding +bold=$(tput bold) +normal=$(tput sgr0) + +### Get Active Directory function + +getAD () { + printf "\n" + echo -n "Enter your fully qualified Active Directory domain's distinguished name (example mydomain.local) and press [ENTER]: " + read FQDN + printf "\n" +} + +### Validate the users entered FQDN is accessible publicly + +validateFQDN () { + results=$([ "$(dig +short ${FQDN})" ] && echo "got answer") + if [ -z "$results" ]; then printf "\n ${bold}$FQDN ${normal}is not resolvable. Please ensure that the server is resolvable via nslookup before re-running this script.\n\n" + fi +} + +### Get Active Directory User + +getADUser () { + printf "\n" + echo -n "Enter an Active Directory username with permissions to join computers to the domain and press [ENTER]: " + read aduser + printf "\n" +} + +### Get Active Directory User + +getDomainController () { + printf "\n" + echo -n "Enter the fully qualified domain name of an Active Directory domain controller and press [ENTER]: " + read domainController + printf "\n" +} + +getAD +validateFQDN +getADUser +getDomainController + +sudo yum update -y +sudo yum -y install realmd samba samba-common oddjob oddjob-mkhomedir sssd ntpdate ntp +sudo systemctl enable ntpd.service + + +# Get the primary domain controller for NTP +printf "Configurting Time Service to look to the domain controller for \n" +sudo ntpdate "${domainController}" +sudo systemctl start ntpd.service +sudo realm join -U aduser $FQDN + +printf "Configurting the hostname of this server to the fully qualified domain name." +servername="$(hostname)" +sudo hostnamectl set-hostname "$servername.${FQDN}" +sudo systemctl restart sssd From daea403351769240885401cfced2eba6c34e975f Mon Sep 17 00:00:00 2001 From: Nate Arnold Date: Fri, 16 Feb 2018 11:40:09 -0700 Subject: [PATCH 176/473] Changed end of line characters --- common/joinAD.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/common/joinAD.txt b/common/joinAD.txt index 336c3c5..38c91a4 100644 --- a/common/joinAD.txt +++ b/common/joinAD.txt @@ -60,7 +60,6 @@ sudo yum update -y sudo yum -y install realmd samba samba-common oddjob oddjob-mkhomedir sssd ntpdate ntp sudo systemctl enable ntpd.service - # Get the primary domain controller for NTP printf "Configurting Time Service to look to the domain controller for \n" sudo ntpdate "${domainController}" From 0c2ee3374aec9e5ea31a002c2516224a0aedd371 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 16 Feb 2018 10:42:42 -0800 Subject: [PATCH 177/473] reduce storage reqs for on-premise Signed-off-by: HQCATALYST\imran.qureshi --- nlp/volumeclaims/jobserver.yaml | 3 ++- nlp/volumeclaims/mysqlbackup.yaml | 3 ++- nlp/volumeclaims/mysqlserver.yaml | 3 ++- nlp/volumeclaims/solrserver.yaml | 3 ++- nlp/volumes/jobserver.onprem.yaml | 4 ++-- nlp/volumes/jobserver.yaml | 2 +- nlp/volumes/mysqlbackup.onprem.yaml | 4 ++-- nlp/volumes/mysqlbackup.yaml | 2 +- nlp/volumes/mysqlserver.onprem.yaml | 4 ++-- nlp/volumes/mysqlserver.yaml | 2 +- nlp/volumes/solrserver.onprem.yaml | 4 ++-- nlp/volumes/solrserver.yaml | 2 +- 12 files changed, 20 insertions(+), 16 deletions(-) diff --git a/nlp/volumeclaims/jobserver.yaml b/nlp/volumeclaims/jobserver.yaml index dd62d09..eebbae3 100644 --- a/nlp/volumeclaims/jobserver.yaml +++ b/nlp/volumeclaims/jobserver.yaml @@ -4,8 +4,9 @@ metadata: name: az-files-jobs namespace: fabricnlp spec: + storageClassName: default accessModes: - ReadWriteMany resources: requests: - storage: 32Gi + storage: 8Gi diff --git a/nlp/volumeclaims/mysqlbackup.yaml b/nlp/volumeclaims/mysqlbackup.yaml index 406e525..b332d33 100644 --- a/nlp/volumeclaims/mysqlbackup.yaml +++ b/nlp/volumeclaims/mysqlbackup.yaml @@ -4,8 +4,9 @@ metadata: name: az-files-mysql-backup namespace: fabricnlp spec: + storageClassName: default accessModes: - ReadWriteMany resources: requests: - storage: 128Gi + storage: 16Gi diff --git a/nlp/volumeclaims/mysqlserver.yaml b/nlp/volumeclaims/mysqlserver.yaml index 847926c..c137c87 100644 --- a/nlp/volumeclaims/mysqlserver.yaml +++ b/nlp/volumeclaims/mysqlserver.yaml @@ -4,8 +4,9 @@ metadata: name: az-files-mysql namespace: fabricnlp spec: + storageClassName: default accessModes: - ReadWriteMany resources: requests: - storage: 128Gi + storage: 8Gi diff --git a/nlp/volumeclaims/solrserver.yaml b/nlp/volumeclaims/solrserver.yaml index 4a2a404..c6af3eb 100644 --- a/nlp/volumeclaims/solrserver.yaml +++ b/nlp/volumeclaims/solrserver.yaml @@ -4,8 +4,9 @@ metadata: name: az-files-solr namespace: fabricnlp spec: + storageClassName: default accessModes: - ReadWriteMany resources: requests: - storage: 128Gi + storage: 32Gi diff --git a/nlp/volumes/jobserver.onprem.yaml b/nlp/volumes/jobserver.onprem.yaml index 205d791..d0b4d83 100644 --- a/nlp/volumes/jobserver.onprem.yaml +++ b/nlp/volumes/jobserver.onprem.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: PersistentVolume metadata: - name: azure-file-volume-jobs + name: file-volume-jobs namespace: fabricnlp labels: type: local @@ -9,7 +9,7 @@ spec: #persistentVolumeReclaimPolicy: Delete storageClassName: default capacity: - storage: 5Gi + storage: 8Gi accessModes: - ReadWriteMany hostPath: diff --git a/nlp/volumes/jobserver.yaml b/nlp/volumes/jobserver.yaml index f695bfc..0668bae 100644 --- a/nlp/volumes/jobserver.yaml +++ b/nlp/volumes/jobserver.yaml @@ -5,7 +5,7 @@ metadata: namespace: fabricnlp spec: capacity: - storage: 32Gi + storage: 8Gi storageClassName: default accessModes: - ReadWriteMany diff --git a/nlp/volumes/mysqlbackup.onprem.yaml b/nlp/volumes/mysqlbackup.onprem.yaml index e7e335d..b15827d 100644 --- a/nlp/volumes/mysqlbackup.onprem.yaml +++ b/nlp/volumes/mysqlbackup.onprem.yaml @@ -1,12 +1,12 @@ apiVersion: v1 kind: PersistentVolume metadata: - name: azure-file-volume-mysql-backup + name: file-volume-mysql-backup namespace: fabricnlp spec: storageClassName: default capacity: - storage: 5Gi + storage: 16Gi # https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes accessModes: - ReadWriteMany diff --git a/nlp/volumes/mysqlbackup.yaml b/nlp/volumes/mysqlbackup.yaml index 386179c..f0a95e7 100644 --- a/nlp/volumes/mysqlbackup.yaml +++ b/nlp/volumes/mysqlbackup.yaml @@ -6,7 +6,7 @@ metadata: spec: storageClassName: default capacity: - storage: 128Gi + storage: 16Gi # https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes accessModes: - ReadWriteMany diff --git a/nlp/volumes/mysqlserver.onprem.yaml b/nlp/volumes/mysqlserver.onprem.yaml index 82e78e3..dfbfac8 100644 --- a/nlp/volumes/mysqlserver.onprem.yaml +++ b/nlp/volumes/mysqlserver.onprem.yaml @@ -1,14 +1,14 @@ kind: PersistentVolume apiVersion: v1 metadata: - name: azure-file-volume-mysql + name: file-volume-mysql namespace: fabricnlp labels: type: local spec: storageClassName: default capacity: - storage: 5Gi + storage: 8Gi accessModes: - ReadWriteMany hostPath: diff --git a/nlp/volumes/mysqlserver.yaml b/nlp/volumes/mysqlserver.yaml index 803bf87..e013f27 100644 --- a/nlp/volumes/mysqlserver.yaml +++ b/nlp/volumes/mysqlserver.yaml @@ -6,7 +6,7 @@ metadata: spec: storageClassName: default capacity: - storage: 128Gi + storage: 8Gi # https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes accessModes: - ReadWriteMany diff --git a/nlp/volumes/solrserver.onprem.yaml b/nlp/volumes/solrserver.onprem.yaml index 04cd745..1f61cd2 100644 --- a/nlp/volumes/solrserver.onprem.yaml +++ b/nlp/volumes/solrserver.onprem.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: PersistentVolume metadata: - name: azure-file-volume-solr + name: file-volume-solr namespace: fabricnlp labels: type: local @@ -9,7 +9,7 @@ spec: #persistentVolumeReclaimPolicy: Delete storageClassName: default capacity: - storage: 5Gi + storage: 32Gi accessModes: - ReadWriteMany hostPath: diff --git a/nlp/volumes/solrserver.yaml b/nlp/volumes/solrserver.yaml index 8c343d9..4de75c0 100644 --- a/nlp/volumes/solrserver.yaml +++ b/nlp/volumes/solrserver.yaml @@ -6,7 +6,7 @@ metadata: spec: #persistentVolumeReclaimPolicy: Delete capacity: - storage: 128Gi + storage: 32Gi storageClassName: default accessModes: - ReadWriteMany From d400e4aab1f375ed4efb2621236b2ce9bcdf28da Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 16 Feb 2018 11:41:27 -0800 Subject: [PATCH 178/473] separate fabric realtime into separate manifests Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 27 ++ realtime/ingress/http/web.onprem.yaml | 15 + .../http/web.ssl.yaml} | 0 .../http/web.yaml} | 0 realtime/ingress/tcp/mysqlserver.onprem.yaml | 48 +++ realtime/installrealtimekubernetes.sh | 59 ++- realtime/pods/certificateserver.yaml | 59 +++ realtime/pods/interfaceengine.yaml | 53 +++ realtime/pods/mysqlserver.yaml | 63 +++ realtime/pods/rabbitmq.yaml | 71 ++++ realtime/realtime-kubernetes-storage.yml | 191 --------- realtime/realtime-kubernetes.yml | 370 ------------------ .../services/cluster/certificateserver.yaml | 20 + .../services/cluster/interfaceengine.yaml | 31 ++ realtime/services/cluster/mysqlserver.yaml | 20 + realtime/services/cluster/rabbitmq.yaml | 26 ++ .../external/certificateserver.yaml} | 0 realtime/volumeclaims/certificateserver.yaml | 11 + realtime/volumeclaims/mysqlserver.yaml | 11 + realtime/volumeclaims/rabbitmq-cert.yaml | 11 + realtime/volumeclaims/rabbitmq.yaml | 11 + .../volumes/certificateserver.onprem.yaml | 19 + realtime/volumes/certificateserver.yaml | 21 + realtime/volumes/mysqlserver.onprem.yaml | 19 + realtime/volumes/mysqlserver.yaml | 37 ++ realtime/volumes/rabbitmq-cert.onprem.yaml | 19 + realtime/volumes/rabbitmq-cert.yaml | 21 + realtime/volumes/rabbitmq.onprem.yaml | 19 + realtime/volumes/rabbitmq.yaml | 39 ++ 29 files changed, 725 insertions(+), 566 deletions(-) create mode 100644 realtime/ingress/http/web.onprem.yaml rename realtime/{realtime-ingress-ssl.yml => ingress/http/web.ssl.yaml} (100%) rename realtime/{realtime-ingress.yml => ingress/http/web.yaml} (100%) create mode 100644 realtime/ingress/tcp/mysqlserver.onprem.yaml create mode 100644 realtime/pods/certificateserver.yaml create mode 100644 realtime/pods/interfaceengine.yaml create mode 100644 realtime/pods/mysqlserver.yaml create mode 100644 realtime/pods/rabbitmq.yaml delete mode 100644 realtime/realtime-kubernetes-storage.yml delete mode 100644 realtime/realtime-kubernetes.yml create mode 100644 realtime/services/cluster/certificateserver.yaml create mode 100644 realtime/services/cluster/interfaceengine.yaml create mode 100644 realtime/services/cluster/mysqlserver.yaml create mode 100644 realtime/services/cluster/rabbitmq.yaml rename realtime/{realtime-kubernetes-public.yml => services/external/certificateserver.yaml} (100%) create mode 100644 realtime/volumeclaims/certificateserver.yaml create mode 100644 realtime/volumeclaims/mysqlserver.yaml create mode 100644 realtime/volumeclaims/rabbitmq-cert.yaml create mode 100644 realtime/volumeclaims/rabbitmq.yaml create mode 100644 realtime/volumes/certificateserver.onprem.yaml create mode 100644 realtime/volumes/certificateserver.yaml create mode 100644 realtime/volumes/mysqlserver.onprem.yaml create mode 100644 realtime/volumes/mysqlserver.yaml create mode 100644 realtime/volumes/rabbitmq-cert.onprem.yaml create mode 100644 realtime/volumes/rabbitmq-cert.yaml create mode 100644 realtime/volumes/rabbitmq.onprem.yaml create mode 100644 realtime/volumes/rabbitmq.yaml diff --git a/kubernetes/main.sh b/kubernetes/main.sh index ea22a2a..b35a84a 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -40,6 +40,8 @@ while [[ "$input" != "q" ]]; do echo "36: Restart NLP" echo "------ Realtime -----" echo "41: Show status of realtime" + echo "44: Show Realtime detailed status" + echo "45: Show Realtime logs" echo "-----------" echo "q: Quit" @@ -89,6 +91,8 @@ while [[ "$input" != "q" ]]; do ;; 15) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | bash ;; + 16) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installrealtimekubernetes.sh | bash + ;; 21) echo "Current cluster: $(kubectl config current-context)" kubectl version --short kubectl get "deployments,pods,services,nodes,ingress,secrets" --namespace=kube-system -o wide @@ -115,6 +119,29 @@ while [[ "$input" != "q" ]]; do read -n1 -r -p "Press space to continue..." key < /dev/tty done ;; + 41) kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime -o wide + ;; + 43) Write-Host "MySql root password: $(ReadSecretPassword mysqlrootpassword fabricrealtime)" + Write-Host "MySql NLP_APP_USER password: $(ReadSecretPassword mysqlpassword fabricrealtime)" + Write-Host "SendGrid SMTP Relay key: $(ReadSecretPassword smtprelaypassword fabricrealtime)" + ;; + 44) pods=$(kubectl get pods -n fabricrealtime -o jsonpath='{.items[*].metadata.name}') + for pod in $pods + do + Write-Output "=============== Describe Pod: $pod =================" + kubectl describe pods $pod -n fabricrealtime + read -n1 -r -p "Press space to continue..." key < /dev/tty + done + ;; + 45) pods=$(kubectl get pods -n fabricrealtime -o jsonpath='{.items[*].metadata.name}') + for pod in $pods + do + Write-Output "=============== Logs for Pod: $pod =================" + kubectl logs --tail=20 $pod -n fabricrealtime + read -n1 -r -p "Press space to continue..." key < /dev/tty + done + ;; + q) echo "Exiting" ;; *) echo "Menu item $1 is not known" diff --git a/realtime/ingress/http/web.onprem.yaml b/realtime/ingress/http/web.onprem.yaml new file mode 100644 index 0000000..562e4d7 --- /dev/null +++ b/realtime/ingress/http/web.onprem.yaml @@ -0,0 +1,15 @@ +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: nlp-ingress + namespace: fabricnlp + annotations: + kubernetes.io/ingress.class: traefik +spec: + rules: + - http: + paths: + - path: /certificates + backend: + serviceName: certificateserverpublic + servicePort: 80 diff --git a/realtime/realtime-ingress-ssl.yml b/realtime/ingress/http/web.ssl.yaml similarity index 100% rename from realtime/realtime-ingress-ssl.yml rename to realtime/ingress/http/web.ssl.yaml diff --git a/realtime/realtime-ingress.yml b/realtime/ingress/http/web.yaml similarity index 100% rename from realtime/realtime-ingress.yml rename to realtime/ingress/http/web.yaml diff --git a/realtime/ingress/tcp/mysqlserver.onprem.yaml b/realtime/ingress/tcp/mysqlserver.onprem.yaml new file mode 100644 index 0000000..d7e0ecc --- /dev/null +++ b/realtime/ingress/tcp/mysqlserver.onprem.yaml @@ -0,0 +1,48 @@ +# https://github.com/kubernetes/contrib/tree/master/for-demos/proxy-to-service +# https://stackoverflow.com/questions/47057176/how-to-access-kubernetes-service-externally-on-bare-metal-install +kind: Deployment +apiVersion: extensions/v1beta1 +metadata: +# name for this pod + name: tcp-proxy-mysql +# namespace for this pod + namespace: fabricrealtime + labels: + app: mysqlclient +spec: + replicas: 1 + revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. + strategy: + type: Recreate + selector: + matchLabels: + app: tcp-proxy-mysql + template: + metadata: + labels: + app: tcp-proxy-mysql + spec: + # hostPort is broken on CNI (https://github.com/kubernetes/kubernetes/issues/31307) we have to use hostNetwork where CNI is used + hostNetwork: true + dnsPolicy: ClusterFirstWithHostNet + # run on master node so we use the IP of the master + # https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ + # https://ekartco.com/2017/09/kubernetes-make-pods-run-on-your-master-nodes/ + nodeSelector: + node-role.kubernetes.io/master: "" + # https://stackoverflow.com/questions/41999756/how-to-force-pods-deployments-to-master-nodes + # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + tolerations: + - key: node-role.kubernetes.io/master + operator: Exists + effect: NoSchedule + containers: + - name: proxy-tcp + image: healthcatalyst/tcp-proxy:latest + imagePullPolicy: Always + args: [ "tcp", "3306", "mysqlserver.fabricrealtime.svc.cluster.local" ] + ports: + - name: tcp + protocol: TCP + containerPort: 3306 +--- diff --git a/realtime/installrealtimekubernetes.sh b/realtime/installrealtimekubernetes.sh index 9322e20..08e5340 100644 --- a/realtime/installrealtimekubernetes.sh +++ b/realtime/installrealtimekubernetes.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | bash # GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -version="2018.02.14.05" +version="2018.02.16.01" echo "---- installrealtimekubernetes.sh version $version ------" @@ -15,6 +15,11 @@ source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh") $namespace="fabricrealtime" +$datafolder="/mnt/data/fabricrealtime" +if [ ! -d "$datafolder" ]; then + sudo mkdir -p $datafolder +fi + if [[ -z $(kubectl get namespace $namespace --ignore-not-found=true) ]]; then echo "Creating namespace: $namespace" # kubectl create -f $GITHUB_URL/nlp/nlp-namespace.yml @@ -65,14 +70,58 @@ echo "Waiting until all the resources are cleared up" CLEANUP_DONE="n" while [[ ! -z "$CLEANUP_DONE" ]]; do - CLEANUP_DONE=$(kubectl get 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes' --namespace=$namespace) + CLEANUP_DONE=$(kubectl get 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes' --namespace=$namespace -o jsonpath="{.items[*].metadata.name}") + echo "Remaining items: $CLEANUP_DONE" + sleep 5 +done + +echo "-- Deploying volumes --" +folder="volumes" +for fname in "certificateserver.onprem.yaml" "mysqlserver.onprem.yaml" "rabbitmq-cert.onprem.yaml" "rabbitmq.onprem.yaml" +do + echo "Deploying realtime/$folder/$fname" + ReadYmlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl create -f - done -ReadYmlAndReplaceCustomer $GITHUB_URL "realtime/realtime-kubernetes-storage-onprem.yml" $customerid | kubectl create -f - +echo "-- Deploying volume claims --" +folder="volumeclaims" +for fname in "certificateserver.yaml" "mysqlserver.yaml" "rabbitmq-cert.yaml" "rabbitmq.yaml" +do + echo "Deploying realtime/$folder/$fname" + ReadYmlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl create -f - +done -ReadYmlAndReplaceCustomer $GITHUB_URL "realtime/realtime-kubernetes.yml" $customerid | kubectl create -f - +echo "-- Deploying pods --" +folder="pods" +for fname in "certificateserver.yaml" "mysqlserver.yaml" "interfaceengine.yaml" "rabbitmq.yaml" +do + echo "Deploying realtime/$folder/$fname" + ReadYmlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl create -f - +done -ReadYmlAndReplaceCustomer $GITHUB_URL "realtime/realtime-kubernetes-public.yml" $customerid | kubectl create -f - +echo "-- Deploying cluster services --" +folder="services/cluster" +for fname in "certificateserver.yaml" "mysqlserver.yaml" "interfaceengine.yaml" "rabbitmq.yaml" +do + echo "Deploying realtime/$folder/$fname" + ReadYmlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl create -f - +done + +echo "-- Deploying external services --" +folder="services/external" +for fname in "certificateserver.yaml" +do + echo "Deploying realtime/$folder/$fname" + ReadYmlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl create -f - +done + +echo "-- Deploying HTTP proxies --" +folder="ingress/http" +for fname in "web.onprem.yaml" +do + echo "Deploying realtime/$folder/$fname" + ReadYmlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl create -f - +done kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=$namespace -o wide diff --git a/realtime/pods/certificateserver.yaml b/realtime/pods/certificateserver.yaml new file mode 100644 index 0000000..b303de1 --- /dev/null +++ b/realtime/pods/certificateserver.yaml @@ -0,0 +1,59 @@ +kind: Deployment +apiVersion: extensions/v1beta1 +metadata: +# name for this pod + name: certificateserver +# namespace for this pod + namespace: fabricrealtime + labels: + app: certificateserver +spec: + replicas: 1 + revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. + strategy: + # We need to kill the existing Pod before creating an new one + # for the new one to be able to attach the persistent disk. + type: Recreate + selector: + matchLabels: + app: certificateserver + template: + metadata: + labels: + app: certificateserver + spec: + containers: + # name of this pod + - name: certificateserver + # image to pull + image: healthcatalyst/fabric.certificateserver:latest + # specify to always pull a new image + imagePullPolicy: Always + # environment variables + env: + - name: CERT_HOSTNAME + valueFrom: + secretKeyRef: + name: certhostname + key: value + - name: CERT_PASSWORD + valueFrom: + secretKeyRef: + name: certpassword + key: password + - name: CLIENT_CERT_USERNAME + value: fabricrabbitmquser + ports: + # expose port 3000 + - containerPort: 3000 + # name of the port + name: certserver + volumeMounts: + - name: certificateserver-persistent-storage + # point the /var/lib/mysql folder inside the container to the volume called mysql-persistent-storage + mountPath: /opt/certs/ + subPath: certs + volumes: + - name: certificateserver-persistent-storage + persistentVolumeClaim: + claimName: az-files-certificateserver diff --git a/realtime/pods/interfaceengine.yaml b/realtime/pods/interfaceengine.yaml new file mode 100644 index 0000000..72962ff --- /dev/null +++ b/realtime/pods/interfaceengine.yaml @@ -0,0 +1,53 @@ +kind: Deployment +apiVersion: extensions/v1beta1 +metadata: +# name for this pod + name: interfaceengine +# namespace for this pod + namespace: fabricrealtime + labels: + app: interfaceengine +spec: + replicas: 1 + revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. + strategy: + # We need to kill the existing Pod before creating an new one + # for the new one to be able to attach the persistent disk. + type: Recreate + selector: + matchLabels: + app: interfaceengine + template: + metadata: + labels: + app: interfaceengine + spec: + containers: + # name of this pod + - name: interfaceengine + # image to pull + image: healthcatalyst/fabric.docker.interfaceengine:latest + # specify to always pull a new image + imagePullPolicy: Always + # environment variables + env: + - name: MYSQL_PASSWORD + valueFrom: + secretKeyRef: + name: mysqlpassword + key: password + - name: MYSQL_DATABASE + value: mirthdb + - name: MYSQL_USER + value: mirthuser + ports: + # expose port 3000 + - containerPort: 8080 + # name of the port + name: http + - containerPort: 8443 + # name of the port + name: https + - containerPort: 6661 + # name of the port + name: channel diff --git a/realtime/pods/mysqlserver.yaml b/realtime/pods/mysqlserver.yaml new file mode 100644 index 0000000..ae669fd --- /dev/null +++ b/realtime/pods/mysqlserver.yaml @@ -0,0 +1,63 @@ +kind: Deployment +apiVersion: extensions/v1beta1 +metadata: +# name for this pod + name: mysqlserver +# namespace for this pod + namespace: fabricrealtime + labels: + app: mysqlserver +spec: + replicas: 1 + revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. + strategy: + # We need to kill the existing Pod before creating an new one + # for the new one to be able to attach the persistent disk. + type: Recreate + selector: + matchLabels: + app: mysqlserver + template: + metadata: + labels: + app: mysqlserver + spec: + containers: + # name of this pod + - name: mysqlserver + # image to pull + image: healthcatalyst/fabric.realtime.mysql:latest + # specify to always pull a new image + imagePullPolicy: Always + # environment variables + env: + - name: MYSQL_ROOT_PASSWORD + # set the value of this environment variable from a secret called mysqlrootpassword + valueFrom: + secretKeyRef: + name: mysqlrootpassword + key: password + - name: MYSQL_PASSWORD + valueFrom: + secretKeyRef: + name: mysqlpassword + key: password + - name: MYSQL_DATABASE + # set the value of this environment variable directly + value: mirthdb + - name: MYSQL_USER + value: mirthuser + ports: + # expose port 3306 + - containerPort: 3306 + # name of the port + name: mysql + volumeMounts: + - name: mysql-persistent-storage + # point the /var/lib/mysql folder inside the container to the volume called mysql-persistent-storage + mountPath: /var/lib/mysql + subPath: mysql + volumes: + - name: mysql-persistent-storage + persistentVolumeClaim: + claimName: az-files-mysql diff --git a/realtime/pods/rabbitmq.yaml b/realtime/pods/rabbitmq.yaml new file mode 100644 index 0000000..0321a3a --- /dev/null +++ b/realtime/pods/rabbitmq.yaml @@ -0,0 +1,71 @@ +kind: Deployment +apiVersion: extensions/v1beta1 +metadata: +# name for this pod + name: rabbitmq +# namespace for this pod + namespace: fabricrealtime + labels: + app: rabbitmq +spec: + replicas: 1 + revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. + strategy: + # We need to kill the existing Pod before creating an new one + # for the new one to be able to attach the persistent disk. + type: Recreate + selector: + matchLabels: + app: rabbitmq + template: + metadata: + labels: + app: rabbitmq + spec: + containers: + # name of this pod + - name: rabbitmq + # image to pull + image: healthcatalyst/fabric.realtime.rabbitmq:latest + # specify to always pull a new image + imagePullPolicy: Always + # environment variables + env: + - name: CERT_HOSTNAME + valueFrom: + secretKeyRef: + name: certhostname + key: value + - name: RABBITMQ_MGMT_UI_PASSWORD + valueFrom: + secretKeyRef: + name: rabbitmqmgmtuipassword + key: password + - name: RABBITMQ_MNESIA_BASE + value: "/opt/rabbitmq" + - name: RABBITMQ_LOGS + value: "-" + ports: + # expose port 3000 + - containerPort: 5671 + # name of the port + name: rabbitmq + - containerPort: 15672 + # name of the port + name: rabbitmqmgmt + volumeMounts: + - name: rabbitmqcert-persistent-storage + # point the /var/lib/mysql folder inside the container to the volume called mysql-persistent-storage + mountPath: /opt/healthcatalyst/ + subPath: certs + - name: rabbitmq-persistent-storage + # point the /var/lib/mysql folder inside the container to the volume called mysql-persistent-storage + mountPath: /opt/rabbitmq + subPath: rabbitmq + volumes: + - name: rabbitmqcert-persistent-storage + persistentVolumeClaim: + claimName: az-files-rabbitmqcert + - name: rabbitmq-persistent-storage + persistentVolumeClaim: + claimName: az-files-rabbitmq diff --git a/realtime/realtime-kubernetes-storage.yml b/realtime/realtime-kubernetes-storage.yml deleted file mode 100644 index 3c26129..0000000 --- a/realtime/realtime-kubernetes-storage.yml +++ /dev/null @@ -1,191 +0,0 @@ -# define persistent volumes -# ----- MySql ---------- -# Persistent Volume -apiVersion: v1 -kind: PersistentVolume -metadata: - name: azure-file-volume-mysql - namespace: fabricrealtime -spec: - storageClassName: default - capacity: - storage: 128Gi - # https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes - accessModes: - - ReadWriteMany - # https://kubernetes.io/docs/api-reference/v1.8/#azurefilepersistentvolumesource-v1-core - azureFile: - secretName: azure-secret - secretNamespace: default - shareName: fabricrealtime - readOnly: false - mountOptions: - # we need to set owner of this to mysql user (999) so it has permissions to this folder - - uid=999 - - gid=999 - # and set permissions for the user to this folder - # 0 no permissions - # 1 execute - # 2 write - # 3 write & execute - # 4 read - # 5 read & execute - # 6 read & write - # 7 read write & execute - # in 0731 0 is ignore, the 7 applies to owner, 3 applies to group, 1 applies to everyone else - - dir_mode=0731 - - file_mode=0764 - claimRef: - namespace: fabricrealtime - name: az-files-mysql ---- -# Persistent Volume Claim -# claims have to be defined here otherwise when we remove the pods the volume goes into Released mode -# and we can't bind to that volume again until we delete the volume -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: az-files-mysql - namespace: fabricrealtime -spec: - accessModes: - - ReadWriteMany - resources: - requests: - storage: 128Gi ---- -# ----- Certificate Server ---------- -# Persistent Volume -apiVersion: v1 -kind: PersistentVolume -metadata: - name: azure-file-volume-certificateserver - namespace: fabricrealtime -spec: - storageClassName: default - capacity: - storage: 16Gi - # https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes - accessModes: - - ReadWriteMany - # https://kubernetes.io/docs/api-reference/v1.8/#azurefilepersistentvolumesource-v1-core - azureFile: - secretName: azure-secret - secretNamespace: default - shareName: fabricrealtime - readOnly: false - claimRef: - namespace: fabricrealtime - name: az-files-certificateserver ---- -# Persistent Volume Claim -# claims have to be defined here otherwise when we remove the pods the volume goes into Released mode -# and we can't bind to that volume again until we delete the volume -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: az-files-certificateserver - namespace: fabricrealtime -spec: - accessModes: - - ReadWriteMany - resources: - requests: - storage: 16Gi ---- -# ----- RabbitMq Cert ---------- -# Persistent Volume -apiVersion: v1 -kind: PersistentVolume -metadata: - name: azure-file-volume-rabbitmqcert - namespace: fabricrealtime -spec: - storageClassName: default - capacity: - storage: 16Gi - # https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes - accessModes: - - ReadWriteMany - # https://kubernetes.io/docs/api-reference/v1.8/#azurefilepersistentvolumesource-v1-core - azureFile: - secretName: azure-secret - secretNamespace: default - shareName: fabricrealtime - readOnly: false - claimRef: - namespace: fabricrealtime - name: az-files-rabbitmqcert ---- -# Persistent Volume Claim -# claims have to be defined here otherwise when we remove the pods the volume goes into Released mode -# and we can't bind to that volume again until we delete the volume -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: az-files-rabbitmqcert - namespace: fabricrealtime -spec: - accessModes: - - ReadWriteMany - resources: - requests: - storage: 16Gi ---- -# ----- RabbitMq Storage ---------- -# Persistent Volume -apiVersion: v1 -kind: PersistentVolume -metadata: - name: azure-file-volume-rabbitmq - namespace: fabricrealtime -spec: - storageClassName: default - capacity: - storage: 128Gi - # https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes - accessModes: - - ReadWriteMany - # https://kubernetes.io/docs/api-reference/v1.8/#azurefilepersistentvolumesource-v1-core - mountOptions: - # we need to set owner of this to mysql user (999) so it has permissions to this folder - # https://github.com/airdock-io/docker-base/wiki/Common-User-List - # This should be 4204 according to documentation but is actually 999 in reality - - uid=999 - - gid=999 - # and set permissions for the user to this folder - # 0 no permissions - # 1 execute - # 2 write - # 3 write & execute - # 4 read - # 5 read & execute - # 6 read & write - # 7 read write & execute - # in 0731 0 is ignore, the 7 applies to owner, 3 applies to group, 1 applies to everyone else - - dir_mode=0731 - - file_mode=0764 - azureFile: - secretName: azure-secret - secretNamespace: default - shareName: fabricrealtime - readOnly: false - claimRef: - namespace: fabricrealtime - name: az-files-rabbitmq ---- -# Persistent Volume Claim -# claims have to be defined here otherwise when we remove the pods the volume goes into Released mode -# and we can't bind to that volume again until we delete the volume -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: az-files-rabbitmq - namespace: fabricrealtime -spec: - accessModes: - - ReadWriteMany - resources: - requests: - storage: 128Gi ---- diff --git a/realtime/realtime-kubernetes.yml b/realtime/realtime-kubernetes.yml deleted file mode 100644 index b2442f5..0000000 --- a/realtime/realtime-kubernetes.yml +++ /dev/null @@ -1,370 +0,0 @@ -# --- MySql --- -# Pod -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: -# name for this pod - name: mysqlserver -# namespace for this pod - namespace: fabricrealtime - labels: - app: mysqlserver -spec: - replicas: 1 - revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. - strategy: - # We need to kill the existing Pod before creating an new one - # for the new one to be able to attach the persistent disk. - type: Recreate - selector: - matchLabels: - app: mysqlserver - template: - metadata: - labels: - app: mysqlserver - spec: - containers: - # name of this pod - - name: mysqlserver - # image to pull - image: healthcatalyst/fabric.realtime.mysql:latest - # specify to always pull a new image - imagePullPolicy: Always - # environment variables - env: - - name: MYSQL_ROOT_PASSWORD - # set the value of this environment variable from a secret called mysqlrootpassword - valueFrom: - secretKeyRef: - name: mysqlrootpassword - key: password - - name: MYSQL_PASSWORD - valueFrom: - secretKeyRef: - name: mysqlpassword - key: password - - name: MYSQL_DATABASE - # set the value of this environment variable directly - value: mirthdb - - name: MYSQL_USER - value: mirthuser - ports: - # expose port 3306 - - containerPort: 3306 - # name of the port - name: mysql - volumeMounts: - - name: mysql-persistent-storage - # point the /var/lib/mysql folder inside the container to the volume called mysql-persistent-storage - mountPath: /var/lib/mysql - subPath: mysql - volumes: - - name: mysql-persistent-storage - persistentVolumeClaim: - claimName: az-files-mysql ---- -# Service -kind: Service -apiVersion: v1 -metadata: -# this service shows up in the UI with this name - name: mysqlserver -# namespace should match other services in this file - namespace: fabricrealtime -# labels allows you to use selectors to find this service - labels: - app: mysqlserver -spec: - ports: -# port that other services can use to connect to this service - - port: 3306 -# port in the pod we map to - targetPort: 3306 - protocol: TCP -# selector says this service should use a pod that has the "app: mysqlserver" label - selector: - app: mysqlserver ---- -# -- end of MySql --- - -# --- Certificate Server --- -# Pod -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: -# name for this pod - name: certificateserver -# namespace for this pod - namespace: fabricrealtime - labels: - app: certificateserver -spec: - replicas: 1 - revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. - strategy: - # We need to kill the existing Pod before creating an new one - # for the new one to be able to attach the persistent disk. - type: Recreate - selector: - matchLabels: - app: certificateserver - template: - metadata: - labels: - app: certificateserver - spec: - containers: - # name of this pod - - name: certificateserver - # image to pull - image: healthcatalyst/fabric.certificateserver:latest - # specify to always pull a new image - imagePullPolicy: Always - # environment variables - env: - - name: CERT_HOSTNAME - valueFrom: - secretKeyRef: - name: certhostname - key: value - - name: CERT_PASSWORD - valueFrom: - secretKeyRef: - name: certpassword - key: password - - name: CLIENT_CERT_USERNAME - value: fabricrabbitmquser - ports: - # expose port 3000 - - containerPort: 3000 - # name of the port - name: certserver - volumeMounts: - - name: certificateserver-persistent-storage - # point the /var/lib/mysql folder inside the container to the volume called mysql-persistent-storage - mountPath: /opt/certs/ - subPath: certs - volumes: - - name: certificateserver-persistent-storage - persistentVolumeClaim: - claimName: az-files-certificateserver ---- -# Service -kind: Service -apiVersion: v1 -metadata: -# this service shows up in the UI with this name - name: certificateserver -# namespace should match other services in this file - namespace: fabricrealtime -# labels allows you to use selectors to find this service - labels: - app: certificateserver -spec: - ports: -# port that other services can use to connect to this service - - port: 8081 -# port in the pod we map to - targetPort: 3000 - protocol: TCP -# selector says this service should use a pod that has the "app: mysqlserver" label - selector: - app: certificateserver ---- -# -- end of Certificateserver --- - -# --- RabbitMq Server --- -# Pod -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: -# name for this pod - name: rabbitmq -# namespace for this pod - namespace: fabricrealtime - labels: - app: rabbitmq -spec: - replicas: 1 - revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. - strategy: - # We need to kill the existing Pod before creating an new one - # for the new one to be able to attach the persistent disk. - type: Recreate - selector: - matchLabels: - app: rabbitmq - template: - metadata: - labels: - app: rabbitmq - spec: - containers: - # name of this pod - - name: rabbitmq - # image to pull - image: healthcatalyst/fabric.realtime.rabbitmq:latest - # specify to always pull a new image - imagePullPolicy: Always - # environment variables - env: - - name: CERT_HOSTNAME - valueFrom: - secretKeyRef: - name: certhostname - key: value - - name: RABBITMQ_MGMT_UI_PASSWORD - valueFrom: - secretKeyRef: - name: rabbitmqmgmtuipassword - key: password - - name: RABBITMQ_MNESIA_BASE - value: "/opt/rabbitmq" - - name: RABBITMQ_LOGS - value: "-" - ports: - # expose port 3000 - - containerPort: 5671 - # name of the port - name: rabbitmq - - containerPort: 15672 - # name of the port - name: rabbitmqmgmt - volumeMounts: - - name: rabbitmqcert-persistent-storage - # point the /var/lib/mysql folder inside the container to the volume called mysql-persistent-storage - mountPath: /opt/healthcatalyst/ - subPath: certs - - name: rabbitmq-persistent-storage - # point the /var/lib/mysql folder inside the container to the volume called mysql-persistent-storage - mountPath: /opt/rabbitmq - subPath: rabbitmq - volumes: - - name: rabbitmqcert-persistent-storage - persistentVolumeClaim: - claimName: az-files-rabbitmqcert - - name: rabbitmq-persistent-storage - persistentVolumeClaim: - claimName: az-files-rabbitmq ---- -# Service -kind: Service -apiVersion: v1 -metadata: -# this service shows up in the UI with this name - name: rabbitmq -# namespace should match other services in this file - namespace: fabricrealtime -# labels allows you to use selectors to find this service - labels: - app: rabbitmq -spec: - ports: -# port that other services can use to connect to this service - - port: 5671 -# port in the pod we map to - targetPort: 5671 - protocol: TCP - name: "main" - - port: 15672 -# port in the pod we map to - targetPort: 15672 - protocol: TCP - name: "mgmt" -# selector says this service should use a pod that has the "app: mysqlserver" label - selector: - app: rabbitmq ---- -# -- end of rabbitmq --- - -# --- Interface Engine --- -# Pod -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: -# name for this pod - name: interfaceengine -# namespace for this pod - namespace: fabricrealtime - labels: - app: interfaceengine -spec: - replicas: 1 - revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. - strategy: - # We need to kill the existing Pod before creating an new one - # for the new one to be able to attach the persistent disk. - type: Recreate - selector: - matchLabels: - app: interfaceengine - template: - metadata: - labels: - app: interfaceengine - spec: - containers: - # name of this pod - - name: interfaceengine - # image to pull - image: healthcatalyst/fabric.docker.interfaceengine:latest - # specify to always pull a new image - imagePullPolicy: Always - # environment variables - env: - - name: MYSQL_PASSWORD - valueFrom: - secretKeyRef: - name: mysqlpassword - key: password - - name: MYSQL_DATABASE - value: mirthdb - - name: MYSQL_USER - value: mirthuser - ports: - # expose port 3000 - - containerPort: 8080 - # name of the port - name: http - - containerPort: 8443 - # name of the port - name: https - - containerPort: 6661 - # name of the port - name: channel ---- -# Service -kind: Service -apiVersion: v1 -metadata: -# this service shows up in the UI with this name - name: interfaceengine -# namespace should match other services in this file - namespace: fabricrealtime -# labels allows you to use selectors to find this service - labels: - app: interfaceengine -spec: - ports: -# port that other services can use to connect to this service - - port: 8080 -# port in the pod we map to - targetPort: 8080 - protocol: TCP - name: "http" - - port: 8443 -# port in the pod we map to - targetPort: 8443 - protocol: TCP - name: "https" - - port: 6661 -# port in the pod we map to - targetPort: 6661 - protocol: TCP - name: "channel" -# selector says this service should use a pod that has the "app: mysqlserver" label - selector: - app: interfaceengine ---- -# -- end of interfaceengine --- \ No newline at end of file diff --git a/realtime/services/cluster/certificateserver.yaml b/realtime/services/cluster/certificateserver.yaml new file mode 100644 index 0000000..9bc1c57 --- /dev/null +++ b/realtime/services/cluster/certificateserver.yaml @@ -0,0 +1,20 @@ +kind: Service +apiVersion: v1 +metadata: +# this service shows up in the UI with this name + name: certificateserver +# namespace should match other services in this file + namespace: fabricrealtime +# labels allows you to use selectors to find this service + labels: + app: certificateserver +spec: + ports: +# port that other services can use to connect to this service + - port: 8081 +# port in the pod we map to + targetPort: 3000 + protocol: TCP +# selector says this service should use a pod that has the "app: mysqlserver" label + selector: + app: certificateserver diff --git a/realtime/services/cluster/interfaceengine.yaml b/realtime/services/cluster/interfaceengine.yaml new file mode 100644 index 0000000..a1ac105 --- /dev/null +++ b/realtime/services/cluster/interfaceengine.yaml @@ -0,0 +1,31 @@ +kind: Service +apiVersion: v1 +metadata: +# this service shows up in the UI with this name + name: interfaceengine +# namespace should match other services in this file + namespace: fabricrealtime +# labels allows you to use selectors to find this service + labels: + app: interfaceengine +spec: + ports: +# port that other services can use to connect to this service + - port: 8080 +# port in the pod we map to + targetPort: 8080 + protocol: TCP + name: "http" + - port: 8443 +# port in the pod we map to + targetPort: 8443 + protocol: TCP + name: "https" + - port: 6661 +# port in the pod we map to + targetPort: 6661 + protocol: TCP + name: "channel" +# selector says this service should use a pod that has the "app: mysqlserver" label + selector: + app: interfaceengine diff --git a/realtime/services/cluster/mysqlserver.yaml b/realtime/services/cluster/mysqlserver.yaml new file mode 100644 index 0000000..475fa95 --- /dev/null +++ b/realtime/services/cluster/mysqlserver.yaml @@ -0,0 +1,20 @@ +kind: Service +apiVersion: v1 +metadata: +# this service shows up in the UI with this name + name: mysqlserver +# namespace should match other services in this file + namespace: fabricrealtime +# labels allows you to use selectors to find this service + labels: + app: mysqlserver +spec: + ports: +# port that other services can use to connect to this service + - port: 3306 +# port in the pod we map to + targetPort: 3306 + protocol: TCP +# selector says this service should use a pod that has the "app: mysqlserver" label + selector: + app: mysqlserver \ No newline at end of file diff --git a/realtime/services/cluster/rabbitmq.yaml b/realtime/services/cluster/rabbitmq.yaml new file mode 100644 index 0000000..908d546 --- /dev/null +++ b/realtime/services/cluster/rabbitmq.yaml @@ -0,0 +1,26 @@ +kind: Service +apiVersion: v1 +metadata: +# this service shows up in the UI with this name + name: rabbitmq +# namespace should match other services in this file + namespace: fabricrealtime +# labels allows you to use selectors to find this service + labels: + app: rabbitmq +spec: + ports: +# port that other services can use to connect to this service + - port: 5671 +# port in the pod we map to + targetPort: 5671 + protocol: TCP + name: "main" + - port: 15672 +# port in the pod we map to + targetPort: 15672 + protocol: TCP + name: "mgmt" +# selector says this service should use a pod that has the "app: mysqlserver" label + selector: + app: rabbitmq diff --git a/realtime/realtime-kubernetes-public.yml b/realtime/services/external/certificateserver.yaml similarity index 100% rename from realtime/realtime-kubernetes-public.yml rename to realtime/services/external/certificateserver.yaml diff --git a/realtime/volumeclaims/certificateserver.yaml b/realtime/volumeclaims/certificateserver.yaml new file mode 100644 index 0000000..ba94be6 --- /dev/null +++ b/realtime/volumeclaims/certificateserver.yaml @@ -0,0 +1,11 @@ +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: az-files-certificateserver + namespace: fabricrealtime +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 1Gi \ No newline at end of file diff --git a/realtime/volumeclaims/mysqlserver.yaml b/realtime/volumeclaims/mysqlserver.yaml new file mode 100644 index 0000000..8ffaa99 --- /dev/null +++ b/realtime/volumeclaims/mysqlserver.yaml @@ -0,0 +1,11 @@ +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: az-files-mysql + namespace: fabricrealtime +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 8Gi \ No newline at end of file diff --git a/realtime/volumeclaims/rabbitmq-cert.yaml b/realtime/volumeclaims/rabbitmq-cert.yaml new file mode 100644 index 0000000..2222a02 --- /dev/null +++ b/realtime/volumeclaims/rabbitmq-cert.yaml @@ -0,0 +1,11 @@ +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: az-files-rabbitmqcert + namespace: fabricrealtime +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 1Gi diff --git a/realtime/volumeclaims/rabbitmq.yaml b/realtime/volumeclaims/rabbitmq.yaml new file mode 100644 index 0000000..e3afda0 --- /dev/null +++ b/realtime/volumeclaims/rabbitmq.yaml @@ -0,0 +1,11 @@ +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: az-files-rabbitmq + namespace: fabricrealtime +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 8Gi \ No newline at end of file diff --git a/realtime/volumes/certificateserver.onprem.yaml b/realtime/volumes/certificateserver.onprem.yaml new file mode 100644 index 0000000..7e3fe55 --- /dev/null +++ b/realtime/volumes/certificateserver.onprem.yaml @@ -0,0 +1,19 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: file-volume-certificateserver + namespace: fabricrealtime + labels: + type: local +spec: + #persistentVolumeReclaimPolicy: Delete + storageClassName: default + capacity: + storage: 1Gi + accessModes: + - ReadWriteMany + hostPath: + path: "/mnt/data/fabricrealtime" + claimRef: + namespace: fabricrealtime + name: az-files-certificateserver diff --git a/realtime/volumes/certificateserver.yaml b/realtime/volumes/certificateserver.yaml new file mode 100644 index 0000000..69f0800 --- /dev/null +++ b/realtime/volumes/certificateserver.yaml @@ -0,0 +1,21 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: azure-file-volume-certificateserver + namespace: fabricrealtime +spec: + storageClassName: default + capacity: + storage: 1Gi + # https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes + accessModes: + - ReadWriteMany + # https://kubernetes.io/docs/api-reference/v1.8/#azurefilepersistentvolumesource-v1-core + azureFile: + secretName: azure-secret + secretNamespace: default + shareName: fabricrealtime + readOnly: false + claimRef: + namespace: fabricrealtime + name: az-files-certificateserver diff --git a/realtime/volumes/mysqlserver.onprem.yaml b/realtime/volumes/mysqlserver.onprem.yaml new file mode 100644 index 0000000..a7cec3e --- /dev/null +++ b/realtime/volumes/mysqlserver.onprem.yaml @@ -0,0 +1,19 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: file-volume-mysql + namespace: fabricrealtime + labels: + type: local +spec: + #persistentVolumeReclaimPolicy: Delete + storageClassName: default + capacity: + storage: 8Gi + accessModes: + - ReadWriteMany + hostPath: + path: "/mnt/data/fabricrealtime" + claimRef: + namespace: fabricrealtime + name: az-files-mysql diff --git a/realtime/volumes/mysqlserver.yaml b/realtime/volumes/mysqlserver.yaml new file mode 100644 index 0000000..223ce8f --- /dev/null +++ b/realtime/volumes/mysqlserver.yaml @@ -0,0 +1,37 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: azure-file-volume-mysql + namespace: fabricrealtime +spec: + storageClassName: default + capacity: + storage: 8Gi + # https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes + accessModes: + - ReadWriteMany + # https://kubernetes.io/docs/api-reference/v1.8/#azurefilepersistentvolumesource-v1-core + azureFile: + secretName: azure-secret + secretNamespace: default + shareName: fabricrealtime + readOnly: false + mountOptions: + # we need to set owner of this to mysql user (999) so it has permissions to this folder + - uid=999 + - gid=999 + # and set permissions for the user to this folder + # 0 no permissions + # 1 execute + # 2 write + # 3 write & execute + # 4 read + # 5 read & execute + # 6 read & write + # 7 read write & execute + # in 0731 0 is ignore, the 7 applies to owner, 3 applies to group, 1 applies to everyone else + - dir_mode=0731 + - file_mode=0764 + claimRef: + namespace: fabricrealtime + name: az-files-mysql diff --git a/realtime/volumes/rabbitmq-cert.onprem.yaml b/realtime/volumes/rabbitmq-cert.onprem.yaml new file mode 100644 index 0000000..51da77f --- /dev/null +++ b/realtime/volumes/rabbitmq-cert.onprem.yaml @@ -0,0 +1,19 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: file-volume-rabbitmqcert + namespace: fabricrealtime + labels: + type: local +spec: + #persistentVolumeReclaimPolicy: Delete + storageClassName: default + capacity: + storage: 1Gi + accessModes: + - ReadWriteMany + hostPath: + path: "/mnt/data/fabricrealtime" + claimRef: + namespace: fabricrealtime + name: az-files-rabbitmqcert diff --git a/realtime/volumes/rabbitmq-cert.yaml b/realtime/volumes/rabbitmq-cert.yaml new file mode 100644 index 0000000..f12e34f --- /dev/null +++ b/realtime/volumes/rabbitmq-cert.yaml @@ -0,0 +1,21 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: azure-file-volume-rabbitmqcert + namespace: fabricrealtime +spec: + storageClassName: default + capacity: + storage: 1Gi + # https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes + accessModes: + - ReadWriteMany + # https://kubernetes.io/docs/api-reference/v1.8/#azurefilepersistentvolumesource-v1-core + azureFile: + secretName: azure-secret + secretNamespace: default + shareName: fabricrealtime + readOnly: false + claimRef: + namespace: fabricrealtime + name: az-files-rabbitmqcert \ No newline at end of file diff --git a/realtime/volumes/rabbitmq.onprem.yaml b/realtime/volumes/rabbitmq.onprem.yaml new file mode 100644 index 0000000..a32ada4 --- /dev/null +++ b/realtime/volumes/rabbitmq.onprem.yaml @@ -0,0 +1,19 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: file-volume-rabbitmq + namespace: fabricrealtime + labels: + type: local +spec: + #persistentVolumeReclaimPolicy: Delete + storageClassName: default + capacity: + storage: 8Gi + accessModes: + - ReadWriteMany + hostPath: + path: "/mnt/data/fabricrealtime" + claimRef: + namespace: fabricrealtime + name: az-files-rabbitmq diff --git a/realtime/volumes/rabbitmq.yaml b/realtime/volumes/rabbitmq.yaml new file mode 100644 index 0000000..8940ed2 --- /dev/null +++ b/realtime/volumes/rabbitmq.yaml @@ -0,0 +1,39 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: azure-file-volume-rabbitmq + namespace: fabricrealtime +spec: + storageClassName: default + capacity: + storage: 8Gi + # https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes + accessModes: + - ReadWriteMany + # https://kubernetes.io/docs/api-reference/v1.8/#azurefilepersistentvolumesource-v1-core + mountOptions: + # we need to set owner of this to mysql user (999) so it has permissions to this folder + # https://github.com/airdock-io/docker-base/wiki/Common-User-List + # This should be 4204 according to documentation but is actually 999 in reality + - uid=999 + - gid=999 + # and set permissions for the user to this folder + # 0 no permissions + # 1 execute + # 2 write + # 3 write & execute + # 4 read + # 5 read & execute + # 6 read & write + # 7 read write & execute + # in 0731 0 is ignore, the 7 applies to owner, 3 applies to group, 1 applies to everyone else + - dir_mode=0731 + - file_mode=0764 + azureFile: + secretName: azure-secret + secretNamespace: default + shareName: fabricrealtime + readOnly: false + claimRef: + namespace: fabricrealtime + name: az-files-rabbitmq From f1b468913c9806974ebb668395166a5a330a81a1 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 16 Feb 2018 11:50:02 -0800 Subject: [PATCH 179/473] rename volumes Signed-off-by: HQCATALYST\imran.qureshi --- realtime/volumeclaims/certificateserver.yaml | 2 +- realtime/volumeclaims/mysqlserver.yaml | 2 +- realtime/volumeclaims/rabbitmq-cert.yaml | 2 +- realtime/volumeclaims/rabbitmq.yaml | 2 +- realtime/volumes/certificateserver.onprem.yaml | 4 ++-- realtime/volumes/certificateserver.yaml | 4 ++-- realtime/volumes/mysqlserver.onprem.yaml | 4 ++-- realtime/volumes/mysqlserver.yaml | 4 ++-- realtime/volumes/rabbitmq-cert.onprem.yaml | 4 ++-- realtime/volumes/rabbitmq-cert.yaml | 4 ++-- realtime/volumes/rabbitmq.onprem.yaml | 4 ++-- realtime/volumes/rabbitmq.yaml | 4 ++-- 12 files changed, 20 insertions(+), 20 deletions(-) diff --git a/realtime/volumeclaims/certificateserver.yaml b/realtime/volumeclaims/certificateserver.yaml index ba94be6..417c4dd 100644 --- a/realtime/volumeclaims/certificateserver.yaml +++ b/realtime/volumeclaims/certificateserver.yaml @@ -1,7 +1,7 @@ kind: PersistentVolumeClaim apiVersion: v1 metadata: - name: az-files-certificateserver + name: realtime.certificateserver namespace: fabricrealtime spec: accessModes: diff --git a/realtime/volumeclaims/mysqlserver.yaml b/realtime/volumeclaims/mysqlserver.yaml index 8ffaa99..73e3ad9 100644 --- a/realtime/volumeclaims/mysqlserver.yaml +++ b/realtime/volumeclaims/mysqlserver.yaml @@ -1,7 +1,7 @@ kind: PersistentVolumeClaim apiVersion: v1 metadata: - name: az-files-mysql + name: realtime.mysql namespace: fabricrealtime spec: accessModes: diff --git a/realtime/volumeclaims/rabbitmq-cert.yaml b/realtime/volumeclaims/rabbitmq-cert.yaml index 2222a02..c110e6b 100644 --- a/realtime/volumeclaims/rabbitmq-cert.yaml +++ b/realtime/volumeclaims/rabbitmq-cert.yaml @@ -1,7 +1,7 @@ kind: PersistentVolumeClaim apiVersion: v1 metadata: - name: az-files-rabbitmqcert + name: realtime.rabbitmqcert namespace: fabricrealtime spec: accessModes: diff --git a/realtime/volumeclaims/rabbitmq.yaml b/realtime/volumeclaims/rabbitmq.yaml index e3afda0..f01d22a 100644 --- a/realtime/volumeclaims/rabbitmq.yaml +++ b/realtime/volumeclaims/rabbitmq.yaml @@ -1,7 +1,7 @@ kind: PersistentVolumeClaim apiVersion: v1 metadata: - name: az-files-rabbitmq + name: realtime.rabbitmq namespace: fabricrealtime spec: accessModes: diff --git a/realtime/volumes/certificateserver.onprem.yaml b/realtime/volumes/certificateserver.onprem.yaml index 7e3fe55..abbc95d 100644 --- a/realtime/volumes/certificateserver.onprem.yaml +++ b/realtime/volumes/certificateserver.onprem.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: PersistentVolume metadata: - name: file-volume-certificateserver + name: realtime.certificateserver namespace: fabricrealtime labels: type: local @@ -16,4 +16,4 @@ spec: path: "/mnt/data/fabricrealtime" claimRef: namespace: fabricrealtime - name: az-files-certificateserver + name: realtime.certificateserver diff --git a/realtime/volumes/certificateserver.yaml b/realtime/volumes/certificateserver.yaml index 69f0800..27d1745 100644 --- a/realtime/volumes/certificateserver.yaml +++ b/realtime/volumes/certificateserver.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: PersistentVolume metadata: - name: azure-file-volume-certificateserver + name: realtime.certificateserver namespace: fabricrealtime spec: storageClassName: default @@ -18,4 +18,4 @@ spec: readOnly: false claimRef: namespace: fabricrealtime - name: az-files-certificateserver + name: realtime.certificateserver diff --git a/realtime/volumes/mysqlserver.onprem.yaml b/realtime/volumes/mysqlserver.onprem.yaml index a7cec3e..446f729 100644 --- a/realtime/volumes/mysqlserver.onprem.yaml +++ b/realtime/volumes/mysqlserver.onprem.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: PersistentVolume metadata: - name: file-volume-mysql + name: realtime.mysqlserver namespace: fabricrealtime labels: type: local @@ -16,4 +16,4 @@ spec: path: "/mnt/data/fabricrealtime" claimRef: namespace: fabricrealtime - name: az-files-mysql + name: realtime.mysqlserver diff --git a/realtime/volumes/mysqlserver.yaml b/realtime/volumes/mysqlserver.yaml index 223ce8f..f6f8684 100644 --- a/realtime/volumes/mysqlserver.yaml +++ b/realtime/volumes/mysqlserver.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: PersistentVolume metadata: - name: azure-file-volume-mysql + name: realtime.mysqlserver namespace: fabricrealtime spec: storageClassName: default @@ -34,4 +34,4 @@ spec: - file_mode=0764 claimRef: namespace: fabricrealtime - name: az-files-mysql + name: realtime.mysqlserver diff --git a/realtime/volumes/rabbitmq-cert.onprem.yaml b/realtime/volumes/rabbitmq-cert.onprem.yaml index 51da77f..e70e2c0 100644 --- a/realtime/volumes/rabbitmq-cert.onprem.yaml +++ b/realtime/volumes/rabbitmq-cert.onprem.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: PersistentVolume metadata: - name: file-volume-rabbitmqcert + name: realtime.rabbitmqcert namespace: fabricrealtime labels: type: local @@ -16,4 +16,4 @@ spec: path: "/mnt/data/fabricrealtime" claimRef: namespace: fabricrealtime - name: az-files-rabbitmqcert + name: realtime.rabbitmqcert diff --git a/realtime/volumes/rabbitmq-cert.yaml b/realtime/volumes/rabbitmq-cert.yaml index f12e34f..9323ade 100644 --- a/realtime/volumes/rabbitmq-cert.yaml +++ b/realtime/volumes/rabbitmq-cert.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: PersistentVolume metadata: - name: azure-file-volume-rabbitmqcert + name: realtime.rabbitmqcert namespace: fabricrealtime spec: storageClassName: default @@ -18,4 +18,4 @@ spec: readOnly: false claimRef: namespace: fabricrealtime - name: az-files-rabbitmqcert \ No newline at end of file + name: realtime.rabbitmqcert \ No newline at end of file diff --git a/realtime/volumes/rabbitmq.onprem.yaml b/realtime/volumes/rabbitmq.onprem.yaml index a32ada4..85a9db5 100644 --- a/realtime/volumes/rabbitmq.onprem.yaml +++ b/realtime/volumes/rabbitmq.onprem.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: PersistentVolume metadata: - name: file-volume-rabbitmq + name: realtime.rabbitmq namespace: fabricrealtime labels: type: local @@ -16,4 +16,4 @@ spec: path: "/mnt/data/fabricrealtime" claimRef: namespace: fabricrealtime - name: az-files-rabbitmq + name: realtime.rabbitmq diff --git a/realtime/volumes/rabbitmq.yaml b/realtime/volumes/rabbitmq.yaml index 8940ed2..7399f47 100644 --- a/realtime/volumes/rabbitmq.yaml +++ b/realtime/volumes/rabbitmq.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: PersistentVolume metadata: - name: azure-file-volume-rabbitmq + name: realtime.rabbitmq namespace: fabricrealtime spec: storageClassName: default @@ -36,4 +36,4 @@ spec: readOnly: false claimRef: namespace: fabricrealtime - name: az-files-rabbitmq + name: realtime.rabbitmq From d9743d3162780e7c2fc5eb22816dddaf24bb4c42 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 16 Feb 2018 11:51:41 -0800 Subject: [PATCH 180/473] fix typo Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index b35a84a..0d02d28 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.02.16.01" +version="2018.02.16.02" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -91,7 +91,7 @@ while [[ "$input" != "q" ]]; do ;; 15) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | bash ;; - 16) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installrealtimekubernetes.sh | bash + 16) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.sh | bash ;; 21) echo "Current cluster: $(kubectl config current-context)" kubectl version --short From 1faa4e5c1e52f8f284dc298dda0630b9e5f14764 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 16 Feb 2018 11:56:07 -0800 Subject: [PATCH 181/473] increment version Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 6 ++++-- realtime/installrealtimekubernetes.sh | 6 +++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 0d02d28..bb7f647 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.02.16.02" +version="2018.02.16.03" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -123,7 +123,9 @@ while [[ "$input" != "q" ]]; do ;; 43) Write-Host "MySql root password: $(ReadSecretPassword mysqlrootpassword fabricrealtime)" Write-Host "MySql NLP_APP_USER password: $(ReadSecretPassword mysqlpassword fabricrealtime)" - Write-Host "SendGrid SMTP Relay key: $(ReadSecretPassword smtprelaypassword fabricrealtime)" + Write-Host "certhostname: $(ReadSecretPassword certhostname fabricrealtime)" + Write-Host "certpassword: $(ReadSecretPassword certpassword fabricrealtime)" + Write-Host "rabbitmqmgmtuipassword: $(ReadSecretPassword rabbitmqmgmtuipassword fabricrealtime)" ;; 44) pods=$(kubectl get pods -n fabricrealtime -o jsonpath='{.items[*].metadata.name}') for pod in $pods diff --git a/realtime/installrealtimekubernetes.sh b/realtime/installrealtimekubernetes.sh index 08e5340..97d63f4 100644 --- a/realtime/installrealtimekubernetes.sh +++ b/realtime/installrealtimekubernetes.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | bash # GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -version="2018.02.16.01" +version="2018.02.16.02" echo "---- installrealtimekubernetes.sh version $version ------" @@ -13,9 +13,9 @@ source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh") # source ./kubernetes/common.sh -$namespace="fabricrealtime" +namespace="fabricrealtime" -$datafolder="/mnt/data/fabricrealtime" +datafolder="/mnt/data/fabricrealtime" if [ ! -d "$datafolder" ]; then sudo mkdir -p $datafolder fi From 45cb39bf2bec6552e358cecb835f318fc39f8f68 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 16 Feb 2018 11:59:24 -0800 Subject: [PATCH 182/473] add AskForSecretValue Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/common.sh | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/kubernetes/common.sh b/kubernetes/common.sh index 257201f..e212794 100644 --- a/kubernetes/common.sh +++ b/kubernetes/common.sh @@ -1,5 +1,5 @@ -versioncommon="2018.02.15.08" +versioncommon="2018.02.16.01" echo "--- Including common.sh version $versioncommon ---" function GetCommonVersion() { @@ -161,6 +161,27 @@ function AskForPasswordAnyCharacters () { fi } +function AskForSecretValue () { + local secretname=$1 + local prompt=$2 + local namespace=$3 + + if [[ -z "$namespace" ]]; then + namespace="default" + fi + + if [[ -z "$(kubectl get secret $secretname -n $namespace -o jsonpath='{.data}' --ignore-not-found=true)" ]]; then + mysqlrootpassword="" + # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html + # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script + read -p "${prompt}: " myvalue < /dev/tty + kubectl create secret generic $secretname --namespace=$namespace --from-literal=value=$myvalue + else + Write-Output "$secretname secret already set so will reuse it" + fi +} + + function WaitForPodsInNamespace(){ local namespace="$1" From 6d1d6c8d565ca31e1d1273e5f29537364d1b8232 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 16 Feb 2018 12:04:26 -0800 Subject: [PATCH 183/473] fix typo Signed-off-by: HQCATALYST\imran.qureshi --- realtime/ingress/http/web.onprem.yaml | 4 ++-- realtime/ingress/http/web.ssl.yaml | 2 +- realtime/ingress/http/web.yaml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/realtime/ingress/http/web.onprem.yaml b/realtime/ingress/http/web.onprem.yaml index 562e4d7..41056c9 100644 --- a/realtime/ingress/http/web.onprem.yaml +++ b/realtime/ingress/http/web.onprem.yaml @@ -1,8 +1,8 @@ apiVersion: extensions/v1beta1 kind: Ingress metadata: - name: nlp-ingress - namespace: fabricnlp + name: realtime.ingress + namespace: fabricrealtime annotations: kubernetes.io/ingress.class: traefik spec: diff --git a/realtime/ingress/http/web.ssl.yaml b/realtime/ingress/http/web.ssl.yaml index 887823e..18d712c 100644 --- a/realtime/ingress/http/web.ssl.yaml +++ b/realtime/ingress/http/web.ssl.yaml @@ -1,7 +1,7 @@ apiVersion: extensions/v1beta1 kind: Ingress metadata: - name: realtime-ingress + name: realtime.ingress namespace: fabricrealtime annotations: kubernetes.io/ingress.class: traefik diff --git a/realtime/ingress/http/web.yaml b/realtime/ingress/http/web.yaml index a6446ab..cf58d07 100644 --- a/realtime/ingress/http/web.yaml +++ b/realtime/ingress/http/web.yaml @@ -1,7 +1,7 @@ apiVersion: extensions/v1beta1 kind: Ingress metadata: - name: realtime-ingress + name: realtime.ingress namespace: fabricrealtime annotations: kubernetes.io/ingress.class: traefik From a814e931076570c3bc1257626ae081ec352af2a7 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 16 Feb 2018 12:52:53 -0800 Subject: [PATCH 184/473] fix name in mysql pvc Signed-off-by: HQCATALYST\imran.qureshi --- realtime/volumeclaims/mysqlserver.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/realtime/volumeclaims/mysqlserver.yaml b/realtime/volumeclaims/mysqlserver.yaml index 73e3ad9..de12a16 100644 --- a/realtime/volumeclaims/mysqlserver.yaml +++ b/realtime/volumeclaims/mysqlserver.yaml @@ -1,7 +1,7 @@ kind: PersistentVolumeClaim apiVersion: v1 metadata: - name: realtime.mysql + name: realtime.mysqlserver namespace: fabricrealtime spec: accessModes: From a93d4e89018255eefd12d2729f159870cb59aea3 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 16 Feb 2018 13:08:08 -0800 Subject: [PATCH 185/473] specify interval to sleep Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/common.sh | 7 ++++--- kubernetes/setupmaster.txt | 2 +- nlp/installnlpkubernetes.sh | 2 +- realtime/installrealtimekubernetes.sh | 2 +- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/kubernetes/common.sh b/kubernetes/common.sh index e212794..00b7036 100644 --- a/kubernetes/common.sh +++ b/kubernetes/common.sh @@ -1,5 +1,5 @@ -versioncommon="2018.02.16.01" +versioncommon="2018.02.16.02" echo "--- Including common.sh version $versioncommon ---" function GetCommonVersion() { @@ -184,6 +184,7 @@ function AskForSecretValue () { function WaitForPodsInNamespace(){ local namespace="$1" + local interval=$2 pods=$(kubectl get pods -n $namespace -o jsonpath='{.items[*].metadata.name}') waitingonPod="n" @@ -193,12 +194,12 @@ function WaitForPodsInNamespace(){ for pod in $pods; do podstatus=$(kubectl get pods $pod -n $namespace -o jsonpath='{.status.phase}') - echo "$pod: $podstatus" if [[ $podstatus != "Running" ]]; then + echo "$pod: $podstatus" waitingonPod=$pod fi done - sleep 5 + sleep $interval done } diff --git a/kubernetes/setupmaster.txt b/kubernetes/setupmaster.txt index 3153304..6783efd 100644 --- a/kubernetes/setupmaster.txt +++ b/kubernetes/setupmaster.txt @@ -46,7 +46,7 @@ kubectl get nodes kubectl get pods -n kube-system -o wide -WaitForPodsInNamespace kube-system +WaitForPodsInNamespace kube-system 5 sudo mkdir -p /mnt/data sudo chown $(id -u):$(id -g) /mnt/data diff --git a/nlp/installnlpkubernetes.sh b/nlp/installnlpkubernetes.sh index 3a051c0..946855e 100644 --- a/nlp/installnlpkubernetes.sh +++ b/nlp/installnlpkubernetes.sh @@ -138,7 +138,7 @@ done kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=$namespace -o wide -WaitForPodsInNamespace $namespace +WaitForPodsInNamespace $namespace 5 # to get a shell # kubectl exec -it fabric.nlp.nlpwebserver-85c8cb86b5-gkphh bash --namespace=fabricnlp diff --git a/realtime/installrealtimekubernetes.sh b/realtime/installrealtimekubernetes.sh index 97d63f4..b81c7a5 100644 --- a/realtime/installrealtimekubernetes.sh +++ b/realtime/installrealtimekubernetes.sh @@ -125,7 +125,7 @@ done kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=$namespace -o wide -WaitForPodsInNamespace $namespace +WaitForPodsInNamespace $namespace 5 # to get a shell # kubectl exec -it fabric.nlp.nlpwebserver-85c8cb86b5-gkphh bash --namespace=fabricnlp From a6793b7ecd0de124fa980d7a2d837aeec72d854a Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 16 Feb 2018 13:10:48 -0800 Subject: [PATCH 186/473] fix volume claim names Signed-off-by: HQCATALYST\imran.qureshi --- realtime/pods/certificateserver.yaml | 2 +- realtime/pods/mysqlserver.yaml | 2 +- realtime/pods/rabbitmq.yaml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/realtime/pods/certificateserver.yaml b/realtime/pods/certificateserver.yaml index b303de1..6497d43 100644 --- a/realtime/pods/certificateserver.yaml +++ b/realtime/pods/certificateserver.yaml @@ -56,4 +56,4 @@ spec: volumes: - name: certificateserver-persistent-storage persistentVolumeClaim: - claimName: az-files-certificateserver + claimName: realtime.certificateserver diff --git a/realtime/pods/mysqlserver.yaml b/realtime/pods/mysqlserver.yaml index ae669fd..e02b8cd 100644 --- a/realtime/pods/mysqlserver.yaml +++ b/realtime/pods/mysqlserver.yaml @@ -60,4 +60,4 @@ spec: volumes: - name: mysql-persistent-storage persistentVolumeClaim: - claimName: az-files-mysql + claimName: realtime.mysqlserver diff --git a/realtime/pods/rabbitmq.yaml b/realtime/pods/rabbitmq.yaml index 0321a3a..e952f15 100644 --- a/realtime/pods/rabbitmq.yaml +++ b/realtime/pods/rabbitmq.yaml @@ -65,7 +65,7 @@ spec: volumes: - name: rabbitmqcert-persistent-storage persistentVolumeClaim: - claimName: az-files-rabbitmqcert + claimName: realtime.rabbitmqcert - name: rabbitmq-persistent-storage persistentVolumeClaim: - claimName: az-files-rabbitmq + claimName: realtime.rabbitmq From 4dad3723bdfd585f70703359bd7563836127a0c3 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 16 Feb 2018 13:39:34 -0800 Subject: [PATCH 187/473] add label to persistent volumes. only delete pvs in namespace Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/common-kube.ps1 | 18 ++++++++++++++++++ kubernetes/common.sh | 19 +++++++++++++++++++ nlp/installnlpkubernetes.ps1 | 10 +--------- nlp/installnlpkubernetes.sh | 14 +------------- nlp/jobs/mysqlserver-backup-cron.yaml | 2 +- nlp/jobs/mysqlserver-backup-manual.yaml | 2 +- nlp/jobs/mysqlserver-restore-manual.yaml | 2 +- nlp/nlp-kubernetes-storage-onprem.yml | 8 ++++---- nlp/pods/jobserver.yaml | 2 +- nlp/pods/mysqlclient.yaml | 2 +- nlp/pods/mysqlserver.yaml | 2 +- nlp/pods/solrserver.yaml | 2 +- nlp/test.yml | 12 ++++++------ nlp/volumeclaims/jobserver.yaml | 2 +- nlp/volumeclaims/mysqlbackup.yaml | 2 +- nlp/volumeclaims/mysqlserver.yaml | 2 +- nlp/volumeclaims/solrserver.yaml | 2 +- nlp/volumes/jobserver.onprem.yaml | 3 ++- nlp/volumes/jobserver.yaml | 5 ++++- nlp/volumes/mysqlbackup.onprem.yaml | 5 ++++- nlp/volumes/mysqlbackup.yaml | 5 ++++- nlp/volumes/mysqlserver.onprem.yaml | 5 +++-- nlp/volumes/mysqlserver.yaml | 5 ++++- nlp/volumes/solrserver.onprem.yaml | 3 ++- nlp/volumes/solrserver.yaml | 5 ++++- realtime/installrealtimekubernetes.ps1 | 10 +--------- realtime/installrealtimekubernetes.sh | 14 +------------- .../volumes/certificateserver.onprem.yaml | 3 ++- realtime/volumes/certificateserver.yaml | 3 +++ realtime/volumes/mysqlserver.onprem.yaml | 3 ++- realtime/volumes/mysqlserver.yaml | 5 ++++- realtime/volumes/rabbitmq-cert.onprem.yaml | 3 ++- realtime/volumes/rabbitmq-cert.yaml | 3 +++ realtime/volumes/rabbitmq.onprem.yaml | 3 ++- realtime/volumes/rabbitmq.yaml | 5 ++++- 35 files changed, 111 insertions(+), 80 deletions(-) diff --git a/kubernetes/common-kube.ps1 b/kubernetes/common-kube.ps1 index a6c59af..ec455c9 100644 --- a/kubernetes/common-kube.ps1 +++ b/kubernetes/common-kube.ps1 @@ -217,5 +217,23 @@ function global:DownloadKubectl($localFolder) { } +function global:CleanOutNamespace($namespace){ + + Write-Output "--- Cleaning out any old resources in $namespace ---" + + # note kubectl doesn't like spaces in between commas below + kubectl delete --all 'deployments,pods,services,ingress,persistentvolumeclaims,jobs,cronjobs' --namespace=$namespace --ignore-not-found=true + + # can't delete persistent volume claims since they are not scoped to namespace + kubectl delete 'pv' -l namespace=$namespace --ignore-not-found=true + + $CLEANUP_DONE="n" + Do { + $CLEANUP_DONE=$(kubectl get 'deployments,pods,services,ingress,persistentvolumeclaims' --namespace=$namespace -o jsonpath="{.items[*].metadata.name}") + Write-Output "Remaining items: $CLEANUP_DONE" + Start-Sleep 5 + } + while ([string]::IsNullOrEmpty($CLEANUP_DONE)) +} # -------------------- Write-Host "end common-kube.ps1 version $versioncommon" \ No newline at end of file diff --git a/kubernetes/common.sh b/kubernetes/common.sh index 00b7036..7bf73cf 100644 --- a/kubernetes/common.sh +++ b/kubernetes/common.sh @@ -243,4 +243,23 @@ function mountSMBWithParams(){ echo "Listing files in shared folder" ls -al /mnt/data +} + +function CleanOutNamespace(){ + local namespace=$1 + + echo "--- Cleaning out any old resources in $namespace ---" + + # note kubectl doesn't like spaces in between commas below + kubectl delete --all 'deployments,pods,services,ingress,persistentvolumeclaims,jobs,cronjobs' --namespace=$namespace --ignore-not-found=true + + # can't delete persistent volume claims since they are not scoped to namespace + kubectl delete 'pv' -l namespace=$namespace --ignore-not-found=true + + CLEANUP_DONE="n" + while [[ ! -z "$CLEANUP_DONE" ]]; do + CLEANUP_DONE=$(kubectl get 'deployments,pods,services,ingress,persistentvolumeclaims' --namespace=$namespace -o jsonpath="{.items[*].metadata.name}") + echo "Remaining items: $CLEANUP_DONE" + sleep 5 + done } \ No newline at end of file diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index 023aee5..998f227 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -98,15 +98,7 @@ AskForPassword -secretname "mysqlpassword" -prompt "MySQL NLP_APP_USER password AskForPasswordAnyCharacters -secretname "smtprelaypassword" -prompt "SMTP (SendGrid) Relay Key" -namespace "$namespace" -defaultvalue "" -Write-Output "Cleaning out any old resources in $namespace" - -# note kubectl doesn't like spaces in between commas below -kubectl delete --all 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes,jobs,cronjobs' --namespace=$namespace --ignore-not-found=true - -Write-Output "Waiting until all the resources are cleared up" - -Do { $CLEANUP_DONE = $(kubectl get 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes' --namespace=$namespace)} -while (![string]::IsNullOrWhiteSpace($CLEANUP_DONE)) +CleanOutNamespace -namespace $namespace ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/nlp-kubernetes-storage.yml" -customerid $customerid | kubectl create -f - diff --git a/nlp/installnlpkubernetes.sh b/nlp/installnlpkubernetes.sh index 946855e..223f3af 100644 --- a/nlp/installnlpkubernetes.sh +++ b/nlp/installnlpkubernetes.sh @@ -47,19 +47,7 @@ echo "Customer ID: $customerid" loadBalancerIP="$(dig +short myip.opendns.com @resolver1.opendns.com)" echo "My WAN/Public IP address: ${loadBalancerIP}" -echo "--- Cleaning out any old resources in fabricnlp ---" - -# note kubectl doesn't like spaces in between commas below -kubectl delete --all 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes,jobs,cronjobs' --namespace=$namespace --ignore-not-found=true - -echo "Waiting until all the resources are cleared up" - -CLEANUP_DONE="n" -while [[ ! -z "$CLEANUP_DONE" ]]; do - CLEANUP_DONE=$(kubectl get 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes' --namespace=$namespace -o jsonpath="{.items[*].metadata.name}") - echo "Remaining items: $CLEANUP_DONE" - sleep 5 -done +CleanOutNamespace $namespace SaveSecretValue "nlpweb-external-url" url "${loadBalancerIP}/nlpweb" $namespace SaveSecretValue "jobserver-external-url" url "${loadBalancerIP}/nlp" $namespace diff --git a/nlp/jobs/mysqlserver-backup-cron.yaml b/nlp/jobs/mysqlserver-backup-cron.yaml index 062427c..90647f8 100644 --- a/nlp/jobs/mysqlserver-backup-cron.yaml +++ b/nlp/jobs/mysqlserver-backup-cron.yaml @@ -44,4 +44,4 @@ spec: volumes: - name: mysql-persistent-storage-backup persistentVolumeClaim: - claimName: az-files-mysql-backup + claimName: nlp.mysqlbackup diff --git a/nlp/jobs/mysqlserver-backup-manual.yaml b/nlp/jobs/mysqlserver-backup-manual.yaml index e81bf9f..0342c87 100644 --- a/nlp/jobs/mysqlserver-backup-manual.yaml +++ b/nlp/jobs/mysqlserver-backup-manual.yaml @@ -37,6 +37,6 @@ spec: volumes: - name: mysql-persistent-storage-backup persistentVolumeClaim: - claimName: az-files-mysql-backup + claimName: nlp.mysqlbackup # job failures: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/ backoffLimit: 1 \ No newline at end of file diff --git a/nlp/jobs/mysqlserver-restore-manual.yaml b/nlp/jobs/mysqlserver-restore-manual.yaml index 33e936f..8c3ea8e 100644 --- a/nlp/jobs/mysqlserver-restore-manual.yaml +++ b/nlp/jobs/mysqlserver-restore-manual.yaml @@ -43,7 +43,7 @@ spec: volumes: - name: mysql-persistent-storage-backup persistentVolumeClaim: - claimName: az-files-mysql-backup + claimName: nlp.mysqlbackup # job failures: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/ backoffLimit: 1 diff --git a/nlp/nlp-kubernetes-storage-onprem.yml b/nlp/nlp-kubernetes-storage-onprem.yml index ff8d875..ad0eb7d 100644 --- a/nlp/nlp-kubernetes-storage-onprem.yml +++ b/nlp/nlp-kubernetes-storage-onprem.yml @@ -8,7 +8,7 @@ kind: PersistentVolumeClaim apiVersion: v1 metadata: - name: az-files-mysql + name: nlp.mysqlserver namespace: fabricnlp spec: storageClassName: manual @@ -25,7 +25,7 @@ spec: kind: PersistentVolumeClaim apiVersion: v1 metadata: - name: az-files-solr + name: nlp.solrserver namespace: fabricnlp spec: accessModes: @@ -44,7 +44,7 @@ spec: kind: PersistentVolumeClaim apiVersion: v1 metadata: - name: az-files-jobs + name: nlp.jobserver namespace: fabricnlp spec: accessModes: @@ -63,7 +63,7 @@ spec: kind: PersistentVolumeClaim apiVersion: v1 metadata: - name: az-files-mysql-backup + name: nlp.mysqlbackup namespace: fabricnlp spec: accessModes: diff --git a/nlp/pods/jobserver.yaml b/nlp/pods/jobserver.yaml index 9f1accc..7a1d8a4 100644 --- a/nlp/pods/jobserver.yaml +++ b/nlp/pods/jobserver.yaml @@ -52,4 +52,4 @@ spec: volumes: - name: jobs-persistent-storage persistentVolumeClaim: - claimName: az-files-jobs + claimName: nlp.jobserver diff --git a/nlp/pods/mysqlclient.yaml b/nlp/pods/mysqlclient.yaml index 0ee520d..8f2f663 100644 --- a/nlp/pods/mysqlclient.yaml +++ b/nlp/pods/mysqlclient.yaml @@ -54,5 +54,5 @@ spec: volumes: - name: mysql-persistent-storage-backup persistentVolumeClaim: - claimName: az-files-mysql-backup + claimName: nlp.mysqlbackup --- diff --git a/nlp/pods/mysqlserver.yaml b/nlp/pods/mysqlserver.yaml index 37b170b..c86e442 100644 --- a/nlp/pods/mysqlserver.yaml +++ b/nlp/pods/mysqlserver.yaml @@ -60,4 +60,4 @@ spec: volumes: - name: mysql-persistent-storage persistentVolumeClaim: - claimName: az-files-mysql + claimName: nlp.mysqlserver diff --git a/nlp/pods/solrserver.yaml b/nlp/pods/solrserver.yaml index e7d4e0c..2758665 100644 --- a/nlp/pods/solrserver.yaml +++ b/nlp/pods/solrserver.yaml @@ -36,4 +36,4 @@ spec: volumes: - name: solr-persistent-storage persistentVolumeClaim: - claimName: az-files-solr + claimName: nlp.solrserver diff --git a/nlp/test.yml b/nlp/test.yml index 79ea700..ed0576d 100644 --- a/nlp/test.yml +++ b/nlp/test.yml @@ -86,7 +86,7 @@ spec: - file_mode=0764 claimRef: namespace: fabricnlp - name: az-files-mysql + name: nlp.mysqlserver --- apiVersion: v1 kind: PersistentVolume @@ -110,12 +110,12 @@ spec: - gid=1000 claimRef: namespace: fabricnlp - name: az-files-solr + name: nlp.solrserver --- kind: PersistentVolumeClaim apiVersion: v1 metadata: - name: az-files-mysql + name: nlp.mysqlserver namespace: fabricnlp spec: accessModes: @@ -127,7 +127,7 @@ spec: kind: PersistentVolumeClaim apiVersion: v1 metadata: - name: az-files-solr + name: nlp.solrserver namespace: fabricnlp spec: accessModes: @@ -168,7 +168,7 @@ spec: volumes: - name: solr-persistent-storage persistentVolumeClaim: - claimName: az-files-solr + claimName: nlp.solrserver --- # MySql pod kind: Deployment @@ -234,5 +234,5 @@ spec: path: /data/mysql - name: mysql-persistent-storage2 persistentVolumeClaim: - claimName: az-files-mysql + claimName: nlp.mysqlserver --- diff --git a/nlp/volumeclaims/jobserver.yaml b/nlp/volumeclaims/jobserver.yaml index eebbae3..904a0a8 100644 --- a/nlp/volumeclaims/jobserver.yaml +++ b/nlp/volumeclaims/jobserver.yaml @@ -1,7 +1,7 @@ kind: PersistentVolumeClaim apiVersion: v1 metadata: - name: az-files-jobs + name: nlp.jobserver namespace: fabricnlp spec: storageClassName: default diff --git a/nlp/volumeclaims/mysqlbackup.yaml b/nlp/volumeclaims/mysqlbackup.yaml index b332d33..3375962 100644 --- a/nlp/volumeclaims/mysqlbackup.yaml +++ b/nlp/volumeclaims/mysqlbackup.yaml @@ -1,7 +1,7 @@ kind: PersistentVolumeClaim apiVersion: v1 metadata: - name: az-files-mysql-backup + name: nlp.mysqlbackup namespace: fabricnlp spec: storageClassName: default diff --git a/nlp/volumeclaims/mysqlserver.yaml b/nlp/volumeclaims/mysqlserver.yaml index c137c87..a61dff4 100644 --- a/nlp/volumeclaims/mysqlserver.yaml +++ b/nlp/volumeclaims/mysqlserver.yaml @@ -1,7 +1,7 @@ kind: PersistentVolumeClaim apiVersion: v1 metadata: - name: az-files-mysql + name: nlp.mysqlserver namespace: fabricnlp spec: storageClassName: default diff --git a/nlp/volumeclaims/solrserver.yaml b/nlp/volumeclaims/solrserver.yaml index c6af3eb..2b21919 100644 --- a/nlp/volumeclaims/solrserver.yaml +++ b/nlp/volumeclaims/solrserver.yaml @@ -1,7 +1,7 @@ kind: PersistentVolumeClaim apiVersion: v1 metadata: - name: az-files-solr + name: nlp.solrserver namespace: fabricnlp spec: storageClassName: default diff --git a/nlp/volumes/jobserver.onprem.yaml b/nlp/volumes/jobserver.onprem.yaml index d0b4d83..e0eda41 100644 --- a/nlp/volumes/jobserver.onprem.yaml +++ b/nlp/volumes/jobserver.onprem.yaml @@ -5,6 +5,7 @@ metadata: namespace: fabricnlp labels: type: local + namespace: fabricnlp spec: #persistentVolumeReclaimPolicy: Delete storageClassName: default @@ -16,4 +17,4 @@ spec: path: "/mnt/data" claimRef: namespace: fabricnlp - name: az-files-jobs + name: nlp.jobserver diff --git a/nlp/volumes/jobserver.yaml b/nlp/volumes/jobserver.yaml index 0668bae..b53155a 100644 --- a/nlp/volumes/jobserver.yaml +++ b/nlp/volumes/jobserver.yaml @@ -3,6 +3,9 @@ kind: PersistentVolume metadata: name: azure-file-volume-jobs namespace: fabricnlp + labels: + type: azure + namespace: fabricnlp spec: capacity: storage: 8Gi @@ -21,4 +24,4 @@ spec: - gid=1000 claimRef: namespace: fabricnlp - name: az-files-jobs + name: nlp.jobserver diff --git a/nlp/volumes/mysqlbackup.onprem.yaml b/nlp/volumes/mysqlbackup.onprem.yaml index b15827d..3c46daa 100644 --- a/nlp/volumes/mysqlbackup.onprem.yaml +++ b/nlp/volumes/mysqlbackup.onprem.yaml @@ -3,6 +3,9 @@ kind: PersistentVolume metadata: name: file-volume-mysql-backup namespace: fabricnlp + labels: + type: local + namespace: fabricnlp spec: storageClassName: default capacity: @@ -14,4 +17,4 @@ spec: path: "/mnt/data" claimRef: namespace: fabricnlp - name: az-files-mysql-backup + name: nlp.mysqlbackup diff --git a/nlp/volumes/mysqlbackup.yaml b/nlp/volumes/mysqlbackup.yaml index f0a95e7..d9100e2 100644 --- a/nlp/volumes/mysqlbackup.yaml +++ b/nlp/volumes/mysqlbackup.yaml @@ -3,6 +3,9 @@ kind: PersistentVolume metadata: name: azure-file-volume-mysql-backup namespace: fabricnlp + labels: + type: azure + namespace: fabricnlp spec: storageClassName: default capacity: @@ -34,4 +37,4 @@ spec: - file_mode=0764 claimRef: namespace: fabricnlp - name: az-files-mysql-backup + name: nlp.mysqlbackup diff --git a/nlp/volumes/mysqlserver.onprem.yaml b/nlp/volumes/mysqlserver.onprem.yaml index dfbfac8..d2bd490 100644 --- a/nlp/volumes/mysqlserver.onprem.yaml +++ b/nlp/volumes/mysqlserver.onprem.yaml @@ -4,7 +4,8 @@ metadata: name: file-volume-mysql namespace: fabricnlp labels: - type: local + type: local + namespace: fabricnlp spec: storageClassName: default capacity: @@ -15,4 +16,4 @@ spec: path: "/mnt/data" claimRef: namespace: fabricnlp - name: az-files-mysql + name: nlp.mysqlserver diff --git a/nlp/volumes/mysqlserver.yaml b/nlp/volumes/mysqlserver.yaml index e013f27..0266606 100644 --- a/nlp/volumes/mysqlserver.yaml +++ b/nlp/volumes/mysqlserver.yaml @@ -3,6 +3,9 @@ kind: PersistentVolume metadata: name: azure-file-volume-mysql namespace: fabricnlp + labels: + type: azure + namespace: fabricnlp spec: storageClassName: default capacity: @@ -34,4 +37,4 @@ spec: - file_mode=0764 claimRef: namespace: fabricnlp - name: az-files-mysql + name: nlp.mysqlserver diff --git a/nlp/volumes/solrserver.onprem.yaml b/nlp/volumes/solrserver.onprem.yaml index 1f61cd2..19b48a8 100644 --- a/nlp/volumes/solrserver.onprem.yaml +++ b/nlp/volumes/solrserver.onprem.yaml @@ -5,6 +5,7 @@ metadata: namespace: fabricnlp labels: type: local + namespace: fabricnlp spec: #persistentVolumeReclaimPolicy: Delete storageClassName: default @@ -16,4 +17,4 @@ spec: path: "/mnt/data" claimRef: namespace: fabricnlp - name: az-files-solr + name: nlp.solrserver diff --git a/nlp/volumes/solrserver.yaml b/nlp/volumes/solrserver.yaml index 4de75c0..068338e 100644 --- a/nlp/volumes/solrserver.yaml +++ b/nlp/volumes/solrserver.yaml @@ -3,6 +3,9 @@ kind: PersistentVolume metadata: name: azure-file-volume-solr namespace: fabricnlp + labels: + type: azure + namespace: fabricnlp spec: #persistentVolumeReclaimPolicy: Delete capacity: @@ -22,4 +25,4 @@ spec: - gid=1000 claimRef: namespace: fabricnlp - name: az-files-solr + name: nlp.solrserver diff --git a/realtime/installrealtimekubernetes.ps1 b/realtime/installrealtimekubernetes.ps1 index d0ed637..9ed1353 100644 --- a/realtime/installrealtimekubernetes.ps1 +++ b/realtime/installrealtimekubernetes.ps1 @@ -71,15 +71,7 @@ AskForPassword -secretname "certpassword" -prompt "Client Certificate password AskForPassword -secretname "rabbitmqmgmtuipassword" -prompt "Admin password for RabbitMqMgmt" -namespace "fabricrealtime" -Write-Output "Cleaning out any old resources in fabricrealtime" - -# note kubectl doesn't like spaces in between commas below -kubectl delete --all 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes' --namespace=fabricrealtime --ignore-not-found=true - -Write-Output "Waiting until all the resources are cleared up" - -Do { $CLEANUP_DONE = $(kubectl get 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes' --namespace=fabricrealtime)} -while (![string]::IsNullOrWhiteSpace($CLEANUP_DONE)) +CleanOutNamespace -namespace $namespace $AKS_PERS_SHARE_NAME = "fabricrealtime" $AKS_PERS_STORAGE_ACCOUNT_NAME_BASE64 = kubectl get secret azure-secret -o jsonpath='{.data.azurestorageaccountname}' diff --git a/realtime/installrealtimekubernetes.sh b/realtime/installrealtimekubernetes.sh index b81c7a5..c099f37 100644 --- a/realtime/installrealtimekubernetes.sh +++ b/realtime/installrealtimekubernetes.sh @@ -61,19 +61,7 @@ AskForPassword "certpassword" "Client Certificate password (> 8 chars, min 1 num AskForPassword "rabbitmqmgmtuipassword" "Admin password for RabbitMqMgmt" "$namespace" -echo "Cleaning out any old resources in $namespace" - -# note kubectl doesn't like spaces in between commas below -kubectl delete --all 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes,jobs,cronjobs' --namespace=$namespace --ignore-not-found=true - -echo "Waiting until all the resources are cleared up" - -CLEANUP_DONE="n" -while [[ ! -z "$CLEANUP_DONE" ]]; do - CLEANUP_DONE=$(kubectl get 'deployments,pods,services,ingress,persistentvolumeclaims,persistentvolumes' --namespace=$namespace -o jsonpath="{.items[*].metadata.name}") - echo "Remaining items: $CLEANUP_DONE" - sleep 5 -done +CleanOutNamespace $namespace echo "-- Deploying volumes --" folder="volumes" diff --git a/realtime/volumes/certificateserver.onprem.yaml b/realtime/volumes/certificateserver.onprem.yaml index abbc95d..c249505 100644 --- a/realtime/volumes/certificateserver.onprem.yaml +++ b/realtime/volumes/certificateserver.onprem.yaml @@ -4,7 +4,8 @@ metadata: name: realtime.certificateserver namespace: fabricrealtime labels: - type: local + type: local + namespace: fabricrealtime spec: #persistentVolumeReclaimPolicy: Delete storageClassName: default diff --git a/realtime/volumes/certificateserver.yaml b/realtime/volumes/certificateserver.yaml index 27d1745..c5061d3 100644 --- a/realtime/volumes/certificateserver.yaml +++ b/realtime/volumes/certificateserver.yaml @@ -3,6 +3,9 @@ kind: PersistentVolume metadata: name: realtime.certificateserver namespace: fabricrealtime + labels: + type: azure + namespace: fabricrealtime spec: storageClassName: default capacity: diff --git a/realtime/volumes/mysqlserver.onprem.yaml b/realtime/volumes/mysqlserver.onprem.yaml index 446f729..98b5f11 100644 --- a/realtime/volumes/mysqlserver.onprem.yaml +++ b/realtime/volumes/mysqlserver.onprem.yaml @@ -4,7 +4,8 @@ metadata: name: realtime.mysqlserver namespace: fabricrealtime labels: - type: local + type: local + namespace: fabricrealtime spec: #persistentVolumeReclaimPolicy: Delete storageClassName: default diff --git a/realtime/volumes/mysqlserver.yaml b/realtime/volumes/mysqlserver.yaml index f6f8684..1051b13 100644 --- a/realtime/volumes/mysqlserver.yaml +++ b/realtime/volumes/mysqlserver.yaml @@ -2,7 +2,10 @@ apiVersion: v1 kind: PersistentVolume metadata: name: realtime.mysqlserver - namespace: fabricrealtime + namespace: fabricrealtime + labels: + type: azure + namespace: fabricrealtime spec: storageClassName: default capacity: diff --git a/realtime/volumes/rabbitmq-cert.onprem.yaml b/realtime/volumes/rabbitmq-cert.onprem.yaml index e70e2c0..c94d4dd 100644 --- a/realtime/volumes/rabbitmq-cert.onprem.yaml +++ b/realtime/volumes/rabbitmq-cert.onprem.yaml @@ -4,7 +4,8 @@ metadata: name: realtime.rabbitmqcert namespace: fabricrealtime labels: - type: local + type: local + namespace: fabricrealtime spec: #persistentVolumeReclaimPolicy: Delete storageClassName: default diff --git a/realtime/volumes/rabbitmq-cert.yaml b/realtime/volumes/rabbitmq-cert.yaml index 9323ade..cc90927 100644 --- a/realtime/volumes/rabbitmq-cert.yaml +++ b/realtime/volumes/rabbitmq-cert.yaml @@ -3,6 +3,9 @@ kind: PersistentVolume metadata: name: realtime.rabbitmqcert namespace: fabricrealtime + labels: + type: azure + namespace: fabricrealtime spec: storageClassName: default capacity: diff --git a/realtime/volumes/rabbitmq.onprem.yaml b/realtime/volumes/rabbitmq.onprem.yaml index 85a9db5..9db607a 100644 --- a/realtime/volumes/rabbitmq.onprem.yaml +++ b/realtime/volumes/rabbitmq.onprem.yaml @@ -4,7 +4,8 @@ metadata: name: realtime.rabbitmq namespace: fabricrealtime labels: - type: local + type: local + namespace: fabricrealtime spec: #persistentVolumeReclaimPolicy: Delete storageClassName: default diff --git a/realtime/volumes/rabbitmq.yaml b/realtime/volumes/rabbitmq.yaml index 7399f47..ea59a8b 100644 --- a/realtime/volumes/rabbitmq.yaml +++ b/realtime/volumes/rabbitmq.yaml @@ -2,7 +2,10 @@ apiVersion: v1 kind: PersistentVolume metadata: name: realtime.rabbitmq - namespace: fabricrealtime + namespace: fabricrealtime + labels: + type: azure + namespace: fabricrealtime spec: storageClassName: default capacity: From 67e95f17777a4570cc842207eb32ddb4a0ade694 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 16 Feb 2018 14:32:11 -0800 Subject: [PATCH 188/473] change names for volumes Signed-off-by: HQCATALYST\imran.qureshi --- nlp/volumes/jobserver.onprem.yaml | 2 +- nlp/volumes/jobserver.yaml | 2 +- nlp/volumes/mysqlbackup.onprem.yaml | 2 +- nlp/volumes/mysqlbackup.yaml | 2 +- nlp/volumes/mysqlserver.onprem.yaml | 2 +- nlp/volumes/mysqlserver.yaml | 2 +- nlp/volumes/solrserver.onprem.yaml | 2 +- nlp/volumes/solrserver.yaml | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/nlp/volumes/jobserver.onprem.yaml b/nlp/volumes/jobserver.onprem.yaml index e0eda41..6445a12 100644 --- a/nlp/volumes/jobserver.onprem.yaml +++ b/nlp/volumes/jobserver.onprem.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: PersistentVolume metadata: - name: file-volume-jobs + name: nlp.jobserver namespace: fabricnlp labels: type: local diff --git a/nlp/volumes/jobserver.yaml b/nlp/volumes/jobserver.yaml index b53155a..d66be14 100644 --- a/nlp/volumes/jobserver.yaml +++ b/nlp/volumes/jobserver.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: PersistentVolume metadata: - name: azure-file-volume-jobs + name: nlp.jobserver namespace: fabricnlp labels: type: azure diff --git a/nlp/volumes/mysqlbackup.onprem.yaml b/nlp/volumes/mysqlbackup.onprem.yaml index 3c46daa..6004f76 100644 --- a/nlp/volumes/mysqlbackup.onprem.yaml +++ b/nlp/volumes/mysqlbackup.onprem.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: PersistentVolume metadata: - name: file-volume-mysql-backup + name: nlp.mysqlbackup namespace: fabricnlp labels: type: local diff --git a/nlp/volumes/mysqlbackup.yaml b/nlp/volumes/mysqlbackup.yaml index d9100e2..6c8b149 100644 --- a/nlp/volumes/mysqlbackup.yaml +++ b/nlp/volumes/mysqlbackup.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: PersistentVolume metadata: - name: azure-file-volume-mysql-backup + name: nlp.mysqlbackup namespace: fabricnlp labels: type: azure diff --git a/nlp/volumes/mysqlserver.onprem.yaml b/nlp/volumes/mysqlserver.onprem.yaml index d2bd490..4da5b9f 100644 --- a/nlp/volumes/mysqlserver.onprem.yaml +++ b/nlp/volumes/mysqlserver.onprem.yaml @@ -1,7 +1,7 @@ kind: PersistentVolume apiVersion: v1 metadata: - name: file-volume-mysql + name: nlp.mysqlserver namespace: fabricnlp labels: type: local diff --git a/nlp/volumes/mysqlserver.yaml b/nlp/volumes/mysqlserver.yaml index 0266606..e1195e7 100644 --- a/nlp/volumes/mysqlserver.yaml +++ b/nlp/volumes/mysqlserver.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: PersistentVolume metadata: - name: azure-file-volume-mysql + name: nlp.mysqlserver namespace: fabricnlp labels: type: azure diff --git a/nlp/volumes/solrserver.onprem.yaml b/nlp/volumes/solrserver.onprem.yaml index 19b48a8..be52279 100644 --- a/nlp/volumes/solrserver.onprem.yaml +++ b/nlp/volumes/solrserver.onprem.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: PersistentVolume metadata: - name: file-volume-solr + name: nlp.solrserver namespace: fabricnlp labels: type: local diff --git a/nlp/volumes/solrserver.yaml b/nlp/volumes/solrserver.yaml index 068338e..ad88d71 100644 --- a/nlp/volumes/solrserver.yaml +++ b/nlp/volumes/solrserver.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: PersistentVolume metadata: - name: azure-file-volume-solr + name: nlp.solrserver namespace: fabricnlp labels: type: azure From 2febd7bf62e75a7ac3e2bf82759eeacc51cb0ac5 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 20 Feb 2018 01:30:53 -0700 Subject: [PATCH 189/473] separate loadbalancer manifests Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 51 ++++--- azure/create-acs-cluster.ps1 | 17 ++- azure/main.ps1 | 3 +- azure/setup-loadbalancer.ps1 | 75 ++++++++-- .../loadbalancer/configmaps/config.ssl.yaml | 31 ++++ .../loadbalancer/configmaps/config.yaml | 18 +++ .../loadbalancer/dns/upstream.yaml | 0 kubernetes/loadbalancer/ingress.ssl.yml | 141 ------------------ kubernetes/loadbalancer/ingress.yml | 70 --------- .../ingress/dashboard-internal.yaml | 0 .../loadbalancer/ingress/dashboard.ssl.yaml | 22 +++ .../loadbalancer/ingress/dashboard.yaml | 13 ++ .../ingress/default-internal.yaml | 19 +++ kubernetes/loadbalancer/ingress/default.yaml | 17 +++ .../pods/ingress-azure.internal.yaml | 43 ++++++ .../loadbalancer/pods/ingress-azure.ssl.yaml | 51 +++++++ .../ingress-azure.yaml} | 0 .../ingress-onprem.yaml} | 0 .../ingress-roles.yaml} | 0 .../loadbalancer/services/dashboard.yaml | 13 ++ .../services/loadbalancer-internal.yaml | 2 +- .../loadbalancer-public.yaml} | 2 + kubernetes/setup-loadbalancer.sh | 20 ++- kubernetes/test.ps1 | 7 + nlp/ingress/http/solr.yaml | 16 ++ nlp/ingress/http/web.ssl.yaml | 6 - nlp/ingress/http/web.yaml | 6 - 27 files changed, 370 insertions(+), 273 deletions(-) create mode 100644 kubernetes/loadbalancer/configmaps/config.ssl.yaml create mode 100644 kubernetes/loadbalancer/configmaps/config.yaml rename azure/cafe-kube-dns.yml => kubernetes/loadbalancer/dns/upstream.yaml (100%) delete mode 100644 kubernetes/loadbalancer/ingress.ssl.yml delete mode 100644 kubernetes/loadbalancer/ingress.yml rename azure/kubernetes-dashboard-internal.yml => kubernetes/loadbalancer/ingress/dashboard-internal.yaml (100%) create mode 100644 kubernetes/loadbalancer/ingress/dashboard.ssl.yaml create mode 100644 kubernetes/loadbalancer/ingress/dashboard.yaml create mode 100644 kubernetes/loadbalancer/ingress/default-internal.yaml create mode 100644 kubernetes/loadbalancer/ingress/default.yaml create mode 100644 kubernetes/loadbalancer/pods/ingress-azure.internal.yaml create mode 100644 kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml rename kubernetes/loadbalancer/{ingress-deployment-azure.yml => pods/ingress-azure.yaml} (100%) rename kubernetes/loadbalancer/{ingress-deployment-onprem.yml => pods/ingress-onprem.yaml} (100%) rename kubernetes/loadbalancer/{ingress-roles.yml => roles/ingress-roles.yaml} (100%) create mode 100644 kubernetes/loadbalancer/services/dashboard.yaml rename azure/loadbalancer-internal.yml => kubernetes/loadbalancer/services/loadbalancer-internal.yaml (91%) rename kubernetes/loadbalancer/{loadbalancer-public.yml => services/loadbalancer-public.yaml} (93%) create mode 100644 kubernetes/test.ps1 create mode 100644 nlp/ingress/http/solr.yaml diff --git a/azure/common.ps1 b/azure/common.ps1 index 2faa0a3..32938d4 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.02.15.02" +$versioncommon = "2018.02.19.01" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -254,28 +254,31 @@ function global:CleanResourceGroup($resourceGroup, $location, $vnet, $subnet, $s } if (("$vnet") ) { - Write-Host "Switching the subnet to a temp route table and tempnsg so we can delete the old route table and nsg" - - $routeid = $(az network route-table show --name temproutetable --resource-group $resourceGroup --query "id" -o tsv) - if ([string]::IsNullOrWhiteSpace($routeid)) { - Write-Host "create temproutetable" - $routeid = az network route-table create --name temproutetable --resource-group $resourceGroup --query "id" -o tsv - } - $routeid = $(az network route-table show --name temproutetable --resource-group $resourceGroup --query "id" -o tsv) - Write-Host "temproutetable: $routeid" + if (![string]::IsNullOrWhiteSpace($(az network vnet subnet show -n "${subnet}" -g "${subnetResourceGroup}" --vnet-name "${vnet}" --query "networkSecurityGroup.id"))) { + # Write-Host "Switching the subnet to a temp route table and tempnsg so we can delete the old route table and nsg" + + # $routeid = $(az network route-table show --name temproutetable --resource-group $resourceGroup --query "id" -o tsv) + # if ([string]::IsNullOrWhiteSpace($routeid)) { + # Write-Host "create temproutetable" + # $routeid = az network route-table create --name temproutetable --resource-group $resourceGroup --query "id" -o tsv + # } + # $routeid = $(az network route-table show --name temproutetable --resource-group $resourceGroup --query "id" -o tsv) + # Write-Host "temproutetable: $routeid" + + # $nsg = $(az network nsg show --name tempnsg --resource-group $resourceGroup --query "id" -o tsv) + # if ([string]::IsNullOrWhiteSpace($nsg)) { + # Write-Host "create tempnsg" + # $nsg = az network nsg create --name tempnsg --resource-group $resourceGroup --query "id" -o tsv + # } + # $nsg = $(az network nsg show --name tempnsg --resource-group $resourceGroup --query "id" -o tsv) + # Write-Host "tempnsg: $nsg" + + Write-Host "Updating the subnet" + az network vnet subnet update -n "${subnet}" -g "${subnetResourceGroup}" --vnet-name "${vnet}" --route-table="" --network-security-group="" - $nsg = $(az network nsg show --name tempnsg --resource-group $resourceGroup --query "id" -o tsv) - if ([string]::IsNullOrWhiteSpace($nsg)) { - Write-Host "create tempnsg" - $nsg = az network nsg create --name tempnsg --resource-group $resourceGroup --query "id" -o tsv + #az network vnet subnet update -n "${subnet}" -g "${subnetResourceGroup}" --vnet-name "${vnet}" --route-table "$routeid" --network-security-group "$nsg" } - $nsg = $(az network nsg show --name tempnsg --resource-group $resourceGroup --query "id" -o tsv) - Write-Host "tempnsg: $nsg" - Write-Host "Updating the subnet" - az network vnet subnet update -n "${subnet}" -g "${subnetResourceGroup}" --vnet-name "${vnet}" --route-table "$routeid" --network-security-group "$nsg" - - if ($(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/routeTables" --query "[?name != 'temproutetable'].id" -o tsv ).length -ne 0) { Write-Host "delete the routes EXCEPT the temproutetable we just created" az resource delete --ids $(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/routeTables" --query "[?name != 'temproutetable'].id" -o tsv) @@ -341,7 +344,7 @@ function global:CreateStorageIfNotExists($resourceGroup) { az storage account create -n $storageAccountName -g $resourceGroup -l $location --kind StorageV2 --sku Standard_LRS } - $Return.AKS_PERS_STORAGE_ACCOUNT_NAME=$storageAccountName + $Return.AKS_PERS_STORAGE_ACCOUNT_NAME = $storageAccountName return $Return } @@ -440,6 +443,7 @@ function global:GetVnet($subscriptionId) { $Return.AKS_SUBNET_RESOURCE_GROUP = $subnetResourceGroup $Return.AKS_FIRST_STATIC_IP = $firstStaticIP $Return.AKS_SUBNET_ID = $mysubnetid + $Return.AKS_SUBNET_CIDR = $subnetCidr #Return the hashtable Return $Return @@ -552,7 +556,7 @@ function global:CheckIfUserLogged() { Write-Host "SubscriptionId: ${subscriptionId}" - $Return.AKS_SUBSCRIPTION_ID= "$subscriptionId" + $Return.AKS_SUBSCRIPTION_ID = "$subscriptionId" return $Return } @@ -579,6 +583,9 @@ function global:GetResourceGroupAndLocation($defaultResourceGroup) { Write-Host "Create the Resource Group" az group create --name $resourceGroup --location $location --verbose } + else { + $location = az group show --name $resourceGroup --query "location" -o tsv + } $Return.AKS_PERS_RESOURCE_GROUP = $resourceGroup $Return.AKS_PERS_LOCATION = $location diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index d70d4a0..baf8625 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -4,11 +4,11 @@ Write-output "--- create-acs-cluster Version 2018.02.15.01 ----" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/create-acs-cluster.ps1 | iex; -$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -# $GITHUB_URL = "C:\Catalyst\git\Installscripts" +# $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" +$GITHUB_URL = "C:\Catalyst\git\Installscripts" -Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/common.ps1 | Invoke-Expression; -# Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; +# Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/common.ps1 | Invoke-Expression; +Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; $AKS_USE_AZURE_NETWORKING = "n" $AKS_SUPPORT_WINDOWS_CONTAINERS = "n" @@ -72,7 +72,7 @@ DownloadKubectl -localFolder $AKS_LOCAL_FOLDER # download acs-engine $ACS_ENGINE_FILE = "$AKS_LOCAL_FOLDER\acs-engine.exe" -$DESIRED_ACS_ENGINE_VERSION = "v0.12.4" +$DESIRED_ACS_ENGINE_VERSION = "v0.13.0" $downloadACSEngine = "n" if (!(Test-Path "$ACS_ENGINE_FILE")) { $downloadACSEngine = "y" @@ -111,6 +111,7 @@ $AKS_VNET_NAME = $VnetInfo.AKS_VNET_NAME $AKS_SUBNET_NAME=$VnetInfo.AKS_SUBNET_NAME $AKS_SUBNET_RESOURCE_GROUP=$VnetInfo.AKS_SUBNET_RESOURCE_GROUP $AKS_FIRST_STATIC_IP=$VnetInfo.AKS_FIRST_STATIC_IP +$AKS_SUBNET_CIDR=$VnetInfo.AKS_SUBNET_CIDR CleanResourceGroup -resourceGroup ${AKS_PERS_RESOURCE_GROUP} -location $AKS_PERS_LOCATION -vnet $AKS_VNET_NAME ` -subnet $AKS_SUBNET_NAME -subnetResourceGroup $AKS_SUBNET_RESOURCE_GROUP ` @@ -211,6 +212,12 @@ else { # https://doc.m0n0.ch/quickstartpc/intro-CIDR.html $WINDOWS_PASSWORD = "replacepassword1234$" Write-Output "replacing values in the acs.json file" +Write-Output "AKS_SSH_KEY: $AKS_SSH_KEY" +Write-Output "AKS_SERVICE_PRINCIPAL_CLIENTID: $AKS_SERVICE_PRINCIPAL_CLIENTID" +Write-Output "SUBNET: ${mysubnetid}" +Write-Output "DNS NAME: ${dnsNamePrefix}" +Write-Output "FIRST STATIC IP: $AKS_FIRST_STATIC_IP" +Write-Output "AKS_SUBNET_CIDR: $AKS_SUBNET_CIDR" $MyFile = (Get-Content $output) | Foreach-Object {$_ -replace 'REPLACE-SSH-KEY', "${AKS_SSH_KEY}"} | Foreach-Object {$_ -replace 'REPLACE-CLIENTID', "${AKS_SERVICE_PRINCIPAL_CLIENTID}"} | diff --git a/azure/main.ps1 b/azure/main.ps1 index 8b58242..5430a59 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -148,8 +148,9 @@ while ($userinput -ne "q") { Write-Output "ssh -i ${SSH_PRIVATE_KEY_FILE_UNIX_PATH} azureuser@${firstpublicip}" } - Write-Output "Command to show errors: sudo journalctl -xef" + Write-Output "Command to show errors: sudo journalctl -xef --priority 0..3" Write-Output "Command to see apiserver logs: sudo journalctl -fu kube-apiserver" + Write-Output "Cheat Sheet for journalctl: https://www.cheatography.com/airlove/cheat-sheets/journalctl/" # systemctl list-unit-files | grep .service | grep enabled # https://askubuntu.com/questions/795226/how-to-list-all-enabled-services-from-systemctl diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index b1c8ce5..c476f75 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -366,17 +366,14 @@ kubectl delete 'pods,services,configMaps,deployments,ingress' -l k8s-traefik=tra # set Google DNS servers to resolve external urls # http://blog.kubernetes.io/2017/04/configuring-private-dns-zones-upstream-nameservers-kubernetes.html -kubectl delete -f "$GITHUB_URL/azure/cafe-kube-dns.yml" --ignore-not-found=true +kubectl delete -f "$GITHUB_URL/kubernetes/loadbalancer/dns/upstream.yaml" --ignore-not-found=true Start-Sleep -Seconds 10 -kubectl create -f "$GITHUB_URL/azure/cafe-kube-dns.yml" +kubectl create -f "$GITHUB_URL/kubernetes/loadbalancer/dns/upstream.yaml" # to debug dns: https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#inheriting-dns-from-the-node kubectl delete ServiceAccount traefik-ingress-controller-serviceaccount -n kube-system --ignore-not-found=true -ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/ingress-roles.yml" -customerid $customerid | kubectl apply -f - - if ($AKS_USE_SSL -eq "y" ) { - # if the SSL cert is not set in kube secrets then ask for the files if ([string]::IsNullOrWhiteSpace($(kubectl get secret traefik-cert-ahmn -o jsonpath='{.data}' -n kube-system --ignore-not-found=true))) { # ask for tls cert files @@ -390,18 +387,63 @@ if ($AKS_USE_SSL -eq "y" ) { Write-Output "Storing TLS certs as kubernetes secret" kubectl create secret generic traefik-cert-ahmn -n kube-system --from-file="$AKS_SSL_CERT_FOLDER_UNIX_PATH/tls.crt" --from-file="$AKS_SSL_CERT_FOLDER_UNIX_PATH/tls.key" } +} + +Write-Host "Deploying configmaps" +$folder = "loadbalancer/configmaps" +if ($AKS_USE_SSL -eq "y" ) { + foreach ($file in "config.yaml".Split(" ")) { + ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "$folder/$file" -customerid $customerid | kubectl apply -f - + } +} +else { + foreach ($file in "config.ssl.yaml".Split(" ")) { + ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "$folder/$file" -customerid $customerid | kubectl apply -f - + } +} +Write-Host "Deploying roles" +$folder = "loadbalancer/roles" +foreach ($file in "ingress-roles.yaml".Split(" ")) { + ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "$folder/$file" -customerid $customerid | kubectl apply -f - +} - Write-Output "Deploy the SSL ingress controller" - # kubectl delete -f "$GITHUB_URL/azure/ingress.ssl.yml" - ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/ingress.ssl.yml" -customerid $customerid | Foreach-Object {$_ -replace 'WHITELISTIP', "$AKS_IP_WHITELIST"} | kubectl create -f - +Write-Host "Deploying pods" +$folder = "loadbalancer/pods" +if ($AKS_USE_SSL -eq "y" ) { + foreach ($file in "ingress-azure.yaml".Split(" ")) { + ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "$folder/$file" -customerid $customerid | kubectl apply -f - + } } else { - Write-Output "Deploy the non-SSL ingress controller" - # kubectl delete -f "$GITHUB_URL/azure/ingress.yml" - ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/ingress.yml" -customerid $customerid | Foreach-Object {$_ -replace 'WHITELISTIP', "$AKS_IP_WHITELIST"} | kubectl create -f - + foreach ($file in "ingress-azure.ssl.yaml".Split(" ")) { + ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "$folder/$file" -customerid $customerid | kubectl apply -f - + } +} +foreach ($file in "ingress-azure.internal.yaml".Split(" ")) { + ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "$folder/$file" -customerid $customerid | kubectl apply -f - } -ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/ingress-deployment-azure.yml" -customerid $customerid | kubectl apply -f - +Write-Host "Deploying services" +$folder = "loadbalancer/services" +foreach ($file in "dashboard.yaml".Split(" ")) { + ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "$folder/$file" -customerid $customerid | kubectl apply -f - +} + +Write-Host "Deploying ingress" +$folder = "loadbalancer/ingress" +if ($AKS_USE_SSL -eq "y" ) { + foreach ($file in "dashboard.ssl.yaml".Split(" ")) { + ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "$folder/$file" -customerid $customerid | kubectl apply -f - + } +} +else { + foreach ($file in "dashboard.yaml".Split(" ")) { + ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "$folder/$file" -customerid $customerid | kubectl apply -f - + } +} +foreach ($file in "default.yaml default-internal.yaml".Split(" ")) { + ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "$folder/$file" -customerid $customerid | kubectl apply -f - +} if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { Write-Output "Setting up a public load balancer" @@ -414,7 +456,7 @@ if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { Write-Host "Using Public IP: [$publicip]" - ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/loadbalancer-public.yml" -customerid $customerid ` + ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/loadbalancer-public.yml" -customerid $customerid ` | Foreach-Object {$_ -replace 'PUBLICIP', "$publicip"} ` | kubectl create -f - @@ -422,7 +464,9 @@ if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { # if we are restricting IPs then also deploy an internal load balancer Write-Output "Setting up a internal load balancer also since we are restricting IPs" - kubectl create -f "$GITHUB_URL/azure/loadbalancer-internal.yml" + ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/loadbalancer-internal.yml" -customerid $customerid ` + | kubectl create -f - + } #kubectl create -f "$GITHUB_URL/azure/loadbalancer-public.yml" @@ -432,7 +476,8 @@ if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { } else { Write-Output "Setting up an internal load balancer" - kubectl create -f "$GITHUB_URL/azure/loadbalancer-internal.yml" + ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/loadbalancer-internal.yml" -customerid $customerid ` + | kubectl create -f - } $startDate = Get-Date diff --git a/kubernetes/loadbalancer/configmaps/config.ssl.yaml b/kubernetes/loadbalancer/configmaps/config.ssl.yaml new file mode 100644 index 0000000..ccbdb57 --- /dev/null +++ b/kubernetes/loadbalancer/configmaps/config.ssl.yaml @@ -0,0 +1,31 @@ +# Traefik Ingress reverse proxy +# based on https://github.com/containous/traefik/issues/2329 + +# the config for Traefik so it knows where the certificates are +apiVersion: v1 +kind: ConfigMap +metadata: + name: traefik-conf + namespace: kube-system + labels: + k8s-traefik: traefik +data: + traefik.toml: | + # traefik.toml + defaultEntryPoints = ["http","https"] + [accessLog] + [entryPoints] + [entryPoints.http] + address = ":80" + [entryPoints.http.redirect] + entryPoint = "https" + [entryPoints.https] + address = ":443" + [entryPoints.https.tls] + [[entryPoints.https.tls.certificates]] + # TLS certs for Allina (AHMN): *.ahmn.healthcatalyst.net + CertFile = "/ssl/ahmn/tls.crt" + KeyFile = "/ssl/ahmn/tls.key" + # [[entryPoints.https.tls.certificates]] + # CertFile = "/ssl/ahmn/tls.crt" + # KeyFile = "/ssl/ahmn/tls.key" \ No newline at end of file diff --git a/kubernetes/loadbalancer/configmaps/config.yaml b/kubernetes/loadbalancer/configmaps/config.yaml new file mode 100644 index 0000000..c93ebd5 --- /dev/null +++ b/kubernetes/loadbalancer/configmaps/config.yaml @@ -0,0 +1,18 @@ +# format: https://docs.traefik.io/configuration/backends/kubernetes/ +# the config for Traefik so it knows where the certificates are +# https://docs.traefik.io/configuration/commons/ +apiVersion: v1 +kind: ConfigMap +metadata: + name: traefik-conf + namespace: kube-system + labels: + k8s-traefik: traefik +data: + traefik.toml: | + # traefik.toml + defaultEntryPoints = ["http"] + [accessLog] + [entryPoints] + [entryPoints.http] + address = ":80" diff --git a/azure/cafe-kube-dns.yml b/kubernetes/loadbalancer/dns/upstream.yaml similarity index 100% rename from azure/cafe-kube-dns.yml rename to kubernetes/loadbalancer/dns/upstream.yaml diff --git a/kubernetes/loadbalancer/ingress.ssl.yml b/kubernetes/loadbalancer/ingress.ssl.yml deleted file mode 100644 index eeccb79..0000000 --- a/kubernetes/loadbalancer/ingress.ssl.yml +++ /dev/null @@ -1,141 +0,0 @@ -# Traefik Ingress reverse proxy -# based on https://github.com/containous/traefik/issues/2329 - -# the config for Traefik so it knows where the certificates are -apiVersion: v1 -kind: ConfigMap -metadata: - name: traefik-conf - namespace: kube-system - labels: - k8s-traefik: traefik -data: - traefik.toml: | - # traefik.toml - defaultEntryPoints = ["http","https"] - [accessLog] - [entryPoints] - [entryPoints.http] - address = ":80" - [entryPoints.http.redirect] - entryPoint = "https" - [entryPoints.https] - address = ":443" - [entryPoints.https.tls] - [[entryPoints.https.tls.certificates]] - # TLS certs for Allina (AHMN): *.ahmn.healthcatalyst.net - CertFile = "/ssl/ahmn/tls.crt" - KeyFile = "/ssl/ahmn/tls.key" - # [[entryPoints.https.tls.certificates]] - # CertFile = "/ssl/ahmn/tls.crt" - # KeyFile = "/ssl/ahmn/tls.key" - ---- -# deployment of the pods for traefik service -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: - name: traefik-ingress-controller - namespace: kube-system - labels: - k8s-app: traefik-ingress-lb - k8s-traefik: traefik -spec: - replicas: 1 - selector: - matchLabels: - k8s-app: traefik-ingress-lb - template: - metadata: - labels: - k8s-app: traefik-ingress-lb - name: traefik-ingress-lb - spec: - serviceAccountName: traefik-ingress-serviceaccount - terminationGracePeriodSeconds: 60 - volumes: - - name: ssl-ahmn - secret: - secretName: traefik-cert-ahmn - # - name: ssl-ahmn - # secret: - # secretName: traefik-cert-ahmn - - name: config - configMap: - name: traefik-conf - containers: - - image: traefik - name: traefik-ingress-lb - volumeMounts: - - mountPath: "/config" - name: "config" - - mountPath: "/ssl/ahmn" - name: "ssl-ahmn" - # - mountPath: "/ssl/ahmn" - # name: "ssl-ahmn" - ports: - - containerPort: 80 - - containerPort: 443 - - containerPort: 8080 - args: - - --web - - --kubernetes - - --configfile=/config/traefik.toml - - --logLevel=INFO ---- -# service definition for traefik -apiVersion: v1 -kind: Service -metadata: - name: traefik-web-ui - namespace: kube-system - labels: - k8s-traefik: traefik -spec: - selector: - k8s-app: traefik-ingress-lb - ports: - - port: 80 - targetPort: 8080 ---- -# ingress for the Traefik admin ui -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: traefik-web-ui - namespace: kube-system - labels: - k8s-traefik: traefik - annotations: - kubernetes.io/ingress.class: traefik -spec: - tls: - - secretName: ssl-ahmn - hosts: - - dashboard.CUSTOMERID.healthcatalyst.net - rules: - - host: dashboard.CUSTOMERID.healthcatalyst.net - http: - paths: - - backend: - serviceName: traefik-web-ui - servicePort: 80 ---- -# default backend so if no rules match it goes here -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: traefik-default-route - namespace: kube-system - labels: - k8s-traefik: traefik - annotations: - kubernetes.io/ingress.class: traefik -spec: - rules: - - http: - paths: - - backend: - serviceName: traefik-web-ui - servicePort: 80 ---- diff --git a/kubernetes/loadbalancer/ingress.yml b/kubernetes/loadbalancer/ingress.yml deleted file mode 100644 index 663069b..0000000 --- a/kubernetes/loadbalancer/ingress.yml +++ /dev/null @@ -1,70 +0,0 @@ -# format: https://docs.traefik.io/configuration/backends/kubernetes/ -# the config for Traefik so it knows where the certificates are -# https://docs.traefik.io/configuration/commons/ -apiVersion: v1 -kind: ConfigMap -metadata: - name: traefik-conf - namespace: kube-system - labels: - k8s-traefik: traefik -data: - traefik.toml: | - # traefik.toml - defaultEntryPoints = ["http"] - [accessLog] - [entryPoints] - [entryPoints.http] - address = ":80" ---- -apiVersion: v1 -kind: Service -metadata: - name: traefik-web-ui - namespace: kube-system - labels: - k8s-traefik: traefik -spec: - selector: - k8s-app: traefik-ingress-lb - ports: - - port: 80 - targetPort: 8080 ---- -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: traefik-web-ui - namespace: kube-system - labels: - k8s-traefik: traefik - annotations: - kubernetes.io/ingress.class: traefik -spec: - rules: - - host: dashboard.CUSTOMERID.healthcatalyst.net - http: - paths: - - backend: - serviceName: traefik-web-ui - servicePort: 80 ---- -# default backend so if no rules match it goes here -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: traefik-default-route - namespace: kube-system - labels: - k8s-traefik: traefik - annotations: - kubernetes.io/ingress.class: traefik -spec: - rules: - - http: - paths: - - backend: - serviceName: traefik-web-ui - servicePort: 80 ---- - diff --git a/azure/kubernetes-dashboard-internal.yml b/kubernetes/loadbalancer/ingress/dashboard-internal.yaml similarity index 100% rename from azure/kubernetes-dashboard-internal.yml rename to kubernetes/loadbalancer/ingress/dashboard-internal.yaml diff --git a/kubernetes/loadbalancer/ingress/dashboard.ssl.yaml b/kubernetes/loadbalancer/ingress/dashboard.ssl.yaml new file mode 100644 index 0000000..c24bbf4 --- /dev/null +++ b/kubernetes/loadbalancer/ingress/dashboard.ssl.yaml @@ -0,0 +1,22 @@ +# ingress for the Traefik admin ui +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: traefik-web-ui + namespace: kube-system + labels: + k8s-traefik: traefik + annotations: + kubernetes.io/ingress.class: traefik +spec: + tls: + - secretName: ssl-ahmn + hosts: + - dashboard.CUSTOMERID.healthcatalyst.net + rules: + - host: dashboard.CUSTOMERID.healthcatalyst.net + http: + paths: + - backend: + serviceName: traefik-web-ui + servicePort: 80 \ No newline at end of file diff --git a/kubernetes/loadbalancer/ingress/dashboard.yaml b/kubernetes/loadbalancer/ingress/dashboard.yaml new file mode 100644 index 0000000..eb59012 --- /dev/null +++ b/kubernetes/loadbalancer/ingress/dashboard.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Service +metadata: + name: traefik-web-ui + namespace: kube-system + labels: + k8s-traefik: traefik +spec: + selector: + k8s-app: traefik-ingress-lb + ports: + - port: 80 + targetPort: 8080 \ No newline at end of file diff --git a/kubernetes/loadbalancer/ingress/default-internal.yaml b/kubernetes/loadbalancer/ingress/default-internal.yaml new file mode 100644 index 0000000..88922e3 --- /dev/null +++ b/kubernetes/loadbalancer/ingress/default-internal.yaml @@ -0,0 +1,19 @@ +# default backend so if no rules match it goes here +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: traefik-default-route + namespace: kube-system + labels: + k8s-traefik: traefik + annotations: + kubernetes.io/ingress.class: traefik-internal +spec: + rules: + - http: + paths: + - backend: + serviceName: traefik-web-ui + servicePort: 80 +--- + diff --git a/kubernetes/loadbalancer/ingress/default.yaml b/kubernetes/loadbalancer/ingress/default.yaml new file mode 100644 index 0000000..653ea2a --- /dev/null +++ b/kubernetes/loadbalancer/ingress/default.yaml @@ -0,0 +1,17 @@ +# default backend so if no rules match it goes here +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: traefik-default-route + namespace: kube-system + labels: + k8s-traefik: traefik + annotations: + kubernetes.io/ingress.class: traefik +spec: + rules: + - http: + paths: + - backend: + serviceName: traefik-web-ui + servicePort: 80 \ No newline at end of file diff --git a/kubernetes/loadbalancer/pods/ingress-azure.internal.yaml b/kubernetes/loadbalancer/pods/ingress-azure.internal.yaml new file mode 100644 index 0000000..30291cd --- /dev/null +++ b/kubernetes/loadbalancer/pods/ingress-azure.internal.yaml @@ -0,0 +1,43 @@ +kind: Deployment +apiVersion: extensions/v1beta1 +metadata: + name: traefik-ingress-controller-internal + namespace: kube-system + labels: + k8s-app: traefik-ingress-lb-internal + k8s-traefik: traefik +spec: + replicas: 1 + selector: + matchLabels: + k8s-app: traefik-ingress-lb + template: + metadata: + labels: + k8s-app: traefik-ingress-lb + name: traefik-ingress-lb + spec: + serviceAccountName: traefik-ingress-serviceaccount + terminationGracePeriodSeconds: 60 + volumes: + - name: config + configMap: + name: traefik-conf + containers: + - image: traefik + name: traefik-ingress-lb + volumeMounts: + - mountPath: "/config" + name: "config" + ports: + - containerPort: 80 + - containerPort: 443 + - containerPort: 8080 + args: + - --web + - --kubernetes + - --configfile=/config/traefik.toml + - --logLevel=INFO + - --ingress-class=traefik-internal + # https://github.com/kubernetes/ingress-nginx/blob/master/README.md#running-multiple-ingress-controllers +--- diff --git a/kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml b/kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml new file mode 100644 index 0000000..a9e058c --- /dev/null +++ b/kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml @@ -0,0 +1,51 @@ +kind: Deployment +apiVersion: extensions/v1beta1 +metadata: + name: traefik-ingress-controller + namespace: kube-system + labels: + k8s-app: traefik-ingress-lb + k8s-traefik: traefik +spec: + replicas: 1 + selector: + matchLabels: + k8s-app: traefik-ingress-lb + template: + metadata: + labels: + k8s-app: traefik-ingress-lb + name: traefik-ingress-lb + spec: + serviceAccountName: traefik-ingress-serviceaccount + terminationGracePeriodSeconds: 60 + volumes: + - name: ssl-ahmn + secret: + secretName: traefik-cert-ahmn + # - name: ssl-ahmn + # secret: + # secretName: traefik-cert-ahmn + - name: config + configMap: + name: traefik-conf + containers: + - image: traefik + name: traefik-ingress-lb + volumeMounts: + - mountPath: "/config" + name: "config" + - mountPath: "/ssl/ahmn" + name: "ssl-ahmn" + # - mountPath: "/ssl/ahmn" + # name: "ssl-ahmn" + ports: + - containerPort: 80 + - containerPort: 443 + - containerPort: 8080 + args: + - --web + - --kubernetes + - --configfile=/config/traefik.toml + - --logLevel=INFO +--- diff --git a/kubernetes/loadbalancer/ingress-deployment-azure.yml b/kubernetes/loadbalancer/pods/ingress-azure.yaml similarity index 100% rename from kubernetes/loadbalancer/ingress-deployment-azure.yml rename to kubernetes/loadbalancer/pods/ingress-azure.yaml diff --git a/kubernetes/loadbalancer/ingress-deployment-onprem.yml b/kubernetes/loadbalancer/pods/ingress-onprem.yaml similarity index 100% rename from kubernetes/loadbalancer/ingress-deployment-onprem.yml rename to kubernetes/loadbalancer/pods/ingress-onprem.yaml diff --git a/kubernetes/loadbalancer/ingress-roles.yml b/kubernetes/loadbalancer/roles/ingress-roles.yaml similarity index 100% rename from kubernetes/loadbalancer/ingress-roles.yml rename to kubernetes/loadbalancer/roles/ingress-roles.yaml diff --git a/kubernetes/loadbalancer/services/dashboard.yaml b/kubernetes/loadbalancer/services/dashboard.yaml new file mode 100644 index 0000000..eb59012 --- /dev/null +++ b/kubernetes/loadbalancer/services/dashboard.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Service +metadata: + name: traefik-web-ui + namespace: kube-system + labels: + k8s-traefik: traefik +spec: + selector: + k8s-app: traefik-ingress-lb + ports: + - port: 80 + targetPort: 8080 \ No newline at end of file diff --git a/azure/loadbalancer-internal.yml b/kubernetes/loadbalancer/services/loadbalancer-internal.yaml similarity index 91% rename from azure/loadbalancer-internal.yml rename to kubernetes/loadbalancer/services/loadbalancer-internal.yaml index bb22f8e..d1781b5 100644 --- a/azure/loadbalancer-internal.yml +++ b/kubernetes/loadbalancer/services/loadbalancer-internal.yaml @@ -10,7 +10,7 @@ metadata: service.beta.kubernetes.io/azure-load-balancer-internal: "true" # https://gowalker.org/k8s.io/kubernetes/pkg/cloudprovider/providers/azure # service.beta.kubernetes.io/azure-load-balancer-internal-subnet": "" - + kubernetes.io/ingress.class: "loadbalancer-internal" spec: selector: k8s-app: traefik-ingress-lb diff --git a/kubernetes/loadbalancer/loadbalancer-public.yml b/kubernetes/loadbalancer/services/loadbalancer-public.yaml similarity index 93% rename from kubernetes/loadbalancer/loadbalancer-public.yml rename to kubernetes/loadbalancer/services/loadbalancer-public.yaml index f8100e9..49dbdce 100644 --- a/kubernetes/loadbalancer/loadbalancer-public.yml +++ b/kubernetes/loadbalancer/services/loadbalancer-public.yaml @@ -5,6 +5,8 @@ metadata: namespace: kube-system labels: k8s-traefik: traefik + annotations: + kubernetes.io/ingress.class: "loadbalancer-public" spec: selector: k8s-app: traefik-ingress-lb diff --git a/kubernetes/setup-loadbalancer.sh b/kubernetes/setup-loadbalancer.sh index 742ee7e..b2b9682 100644 --- a/kubernetes/setup-loadbalancer.sh +++ b/kubernetes/setup-loadbalancer.sh @@ -29,15 +29,23 @@ SaveSecretValue customerid "value" $customerid # ReadYmlAndReplaceCustomer $GITHUB_URL "azure/ingress-roles.yml" $customerid -ReadYmlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/ingress-roles.yml" $customerid \ +ReadYmlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/configmaps/config.yaml" $customerid \ | kubectl apply -f - -ReadYmlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/ingress.yml" $customerid \ - | ReplaceText WHITELISTIP $AKS_IP_WHITELIST \ - | kubectl create -f - +ReadYmlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/roles/ingress-roles.yaml" $customerid \ + | kubectl apply -f - + +ReadYmlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/pods/ingress-onprem.yaml" $customerid \ + | kubectl apply -f - + +ReadYmlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/services/loadbalancer-internal.yaml" $customerid \ + | kubectl apply -f - + +ReadYmlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/ingress/dashboard-internal.yaml" $customerid \ + | kubectl apply -f - -ReadYmlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/ingress-deployment-onprem.yml" $customerid \ - | kubectl create -f - +ReadYmlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/ingress/default-internal.yaml" $customerid \ + | kubectl apply -f - loadbalancer="traefik-ingress-service-public" loadBalancerIP="$(dig +short myip.opendns.com @resolver1.opendns.com)" diff --git a/kubernetes/test.ps1 b/kubernetes/test.ps1 new file mode 100644 index 0000000..957d166 --- /dev/null +++ b/kubernetes/test.ps1 @@ -0,0 +1,7 @@ + +$myname = Read-Host "Please enter your name: " + +Write-Host "Value: $myname" + +Read-Host -Prompt "Press Enter to continue" + diff --git a/nlp/ingress/http/solr.yaml b/nlp/ingress/http/solr.yaml new file mode 100644 index 0000000..3bb1d4b --- /dev/null +++ b/nlp/ingress/http/solr.yaml @@ -0,0 +1,16 @@ +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: nlp-ingress + namespace: fabricnlp + annotations: + kubernetes.io/ingress.class: traefik-internal +spec: + rules: + - host: solr.CUSTOMERID.healthcatalyst.net + http: + paths: + - backend: + serviceName: solrserverpublic + servicePort: 80 +--- diff --git a/nlp/ingress/http/web.ssl.yaml b/nlp/ingress/http/web.ssl.yaml index 29ef21a..daf3abb 100644 --- a/nlp/ingress/http/web.ssl.yaml +++ b/nlp/ingress/http/web.ssl.yaml @@ -14,12 +14,6 @@ spec: - nlp.CUSTOMERID.healthcatalyst.net - nlpjobs.CUSTOMERID.healthcatalyst.net rules: - - host: solr.CUSTOMERID.healthcatalyst.net - http: - paths: - - backend: - serviceName: solrserverpublic - servicePort: 80 - host: nlp.CUSTOMERID.healthcatalyst.net http: paths: diff --git a/nlp/ingress/http/web.yaml b/nlp/ingress/http/web.yaml index fa70ca1..0287d15 100644 --- a/nlp/ingress/http/web.yaml +++ b/nlp/ingress/http/web.yaml @@ -7,12 +7,6 @@ metadata: kubernetes.io/ingress.class: traefik spec: rules: - - host: solr.CUSTOMERID.healthcatalyst.net - http: - paths: - - backend: - serviceName: solrserverpublic - servicePort: 80 - host: nlp.CUSTOMERID.healthcatalyst.net http: paths: From 5d4cb992512ea93afd7f178a6ad0cb4f4b857293 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 20 Feb 2018 10:21:50 -0700 Subject: [PATCH 190/473] fix load balancer script Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 8 +-- azure/create-acs-cluster.ps1 | 10 +-- azure/setup-loadbalancer.ps1 | 65 ++++++++++--------- kubernetes/common-kube.ps1 | 9 +-- kubernetes/common.sh | 2 +- .../loadbalancer/configmaps/config.yaml | 1 + .../pods/ingress-azure.internal.yaml | 3 +- kubernetes/setup-loadbalancer.sh | 14 ++-- nlp/ingress/http/solr.yaml | 4 +- nlp/installnlpkubernetes.ps1 | 12 ++-- nlp/installnlpkubernetes.sh | 16 ++--- realtime/installrealtimekubernetes.ps1 | 8 +-- realtime/installrealtimekubernetes.sh | 12 ++-- 13 files changed, 86 insertions(+), 78 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index 32938d4..ec35ecd 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -7,11 +7,11 @@ function global:GetCommonVersion() { return $versioncommon } -$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -# $GITHUB_URL = "C:\Catalyst\git\Installscripts" +# $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" +$GITHUB_URL = "C:\Catalyst\git\Installscripts" -Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1 | Invoke-Expression; -# Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; +# Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1 | Invoke-Expression; +Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; function global:CreateShareInStorageAccount($storageAccountName, $resourceGroup, $sharename, $deleteExisting) { $AZURE_STORAGE_CONNECTION_STRING = az storage account show-connection-string -n $storageAccountName -g $resourceGroup -o tsv diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index baf8625..a319f1e 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -4,11 +4,11 @@ Write-output "--- create-acs-cluster Version 2018.02.15.01 ----" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/create-acs-cluster.ps1 | iex; -# $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -$GITHUB_URL = "C:\Catalyst\git\Installscripts" +$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" +# $GITHUB_URL = "C:\Catalyst\git\Installscripts" -# Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/common.ps1 | Invoke-Expression; -Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; +Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/common.ps1 | Invoke-Expression; +# Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; $AKS_USE_AZURE_NETWORKING = "n" $AKS_SUPPORT_WINDOWS_CONTAINERS = "n" @@ -67,7 +67,7 @@ AddFolderToPathEnvironmentVariable -folder $AKS_LOCAL_FOLDER $SSHKeyInfo = CreateSSHKey -resourceGroup $AKS_PERS_RESOURCE_GROUP -localFolder $AKS_LOCAL_FOLDER $AKS_SSH_KEY = $SSHKeyInfo.AKS_SSH_KEY - +$SSH_PRIVATE_KEY_FILE_UNIX_PATH = $SSHKeyInfo.SSH_PRIVATE_KEY_FILE_UNIX_PATH DownloadKubectl -localFolder $AKS_LOCAL_FOLDER # download acs-engine diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index c476f75..70eedee 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,12 +1,14 @@ -Write-output "Version 2018.02.14.01" +Write-output "Version 2018.02.20.02" # # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/setup-loadbalancer.ps1 | iex; -$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -# $GITHUB_URL = "." -Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/common.ps1 | Invoke-Expression; +# $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" +$GITHUB_URL = "C:\Catalyst\git\Installscripts" + +# Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/common.ps1 | Invoke-Expression; +Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; $AKS_OPEN_TO_PUBLIC = "" $AKS_USE_SSL = "" @@ -390,59 +392,60 @@ if ($AKS_USE_SSL -eq "y" ) { } Write-Host "Deploying configmaps" -$folder = "loadbalancer/configmaps" +$folder = "kubernetes/loadbalancer/configmaps" if ($AKS_USE_SSL -eq "y" ) { - foreach ($file in "config.yaml".Split(" ")) { - ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "$folder/$file" -customerid $customerid | kubectl apply -f - + foreach ($file in "config.ssl.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - } } else { - foreach ($file in "config.ssl.yaml".Split(" ")) { - ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "$folder/$file" -customerid $customerid | kubectl apply -f - + foreach ($file in "config.yaml".Split(" ")) { + Write-Host "$GITHUB_URL ${folder}/${file}" + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - } } Write-Host "Deploying roles" -$folder = "loadbalancer/roles" +$folder = "kubernetes/loadbalancer/roles" foreach ($file in "ingress-roles.yaml".Split(" ")) { - ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "$folder/$file" -customerid $customerid | kubectl apply -f - + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - } Write-Host "Deploying pods" -$folder = "loadbalancer/pods" +$folder = "kubernetes/loadbalancer/pods" if ($AKS_USE_SSL -eq "y" ) { - foreach ($file in "ingress-azure.yaml".Split(" ")) { - ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "$folder/$file" -customerid $customerid | kubectl apply -f - - } -} -else { foreach ($file in "ingress-azure.ssl.yaml".Split(" ")) { - ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "$folder/$file" -customerid $customerid | kubectl apply -f - + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - } } +else { + foreach ($file in "ingress-azure.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - + } +} foreach ($file in "ingress-azure.internal.yaml".Split(" ")) { - ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "$folder/$file" -customerid $customerid | kubectl apply -f - + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - } Write-Host "Deploying services" -$folder = "loadbalancer/services" +$folder = "kubernetes/loadbalancer/services" foreach ($file in "dashboard.yaml".Split(" ")) { - ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "$folder/$file" -customerid $customerid | kubectl apply -f - + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - } Write-Host "Deploying ingress" -$folder = "loadbalancer/ingress" +$folder = "kubernetes/loadbalancer/ingress" if ($AKS_USE_SSL -eq "y" ) { foreach ($file in "dashboard.ssl.yaml".Split(" ")) { - ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "$folder/$file" -customerid $customerid | kubectl apply -f - + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - } } else { foreach ($file in "dashboard.yaml".Split(" ")) { - ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "$folder/$file" -customerid $customerid | kubectl apply -f - + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - } } foreach ($file in "default.yaml default-internal.yaml".Split(" ")) { - ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "$folder/$file" -customerid $customerid | kubectl apply -f - + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - } if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { @@ -456,7 +459,7 @@ if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { Write-Host "Using Public IP: [$publicip]" - ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/loadbalancer-public.yml" -customerid $customerid ` + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/loadbalancer-public.yaml" -customerid $customerid ` | Foreach-Object {$_ -replace 'PUBLICIP', "$publicip"} ` | kubectl create -f - @@ -464,11 +467,11 @@ if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { # if we are restricting IPs then also deploy an internal load balancer Write-Output "Setting up a internal load balancer also since we are restricting IPs" - ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/loadbalancer-internal.yml" -customerid $customerid ` + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/loadbalancer-internal.yaml" -customerid $customerid ` | kubectl create -f - } - #kubectl create -f "$GITHUB_URL/azure/loadbalancer-public.yml" + #kubectl create -f "$GITHUB_URL/azure/loadbalancer-public.yaml" #kubectl patch service traefik-ingress-service-public --loadBalancerIP=52.191.114.120 @@ -476,7 +479,7 @@ if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { } else { Write-Output "Setting up an internal load balancer" - ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/loadbalancer-internal.yml" -customerid $customerid ` + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/loadbalancer-internal.yaml" -customerid $customerid ` | kubectl create -f - } @@ -694,8 +697,8 @@ if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { Write-Output "curl -L --verbose --header 'Host: dashboard.$dnsrecordname' 'http://$EXTERNAL_IP/' -k" } else { - Write-Output "Testing load balancer" - Invoke-WebRequest -useb -Headers @{"Host" = "dashboard.$dnsrecordname"} -Uri http://$EXTERNAL_IP/ | Select-Object -Expand Content + # Write-Output "Testing load balancer" + # Invoke-WebRequest -useb -Headers @{"Host" = "dashboard.$dnsrecordname"} -Uri http://$EXTERNAL_IP/ | Select-Object -Expand Content Write-Output "To test out the load balancer, open Git Bash and run:" Write-Output "curl -L --verbose --header 'Host: dashboard.$dnsrecordname' 'http://$EXTERNAL_IP/' -k" diff --git a/kubernetes/common-kube.ps1 b/kubernetes/common-kube.ps1 index ec455c9..8bc9cd6 100644 --- a/kubernetes/common-kube.ps1 +++ b/kubernetes/common-kube.ps1 @@ -1,5 +1,5 @@ # this file contains common functions for kubernetes -$versionkubecommon = "2018.02.14.01" +$versionkubecommon = "2018.02.20.01" Write-Host "Including common-kube.ps1 version $versionkubecommon" function global:GetCommonKubeVersion() { @@ -129,10 +129,11 @@ function global:AskForSecretValue ($secretname, $prompt, $namespace) { } } -function global:ReadYmlAndReplaceCustomer($baseUrl, $templateFile, $customerid ) { +function global:ReadYamlAndReplaceCustomer($baseUrl, $templateFile, $customerid ) { + Write-Host "Reading from url: ${baseUrl}/${templateFile}" + if ($baseUrl.StartsWith("http")) { - # Write-Output "Reading from url: $GITHUB_URL/$templateFile" - Invoke-WebRequest -Uri "$baseUrl/$templateFile" -UseBasicParsing -ContentType "text/plain; charset=utf-8" ` + Invoke-WebRequest -Uri "${baseUrl}/${templateFile}" -UseBasicParsing -ContentType "text/plain; charset=utf-8" ` | Select-Object -Expand Content ` | Foreach-Object {$_ -replace 'CUSTOMERID', "$customerid"} } diff --git a/kubernetes/common.sh b/kubernetes/common.sh index 7bf73cf..c6ac07a 100644 --- a/kubernetes/common.sh +++ b/kubernetes/common.sh @@ -29,7 +29,7 @@ function ReplaceText(){ IFS=$old_IFS # restore default field separator } -function ReadYmlAndReplaceCustomer () { +function ReadYamlAndReplaceCustomer () { local baseUrl=$1 local templateFile=$2 local customerid=$3 diff --git a/kubernetes/loadbalancer/configmaps/config.yaml b/kubernetes/loadbalancer/configmaps/config.yaml index c93ebd5..1d82eaf 100644 --- a/kubernetes/loadbalancer/configmaps/config.yaml +++ b/kubernetes/loadbalancer/configmaps/config.yaml @@ -16,3 +16,4 @@ data: [entryPoints] [entryPoints.http] address = ":80" + diff --git a/kubernetes/loadbalancer/pods/ingress-azure.internal.yaml b/kubernetes/loadbalancer/pods/ingress-azure.internal.yaml index 30291cd..691db26 100644 --- a/kubernetes/loadbalancer/pods/ingress-azure.internal.yaml +++ b/kubernetes/loadbalancer/pods/ingress-azure.internal.yaml @@ -38,6 +38,7 @@ spec: - --kubernetes - --configfile=/config/traefik.toml - --logLevel=INFO - - --ingress-class=traefik-internal + - --kubernetes.labelselector= "traffic-type:internal" # https://github.com/kubernetes/ingress-nginx/blob/master/README.md#running-multiple-ingress-controllers + # https://docs.traefik.io/user-guide/kubernetes/ --- diff --git a/kubernetes/setup-loadbalancer.sh b/kubernetes/setup-loadbalancer.sh index b2b9682..719cea9 100644 --- a/kubernetes/setup-loadbalancer.sh +++ b/kubernetes/setup-loadbalancer.sh @@ -27,24 +27,24 @@ dnsrecordname="$customerid.healthcatalyst.net" SaveSecretValue customerid "value" $customerid -# ReadYmlAndReplaceCustomer $GITHUB_URL "azure/ingress-roles.yml" $customerid +# ReadYamlAndReplaceCustomer $GITHUB_URL "azure/ingress-roles.yml" $customerid -ReadYmlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/configmaps/config.yaml" $customerid \ +ReadYamlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/configmaps/config.yaml" $customerid \ | kubectl apply -f - -ReadYmlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/roles/ingress-roles.yaml" $customerid \ +ReadYamlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/roles/ingress-roles.yaml" $customerid \ | kubectl apply -f - -ReadYmlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/pods/ingress-onprem.yaml" $customerid \ +ReadYamlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/pods/ingress-onprem.yaml" $customerid \ | kubectl apply -f - -ReadYmlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/services/loadbalancer-internal.yaml" $customerid \ +ReadYamlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/services/loadbalancer-internal.yaml" $customerid \ | kubectl apply -f - -ReadYmlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/ingress/dashboard-internal.yaml" $customerid \ +ReadYamlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/ingress/dashboard-internal.yaml" $customerid \ | kubectl apply -f - -ReadYmlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/ingress/default-internal.yaml" $customerid \ +ReadYamlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/ingress/default-internal.yaml" $customerid \ | kubectl apply -f - loadbalancer="traefik-ingress-service-public" diff --git a/nlp/ingress/http/solr.yaml b/nlp/ingress/http/solr.yaml index 3bb1d4b..073b83a 100644 --- a/nlp/ingress/http/solr.yaml +++ b/nlp/ingress/http/solr.yaml @@ -3,8 +3,10 @@ kind: Ingress metadata: name: nlp-ingress namespace: fabricnlp + labels: + traffic-type: internal annotations: - kubernetes.io/ingress.class: traefik-internal + kubernetes.io/ingress.class: traefik spec: rules: - host: solr.CUSTOMERID.healthcatalyst.net diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index 998f227..11b8c21 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -100,15 +100,15 @@ AskForPasswordAnyCharacters -secretname "smtprelaypassword" -prompt "SMTP (SendG CleanOutNamespace -namespace $namespace -ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/nlp-kubernetes-storage.yml" -customerid $customerid | kubectl create -f - +ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/nlp-kubernetes-storage.yml" -customerid $customerid | kubectl create -f - -ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/nlp-kubernetes.yml" -customerid $customerid | kubectl create -f - +ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/nlp-kubernetes.yml" -customerid $customerid | kubectl create -f - -ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/nlp-kubernetes-public.yml" -customerid $customerid | kubectl create -f - +ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/nlp-kubernetes-public.yml" -customerid $customerid | kubectl create -f - -ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/nlp-mysql-private.yml" -customerid $customerid | kubectl create -f - +ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/nlp-mysql-private.yml" -customerid $customerid | kubectl create -f - -ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/nlp-backups-cronjob.yml" -customerid $customerid | kubectl create -f - +ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/nlp-backups-cronjob.yml" -customerid $customerid | kubectl create -f - Write-Output "Setting up reverse proxy" @@ -118,7 +118,7 @@ if ($AKS_USE_SSL -eq "y" ) { } Write-Output "Using template: $ingressTemplate" -ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile $ingressTemplate -customerid $customerid | kubectl create -f - +ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile $ingressTemplate -customerid $customerid | kubectl create -f - kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=$namespace -o wide diff --git a/nlp/installnlpkubernetes.sh b/nlp/installnlpkubernetes.sh index 223f3af..f6dca41 100644 --- a/nlp/installnlpkubernetes.sh +++ b/nlp/installnlpkubernetes.sh @@ -65,7 +65,7 @@ folder="volumes" for fname in "mysqlserver.onprem.yaml" "solrserver.onprem.yaml" "jobserver.onprem.yaml" "mysqlbackup.onprem.yaml" do echo "Deploying nlp/$folder/$fname" - ReadYmlAndReplaceCustomer $GITHUB_URL "nlp/$folder/$fname" $customerid | kubectl create -f - + ReadYamlAndReplaceCustomer $GITHUB_URL "nlp/$folder/$fname" $customerid | kubectl create -f - done echo "-- Deploying volume claims --" @@ -73,7 +73,7 @@ folder="volumeclaims" for fname in "mysqlserver.yaml" "solrserver.yaml" "jobserver.yaml" "mysqlbackup.yaml" do echo "Deploying nlp/$folder/$fname" - ReadYmlAndReplaceCustomer $GITHUB_URL "nlp/$folder/$fname" $customerid | kubectl create -f - + ReadYamlAndReplaceCustomer $GITHUB_URL "nlp/$folder/$fname" $customerid | kubectl create -f - done echo "-- Deploying pods --" @@ -81,7 +81,7 @@ folder="pods" for fname in "mysqlserver.yaml" "solrserver.yaml" "jobserver.yaml" "nlpwebserver.yaml" "mysqlclient.yaml" do echo "Deploying nlp/$folder/$fname" - ReadYmlAndReplaceCustomer $GITHUB_URL "nlp/$folder/$fname" $customerid | kubectl create -f - + ReadYamlAndReplaceCustomer $GITHUB_URL "nlp/$folder/$fname" $customerid | kubectl create -f - done echo "-- Deploying cluster services --" @@ -89,7 +89,7 @@ folder="services/cluster" for fname in "mysqlserver.yaml" "solrserver.yaml" "jobserver.yaml" "nlpwebserver.yaml" do echo "Deploying nlp/$folder/$fname" - ReadYmlAndReplaceCustomer $GITHUB_URL "nlp/$folder/$fname" $customerid | kubectl create -f - + ReadYamlAndReplaceCustomer $GITHUB_URL "nlp/$folder/$fname" $customerid | kubectl create -f - done echo "-- Deploying external services --" @@ -97,7 +97,7 @@ folder="services/external" for fname in "solrserver.yaml" "jobserver.yaml" "nlpwebserver.yaml" do echo "Deploying nlp/$folder/$fname" - ReadYmlAndReplaceCustomer $GITHUB_URL "nlp/$folder/$fname" $customerid | kubectl create -f - + ReadYamlAndReplaceCustomer $GITHUB_URL "nlp/$folder/$fname" $customerid | kubectl create -f - done echo "-- Deploying HTTP proxies --" @@ -105,7 +105,7 @@ folder="ingress/http" for fname in "web.onprem.yaml" do echo "Deploying nlp/$folder/$fname" - ReadYmlAndReplaceCustomer $GITHUB_URL "nlp/$folder/$fname" $customerid | kubectl create -f - + ReadYamlAndReplaceCustomer $GITHUB_URL "nlp/$folder/$fname" $customerid | kubectl create -f - done echo "-- Deploying TCP proxies --" @@ -113,7 +113,7 @@ folder="ingress/tcp" for fname in "mysqlserver.onprem.yaml" do echo "Deploying nlp/$folder/$fname" - ReadYmlAndReplaceCustomer $GITHUB_URL "nlp/$folder/$fname" $customerid | kubectl create -f - + ReadYamlAndReplaceCustomer $GITHUB_URL "nlp/$folder/$fname" $customerid | kubectl create -f - done echo "-- Deploying jobs --" @@ -121,7 +121,7 @@ folder="jobs" for fname in "mysqlserver-backup-cron.yaml" do echo "Deploying nlp/$folder/$fname" - ReadYmlAndReplaceCustomer $GITHUB_URL "nlp/$folder/$fname" $customerid | kubectl create -f - + ReadYamlAndReplaceCustomer $GITHUB_URL "nlp/$folder/$fname" $customerid | kubectl create -f - done kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=$namespace -o wide diff --git a/realtime/installrealtimekubernetes.ps1 b/realtime/installrealtimekubernetes.ps1 index 9ed1353..1a65a4b 100644 --- a/realtime/installrealtimekubernetes.ps1 +++ b/realtime/installrealtimekubernetes.ps1 @@ -82,11 +82,11 @@ $AZURE_STORAGE_CONNECTION_STRING = az storage account show-connection-string -n Write-Output "Create the file share: $AKS_PERS_SHARE_NAME" az storage share create -n $AKS_PERS_SHARE_NAME --connection-string $AZURE_STORAGE_CONNECTION_STRING --quota 512 -ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/realtime-kubernetes-storage.yml" -customerid $customerid | kubectl create -f - +ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/realtime-kubernetes-storage.yml" -customerid $customerid | kubectl create -f - -ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/realtime-kubernetes.yml" -customerid $customerid | kubectl create -f - +ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/realtime-kubernetes.yml" -customerid $customerid | kubectl create -f - -ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/realtime-kubernetes-public.yml" -customerid $customerid | kubectl create -f - +ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/realtime-kubernetes-public.yml" -customerid $customerid | kubectl create -f - $ipname = "InterfaceEnginePublicIP" $publicip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n $ipname --query "ipAddress" -o tsv; @@ -144,7 +144,7 @@ if ($AKS_USE_SSL -eq "y" ) { Write-Output "Using template: $templateFile" -ReadYmlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile $templateFile -customerid $customerid +ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile $templateFile -customerid $customerid kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime -o wide diff --git a/realtime/installrealtimekubernetes.sh b/realtime/installrealtimekubernetes.sh index c099f37..d3bb151 100644 --- a/realtime/installrealtimekubernetes.sh +++ b/realtime/installrealtimekubernetes.sh @@ -68,7 +68,7 @@ folder="volumes" for fname in "certificateserver.onprem.yaml" "mysqlserver.onprem.yaml" "rabbitmq-cert.onprem.yaml" "rabbitmq.onprem.yaml" do echo "Deploying realtime/$folder/$fname" - ReadYmlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl create -f - + ReadYamlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl create -f - done echo "-- Deploying volume claims --" @@ -76,7 +76,7 @@ folder="volumeclaims" for fname in "certificateserver.yaml" "mysqlserver.yaml" "rabbitmq-cert.yaml" "rabbitmq.yaml" do echo "Deploying realtime/$folder/$fname" - ReadYmlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl create -f - + ReadYamlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl create -f - done echo "-- Deploying pods --" @@ -84,7 +84,7 @@ folder="pods" for fname in "certificateserver.yaml" "mysqlserver.yaml" "interfaceengine.yaml" "rabbitmq.yaml" do echo "Deploying realtime/$folder/$fname" - ReadYmlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl create -f - + ReadYamlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl create -f - done echo "-- Deploying cluster services --" @@ -92,7 +92,7 @@ folder="services/cluster" for fname in "certificateserver.yaml" "mysqlserver.yaml" "interfaceengine.yaml" "rabbitmq.yaml" do echo "Deploying realtime/$folder/$fname" - ReadYmlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl create -f - + ReadYamlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl create -f - done echo "-- Deploying external services --" @@ -100,7 +100,7 @@ folder="services/external" for fname in "certificateserver.yaml" do echo "Deploying realtime/$folder/$fname" - ReadYmlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl create -f - + ReadYamlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl create -f - done echo "-- Deploying HTTP proxies --" @@ -108,7 +108,7 @@ folder="ingress/http" for fname in "web.onprem.yaml" do echo "Deploying realtime/$folder/$fname" - ReadYmlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl create -f - + ReadYamlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl create -f - done kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=$namespace -o wide From 7179a8b3fb36eb0843a42a1ce8c1c371861583bf Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 20 Feb 2018 10:23:35 -0700 Subject: [PATCH 191/473] increment version Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 6 +++--- azure/setup-loadbalancer.ps1 | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index ec35ecd..d655816 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,14 +1,14 @@ # This file contains common functions for Azure # -$versioncommon = "2018.02.19.01" +$versioncommon = "2018.02.20.01" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { return $versioncommon } -# $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -$GITHUB_URL = "C:\Catalyst\git\Installscripts" +$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" +# $GITHUB_URL = "C:\Catalyst\git\Installscripts" # Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1 | Invoke-Expression; Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index 70eedee..2dc21ee 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,14 +1,14 @@ -Write-output "Version 2018.02.20.02" +Write-output "Version 2018.02.20.03" # # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/setup-loadbalancer.ps1 | iex; -# $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -$GITHUB_URL = "C:\Catalyst\git\Installscripts" +$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" +# $GITHUB_URL = "C:\Catalyst\git\Installscripts" -# Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/common.ps1 | Invoke-Expression; -Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; +Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/common.ps1 | Invoke-Expression; +# Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; $AKS_OPEN_TO_PUBLIC = "" $AKS_USE_SSL = "" From 42d3db645b085d1914088f4265198bab1561ceba Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 20 Feb 2018 10:28:32 -0700 Subject: [PATCH 192/473] fix check for empty Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/common-kube.ps1 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kubernetes/common-kube.ps1 b/kubernetes/common-kube.ps1 index 8bc9cd6..42b7b73 100644 --- a/kubernetes/common-kube.ps1 +++ b/kubernetes/common-kube.ps1 @@ -1,5 +1,5 @@ # this file contains common functions for kubernetes -$versionkubecommon = "2018.02.20.01" +$versionkubecommon = "2018.02.20.02" Write-Host "Including common-kube.ps1 version $versionkubecommon" function global:GetCommonKubeVersion() { @@ -230,11 +230,11 @@ function global:CleanOutNamespace($namespace){ $CLEANUP_DONE="n" Do { - $CLEANUP_DONE=$(kubectl get 'deployments,pods,services,ingress,persistentvolumeclaims' --namespace=$namespace -o jsonpath="{.items[*].metadata.name}") + $CLEANUP_DONE=$(kubectl get 'deployments,pods,services,ingress,persistentvolumeclaims,jobs,cronjobs' --namespace=$namespace -o jsonpath="{.items[*].metadata.name}") Write-Output "Remaining items: $CLEANUP_DONE" Start-Sleep 5 } - while ([string]::IsNullOrEmpty($CLEANUP_DONE)) + while (![string]::IsNullOrEmpty($CLEANUP_DONE)) } # -------------------- Write-Host "end common-kube.ps1 version $versioncommon" \ No newline at end of file From 24b807f41cc84ea87533b1727eb8330f4831fa3e Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 20 Feb 2018 10:42:10 -0700 Subject: [PATCH 193/473] switch to new manifests Signed-off-by: HQCATALYST\imran.qureshi --- nlp/installnlpkubernetes.ps1 | 58 ++++++++++++++++++++++++++++-------- 1 file changed, 46 insertions(+), 12 deletions(-) diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index 11b8c21..a6c9fec 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -1,4 +1,4 @@ -Write-Output "Version 2018.02.16.01" +Write-Output "--- installnlpkubernetes.ps1 Version 2018.02.20.02 ---" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | iex; $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -100,25 +100,59 @@ AskForPasswordAnyCharacters -secretname "smtprelaypassword" -prompt "SMTP (SendG CleanOutNamespace -namespace $namespace -ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/nlp-kubernetes-storage.yml" -customerid $customerid | kubectl create -f - +Write-Host "Deploying roles" +$folder = "kubernetes/loadbalancer/roles" +foreach ($file in "ingress-roles.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - +} -ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/nlp-kubernetes.yml" -customerid $customerid | kubectl create -f - +Write-Host "-- Deploying volumes --" +$folder="volumes" +foreach ($file in "mysqlserver.onprem.yaml solrserver.onprem.yaml jobserver.onprem.yaml mysqlbackup.onprem.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/${folder}/${file}" -customerid $customerid | kubectl apply -f - +} -ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/nlp-kubernetes-public.yml" -customerid $customerid | kubectl create -f - +Write-Host "-- Deploying volume claims --" +$folder="volumeclaims" +foreach ($file in "mysqlserver.yaml solrserver.yaml jobserver.yaml mysqlbackup.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/${folder}/${file}" -customerid $customerid | kubectl apply -f - +} -ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/nlp-mysql-private.yml" -customerid $customerid | kubectl create -f - +Write-Host "-- Deploying pods --" +$folder="pods" +foreach ($file in "mysqlserver.yaml solrserver.yaml jobserver.yaml nlpwebserver.yaml mysqlclient.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/${folder}/${file}" -customerid $customerid | kubectl apply -f - +} -ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/nlp-backups-cronjob.yml" -customerid $customerid | kubectl create -f - +Write-Host "-- Deploying cluster services --" +$folder="services/cluster" +foreach ($file in "mysqlserver.yaml solrserver.yaml jobserver.yaml nlpwebserver.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/${folder}/${file}" -customerid $customerid | kubectl apply -f - +} -Write-Output "Setting up reverse proxy" +Write-Host "-- Deploying external services --" +$folder="services/external" +foreach ($file in "solrserver.yaml jobserver.yaml nlpwebserver.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/${folder}/${file}" -customerid $customerid | kubectl apply -f - +} + +Write-Host "-- Deploying HTTP proxies --" +$folder="ingress/http" +foreach ($file in "web.onprem.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/${folder}/${file}" -customerid $customerid | kubectl apply -f - +} -$ingressTemplate = "nlp/nlp-ingress.yml" -if ($AKS_USE_SSL -eq "y" ) { - $ingressTemplate = "nlp/nlp-ingress-ssl.yml" +Write-Host "-- Deploying TCP proxies --" +$folder="ingress/tcp" +foreach ($file in "mysqlserver.onprem.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/${folder}/${file}" -customerid $customerid | kubectl apply -f - } -Write-Output "Using template: $ingressTemplate" -ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile $ingressTemplate -customerid $customerid | kubectl create -f - +Write-Host "-- Deploying jobs --" +$folder="jobs" +foreach ($file in "mysqlserver-backup-cron.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/${folder}/${file}" -customerid $customerid | kubectl apply -f - +} kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=$namespace -o wide From 3473a4599a440a3903086dab171ee180e3a7b1a3 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 20 Feb 2018 10:50:13 -0700 Subject: [PATCH 194/473] switch from onprem to azure for manifests Signed-off-by: HQCATALYST\imran.qureshi --- nlp/installnlpkubernetes.ps1 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index a6c9fec..eb4fb97 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -1,4 +1,4 @@ -Write-Output "--- installnlpkubernetes.ps1 Version 2018.02.20.02 ---" +Write-Output "--- installnlpkubernetes.ps1 Version 2018.02.20.03 ---" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | iex; $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -108,7 +108,7 @@ foreach ($file in "ingress-roles.yaml".Split(" ")) { Write-Host "-- Deploying volumes --" $folder="volumes" -foreach ($file in "mysqlserver.onprem.yaml solrserver.onprem.yaml jobserver.onprem.yaml mysqlbackup.onprem.yaml".Split(" ")) { +foreach ($file in "mysqlserver.yaml solrserver.yaml jobserver.yaml mysqlbackup.yaml".Split(" ")) { ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/${folder}/${file}" -customerid $customerid | kubectl apply -f - } @@ -138,13 +138,13 @@ foreach ($file in "solrserver.yaml jobserver.yaml nlpwebserver.yaml".Split(" ")) Write-Host "-- Deploying HTTP proxies --" $folder="ingress/http" -foreach ($file in "web.onprem.yaml".Split(" ")) { +foreach ($file in "web.yaml".Split(" ")) { ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/${folder}/${file}" -customerid $customerid | kubectl apply -f - } Write-Host "-- Deploying TCP proxies --" $folder="ingress/tcp" -foreach ($file in "mysqlserver.onprem.yaml".Split(" ")) { +foreach ($file in "mysqlserver.yaml".Split(" ")) { ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/${folder}/${file}" -customerid $customerid | kubectl apply -f - } From ebfa95a8563c8393f30d4815d1f0ab6c7d72fda8 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 20 Feb 2018 11:12:28 -0700 Subject: [PATCH 195/473] rename solr.yaml Signed-off-by: HQCATALYST\imran.qureshi --- nlp/ingress/http/solr.yaml | 2 +- nlp/installnlpkubernetes.ps1 | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/nlp/ingress/http/solr.yaml b/nlp/ingress/http/solr.yaml index 073b83a..9d45c2f 100644 --- a/nlp/ingress/http/solr.yaml +++ b/nlp/ingress/http/solr.yaml @@ -1,7 +1,7 @@ apiVersion: extensions/v1beta1 kind: Ingress metadata: - name: nlp-ingress + name: nlp-ingress-internal namespace: fabricnlp labels: traffic-type: internal diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index eb4fb97..906fc29 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -1,4 +1,4 @@ -Write-Output "--- installnlpkubernetes.ps1 Version 2018.02.20.03 ---" +Write-Output "--- installnlpkubernetes.ps1 Version 2018.02.20.04 ---" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | iex; $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -138,7 +138,7 @@ foreach ($file in "solrserver.yaml jobserver.yaml nlpwebserver.yaml".Split(" ")) Write-Host "-- Deploying HTTP proxies --" $folder="ingress/http" -foreach ($file in "web.yaml".Split(" ")) { +foreach ($file in "web.yaml solr.yaml".Split(" ")) { ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/${folder}/${file}" -customerid $customerid | kubectl apply -f - } From 02ca666168a97bf068aad0798691d86b6ad9f410 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 20 Feb 2018 11:29:16 -0700 Subject: [PATCH 196/473] set traffic-type: external Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/loadbalancer/ingress/default-internal.yaml | 1 + kubernetes/loadbalancer/ingress/default.yaml | 3 ++- kubernetes/loadbalancer/pods/ingress-azure.yaml | 1 + nlp/ingress/http/web.onprem.yaml | 2 ++ nlp/ingress/http/web.ssl.yaml | 2 ++ nlp/ingress/http/web.yaml | 2 ++ 6 files changed, 10 insertions(+), 1 deletion(-) diff --git a/kubernetes/loadbalancer/ingress/default-internal.yaml b/kubernetes/loadbalancer/ingress/default-internal.yaml index 88922e3..dbb04b9 100644 --- a/kubernetes/loadbalancer/ingress/default-internal.yaml +++ b/kubernetes/loadbalancer/ingress/default-internal.yaml @@ -6,6 +6,7 @@ metadata: namespace: kube-system labels: k8s-traefik: traefik + traffic-type: internal annotations: kubernetes.io/ingress.class: traefik-internal spec: diff --git a/kubernetes/loadbalancer/ingress/default.yaml b/kubernetes/loadbalancer/ingress/default.yaml index 653ea2a..10259a8 100644 --- a/kubernetes/loadbalancer/ingress/default.yaml +++ b/kubernetes/loadbalancer/ingress/default.yaml @@ -5,7 +5,8 @@ metadata: name: traefik-default-route namespace: kube-system labels: - k8s-traefik: traefik + k8s-traefik: traefik + traffic-type: external annotations: kubernetes.io/ingress.class: traefik spec: diff --git a/kubernetes/loadbalancer/pods/ingress-azure.yaml b/kubernetes/loadbalancer/pods/ingress-azure.yaml index e9c2e4f..a55e545 100644 --- a/kubernetes/loadbalancer/pods/ingress-azure.yaml +++ b/kubernetes/loadbalancer/pods/ingress-azure.yaml @@ -38,4 +38,5 @@ spec: - --kubernetes - --configfile=/config/traefik.toml - --logLevel=INFO + - --kubernetes.labelselector= "traffic-type:external" --- diff --git a/nlp/ingress/http/web.onprem.yaml b/nlp/ingress/http/web.onprem.yaml index 6c74346..3c8b694 100644 --- a/nlp/ingress/http/web.onprem.yaml +++ b/nlp/ingress/http/web.onprem.yaml @@ -3,6 +3,8 @@ kind: Ingress metadata: name: nlp-ingress namespace: fabricnlp + labels: + traffic-type: external annotations: kubernetes.io/ingress.class: traefik spec: diff --git a/nlp/ingress/http/web.ssl.yaml b/nlp/ingress/http/web.ssl.yaml index daf3abb..58840a8 100644 --- a/nlp/ingress/http/web.ssl.yaml +++ b/nlp/ingress/http/web.ssl.yaml @@ -3,6 +3,8 @@ kind: Ingress metadata: name: nlp-ingress namespace: fabricnlp + labels: + traffic-type: external annotations: kubernetes.io/ingress.class: traefik spec: diff --git a/nlp/ingress/http/web.yaml b/nlp/ingress/http/web.yaml index 0287d15..2f51743 100644 --- a/nlp/ingress/http/web.yaml +++ b/nlp/ingress/http/web.yaml @@ -3,6 +3,8 @@ kind: Ingress metadata: name: nlp-ingress namespace: fabricnlp + labels: + traffic-type: external annotations: kubernetes.io/ingress.class: traefik spec: From 98ea9902916688a6af6791c6db938fcb9a1a2740 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 20 Feb 2018 11:40:40 -0700 Subject: [PATCH 197/473] setup internal load balancer Signed-off-by: HQCATALYST\imran.qureshi --- azure/setup-loadbalancer.ps1 | 21 ++++++++++--------- .../services/loadbalancer-internal.yaml | 2 +- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index 2dc21ee..a5d2ae6 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.02.20.03" +Write-output "Version 2018.02.20.04" # # This script is meant for quick & easy install via: @@ -464,13 +464,13 @@ if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { | kubectl create -f - - if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { - # if we are restricting IPs then also deploy an internal load balancer - Write-Output "Setting up a internal load balancer also since we are restricting IPs" - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/loadbalancer-internal.yaml" -customerid $customerid ` - | kubectl create -f - + # if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { + # # if we are restricting IPs then also deploy an internal load balancer + # Write-Output "Setting up a internal load balancer also since we are restricting IPs" + # ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/loadbalancer-internal.yaml" -customerid $customerid ` + # | kubectl create -f - - } + # } #kubectl create -f "$GITHUB_URL/azure/loadbalancer-public.yaml" #kubectl patch service traefik-ingress-service-public --loadBalancerIP=52.191.114.120 @@ -478,11 +478,12 @@ if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { #kubectl patch deployment traefik-ingress-controller -p '{"spec":{"loadBalancerIP":"52.191.114.120"}}' } else { - Write-Output "Setting up an internal load balancer" - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/loadbalancer-internal.yaml" -customerid $customerid ` - | kubectl create -f - } +Write-Output "Setting up an internal load balancer" +ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/loadbalancer-internal.yaml" -customerid $customerid ` + | kubectl create -f - + $startDate = Get-Date $timeoutInMinutes = 10 diff --git a/kubernetes/loadbalancer/services/loadbalancer-internal.yaml b/kubernetes/loadbalancer/services/loadbalancer-internal.yaml index d1781b5..51a4f53 100644 --- a/kubernetes/loadbalancer/services/loadbalancer-internal.yaml +++ b/kubernetes/loadbalancer/services/loadbalancer-internal.yaml @@ -13,7 +13,7 @@ metadata: kubernetes.io/ingress.class: "loadbalancer-internal" spec: selector: - k8s-app: traefik-ingress-lb + k8s-app: traefik-ingress-lb-internal externalTrafficPolicy: "Local" ports: - protocol: TCP From a6100c7185072c5ce6d318b53ea68758d7524e62 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 20 Feb 2018 12:27:31 -0700 Subject: [PATCH 198/473] rename some manifests Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/loadbalancer/ingress/dashboard-internal.yaml | 2 +- kubernetes/loadbalancer/ingress/default-internal.yaml | 2 +- kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml | 1 + kubernetes/loadbalancer/pods/ingress-onprem.yaml | 1 + 4 files changed, 4 insertions(+), 2 deletions(-) diff --git a/kubernetes/loadbalancer/ingress/dashboard-internal.yaml b/kubernetes/loadbalancer/ingress/dashboard-internal.yaml index ba6a5c1..b7bb02c 100644 --- a/kubernetes/loadbalancer/ingress/dashboard-internal.yaml +++ b/kubernetes/loadbalancer/ingress/dashboard-internal.yaml @@ -3,7 +3,7 @@ kind: Service apiVersion: v1 metadata: labels: - k8s-app: kubernetes-dashboard + k8s-app: kubernetes-dashboard-internal name: kubernetes-dashboard namespace: kube-system annotations: diff --git a/kubernetes/loadbalancer/ingress/default-internal.yaml b/kubernetes/loadbalancer/ingress/default-internal.yaml index dbb04b9..dc221bb 100644 --- a/kubernetes/loadbalancer/ingress/default-internal.yaml +++ b/kubernetes/loadbalancer/ingress/default-internal.yaml @@ -2,7 +2,7 @@ apiVersion: extensions/v1beta1 kind: Ingress metadata: - name: traefik-default-route + name: traefik-default-route-internal namespace: kube-system labels: k8s-traefik: traefik diff --git a/kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml b/kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml index a9e058c..31e173c 100644 --- a/kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml +++ b/kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml @@ -48,4 +48,5 @@ spec: - --kubernetes - --configfile=/config/traefik.toml - --logLevel=INFO + - --kubernetes.labelselector= "traffic-type:external" --- diff --git a/kubernetes/loadbalancer/pods/ingress-onprem.yaml b/kubernetes/loadbalancer/pods/ingress-onprem.yaml index 3555428..5790a9d 100644 --- a/kubernetes/loadbalancer/pods/ingress-onprem.yaml +++ b/kubernetes/loadbalancer/pods/ingress-onprem.yaml @@ -50,4 +50,5 @@ spec: - --kubernetes - --configfile=/config/traefik.toml - --logLevel=INFO + - --kubernetes.labelselector= "traffic-type:external" --- From b0c0fe707b4dc8875cc7ec0885efe9ac42a07cd8 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 20 Feb 2018 15:05:35 -0700 Subject: [PATCH 199/473] change label for ingress Signed-off-by: HQCATALYST\imran.qureshi --- azure/main.ps1 | 11 +++++++---- kubernetes/loadbalancer/ingress/default-internal.yaml | 2 +- kubernetes/loadbalancer/ingress/default.yaml | 2 +- .../loadbalancer/pods/ingress-azure.internal.yaml | 2 +- kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml | 2 +- kubernetes/loadbalancer/pods/ingress-azure.yaml | 2 +- kubernetes/loadbalancer/pods/ingress-onprem.yaml | 2 +- 7 files changed, 13 insertions(+), 10 deletions(-) diff --git a/azure/main.ps1 b/azure/main.ps1 index 5430a59..3b42c2a 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.02.13.03" +$version = "2018.02.20.01" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -10,7 +10,7 @@ Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/Install # Get-Content -Path "./azure/common.ps1" | Invoke-Expression; -$userinput="" +$userinput = "" while ($userinput -ne "q") { Write-Host "================ Health Catalyst version $version, common functions $(GetCommonVersion) ================" Write-Host "----- Choose Cluster -----" @@ -118,7 +118,7 @@ while ($userinput -ne "q") { '7' { # $AKS_PERS_RESOURCE_GROUP = ReadSecretValue -secretname azure-secret -valueName resourcegroup - if([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)){ + if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) { Do { $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group" if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) { @@ -143,7 +143,10 @@ while ($userinput -ne "q") { $virtualmachines = az vm list -g $AKS_PERS_RESOURCE_GROUP --query "[?storageProfile.osDisk.osType != 'Windows'].name" -o tsv ForEach ($vm in $virtualmachines) { $firstpublicip = az vm list-ip-addresses -g $AKS_PERS_RESOURCE_GROUP -n $vm --query "[].virtualMachine.network.publicIpAddresses[0].ipAddress" -o tsv - # $privateiplist= az vm show -g $AKS_PERS_RESOURCE_GROUP -n $vm -d --query privateIps -otsv + if ([string]::IsNullOrEmpty($firstpublicip)) { + $firstpublicip = az vm show -g $AKS_PERS_RESOURCE_GROUP -n $vm -d --query privateIps -otsv + $firstpublicip=$firstpublicip.Split(",")[0] + } Write-Output "Connect to $vm" Write-Output "ssh -i ${SSH_PRIVATE_KEY_FILE_UNIX_PATH} azureuser@${firstpublicip}" } diff --git a/kubernetes/loadbalancer/ingress/default-internal.yaml b/kubernetes/loadbalancer/ingress/default-internal.yaml index dc221bb..9f8c45c 100644 --- a/kubernetes/loadbalancer/ingress/default-internal.yaml +++ b/kubernetes/loadbalancer/ingress/default-internal.yaml @@ -6,7 +6,7 @@ metadata: namespace: kube-system labels: k8s-traefik: traefik - traffic-type: internal + traffic-type-internal: internal annotations: kubernetes.io/ingress.class: traefik-internal spec: diff --git a/kubernetes/loadbalancer/ingress/default.yaml b/kubernetes/loadbalancer/ingress/default.yaml index 10259a8..080df98 100644 --- a/kubernetes/loadbalancer/ingress/default.yaml +++ b/kubernetes/loadbalancer/ingress/default.yaml @@ -6,7 +6,7 @@ metadata: namespace: kube-system labels: k8s-traefik: traefik - traffic-type: external + traffic-type-external: external annotations: kubernetes.io/ingress.class: traefik spec: diff --git a/kubernetes/loadbalancer/pods/ingress-azure.internal.yaml b/kubernetes/loadbalancer/pods/ingress-azure.internal.yaml index 691db26..994094a 100644 --- a/kubernetes/loadbalancer/pods/ingress-azure.internal.yaml +++ b/kubernetes/loadbalancer/pods/ingress-azure.internal.yaml @@ -38,7 +38,7 @@ spec: - --kubernetes - --configfile=/config/traefik.toml - --logLevel=INFO - - --kubernetes.labelselector= "traffic-type:internal" + - --kubernetes.labelselector= "traffic-type-internal" # https://github.com/kubernetes/ingress-nginx/blob/master/README.md#running-multiple-ingress-controllers # https://docs.traefik.io/user-guide/kubernetes/ --- diff --git a/kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml b/kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml index 31e173c..efd54bf 100644 --- a/kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml +++ b/kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml @@ -48,5 +48,5 @@ spec: - --kubernetes - --configfile=/config/traefik.toml - --logLevel=INFO - - --kubernetes.labelselector= "traffic-type:external" + - --kubernetes.labelselector= "traffic-type-external" --- diff --git a/kubernetes/loadbalancer/pods/ingress-azure.yaml b/kubernetes/loadbalancer/pods/ingress-azure.yaml index a55e545..f4fef22 100644 --- a/kubernetes/loadbalancer/pods/ingress-azure.yaml +++ b/kubernetes/loadbalancer/pods/ingress-azure.yaml @@ -38,5 +38,5 @@ spec: - --kubernetes - --configfile=/config/traefik.toml - --logLevel=INFO - - --kubernetes.labelselector= "traffic-type:external" + - --kubernetes.labelselector= "traffic-type-external" --- diff --git a/kubernetes/loadbalancer/pods/ingress-onprem.yaml b/kubernetes/loadbalancer/pods/ingress-onprem.yaml index 5790a9d..1f613c5 100644 --- a/kubernetes/loadbalancer/pods/ingress-onprem.yaml +++ b/kubernetes/loadbalancer/pods/ingress-onprem.yaml @@ -50,5 +50,5 @@ spec: - --kubernetes - --configfile=/config/traefik.toml - --logLevel=INFO - - --kubernetes.labelselector= "traffic-type:external" + - --kubernetes.labelselector= "traffic-type-external" --- From 00deba358d7da30ec09d63102777e3d2e557a437 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 20 Feb 2018 16:56:34 -0700 Subject: [PATCH 200/473] remove - from label names for traefik Signed-off-by: HQCATALYST\imran.qureshi --- azure/setup-loadbalancer.ps1 | 12 +----------- kubernetes/loadbalancer/ingress/dashboard.yaml | 13 ------------- .../loadbalancer/ingress/default-internal.yaml | 2 +- kubernetes/loadbalancer/ingress/default.yaml | 2 +- .../loadbalancer/pods/ingress-azure.internal.yaml | 2 +- kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml | 2 +- kubernetes/loadbalancer/pods/ingress-azure.yaml | 2 +- kubernetes/loadbalancer/pods/ingress-onprem.yaml | 2 +- .../{ingress => services}/dashboard-internal.yaml | 0 .../{ingress => services}/dashboard.ssl.yaml | 0 10 files changed, 7 insertions(+), 30 deletions(-) delete mode 100644 kubernetes/loadbalancer/ingress/dashboard.yaml rename kubernetes/loadbalancer/{ingress => services}/dashboard-internal.yaml (100%) rename kubernetes/loadbalancer/{ingress => services}/dashboard.ssl.yaml (100%) diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index a5d2ae6..792113d 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.02.20.04" +Write-output "Version 2018.02.20.05" # # This script is meant for quick & easy install via: @@ -434,16 +434,6 @@ foreach ($file in "dashboard.yaml".Split(" ")) { Write-Host "Deploying ingress" $folder = "kubernetes/loadbalancer/ingress" -if ($AKS_USE_SSL -eq "y" ) { - foreach ($file in "dashboard.ssl.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - - } -} -else { - foreach ($file in "dashboard.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - - } -} foreach ($file in "default.yaml default-internal.yaml".Split(" ")) { ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - } diff --git a/kubernetes/loadbalancer/ingress/dashboard.yaml b/kubernetes/loadbalancer/ingress/dashboard.yaml deleted file mode 100644 index eb59012..0000000 --- a/kubernetes/loadbalancer/ingress/dashboard.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: traefik-web-ui - namespace: kube-system - labels: - k8s-traefik: traefik -spec: - selector: - k8s-app: traefik-ingress-lb - ports: - - port: 80 - targetPort: 8080 \ No newline at end of file diff --git a/kubernetes/loadbalancer/ingress/default-internal.yaml b/kubernetes/loadbalancer/ingress/default-internal.yaml index 9f8c45c..304ec5a 100644 --- a/kubernetes/loadbalancer/ingress/default-internal.yaml +++ b/kubernetes/loadbalancer/ingress/default-internal.yaml @@ -6,7 +6,7 @@ metadata: namespace: kube-system labels: k8s-traefik: traefik - traffic-type-internal: internal + expose: internal annotations: kubernetes.io/ingress.class: traefik-internal spec: diff --git a/kubernetes/loadbalancer/ingress/default.yaml b/kubernetes/loadbalancer/ingress/default.yaml index 080df98..a15cfb8 100644 --- a/kubernetes/loadbalancer/ingress/default.yaml +++ b/kubernetes/loadbalancer/ingress/default.yaml @@ -6,7 +6,7 @@ metadata: namespace: kube-system labels: k8s-traefik: traefik - traffic-type-external: external + expose: external annotations: kubernetes.io/ingress.class: traefik spec: diff --git a/kubernetes/loadbalancer/pods/ingress-azure.internal.yaml b/kubernetes/loadbalancer/pods/ingress-azure.internal.yaml index 994094a..2dce56e 100644 --- a/kubernetes/loadbalancer/pods/ingress-azure.internal.yaml +++ b/kubernetes/loadbalancer/pods/ingress-azure.internal.yaml @@ -38,7 +38,7 @@ spec: - --kubernetes - --configfile=/config/traefik.toml - --logLevel=INFO - - --kubernetes.labelselector= "traffic-type-internal" + - --kubernetes.labelselector=expose=internal # https://github.com/kubernetes/ingress-nginx/blob/master/README.md#running-multiple-ingress-controllers # https://docs.traefik.io/user-guide/kubernetes/ --- diff --git a/kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml b/kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml index efd54bf..133a6bb 100644 --- a/kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml +++ b/kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml @@ -48,5 +48,5 @@ spec: - --kubernetes - --configfile=/config/traefik.toml - --logLevel=INFO - - --kubernetes.labelselector= "traffic-type-external" + - --kubernetes.labelselector=expose=external --- diff --git a/kubernetes/loadbalancer/pods/ingress-azure.yaml b/kubernetes/loadbalancer/pods/ingress-azure.yaml index f4fef22..a88808d 100644 --- a/kubernetes/loadbalancer/pods/ingress-azure.yaml +++ b/kubernetes/loadbalancer/pods/ingress-azure.yaml @@ -38,5 +38,5 @@ spec: - --kubernetes - --configfile=/config/traefik.toml - --logLevel=INFO - - --kubernetes.labelselector= "traffic-type-external" + - --kubernetes.labelselector=expose=external --- diff --git a/kubernetes/loadbalancer/pods/ingress-onprem.yaml b/kubernetes/loadbalancer/pods/ingress-onprem.yaml index 1f613c5..df09ac5 100644 --- a/kubernetes/loadbalancer/pods/ingress-onprem.yaml +++ b/kubernetes/loadbalancer/pods/ingress-onprem.yaml @@ -50,5 +50,5 @@ spec: - --kubernetes - --configfile=/config/traefik.toml - --logLevel=INFO - - --kubernetes.labelselector= "traffic-type-external" + - --kubernetes.labelselector=expose=external --- diff --git a/kubernetes/loadbalancer/ingress/dashboard-internal.yaml b/kubernetes/loadbalancer/services/dashboard-internal.yaml similarity index 100% rename from kubernetes/loadbalancer/ingress/dashboard-internal.yaml rename to kubernetes/loadbalancer/services/dashboard-internal.yaml diff --git a/kubernetes/loadbalancer/ingress/dashboard.ssl.yaml b/kubernetes/loadbalancer/services/dashboard.ssl.yaml similarity index 100% rename from kubernetes/loadbalancer/ingress/dashboard.ssl.yaml rename to kubernetes/loadbalancer/services/dashboard.ssl.yaml From e2d98949a1fd3d2c070d31ece09bcb9e6f27a9ed Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 20 Feb 2018 22:05:16 -0700 Subject: [PATCH 201/473] set proper traefik class Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 9 +++------ azure/setup-loadbalancer.ps1 | 18 +++++++++++------- .../loadbalancer/ingress/default-internal.yaml | 2 +- .../services/dashboard-internal.yaml | 2 +- .../loadbalancer/services/dashboard.yaml | 2 +- .../services/loadbalancer-internal.yaml | 3 +-- .../services/loadbalancer-public.yaml | 2 -- 7 files changed, 18 insertions(+), 20 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index d655816..0964a4e 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,17 +1,14 @@ # This file contains common functions for Azure # -$versioncommon = "2018.02.20.01" +$versioncommon = "2018.02.20.02" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { return $versioncommon } -$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -# $GITHUB_URL = "C:\Catalyst\git\Installscripts" - -# Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1 | Invoke-Expression; -Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; +Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1 | Invoke-Expression; +# Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; function global:CreateShareInStorageAccount($storageAccountName, $resourceGroup, $sharename, $deleteExisting) { $AZURE_STORAGE_CONNECTION_STRING = az storage account show-connection-string -n $storageAccountName -g $resourceGroup -o tsv diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index 792113d..599eaf8 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,11 +1,13 @@ -Write-output "Version 2018.02.20.05" +Write-output "Version 2018.02.20.06" # # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/setup-loadbalancer.ps1 | iex; $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -# $GITHUB_URL = "C:\Catalyst\git\Installscripts" +#$GITHUB_URL = "C:\Catalyst\git\Installscripts" + +Write-Host "GITHUB_URL: $GITHUB_URL" Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/common.ps1 | Invoke-Expression; # Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; @@ -391,6 +393,8 @@ if ($AKS_USE_SSL -eq "y" ) { } } +Write-Host "GITHUB_URL: $GITHUB_URL" + Write-Host "Deploying configmaps" $folder = "kubernetes/loadbalancer/configmaps" if ($AKS_USE_SSL -eq "y" ) { @@ -426,11 +430,11 @@ foreach ($file in "ingress-azure.internal.yaml".Split(" ")) { ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - } -Write-Host "Deploying services" -$folder = "kubernetes/loadbalancer/services" -foreach ($file in "dashboard.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - -} +# Write-Host "Deploying services" +# $folder = "kubernetes/loadbalancer/services" +# foreach ($file in "dashboard.yaml".Split(" ")) { +# ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - +# } Write-Host "Deploying ingress" $folder = "kubernetes/loadbalancer/ingress" diff --git a/kubernetes/loadbalancer/ingress/default-internal.yaml b/kubernetes/loadbalancer/ingress/default-internal.yaml index 304ec5a..e15ce87 100644 --- a/kubernetes/loadbalancer/ingress/default-internal.yaml +++ b/kubernetes/loadbalancer/ingress/default-internal.yaml @@ -8,7 +8,7 @@ metadata: k8s-traefik: traefik expose: internal annotations: - kubernetes.io/ingress.class: traefik-internal + kubernetes.io/ingress.class: traefik spec: rules: - http: diff --git a/kubernetes/loadbalancer/services/dashboard-internal.yaml b/kubernetes/loadbalancer/services/dashboard-internal.yaml index b7bb02c..eaed46c 100644 --- a/kubernetes/loadbalancer/services/dashboard-internal.yaml +++ b/kubernetes/loadbalancer/services/dashboard-internal.yaml @@ -4,7 +4,7 @@ apiVersion: v1 metadata: labels: k8s-app: kubernetes-dashboard-internal - name: kubernetes-dashboard + name: kubernetes-dashboard-internal namespace: kube-system annotations: # from https://radu-matei.com/blog/k8s-appsvc/ diff --git a/kubernetes/loadbalancer/services/dashboard.yaml b/kubernetes/loadbalancer/services/dashboard.yaml index eb59012..2133c38 100644 --- a/kubernetes/loadbalancer/services/dashboard.yaml +++ b/kubernetes/loadbalancer/services/dashboard.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: Service metadata: - name: traefik-web-ui + name: kubernetes-dashboard namespace: kube-system labels: k8s-traefik: traefik diff --git a/kubernetes/loadbalancer/services/loadbalancer-internal.yaml b/kubernetes/loadbalancer/services/loadbalancer-internal.yaml index 51a4f53..fdfa9b6 100644 --- a/kubernetes/loadbalancer/services/loadbalancer-internal.yaml +++ b/kubernetes/loadbalancer/services/loadbalancer-internal.yaml @@ -1,7 +1,7 @@ kind: Service apiVersion: v1 metadata: - name: traefik-ingress-service-private + name: traefik-ingress-service-internal namespace: kube-system labels: k8s-traefik: traefik @@ -10,7 +10,6 @@ metadata: service.beta.kubernetes.io/azure-load-balancer-internal: "true" # https://gowalker.org/k8s.io/kubernetes/pkg/cloudprovider/providers/azure # service.beta.kubernetes.io/azure-load-balancer-internal-subnet": "" - kubernetes.io/ingress.class: "loadbalancer-internal" spec: selector: k8s-app: traefik-ingress-lb-internal diff --git a/kubernetes/loadbalancer/services/loadbalancer-public.yaml b/kubernetes/loadbalancer/services/loadbalancer-public.yaml index 49dbdce..f8100e9 100644 --- a/kubernetes/loadbalancer/services/loadbalancer-public.yaml +++ b/kubernetes/loadbalancer/services/loadbalancer-public.yaml @@ -5,8 +5,6 @@ metadata: namespace: kube-system labels: k8s-traefik: traefik - annotations: - kubernetes.io/ingress.class: "loadbalancer-public" spec: selector: k8s-app: traefik-ingress-lb From 234c6499f4c5c42b869d6ce8d7b13ee8a38ddf5c Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 20 Feb 2018 22:15:55 -0700 Subject: [PATCH 202/473] include common-kube.ps1 directly Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 3 --- azure/create-acs-cluster.ps1 | 6 +++++- azure/main.ps1 | 7 ++++++- azure/setup-loadbalancer.ps1 | 7 ++++++- nlp/installnlpkubernetes.ps1 | 6 +++++- realtime/installrealtimekubernetes.ps1 | 6 +++++- 6 files changed, 27 insertions(+), 8 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index 0964a4e..8cce0bb 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -7,9 +7,6 @@ function global:GetCommonVersion() { return $versioncommon } -Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1 | Invoke-Expression; -# Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; - function global:CreateShareInStorageAccount($storageAccountName, $resourceGroup, $sharename, $deleteExisting) { $AZURE_STORAGE_CONNECTION_STRING = az storage account show-connection-string -n $storageAccountName -g $resourceGroup -o tsv diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index a319f1e..d372dfc 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -7,9 +7,13 @@ Write-output "--- create-acs-cluster Version 2018.02.15.01 ----" $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" # $GITHUB_URL = "C:\Catalyst\git\Installscripts" -Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/common.ps1 | Invoke-Expression; +Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1 | Invoke-Expression; +# Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; + +Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; # Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; + $AKS_USE_AZURE_NETWORKING = "n" $AKS_SUPPORT_WINDOWS_CONTAINERS = "n" diff --git a/azure/main.ps1 b/azure/main.ps1 index 3b42c2a..c07f50b 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -4,7 +4,12 @@ $version = "2018.02.20.01" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | pwsh -Interactive -NoExit -c -; -Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/common.ps1 | Invoke-Expression; +$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" + +Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1 | Invoke-Expression; +# Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; + +Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; # Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index 599eaf8..2b5bb57 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -9,7 +9,12 @@ $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/m Write-Host "GITHUB_URL: $GITHUB_URL" -Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/common.ps1 | Invoke-Expression; +$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" + +Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1 | Invoke-Expression; +# Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; + +Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; # Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; $AKS_OPEN_TO_PUBLIC = "" diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index 906fc29..421e09c 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -4,7 +4,11 @@ Write-Output "--- installnlpkubernetes.ps1 Version 2018.02.20.04 ---" $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" # $GITHUB_URL = "." -Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/common.ps1 | Invoke-Expression; +Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1 | Invoke-Expression; +# Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; + +Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; +# Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; $loggedInUser = az account show --query "user.name" --output tsv $AKS_USE_SSL = "" diff --git a/realtime/installrealtimekubernetes.ps1 b/realtime/installrealtimekubernetes.ps1 index 1a65a4b..5528851 100644 --- a/realtime/installrealtimekubernetes.ps1 +++ b/realtime/installrealtimekubernetes.ps1 @@ -5,7 +5,11 @@ Write-Output "Version 2018.01.17.1" $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" # $GITHUB_URL = "." -Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/common.ps1 | Invoke-Expression; +Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1 | Invoke-Expression; +# Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; + +Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; +# Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; $loggedInUser = az account show --query "user.name" --output tsv From f0c526c3e5154aa6d569e54e513f6dbe850c76e2 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 21 Feb 2018 15:21:18 -0700 Subject: [PATCH 203/473] move Test-CommandExists to common.ps1 Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 10 + azure/setup-loadbalancer.ps1 | 19 +- kubernetes/common-kube.ps1 | 10 - .../loadbalancer/configmaps/config.yaml | 2 + .../ingress/default-internal.yaml | 2 +- kubernetes/loadbalancer/ingress/default.yaml | 2 +- .../loadbalancer/pods/ingress-azure.yaml | 6 +- .../services/dashboard-internal.yaml | 6 +- .../loadbalancer/services/dashboard.ssl.yaml | 4 +- .../loadbalancer/services/dashboard.yaml | 2 +- kubernetes/loadbalancer/traefik-cmdline.txt | 356 ++++++++++++++++++ nlp/ingress/http/solr.yaml | 2 +- nlp/ingress/http/web.onprem.yaml | 2 +- nlp/ingress/http/web.ssl.yaml | 2 +- nlp/ingress/http/web.yaml | 2 +- nlp/installnlpkubernetes.ps1 | 16 +- 16 files changed, 403 insertions(+), 40 deletions(-) create mode 100644 kubernetes/loadbalancer/traefik-cmdline.txt diff --git a/azure/common.ps1 b/azure/common.ps1 index 8cce0bb..5ea46ed 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -443,6 +443,16 @@ function global:GetVnet($subscriptionId) { Return $Return } +function global:Test-CommandExists { + Param ($command) + # from https://blogs.technet.microsoft.com/heyscriptingguy/2013/02/19/use-a-powershell-function-to-see-if-a-command-exists/ + $oldPreference = $ErrorActionPreference + $ErrorActionPreference = 'stop' + try {if (Get-Command $command) {RETURN $true}} + Catch {Write-Host "$command does not exist"; RETURN $false} + Finally {$ErrorActionPreference = $oldPreference} +} #end function test-CommandExists + function global:DownloadAzCliIfNeeded() { # install az cli from https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest $desiredAzClVersion = "2.0.26" diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index 2b5bb57..721b8dc 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -4,13 +4,11 @@ Write-output "Version 2018.02.20.06" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/setup-loadbalancer.ps1 | iex; -$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -#$GITHUB_URL = "C:\Catalyst\git\Installscripts" +# $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" +$GITHUB_URL = "C:\Catalyst\git\Installscripts" Write-Host "GITHUB_URL: $GITHUB_URL" -$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" - Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1 | Invoke-Expression; # Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; @@ -400,6 +398,9 @@ if ($AKS_USE_SSL -eq "y" ) { Write-Host "GITHUB_URL: $GITHUB_URL" +# setting up traefik +# https://github.com/containous/traefik/blob/master/docs/user-guide/kubernetes.md + Write-Host "Deploying configmaps" $folder = "kubernetes/loadbalancer/configmaps" if ($AKS_USE_SSL -eq "y" ) { @@ -435,11 +436,11 @@ foreach ($file in "ingress-azure.internal.yaml".Split(" ")) { ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - } -# Write-Host "Deploying services" -# $folder = "kubernetes/loadbalancer/services" -# foreach ($file in "dashboard.yaml".Split(" ")) { -# ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - -# } +Write-Host "Deploying services" +$folder = "kubernetes/loadbalancer/services" +foreach ($file in "dashboard.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - +} Write-Host "Deploying ingress" $folder = "kubernetes/loadbalancer/ingress" diff --git a/kubernetes/common-kube.ps1 b/kubernetes/common-kube.ps1 index 42b7b73..1be0f10 100644 --- a/kubernetes/common-kube.ps1 +++ b/kubernetes/common-kube.ps1 @@ -6,16 +6,6 @@ function global:GetCommonKubeVersion() { return $versionkubecommon } -function global:Test-CommandExists { - Param ($command) - # from https://blogs.technet.microsoft.com/heyscriptingguy/2013/02/19/use-a-powershell-function-to-see-if-a-command-exists/ - $oldPreference = $ErrorActionPreference - $ErrorActionPreference = 'stop' - try {if (Get-Command $command) {RETURN $true}} - Catch {Write-Host "$command does not exist"; RETURN $false} - Finally {$ErrorActionPreference = $oldPreference} -} #end function test-CommandExists - function global:ReadSecretValue($secretname, $valueName, $namespace) { if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} diff --git a/kubernetes/loadbalancer/configmaps/config.yaml b/kubernetes/loadbalancer/configmaps/config.yaml index 1d82eaf..37bdfde 100644 --- a/kubernetes/loadbalancer/configmaps/config.yaml +++ b/kubernetes/loadbalancer/configmaps/config.yaml @@ -16,4 +16,6 @@ data: [entryPoints] [entryPoints.http] address = ":80" + [kubernetes] + namespaces = ["default","kube-system","fabricnlp"] diff --git a/kubernetes/loadbalancer/ingress/default-internal.yaml b/kubernetes/loadbalancer/ingress/default-internal.yaml index e15ce87..f2bf1a4 100644 --- a/kubernetes/loadbalancer/ingress/default-internal.yaml +++ b/kubernetes/loadbalancer/ingress/default-internal.yaml @@ -14,7 +14,7 @@ spec: - http: paths: - backend: - serviceName: traefik-web-ui + serviceName: traefik-dashboard-internal servicePort: 80 --- diff --git a/kubernetes/loadbalancer/ingress/default.yaml b/kubernetes/loadbalancer/ingress/default.yaml index a15cfb8..e2981c5 100644 --- a/kubernetes/loadbalancer/ingress/default.yaml +++ b/kubernetes/loadbalancer/ingress/default.yaml @@ -14,5 +14,5 @@ spec: - http: paths: - backend: - serviceName: traefik-web-ui + serviceName: traefik-dashboard servicePort: 80 \ No newline at end of file diff --git a/kubernetes/loadbalancer/pods/ingress-azure.yaml b/kubernetes/loadbalancer/pods/ingress-azure.yaml index a88808d..39f3085 100644 --- a/kubernetes/loadbalancer/pods/ingress-azure.yaml +++ b/kubernetes/loadbalancer/pods/ingress-azure.yaml @@ -37,6 +37,10 @@ spec: - --web - --kubernetes - --configfile=/config/traefik.toml - - --logLevel=INFO + - --logLevel=DEBUG + - --kubernetes.namespaces=["default","kube-system","fabricnlp"] - --kubernetes.labelselector=expose=external + - --kubernetes.debugloggeneratedtemplate + - --kubernetes.trace + - --debug --- diff --git a/kubernetes/loadbalancer/services/dashboard-internal.yaml b/kubernetes/loadbalancer/services/dashboard-internal.yaml index eaed46c..c0a04bf 100644 --- a/kubernetes/loadbalancer/services/dashboard-internal.yaml +++ b/kubernetes/loadbalancer/services/dashboard-internal.yaml @@ -3,8 +3,8 @@ kind: Service apiVersion: v1 metadata: labels: - k8s-app: kubernetes-dashboard-internal - name: kubernetes-dashboard-internal + k8s-app: traefik-dashboard-internal + name: traefik-dashboard-internal namespace: kube-system annotations: # from https://radu-matei.com/blog/k8s-appsvc/ @@ -14,5 +14,5 @@ spec: - port: 443 targetPort: 8443 selector: - k8s-app: kubernetes-dashboard + k8s-app: traefik-dashboard type: LoadBalancer diff --git a/kubernetes/loadbalancer/services/dashboard.ssl.yaml b/kubernetes/loadbalancer/services/dashboard.ssl.yaml index c24bbf4..5b70a79 100644 --- a/kubernetes/loadbalancer/services/dashboard.ssl.yaml +++ b/kubernetes/loadbalancer/services/dashboard.ssl.yaml @@ -2,7 +2,7 @@ apiVersion: extensions/v1beta1 kind: Ingress metadata: - name: traefik-web-ui + name: traefik-default-route-ssl namespace: kube-system labels: k8s-traefik: traefik @@ -18,5 +18,5 @@ spec: http: paths: - backend: - serviceName: traefik-web-ui + serviceName: traefik-dashboard servicePort: 80 \ No newline at end of file diff --git a/kubernetes/loadbalancer/services/dashboard.yaml b/kubernetes/loadbalancer/services/dashboard.yaml index 2133c38..cedd587 100644 --- a/kubernetes/loadbalancer/services/dashboard.yaml +++ b/kubernetes/loadbalancer/services/dashboard.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: Service metadata: - name: kubernetes-dashboard + name: traefik-dashboard namespace: kube-system labels: k8s-traefik: traefik diff --git a/kubernetes/loadbalancer/traefik-cmdline.txt b/kubernetes/loadbalancer/traefik-cmdline.txt new file mode 100644 index 0000000..9c5c168 --- /dev/null +++ b/kubernetes/loadbalancer/traefik-cmdline.txt @@ -0,0 +1,356 @@ +traefik is a modern HTTP reverse proxy and load balancer made to deploy microservices with ease. +Complete documentation is available at https://traefik.io + +Usage: traefik [--flag=flag_argument] [-f[flag_argument]] ... set flag_argument to flag(s) + or: traefik [--flag[=true|false| ]] [-f[true|false| ]] ... set true/false to boolean flag(s) + +Available Commands: + bug Report an issue on Traefik bugtracker + healthcheck Calls traefik /ping to check health (web provider must be enabled) + storeconfig Store the static traefik configuration into a Key-value stores. Traefik will not start. + version Print version +Use "traefik [command] --help" for more information about a command. + +Flags: + --accesslog Access log settings (default "false") + --accesslog.filepath Access log file path. Stdout is used when omitted or empty + --accesslog.format Access log format: json | common (default "common") + --accesslogsfile (Deprecated) Access logs file + --acme Enable ACME (Let's Encrypt): automatic SSL (default "false") + --acme.acmelogging Enable debug logging of ACME actions. (default "false") + --acme.caserver CA server to use. + --acme.delaydontcheckdns Assume DNS propagates after a delay in seconds rather than finding and querying (default "0s") + nameservers. + --acme.dnschallenge Activate DNS-01 Challenge (default "false") + --acme.dnschallenge.delaybeforecheck Assume DNS propagates after a delay in seconds rather than finding and querying (default "0s") + nameservers. + --acme.dnschallenge.provider Use a DNS-01 based challenge provider rather than HTTPS. + --acme.dnsprovider Use a DNS-01 acme challenge rather than TLS-SNI-01 challenge. + --acme.domains SANs (alternative domains) to each main domain using format: (default "[]") + --acme.domains='main.com,san1.com,san2.com' + --acme.domains='main.net,san1.net,san2.net' + --acme.email Email address used for registration + --acme.entrypoint Entrypoint to proxy acme challenge to. + --acme.httpchallenge Activate HTTP-01 Challenge (default "false") + --acme.httpchallenge.entrypoint HTTP challenge EntryPoint + --acme.ondemand Enable on demand certificate generation. This will request a certificate from (default "false") + Let's Encrypt during the first TLS handshake for a hostname that does not yet + have a certificate. + --acme.onhostrule Enable certificate generation on frontends Host rules. (default "false") + --acme.storage File or key used for certificates storage. + --acme.tlsconfig TLS config in case wildcard certs are used (default "false") + --api Enable api/dashboard (default "false") + --api.dashboard Activate dashboard (default "true") + --api.entrypoint EntryPoint (default "traefik") + --api.statistics Enable more detailed statistics (default "true") + --api.statistics.recenterrors Number of recent errors logged (default "10") + --boltdb Enable Boltdb backend with default settings (default "true") + --boltdb.constraints Filter services by constraint, matching with Traefik tags. (default "[]") + --boltdb.debugloggeneratedtemplate Enable debug logging of generated configuration template. (default "false") + --boltdb.endpoint Comma separated server endpoints (default "127.0.0.1:4001") + --boltdb.filename Override default configuration template. For advanced users :) + --boltdb.password KV Password + --boltdb.prefix Prefix used for KV store (default "/traefik") + --boltdb.tls Enable TLS support (default "false") + --boltdb.tls.ca TLS CA + --boltdb.tls.caoptional TLS CA.Optional (default "false") + --boltdb.tls.cert TLS cert + --boltdb.tls.insecureskipverify TLS insecure skip verify (default "false") + --boltdb.tls.key TLS key + --boltdb.trace Display additional provider logs (if available). (default "false") + --boltdb.username KV Username + --boltdb.watch Watch provider (default "true") + --checknewversion Periodically check if a new version has been released (default "true") + --cluster Enable clustering (default "true") + --cluster.node Node name +-c, --configfile Configuration file to use (TOML). + --constraints Filter services by constraint, matching with service tags (default "[]") + --consul Enable Consul backend with default settings (default "true") + --consul.constraints Filter services by constraint, matching with Traefik tags. (default "[]") + --consul.debugloggeneratedtemplate Enable debug logging of generated configuration template. (default "false") + --consul.endpoint Comma separated server endpoints (default "127.0.0.1:8500") + --consul.filename Override default configuration template. For advanced users :) + --consul.password KV Password + --consul.prefix Prefix used for KV store (default "traefik") + --consul.tls Enable TLS support (default "false") + --consul.tls.ca TLS CA + --consul.tls.caoptional TLS CA.Optional (default "false") + --consul.tls.cert TLS cert + --consul.tls.insecureskipverify TLS insecure skip verify (default "false") + --consul.tls.key TLS key + --consul.trace Display additional provider logs (if available). (default "false") + --consul.username KV Username + --consul.watch Watch provider (default "true") + --consulcatalog Enable Consul catalog backend with default settings (default "true") + --consulcatalog.constraints Filter services by constraint, matching with Traefik tags. (default "[]") + --consulcatalog.debugloggeneratedtemplate Enable debug logging of generated configuration template. (default "false") + --consulcatalog.domain Default domain used + --consulcatalog.endpoint Consul server endpoint (default "127.0.0.1:8500") + --consulcatalog.exposedbydefault Expose Consul services by default (default "true") + --consulcatalog.filename Override default configuration template. For advanced users :) + --consulcatalog.frontendrule Frontend rule used for Consul services (default "Host:{{.ServiceName}}.{{.Domain}}") + --consulcatalog.prefix Prefix used for Consul catalog tags (default "traefik") + --consulcatalog.trace Display additional provider logs (if available). (default "false") + --consulcatalog.watch Watch provider (default "false") +-d, --debug Enable debug mode (default "false") + --defaultentrypoints Entrypoints to be used by frontends that do not specify any entrypoint (default "http") + --docker Enable Docker backend with default settings (default "false") + --docker.constraints Filter services by constraint, matching with Traefik tags. (default "[]") + --docker.debugloggeneratedtemplate Enable debug logging of generated configuration template. (default "false") + --docker.domain Default domain used + --docker.endpoint Docker server endpoint. Can be a tcp or a unix socket endpoint (default "unix:///var/run/docker.sock") + --docker.exposedbydefault Expose containers by default (default "true") + --docker.filename Override default configuration template. For advanced users :) + --docker.swarmmode Use Docker on Swarm Mode (default "false") + --docker.tls Enable Docker TLS support (default "false") + --docker.tls.ca TLS CA + --docker.tls.caoptional TLS CA.Optional (default "false") + --docker.tls.cert TLS cert + --docker.tls.insecureskipverify TLS insecure skip verify (default "false") + --docker.tls.key TLS key + --docker.trace Display additional provider logs (if available). (default "false") + --docker.usebindportip Use the ip address from the bound port, rather than from the inner network (default "false") + --docker.watch Watch provider (default "true") + --dynamodb Enable DynamoDB backend with default settings (default "true") + --dynamodb.accesskeyid The AWS credentials access key to use for making requests + --dynamodb.constraints Filter services by constraint, matching with Traefik tags. (default "[]") + --dynamodb.debugloggeneratedtemplate Enable debug logging of generated configuration template. (default "false") + --dynamodb.endpoint The endpoint of a dynamodb. Used for testing with a local dynamodb + --dynamodb.filename Override default configuration template. For advanced users :) + --dynamodb.refreshseconds Polling interval (in seconds) (default "15") + --dynamodb.region The AWS region to use for requests + --dynamodb.secretaccesskey The AWS credentials secret key to use for making requests + --dynamodb.tablename The AWS dynamodb table that stores configuration for traefik (default "traefik") + --dynamodb.trace Display additional provider logs (if available). (default "false") + --dynamodb.watch Watch provider (default "true") + --ecs Enable ECS backend with default settings (default "true") + --ecs.accesskeyid The AWS credentials access key to use for making requests + --ecs.autodiscoverclusters Auto discover cluster (default "false") + --ecs.cluster deprecated - ECS Cluster name + --ecs.clusters ECS Clusters name (default "[default]") + --ecs.constraints Filter services by constraint, matching with Traefik tags. (default "[]") + --ecs.debugloggeneratedtemplate Enable debug logging of generated configuration template. (default "false") + --ecs.domain Default domain used + --ecs.exposedbydefault Expose containers by default (default "true") + --ecs.filename Override default configuration template. For advanced users :) + --ecs.refreshseconds Polling interval (in seconds) (default "15") + --ecs.region The AWS region to use for requests + --ecs.secretaccesskey The AWS credentials access key to use for making requests + --ecs.trace Display additional provider logs (if available). (default "false") + --ecs.watch Watch provider (default "true") + --entrypoints Entrypoints definition using format: --entryPoints='Name:http Address::8000 (default "map[]") + Redirect.EntryPoint:https' --entryPoints='Name:https Address::4442 + TLS:tests/traefik.crt,tests/traefik.key;prod/traefik.crt,prod/traefik.key' + --etcd Enable Etcd backend with default settings (default "true") + --etcd.constraints Filter services by constraint, matching with Traefik tags. (default "[]") + --etcd.debugloggeneratedtemplate Enable debug logging of generated configuration template. (default "false") + --etcd.endpoint Comma separated server endpoints (default "127.0.0.1:2379") + --etcd.filename Override default configuration template. For advanced users :) + --etcd.password KV Password + --etcd.prefix Prefix used for KV store (default "/traefik") + --etcd.tls Enable TLS support (default "false") + --etcd.tls.ca TLS CA + --etcd.tls.caoptional TLS CA.Optional (default "false") + --etcd.tls.cert TLS cert + --etcd.tls.insecureskipverify TLS insecure skip verify (default "false") + --etcd.tls.key TLS key + --etcd.trace Display additional provider logs (if available). (default "false") + --etcd.useapiv3 Use ETCD API V3 (default "false") + --etcd.username KV Username + --etcd.watch Watch provider (default "true") + --eureka Enable Eureka backend with default settings (default "true") + --eureka.constraints Filter services by constraint, matching with Traefik tags. (default "[]") + --eureka.debugloggeneratedtemplate Enable debug logging of generated configuration template. (default "false") + --eureka.delay Override default configuration time between refresh (default "30s") + --eureka.endpoint Eureka server endpoint + --eureka.filename Override default configuration template. For advanced users :) + --eureka.trace Display additional provider logs (if available). (default "false") + --eureka.watch Watch provider (default "false") + --file Enable File backend with default settings (default "false") + --file.constraints Filter services by constraint, matching with Traefik tags. (default "[]") + --file.debugloggeneratedtemplate Enable debug logging of generated configuration template. (default "false") + --file.directory Load configuration from one or more .toml files in a directory + --file.filename Override default configuration template. For advanced users :) + --file.trace Display additional provider logs (if available). (default "false") + --file.watch Watch provider (default "true") + --forwardingtimeouts Timeouts for requests forwarded to the backend servers (default "true") + --forwardingtimeouts.dialtimeout The amount of time to wait until a connection to a backend server can be (default "30s") + established. Defaults to 30 seconds. If zero, no timeout exists + --forwardingtimeouts.responseheadertimeout The amount of time to wait for a server's response headers after fully writing (default "0s") + the request (including its body, if any). If zero, no timeout exists +-g, --gracetimeout (Deprecated) Duration to give active requests a chance to finish before Traefik (default "0s") + stops + --healthcheck Health check parameters (default "true") + --healthcheck.interval Default periodicity of enabled health checks (default "30s") + --idletimeout (Deprecated) maximum amount of time an idle (keep-alive) connection will remain (default "0s") + idle before closing itself. + --insecureskipverify Disable SSL certificate verification (default "false") + --kubernetes Enable Kubernetes backend with default settings (default "false") + --kubernetes.certauthfilepath Kubernetes certificate authority file path (not needed for in-cluster client) + --kubernetes.constraints Filter services by constraint, matching with Traefik tags. (default "[]") + --kubernetes.debugloggeneratedtemplate Enable debug logging of generated configuration template. (default "false") + --kubernetes.disablepasshostheaders Kubernetes disable PassHost Headers (default "false") + --kubernetes.enablepasstlscert Kubernetes enable Pass TLS Client Certs (default "false") + --kubernetes.endpoint Kubernetes server endpoint (required for external cluster client) + --kubernetes.filename Override default configuration template. For advanced users :) + --kubernetes.labelselector Kubernetes api label selector to use + --kubernetes.namespaces Kubernetes namespaces (default "[]") + --kubernetes.token Kubernetes bearer token (not needed for in-cluster client) + --kubernetes.trace Display additional provider logs (if available). (default "false") + --kubernetes.watch Watch provider (default "true") + --lifecycle Timeouts influencing the server life cycle (default "true") + --lifecycle.gracetimeout Duration to give active requests a chance to finish before Traefik stops (default "10s") + --lifecycle.requestacceptgracetimeout Duration to keep accepting requests before Traefik initiates the graceful (default "0s") + shutdown procedure +-l, --loglevel Log level (default "ERROR") + --marathon Enable Marathon backend with default settings (default "true") + --marathon.basic Enable basic authentication (default "true") + --marathon.basic.httpbasicauthuser Basic authentication User + --marathon.basic.httpbasicpassword Basic authentication Password + --marathon.constraints Filter services by constraint, matching with Traefik tags. (default "[]") + --marathon.dcostoken DCOSToken for DCOS environment, This will override the Authorization header + --marathon.debugloggeneratedtemplate Enable debug logging of generated configuration template. (default "false") + --marathon.dialertimeout Set a non-default connection timeout for Marathon (default "1m0s") + --marathon.domain Default domain used + --marathon.endpoint Marathon server endpoint. You can also specify multiple endpoint for Marathon (default "http://127.0.0.1:8080") + --marathon.exposedbydefault Expose Marathon apps by default (default "true") + --marathon.filename Override default configuration template. For advanced users :) + --marathon.filtermarathonconstraints Enable use of Marathon constraints in constraint filtering (default "false") + --marathon.forcetaskhostname Force to use the task's hostname. (default "false") + --marathon.groupsassubdomains Convert Marathon groups to subdomains (default "false") + --marathon.keepalive Set a non-default TCP Keep Alive time in seconds (default "10s") + --marathon.marathonlbcompatibility Add compatibility with marathon-lb labels (default "false") + --marathon.respectreadinesschecks Filter out tasks with non-successful readiness checks during deployments (default "false") + --marathon.tls Enable TLS support (default "false") + --marathon.tls.ca TLS CA + --marathon.tls.caoptional TLS CA.Optional (default "false") + --marathon.tls.cert TLS cert + --marathon.tls.insecureskipverify TLS insecure skip verify (default "false") + --marathon.tls.key TLS key + --marathon.trace Display additional provider logs (if available). (default "false") + --marathon.watch Watch provider (default "true") + --maxidleconnsperhost If non-zero, controls the maximum idle (keep-alive) to keep per-host. If zero, (default "200") + DefaultMaxIdleConnsPerHost is used + --mesos Enable Mesos backend with default settings (default "true") + --mesos.constraints Filter services by constraint, matching with Traefik tags. (default "[]") + --mesos.debugloggeneratedtemplate Enable debug logging of generated configuration template. (default "false") + --mesos.domain Default domain used + --mesos.endpoint Mesos server endpoint. You can also specify multiple endpoint for Mesos (default "http://127.0.0.1:5050") + --mesos.exposedbydefault Expose Mesos apps by default (default "true") + --mesos.filename Override default configuration template. For advanced users :) + --mesos.groupsassubdomains Convert Mesos groups to subdomains (default "false") + --mesos.ipsources IPSources (e.g. host, docker, mesos, rkt) + --mesos.refreshseconds Polling interval (in seconds) (default "30") + --mesos.statetimeoutsecond HTTP Timeout (in seconds) (default "30") + --mesos.trace Display additional provider logs (if available). (default "false") + --mesos.watch Watch provider (default "true") + --mesos.zkdetectiontimeout Zookeeper timeout (in seconds) (default "30") + --metrics Enable a metrics exporter (default "true") + --metrics.datadog DataDog metrics exporter type (default "true") + --metrics.datadog.address DataDog's address (default "localhost:8125") + --metrics.datadog.pushinterval DataDog push interval (default "10s") + --metrics.influxdb InfluxDB metrics exporter type (default "true") + --metrics.influxdb.address InfluxDB address (default "localhost:8089") + --metrics.influxdb.pushinterval InfluxDB push interval (default "10s") + --metrics.prometheus Prometheus metrics exporter type (default "true") + --metrics.prometheus.buckets Buckets for latency metrics (default "[0.1 0.3 1.2 5]") + --metrics.prometheus.entrypoint EntryPoint (default "traefik") + --metrics.statsd StatsD metrics exporter type (default "true") + --metrics.statsd.address StatsD address (default "localhost:8125") + --metrics.statsd.pushinterval StatsD push interval (default "10s") + --ping Enable ping (default "true") + --ping.entrypoint Ping entryPoint (default "traefik") + --providersthrottleduration Backends throttle duration: minimum duration between 2 events from providers (default "2s") + before applying a new configuration. It avoids unnecessary reloads if multiples + events are sent in a short amount of time. + --rancher Enable Rancher backend with default settings (default "true") + --rancher.accesskey Rancher server API access key + --rancher.api Enable the Rancher API provider (default "true") + --rancher.api.accesskey Rancher server API access key + --rancher.api.endpoint Rancher server API HTTP(S) endpoint + --rancher.api.secretkey Rancher server API secret key + --rancher.constraints Filter services by constraint, matching with Traefik tags. (default "[]") + --rancher.debugloggeneratedtemplate Enable debug logging of generated configuration template. (default "false") + --rancher.domain Default domain used + --rancher.enableservicehealthfilter Filter services with unhealthy states and inactive states (default "false") + --rancher.endpoint Rancher server API HTTP(S) endpoint + --rancher.exposedbydefault Expose services by default (default "true") + --rancher.filename Override default configuration template. For advanced users :) + --rancher.metadata Enable the Rancher metadata service provider (default "true") + --rancher.metadata.intervalpoll Poll the Rancher metadata service every 'rancher.refreshseconds' (less accurate) (default "false") + --rancher.metadata.prefix Prefix used for accessing the Rancher metadata service + --rancher.refreshseconds Polling interval (in seconds) (default "15") + --rancher.secretkey Rancher server API secret key + --rancher.trace Display additional provider logs (if available). (default "false") + --rancher.watch Watch provider (default "true") + --respondingtimeouts Timeouts for incoming requests to the Traefik instance (default "true") + --respondingtimeouts.idletimeout IdleTimeout is the maximum amount duration an idle (keep-alive) connection will (default "3m0s") + remain idle before closing itself. Defaults to 180 seconds. If zero, no timeout + is set + --respondingtimeouts.readtimeout ReadTimeout is the maximum duration for reading the entire request, including (default "0s") + the body. If zero, no timeout is set + --respondingtimeouts.writetimeout WriteTimeout is the maximum duration before timing out writes of the response. (default "0s") + If zero, no timeout is set + --rest Enable Rest backend with default settings (default "true") + --rest.entrypoint EntryPoint (default "traefik") + --retry Enable retry sending request if network error (default "true") + --retry.attempts Number of attempts (default "0") + --rootcas Add cert file for self-signed certificate + --sendanonymoususage send periodically anonymous usage statistics (default "false") + --servicefabric Enable Service Fabric backend with default settings (default "false") + --servicefabric.apiversion Service Fabric API version + --servicefabric.clustermanagementurl Service Fabric API endpoint + --servicefabric.constraints Filter services by constraint, matching with Traefik tags. (default "[]") + --servicefabric.debugloggeneratedtemplate Enable debug logging of generated configuration template. (default "false") + --servicefabric.filename Override default configuration template. For advanced users :) + --servicefabric.refreshseconds Polling interval (in seconds) (default "0") + --servicefabric.tls Enable TLS support (default "false") + --servicefabric.tls.ca TLS CA + --servicefabric.tls.caoptional TLS CA.Optional (default "false") + --servicefabric.tls.cert TLS cert + --servicefabric.tls.insecureskipverify TLS insecure skip verify (default "false") + --servicefabric.tls.key TLS key + --servicefabric.trace Display additional provider logs (if available). (default "false") + --servicefabric.watch Watch provider (default "false") + --traefiklog Traefik log settings (default "false") + --traefiklog.filepath Traefik log file path. Stdout is used when omitted or empty + --traefiklog.format Traefik log format: json | common (default "common") + --traefiklogsfile (Deprecated) Traefik logs file. Stdout is used when omitted or empty + --web (Deprecated) Enable Web backend with default settings (default "false") + --web.address Web administration port (default ":8080") + --web.certfile SSL certificate + --web.keyfile SSL certificate + --web.metrics Enable a metrics exporter (default "false") + --web.metrics.datadog DataDog metrics exporter type (default "false") + --web.metrics.datadog.address DataDog's address (default "localhost:8125") + --web.metrics.datadog.pushinterval DataDog push interval (default "10s") + --web.metrics.influxdb InfluxDB metrics exporter type (default "false") + --web.metrics.influxdb.address InfluxDB address (default "localhost:8089") + --web.metrics.influxdb.pushinterval InfluxDB push interval (default "10s") + --web.metrics.prometheus Prometheus metrics exporter type (default "false") + --web.metrics.prometheus.buckets Buckets for latency metrics (default "[0.1 0.3 1.2 5]") + --web.metrics.prometheus.entrypoint EntryPoint (default "traefik") + --web.metrics.statsd StatsD metrics exporter type (default "false") + --web.metrics.statsd.address StatsD address (default "localhost:8125") + --web.metrics.statsd.pushinterval StatsD push interval (default "10s") + --web.path Root path for dashboard and API + --web.readonly Enable read only API (default "false") + --web.statistics Enable more detailed statistics (default "false") + --web.statistics.recenterrors Number of recent errors logged (default "10") + --zookeeper Enable Zookeeper backend with default settings (default "false") + --zookeeper.constraints Filter services by constraint, matching with Traefik tags. (default "[]") + --zookeeper.debugloggeneratedtemplate Enable debug logging of generated configuration template. (default "false") + --zookeeper.endpoint Comma separated server endpoints (default "127.0.0.1:2181") + --zookeeper.filename Override default configuration template. For advanced users :) + --zookeeper.password KV Password + --zookeeper.prefix Prefix used for KV store (default "traefik") + --zookeeper.tls Enable TLS support (default "false") + --zookeeper.tls.ca TLS CA + --zookeeper.tls.caoptional TLS CA.Optional (default "false") + --zookeeper.tls.cert TLS cert + --zookeeper.tls.insecureskipverify TLS insecure skip verify (default "false") + --zookeeper.tls.key TLS key + --zookeeper.trace Display additional provider logs (if available). (default "false") + --zookeeper.username KV Username + --zookeeper.watch Watch provider (default "true") +-h, --help Print Help (this message) and exit diff --git a/nlp/ingress/http/solr.yaml b/nlp/ingress/http/solr.yaml index 9d45c2f..09bc9cf 100644 --- a/nlp/ingress/http/solr.yaml +++ b/nlp/ingress/http/solr.yaml @@ -4,7 +4,7 @@ metadata: name: nlp-ingress-internal namespace: fabricnlp labels: - traffic-type: internal + expose: internal annotations: kubernetes.io/ingress.class: traefik spec: diff --git a/nlp/ingress/http/web.onprem.yaml b/nlp/ingress/http/web.onprem.yaml index 3c8b694..43ec5ac 100644 --- a/nlp/ingress/http/web.onprem.yaml +++ b/nlp/ingress/http/web.onprem.yaml @@ -4,7 +4,7 @@ metadata: name: nlp-ingress namespace: fabricnlp labels: - traffic-type: external + expose: external annotations: kubernetes.io/ingress.class: traefik spec: diff --git a/nlp/ingress/http/web.ssl.yaml b/nlp/ingress/http/web.ssl.yaml index 58840a8..5463f0e 100644 --- a/nlp/ingress/http/web.ssl.yaml +++ b/nlp/ingress/http/web.ssl.yaml @@ -4,7 +4,7 @@ metadata: name: nlp-ingress namespace: fabricnlp labels: - traffic-type: external + expose: external annotations: kubernetes.io/ingress.class: traefik spec: diff --git a/nlp/ingress/http/web.yaml b/nlp/ingress/http/web.yaml index 2f51743..979da62 100644 --- a/nlp/ingress/http/web.yaml +++ b/nlp/ingress/http/web.yaml @@ -4,7 +4,7 @@ metadata: name: nlp-ingress namespace: fabricnlp labels: - traffic-type: external + expose: external annotations: kubernetes.io/ingress.class: traefik spec: diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index 421e09c..7283101 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -1,8 +1,8 @@ Write-Output "--- installnlpkubernetes.ps1 Version 2018.02.20.04 ---" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | iex; -$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -# $GITHUB_URL = "." +# $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" +$GITHUB_URL = "C:\Catalyst\git\Installscripts" Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1 | Invoke-Expression; # Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; @@ -104,11 +104,11 @@ AskForPasswordAnyCharacters -secretname "smtprelaypassword" -prompt "SMTP (SendG CleanOutNamespace -namespace $namespace -Write-Host "Deploying roles" -$folder = "kubernetes/loadbalancer/roles" -foreach ($file in "ingress-roles.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - -} +# Write-Host "Deploying roles" +# $folder = "kubernetes/loadbalancer/roles" +# foreach ($file in "ingress-roles.yaml".Split(" ")) { +# ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - +# } Write-Host "-- Deploying volumes --" $folder="volumes" @@ -148,7 +148,7 @@ foreach ($file in "web.yaml solr.yaml".Split(" ")) { Write-Host "-- Deploying TCP proxies --" $folder="ingress/tcp" -foreach ($file in "mysqlserver.yaml".Split(" ")) { +foreach ($file in "mysqlserver.internal.yaml".Split(" ")) { ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/${folder}/${file}" -customerid $customerid | kubectl apply -f - } From aa75e6671a3b01d48769aebfbe30f9bf3ec2b621 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 21 Feb 2018 15:23:33 -0700 Subject: [PATCH 204/473] move AddFolderToPathEnvironmentVariable to common.ps1 Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 33 +++++++++++++++++++++++++++++++++ kubernetes/common-kube.ps1 | 33 --------------------------------- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index 5ea46ed..bdbfbf1 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -453,6 +453,39 @@ function global:Test-CommandExists { Finally {$ErrorActionPreference = $oldPreference} } #end function test-CommandExists +function global:Get-ProcessByPort( [ValidateNotNullOrEmpty()] [int] $Port ) { + $netstat = netstat.exe -ano | Select-Object -Skip 4 + $p_line = $netstat | Where-Object { $p = ( -split $_ | Select-Object -Index 1) -split ':' | Select-Object -Last 1; $p -eq $Port } | Select-Object -First 1 + if (!$p_line) { return; } + $p_id = $p_line -split '\s+' | Select-Object -Last 1 + return $p_id; +} + +function global:AddFolderToPathEnvironmentVariable($folder) { + # add the c:\kubernetes folder to system PATH + Write-Output "Checking if $folder is in PATH" + $pathItems = ($env:path).split(";") + if ( $pathItems -notcontains "$folder") { + Write-Output "Adding $folder to system path" + $oldpath = (Get-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" -Name PATH).path + # see if the registry value is wrong too + if ( ($oldpath).split(";") -notcontains "$folder") { + $newpath = "$oldpath;$folder" + Read-Host "Script needs elevated privileges to set PATH. Hit ENTER to launch script to set PATH" + Start-Process powershell -verb RunAs -ArgumentList "Set-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment' -Name PATH -Value '$newPath'; Read-Host 'Press ENTER'" + Write-Output "New PATH:" + $newpath = (Get-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" -Name PATH).path + Write-Output "$newpath".split(";") + } + # for current session set the PATH too. the above only takes effect if powershell is reopened + $ENV:PATH = "$ENV:PATH;$folder" + Write-Output "Set path for current powershell session" + Write-Output ($env:path).split(";") + } + else { + Write-Output "$folder is already in PATH" + } +} function global:DownloadAzCliIfNeeded() { # install az cli from https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest $desiredAzClVersion = "2.0.26" diff --git a/kubernetes/common-kube.ps1 b/kubernetes/common-kube.ps1 index 1be0f10..470506b 100644 --- a/kubernetes/common-kube.ps1 +++ b/kubernetes/common-kube.ps1 @@ -147,39 +147,6 @@ function global:Stop-ProcessByPort( [ValidateNotNullOrEmpty()] [int] $Port ) { Start-Process powershell -verb RunAs -ArgumentList "Stop-Process $p_id -Force" } -function global:Get-ProcessByPort( [ValidateNotNullOrEmpty()] [int] $Port ) { - $netstat = netstat.exe -ano | Select-Object -Skip 4 - $p_line = $netstat | Where-Object { $p = ( -split $_ | Select-Object -Index 1) -split ':' | Select-Object -Last 1; $p -eq $Port } | Select-Object -First 1 - if (!$p_line) { return; } - $p_id = $p_line -split '\s+' | Select-Object -Last 1 - return $p_id; -} - -function global:AddFolderToPathEnvironmentVariable($folder) { - # add the c:\kubernetes folder to system PATH - Write-Output "Checking if $folder is in PATH" - $pathItems = ($env:path).split(";") - if ( $pathItems -notcontains "$folder") { - Write-Output "Adding $folder to system path" - $oldpath = (Get-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" -Name PATH).path - # see if the registry value is wrong too - if ( ($oldpath).split(";") -notcontains "$folder") { - $newpath = "$oldpath;$folder" - Read-Host "Script needs elevated privileges to set PATH. Hit ENTER to launch script to set PATH" - Start-Process powershell -verb RunAs -ArgumentList "Set-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment' -Name PATH -Value '$newPath'; Read-Host 'Press ENTER'" - Write-Output "New PATH:" - $newpath = (Get-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" -Name PATH).path - Write-Output "$newpath".split(";") - } - # for current session set the PATH too. the above only takes effect if powershell is reopened - $ENV:PATH = "$ENV:PATH;$folder" - Write-Output "Set path for current powershell session" - Write-Output ($env:path).split(";") - } - else { - Write-Output "$folder is already in PATH" - } -} function global:DownloadKubectl($localFolder) { # download kubectl From ab31653ebd9876f04e1e1b8444b1d7b372f71ca3 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 21 Feb 2018 16:48:02 -0700 Subject: [PATCH 205/473] get multiple ingress controllers working Signed-off-by: HQCATALYST\imran.qureshi --- azure/setup-loadbalancer.ps1 | 239 +++++++++--------- .../loadbalancer/configmaps/config.yaml | 3 +- .../{services => ingress}/dashboard.ssl.yaml | 0 .../loadbalancer/ingress/dashboard.yaml | 19 ++ .../pods/ingress-azure.internal.yaml | 8 +- .../loadbalancer/pods/ingress-azure.yaml | 2 +- .../services/dashboard-internal.yaml | 19 +- nlp/installnlpkubernetes.ps1 | 6 - 8 files changed, 155 insertions(+), 141 deletions(-) rename kubernetes/loadbalancer/{services => ingress}/dashboard.ssl.yaml (100%) create mode 100644 kubernetes/loadbalancer/ingress/dashboard.yaml diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index 721b8dc..f58bf41 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -18,6 +18,7 @@ Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; $AKS_OPEN_TO_PUBLIC = "" $AKS_USE_SSL = "" $AKS_IP_WHITELIST = "" +$SetupNSG = $true $loggedInUser = az account show --query "user.name" --output tsv @@ -165,141 +166,143 @@ else { Write-Output "Network Security Group already exists: $AKS_PERS_NETWORK_SECURITY_GROUP" } -Write-Output "Adding or updating rules to Network Security Group for the subnet" -$sourceTagForAdminAccess = "VirtualNetwork" -if ($AKS_ALLOW_ADMIN_ACCESS_OUTSIDE_VNET -eq "y") { - $sourceTagForAdminAccess = "Internet" - Write-Output "Enabling admin access to cluster from Internet" -} +if ($SetupNSG) { + Write-Output "Adding or updating rules to Network Security Group for the subnet" + $sourceTagForAdminAccess = "VirtualNetwork" + if ($AKS_ALLOW_ADMIN_ACCESS_OUTSIDE_VNET -eq "y") { + $sourceTagForAdminAccess = "Internet" + Write-Output "Enabling admin access to cluster from Internet" + } -$sourceTagForHttpAccess = "Internet" -if (![string]::IsNullOrWhiteSpace($AKS_IP_WHITELIST)) { - $sourceTagForHttpAccess = $AKS_IP_WHITELIST -} + $sourceTagForHttpAccess = "Internet" + if (![string]::IsNullOrWhiteSpace($AKS_IP_WHITELIST)) { + $sourceTagForHttpAccess = $AKS_IP_WHITELIST + } -if (![string]::IsNullOrWhiteSpace($(az network nsg rule show --name "HttpPort" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { - Write-Output "Deleting HttpPort rule so we can create it later" - az network nsg rule delete -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpPort -} + if (![string]::IsNullOrWhiteSpace($(az network nsg rule show --name "HttpPort" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { + Write-Output "Deleting HttpPort rule so we can create it later" + az network nsg rule delete -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpPort + } -if (![string]::IsNullOrWhiteSpace($(az network nsg rule show --name "HttpsPort" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { - Write-Output "Deleting HttpsPort rule so we can create it later" - az network nsg rule delete -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpsPort -} + if (![string]::IsNullOrWhiteSpace($(az network nsg rule show --name "HttpsPort" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { + Write-Output "Deleting HttpsPort rule so we can create it later" + az network nsg rule delete -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpsPort + } -if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "allow_kube_tls" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { - Write-Output "Creating rule: allow_kube_tls" - az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_kube_tls --priority 100 ` - --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` - --protocol Tcp --description "allow kubectl and HTTPS access from ${sourceTagForAdminAccess}." ` - --query "provisioningState" -o tsv -} -else { - Write-Output "Updating rule: allow_kube_tls" - - az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_kube_tls --priority 100 ` - --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` - --protocol Tcp --description "allow kubectl access and HTTPS from ${sourceTagForAdminAccess}." ` - --query "provisioningState" -o tsv -} -if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "allow_http" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { - Write-Output "Creating rule: allow_http" - az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_http --priority 101 ` - --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges 80 --access Allow ` - --protocol Tcp --description "allow HTTP access from ${sourceTagForAdminAccess}." ` - --query "provisioningState" -o tsv -} -else { - Write-Output "Updating rule: allow_http" - az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_http --priority 101 ` - --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges 80 --access Allow ` - --protocol Tcp --description "allow HTTP access from ${sourceTagForAdminAccess}." ` - --query "provisioningState" -o tsv -} - -if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "allow_ssh" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { - Write-Output "Creating rule: allow_ssh" - az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_ssh --priority 104 ` - --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges 22 --access Allow ` - --protocol Tcp --description "allow ssh access from ${sourceTagForAdminAccess}." ` - --query "provisioningState" -o tsv -} -else { - Write-Output "Updating rule: allow_ssh" - az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_ssh --priority 104 ` - --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges 22 --access Allow ` - --protocol Tcp --description "allow ssh access from ${sourceTagForAdminAccess}." ` - --query "provisioningState" -o tsv -} - -if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "mysql" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { - Write-Output "Creating rule: mysql" - az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n mysql --priority 205 ` - --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges 3306 --access Allow ` - --protocol Tcp --description "allow mysql access from ${sourceTagForAdminAccess}." ` - --query "provisioningState" -o tsv -} -else { - Write-Output "Updating rule: mysql" - az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n mysql --priority 205 ` - --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges 3306 --access Allow ` - --protocol Tcp --description "allow mysql access from ${sourceTagForAdminAccess}." ` - --query "provisioningState" -o tsv -} + if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "allow_kube_tls" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { + Write-Output "Creating rule: allow_kube_tls" + az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_kube_tls --priority 100 ` + --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` + --protocol Tcp --description "allow kubectl and HTTPS access from ${sourceTagForAdminAccess}." ` + --query "provisioningState" -o tsv + } + else { + Write-Output "Updating rule: allow_kube_tls" -# if we already have opened the ports for admin access then we're not allowed to add another rule for opening them -if (($sourceTagForHttpAccess -eq "Internet") -and ($sourceTagForAdminAccess -eq "Internet")) { - Write-Output "Since we already have rules open port 80 and 443 to the Internet, we do not need to create separate ones for the Internet" -} -else { - if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "HttpPort" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { - Write-Output "Creating rule: HttpPort" - az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpPort --priority 500 ` - --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` + az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_kube_tls --priority 100 ` + --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` + --protocol Tcp --description "allow kubectl access and HTTPS from ${sourceTagForAdminAccess}." ` + --query "provisioningState" -o tsv + } + if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "allow_http" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { + Write-Output "Creating rule: allow_http" + az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_http --priority 101 ` + --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 80 --access Allow ` - --protocol Tcp --description "allow HTTP access from $sourceTagForHttpAccess." ` + --protocol Tcp --description "allow HTTP access from ${sourceTagForAdminAccess}." ` --query "provisioningState" -o tsv } else { - Write-Output "Updating rule: HttpPort" - az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpPort --priority 500 ` - --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` + Write-Output "Updating rule: allow_http" + az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_http --priority 101 ` + --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 80 --access Allow ` - --protocol Tcp --description "allow HTTP access from $sourceTagForHttpAccess." ` + --protocol Tcp --description "allow HTTP access from ${sourceTagForAdminAccess}." ` --query "provisioningState" -o tsv } - if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "HttpsPort" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { - Write-Output "Creating rule: HttpsPort" - az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpsPort --priority 501 ` - --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` - --protocol Tcp --description "allow HTTPS access from $sourceTagForHttpAccess." ` + if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "allow_ssh" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { + Write-Output "Creating rule: allow_ssh" + az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_ssh --priority 104 ` + --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges 22 --access Allow ` + --protocol Tcp --description "allow ssh access from ${sourceTagForAdminAccess}." ` --query "provisioningState" -o tsv } else { - Write-Output "Updating rule: HttpsPort" - az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpsPort --priority 501 ` - --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` - --protocol Tcp --description "allow HTTPS access from $sourceTagForHttpAccess." ` + Write-Output "Updating rule: allow_ssh" + az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_ssh --priority 104 ` + --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges 22 --access Allow ` + --protocol Tcp --description "allow ssh access from ${sourceTagForAdminAccess}." ` --query "provisioningState" -o tsv - } -} + } + + if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "mysql" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { + Write-Output "Creating rule: mysql" + az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n mysql --priority 205 ` + --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges 3306 --access Allow ` + --protocol Tcp --description "allow mysql access from ${sourceTagForAdminAccess}." ` + --query "provisioningState" -o tsv + } + else { + Write-Output "Updating rule: mysql" + az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n mysql --priority 205 ` + --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges 3306 --access Allow ` + --protocol Tcp --description "allow mysql access from ${sourceTagForAdminAccess}." ` + --query "provisioningState" -o tsv + } + + # if we already have opened the ports for admin access then we're not allowed to add another rule for opening them + if (($sourceTagForHttpAccess -eq "Internet") -and ($sourceTagForAdminAccess -eq "Internet")) { + Write-Output "Since we already have rules open port 80 and 443 to the Internet, we do not need to create separate ones for the Internet" + } + else { + if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "HttpPort" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { + Write-Output "Creating rule: HttpPort" + az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpPort --priority 500 ` + --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges 80 --access Allow ` + --protocol Tcp --description "allow HTTP access from $sourceTagForHttpAccess." ` + --query "provisioningState" -o tsv + } + else { + Write-Output "Updating rule: HttpPort" + az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpPort --priority 500 ` + --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges 80 --access Allow ` + --protocol Tcp --description "allow HTTP access from $sourceTagForHttpAccess." ` + --query "provisioningState" -o tsv + } + + if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "HttpsPort" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { + Write-Output "Creating rule: HttpsPort" + az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpsPort --priority 501 ` + --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` + --protocol Tcp --description "allow HTTPS access from $sourceTagForHttpAccess." ` + --query "provisioningState" -o tsv + } + else { + Write-Output "Updating rule: HttpsPort" + az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpsPort --priority 501 ` + --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` + --protocol Tcp --description "allow HTTPS access from $sourceTagForHttpAccess." ` + --query "provisioningState" -o tsv + } + } -$nsgid = az network nsg list --resource-group ${AKS_PERS_RESOURCE_GROUP} --query "[?name == '${AKS_PERS_NETWORK_SECURITY_GROUP}'].id" -o tsv -Write-Output "Found ID for ${AKS_PERS_NETWORK_SECURITY_GROUP}: $nsgid" + $nsgid = az network nsg list --resource-group ${AKS_PERS_RESOURCE_GROUP} --query "[?name == '${AKS_PERS_NETWORK_SECURITY_GROUP}'].id" -o tsv + Write-Output "Found ID for ${AKS_PERS_NETWORK_SECURITY_GROUP}: $nsgid" -Write-Output "Setting NSG into subnet" -az network vnet subnet update -n "${AKS_SUBNET_NAME}" -g "${AKS_SUBNET_RESOURCE_GROUP}" --vnet-name "${AKS_VNET_NAME}" --network-security-group "$nsgid" --query "provisioningState" -o tsv + Write-Output "Setting NSG into subnet" + az network vnet subnet update -n "${AKS_SUBNET_NAME}" -g "${AKS_SUBNET_RESOURCE_GROUP}" --vnet-name "${AKS_VNET_NAME}" --network-security-group "$nsgid" --query "provisioningState" -o tsv +} # set up WAF if requested if ($AKS_USE_WAF -eq "n") { @@ -438,13 +441,13 @@ foreach ($file in "ingress-azure.internal.yaml".Split(" ")) { Write-Host "Deploying services" $folder = "kubernetes/loadbalancer/services" -foreach ($file in "dashboard.yaml".Split(" ")) { +foreach ($file in "dashboard.yaml dashboard-internal.yaml".Split(" ")) { ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - } Write-Host "Deploying ingress" $folder = "kubernetes/loadbalancer/ingress" -foreach ($file in "default.yaml default-internal.yaml".Split(" ")) { +foreach ($file in "default.yaml default-internal.yaml dashboard.yaml".Split(" ")) { ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - } diff --git a/kubernetes/loadbalancer/configmaps/config.yaml b/kubernetes/loadbalancer/configmaps/config.yaml index 37bdfde..e95544e 100644 --- a/kubernetes/loadbalancer/configmaps/config.yaml +++ b/kubernetes/loadbalancer/configmaps/config.yaml @@ -16,6 +16,5 @@ data: [entryPoints] [entryPoints.http] address = ":80" - [kubernetes] - namespaces = ["default","kube-system","fabricnlp"] + diff --git a/kubernetes/loadbalancer/services/dashboard.ssl.yaml b/kubernetes/loadbalancer/ingress/dashboard.ssl.yaml similarity index 100% rename from kubernetes/loadbalancer/services/dashboard.ssl.yaml rename to kubernetes/loadbalancer/ingress/dashboard.ssl.yaml diff --git a/kubernetes/loadbalancer/ingress/dashboard.yaml b/kubernetes/loadbalancer/ingress/dashboard.yaml new file mode 100644 index 0000000..f9beb17 --- /dev/null +++ b/kubernetes/loadbalancer/ingress/dashboard.yaml @@ -0,0 +1,19 @@ +# ingress for the Traefik admin ui +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: traefik-default-route-ssl + namespace: kube-system + labels: + k8s-traefik: traefik + expose: external + annotations: + kubernetes.io/ingress.class: traefik +spec: + rules: + - host: dashboard.CUSTOMERID.healthcatalyst.net + http: + paths: + - backend: + serviceName: traefik-dashboard + servicePort: 80 \ No newline at end of file diff --git a/kubernetes/loadbalancer/pods/ingress-azure.internal.yaml b/kubernetes/loadbalancer/pods/ingress-azure.internal.yaml index 2dce56e..ac3e072 100644 --- a/kubernetes/loadbalancer/pods/ingress-azure.internal.yaml +++ b/kubernetes/loadbalancer/pods/ingress-azure.internal.yaml @@ -37,8 +37,12 @@ spec: - --web - --kubernetes - --configfile=/config/traefik.toml - - --logLevel=INFO - - --kubernetes.labelselector=expose=internal + - --logLevel=DEBUG + - --kubernetes.labelselector=expose=internal + # - --kubernetes.namespaces=["default","kube-system","fabricnlp"] + - --kubernetes.debugloggeneratedtemplate + - --kubernetes.trace + - --debug # https://github.com/kubernetes/ingress-nginx/blob/master/README.md#running-multiple-ingress-controllers # https://docs.traefik.io/user-guide/kubernetes/ --- diff --git a/kubernetes/loadbalancer/pods/ingress-azure.yaml b/kubernetes/loadbalancer/pods/ingress-azure.yaml index 39f3085..ac9480d 100644 --- a/kubernetes/loadbalancer/pods/ingress-azure.yaml +++ b/kubernetes/loadbalancer/pods/ingress-azure.yaml @@ -38,7 +38,7 @@ spec: - --kubernetes - --configfile=/config/traefik.toml - --logLevel=DEBUG - - --kubernetes.namespaces=["default","kube-system","fabricnlp"] + # - --kubernetes.namespaces=["default","kube-system","fabricnlp"] - --kubernetes.labelselector=expose=external - --kubernetes.debugloggeneratedtemplate - --kubernetes.trace diff --git a/kubernetes/loadbalancer/services/dashboard-internal.yaml b/kubernetes/loadbalancer/services/dashboard-internal.yaml index c0a04bf..8412145 100644 --- a/kubernetes/loadbalancer/services/dashboard-internal.yaml +++ b/kubernetes/loadbalancer/services/dashboard-internal.yaml @@ -1,18 +1,13 @@ -# ------------------- Dashboard Service ------------------- # -kind: Service apiVersion: v1 +kind: Service metadata: - labels: - k8s-app: traefik-dashboard-internal name: traefik-dashboard-internal namespace: kube-system - annotations: - # from https://radu-matei.com/blog/k8s-appsvc/ - service.beta.kubernetes.io/azure-load-balancer-internal: "true" + labels: + k8s-traefik: traefik spec: - ports: - - port: 443 - targetPort: 8443 selector: - k8s-app: traefik-dashboard - type: LoadBalancer + k8s-app: traefik-ingress-lb-internal + ports: + - port: 80 + targetPort: 8080 \ No newline at end of file diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index 7283101..469266d 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -104,12 +104,6 @@ AskForPasswordAnyCharacters -secretname "smtprelaypassword" -prompt "SMTP (SendG CleanOutNamespace -namespace $namespace -# Write-Host "Deploying roles" -# $folder = "kubernetes/loadbalancer/roles" -# foreach ($file in "ingress-roles.yaml".Split(" ")) { -# ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - -# } - Write-Host "-- Deploying volumes --" $folder="volumes" foreach ($file in "mysqlserver.yaml solrserver.yaml jobserver.yaml mysqlbackup.yaml".Split(" ")) { From 718b53158dee09ce573e55ca4611ebf56034c4c7 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 21 Feb 2018 16:52:47 -0700 Subject: [PATCH 206/473] separate services into cluster and external Signed-off-by: HQCATALYST\imran.qureshi --- azure/setup-loadbalancer.ps1 | 12 ++++++------ .../services/{ => cluster}/dashboard-internal.yaml | 0 .../services/{ => cluster}/dashboard.yaml | 0 .../{ => external}/loadbalancer-internal.yaml | 0 .../services/{ => external}/loadbalancer-public.yaml | 0 5 files changed, 6 insertions(+), 6 deletions(-) rename kubernetes/loadbalancer/services/{ => cluster}/dashboard-internal.yaml (100%) rename kubernetes/loadbalancer/services/{ => cluster}/dashboard.yaml (100%) rename kubernetes/loadbalancer/services/{ => external}/loadbalancer-internal.yaml (100%) rename kubernetes/loadbalancer/services/{ => external}/loadbalancer-public.yaml (100%) diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index f58bf41..0cc6a26 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,11 +1,11 @@ -Write-output "Version 2018.02.20.06" +Write-output "Version 2018.02.21.01" # # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/setup-loadbalancer.ps1 | iex; -# $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -$GITHUB_URL = "C:\Catalyst\git\Installscripts" +$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" +# $GITHUB_URL = "C:\Catalyst\git\Installscripts" Write-Host "GITHUB_URL: $GITHUB_URL" @@ -440,7 +440,7 @@ foreach ($file in "ingress-azure.internal.yaml".Split(" ")) { } Write-Host "Deploying services" -$folder = "kubernetes/loadbalancer/services" +$folder = "kubernetes/loadbalancer/services/cluster" foreach ($file in "dashboard.yaml dashboard-internal.yaml".Split(" ")) { ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - } @@ -462,7 +462,7 @@ if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { Write-Host "Using Public IP: [$publicip]" - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/loadbalancer-public.yaml" -customerid $customerid ` + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/external/loadbalancer-public.yaml" -customerid $customerid ` | Foreach-Object {$_ -replace 'PUBLICIP', "$publicip"} ` | kubectl create -f - @@ -484,7 +484,7 @@ else { } Write-Output "Setting up an internal load balancer" -ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/loadbalancer-internal.yaml" -customerid $customerid ` +ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/external/loadbalancer-internal.yaml" -customerid $customerid ` | kubectl create -f - $startDate = Get-Date diff --git a/kubernetes/loadbalancer/services/dashboard-internal.yaml b/kubernetes/loadbalancer/services/cluster/dashboard-internal.yaml similarity index 100% rename from kubernetes/loadbalancer/services/dashboard-internal.yaml rename to kubernetes/loadbalancer/services/cluster/dashboard-internal.yaml diff --git a/kubernetes/loadbalancer/services/dashboard.yaml b/kubernetes/loadbalancer/services/cluster/dashboard.yaml similarity index 100% rename from kubernetes/loadbalancer/services/dashboard.yaml rename to kubernetes/loadbalancer/services/cluster/dashboard.yaml diff --git a/kubernetes/loadbalancer/services/loadbalancer-internal.yaml b/kubernetes/loadbalancer/services/external/loadbalancer-internal.yaml similarity index 100% rename from kubernetes/loadbalancer/services/loadbalancer-internal.yaml rename to kubernetes/loadbalancer/services/external/loadbalancer-internal.yaml diff --git a/kubernetes/loadbalancer/services/loadbalancer-public.yaml b/kubernetes/loadbalancer/services/external/loadbalancer-public.yaml similarity index 100% rename from kubernetes/loadbalancer/services/loadbalancer-public.yaml rename to kubernetes/loadbalancer/services/external/loadbalancer-public.yaml From 9280d53bf63183567a4d6b4730157d7935d8f985 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 21 Feb 2018 17:01:23 -0700 Subject: [PATCH 207/473] add back in ssl support Signed-off-by: HQCATALYST\imran.qureshi --- azure/setup-loadbalancer.ps1 | 13 ++++++++++++- nlp/ingress/http/solr.ssl.yaml | 22 ++++++++++++++++++++++ nlp/ingress/http/web.ssl.yaml | 1 - nlp/installnlpkubernetes.ps1 | 31 +++++++++++++++++++------------ 4 files changed, 53 insertions(+), 14 deletions(-) create mode 100644 nlp/ingress/http/solr.ssl.yaml diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index 0cc6a26..cef7651 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.02.21.01" +Write-output "Version 2018.02.21.02" # # This script is meant for quick & easy install via: @@ -451,6 +451,17 @@ foreach ($file in "default.yaml default-internal.yaml dashboard.yaml".Split(" ") ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - } +if ($AKS_USE_SSL -eq "y" ) { + foreach ($file in "dashboard.ssl.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - + } +} +else { + foreach ($file in "dashboard.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - + } +} + if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { Write-Output "Setting up a public load balancer" diff --git a/nlp/ingress/http/solr.ssl.yaml b/nlp/ingress/http/solr.ssl.yaml new file mode 100644 index 0000000..6b005b8 --- /dev/null +++ b/nlp/ingress/http/solr.ssl.yaml @@ -0,0 +1,22 @@ +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: nlp-ingress-internal + namespace: fabricnlp + labels: + expose: internal + annotations: + kubernetes.io/ingress.class: traefik +spec: + tls: + - secretName: ssl-ahmn + hosts: + - solr.CUSTOMERID.healthcatalyst.net + rules: + - host: solr.CUSTOMERID.healthcatalyst.net + http: + paths: + - backend: + serviceName: solrserverpublic + servicePort: 80 +--- diff --git a/nlp/ingress/http/web.ssl.yaml b/nlp/ingress/http/web.ssl.yaml index 5463f0e..46fec71 100644 --- a/nlp/ingress/http/web.ssl.yaml +++ b/nlp/ingress/http/web.ssl.yaml @@ -12,7 +12,6 @@ spec: tls: - secretName: ssl-ahmn hosts: - - solr.CUSTOMERID.healthcatalyst.net - nlp.CUSTOMERID.healthcatalyst.net - nlpjobs.CUSTOMERID.healthcatalyst.net rules: diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index 469266d..b6b504f 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -1,4 +1,4 @@ -Write-Output "--- installnlpkubernetes.ps1 Version 2018.02.20.04 ---" +Write-Output "--- installnlpkubernetes.ps1 Version 2018.02.21.01 ---" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | iex; # $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -66,7 +66,7 @@ $AKS_PERS_BACKUP_SHARE_NAME = "${AKS_PERS_SHARE_NAME}backups" CreateShare -resourceGroup $AKS_PERS_RESOURCE_GROUP -sharename $AKS_PERS_SHARE_NAME CreateShare -resourceGroup $AKS_PERS_RESOURCE_GROUP -sharename $AKS_PERS_BACKUP_SHARE_NAME -$namespace="fabricnlp" +$namespace = "fabricnlp" if ([string]::IsNullOrWhiteSpace($(kubectl get namespace $namespace --ignore-not-found=true))) { kubectl create namespace $namespace @@ -105,49 +105,56 @@ AskForPasswordAnyCharacters -secretname "smtprelaypassword" -prompt "SMTP (SendG CleanOutNamespace -namespace $namespace Write-Host "-- Deploying volumes --" -$folder="volumes" +$folder = "volumes" foreach ($file in "mysqlserver.yaml solrserver.yaml jobserver.yaml mysqlbackup.yaml".Split(" ")) { ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/${folder}/${file}" -customerid $customerid | kubectl apply -f - } Write-Host "-- Deploying volume claims --" -$folder="volumeclaims" +$folder = "volumeclaims" foreach ($file in "mysqlserver.yaml solrserver.yaml jobserver.yaml mysqlbackup.yaml".Split(" ")) { ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/${folder}/${file}" -customerid $customerid | kubectl apply -f - } Write-Host "-- Deploying pods --" -$folder="pods" +$folder = "pods" foreach ($file in "mysqlserver.yaml solrserver.yaml jobserver.yaml nlpwebserver.yaml mysqlclient.yaml".Split(" ")) { ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/${folder}/${file}" -customerid $customerid | kubectl apply -f - } Write-Host "-- Deploying cluster services --" -$folder="services/cluster" +$folder = "services/cluster" foreach ($file in "mysqlserver.yaml solrserver.yaml jobserver.yaml nlpwebserver.yaml".Split(" ")) { ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/${folder}/${file}" -customerid $customerid | kubectl apply -f - } Write-Host "-- Deploying external services --" -$folder="services/external" +$folder = "services/external" foreach ($file in "solrserver.yaml jobserver.yaml nlpwebserver.yaml".Split(" ")) { ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/${folder}/${file}" -customerid $customerid | kubectl apply -f - } Write-Host "-- Deploying HTTP proxies --" -$folder="ingress/http" -foreach ($file in "web.yaml solr.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/${folder}/${file}" -customerid $customerid | kubectl apply -f - +$folder = "ingress/http" +if ($AKS_USE_SSL -eq "y" ) { + foreach ($file in "web.ssl.yaml solr.ssl.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/${folder}/${file}" -customerid $customerid | kubectl apply -f - + } +} +else { + foreach ($file in "web.yaml solr.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/${folder}/${file}" -customerid $customerid | kubectl apply -f - + } } Write-Host "-- Deploying TCP proxies --" -$folder="ingress/tcp" +$folder = "ingress/tcp" foreach ($file in "mysqlserver.internal.yaml".Split(" ")) { ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/${folder}/${file}" -customerid $customerid | kubectl apply -f - } Write-Host "-- Deploying jobs --" -$folder="jobs" +$folder = "jobs" foreach ($file in "mysqlserver-backup-cron.yaml".Split(" ")) { ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/${folder}/${file}" -customerid $customerid | kubectl apply -f - } From 48e9e7e89f1467ea39efb2027d21cd958120e519 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 21 Feb 2018 18:14:56 -0700 Subject: [PATCH 208/473] pin traefik to v1.5 Signed-off-by: HQCATALYST\imran.qureshi --- azure/setup-loadbalancer.ps1 | 4 ++-- kubernetes/loadbalancer/ingress/dashboard.yaml | 2 +- kubernetes/loadbalancer/pods/ingress-azure.internal.yaml | 2 +- kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml | 2 +- kubernetes/loadbalancer/pods/ingress-azure.yaml | 2 +- kubernetes/loadbalancer/pods/ingress-onprem.yaml | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index cef7651..f341a3d 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.02.21.02" +Write-output "Version 2018.02.21.03" # # This script is meant for quick & easy install via: @@ -447,7 +447,7 @@ foreach ($file in "dashboard.yaml dashboard-internal.yaml".Split(" ")) { Write-Host "Deploying ingress" $folder = "kubernetes/loadbalancer/ingress" -foreach ($file in "default.yaml default-internal.yaml dashboard.yaml".Split(" ")) { +foreach ($file in "default.yaml default-internal.yaml".Split(" ")) { ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - } diff --git a/kubernetes/loadbalancer/ingress/dashboard.yaml b/kubernetes/loadbalancer/ingress/dashboard.yaml index f9beb17..c1a5d72 100644 --- a/kubernetes/loadbalancer/ingress/dashboard.yaml +++ b/kubernetes/loadbalancer/ingress/dashboard.yaml @@ -2,7 +2,7 @@ apiVersion: extensions/v1beta1 kind: Ingress metadata: - name: traefik-default-route-ssl + name: traefik-default-route namespace: kube-system labels: k8s-traefik: traefik diff --git a/kubernetes/loadbalancer/pods/ingress-azure.internal.yaml b/kubernetes/loadbalancer/pods/ingress-azure.internal.yaml index ac3e072..17cf88b 100644 --- a/kubernetes/loadbalancer/pods/ingress-azure.internal.yaml +++ b/kubernetes/loadbalancer/pods/ingress-azure.internal.yaml @@ -24,7 +24,7 @@ spec: configMap: name: traefik-conf containers: - - image: traefik + - image: traefik:1.5 name: traefik-ingress-lb volumeMounts: - mountPath: "/config" diff --git a/kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml b/kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml index 133a6bb..120d556 100644 --- a/kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml +++ b/kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml @@ -30,7 +30,7 @@ spec: configMap: name: traefik-conf containers: - - image: traefik + - image: traefik:1.5 name: traefik-ingress-lb volumeMounts: - mountPath: "/config" diff --git a/kubernetes/loadbalancer/pods/ingress-azure.yaml b/kubernetes/loadbalancer/pods/ingress-azure.yaml index ac9480d..ad2c6cc 100644 --- a/kubernetes/loadbalancer/pods/ingress-azure.yaml +++ b/kubernetes/loadbalancer/pods/ingress-azure.yaml @@ -24,7 +24,7 @@ spec: configMap: name: traefik-conf containers: - - image: traefik + - image: traefik:1.5 name: traefik-ingress-lb volumeMounts: - mountPath: "/config" diff --git a/kubernetes/loadbalancer/pods/ingress-onprem.yaml b/kubernetes/loadbalancer/pods/ingress-onprem.yaml index df09ac5..1d37f94 100644 --- a/kubernetes/loadbalancer/pods/ingress-onprem.yaml +++ b/kubernetes/loadbalancer/pods/ingress-onprem.yaml @@ -37,7 +37,7 @@ spec: configMap: name: traefik-conf containers: - - image: traefik + - image: traefik:1.5 name: traefik-ingress-lb volumeMounts: - mountPath: "/config" From fb836808a8b79d2dddbb3f9af8577c87b71423a3 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 21 Feb 2018 18:20:36 -0700 Subject: [PATCH 209/473] rename traefik-ingress-service-private to traefik-ingress-service-internal Signed-off-by: HQCATALYST\imran.qureshi --- azure/setup-loadbalancer.ps1 | 2 +- nlp/installnlpkubernetes.ps1 | 2 +- realtime/installrealtimekubernetes.ps1 | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index f341a3d..a2b4b62 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -505,7 +505,7 @@ if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { $loadbalancer = "traefik-ingress-service-public" } else { - $loadbalancer = "traefik-ingress-service-private" + $loadbalancer = "traefik-ingress-service-internal" } $INTERNAL_IP = "" diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index b6b504f..d0c35a5 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -168,7 +168,7 @@ kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,pe $loadBalancerIP = kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' --ignore-not-found=true if ([string]::IsNullOrWhiteSpace($loadBalancerIP)) { - $loadBalancerIP = kubectl get svc traefik-ingress-service-private -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' + $loadBalancerIP = kubectl get svc traefik-ingress-service-internal -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' } Write-Output "To test out the NLP services, open Git Bash and run:" diff --git a/realtime/installrealtimekubernetes.ps1 b/realtime/installrealtimekubernetes.ps1 index 5528851..07be3e5 100644 --- a/realtime/installrealtimekubernetes.ps1 +++ b/realtime/installrealtimekubernetes.ps1 @@ -166,7 +166,7 @@ Write-Output "and then in your browser, navigate to: http://127.0.0.1:8001/ui" $loadBalancerIP = kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' if ([string]::IsNullOrWhiteSpace($loadBalancerIP)) { - $loadBalancerIP = kubectl get svc traefik-ingress-service-private -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' + $loadBalancerIP = kubectl get svc traefik-ingress-service-internal -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' } Write-Output "To test out the NLP services, open Git Bash and run:" From 984ff768beccc9a22e6050b30d4775c8c130fd2a Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 21 Feb 2018 18:21:42 -0700 Subject: [PATCH 210/473] increment version numbers Signed-off-by: HQCATALYST\imran.qureshi --- azure/setup-loadbalancer.ps1 | 2 +- nlp/installnlpkubernetes.ps1 | 2 +- realtime/installrealtimekubernetes.ps1 | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index a2b4b62..fabe4b5 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.02.21.03" +Write-output "Version 2018.02.21.04" # # This script is meant for quick & easy install via: diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index d0c35a5..c21f291 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -1,4 +1,4 @@ -Write-Output "--- installnlpkubernetes.ps1 Version 2018.02.21.01 ---" +Write-Output "--- installnlpkubernetes.ps1 Version 2018.02.21.02 ---" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | iex; # $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" diff --git a/realtime/installrealtimekubernetes.ps1 b/realtime/installrealtimekubernetes.ps1 index 07be3e5..e3b12fb 100644 --- a/realtime/installrealtimekubernetes.ps1 +++ b/realtime/installrealtimekubernetes.ps1 @@ -1,4 +1,4 @@ -Write-Output "Version 2018.01.17.1" +Write-Output "Version 2018.01.21.01" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.ps1 | iex; From b5fce8c805b67538b499b51a29743ea35bab12be Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 21 Feb 2018 18:24:56 -0700 Subject: [PATCH 211/473] increment version Signed-off-by: HQCATALYST\imran.qureshi --- azure/main.ps1 | 4 ++-- azure/setup-loadbalancer.ps1 | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/azure/main.ps1 b/azure/main.ps1 index c07f50b..737aca9 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.02.20.01" +$version = "2018.02.21.01" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -194,7 +194,7 @@ while ($userinput -ne "q") { $loadBalancerIP = kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' --ignore-not-found=true if ([string]::IsNullOrWhiteSpace($loadBalancerIP)) { - $loadBalancerIP = kubectl get svc traefik-ingress-service-private -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' + $loadBalancerIP = kubectl get svc traefik-ingress-service-internal -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' } $customerid = ReadSecret -secretname customerid $customerid = $customerid.ToLower().Trim() diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index fabe4b5..c6f802b 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.02.21.04" +Write-output "Version 2018.02.21.05" # # This script is meant for quick & easy install via: @@ -524,7 +524,7 @@ if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { Do { Start-Sleep -Seconds 10 Write-Output "." - $INTERNAL_IP = $(kubectl get svc traefik-ingress-service-private -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}') + $INTERNAL_IP = $(kubectl get svc traefik-ingress-service-internal -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}') } while ([string]::IsNullOrWhiteSpace($INTERNAL_IP) -and ($startDate.AddMinutes($timeoutInMinutes) -gt (Get-Date))) Write-Output "Internal IP: $INTERNAL_IP" From afc1b94d95e2cbc2ce4157ed75603c3459b37483 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 21 Feb 2018 19:39:56 -0700 Subject: [PATCH 212/473] create a ssl manifest for ingress Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 43 ++++- azure/setup-loadbalancer.ps1 | 147 ++++-------------- .../pods/ingress-azure.internal.ssl.yaml | 56 +++++++ .../loadbalancer/pods/ingress-azure.ssl.yaml | 6 +- 4 files changed, 129 insertions(+), 123 deletions(-) create mode 100644 kubernetes/loadbalancer/pods/ingress-azure.internal.ssl.yaml diff --git a/azure/common.ps1 b/azure/common.ps1 index bdbfbf1..ee7472d 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.02.20.02" +$versioncommon = "2018.02.21.01" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -463,27 +463,27 @@ function global:Get-ProcessByPort( [ValidateNotNullOrEmpty()] [int] $Port ) { function global:AddFolderToPathEnvironmentVariable($folder) { # add the c:\kubernetes folder to system PATH - Write-Output "Checking if $folder is in PATH" + Write-Host "Checking if $folder is in PATH" $pathItems = ($env:path).split(";") if ( $pathItems -notcontains "$folder") { - Write-Output "Adding $folder to system path" + Write-Host "Adding $folder to system path" $oldpath = (Get-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" -Name PATH).path # see if the registry value is wrong too if ( ($oldpath).split(";") -notcontains "$folder") { $newpath = "$oldpath;$folder" Read-Host "Script needs elevated privileges to set PATH. Hit ENTER to launch script to set PATH" Start-Process powershell -verb RunAs -ArgumentList "Set-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment' -Name PATH -Value '$newPath'; Read-Host 'Press ENTER'" - Write-Output "New PATH:" + Write-Host "New PATH:" $newpath = (Get-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" -Name PATH).path - Write-Output "$newpath".split(";") + Write-Host "$newpath".split(";") } # for current session set the PATH too. the above only takes effect if powershell is reopened $ENV:PATH = "$ENV:PATH;$folder" - Write-Output "Set path for current powershell session" - Write-Output ($env:path).split(";") + Write-Host "Set path for current powershell session" + Write-Host ($env:path).split(";") } else { - Write-Output "$folder is already in PATH" + Write-Host "$folder is already in PATH" } } function global:DownloadAzCliIfNeeded() { @@ -630,5 +630,32 @@ function global:GetResourceGroupAndLocation($defaultResourceGroup) { #Return the hashtable Return $Return } + +function global:SetNetworkSecurityGroupRule($resourceGroup, $networkSecurityGroup, $rulename, $ruledescription, $sourceTag, $port, $priority ){ + if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "$rulename" --nsg-name $networkSecurityGroup --resource-group $resourceGroup))) { + Write-Host "Creating rule: $rulename" + az network nsg rule create -g $resourceGroup --nsg-name $networkSecurityGroup -n "$rulename" --priority $priority ` + --source-address-prefixes "${sourceTag}" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges $port --access Allow ` + --protocol Tcp --description "$ruledescription" ` + --query "provisioningState" -o tsv + } + else { + Write-Host "Updating rule: $rulename" + + az network nsg rule update -g $resourceGroup --nsg-name $networkSecurityGroup -n "$rulename" --priority $priority ` + --source-address-prefixes "${sourceTag}" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges $port --access Allow ` + --protocol Tcp --description "$ruledescription" ` + --query "provisioningState" -o tsv + } + +} +function global:DeleteNetworkSecurityGroupRule($resourceGroup, $networkSecurityGroup, $rulename ){ + if (![string]::IsNullOrWhiteSpace($(az network nsg rule show --name "$rulename" --nsg-name $networkSecurityGroup --resource-group $resourceGroup))) { + Write-Host "Deleting $rulename rule" + az network nsg rule delete -g $resourceGroup --nsg-name $networkSecurityGroup -n $rulename + } +} #------------------- Write-Host "end common.ps1 version $versioncommon" diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index c6f802b..2acb444 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.02.21.05" +Write-output "Version 2018.02.21.06" # # This script is meant for quick & easy install via: @@ -179,122 +179,44 @@ if ($SetupNSG) { $sourceTagForHttpAccess = $AKS_IP_WHITELIST } - if (![string]::IsNullOrWhiteSpace($(az network nsg rule show --name "HttpPort" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { - Write-Output "Deleting HttpPort rule so we can create it later" - az network nsg rule delete -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpPort - } - - if (![string]::IsNullOrWhiteSpace($(az network nsg rule show --name "HttpsPort" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { - Write-Output "Deleting HttpsPort rule so we can create it later" - az network nsg rule delete -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpsPort - } - - if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "allow_kube_tls" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { - Write-Output "Creating rule: allow_kube_tls" - az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_kube_tls --priority 100 ` - --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` - --protocol Tcp --description "allow kubectl and HTTPS access from ${sourceTagForAdminAccess}." ` - --query "provisioningState" -o tsv - } - else { - Write-Output "Updating rule: allow_kube_tls" - - az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_kube_tls --priority 100 ` - --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` - --protocol Tcp --description "allow kubectl access and HTTPS from ${sourceTagForAdminAccess}." ` - --query "provisioningState" -o tsv - } - if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "allow_http" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { - Write-Output "Creating rule: allow_http" - az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_http --priority 101 ` - --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges 80 --access Allow ` - --protocol Tcp --description "allow HTTP access from ${sourceTagForAdminAccess}." ` - --query "provisioningState" -o tsv - } - else { - Write-Output "Updating rule: allow_http" - az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_http --priority 101 ` - --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges 80 --access Allow ` - --protocol Tcp --description "allow HTTP access from ${sourceTagForAdminAccess}." ` - --query "provisioningState" -o tsv - } - - if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "allow_ssh" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { - Write-Output "Creating rule: allow_ssh" - az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_ssh --priority 104 ` - --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges 22 --access Allow ` - --protocol Tcp --description "allow ssh access from ${sourceTagForAdminAccess}." ` - --query "provisioningState" -o tsv - } - else { - Write-Output "Updating rule: allow_ssh" - az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n allow_ssh --priority 104 ` - --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges 22 --access Allow ` - --protocol Tcp --description "allow ssh access from ${sourceTagForAdminAccess}." ` - --query "provisioningState" -o tsv - } + DeleteNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP -rulename "HttpPort" + DeleteNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP -rulename "HttpsPort" - if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "mysql" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { - Write-Output "Creating rule: mysql" - az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n mysql --priority 205 ` - --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges 3306 --access Allow ` - --protocol Tcp --description "allow mysql access from ${sourceTagForAdminAccess}." ` - --query "provisioningState" -o tsv - } - else { - Write-Output "Updating rule: mysql" - az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n mysql --priority 205 ` - --source-address-prefixes "${sourceTagForAdminAccess}" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges 3306 --access Allow ` - --protocol Tcp --description "allow mysql access from ${sourceTagForAdminAccess}." ` - --query "provisioningState" -o tsv - } + SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` + -rulename "allow_kube_tls" ` + -ruledescription "allow kubectl and HTTPS access from ${sourceTagForAdminAccess}." ` + -sourceTag "${sourceTagForAdminAccess}" -port 443 -priority 100 + SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` + -rulename "allow_http" ` + -ruledescription "allow HTTP access from ${sourceTagForAdminAccess}." ` + -sourceTag "${sourceTagForAdminAccess}" -port 80 -priority 101 + + SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` + -rulename "allow_ssh" ` + -ruledescription "allow SSH access from ${sourceTagForAdminAccess}." ` + -sourceTag "${sourceTagForAdminAccess}" -port 22 -priority 104 + + SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` + -rulename "allow_mysql" ` + -ruledescription "allow MySQL access from ${sourceTagForAdminAccess}." ` + -sourceTag "${sourceTagForAdminAccess}" -port 3306 -priority 205 + # if we already have opened the ports for admin access then we're not allowed to add another rule for opening them if (($sourceTagForHttpAccess -eq "Internet") -and ($sourceTagForAdminAccess -eq "Internet")) { Write-Output "Since we already have rules open port 80 and 443 to the Internet, we do not need to create separate ones for the Internet" } else { - if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "HttpPort" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { - Write-Output "Creating rule: HttpPort" - az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpPort --priority 500 ` - --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges 80 --access Allow ` - --protocol Tcp --description "allow HTTP access from $sourceTagForHttpAccess." ` - --query "provisioningState" -o tsv - } - else { - Write-Output "Updating rule: HttpPort" - az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpPort --priority 500 ` - --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges 80 --access Allow ` - --protocol Tcp --description "allow HTTP access from $sourceTagForHttpAccess." ` - --query "provisioningState" -o tsv - } - if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "HttpsPort" --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { - Write-Output "Creating rule: HttpsPort" - az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpsPort --priority 501 ` - --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` - --protocol Tcp --description "allow HTTPS access from $sourceTagForHttpAccess." ` - --query "provisioningState" -o tsv - } - else { - Write-Output "Updating rule: HttpsPort" - az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $AKS_PERS_NETWORK_SECURITY_GROUP -n HttpsPort --priority 501 ` - --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` - --protocol Tcp --description "allow HTTPS access from $sourceTagForHttpAccess." ` - --query "provisioningState" -o tsv - } + SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` + -rulename "HttpPort" ` + -ruledescription "allow HTTP access from ${sourceTagForHttpAccess}." ` + -sourceTag "${sourceTagForHttpAccess}" -port 80 -priority 500 + + SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` + -rulename "HttpsPort" ` + -ruledescription "allow HTTPS access from ${sourceTagForHttpAccess}." ` + -sourceTag "${sourceTagForHttpAccess}" -port 443 -priority 501 } $nsgid = az network nsg list --resource-group ${AKS_PERS_RESOURCE_GROUP} --query "[?name == '${AKS_PERS_NETWORK_SECURITY_GROUP}'].id" -o tsv @@ -426,18 +348,15 @@ foreach ($file in "ingress-roles.yaml".Split(" ")) { Write-Host "Deploying pods" $folder = "kubernetes/loadbalancer/pods" if ($AKS_USE_SSL -eq "y" ) { - foreach ($file in "ingress-azure.ssl.yaml".Split(" ")) { + foreach ($file in "ingress-azure.ssl.yaml ingress-azure.internal.ssl.yaml".Split(" ")) { ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - } } else { - foreach ($file in "ingress-azure.yaml".Split(" ")) { + foreach ($file in "ingress-azure.yaml ingress-azure.internal.yaml".Split(" ")) { ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - } } -foreach ($file in "ingress-azure.internal.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - -} Write-Host "Deploying services" $folder = "kubernetes/loadbalancer/services/cluster" diff --git a/kubernetes/loadbalancer/pods/ingress-azure.internal.ssl.yaml b/kubernetes/loadbalancer/pods/ingress-azure.internal.ssl.yaml new file mode 100644 index 0000000..a2242f3 --- /dev/null +++ b/kubernetes/loadbalancer/pods/ingress-azure.internal.ssl.yaml @@ -0,0 +1,56 @@ +kind: Deployment +apiVersion: extensions/v1beta1 +metadata: + name: traefik-ingress-controller-internal + namespace: kube-system + labels: + k8s-app: traefik-ingress-lb-internal + k8s-traefik: traefik +spec: + replicas: 1 + selector: + matchLabels: + k8s-app: traefik-ingress-lb + template: + metadata: + labels: + k8s-app: traefik-ingress-lb + name: traefik-ingress-lb-internal + spec: + serviceAccountName: traefik-ingress-serviceaccount + terminationGracePeriodSeconds: 60 + volumes: + - name: ssl-ahmn + secret: + secretName: traefik-cert-ahmn + # - name: ssl-ahmn + # secret: + # secretName: traefik-cert-ahmn + - name: config + configMap: + name: traefik-conf + containers: + - image: traefik:1.5 + name: traefik-ingress-lb-internal + volumeMounts: + - mountPath: "/config" + name: "config" + - mountPath: "/ssl/ahmn" + name: "ssl-ahmn" + ports: + - containerPort: 80 + - containerPort: 443 + - containerPort: 8080 + args: + - --web + - --kubernetes + - --configfile=/config/traefik.toml + - --logLevel=DEBUG + - --kubernetes.labelselector=expose=internal + # - --kubernetes.namespaces=["default","kube-system","fabricnlp"] + - --kubernetes.debugloggeneratedtemplate + - --kubernetes.trace + - --debug + # https://github.com/kubernetes/ingress-nginx/blob/master/README.md#running-multiple-ingress-controllers + # https://docs.traefik.io/user-guide/kubernetes/ +--- diff --git a/kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml b/kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml index 120d556..44032b9 100644 --- a/kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml +++ b/kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml @@ -47,6 +47,10 @@ spec: - --web - --kubernetes - --configfile=/config/traefik.toml - - --logLevel=INFO + - --logLevel=DEBUG + # - --kubernetes.namespaces=["default","kube-system","fabricnlp"] - --kubernetes.labelselector=expose=external + - --kubernetes.debugloggeneratedtemplate + - --kubernetes.trace + - --debug --- From 8699f917a460cb2983579e7c2bcfed217101686b Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 21 Feb 2018 20:02:00 -0700 Subject: [PATCH 213/473] switch to github url Signed-off-by: HQCATALYST\imran.qureshi --- nlp/installnlpkubernetes.ps1 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index c21f291..7c9c0c2 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -1,8 +1,9 @@ Write-Output "--- installnlpkubernetes.ps1 Version 2018.02.21.02 ---" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | iex; -# $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -$GITHUB_URL = "C:\Catalyst\git\Installscripts" + +$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" +# $GITHUB_URL = "C:\Catalyst\git\Installscripts" Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1 | Invoke-Expression; # Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; From 64d5b82f3426a89a7a4810d71a80fce18a9295ea Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 21 Feb 2018 20:03:29 -0700 Subject: [PATCH 214/473] increment version Signed-off-by: HQCATALYST\imran.qureshi --- nlp/installnlpkubernetes.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index 7c9c0c2..2129027 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -1,4 +1,4 @@ -Write-Output "--- installnlpkubernetes.ps1 Version 2018.02.21.02 ---" +Write-Output "--- installnlpkubernetes.ps1 Version 2018.02.21.03 ---" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | iex; From 3fabdd63ccf5cfc005705e914f42d6bf9c6e98cb Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 21 Feb 2018 20:09:39 -0700 Subject: [PATCH 215/473] add smtpserver back in Signed-off-by: HQCATALYST\imran.qureshi --- nlp/installnlpkubernetes.ps1 | 6 ++-- nlp/pods/smtpserver.yaml | 44 ++++++++++++++++++++++++++++ nlp/services/cluster/smtpserver.yaml | 14 +++++++++ 3 files changed, 61 insertions(+), 3 deletions(-) create mode 100644 nlp/pods/smtpserver.yaml create mode 100644 nlp/services/cluster/smtpserver.yaml diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index 2129027..211cfd8 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -1,4 +1,4 @@ -Write-Output "--- installnlpkubernetes.ps1 Version 2018.02.21.03 ---" +Write-Output "--- installnlpkubernetes.ps1 Version 2018.02.21.04 ---" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | iex; @@ -119,13 +119,13 @@ foreach ($file in "mysqlserver.yaml solrserver.yaml jobserver.yaml mysqlbackup.y Write-Host "-- Deploying pods --" $folder = "pods" -foreach ($file in "mysqlserver.yaml solrserver.yaml jobserver.yaml nlpwebserver.yaml mysqlclient.yaml".Split(" ")) { +foreach ($file in "mysqlserver.yaml solrserver.yaml jobserver.yaml nlpwebserver.yaml mysqlclient.yaml smtpserver.yaml".Split(" ")) { ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/${folder}/${file}" -customerid $customerid | kubectl apply -f - } Write-Host "-- Deploying cluster services --" $folder = "services/cluster" -foreach ($file in "mysqlserver.yaml solrserver.yaml jobserver.yaml nlpwebserver.yaml".Split(" ")) { +foreach ($file in "mysqlserver.yaml solrserver.yaml jobserver.yaml nlpwebserver.yaml smtpserver.yaml".Split(" ")) { ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/${folder}/${file}" -customerid $customerid | kubectl apply -f - } diff --git a/nlp/pods/smtpserver.yaml b/nlp/pods/smtpserver.yaml new file mode 100644 index 0000000..bfe709b --- /dev/null +++ b/nlp/pods/smtpserver.yaml @@ -0,0 +1,44 @@ +kind: Deployment +apiVersion: extensions/v1beta1 +metadata: + name: fabric.nlp.smtpserver + namespace: fabricnlp + labels: + app: smtpserver +spec: + replicas: 1 + revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. + strategy: + # We need to kill the existing Pod before creating an new one + # for the new one to be able to attach the persistent disk. + type: Recreate + selector: + matchLabels: + app: smtpserver + template: + metadata: + labels: + app: smtpserver + spec: + containers: + - name: smtpserver + image: healthcatalyst/fabric.smtp.agent:latest + imagePullPolicy: Always + # environment variables + env: + - name: SMTP_RELAY_PASSWORD + # set the value of this environment variable from a secret called smtprelaypassword + valueFrom: + secretKeyRef: + name: smtprelaypassword + key: password + - name: SMTP_RELAY_USERNAME + # set the value of this environment variable directly + value: apikey + - name: SMTP_RELAY_SERVER + value: smtp.sendgrid.net + - name: SMTP_RELAY_PORT + value: "587" + ports: + - containerPort: 25 + name: smtp \ No newline at end of file diff --git a/nlp/services/cluster/smtpserver.yaml b/nlp/services/cluster/smtpserver.yaml new file mode 100644 index 0000000..9ddc8ea --- /dev/null +++ b/nlp/services/cluster/smtpserver.yaml @@ -0,0 +1,14 @@ +kind: Service +apiVersion: v1 +metadata: + name: smtpserver + namespace: fabricnlp + labels: + app: smtpserver +spec: + ports: + - port: 25 + targetPort: 25 + protocol: TCP + selector: + app: smtpserver \ No newline at end of file From f6ab737d3c08d3e5d2401a5ae87350a7c350206d Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 21 Feb 2018 20:13:15 -0700 Subject: [PATCH 216/473] set expose: internal on dashboard Signed-off-by: HQCATALYST\imran.qureshi --- azure/main.ps1 | 4 ++-- kubernetes/loadbalancer/ingress/dashboard.ssl.yaml | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/azure/main.ps1 b/azure/main.ps1 index 737aca9..7bfaa06 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.02.21.01" +$version = "2018.02.21.02" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -199,7 +199,7 @@ while ($userinput -ne "q") { $customerid = ReadSecret -secretname customerid $customerid = $customerid.ToLower().Trim() - Invoke-WebRequest -useb -Headers @{"Host" = "nlp.$customerid.healthcatalyst.net"} -Uri http://$loadBalancerIP/nlpweb | Select-Object -Expand Content + # Invoke-WebRequest -useb -Headers @{"Host" = "nlp.$customerid.healthcatalyst.net"} -Uri http://$loadBalancerIP/nlpweb | Select-Object -Expand Content Write-Output "To test out the NLP services, open Git Bash and run:" Write-Output "curl -L --verbose --header 'Host: solr.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/solr' -k" diff --git a/kubernetes/loadbalancer/ingress/dashboard.ssl.yaml b/kubernetes/loadbalancer/ingress/dashboard.ssl.yaml index 5b70a79..7b0363c 100644 --- a/kubernetes/loadbalancer/ingress/dashboard.ssl.yaml +++ b/kubernetes/loadbalancer/ingress/dashboard.ssl.yaml @@ -6,6 +6,7 @@ metadata: namespace: kube-system labels: k8s-traefik: traefik + expose: external annotations: kubernetes.io/ingress.class: traefik spec: From 980f05af3777bac51dc080d6eb421a786963854a Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 21 Feb 2018 22:31:41 -0700 Subject: [PATCH 217/473] don't set roles in kub 1.8 Signed-off-by: HQCATALYST\imran.qureshi --- azure/main.ps1 | 14 +++++++------- azure/setup-loadbalancer.ps1 | 19 +++++++++++++------ 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/azure/main.ps1 b/azure/main.ps1 index 7bfaa06..170d397 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.02.21.02" +$version = "2018.02.21.03" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -111,13 +111,13 @@ while ($userinput -ne "q") { # } # Write-Host "Your kubeconfig file is here: $env:KUBECONFIG" - $kubectlversion = kubectl version --client=true --short=true - if ($kubectlversion -match "v1.9") { - Write-Host "Click Skip on login screen"; - Start-Process -FilePath "http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/"; + $kubectlversion = $(kubectl version --short=true)[1] + if ($kubectlversion -match "v1.8") { + Start-Process -FilePath "http://localhost:8001/api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy"; } else { - Start-Process -FilePath "http://localhost:8001/api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy"; + Write-Host "Click Skip on login screen"; + Start-Process -FilePath "http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/"; } } '7' { @@ -150,7 +150,7 @@ while ($userinput -ne "q") { $firstpublicip = az vm list-ip-addresses -g $AKS_PERS_RESOURCE_GROUP -n $vm --query "[].virtualMachine.network.publicIpAddresses[0].ipAddress" -o tsv if ([string]::IsNullOrEmpty($firstpublicip)) { $firstpublicip = az vm show -g $AKS_PERS_RESOURCE_GROUP -n $vm -d --query privateIps -otsv - $firstpublicip=$firstpublicip.Split(",")[0] + $firstpublicip = $firstpublicip.Split(",")[0] } Write-Output "Connect to $vm" Write-Output "ssh -i ${SSH_PRIVATE_KEY_FILE_UNIX_PATH} azureuser@${firstpublicip}" diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index 2acb444..69e478f 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.02.21.06" +Write-output "Version 2018.02.21.07" # # This script is meant for quick & easy install via: @@ -213,7 +213,7 @@ if ($SetupNSG) { -ruledescription "allow HTTP access from ${sourceTagForHttpAccess}." ` -sourceTag "${sourceTagForHttpAccess}" -port 80 -priority 500 - SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` + SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` -rulename "HttpsPort" ` -ruledescription "allow HTTPS access from ${sourceTagForHttpAccess}." ` -sourceTag "${sourceTagForHttpAccess}" -port 443 -priority 501 @@ -339,10 +339,17 @@ else { ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - } } -Write-Host "Deploying roles" -$folder = "kubernetes/loadbalancer/roles" -foreach ($file in "ingress-roles.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - + +$kubectlversion = $(kubectl version --short=true)[1] +if ($kubectlversion -match "v1.8") { + Write-Host "Since kubectlversion ($kubectlversion) is less than 1.9 no roles are needed" +} +else { + Write-Host "Deploying roles" + $folder = "kubernetes/loadbalancer/roles" + foreach ($file in "ingress-roles.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - + } } Write-Host "Deploying pods" From 7d3d9e7ed1ab089eee7ce75c902a75f47eddf8ed Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 21 Feb 2018 23:03:43 -0700 Subject: [PATCH 218/473] increment version of az cli Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index ee7472d..e95c4ef 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.02.21.01" +$versioncommon = "2018.02.21.02" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -488,7 +488,7 @@ function global:AddFolderToPathEnvironmentVariable($folder) { } function global:DownloadAzCliIfNeeded() { # install az cli from https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest - $desiredAzClVersion = "2.0.26" + $desiredAzClVersion = "2.0.27" $downloadazcli = $False if (!(Test-CommandExists az)) { $downloadazcli = $True From 33b1f27d486eadc8a55c779c7bf067199db41dbb Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 22 Feb 2018 00:24:51 -0700 Subject: [PATCH 219/473] comment out applying updates to VMs Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 4 ++-- azure/main.ps1 | 6 +++--- kubernetes/common-kube.ps1 | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index e95c4ef..05fde2b 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.02.21.02" +$versioncommon = "2018.02.21.03" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -508,7 +508,7 @@ function global:DownloadAzCliIfNeeded() { $url = "https://azurecliprod.blob.core.windows.net/msi/azure-cli-latest.msi" Write-Host "Downloading az-cli-latest.msi from url $url to $azCliFile" If (Test-Path $azCliFile) { - Remove-Item $azCliFile + Remove-Item $azCliFile -Force } (New-Object System.Net.WebClient).DownloadFile($url, $azCliFile) # https://kevinmarquette.github.io/2016-10-21-powershell-installing-msi-files/ diff --git a/azure/main.ps1 b/azure/main.ps1 index 170d397..e2a7674 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.02.21.03" +$version = "2018.02.21.04" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -30,7 +30,7 @@ while ($userinput -ne "q") { Write-Host "6: Launch Kubernetes Admin Dashboard" Write-Host "7: Show SSH commands to VMs" Write-Host "8: View status of DNS pods" - Write-Host "9: Apply updates and restart all VMs" + Write-Host "9: Restart all VMs" Write-Host "------ NLP -----" Write-Host "10: Show status of NLP" Write-Host "11: Test web sites" @@ -182,7 +182,7 @@ while ($userinput -ne "q") { '9' { # restart VMs $AKS_PERS_RESOURCE_GROUP = ReadSecretValue -secretname azure-secret -valueName resourcegroup - UpdateOSInVMs -resourceGroup $AKS_PERS_RESOURCE_GROUP + # UpdateOSInVMs -resourceGroup $AKS_PERS_RESOURCE_GROUP RestartVMsInResourceGroup -resourceGroup $AKS_PERS_RESOURCE_GROUP SetHostFileInVms -resourceGroup $AKS_PERS_RESOURCE_GROUP SetupCronTab -resourceGroup $AKS_PERS_RESOURCE_GROUP diff --git a/kubernetes/common-kube.ps1 b/kubernetes/common-kube.ps1 index 470506b..3f92867 100644 --- a/kubernetes/common-kube.ps1 +++ b/kubernetes/common-kube.ps1 @@ -1,5 +1,5 @@ # this file contains common functions for kubernetes -$versionkubecommon = "2018.02.20.02" +$versionkubecommon = "2018.02.20.03" Write-Host "Including common-kube.ps1 version $versionkubecommon" function global:GetCommonKubeVersion() { @@ -151,7 +151,7 @@ function global:Stop-ProcessByPort( [ValidateNotNullOrEmpty()] [int] $Port ) { function global:DownloadKubectl($localFolder) { # download kubectl $kubeCtlFile = "$localFolder\kubectl.exe" - $desiredKubeCtlVersion = "v1.9.2" + $desiredKubeCtlVersion = "v1.9.3" $downloadkubectl = "n" if (!(Test-Path "$kubeCtlFile")) { $downloadkubectl = "y" From 4fedd7a57ca2d8dc06e48e434ecbad8415defef6 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 22 Feb 2018 01:45:22 -0700 Subject: [PATCH 220/473] update template to 1.9 Signed-off-by: HQCATALYST\imran.qureshi --- azure/acs.template.json | 2 +- azure/main.ps1 | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/azure/acs.template.json b/azure/acs.template.json index 584d23b..1b2da62 100644 --- a/azure/acs.template.json +++ b/azure/acs.template.json @@ -3,7 +3,7 @@ "properties": { "orchestratorProfile": { "orchestratorType": "Kubernetes", - "orchestratorRelease": "1.8", + "orchestratorRelease": "1.9", "kubernetesConfig": { "networkPolicy": "none" } diff --git a/azure/main.ps1 b/azure/main.ps1 index e2a7674..fb88026 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -158,6 +158,9 @@ while ($userinput -ne "q") { Write-Output "Command to show errors: sudo journalctl -xef --priority 0..3" Write-Output "Command to see apiserver logs: sudo journalctl -fu kube-apiserver" + Write-Output "Command to see apiserver logs: sudo systemctl status kubelet" + # /var/log/pods + Write-Output "Cheat Sheet for journalctl: https://www.cheatography.com/airlove/cheat-sheets/journalctl/" # systemctl list-unit-files | grep .service | grep enabled # https://askubuntu.com/questions/795226/how-to-list-all-enabled-services-from-systemctl From 9427147c029341bff3626c44fe4995de3c7c4b37 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 22 Feb 2018 04:10:02 -0700 Subject: [PATCH 221/473] add in code to restart etcd to get around a bug Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 18 ++++++++++++++---- azure/main.ps1 | 6 ++++-- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index 05fde2b..3dd415d 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.02.21.03" +$versioncommon = "2018.02.21.04" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -107,7 +107,7 @@ function global:SetupCronTab($resourceGroup) { $virtualmachines = az vm list -g $resourceGroup --query "[?storageProfile.osDisk.osType != 'Windows'].name" -o tsv ForEach ($vm in $virtualmachines) { if ($vm -match "master" ) { - $cmd = "crontab -e; mkdir -p /opt/healthcatalyst; curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/restartkubedns.txt -o /opt/healthcatalyst/restartkubedns.sh; crontab -l | grep -v 'restartkubedns.sh' - | { cat; echo '*/10 * * * * /opt/healthcatalyst/restartkubedns.sh >> /tmp/restartkubedns.log 2>&1 \n'; } | crontab -" + $cmd = "crontab -e; mkdir -p /opt/healthcatalyst; curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/restartkubedns.txt -o /opt/healthcatalyst/restartkubedns.sh; chmod +x /opt/healthcatalyst/restartkubedns.sh; crontab -l | grep -v 'restartkubedns.sh' - | { cat; echo '*/10 * * * * /opt/healthcatalyst/restartkubedns.sh >> /tmp/restartkubedns.log 2>&1 \n'; } | crontab -" az vm run-command invoke -g $resourceGroup -n $vm --command-id RunShellScript --scripts "$cmd" } } @@ -140,6 +140,16 @@ function global:RestartVMsInResourceGroup( $resourceGroup) { } while (!($state = "VM running")) } + + # sudo systemctl restart etcd + ForEach ($vm in $virtualmachines) { + if ($vm -match "master" ) { + Write-Host "Sending command to master($vm) to restart etcd due to bug: https://github.com/Azure/acs-engine/issues/2282" + az vm run-command invoke -g $resourceGroup -n $vm --command-id RunShellScript --scripts "systemctl restart etcd" + } + } + + } function global:SetHostFileInVms( $resourceGroup) { @@ -631,7 +641,7 @@ function global:GetResourceGroupAndLocation($defaultResourceGroup) { Return $Return } -function global:SetNetworkSecurityGroupRule($resourceGroup, $networkSecurityGroup, $rulename, $ruledescription, $sourceTag, $port, $priority ){ +function global:SetNetworkSecurityGroupRule($resourceGroup, $networkSecurityGroup, $rulename, $ruledescription, $sourceTag, $port, $priority ) { if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "$rulename" --nsg-name $networkSecurityGroup --resource-group $resourceGroup))) { Write-Host "Creating rule: $rulename" az network nsg rule create -g $resourceGroup --nsg-name $networkSecurityGroup -n "$rulename" --priority $priority ` @@ -651,7 +661,7 @@ function global:SetNetworkSecurityGroupRule($resourceGroup, $networkSecurityGrou } } -function global:DeleteNetworkSecurityGroupRule($resourceGroup, $networkSecurityGroup, $rulename ){ +function global:DeleteNetworkSecurityGroupRule($resourceGroup, $networkSecurityGroup, $rulename ) { if (![string]::IsNullOrWhiteSpace($(az network nsg rule show --name "$rulename" --nsg-name $networkSecurityGroup --resource-group $resourceGroup))) { Write-Host "Deleting $rulename rule" az network nsg rule delete -g $resourceGroup --nsg-name $networkSecurityGroup -n $rulename diff --git a/azure/main.ps1 b/azure/main.ps1 index fb88026..3bcb1ae 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -158,7 +158,9 @@ while ($userinput -ne "q") { Write-Output "Command to show errors: sudo journalctl -xef --priority 0..3" Write-Output "Command to see apiserver logs: sudo journalctl -fu kube-apiserver" - Write-Output "Command to see apiserver logs: sudo systemctl status kubelet" + Write-Output "Command to see kubelet status: sudo systemctl status kubelet" + # sudo systemctl restart kubelet.service + # sudo service kubelet status # /var/log/pods Write-Output "Cheat Sheet for journalctl: https://www.cheatography.com/airlove/cheat-sheets/journalctl/" @@ -188,7 +190,7 @@ while ($userinput -ne "q") { # UpdateOSInVMs -resourceGroup $AKS_PERS_RESOURCE_GROUP RestartVMsInResourceGroup -resourceGroup $AKS_PERS_RESOURCE_GROUP SetHostFileInVms -resourceGroup $AKS_PERS_RESOURCE_GROUP - SetupCronTab -resourceGroup $AKS_PERS_RESOURCE_GROUP + SetupCronTab -resourceGroup $AKS_PERS_RESOURCE_GROUP } '10' { kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide From 1ccac6f73d220913a01a88e957ae14a93802f849 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 22 Feb 2018 11:39:09 -0700 Subject: [PATCH 222/473] remove internal traefik LB for now Signed-off-by: HQCATALYST\imran.qureshi --- azure/setup-loadbalancer.ps1 | 30 ++++++++++++++----- .../loadbalancer/pods/ingress-azure.ssl.yaml | 3 +- 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index 69e478f..9b07332 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.02.21.07" +Write-output "Version 2018.02.22.01" # # This script is meant for quick & easy install via: @@ -355,27 +355,41 @@ else { Write-Host "Deploying pods" $folder = "kubernetes/loadbalancer/pods" if ($AKS_USE_SSL -eq "y" ) { - foreach ($file in "ingress-azure.ssl.yaml ingress-azure.internal.ssl.yaml".Split(" ")) { + foreach ($file in "ingress-azure.ssl.yaml".Split(" ")) { ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - } + + # foreach ($file in "ingress-azure.ssl.yaml ingress-azure.internal.ssl.yaml".Split(" ")) { + # ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - + # } } else { - foreach ($file in "ingress-azure.yaml ingress-azure.internal.yaml".Split(" ")) { + foreach ($file in "ingress-azure.yaml".Split(" ")) { ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - } + # foreach ($file in "ingress-azure.yaml ingress-azure.internal.yaml".Split(" ")) { + # ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - + # } + } Write-Host "Deploying services" $folder = "kubernetes/loadbalancer/services/cluster" -foreach ($file in "dashboard.yaml dashboard-internal.yaml".Split(" ")) { +foreach ($file in "dashboard.yaml".Split(" ")) { ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - } +# foreach ($file in "dashboard.yaml dashboard-internal.yaml".Split(" ")) { +# ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - +# } Write-Host "Deploying ingress" $folder = "kubernetes/loadbalancer/ingress" -foreach ($file in "default.yaml default-internal.yaml".Split(" ")) { +foreach ($file in "default.yaml".Split(" ")) { ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - } +# foreach ($file in "default.yaml default-internal.yaml".Split(" ")) { +# ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - +# } if ($AKS_USE_SSL -eq "y" ) { foreach ($file in "dashboard.ssl.yaml".Split(" ")) { @@ -420,9 +434,9 @@ if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { else { } -Write-Output "Setting up an internal load balancer" -ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/external/loadbalancer-internal.yaml" -customerid $customerid ` - | kubectl create -f - +# Write-Output "Setting up an internal load balancer" +# ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/external/loadbalancer-internal.yaml" -customerid $customerid ` +# | kubectl create -f - $startDate = Get-Date $timeoutInMinutes = 10 diff --git a/kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml b/kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml index 44032b9..a591325 100644 --- a/kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml +++ b/kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml @@ -52,5 +52,6 @@ spec: - --kubernetes.labelselector=expose=external - --kubernetes.debugloggeneratedtemplate - --kubernetes.trace - - --debug + - --debug + - --accesslog --- From 4ba9ce25a0784bdf194763e27ae323ea4f6e918d Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 22 Feb 2018 14:00:10 -0700 Subject: [PATCH 223/473] add internal LB back in Signed-off-by: HQCATALYST\imran.qureshi --- azure/setup-loadbalancer.ps1 | 42 ++++--------------- .../pods/ingress-azure.internal.ssl.yaml | 4 +- .../pods/ingress-azure.internal.yaml | 8 ++-- 3 files changed, 13 insertions(+), 41 deletions(-) diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index 9b07332..255e886 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.02.22.01" +Write-output "Version 2018.02.22.02" # # This script is meant for quick & easy install via: @@ -355,41 +355,27 @@ else { Write-Host "Deploying pods" $folder = "kubernetes/loadbalancer/pods" if ($AKS_USE_SSL -eq "y" ) { - foreach ($file in "ingress-azure.ssl.yaml".Split(" ")) { + foreach ($file in "ingress-azure.ssl.yaml ingress-azure.internal.ssl.yaml".Split(" ")) { ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - } - - # foreach ($file in "ingress-azure.ssl.yaml ingress-azure.internal.ssl.yaml".Split(" ")) { - # ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - - # } } else { - foreach ($file in "ingress-azure.yaml".Split(" ")) { + foreach ($file in "ingress-azure.yaml ingress-azure.internal.yaml".Split(" ")) { ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - } - # foreach ($file in "ingress-azure.yaml ingress-azure.internal.yaml".Split(" ")) { - # ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - - # } - } Write-Host "Deploying services" $folder = "kubernetes/loadbalancer/services/cluster" -foreach ($file in "dashboard.yaml".Split(" ")) { +foreach ($file in "dashboard.yaml dashboard-internal.yaml".Split(" ")) { ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - } -# foreach ($file in "dashboard.yaml dashboard-internal.yaml".Split(" ")) { -# ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - -# } Write-Host "Deploying ingress" $folder = "kubernetes/loadbalancer/ingress" -foreach ($file in "default.yaml".Split(" ")) { +foreach ($file in "default.yaml default-internal.yaml".Split(" ")) { ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - } -# foreach ($file in "default.yaml default-internal.yaml".Split(" ")) { -# ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - -# } if ($AKS_USE_SSL -eq "y" ) { foreach ($file in "dashboard.ssl.yaml".Split(" ")) { @@ -416,27 +402,13 @@ if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/external/loadbalancer-public.yaml" -customerid $customerid ` | Foreach-Object {$_ -replace 'PUBLICIP', "$publicip"} ` | kubectl create -f - - - - # if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { - # # if we are restricting IPs then also deploy an internal load balancer - # Write-Output "Setting up a internal load balancer also since we are restricting IPs" - # ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/loadbalancer-internal.yaml" -customerid $customerid ` - # | kubectl create -f - - - # } - #kubectl create -f "$GITHUB_URL/azure/loadbalancer-public.yaml" - - #kubectl patch service traefik-ingress-service-public --loadBalancerIP=52.191.114.120 - - #kubectl patch deployment traefik-ingress-controller -p '{"spec":{"loadBalancerIP":"52.191.114.120"}}' } else { } # Write-Output "Setting up an internal load balancer" -# ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/external/loadbalancer-internal.yaml" -customerid $customerid ` -# | kubectl create -f - +ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/external/loadbalancer-internal.yaml" -customerid $customerid ` + | kubectl create -f - $startDate = Get-Date $timeoutInMinutes = 10 diff --git a/kubernetes/loadbalancer/pods/ingress-azure.internal.ssl.yaml b/kubernetes/loadbalancer/pods/ingress-azure.internal.ssl.yaml index a2242f3..951bfc5 100644 --- a/kubernetes/loadbalancer/pods/ingress-azure.internal.ssl.yaml +++ b/kubernetes/loadbalancer/pods/ingress-azure.internal.ssl.yaml @@ -10,11 +10,11 @@ spec: replicas: 1 selector: matchLabels: - k8s-app: traefik-ingress-lb + k8s-app: traefik-ingress-lb-internal template: metadata: labels: - k8s-app: traefik-ingress-lb + k8s-app: traefik-ingress-lb-internal name: traefik-ingress-lb-internal spec: serviceAccountName: traefik-ingress-serviceaccount diff --git a/kubernetes/loadbalancer/pods/ingress-azure.internal.yaml b/kubernetes/loadbalancer/pods/ingress-azure.internal.yaml index 17cf88b..4d75bbd 100644 --- a/kubernetes/loadbalancer/pods/ingress-azure.internal.yaml +++ b/kubernetes/loadbalancer/pods/ingress-azure.internal.yaml @@ -10,12 +10,12 @@ spec: replicas: 1 selector: matchLabels: - k8s-app: traefik-ingress-lb + k8s-app: traefik-ingress-lb-internal template: metadata: labels: - k8s-app: traefik-ingress-lb - name: traefik-ingress-lb + k8s-app: traefik-ingress-lb-internal + name: traefik-ingress-lb-internal spec: serviceAccountName: traefik-ingress-serviceaccount terminationGracePeriodSeconds: 60 @@ -25,7 +25,7 @@ spec: name: traefik-conf containers: - image: traefik:1.5 - name: traefik-ingress-lb + name: traefik-ingress-lb-internal volumeMounts: - mountPath: "/config" name: "config" From 012fa14b079e8842ef6d037660d29bb6fedb0f50 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 22 Feb 2018 14:21:42 -0700 Subject: [PATCH 224/473] create a restricted public load balancer for when we want to restrict to CAFE traffic only Signed-off-by: HQCATALYST\imran.qureshi --- azure/setup-loadbalancer.ps1 | 5 +++- .../loadbalancer-public.restricted.yaml | 27 +++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 kubernetes/loadbalancer/services/external/loadbalancer-public.restricted.yaml diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index 255e886..bbb7f3b 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.02.22.02" +Write-output "Version 2018.02.22.03" # # This script is meant for quick & easy install via: @@ -404,6 +404,9 @@ if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { | kubectl create -f - } else { + Write-Output "Setting up an internal load balancer" + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/external/loadbalancer-public.restricted.yaml" -customerid $customerid ` + | kubectl create -f - } # Write-Output "Setting up an internal load balancer" diff --git a/kubernetes/loadbalancer/services/external/loadbalancer-public.restricted.yaml b/kubernetes/loadbalancer/services/external/loadbalancer-public.restricted.yaml new file mode 100644 index 0000000..0289d0f --- /dev/null +++ b/kubernetes/loadbalancer/services/external/loadbalancer-public.restricted.yaml @@ -0,0 +1,27 @@ +kind: Service +apiVersion: v1 +metadata: + name: traefik-ingress-service-public + namespace: kube-system + labels: + k8s-traefik: traefik + annotations: + # from https://radu-matei.com/blog/k8s-appsvc/ + service.beta.kubernetes.io/azure-load-balancer-internal: "true" + # https://gowalker.org/k8s.io/kubernetes/pkg/cloudprovider/providers/azure + # service.beta.kubernetes.io/azure-load-balancer-internal-subnet": "" +spec: + selector: + k8s-app: traefik-ingress-lb +# k8s-app: nginx-ingress-lb +# https://kubernetes.io/docs/tutorials/services/source-ip/ + externalTrafficPolicy: "Local" + ports: + - protocol: TCP + port: 80 + name: web + - protocol: TCP + port: 443 + name: ssl + type: LoadBalancer +--- From b5bca8915944f192c20964a6b80d5c1c907a7dfe Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 22 Feb 2018 17:19:33 -0700 Subject: [PATCH 225/473] allow specifying a password when creating a serviceprincipal Signed-off-by: HQCATALYST\imran.qureshi --- azure/create-acs-cluster.ps1 | 60 ++++++++++++++++++++++++------------ 1 file changed, 41 insertions(+), 19 deletions(-) diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index d372dfc..a9459ca 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -1,4 +1,4 @@ -Write-output "--- create-acs-cluster Version 2018.02.15.01 ----" +Write-output "--- create-acs-cluster Version 2018.02.22.01 ----" # # This script is meant for quick & easy install via: @@ -33,8 +33,8 @@ Write-Output "Customer ID: $customerid" $DEFAULT_RESOURCE_GROUP = "Prod-Kub-$($customerid.ToUpper())-RG" $ResourceGroupInfo = GetResourceGroupAndLocation -defaultResourceGroup $DEFAULT_RESOURCE_GROUP -$AKS_PERS_RESOURCE_GROUP=$ResourceGroupInfo.AKS_PERS_RESOURCE_GROUP -$AKS_PERS_LOCATION=$ResourceGroupInfo.AKS_PERS_LOCATION +$AKS_PERS_RESOURCE_GROUP = $ResourceGroupInfo.AKS_PERS_RESOURCE_GROUP +$AKS_PERS_LOCATION = $ResourceGroupInfo.AKS_PERS_LOCATION $AKS_SUPPORT_WINDOWS_CONTAINERS = Read-Host "Support Windows containers (y/n) (default: n)" @@ -112,10 +112,10 @@ $AKS_PERS_STORAGE_ACCOUNT_NAME = $(CreateStorageIfNotExists -resourceGroup $AKS_ # see if the user wants to use a specific virtual network $VnetInfo = GetVnet -subscriptionId $AKS_SUBSCRIPTION_ID $AKS_VNET_NAME = $VnetInfo.AKS_VNET_NAME -$AKS_SUBNET_NAME=$VnetInfo.AKS_SUBNET_NAME -$AKS_SUBNET_RESOURCE_GROUP=$VnetInfo.AKS_SUBNET_RESOURCE_GROUP -$AKS_FIRST_STATIC_IP=$VnetInfo.AKS_FIRST_STATIC_IP -$AKS_SUBNET_CIDR=$VnetInfo.AKS_SUBNET_CIDR +$AKS_SUBNET_NAME = $VnetInfo.AKS_SUBNET_NAME +$AKS_SUBNET_RESOURCE_GROUP = $VnetInfo.AKS_SUBNET_RESOURCE_GROUP +$AKS_FIRST_STATIC_IP = $VnetInfo.AKS_FIRST_STATIC_IP +$AKS_SUBNET_CIDR = $VnetInfo.AKS_SUBNET_CIDR CleanResourceGroup -resourceGroup ${AKS_PERS_RESOURCE_GROUP} -location $AKS_PERS_LOCATION -vnet $AKS_VNET_NAME ` -subnet $AKS_SUBNET_NAME -subnetResourceGroup $AKS_SUBNET_RESOURCE_GROUP ` @@ -128,28 +128,44 @@ $AKS_SERVICE_PRINCIPAL_CLIENTID = az ad sp list --display-name ${AKS_SERVICE_PRI $myscope = "/subscriptions/${AKS_SUBSCRIPTION_ID}/resourceGroups/${AKS_PERS_RESOURCE_GROUP}" +# https://docs.microsoft.com/en-us/azure/active-directory/active-directory-passwords-policy if ("$AKS_SERVICE_PRINCIPAL_CLIENTID") { Write-Host "Service Principal already exists with name: [$AKS_SERVICE_PRINCIPAL_NAME]" - Write-Output "Deleting..." - az ad sp delete --id "$AKS_SERVICE_PRINCIPAL_CLIENTID" --verbose - # https://github.com/Azure/azure-cli/issues/1332 - Write-Output "Sleeping to wait for Service Principal to propagate" - Start-Sleep -Seconds 30; + $servicePrincipalPassword = ReadSecretPassword -secretname "serviceprincipal" + if ([string]::IsNullOrWhiteSpace($servicePrincipalPassword)) { + $servicePrincipalPassword = Read-Host "Service account password to use (leave empty to recreate service account))" + if ([string]::IsNullOrWhiteSpace($servicePrincipalPassword)) { + $servicePrincipalPassword = GeneratePassword + Write-Output "Deleting service principal:$AKS_SERVICE_PRINCIPAL_CLIENTID ..." + az ad sp delete --id "$AKS_SERVICE_PRINCIPAL_CLIENTID" --verbose + # https://github.com/Azure/azure-cli/issues/1332 + Write-Output "Sleeping to wait for Service Principal to propagate" + Start-Sleep -Seconds 30; + + Write-Output "Creating Service Principal: [$AKS_SERVICE_PRINCIPAL_NAME]" + $AKS_SERVICE_PRINCIPAL_CLIENTSECRET = az ad sp create-for-rbac --role="Owner" --scopes="$myscope" --name ${AKS_SERVICE_PRINCIPAL_NAME} --password $servicePrincipalPassword --query "password" --output tsv + # the above command changes the color because it retries role assignment creation + [Console]::ResetColor() + } + else { + $AKS_SERVICE_PRINCIPAL_CLIENTSECRET = $servicePrincipalPassword + } + } + else { + Write-Host "Found past servicePrincipalPassword: $servicePrincipalPassword" + $AKS_SERVICE_PRINCIPAL_CLIENTSECRET = $servicePrincipalPassword + } - Write-Output "Creating Service Principal: [$AKS_SERVICE_PRINCIPAL_NAME]" - $AKS_SERVICE_PRINCIPAL_CLIENTSECRET = az ad sp create-for-rbac --role="Owner" --scopes="$myscope" --name ${AKS_SERVICE_PRINCIPAL_NAME} --query "password" --output tsv - # the above command changes the color because it retries role assignment creation - [Console]::ResetColor() # https://github.com/Azure/azure-cli/issues/1332 Write-Output "Sleeping to wait for Service Principal to propagate" Start-Sleep -Seconds 30; $AKS_SERVICE_PRINCIPAL_CLIENTID = az ad sp list --display-name ${AKS_SERVICE_PRINCIPAL_NAME} --query "[].appId" --output tsv Write-Output "created $AKS_SERVICE_PRINCIPAL_NAME clientId=$AKS_SERVICE_PRINCIPAL_CLIENTID clientsecret=$AKS_SERVICE_PRINCIPAL_CLIENTSECRET" - } else { + $servicePrincipalPassword = GeneratePassword Write-Output "Creating Service Principal: [$AKS_SERVICE_PRINCIPAL_NAME]" - $AKS_SERVICE_PRINCIPAL_CLIENTSECRET = az ad sp create-for-rbac --role="Contributor" --scopes="$myscope" --name ${AKS_SERVICE_PRINCIPAL_NAME} --query "password" --output tsv + $AKS_SERVICE_PRINCIPAL_CLIENTSECRET = az ad sp create-for-rbac --role="Contributor" --scopes="$myscope" --name ${AKS_SERVICE_PRINCIPAL_NAME} --password $servicePrincipalPassword --query "password" --output tsv # https://github.com/Azure/azure-cli/issues/1332 Write-Output "Sleeping to wait for Service Principal to propagate" Start-Sleep -Seconds 30; @@ -214,7 +230,7 @@ else { # subnet CIDR to mask # https://doc.m0n0.ch/quickstartpc/intro-CIDR.html -$WINDOWS_PASSWORD = "replacepassword1234$" +$WINDOWS_PASSWORD = GeneratePassword Write-Output "replacing values in the acs.json file" Write-Output "AKS_SSH_KEY: $AKS_SSH_KEY" Write-Output "AKS_SERVICE_PRINCIPAL_CLIENTID: $AKS_SERVICE_PRINCIPAL_CLIENTID" @@ -390,6 +406,12 @@ Write-Output "Creating kubernetes secret for customerid: customerid" kubectl create secret generic customerid --from-literal=value=$customerid Write-Output "Creating kubernetes secret for vnet: azure-vnet" kubectl create secret generic azure-vnet --from-literal=vnet="${AKS_VNET_NAME}" --from-literal=subnet="${AKS_SUBNET_NAME}" --from-literal=subnetResourceGroup="${AKS_SUBNET_RESOURCE_GROUP}" +Write-Output "Creating kubernetes secret for service principal" +kubectl create secret generic serviceprincipal --from-literal=password="$servicePrincipalPassword" +if (![string]::IsNullOrEmpty($WINDOWS_PASSWORD)) { + Write-Output "Creating kubernetes secret for windows VM" + kubectl create secret generic windowspassword --from-literal=password="$WINDOWS_PASSWORD" +} kubectl get "deployments,pods,services,ingress,secrets" --namespace=kube-system -o wide From 28c134bcf8b3a37c7ac323c59f9f89702f2731f7 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 22 Feb 2018 17:29:50 -0700 Subject: [PATCH 226/473] show clientsecret before running template Signed-off-by: HQCATALYST\imran.qureshi --- azure/create-acs-cluster.ps1 | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index a9459ca..6e49ebe 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -1,4 +1,4 @@ -Write-output "--- create-acs-cluster Version 2018.02.22.01 ----" +Write-output "--- create-acs-cluster Version 2018.02.22.02 ----" # # This script is meant for quick & easy install via: @@ -169,6 +169,7 @@ else { # https://github.com/Azure/azure-cli/issues/1332 Write-Output "Sleeping to wait for Service Principal to propagate" Start-Sleep -Seconds 30; + [Console]::ResetColor() $AKS_SERVICE_PRINCIPAL_CLIENTID = az ad sp list --display-name ${AKS_SERVICE_PRINCIPAL_NAME} --query "[].appId" --output tsv Write-Output "created $AKS_SERVICE_PRINCIPAL_NAME clientId=$AKS_SERVICE_PRINCIPAL_CLIENTID clientsecret=$AKS_SERVICE_PRINCIPAL_CLIENTSECRET" @@ -234,9 +235,11 @@ $WINDOWS_PASSWORD = GeneratePassword Write-Output "replacing values in the acs.json file" Write-Output "AKS_SSH_KEY: $AKS_SSH_KEY" Write-Output "AKS_SERVICE_PRINCIPAL_CLIENTID: $AKS_SERVICE_PRINCIPAL_CLIENTID" +Write-Output "AKS_SERVICE_PRINCIPAL_CLIENTSECRET: $AKS_SERVICE_PRINCIPAL_CLIENTSECRET" Write-Output "SUBNET: ${mysubnetid}" Write-Output "DNS NAME: ${dnsNamePrefix}" Write-Output "FIRST STATIC IP: $AKS_FIRST_STATIC_IP" +Write-Output "WINDOWS PASSWORD: $WINDOWS_PASSWORD" Write-Output "AKS_SUBNET_CIDR: $AKS_SUBNET_CIDR" $MyFile = (Get-Content $output) | Foreach-Object {$_ -replace 'REPLACE-SSH-KEY', "${AKS_SSH_KEY}"} | From d42803fb9a97dbd80ca8bd12d00eef6546148fa4 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 22 Feb 2018 17:52:49 -0700 Subject: [PATCH 227/473] write service principal name to secret Signed-off-by: HQCATALYST\imran.qureshi --- azure/create-acs-cluster.ps1 | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index 6e49ebe..9404e27 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -1,4 +1,4 @@ -Write-output "--- create-acs-cluster Version 2018.02.22.02 ----" +Write-output "--- create-acs-cluster Version 2018.02.22.03 ----" # # This script is meant for quick & easy install via: @@ -131,11 +131,10 @@ $myscope = "/subscriptions/${AKS_SUBSCRIPTION_ID}/resourceGroups/${AKS_PERS_RESO # https://docs.microsoft.com/en-us/azure/active-directory/active-directory-passwords-policy if ("$AKS_SERVICE_PRINCIPAL_CLIENTID") { Write-Host "Service Principal already exists with name: [$AKS_SERVICE_PRINCIPAL_NAME]" - $servicePrincipalPassword = ReadSecretPassword -secretname "serviceprincipal" - if ([string]::IsNullOrWhiteSpace($servicePrincipalPassword)) { - $servicePrincipalPassword = Read-Host "Service account password to use (leave empty to recreate service account))" - if ([string]::IsNullOrWhiteSpace($servicePrincipalPassword)) { - $servicePrincipalPassword = GeneratePassword + $AKS_SERVICE_PRINCIPAL_CLIENTSECRET = ReadSecretPassword -secretname "serviceprincipal" + if ([string]::IsNullOrWhiteSpace($AKS_SERVICE_PRINCIPAL_CLIENTSECRET)) { + $AKS_SERVICE_PRINCIPAL_CLIENTSECRET = Read-Host "Service account password to use (leave empty to recreate service account))" + if ([string]::IsNullOrWhiteSpace($AKS_SERVICE_PRINCIPAL_CLIENTSECRET)) { Write-Output "Deleting service principal:$AKS_SERVICE_PRINCIPAL_CLIENTID ..." az ad sp delete --id "$AKS_SERVICE_PRINCIPAL_CLIENTID" --verbose # https://github.com/Azure/azure-cli/issues/1332 @@ -143,17 +142,15 @@ if ("$AKS_SERVICE_PRINCIPAL_CLIENTID") { Start-Sleep -Seconds 30; Write-Output "Creating Service Principal: [$AKS_SERVICE_PRINCIPAL_NAME]" - $AKS_SERVICE_PRINCIPAL_CLIENTSECRET = az ad sp create-for-rbac --role="Owner" --scopes="$myscope" --name ${AKS_SERVICE_PRINCIPAL_NAME} --password $servicePrincipalPassword --query "password" --output tsv + $AKS_SERVICE_PRINCIPAL_CLIENTSECRET = az ad sp create-for-rbac --role="Owner" --scopes="$myscope" --name ${AKS_SERVICE_PRINCIPAL_NAME} --query "password" --output tsv # the above command changes the color because it retries role assignment creation [Console]::ResetColor() } else { - $AKS_SERVICE_PRINCIPAL_CLIENTSECRET = $servicePrincipalPassword } } else { - Write-Host "Found past servicePrincipalPassword: $servicePrincipalPassword" - $AKS_SERVICE_PRINCIPAL_CLIENTSECRET = $servicePrincipalPassword + Write-Host "Found past servicePrincipal client secret: $AKS_SERVICE_PRINCIPAL_CLIENTSECRET" } # https://github.com/Azure/azure-cli/issues/1332 @@ -163,9 +160,8 @@ if ("$AKS_SERVICE_PRINCIPAL_CLIENTID") { Write-Output "created $AKS_SERVICE_PRINCIPAL_NAME clientId=$AKS_SERVICE_PRINCIPAL_CLIENTID clientsecret=$AKS_SERVICE_PRINCIPAL_CLIENTSECRET" } else { - $servicePrincipalPassword = GeneratePassword Write-Output "Creating Service Principal: [$AKS_SERVICE_PRINCIPAL_NAME]" - $AKS_SERVICE_PRINCIPAL_CLIENTSECRET = az ad sp create-for-rbac --role="Contributor" --scopes="$myscope" --name ${AKS_SERVICE_PRINCIPAL_NAME} --password $servicePrincipalPassword --query "password" --output tsv + $AKS_SERVICE_PRINCIPAL_CLIENTSECRET = az ad sp create-for-rbac --role="Contributor" --scopes="$myscope" --name ${AKS_SERVICE_PRINCIPAL_NAME} --query "password" --output tsv # https://github.com/Azure/azure-cli/issues/1332 Write-Output "Sleeping to wait for Service Principal to propagate" Start-Sleep -Seconds 30; @@ -410,7 +406,7 @@ kubectl create secret generic customerid --from-literal=value=$customerid Write-Output "Creating kubernetes secret for vnet: azure-vnet" kubectl create secret generic azure-vnet --from-literal=vnet="${AKS_VNET_NAME}" --from-literal=subnet="${AKS_SUBNET_NAME}" --from-literal=subnetResourceGroup="${AKS_SUBNET_RESOURCE_GROUP}" Write-Output "Creating kubernetes secret for service principal" -kubectl create secret generic serviceprincipal --from-literal=password="$servicePrincipalPassword" +kubectl create secret generic serviceprincipal --from-literal=clientid="$AKS_SERVICE_PRINCIPAL_CLIENTID" --from-literal=password="$AKS_SERVICE_PRINCIPAL_CLIENTSECRET" if (![string]::IsNullOrEmpty($WINDOWS_PASSWORD)) { Write-Output "Creating kubernetes secret for windows VM" kubectl create secret generic windowspassword --from-literal=password="$WINDOWS_PASSWORD" From 07d84a39b667aa17a9afeb190027cd4479203055 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 22 Feb 2018 18:53:08 -0700 Subject: [PATCH 228/473] read previous vnet from secrets Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 77 ++++++++++++++++++++---------------- azure/create-acs-cluster.ps1 | 4 +- kubernetes/common-kube.ps1 | 4 +- 3 files changed, 46 insertions(+), 39 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index 3dd415d..e0fde09 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.02.21.04" +$versioncommon = "2018.02.22.01" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -362,46 +362,53 @@ function global:GetVnet($subscriptionId) { while ([string]::IsNullOrWhiteSpace($confirmation)) if ($confirmation -eq 'y') { - Write-Host "Finding existing vnets..." - # az network vnet list --query "[].[name,resourceGroup ]" -o tsv + # see if we had previously connected to a vnet + $vnetName = ReadSecretValue -secretname azure-vnet -valueName vnet + $subnetName = ReadSecretValue -secretname azure-vnet -valueName subnet + $subnetResourceGroup = ReadSecretValue -secretname azure-vnet -valueName subnetResourceGroup + + if ([string]::IsNullOrEmpty($vnetName)) { + Write-Host "Finding existing vnets..." + # az network vnet list --query "[].[name,resourceGroup ]" -o tsv - $vnets = az network vnet list --query "[].[name]" -o tsv + $vnets = az network vnet list --query "[].[name]" -o tsv - Do { - Write-Host "------ Existing vnets -------" - for ($i = 1; $i -le $vnets.count; $i++) { - Write-Host "$i. $($vnets[$i-1])" - } - Write-Host "------ End vnets -------" + Do { + Write-Host "------ Existing vnets -------" + for ($i = 1; $i -le $vnets.count; $i++) { + Write-Host "$i. $($vnets[$i-1])" + } + Write-Host "------ End vnets -------" - $index = Read-Host "Enter number of vnet to use (1 - $($vnets.count))" - $vnetName = $($vnets[$index - 1]) - } - while ([string]::IsNullOrWhiteSpace($vnetName)) + $index = Read-Host "Enter number of vnet to use (1 - $($vnets.count))" + $vnetName = $($vnets[$index - 1]) + } + while ([string]::IsNullOrWhiteSpace($vnetName)) - $subnetResourceGroup = az network vnet list --query "[?name == '$vnetName'].resourceGroup" -o tsv - Write-Host "Using subnet resource group: [$subnetResourceGroup]" + $subnetResourceGroup = az network vnet list --query "[?name == '$vnetName'].resourceGroup" -o tsv + Write-Host "Using subnet resource group: [$subnetResourceGroup]" - Write-Host "Finding existing subnets in $vnetName ..." - $subnets = az network vnet subnet list --resource-group $subnetResourceGroup --vnet-name $vnetName --query "[].name" -o tsv + Write-Host "Finding existing subnets in $vnetName ..." + $subnets = az network vnet subnet list --resource-group $subnetResourceGroup --vnet-name $vnetName --query "[].name" -o tsv - if ($subnets.count -eq 1) { - Write-Host "There is only one subnet called $subnets so choosing that" - $subnetName = $subnets - } - else { - Do { - Write-Host "------ Subnets in $vnetName -------" - for ($i = 1; $i -le $subnets.count; $i++) { - Write-Host "$i. $($subnets[$i-1])" - } - Write-Host "------ End Subnets -------" - - Write-Host "NOTE: Each customer should have their own subnet. Do not put multiple customers in the same subnet" - $index = Read-Host "Enter number of subnet to use (1 - $($subnets.count))" - $subnetName = $($subnets[$index - 1]) + if ($subnets.count -eq 1) { + Write-Host "There is only one subnet called $subnets so choosing that" + $subnetName = $subnets } - while ([string]::IsNullOrWhiteSpace($subnetName)) + else { + Do { + Write-Host "------ Subnets in $vnetName -------" + for ($i = 1; $i -le $subnets.count; $i++) { + Write-Host "$i. $($subnets[$i-1])" + } + Write-Host "------ End Subnets -------" + + Write-Host "NOTE: Each customer should have their own subnet. Do not put multiple customers in the same subnet" + $index = Read-Host "Enter number of subnet to use (1 - $($subnets.count))" + $subnetName = $($subnets[$index - 1]) + } + while ([string]::IsNullOrWhiteSpace($subnetName)) + } } # verify the subnet exists @@ -425,7 +432,7 @@ function global:GetVnet($subscriptionId) { $firstStaticIP = "" $suggestedFirstStaticIP = Get-FirstIP -ip ${subnetCidr} - $firstStaticIP = Read-Host "First static IP: (default: $suggestedFirstStaticIP )" + # $firstStaticIP = Read-Host "First static IP: (default: $suggestedFirstStaticIP )" if ([string]::IsNullOrWhiteSpace($firstStaticIP)) { $firstStaticIP = "$suggestedFirstStaticIP" diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index 9404e27..7bf669b 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -1,4 +1,4 @@ -Write-output "--- create-acs-cluster Version 2018.02.22.03 ----" +Write-output "--- create-acs-cluster Version 2018.02.22.04 ----" # # This script is meant for quick & easy install via: @@ -227,7 +227,7 @@ else { # subnet CIDR to mask # https://doc.m0n0.ch/quickstartpc/intro-CIDR.html -$WINDOWS_PASSWORD = GeneratePassword +$WINDOWS_PASSWORD = "replacepassword1234$" Write-Output "replacing values in the acs.json file" Write-Output "AKS_SSH_KEY: $AKS_SSH_KEY" Write-Output "AKS_SERVICE_PRINCIPAL_CLIENTID: $AKS_SERVICE_PRINCIPAL_CLIENTID" diff --git a/kubernetes/common-kube.ps1 b/kubernetes/common-kube.ps1 index 3f92867..bef9624 100644 --- a/kubernetes/common-kube.ps1 +++ b/kubernetes/common-kube.ps1 @@ -1,5 +1,5 @@ # this file contains common functions for kubernetes -$versionkubecommon = "2018.02.20.03" +$versionkubecommon = "2018.02.22.01" Write-Host "Including common-kube.ps1 version $versionkubecommon" function global:GetCommonKubeVersion() { @@ -9,7 +9,7 @@ function global:GetCommonKubeVersion() { function global:ReadSecretValue($secretname, $valueName, $namespace) { if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} - $secretbase64 = kubectl get secret $secretname -o jsonpath="{.data.${valueName}}" -n $namespace --ignore-not-found=true + $secretbase64 = kubectl get secret $secretname -o jsonpath="{.data.${valueName}}" -n $namespace --ignore-not-found=true 2> $null if (![string]::IsNullOrWhiteSpace($secretbase64)) { $secretvalue = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($secretbase64)) From b9812bb1db1e56d50b5b1a2e1201625529ce67b7 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 22 Feb 2018 19:03:58 -0700 Subject: [PATCH 229/473] renumber main.ps1 Signed-off-by: HQCATALYST\imran.qureshi --- azure/main.ps1 | 57 +++++++++++++++++++++++++------------------------- 1 file changed, 29 insertions(+), 28 deletions(-) diff --git a/azure/main.ps1 b/azure/main.ps1 index 3bcb1ae..62f2e4e 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.02.21.04" +$version = "2018.02.22.01" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -20,25 +20,26 @@ while ($userinput -ne "q") { Write-Host "================ Health Catalyst version $version, common functions $(GetCommonVersion) ================" Write-Host "----- Choose Cluster -----" Write-Host "0: Change kube to point to another cluster" - Write-Host "------ Install -------" + Write-Host "------ Infrastructure -------" Write-Host "1: Create a new Azure Container Service" Write-Host "2: Setup Load Balancer" - Write-Host "3: Install NLP" - Write-Host "4: Install Realtime" + Write-Host "------ Install -------" + Write-Host "11: Install NLP" + Write-Host "12: Install Realtime" Write-Host "----- Troubleshooting ----" - Write-Host "5: Show status of cluster" - Write-Host "6: Launch Kubernetes Admin Dashboard" - Write-Host "7: Show SSH commands to VMs" - Write-Host "8: View status of DNS pods" - Write-Host "9: Restart all VMs" + Write-Host "21: Show status of cluster" + Write-Host "22: Launch Kubernetes Admin Dashboard" + Write-Host "23: Show SSH commands to VMs" + Write-Host "24: View status of DNS pods" + Write-Host "25: Restart all VMs" Write-Host "------ NLP -----" - Write-Host "10: Show status of NLP" - Write-Host "11: Test web sites" - Write-Host "12: Show passwords" - Write-Host "13: Show NLP logs" - Write-Host "14: Restart NLP" + Write-Host "30: Show status of NLP" + Write-Host "31: Test web sites" + Write-Host "32: Show passwords" + Write-Host "33: Show NLP logs" + Write-Host "34: Restart NLP" Write-Host "------ Realtime -----" - Write-Host "15: Show status of realtime" + Write-Host "41: Show status of realtime" Write-Host "-----------" Write-Host "q: Quit" $userinput = Read-Host "Please make a selection" @@ -71,18 +72,18 @@ while ($userinput -ne "q") { '2' { Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/setup-loadbalancer.ps1 | Invoke-Expression; } - '3' { + '11' { Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | Invoke-Expression; } - '4' { + '12' { Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.ps1 | Invoke-Expression; } - '5' { + '21' { Write-Host "Current cluster: $(kubectl config current-context)" kubectl version --short kubectl get "deployments,pods,services,ingress,secrets" --namespace=kube-system -o wide } - '6' { + '22' { # launch Kubernetes dashboard $launchJob = $true $existingProcess = Get-ProcessByPort 8001 @@ -120,7 +121,7 @@ while ($userinput -ne "q") { Start-Process -FilePath "http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/"; } } - '7' { + '23' { # $AKS_PERS_RESOURCE_GROUP = ReadSecretValue -secretname azure-secret -valueName resourcegroup if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) { @@ -171,7 +172,7 @@ while ($userinput -ne "q") { # list vm sizes available: az vm list-sizes --location "eastus" --query "[].name" } - '8' { + '24' { kubectl get pods -l k8s-app=kube-dns -n kube-system -o wide Do { $confirmation = Read-Host "Do you want to restart DNS pods? (y/n)"} while ([string]::IsNullOrWhiteSpace($confirmation)) @@ -184,7 +185,7 @@ while ($userinput -ne "q") { } } } - '9' { + '25' { # restart VMs $AKS_PERS_RESOURCE_GROUP = ReadSecretValue -secretname azure-secret -valueName resourcegroup # UpdateOSInVMs -resourceGroup $AKS_PERS_RESOURCE_GROUP @@ -192,10 +193,10 @@ while ($userinput -ne "q") { SetHostFileInVms -resourceGroup $AKS_PERS_RESOURCE_GROUP SetupCronTab -resourceGroup $AKS_PERS_RESOURCE_GROUP } - '10' { + '30' { kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide } - '11' { + '31' { $loadBalancerIP = kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' --ignore-not-found=true if ([string]::IsNullOrWhiteSpace($loadBalancerIP)) { @@ -217,22 +218,22 @@ while ($userinput -ne "q") { Write-Output "$loadBalancerIP nlpjobs.$customerid.healthcatalyst.net" } - '12' { + '32' { Write-Host "MySql root password: $(ReadSecretPassword -secretname mysqlrootpassword -namespace fabricnlp)" Write-Host "MySql NLP_APP_USER password: $(ReadSecretPassword -secretname mysqlpassword -namespace fabricnlp)" Write-Host "SendGrid SMTP Relay key: $(ReadSecretPassword -secretname smtprelaypassword -namespace fabricnlp)" } - '13' { + '33' { $pods = $(kubectl get pods -n fabricnlp -o jsonpath='{.items[*].metadata.name}') foreach ($pod in $pods.Split(" ")) { Write-Output "=============== Pod: $pod =================" kubectl logs --tail=20 $pod -n fabricnlp } } - '14' { + '34' { kubectl delete --all 'pods' --namespace=fabricnlp --ignore-not-found=true } - '15' { + '41' { kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime -o wide } 'q' { From 09517f1eb5b9f58960569c225a60c87f6bc0c732 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 22 Feb 2018 19:18:50 -0700 Subject: [PATCH 230/473] added option to menu to start and stop VMs Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 5 +++-- azure/main.ps1 | 16 ++++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index e0fde09..4ed6535 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.02.22.01" +$versioncommon = "2018.02.22.02" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -532,7 +532,8 @@ function global:DownloadAzCliIfNeeded() { Write-Host "Running MSI to install az" $azCliInstallLog = ([System.IO.Path]::GetTempPath() + ('az-cli-latest.log')) # msiexec flags: https://msdn.microsoft.com/en-us/library/windows/desktop/aa367988(v=vs.85).aspx - Start-Process -Verb runAs msiexec.exe -Wait -ArgumentList "/i $azCliFile /qn /L*e $azCliInstallLog" + # Start-Process -Verb runAs msiexec.exe -Wait -ArgumentList "/i $azCliFile /qn /L*e $azCliInstallLog" + Start-Process -Verb runAs msiexec.exe -Wait -ArgumentList "/i $azCliFile" Write-Host "Finished installing az-cli-latest.msi" } diff --git a/azure/main.ps1 b/azure/main.ps1 index 62f2e4e..150c715 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -23,6 +23,8 @@ while ($userinput -ne "q") { Write-Host "------ Infrastructure -------" Write-Host "1: Create a new Azure Container Service" Write-Host "2: Setup Load Balancer" + Write-Host "3: Start VMs in Resource Group" + Write-Host "4: Stop VMs in Resource Group" Write-Host "------ Install -------" Write-Host "11: Install NLP" Write-Host "12: Install Realtime" @@ -72,6 +74,20 @@ while ($userinput -ne "q") { '2' { Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/setup-loadbalancer.ps1 | Invoke-Expression; } + '3' { + Do { + $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group" + } + while ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) + az vm start --ids $(az vm list -g $AKS_PERS_RESOURCE_GROUP --query "[].id" -o tsv) + } + '4' { + Do { + $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group" + } + while ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) + az vm stop --ids $(az vm list -g $AKS_PERS_RESOURCE_GROUP --query "[].id" -o tsv) + } '11' { Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | Invoke-Expression; } From 943c978781efa63958230df5e89949bdf841216b Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 22 Feb 2018 19:39:44 -0800 Subject: [PATCH 231/473] show progress when downloading Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 62 ++++++++++++++++++++++++++++++++++-- azure/create-acs-cluster.ps1 | 4 ++- kubernetes/common-kube.ps1 | 28 +--------------- 3 files changed, 63 insertions(+), 31 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index 4ed6535..0af214d 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.02.22.02" +$versioncommon = "2018.02.22.04" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -333,7 +333,8 @@ function global:CreateStorageIfNotExists($resourceGroup) { if ($storageAccountCanBeCreated -ne "True" ) { az storage account check-name --name $storageAccountName - Do { $confirmation = Read-Host "Storage account, [$storageAccountName], already exists. Delete it? (WARNING: deletes data) (y/n)"} + Write-Warning "Storage account, [$storageAccountName], already exists. Deleting it will remove this data permanently" + Do { $confirmation = Read-Host "Delete storage account: (WARNING: deletes data) (y/n)"} while ([string]::IsNullOrWhiteSpace($confirmation)) if ($confirmation -eq 'y') { @@ -527,7 +528,9 @@ function global:DownloadAzCliIfNeeded() { If (Test-Path $azCliFile) { Remove-Item $azCliFile -Force } - (New-Object System.Net.WebClient).DownloadFile($url, $azCliFile) + + DownloadFile -url $url -targetFile $azCliFile + # https://kevinmarquette.github.io/2016-10-21-powershell-installing-msi-files/ Write-Host "Running MSI to install az" $azCliInstallLog = ([System.IO.Path]::GetTempPath() + ('az-cli-latest.log')) @@ -675,5 +678,58 @@ function global:DeleteNetworkSecurityGroupRule($resourceGroup, $networkSecurityG az network nsg rule delete -g $resourceGroup --nsg-name $networkSecurityGroup -n $rulename } } + +function global:DownloadKubectl($localFolder) { + # download kubectl + $kubeCtlFile = "$localFolder\kubectl.exe" + $desiredKubeCtlVersion = "v1.9.3" + $downloadkubectl = "n" + if (!(Test-Path "$kubeCtlFile")) { + $downloadkubectl = "y" + } + else { + $kubectlversion = kubectl version --client=true --short=true + $kubectlversionMatches = $($kubectlversion -match "$desiredKubeCtlVersion") + if (!$kubectlversionMatches) { + $downloadkubectl = "y" + } + } + if ( $downloadkubectl -eq "y") { + $url = "https://storage.googleapis.com/kubernetes-release/release/${desiredKubeCtlVersion}/bin/windows/amd64/kubectl.exe" + Write-Output "Downloading kubectl.exe from url $url to $kubeCtlFile" + Remove-Item -Path "$kubeCtlFile" + DownloadFile -url $url -targetFile $kubeCtlFile + } + else { + Write-Output "kubectl already exists at $kubeCtlFile" + } + +} +function global:DownloadFile($url, $targetFile) +{ + # from https://stackoverflow.com/questions/21422364/is-there-any-way-to-monitor-the-progress-of-a-download-using-a-webclient-object + $uri = New-Object "System.Uri" "$url" + $request = [System.Net.HttpWebRequest]::Create($uri) + $request.set_Timeout(15000) #15 second timeout + $response = $request.GetResponse() + $totalLength = [System.Math]::Floor($response.get_ContentLength() / 1024) + $responseStream = $response.GetResponseStream() + $targetStream = New-Object -TypeName System.IO.FileStream -ArgumentList $targetFile, Create + $buffer = new-object byte[] 10KB + $count = $responseStream.Read($buffer, 0, $buffer.length) + $downloadedBytes = $count + while ($count -gt 0) { + $targetStream.Write($buffer, 0, $count) + $count = $responseStream.Read($buffer, 0, $buffer.length) + $downloadedBytes = $downloadedBytes + $count + Write-Progress -activity "Downloading file '$($url.split('/') | Select-Object -Last 1)'" -status "Downloaded ($([System.Math]::Floor($downloadedBytes/1024))K of $($totalLength)K): " -PercentComplete ((([System.Math]::Floor($downloadedBytes / 1024)) / $totalLength) * 100) + } + + Write-Progress -activity "Finished downloading file '$($url.split('/') | Select-Object -Last 1)'" + $targetStream.Flush() + $targetStream.Close() + $targetStream.Dispose() + $responseStream.Dispose() +} #------------------- Write-Host "end common.ps1 version $versioncommon" diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index 7bf669b..70dcd98 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -93,7 +93,9 @@ if ($downloadACSEngine -eq "y") { $url = "https://github.com/Azure/acs-engine/releases/download/${DESIRED_ACS_ENGINE_VERSION}/acs-engine-${DESIRED_ACS_ENGINE_VERSION}-windows-amd64.zip" Write-Output "Downloading acs-engine.exe from $url to $ACS_ENGINE_FILE" Remove-Item -Path "$ACS_ENGINE_FILE" - (New-Object System.Net.WebClient).DownloadFile($url, "$AKS_LOCAL_FOLDER\acs-engine.zip") + + DownloadFile -url $url -targetFile "$AKS_LOCAL_FOLDER\acs-engine.zip" + Expand-Archive -Path "$AKS_LOCAL_FOLDER\acs-engine.zip" -DestinationPath "$AKS_LOCAL_FOLDER" -Force Copy-Item -Path "$AKS_LOCAL_FOLDER\acs-engine-${DESIRED_ACS_ENGINE_VERSION}-windows-amd64\acs-engine.exe" -Destination $ACS_ENGINE_FILE } diff --git a/kubernetes/common-kube.ps1 b/kubernetes/common-kube.ps1 index bef9624..55e2d2e 100644 --- a/kubernetes/common-kube.ps1 +++ b/kubernetes/common-kube.ps1 @@ -1,5 +1,5 @@ # this file contains common functions for kubernetes -$versionkubecommon = "2018.02.22.01" +$versionkubecommon = "2018.02.22.02" Write-Host "Including common-kube.ps1 version $versionkubecommon" function global:GetCommonKubeVersion() { @@ -148,32 +148,6 @@ function global:Stop-ProcessByPort( [ValidateNotNullOrEmpty()] [int] $Port ) { } -function global:DownloadKubectl($localFolder) { - # download kubectl - $kubeCtlFile = "$localFolder\kubectl.exe" - $desiredKubeCtlVersion = "v1.9.3" - $downloadkubectl = "n" - if (!(Test-Path "$kubeCtlFile")) { - $downloadkubectl = "y" - } - else { - $kubectlversion = kubectl version --client=true --short=true - $kubectlversionMatches = $($kubectlversion -match "$desiredKubeCtlVersion") - if (!$kubectlversionMatches) { - $downloadkubectl = "y" - } - } - if ( $downloadkubectl -eq "y") { - $url = "https://storage.googleapis.com/kubernetes-release/release/${desiredKubeCtlVersion}/bin/windows/amd64/kubectl.exe" - Write-Output "Downloading kubectl.exe from url $url to $kubeCtlFile" - Remove-Item -Path "$kubeCtlFile" - (New-Object System.Net.WebClient).DownloadFile($url, $kubeCtlFile) - } - else { - Write-Output "kubectl already exists at $kubeCtlFile" - } - -} function global:CleanOutNamespace($namespace){ From 38011e08cb198c9338716ce7af11062b80b7fa6b Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 22 Feb 2018 21:20:32 -0800 Subject: [PATCH 232/473] add menu item to renew azure token Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 4 +++- azure/main.ps1 | 35 ++++++++++++++++++++++------------ azure/setup-loadbalancer.ps1 | 37 ++++++++++++++++++------------------ nlp/installnlpkubernetes.ps1 | 3 ++- 4 files changed, 47 insertions(+), 32 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index 0af214d..2372bec 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.02.22.04" +$versioncommon = "2018.02.22.05" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -10,6 +10,8 @@ function global:GetCommonVersion() { function global:CreateShareInStorageAccount($storageAccountName, $resourceGroup, $sharename, $deleteExisting) { $AZURE_STORAGE_CONNECTION_STRING = az storage account show-connection-string -n $storageAccountName -g $resourceGroup -o tsv + Write-Host "Storage connection string: $AZURE_STORAGE_CONNECTION_STRING" + if ($deleteExisting) { if ($(az storage share exists -n $sharename --connection-string $AZURE_STORAGE_CONNECTION_STRING --query "exists" -o tsv)) { Write-Host "Deleting the file share: $sharename" diff --git a/azure/main.ps1 b/azure/main.ps1 index 150c715..6e78787 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.02.22.01" +$version = "2018.02.22.02" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -25,15 +25,16 @@ while ($userinput -ne "q") { Write-Host "2: Setup Load Balancer" Write-Host "3: Start VMs in Resource Group" Write-Host "4: Stop VMs in Resource Group" + Write-Host "5: Renew Azure token" Write-Host "------ Install -------" Write-Host "11: Install NLP" Write-Host "12: Install Realtime" Write-Host "----- Troubleshooting ----" - Write-Host "21: Show status of cluster" - Write-Host "22: Launch Kubernetes Admin Dashboard" - Write-Host "23: Show SSH commands to VMs" - Write-Host "24: View status of DNS pods" - Write-Host "25: Restart all VMs" + Write-Host "20: Show status of cluster" + Write-Host "21: Launch Kubernetes Admin Dashboard" + Write-Host "22: Show SSH commands to VMs" + Write-Host "23: View status of DNS pods" + Write-Host "24: Restart all VMs" Write-Host "------ NLP -----" Write-Host "30: Show status of NLP" Write-Host "31: Test web sites" @@ -88,18 +89,28 @@ while ($userinput -ne "q") { while ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) az vm stop --ids $(az vm list -g $AKS_PERS_RESOURCE_GROUP --query "[].id" -o tsv) } + '5' { + $expiresOn = $(az account get-access-token --query "expiresOn" -o tsv) + Do { $confirmation = Read-Host "Your current access token expires on $expiresOn. Do you want to login again to get a new access token? (y/n)"} + while ([string]::IsNullOrWhiteSpace($confirmation)) + + if ($confirmation -eq "y") { + az account clear + az login + } + } '11' { Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | Invoke-Expression; } '12' { Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.ps1 | Invoke-Expression; } - '21' { + '20' { Write-Host "Current cluster: $(kubectl config current-context)" kubectl version --short - kubectl get "deployments,pods,services,ingress,secrets" --namespace=kube-system -o wide + kubectl get "deployments,pods,services,ingress,secrets,nodes" --namespace=kube-system -o wide } - '22' { + '21' { # launch Kubernetes dashboard $launchJob = $true $existingProcess = Get-ProcessByPort 8001 @@ -137,7 +148,7 @@ while ($userinput -ne "q") { Start-Process -FilePath "http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/"; } } - '23' { + '22' { # $AKS_PERS_RESOURCE_GROUP = ReadSecretValue -secretname azure-secret -valueName resourcegroup if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) { @@ -188,7 +199,7 @@ while ($userinput -ne "q") { # list vm sizes available: az vm list-sizes --location "eastus" --query "[].name" } - '24' { + '23' { kubectl get pods -l k8s-app=kube-dns -n kube-system -o wide Do { $confirmation = Read-Host "Do you want to restart DNS pods? (y/n)"} while ([string]::IsNullOrWhiteSpace($confirmation)) @@ -201,7 +212,7 @@ while ($userinput -ne "q") { } } } - '25' { + '24' { # restart VMs $AKS_PERS_RESOURCE_GROUP = ReadSecretValue -secretname azure-secret -valueName resourcegroup # UpdateOSInVMs -resourceGroup $AKS_PERS_RESOURCE_GROUP diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index bbb7f3b..9ac1add 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.02.22.03" +Write-output "Version 2018.02.22.04" # # This script is meant for quick & easy install via: @@ -69,7 +69,7 @@ Do { Write-Host "How do you want to control access to this cluster:" Write-Host "1: Allow anyone to access it" Write-Host "2: Only allow certain IP ranges to access it" - Write-Host "3: Only allow computers inside the subnet to access it" + Write-Host "3: Only allow computers inside the vnet to access it" Write-Host "-------------" $AKS_CLUSTER_ACCESS_TYPE = Read-Host "Enter number of option to use (1 - 3)" @@ -151,6 +151,12 @@ if ($SETUP_DNS -eq "y") { } } +if (($AKS_CLUSTER_ACCESS_TYPE -eq "1" ) -or ($AKS_CLUSTER_ACCESS_TYPE -eq "2")) { + $AKS_OPEN_TO_PUBLIC = "y" +} +else { + $AKS_OPEN_TO_PUBLIC = "n" +} Write-Output "Setting up Network Security Group for the subnet" @@ -207,16 +213,17 @@ if ($SetupNSG) { Write-Output "Since we already have rules open port 80 and 443 to the Internet, we do not need to create separate ones for the Internet" } else { - - SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` - -rulename "HttpPort" ` - -ruledescription "allow HTTP access from ${sourceTagForHttpAccess}." ` - -sourceTag "${sourceTagForHttpAccess}" -port 80 -priority 500 + if ($AKS_OPEN_TO_PUBLIC -eq "y") { + SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` + -rulename "HttpPort" ` + -ruledescription "allow HTTP access from ${sourceTagForHttpAccess}." ` + -sourceTag "${sourceTagForHttpAccess}" -port 80 -priority 500 - SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` - -rulename "HttpsPort" ` - -ruledescription "allow HTTPS access from ${sourceTagForHttpAccess}." ` - -sourceTag "${sourceTagForHttpAccess}" -port 443 -priority 501 + SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` + -rulename "HttpsPort" ` + -ruledescription "allow HTTPS access from ${sourceTagForHttpAccess}." ` + -sourceTag "${sourceTagForHttpAccess}" -port 443 -priority 501 + } } $nsgid = az network nsg list --resource-group ${AKS_PERS_RESOURCE_GROUP} --query "[?name == '${AKS_PERS_NETWORK_SECURITY_GROUP}'].id" -o tsv @@ -227,13 +234,7 @@ if ($SetupNSG) { } # set up WAF if requested -if ($AKS_USE_WAF -eq "n") { - if (($AKS_CLUSTER_ACCESS_TYPE -eq "1" ) -or ($AKS_CLUSTER_ACCESS_TYPE -eq "2")) { - $AKS_OPEN_TO_PUBLIC = "y" - } -} -else { - $AKS_OPEN_TO_PUBLIC = "n" +if ($AKS_USE_WAF -eq "y") { $publicip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --query "ipAddress" -o tsv; if ([string]::IsNullOrWhiteSpace($publicip)) { az network public-ip create -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --location $AKS_PERS_LOCATION --allocation-method Static diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index 211cfd8..f1a9774 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -1,4 +1,4 @@ -Write-Output "--- installnlpkubernetes.ps1 Version 2018.02.21.04 ---" +Write-Output "--- installnlpkubernetes.ps1 Version 2018.02.22.01 ---" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | iex; @@ -50,6 +50,7 @@ if ([string]::IsNullOrWhiteSpace($(kubectl get secret traefik-cert-ahmn -o jsonp } else { $AKS_USE_SSL = "y" + Write-Host "Using SSL since the secret is set" } # https://kubernetes.io/docs/reference/kubectl/jsonpath/ From 23bb3167f3d55fa83b0ba9d6406c1528fe122d3b Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 23 Feb 2018 16:12:59 -0800 Subject: [PATCH 233/473] add code to check and fix load balancers Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 106 ++++++++++++++++++++++++++++++++++- azure/dos.ps1 | 1 + azure/setup-loadbalancer.ps1 | 4 +- 3 files changed, 107 insertions(+), 4 deletions(-) create mode 100644 azure/dos.ps1 diff --git a/azure/common.ps1 b/azure/common.ps1 index 2372bec..10f61cb 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.02.22.05" +$versioncommon = "2018.02.23.01" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -707,8 +707,7 @@ function global:DownloadKubectl($localFolder) { } } -function global:DownloadFile($url, $targetFile) -{ +function global:DownloadFile($url, $targetFile) { # from https://stackoverflow.com/questions/21422364/is-there-any-way-to-monitor-the-progress-of-a-download-using-a-webclient-object $uri = New-Object "System.Uri" "$url" $request = [System.Net.HttpWebRequest]::Create($uri) @@ -733,5 +732,106 @@ function global:DownloadFile($url, $targetFile) $targetStream.Dispose() $responseStream.Dispose() } + +function global:FixLoadBalancers($resourceGroup) { + # hacks here to get around bugs in the acs-engine loadbalancer code + Write-Host "Checking if load balancers are setup correctly" + # 1. assign the nics to the loadbalancer + + Wr + # find loadbalancer with name + $loadbalancer = "${resourceGroup}-internal" + $loadbalancerBackendPoolName = $resourceGroup # the name may change in the future so we should look it up + # for each worker VM + $virtualmachines = az vm list -g $resourceGroup --query "[].name" -o tsv + ForEach ($vm in $virtualmachines) { + if ($vm -match "master" ) {} + else { + # for each worker VM + Write-Host "Checking VM: $vm" + # get first nic + # $nic = "k8s-linuxagent-14964077-nic-0" + $nicId = $(az vm nic list -g $resourceGroup --vm-name $vm --query "[].id" -o tsv) + $nic = $(az network nic show --ids $nicId --resource-group $resourceGroup --query "name" -o tsv) + + # get first ipconfig of nic + $ipconfig = $(az network nic ip-config list --resource-group $resourceGroup --nic-name $nic --query "[?primary].name" -o tsv) + + $loadbalancerForNic = $(az network nic ip-config show --resource-group $resourceGroup --nic-name $nic --name $ipconfig --query "loadBalancerBackendAddressPools[].id" -o tsv) + # if loadBalancerBackendAddressPools is missing then + if ([string]::IsNullOrEmpty($loadbalancerForNic)) { + Write-Host "Fixing load balancer for vm: $vm by adding nic $nic to backend pool $loadbalancerBackendPoolName in load balancer $loadbalancer " + # --lb-address-pools: Space-separated list of names or IDs of load balancer address pools to associate with the NIC. If names are used, --lb-name must be specified. + # $loadbalancerBackendPool = "/subscriptions/f8a42a3a-8b22-4be4-8413-0b6911c77242/resourceGroups/Prod-Kub-UTTX-RG/providers/Microsoft.Network/loadBalancers/Prod-Kub-UTTX-RG-internal/backendAddressPools/Prod-Kub-UTTX-RG" + # az network nic ip-config update --resource-group $resourceGroup --nic-name $nic --name $ipconfig --lb-name $loadbalancer --lb-address-pools $loadbalancerBackendPoolName + } + else { + Write-Host "Load Balancer is already setup properly for vm: $vm" + } + } + } + + # 2. fix the ports in load balancing rules + Write-Host "Checking if the correct ports are setup in the load balancer" + + # get frontendip configs for this IP + # $idToIPTuplesJson=$(az network lb frontend-ip list --resource-group=$AKS_PERS_RESOURCE_GROUP --lb-name $loadbalancer --query "[*].[id,privateIpAddress]") + # $idToIPTuplesJson = $(az network lb frontend-ip list --resource-group=$AKS_PERS_RESOURCE_GROUP --lb-name $loadbalancer --query "[*].{id:id,ip:privateIpAddress}") + $idToIPTuples = $(az network lb frontend-ip list --resource-group=$resourceGroup --lb-name $loadbalancer --query "[*].{id:id,ip:privateIpAddress}") | ConvertFrom-Json + $services = $($(kubectl get services --all-namespaces -o json) | ConvertFrom-Json).items + $loadBalancerServices = @() + Write-Host "---- Searching for kub services of type LoadBalancer" + foreach ($service in $services) { + if ($($service.spec.type -eq "LoadBalancer")) { + Write-Host "Found kub services $($service.metadata.name) with $($service.status.loadBalancer.ingress[0].ip)" + $loadBalancerServices += $service + } + } + Write-Host "---- Finished searching for kub services of type LoadBalancer" + + ForEach ($tuple in $idToIPTuples) { + Write-Host "---------- tuple: $($tuple.ip) $($tuple.id) ------------------" + $rulesForIp = $(az network lb rule list --resource-group $resourceGroup --lb-name $loadbalancer --query "[?frontendIpConfiguration.id == '$($tuple.id)'].{frontid:frontendIpConfiguration.id,name:name,backendPort:backendPort,frontendPort: frontendPort}") | ConvertFrom-Json + + ForEach ($service in $loadBalancerServices) { + Write-Host "-------- Checking kub service: $($service.metadata.name) ----" + # first check ports for internal loadbalancer + $loadBalancerIp = $($service.status.loadBalancer.ingress[0].ip) + # Write-Host "Checking tuple ip $($tuple.ip) with loadBalancer Ip $loadBalancerIp" + if ($tuple.ip -eq $loadBalancerIp) { + #this is the right load balancer + ForEach ($rule in $rulesForIp) { + Write-Host "----- Checking rule $($rule.name) ----" + # Write-Host "tuple $($tuple.ip) matches loadBalancerIP: $loadBalancerIp" + # match rule.backendPort to $loadbalancerInfo.spec.ports + ForEach ( $loadbalancerPortInfo in $($service.spec.ports)) { + # Write-Host "Rule: $rule " + # Write-Host "LoadBalancer:$loadbalancerPortInfo" + if ($($rule.frontendPort) -eq $($loadbalancerPortInfo.port)) { + Write-Host "Found matching frontend ports: rule: $($rule.frontendPort) of rule $($rule.name) and loadbalancer: $($loadbalancerPortInfo.port) from $($loadbalancerPortInfo.name)" + if ($($rule.backendPort) -ne $($loadbalancerPortInfo.nodePort)) { + Write-Host "Backend ports don't match. Will change $($rule.backendPort) to $($loadbalancerPortInfo.nodePort)" + # set the rule backendPort to nodePort instead + # $rule.backendPort = $loadbalancerPortInfo.nodePort + } + else { + Write-Host "Skipping changing backend port since it already matches $($rule.backendPort) vs $($loadbalancerPortInfo.nodePort)" + } + } + else { + Write-Host "Skipping rule $($rule.name): Rule port: $($rule.backendPort) is not a match for loadbalancerPort $($loadbalancerPortInfo.port) from $($loadbalancerPortInfo.name)" + } + } + } + # get port from kubernetes service + } + else { + Write-Host "Skipping tuple since tuple ip $($tuple.ip) does not match loadBalancerIP: $loadBalancerIp" + } + } + Write-Host "" + } + # end hacks +} #------------------- Write-Host "end common.ps1 version $versioncommon" diff --git a/azure/dos.ps1 b/azure/dos.ps1 new file mode 100644 index 0000000..8813cc6 --- /dev/null +++ b/azure/dos.ps1 @@ -0,0 +1 @@ +curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index 9ac1add..1a5360c 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.02.22.04" +Write-output "Version 2018.02.23.01" # # This script is meant for quick & easy install via: @@ -417,6 +417,7 @@ ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadba $startDate = Get-Date $timeoutInMinutes = 10 + if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { $loadbalancer = "traefik-ingress-service-public" } @@ -446,6 +447,7 @@ if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { Write-Output "Internal IP: $INTERNAL_IP" } +FixLoadBalancers -resourceGroup $AKS_PERS_RESOURCE_GROUP $dnsrecordname = "$customerid.healthcatalyst.net" From 2cd5517cd355dd1604e2f0c273e12c5dc05de220 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 23 Feb 2018 17:20:58 -0800 Subject: [PATCH 234/473] add menu item to fix loadbalancers Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 14 +++++++------- azure/main.ps1 | 23 ++++++++++++++++++++--- azure/setup-loadbalancer.ps1 | 4 ++-- 3 files changed, 29 insertions(+), 12 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index 10f61cb..619dc99 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.02.23.01" +$versioncommon = "2018.02.23.02" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -735,10 +735,9 @@ function global:DownloadFile($url, $targetFile) { function global:FixLoadBalancers($resourceGroup) { # hacks here to get around bugs in the acs-engine loadbalancer code - Write-Host "Checking if load balancers are setup correctly" + Write-Host "Checking if load balancers are setup correctly for resourceGroup: $resourceGroup" # 1. assign the nics to the loadbalancer - Wr # find loadbalancer with name $loadbalancer = "${resourceGroup}-internal" $loadbalancerBackendPoolName = $resourceGroup # the name may change in the future so we should look it up @@ -760,10 +759,10 @@ function global:FixLoadBalancers($resourceGroup) { $loadbalancerForNic = $(az network nic ip-config show --resource-group $resourceGroup --nic-name $nic --name $ipconfig --query "loadBalancerBackendAddressPools[].id" -o tsv) # if loadBalancerBackendAddressPools is missing then if ([string]::IsNullOrEmpty($loadbalancerForNic)) { - Write-Host "Fixing load balancer for vm: $vm by adding nic $nic to backend pool $loadbalancerBackendPoolName in load balancer $loadbalancer " + Write-Warning "Fixing load balancer for vm: $vm by adding nic $nic to backend pool $loadbalancerBackendPoolName in load balancer $loadbalancer " # --lb-address-pools: Space-separated list of names or IDs of load balancer address pools to associate with the NIC. If names are used, --lb-name must be specified. # $loadbalancerBackendPool = "/subscriptions/f8a42a3a-8b22-4be4-8413-0b6911c77242/resourceGroups/Prod-Kub-UTTX-RG/providers/Microsoft.Network/loadBalancers/Prod-Kub-UTTX-RG-internal/backendAddressPools/Prod-Kub-UTTX-RG" - # az network nic ip-config update --resource-group $resourceGroup --nic-name $nic --name $ipconfig --lb-name $loadbalancer --lb-address-pools $loadbalancerBackendPoolName + az network nic ip-config update --resource-group $resourceGroup --nic-name $nic --name $ipconfig --lb-name $loadbalancer --lb-address-pools $loadbalancerBackendPoolName } else { Write-Host "Load Balancer is already setup properly for vm: $vm" @@ -810,9 +809,10 @@ function global:FixLoadBalancers($resourceGroup) { if ($($rule.frontendPort) -eq $($loadbalancerPortInfo.port)) { Write-Host "Found matching frontend ports: rule: $($rule.frontendPort) of rule $($rule.name) and loadbalancer: $($loadbalancerPortInfo.port) from $($loadbalancerPortInfo.name)" if ($($rule.backendPort) -ne $($loadbalancerPortInfo.nodePort)) { - Write-Host "Backend ports don't match. Will change $($rule.backendPort) to $($loadbalancerPortInfo.nodePort)" + Write-Warning "Backend ports don't match. Will change $($rule.backendPort) to $($loadbalancerPortInfo.nodePort)" # set the rule backendPort to nodePort instead - # $rule.backendPort = $loadbalancerPortInfo.nodePort + $rule.backendPort = $loadbalancerPortInfo.nodePort + az network lb rule update --lb-name $loadbalancer --name $($rule.name) --resource-group $resourceGroup --backend-port $loadbalancerPortInfo.nodePort } else { Write-Host "Skipping changing backend port since it already matches $($rule.backendPort) vs $($loadbalancerPortInfo.nodePort)" diff --git a/azure/main.ps1 b/azure/main.ps1 index 6e78787..395702d 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.02.22.02" +$version = "2018.02.23.01" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -18,6 +18,8 @@ Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; $userinput = "" while ($userinput -ne "q") { Write-Host "================ Health Catalyst version $version, common functions $(GetCommonVersion) ================" + Write-Host "= Current cluster: $(kubectl config current-context 2> $null) =" + Write-Host "====================================================" Write-Host "----- Choose Cluster -----" Write-Host "0: Change kube to point to another cluster" Write-Host "------ Infrastructure -------" @@ -35,6 +37,7 @@ while ($userinput -ne "q") { Write-Host "22: Show SSH commands to VMs" Write-Host "23: View status of DNS pods" Write-Host "24: Restart all VMs" + Write-Host "25: Fix load balancers" Write-Host "------ NLP -----" Write-Host "30: Show status of NLP" Write-Host "31: Test web sites" @@ -149,11 +152,11 @@ while ($userinput -ne "q") { } } '22' { - # $AKS_PERS_RESOURCE_GROUP = ReadSecretValue -secretname azure-secret -valueName resourcegroup + $DEFAULT_RESOURCE_GROUP = ReadSecretValue -secretname azure-secret -valueName resourcegroup if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) { Do { - $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group" + $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group: (default: $DEFAULT_RESOURCE_GROUP)" if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) { $AKS_PERS_RESOURCE_GROUP = $DEFAULT_RESOURCE_GROUP } @@ -220,6 +223,20 @@ while ($userinput -ne "q") { SetHostFileInVms -resourceGroup $AKS_PERS_RESOURCE_GROUP SetupCronTab -resourceGroup $AKS_PERS_RESOURCE_GROUP } + '25' { + $DEFAULT_RESOURCE_GROUP = ReadSecretValue -secretname azure-secret -valueName resourcegroup + + if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) { + Do { + $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group: (default: $DEFAULT_RESOURCE_GROUP)" + if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) { + $AKS_PERS_RESOURCE_GROUP = $DEFAULT_RESOURCE_GROUP + } + } + while ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) + } + FixLoadBalancers -resourceGroup $AKS_PERS_RESOURCE_GROUP + } '30' { kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide } diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index 1a5360c..9162204 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.02.23.01" +Write-output "Version 2018.02.23.02" # # This script is meant for quick & easy install via: @@ -166,7 +166,7 @@ $AKS_PERS_NETWORK_SECURITY_GROUP = "$($AKS_PERS_RESOURCE_GROUP.ToLower())-nsg" if ([string]::IsNullOrWhiteSpace($(az network nsg show -g $AKS_PERS_RESOURCE_GROUP -n $AKS_PERS_NETWORK_SECURITY_GROUP))) { Write-Output "Creating the Network Security Group for the subnet" - az network nsg create -g $AKS_PERS_RESOURCE_GROUP -n $AKS_PERS_NETWORK_SECURITY_GROUP + az network nsg create -g $AKS_PERS_RESOURCE_GROUP -n $AKS_PERS_NETWORK_SECURITY_GROUP --query "provisioningState" } else { Write-Output "Network Security Group already exists: $AKS_PERS_NETWORK_SECURITY_GROUP" From 782c85f781d229c13881868c182de4841680eb04 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 23 Feb 2018 17:55:14 -0800 Subject: [PATCH 235/473] added menu item to test load balancers Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 21 ++++++++++++++++++++- azure/main.ps1 | 25 ++++++++++++++++++++----- 2 files changed, 40 insertions(+), 6 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index 619dc99..c9f19f3 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.02.23.02" +$versioncommon = "2018.02.23.03" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -833,5 +833,24 @@ function global:FixLoadBalancers($resourceGroup) { } # end hacks } + +function global:CheckUrl($url, $hostHeader) { + + [hashtable]$Return = @{} + + $Request = [Net.HttpWebRequest]::Create($url) + $Request.Host = $hostHeader + $Response = $Request.GetResponse() + + $respstream = $Response.GetResponseStream(); + $sr = new-object System.IO.StreamReader $respstream; + $result = $sr.ReadToEnd(); + write-host "$result" + + $Return.Response = $result + $Return.StatusCode = $Response.StatusCode + $Return.StatusDescription = $Response.StatusDescription + return $Return +} #------------------- Write-Host "end common.ps1 version $versioncommon" diff --git a/azure/main.ps1 b/azure/main.ps1 index 395702d..59d2071 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.02.23.01" +$version = "2018.02.23.02" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -37,7 +37,8 @@ while ($userinput -ne "q") { Write-Host "22: Show SSH commands to VMs" Write-Host "23: View status of DNS pods" Write-Host "24: Restart all VMs" - Write-Host "25: Fix load balancers" + Write-Host "25: Test load balancer" + Write-Host "26: Fix load balancers" Write-Host "------ NLP -----" Write-Host "30: Show status of NLP" Write-Host "31: Test web sites" @@ -224,6 +225,20 @@ while ($userinput -ne "q") { SetupCronTab -resourceGroup $AKS_PERS_RESOURCE_GROUP } '25' { + $loadBalancerIP = kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' --ignore-not-found=true + $loadBalancerInternalIP = kubectl get svc traefik-ingress-service-internal -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' + if ([string]::IsNullOrWhiteSpace($loadBalancerIP)) { + $loadBalancerIP = $loadBalancerInternalIP + } + $customerid = ReadSecret -secretname customerid + $customerid = $customerid.ToLower().Trim() + + # Invoke-WebRequest -useb -Headers @{"Host" = "nlp.$customerid.healthcatalyst.net"} -Uri http://$loadBalancerIP/nlpweb | Select-Object -Expand Content + + Write-Output "To test out the NLP services, open Git Bash and run:" + Write-Output "curl -L --verbose --header 'Host: dashboard.$customerid.healthcatalyst.net' 'http://$loadBalancerInternalIP/solr' -k" + } + '26' { $DEFAULT_RESOURCE_GROUP = ReadSecretValue -secretname azure-secret -valueName resourcegroup if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) { @@ -241,10 +256,10 @@ while ($userinput -ne "q") { kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide } '31' { - $loadBalancerIP = kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' --ignore-not-found=true + $loadBalancerInternalIP = kubectl get svc traefik-ingress-service-internal -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' if ([string]::IsNullOrWhiteSpace($loadBalancerIP)) { - $loadBalancerIP = kubectl get svc traefik-ingress-service-internal -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' + $loadBalancerIP = $loadBalancerInternalIP } $customerid = ReadSecret -secretname customerid $customerid = $customerid.ToLower().Trim() @@ -252,7 +267,7 @@ while ($userinput -ne "q") { # Invoke-WebRequest -useb -Headers @{"Host" = "nlp.$customerid.healthcatalyst.net"} -Uri http://$loadBalancerIP/nlpweb | Select-Object -Expand Content Write-Output "To test out the NLP services, open Git Bash and run:" - Write-Output "curl -L --verbose --header 'Host: solr.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/solr' -k" + Write-Output "curl -L --verbose --header 'Host: solr.$customerid.healthcatalyst.net' 'http://$loadBalancerInternalIP/solr' -k" Write-Output "curl -L --verbose --header 'Host: nlp.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/nlpweb' -k" Write-Output "curl -L --verbose --header 'Host: nlpjobs.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/nlp' -k" From c9530ff4f68112cbf58dab60789f01e6644e5487 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 23 Feb 2018 18:25:51 -0800 Subject: [PATCH 236/473] add menu to show traefik pod logs Signed-off-by: HQCATALYST\imran.qureshi --- azure/create-acs-cluster.ps1 | 4 ++++ azure/main.ps1 | 11 ++++++++++- azure/setup-loadbalancer.ps1 | 4 ++++ .../loadbalancer/pods/ingress-azure.internal.ssl.yaml | 1 + .../loadbalancer/pods/ingress-azure.internal.yaml | 1 + kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml | 1 + kubernetes/loadbalancer/pods/ingress-azure.yaml | 1 + kubernetes/loadbalancer/pods/ingress-onprem.yaml | 1 + 8 files changed, 23 insertions(+), 1 deletion(-) diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index 70dcd98..d6d132e 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -429,6 +429,10 @@ kubectl get "deployments,pods,services,ingress,secrets" --namespace=kube-system SetHostFileInVms -resourceGroup $AKS_PERS_RESOURCE_GROUP SetupCronTab -resourceGroup $AKS_PERS_RESOURCE_GROUP +Write-Host "Removing extra stuff that acs-engine creates" +# k8s-master-lb-24203516 +# k8s-master-ip-prod-kub-sjtn-rg-24203516 + # /subscriptions/f8a42a3a-8b22-4be4-8413-0b6911c77242/resourceGroups/Prod-Kub-AHMN-RG/providers/Microsoft.Network/networkInterfaces/k8s-master-37819884-nic-0 # command to update hosts diff --git a/azure/main.ps1 b/azure/main.ps1 index 59d2071..7f3f87c 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.02.23.02" +$version = "2018.02.23.03" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -37,8 +37,10 @@ while ($userinput -ne "q") { Write-Host "22: Show SSH commands to VMs" Write-Host "23: View status of DNS pods" Write-Host "24: Restart all VMs" + Write-Host "------ Load Balancer -------" Write-Host "25: Test load balancer" Write-Host "26: Fix load balancers" + Write-Host "27: Show load balancer logs" Write-Host "------ NLP -----" Write-Host "30: Show status of NLP" Write-Host "31: Test web sites" @@ -252,6 +254,13 @@ while ($userinput -ne "q") { } FixLoadBalancers -resourceGroup $AKS_PERS_RESOURCE_GROUP } + '27' { + $pods = $(kubectl get pods -l k8s-traefik=traefik --all-namespaces -o jsonpath='{.items[*].metadata.name}') + foreach ($pod in $pods.Split(" ")) { + Write-Output "=============== Pod: $pod =================" + kubectl logs --tail=20 $pod --all-namespaces + } + } '30' { kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide } diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index 9162204..062e8f6 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -410,6 +410,10 @@ else { | kubectl create -f - } +if ("$AKS_OPEN_TO_PUBLIC" -ne "y") { + # remove IngressPublicIP +} + # Write-Output "Setting up an internal load balancer" ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/external/loadbalancer-internal.yaml" -customerid $customerid ` | kubectl create -f - diff --git a/kubernetes/loadbalancer/pods/ingress-azure.internal.ssl.yaml b/kubernetes/loadbalancer/pods/ingress-azure.internal.ssl.yaml index 951bfc5..928d6f3 100644 --- a/kubernetes/loadbalancer/pods/ingress-azure.internal.ssl.yaml +++ b/kubernetes/loadbalancer/pods/ingress-azure.internal.ssl.yaml @@ -16,6 +16,7 @@ spec: labels: k8s-app: traefik-ingress-lb-internal name: traefik-ingress-lb-internal + k8s-traefik: traefik spec: serviceAccountName: traefik-ingress-serviceaccount terminationGracePeriodSeconds: 60 diff --git a/kubernetes/loadbalancer/pods/ingress-azure.internal.yaml b/kubernetes/loadbalancer/pods/ingress-azure.internal.yaml index 4d75bbd..22a9622 100644 --- a/kubernetes/loadbalancer/pods/ingress-azure.internal.yaml +++ b/kubernetes/loadbalancer/pods/ingress-azure.internal.yaml @@ -16,6 +16,7 @@ spec: labels: k8s-app: traefik-ingress-lb-internal name: traefik-ingress-lb-internal + k8s-traefik: traefik spec: serviceAccountName: traefik-ingress-serviceaccount terminationGracePeriodSeconds: 60 diff --git a/kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml b/kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml index a591325..f601305 100644 --- a/kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml +++ b/kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml @@ -16,6 +16,7 @@ spec: labels: k8s-app: traefik-ingress-lb name: traefik-ingress-lb + k8s-traefik: traefik spec: serviceAccountName: traefik-ingress-serviceaccount terminationGracePeriodSeconds: 60 diff --git a/kubernetes/loadbalancer/pods/ingress-azure.yaml b/kubernetes/loadbalancer/pods/ingress-azure.yaml index ad2c6cc..7eb6bce 100644 --- a/kubernetes/loadbalancer/pods/ingress-azure.yaml +++ b/kubernetes/loadbalancer/pods/ingress-azure.yaml @@ -16,6 +16,7 @@ spec: labels: k8s-app: traefik-ingress-lb name: traefik-ingress-lb + k8s-traefik: traefik spec: serviceAccountName: traefik-ingress-serviceaccount terminationGracePeriodSeconds: 60 diff --git a/kubernetes/loadbalancer/pods/ingress-onprem.yaml b/kubernetes/loadbalancer/pods/ingress-onprem.yaml index 1d37f94..20c4a0c 100644 --- a/kubernetes/loadbalancer/pods/ingress-onprem.yaml +++ b/kubernetes/loadbalancer/pods/ingress-onprem.yaml @@ -16,6 +16,7 @@ spec: labels: k8s-app: traefik-ingress-lb name: traefik-ingress-lb + k8s-traefik: traefik spec: # hostPort is broken on CNI (https://github.com/kubernetes/kubernetes/issues/31307) we have to use hostNetwork where CNI is used hostNetwork: true From 1bb1017ca297a80760b1c1d9dacb5ebd112011d9 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 23 Feb 2018 19:58:53 -0800 Subject: [PATCH 237/473] add namespace to query for logs Signed-off-by: HQCATALYST\imran.qureshi --- azure/main.ps1 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/azure/main.ps1 b/azure/main.ps1 index 7f3f87c..ac7b4f1 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.02.23.03" +$version = "2018.02.23.04" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -238,7 +238,7 @@ while ($userinput -ne "q") { # Invoke-WebRequest -useb -Headers @{"Host" = "nlp.$customerid.healthcatalyst.net"} -Uri http://$loadBalancerIP/nlpweb | Select-Object -Expand Content Write-Output "To test out the NLP services, open Git Bash and run:" - Write-Output "curl -L --verbose --header 'Host: dashboard.$customerid.healthcatalyst.net' 'http://$loadBalancerInternalIP/solr' -k" + Write-Output "curl --header 'Host: dashboard.$customerid.healthcatalyst.net' 'http://$loadBalancerInternalIP/' -k" } '26' { $DEFAULT_RESOURCE_GROUP = ReadSecretValue -secretname azure-secret -valueName resourcegroup @@ -255,10 +255,10 @@ while ($userinput -ne "q") { FixLoadBalancers -resourceGroup $AKS_PERS_RESOURCE_GROUP } '27' { - $pods = $(kubectl get pods -l k8s-traefik=traefik --all-namespaces -o jsonpath='{.items[*].metadata.name}') + $pods = $(kubectl get pods -l k8s-traefik=traefik -n kube-system -o jsonpath='{.items[*].metadata.name}') foreach ($pod in $pods.Split(" ")) { Write-Output "=============== Pod: $pod =================" - kubectl logs --tail=20 $pod --all-namespaces + kubectl logs --tail=20 $pod -n kube-system } } '30' { From 496b84f1a284cad2149dfb55b7e2bd81c311d11d Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 23 Feb 2018 20:20:47 -0800 Subject: [PATCH 238/473] move function ot setup dns into common.ps1 Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 55 ++++++++++++++++++++++++++++++++++- azure/main.ps1 | 33 ++++++++++++++++++++- azure/setup-loadbalancer.ps1 | 56 +++++++----------------------------- 3 files changed, 96 insertions(+), 48 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index c9f19f3..1df50cc 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.02.23.03" +$versioncommon = "2018.02.23.04" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -834,6 +834,59 @@ function global:FixLoadBalancers($resourceGroup) { # end hacks } +function global:SetupDNS($dnsResourceGroup, $dnsrecordname, $externalIP) { + Write-Output "Setting DNS zones" + + if ([string]::IsNullOrWhiteSpace($(az network dns zone show --name "$dnsrecordname" -g $dnsResourceGroup))) { + Write-Output "Creating DNS zone: $dnsrecordname" + az network dns zone create --name "$dnsrecordname" -g $dnsResourceGroup + } + + Write-Output "Create A record for * in zone: $dnsrecordname" + az network dns record-set a add-record --ipv4-address $externalIP --record-set-name "*" --resource-group $dnsResourceGroup --zone-name "$dnsrecordname" + + ShowNameServerEntries -dnsResourceGroup $dnsResourceGroup -dnsrecordname $dnsrecordname +} + +function global:ShowNameServerEntries($dnsResourceGroup, $dnsrecordname) { + # list out the name servers + Write-Output "Name servers to set in GoDaddy for *.$dnsrecordname" + az network dns zone show -g $dnsResourceGroup -n "$dnsrecordname" --query "nameServers" -o tsv +} + +function global:GetLoadBalancerIPs() { + [hashtable]$Return = @{} + + $startDate = Get-Date + $timeoutInMinutes = 10 + $loadbalancer = "traefik-ingress-service-public" + $loadbalancerInternal = "traefik-ingress-service-internal" + + Write-Output "Waiting for IP to get assigned to the load balancer (Note: It can take upto 5 minutes for Azure to finish creating the load balancer)" + Do { + Start-Sleep -Seconds 10 + Write-Output "." + $externalIP = $(kubectl get svc $loadbalancer -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}') + } + while ([string]::IsNullOrWhiteSpace($externalIP) -and ($startDate.AddMinutes($timeoutInMinutes) -gt (Get-Date))) + Write-Output "External IP: $externalIP" + + if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { + Write-Output "Waiting for IP to get assigned to the internal load balancer (Note: It can take upto 5 minutes for Azure to finish creating the load balancer)" + Do { + Start-Sleep -Seconds 10 + Write-Output "." + $internalIP = $(kubectl get svc $loadbalancerInternal -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}') + } + while ([string]::IsNullOrWhiteSpace($internalIP) -and ($startDate.AddMinutes($timeoutInMinutes) -gt (Get-Date))) + Write-Output "Internal IP: $internalIP" + } + + $Return.ExternalIP = $externalIP + $Return.InternalIP = $internalIP + + return $Return +} function global:CheckUrl($url, $hostHeader) { [hashtable]$Return = @{} diff --git a/azure/main.ps1 b/azure/main.ps1 index ac7b4f1..6064ab4 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.02.23.04" +$version = "2018.02.23.05" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -28,6 +28,8 @@ while ($userinput -ne "q") { Write-Host "3: Start VMs in Resource Group" Write-Host "4: Stop VMs in Resource Group" Write-Host "5: Renew Azure token" + Write-Host "6: Show NameServers" + Write-Host "7: Setup Azure DNS entries" Write-Host "------ Install -------" Write-Host "11: Install NLP" Write-Host "12: Install Realtime" @@ -105,6 +107,35 @@ while ($userinput -ne "q") { az login } } + '6' { + $DNS_RESOURCE_GROUP = Read-Host "Resource group containing DNS zones? (default: dns)" + if ([string]::IsNullOrWhiteSpace($DNS_RESOURCE_GROUP)) { + $DNS_RESOURCE_GROUP = "dns" + } + + $customerid = ReadSecret -secretname customerid + $customerid = $customerid.ToLower().Trim() + + $dnsrecordname = "$customerid.healthcatalyst.net" + + ShowNameServerEntries -dnsResourceGroup $DNS_RESOURCE_GROUP -dnsrecordname $dnsrecordname + } + '7' { + $DNS_RESOURCE_GROUP = Read-Host "Resource group containing DNS zones? (default: dns)" + if ([string]::IsNullOrWhiteSpace($DNS_RESOURCE_GROUP)) { + $DNS_RESOURCE_GROUP = "dns" + } + + $customerid = ReadSecret -secretname customerid + $customerid = $customerid.ToLower().Trim() + + $dnsrecordname = "$customerid.healthcatalyst.net" + + $loadBalancerIPResult = GetLoadBalancerIPs + $EXTERNAL_IP = $loadBalancerIPResult.ExternalIP + + SetupDNS -dnsResourceGroup $DNS_RESOURCE_GROUP -dnsrecordname $dnsrecordname -externalIP $EXTERNAL_IP + } '11' { Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | Invoke-Expression; } diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index 062e8f6..03c29ca 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -140,7 +140,12 @@ else { Write-Output "SSL cert already stored as secret (traefik-cert-ahmn) so setting up SSL" } -Do { $SETUP_DNS = Read-Host "Do you want to setup DNS entries in Azure? (y/n)"} +Do { + $SETUP_DNS = Read-Host "Do you want to setup DNS entries in Azure? (y/n) (default: n)" + if ([string]::IsNullOrWhiteSpace($SETUP_DNS)) { + $SETUP_DNS = "n" + } +} while ([string]::IsNullOrWhiteSpace($SETUP_DNS)) # if we need to setup DNS then ask which resourceGroup to use @@ -418,38 +423,10 @@ if ("$AKS_OPEN_TO_PUBLIC" -ne "y") { ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/external/loadbalancer-internal.yaml" -customerid $customerid ` | kubectl create -f - -$startDate = Get-Date -$timeoutInMinutes = 10 - - -if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { - $loadbalancer = "traefik-ingress-service-public" -} -else { - $loadbalancer = "traefik-ingress-service-internal" -} -$INTERNAL_IP = "" - -Write-Output "Waiting for IP to get assigned to the load balancer (Note: It can take upto 5 minutes for Azure to finish creating the load balancer)" -Do { - Start-Sleep -Seconds 10 - Write-Output "." - $EXTERNAL_IP = $(kubectl get svc $loadbalancer -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}') -} -while ([string]::IsNullOrWhiteSpace($EXTERNAL_IP) -and ($startDate.AddMinutes($timeoutInMinutes) -gt (Get-Date))) -Write-Output "External IP: $EXTERNAL_IP" - -if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { - Write-Output "Waiting for IP to get assigned to the internal load balancer (Note: It can take upto 5 minutes for Azure to finish creating the load balancer)" - Do { - Start-Sleep -Seconds 10 - Write-Output "." - $INTERNAL_IP = $(kubectl get svc traefik-ingress-service-internal -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}') - } - while ([string]::IsNullOrWhiteSpace($INTERNAL_IP) -and ($startDate.AddMinutes($timeoutInMinutes) -gt (Get-Date))) - Write-Output "Internal IP: $INTERNAL_IP" -} +$loadBalancerIPResult = GetLoadBalancerIPs +$EXTERNAL_IP = $loadBalancerIPResult.ExternalIP +$INTERNAL_IP = $loadBalancerIPResult.InternalIP FixLoadBalancers -resourceGroup $AKS_PERS_RESOURCE_GROUP @@ -598,20 +575,7 @@ if ($AKS_USE_WAF -eq "y") { } if ($SETUP_DNS -eq "y") { - # set up DNS zones - Write-Output "Setting DNS zones" - - if ([string]::IsNullOrWhiteSpace($(az network dns zone show --name "$dnsrecordname" -g $DNS_RESOURCE_GROUP))) { - Write-Output "Creating DNS zone: $dnsrecordname" - az network dns zone create --name "$dnsrecordname" -g $DNS_RESOURCE_GROUP - } - - Write-Output "Create A record for * in zone: $dnsrecordname" - az network dns record-set a add-record --ipv4-address $EXTERNAL_IP --record-set-name "*" --resource-group $DNS_RESOURCE_GROUP --zone-name "$dnsrecordname" - - # list out the name servers - Write-Output "Name servers to set in GoDaddy for *.$dnsrecordname" - az network dns zone show -g $DNS_RESOURCE_GROUP -n "$dnsrecordname" --query "nameServers" -o tsv + SetupDNS -dnsResourceGroup $DNS_RESOURCE_GROUP -dnsrecordname $dnsrecordname -externalIP $EXTERNAL_IP } else { Write-Output "To access the urls from your browser, add the following entries in your c:\windows\system32\drivers\etc\hosts file" From d611cd6317c268e72e9b7890122518b3b8468e3b Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Sun, 25 Feb 2018 18:26:57 -0800 Subject: [PATCH 239/473] add menu item to show DNS entries to make in CAFE DNS server Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 38 +++++++++++++++++++++++++++++++++++- azure/main.ps1 | 6 +++++- nlp/installnlpkubernetes.ps1 | 16 +++++++++------ 3 files changed, 52 insertions(+), 8 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index 1df50cc..9f804cc 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.02.23.04" +$versioncommon = "2018.02.25.01" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -905,5 +905,41 @@ function global:CheckUrl($url, $hostHeader) { $Return.StatusDescription = $Response.StatusDescription return $Return } +function global:GetDNSCommands() { + + [hashtable]$Return = @{} + + $myCommands = @() + + $loadBalancerInternalIP = kubectl get svc traefik-ingress-service-internal -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' + + $internalDNSEntries = kubectl get ing --all-namespaces -l expose=internal -o jsonpath="{.items[*]..spec.rules[*].host}" + ForEach ($dns in $internalDNSEntries.Split(" ")) { + $dnsWithoutDomain = $dns -replace ".healthcatalyst.net", "" + $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recorddelete healthcatalyst.net $dnsWithoutDomain A" + $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recordadd healthcatalyst.net $dnsWithoutDomain A $loadBalancerInternalIP" + } + + $loadBalancerIP = kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' --ignore-not-found=true + + $externalDNSEntries = kubectl get ing --all-namespaces -l expose=external -o jsonpath="{.items[*]..spec.rules[*].host}" + + ForEach ($dns in $externalDNSEntries.Split(" ")) { + $dnsWithoutDomain = $dns -replace ".healthcatalyst.net", "" + $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recorddelete healthcatalyst.net $dnsWithoutDomain A" + $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recordadd healthcatalyst.net $dnsWithoutDomain A $loadBalancerIP" + } + + $Return.Commands = $myCommands + return $Return +} +function global:WriteDNSCommands(){ + Write-Host "To setup DNS entries in CAFE environment, remote desktop to CAFE DNS server: 10.5.2.4" + Write-Host "Open Powershell window and paste the following:" + $myCommands = $(GetDNSCommands).Commands + ForEach($myCommand in $myCommands){ + Write-Host $myCommand + } +} #------------------- Write-Host "end common.ps1 version $versioncommon" diff --git a/azure/main.ps1 b/azure/main.ps1 index 6064ab4..464c2c9 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.02.23.05" +$version = "2018.02.25.01" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -30,6 +30,7 @@ while ($userinput -ne "q") { Write-Host "5: Renew Azure token" Write-Host "6: Show NameServers" Write-Host "7: Setup Azure DNS entries" + Write-Host "8: Show DNS entries to make in CAFE DNS" Write-Host "------ Install -------" Write-Host "11: Install NLP" Write-Host "12: Install Realtime" @@ -136,6 +137,9 @@ while ($userinput -ne "q") { SetupDNS -dnsResourceGroup $DNS_RESOURCE_GROUP -dnsrecordname $dnsrecordname -externalIP $EXTERNAL_IP } + '8' { + WriteDNSCommands + } '11' { Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | Invoke-Expression; } diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index f1a9774..4859feb 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -1,4 +1,4 @@ -Write-Output "--- installnlpkubernetes.ps1 Version 2018.02.22.01 ---" +Write-Output "--- installnlpkubernetes.ps1 Version 2018.02.25.01 ---" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | iex; @@ -172,13 +172,17 @@ $loadBalancerIP = kubectl get svc traefik-ingress-service-public -n kube-system if ([string]::IsNullOrWhiteSpace($loadBalancerIP)) { $loadBalancerIP = kubectl get svc traefik-ingress-service-internal -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' } +$loadBalancerInternalIP = kubectl get svc traefik-ingress-service-internal -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' + +WriteDNSCommands + +Write-Output "If you didn't setup DNS in CAFE per above, add the following entries in your c:\windows\system32\drivers\etc\hosts file to access the urls from your browser" +Write-Output "$loadBalancerInternalIP solr.$customerid.healthcatalyst.net" +Write-Output "$loadBalancerIP nlp.$customerid.healthcatalyst.net" +Write-Output "$loadBalancerIP nlpjobs.$customerid.healthcatalyst.net" Write-Output "To test out the NLP services, open Git Bash and run:" -Write-Output "curl -L --verbose --header 'Host: solr.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/solr' -k" +Write-Output "curl -L --verbose --header 'Host: solr.$customerid.healthcatalyst.net' 'http://$loadBalancerInternalIP/solr' -k" Write-Output "curl -L --verbose --header 'Host: nlp.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/nlpweb' -k" Write-Output "curl -L --verbose --header 'Host: nlpjobs.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/nlp' -k" -Write-Output "If you didn't setup DNS, add the following entries in your c:\windows\system32\drivers\etc\hosts file to access the urls from your browser" -Write-Output "$loadBalancerIP solr.$customerid.healthcatalyst.net" -Write-Output "$loadBalancerIP nlp.$customerid.healthcatalyst.net" -Write-Output "$loadBalancerIP nlpjobs.$customerid.healthcatalyst.net" From 031677258eb9efd21365b7e5732fa2da3aad2433 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Sun, 25 Feb 2018 18:36:03 -0800 Subject: [PATCH 240/473] setup PTR records for DNS Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index 9f804cc..aea1c05 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.02.25.01" +$versioncommon = "2018.02.25.02" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -916,8 +916,10 @@ function global:GetDNSCommands() { $internalDNSEntries = kubectl get ing --all-namespaces -l expose=internal -o jsonpath="{.items[*]..spec.rules[*].host}" ForEach ($dns in $internalDNSEntries.Split(" ")) { $dnsWithoutDomain = $dns -replace ".healthcatalyst.net", "" - $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recorddelete healthcatalyst.net $dnsWithoutDomain A" + $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recorddelete healthcatalyst.net $dnsWithoutDomain A /f" $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recordadd healthcatalyst.net $dnsWithoutDomain A $loadBalancerInternalIP" + $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recorddelete healthcatalyst.net $dns PTR /f" + $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recordadd 10.in-addr-arpa $loadBalancerInternalIP PTR $dns" } $loadBalancerIP = kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' --ignore-not-found=true @@ -926,8 +928,10 @@ function global:GetDNSCommands() { ForEach ($dns in $externalDNSEntries.Split(" ")) { $dnsWithoutDomain = $dns -replace ".healthcatalyst.net", "" - $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recorddelete healthcatalyst.net $dnsWithoutDomain A" + $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recorddelete healthcatalyst.net $dnsWithoutDomain A /f" $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recordadd healthcatalyst.net $dnsWithoutDomain A $loadBalancerIP" + $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recorddelete healthcatalyst.net $dns PTR /f" + $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recordadd 10.in-addr-arpa $loadBalancerIP PTR $dns" } $Return.Commands = $myCommands @@ -939,7 +943,8 @@ function global:WriteDNSCommands(){ $myCommands = $(GetDNSCommands).Commands ForEach($myCommand in $myCommands){ Write-Host $myCommand - } + } + Write-Host "" } #------------------- Write-Host "end common.ps1 version $versioncommon" From 1ae66d0d2c33575dc97a2ad8186e486104191ae0 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Sun, 25 Feb 2018 18:59:24 -0800 Subject: [PATCH 241/473] replace vm public name with private ip since we can't access by public name in CAFE environment Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 27 ++++++++++++++++++++++++++- azure/create-acs-cluster.ps1 | 12 +++++++++--- 2 files changed, 35 insertions(+), 4 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index aea1c05..f8b6802 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.02.25.02" +$versioncommon = "2018.02.25.03" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -946,5 +946,30 @@ function global:WriteDNSCommands(){ } Write-Host "" } + +function global:GetPublicNameofMasterVM($resourceGroup){ + [hashtable]$Return = @{} + + $resourceGroupLocation = az group show --name $resourceGroup --query "location" -o tsv + + $masterVMName = "${resourceGroup}.${resourceGroupLocation}.cloudapp.azure.com" + + $Return.Name = $masterVMName + return $Return +} + +function global:GetPrivateIPofMasterVM($resourceGroup){ + [hashtable]$Return = @{} + + $virtualmachines = az vm list -g $resourceGroup --query "[?storageProfile.osDisk.osType != 'Windows'].name" -o tsv + ForEach ($vm in $virtualmachines) { + if ($vm -match "master" ) { + $firstprivateip = az vm list-ip-addresses -g $resourceGroup -n $vm --query "[].virtualMachine.network.privateIpAddresses[0]" -o tsv + } + } + + $Return.PrivateIP = $firstprivateip + return $Return +} #------------------- Write-Host "end common.ps1 version $versioncommon" diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index d6d132e..055c2bc 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -1,4 +1,4 @@ -Write-output "--- create-acs-cluster Version 2018.02.22.04 ----" +Write-output "--- create-acs-cluster Version 2018.02.25.01 ----" # # This script is meant for quick & easy install via: @@ -369,9 +369,15 @@ if (!(Test-Path -Path "$AKS_LOCAL_TEMP_FOLDER\.kube")) { New-Item -ItemType directory -Path "$AKS_LOCAL_TEMP_FOLDER\.kube" } -Copy-Item -Path "$acsoutputfolder\kubeconfig\kubeconfig.$AKS_PERS_LOCATION.json" -Destination "$env:userprofile\.kube\config" +Write-Host "Replace master vm name with private ip in kube config file" +$kubeconfigjsonfile="$acsoutputfolder\kubeconfig\kubeconfig.$AKS_PERS_LOCATION.json" +$publicNameOfMasterVM = $(GetPublicNameofMasterVM).Name +$privateIpOfMasterVM = $(GetPrivateIPofMasterVM -resourceGroup $AKS_PERS_RESOURCE_GROUP).PrivateIP +(Get-Content "$kubeconfigjsonfile").replace("$publicNameOfMasterVM", "$privateIpOfMasterVM") | Set-Content "$kubeconfigjsonfile" -Copy-Item -Path "$acsoutputfolder\kubeconfig\kubeconfig.$AKS_PERS_LOCATION.json" -Destination "$AKS_LOCAL_TEMP_FOLDER\.kube\config" +Copy-Item -Path "$kubeconfigjsonfile" -Destination "$env:userprofile\.kube\config" + +Copy-Item -Path "$kubeconfigjsonfile" -Destination "$AKS_LOCAL_TEMP_FOLDER\.kube\config" # If ((Get-Content "$($env:windir)\system32\Drivers\etc\hosts" ) -notcontains "127.0.0.1 hostname1") # {ac -Encoding UTF8 "$($env:windir)\system32\Drivers\etc\hosts" "127.0.0.1 hostname1" } From 12fafbe601c67c6a77b5bca0614cbbaac1c2924f Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Sun, 25 Feb 2018 19:07:39 -0800 Subject: [PATCH 242/473] remove PTR records for now Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index f8b6802..523b2c0 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.02.25.03" +$versioncommon = "2018.02.25.04" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -918,8 +918,8 @@ function global:GetDNSCommands() { $dnsWithoutDomain = $dns -replace ".healthcatalyst.net", "" $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recorddelete healthcatalyst.net $dnsWithoutDomain A /f" $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recordadd healthcatalyst.net $dnsWithoutDomain A $loadBalancerInternalIP" - $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recorddelete healthcatalyst.net $dns PTR /f" - $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recordadd 10.in-addr-arpa $loadBalancerInternalIP PTR $dns" + # $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recorddelete healthcatalyst.net $dns PTR /f" + # $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recordadd 10.in-addr-arpa $loadBalancerInternalIP PTR $dns" } $loadBalancerIP = kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' --ignore-not-found=true @@ -930,8 +930,8 @@ function global:GetDNSCommands() { $dnsWithoutDomain = $dns -replace ".healthcatalyst.net", "" $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recorddelete healthcatalyst.net $dnsWithoutDomain A /f" $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recordadd healthcatalyst.net $dnsWithoutDomain A $loadBalancerIP" - $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recorddelete healthcatalyst.net $dns PTR /f" - $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recordadd 10.in-addr-arpa $loadBalancerIP PTR $dns" + # $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recorddelete healthcatalyst.net $dns PTR /f" + # $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recordadd 10.in-addr-arpa $loadBalancerIP PTR $dns" } $Return.Commands = $myCommands From 9172c607f1e78da4f4745344d34de17052db570d Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Sun, 25 Feb 2018 19:10:49 -0800 Subject: [PATCH 243/473] move traefik dashboard to internal ingress Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/loadbalancer/ingress/dashboard.ssl.yaml | 2 +- kubernetes/loadbalancer/ingress/dashboard.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/kubernetes/loadbalancer/ingress/dashboard.ssl.yaml b/kubernetes/loadbalancer/ingress/dashboard.ssl.yaml index 7b0363c..7ec551d 100644 --- a/kubernetes/loadbalancer/ingress/dashboard.ssl.yaml +++ b/kubernetes/loadbalancer/ingress/dashboard.ssl.yaml @@ -6,7 +6,7 @@ metadata: namespace: kube-system labels: k8s-traefik: traefik - expose: external + expose: internal annotations: kubernetes.io/ingress.class: traefik spec: diff --git a/kubernetes/loadbalancer/ingress/dashboard.yaml b/kubernetes/loadbalancer/ingress/dashboard.yaml index c1a5d72..d4b8745 100644 --- a/kubernetes/loadbalancer/ingress/dashboard.yaml +++ b/kubernetes/loadbalancer/ingress/dashboard.yaml @@ -6,7 +6,7 @@ metadata: namespace: kube-system labels: k8s-traefik: traefik - expose: external + expose: internal annotations: kubernetes.io/ingress.class: traefik spec: From f9ffb7f2789ee07af3b0492fc5836f2e258a92df Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Sun, 25 Feb 2018 19:14:24 -0800 Subject: [PATCH 244/473] don't deploy default ingress sites since the load balancer now uses /healthz Signed-off-by: HQCATALYST\imran.qureshi --- azure/setup-loadbalancer.ps1 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index 03c29ca..fd3a832 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -379,9 +379,9 @@ foreach ($file in "dashboard.yaml dashboard-internal.yaml".Split(" ")) { Write-Host "Deploying ingress" $folder = "kubernetes/loadbalancer/ingress" -foreach ($file in "default.yaml default-internal.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - -} +# foreach ($file in "default.yaml default-internal.yaml".Split(" ")) { +# ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - +# } if ($AKS_USE_SSL -eq "y" ) { foreach ($file in "dashboard.ssl.yaml".Split(" ")) { From 53cfb9dbae27ec5d802359157dc1a66faaa08ca7 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Sun, 25 Feb 2018 19:28:36 -0800 Subject: [PATCH 245/473] enable opening the kub dashboard even if the port is busy and you don't have admin privileges Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 15 +++++++++++++++ azure/main.ps1 | 31 +++++++++++++++++-------------- 2 files changed, 32 insertions(+), 14 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index 523b2c0..e8a4336 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -481,6 +481,21 @@ function global:Get-ProcessByPort( [ValidateNotNullOrEmpty()] [int] $Port ) { return $p_id; } +function global:FindOpenPort($portArray){ + [hashtable]$Return = @{} + + ForEach($port in $portArray){ + $result = Get-ProcessByPort $port + if([string]::IsNullOrEmpty($result)){ + $Return.Port = $port + return $Return + } + } + $Return.Port = 0 + + return $Return +} + function global:AddFolderToPathEnvironmentVariable($folder) { # add the c:\kubernetes folder to system PATH Write-Host "Checking if $folder is in PATH" diff --git a/azure/main.ps1 b/azure/main.ps1 index 464c2c9..88ec657 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.02.25.01" +$version = "2018.02.25.02" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -28,7 +28,7 @@ while ($userinput -ne "q") { Write-Host "3: Start VMs in Resource Group" Write-Host "4: Stop VMs in Resource Group" Write-Host "5: Renew Azure token" - Write-Host "6: Show NameServers" + Write-Host "6: Show NameServers to add in GoDaddy" Write-Host "7: Setup Azure DNS entries" Write-Host "8: Show DNS entries to make in CAFE DNS" Write-Host "------ Install -------" @@ -154,21 +154,24 @@ while ($userinput -ne "q") { '21' { # launch Kubernetes dashboard $launchJob = $true - $existingProcess = Get-ProcessByPort 8001 - if (!([string]::IsNullOrWhiteSpace($existingProcess))) { - Do { $confirmation = Read-Host "Another process is listening on 8001. Do you want to kill that process? (y/n)"} - while ([string]::IsNullOrWhiteSpace($confirmation)) + $myPortArray = 8001,8002,8003,8004,8005,8006,8007,8008,8009,8010,8011,8012,8013,8014,8015,8016,8017,8018,8019 + $port = $(FindOpenPort -portArray $myPortArray).Port + Write-Host "Starting Kub Dashboard on port $port" + # $existingProcess = Get-ProcessByPort 8001 + # if (!([string]::IsNullOrWhiteSpace($existingProcess))) { + # Do { $confirmation = Read-Host "Another process is listening on 8001. Do you want to kill that process? (y/n)"} + # while ([string]::IsNullOrWhiteSpace($confirmation)) - if ($confirmation -eq "y") { - Stop-ProcessByPort 8001 - } - else { - $launchJob = $false - } - } + # if ($confirmation -eq "y") { + # Stop-ProcessByPort 8001 + # } + # else { + # $launchJob = $false + # } + # } if ($launchJob) { - $job = Start-Job -Name "KubDashboard" -ScriptBlock {kubectl proxy} -ErrorAction Stop + $job = Start-Job -Name "KubDashboard" -ScriptBlock {kubectl proxy -p $port} -ErrorAction Stop Wait-Job $job -Timeout 5; Write-Output "job state: $($job.state)" Receive-Job -Job $job 6>&1 From 5bdbd49b24745886cadef12e68bfc80b67f624bc Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Sun, 25 Feb 2018 19:35:17 -0800 Subject: [PATCH 246/473] use [scriptblock]::Create otherwise scriptblock doesn't expand variables Signed-off-by: HQCATALYST\imran.qureshi --- azure/main.ps1 | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/azure/main.ps1 b/azure/main.ps1 index 88ec657..f4a32dc 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.02.25.02" +$version = "2018.02.25.03" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -171,7 +171,9 @@ while ($userinput -ne "q") { # } if ($launchJob) { - $job = Start-Job -Name "KubDashboard" -ScriptBlock {kubectl proxy -p $port} -ErrorAction Stop + # https://stackoverflow.com/questions/19834643/powershell-how-to-pre-evaluate-variables-in-a-scriptblock-for-start-job + $sb = [scriptblock]::Create("kubectl proxy -p $port") + $job = Start-Job -Name "KubDashboard" -ScriptBlock $sb -ErrorAction Stop Wait-Job $job -Timeout 5; Write-Output "job state: $($job.state)" Receive-Job -Job $job 6>&1 From 43a47c34bb532ad559b9460fb1506c9fda091cb1 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Sun, 25 Feb 2018 19:37:44 -0800 Subject: [PATCH 247/473] set port in url to open in browser Signed-off-by: HQCATALYST\imran.qureshi --- azure/main.ps1 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/azure/main.ps1 b/azure/main.ps1 index f4a32dc..5a78ab9 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.02.25.03" +$version = "2018.02.25.04" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -187,11 +187,11 @@ while ($userinput -ne "q") { # Write-Host "Your kubeconfig file is here: $env:KUBECONFIG" $kubectlversion = $(kubectl version --short=true)[1] if ($kubectlversion -match "v1.8") { - Start-Process -FilePath "http://localhost:8001/api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy"; + Start-Process -FilePath "http://localhost:$port/api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy"; } else { Write-Host "Click Skip on login screen"; - Start-Process -FilePath "http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/"; + Start-Process -FilePath "http://localhost:$port/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/"; } } '22' { From ac42db27cd3bd1f2c034a12e53f748b8dff0d0f8 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Sun, 25 Feb 2018 19:43:40 -0800 Subject: [PATCH 248/473] add more possible port numbers Signed-off-by: HQCATALYST\imran.qureshi --- azure/dos.ps1 | 4 +++- azure/main.ps1 | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/azure/dos.ps1 b/azure/dos.ps1 index 8813cc6..65691bf 100644 --- a/azure/dos.ps1 +++ b/azure/dos.ps1 @@ -1 +1,3 @@ -curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; +$set = "abcdefghijklmnopqrstuvwxyz0123456789".ToCharArray() +$result += $set | Get-Random +curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1?f=$result | iex; diff --git a/azure/main.ps1 b/azure/main.ps1 index 5a78ab9..acd597b 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.02.25.04" +$version = "2018.02.25.05" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -154,7 +154,7 @@ while ($userinput -ne "q") { '21' { # launch Kubernetes dashboard $launchJob = $true - $myPortArray = 8001,8002,8003,8004,8005,8006,8007,8008,8009,8010,8011,8012,8013,8014,8015,8016,8017,8018,8019 + $myPortArray = 8001,8002,8003,8004,8005,8006,8007,8008,8009,8010,8011,8012,8013,8014,8015,8016,8017,8018,8019,8020,8021,8022,8023,8024,8025,8026,8027,8028,8029,8030,8031,8032,8033,8034,8035,8036,8037,8038,8039 $port = $(FindOpenPort -portArray $myPortArray).Port Write-Host "Starting Kub Dashboard on port $port" # $existingProcess = Get-ProcessByPort 8001 From 2a698cdbd76faa8c2e90c89c2667ab4c095e30b6 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Sun, 25 Feb 2018 19:51:40 -0800 Subject: [PATCH 249/473] add menu item to open load balancer dashboard Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 4 ++-- azure/main.ps1 | 19 +++++++++++++------ 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index e8a4336..0f31bd8 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.02.25.04" +$versioncommon = "2018.02.25.05" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -953,9 +953,9 @@ function global:GetDNSCommands() { return $Return } function global:WriteDNSCommands(){ + $myCommands = $(GetDNSCommands).Commands Write-Host "To setup DNS entries in CAFE environment, remote desktop to CAFE DNS server: 10.5.2.4" Write-Host "Open Powershell window and paste the following:" - $myCommands = $(GetDNSCommands).Commands ForEach($myCommand in $myCommands){ Write-Host $myCommand } diff --git a/azure/main.ps1 b/azure/main.ps1 index acd597b..d45c49d 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.02.25.05" +$version = "2018.02.25.06" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -18,8 +18,7 @@ Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; $userinput = "" while ($userinput -ne "q") { Write-Host "================ Health Catalyst version $version, common functions $(GetCommonVersion) ================" - Write-Host "= Current cluster: $(kubectl config current-context 2> $null) =" - Write-Host "====================================================" + Write-Host "CURRENT CLUSTER: $(kubectl config current-context 2> $null)" Write-Host "----- Choose Cluster -----" Write-Host "0: Change kube to point to another cluster" Write-Host "------ Infrastructure -------" @@ -44,6 +43,7 @@ while ($userinput -ne "q") { Write-Host "25: Test load balancer" Write-Host "26: Fix load balancers" Write-Host "27: Show load balancer logs" + Write-Host "28: Launch Load Balancer Dashboard" Write-Host "------ NLP -----" Write-Host "30: Show status of NLP" Write-Host "31: Test web sites" @@ -301,6 +301,11 @@ while ($userinput -ne "q") { kubectl logs --tail=20 $pod -n kube-system } } + '28' { + $customerid = ReadSecret -secretname customerid + $customerid = $customerid.ToLower().Trim() + Start-Process -FilePath "http://dashboard.$customerid.healthcatalyst.net"; + } '30' { kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide } @@ -321,10 +326,12 @@ while ($userinput -ne "q") { Write-Output "curl -L --verbose --header 'Host: nlpjobs.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/nlp' -k" Write-Output "If you didn't setup DNS, add the following entries in your c:\windows\system32\drivers\etc\hosts file to access the urls from your browser" - Write-Output "$loadBalancerIP solr.$customerid.healthcatalyst.net" + Write-Output "$loadBalancerInternalIP solr.$customerid.healthcatalyst.net" Write-Output "$loadBalancerIP nlp.$customerid.healthcatalyst.net" - Write-Output "$loadBalancerIP nlpjobs.$customerid.healthcatalyst.net" - + Write-Output "$loadBalancerIP nlpjobs.$customerid.healthcatalyst.net" + + Start-Process -FilePath "http://solr.$customerid.healthcatalyst.net/nlpweb"; + Start-Process -FilePath "http://nlp.$customerid.healthcatalyst.net/solr"; } '32' { Write-Host "MySql root password: $(ReadSecretPassword -secretname mysqlrootpassword -namespace fabricnlp)" From 9c027f6b32c23bd41c0742e00db8d39d8f3b59e2 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Sun, 25 Feb 2018 19:56:22 -0800 Subject: [PATCH 250/473] fix urls to launch Signed-off-by: HQCATALYST\imran.qureshi --- azure/main.ps1 | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/azure/main.ps1 b/azure/main.ps1 index d45c49d..e3e8816 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.02.25.06" +$version = "2018.02.25.07" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -187,9 +187,11 @@ while ($userinput -ne "q") { # Write-Host "Your kubeconfig file is here: $env:KUBECONFIG" $kubectlversion = $(kubectl version --short=true)[1] if ($kubectlversion -match "v1.8") { + Write-Host "Launching http://localhost:$port/api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy in the web browser" Start-Process -FilePath "http://localhost:$port/api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy"; } else { + Write-Host "Launching http://localhost:$port/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/ in the web browser" Write-Host "Click Skip on login screen"; Start-Process -FilePath "http://localhost:$port/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/"; } @@ -277,7 +279,7 @@ while ($userinput -ne "q") { # Invoke-WebRequest -useb -Headers @{"Host" = "nlp.$customerid.healthcatalyst.net"} -Uri http://$loadBalancerIP/nlpweb | Select-Object -Expand Content - Write-Output "To test out the NLP services, open Git Bash and run:" + Write-Output "To test out the load balancer, open Git Bash and run:" Write-Output "curl --header 'Host: dashboard.$customerid.healthcatalyst.net' 'http://$loadBalancerInternalIP/' -k" } '26' { @@ -304,6 +306,7 @@ while ($userinput -ne "q") { '28' { $customerid = ReadSecret -secretname customerid $customerid = $customerid.ToLower().Trim() + Write-Host "Launching http://dashboard.$customerid.healthcatalyst.net in the web browser" Start-Process -FilePath "http://dashboard.$customerid.healthcatalyst.net"; } '30' { @@ -330,8 +333,10 @@ while ($userinput -ne "q") { Write-Output "$loadBalancerIP nlp.$customerid.healthcatalyst.net" Write-Output "$loadBalancerIP nlpjobs.$customerid.healthcatalyst.net" - Start-Process -FilePath "http://solr.$customerid.healthcatalyst.net/nlpweb"; - Start-Process -FilePath "http://nlp.$customerid.healthcatalyst.net/solr"; + Write-Host "Launching http://solr.$customerid.healthcatalyst.net/solr in the web browser" + Start-Process -FilePath "http://solr.$customerid.healthcatalyst.net/solr"; + Write-Host "Launching http://nlp.$customerid.healthcatalyst.net/nlpweb in the web browser" + Start-Process -FilePath "http://nlp.$customerid.healthcatalyst.net/nlpweb"; } '32' { Write-Host "MySql root password: $(ReadSecretPassword -secretname mysqlrootpassword -namespace fabricnlp)" From e0e959907a3c6fa90a30718fce56ece63e7f51c5 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Sun, 25 Feb 2018 20:22:34 -0800 Subject: [PATCH 251/473] add liveness probes for nlp Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 26 +++++++++++++------------- azure/main.ps1 | 5 ++--- kubernetes/common-kube.ps1 | 14 +++++++------- nlp/pods/jobserver.yaml | 6 ++++++ nlp/pods/nlpwebserver.yaml | 6 ++++++ nlp/pods/solrserver.yaml | 6 ++++++ 6 files changed, 40 insertions(+), 23 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index 0f31bd8..686c4a2 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.02.25.05" +$versioncommon = "2018.02.25.06" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -713,12 +713,12 @@ function global:DownloadKubectl($localFolder) { } if ( $downloadkubectl -eq "y") { $url = "https://storage.googleapis.com/kubernetes-release/release/${desiredKubeCtlVersion}/bin/windows/amd64/kubectl.exe" - Write-Output "Downloading kubectl.exe from url $url to $kubeCtlFile" + Write-Host "Downloading kubectl.exe from url $url to $kubeCtlFile" Remove-Item -Path "$kubeCtlFile" DownloadFile -url $url -targetFile $kubeCtlFile } else { - Write-Output "kubectl already exists at $kubeCtlFile" + Write-Host "kubectl already exists at $kubeCtlFile" } } @@ -850,14 +850,14 @@ function global:FixLoadBalancers($resourceGroup) { } function global:SetupDNS($dnsResourceGroup, $dnsrecordname, $externalIP) { - Write-Output "Setting DNS zones" + Write-Host "Setting DNS zones" if ([string]::IsNullOrWhiteSpace($(az network dns zone show --name "$dnsrecordname" -g $dnsResourceGroup))) { - Write-Output "Creating DNS zone: $dnsrecordname" + Write-Host "Creating DNS zone: $dnsrecordname" az network dns zone create --name "$dnsrecordname" -g $dnsResourceGroup } - Write-Output "Create A record for * in zone: $dnsrecordname" + Write-Host "Create A record for * in zone: $dnsrecordname" az network dns record-set a add-record --ipv4-address $externalIP --record-set-name "*" --resource-group $dnsResourceGroup --zone-name "$dnsrecordname" ShowNameServerEntries -dnsResourceGroup $dnsResourceGroup -dnsrecordname $dnsrecordname @@ -865,7 +865,7 @@ function global:SetupDNS($dnsResourceGroup, $dnsrecordname, $externalIP) { function global:ShowNameServerEntries($dnsResourceGroup, $dnsrecordname) { # list out the name servers - Write-Output "Name servers to set in GoDaddy for *.$dnsrecordname" + Write-Host "Name servers to set in GoDaddy for *.$dnsrecordname" az network dns zone show -g $dnsResourceGroup -n "$dnsrecordname" --query "nameServers" -o tsv } @@ -877,24 +877,24 @@ function global:GetLoadBalancerIPs() { $loadbalancer = "traefik-ingress-service-public" $loadbalancerInternal = "traefik-ingress-service-internal" - Write-Output "Waiting for IP to get assigned to the load balancer (Note: It can take upto 5 minutes for Azure to finish creating the load balancer)" + Write-Host "Waiting for IP to get assigned to the load balancer (Note: It can take upto 5 minutes for Azure to finish creating the load balancer)" Do { Start-Sleep -Seconds 10 - Write-Output "." + Write-Host "." $externalIP = $(kubectl get svc $loadbalancer -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}') } while ([string]::IsNullOrWhiteSpace($externalIP) -and ($startDate.AddMinutes($timeoutInMinutes) -gt (Get-Date))) - Write-Output "External IP: $externalIP" + Write-Host "External IP: $externalIP" if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { - Write-Output "Waiting for IP to get assigned to the internal load balancer (Note: It can take upto 5 minutes for Azure to finish creating the load balancer)" + Write-Host "Waiting for IP to get assigned to the internal load balancer (Note: It can take upto 5 minutes for Azure to finish creating the load balancer)" Do { Start-Sleep -Seconds 10 - Write-Output "." + Write-Host "." $internalIP = $(kubectl get svc $loadbalancerInternal -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}') } while ([string]::IsNullOrWhiteSpace($internalIP) -and ($startDate.AddMinutes($timeoutInMinutes) -gt (Get-Date))) - Write-Output "Internal IP: $internalIP" + Write-Host "Internal IP: $internalIP" } $Return.ExternalIP = $externalIP diff --git a/azure/main.ps1 b/azure/main.ps1 index e3e8816..4e4b7a9 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.02.25.07" +$version = "2018.02.25.08" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -18,8 +18,7 @@ Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; $userinput = "" while ($userinput -ne "q") { Write-Host "================ Health Catalyst version $version, common functions $(GetCommonVersion) ================" - Write-Host "CURRENT CLUSTER: $(kubectl config current-context 2> $null)" - Write-Host "----- Choose Cluster -----" + Write-Warning "CURRENT CLUSTER: $(kubectl config current-context 2> $null)" Write-Host "0: Change kube to point to another cluster" Write-Host "------ Infrastructure -------" Write-Host "1: Create a new Azure Container Service" diff --git a/kubernetes/common-kube.ps1 b/kubernetes/common-kube.ps1 index 55e2d2e..416c31a 100644 --- a/kubernetes/common-kube.ps1 +++ b/kubernetes/common-kube.ps1 @@ -1,5 +1,5 @@ # this file contains common functions for kubernetes -$versionkubecommon = "2018.02.22.02" +$versionkubecommon = "2018.02.25.01" Write-Host "Including common-kube.ps1 version $versionkubecommon" function global:GetCommonKubeVersion() { @@ -74,7 +74,7 @@ function global:AskForPassword ($secretname, $prompt, $namespace) { kubectl create secret generic $secretname --namespace=$namespace --from-literal=password=$mysqlrootpassword } else { - Write-Output "$secretname secret already set so will reuse it" + Write-Host "$secretname secret already set so will reuse it" } } @@ -98,7 +98,7 @@ function global:AskForPasswordAnyCharacters ($secretname, $prompt, $namespace, $ kubectl create secret generic $secretname --namespace=$namespace --from-literal=password=$mysqlrootpassword } else { - Write-Output "$secretname secret already set so will reuse it" + Write-Host "$secretname secret already set so will reuse it" } } @@ -115,7 +115,7 @@ function global:AskForSecretValue ($secretname, $prompt, $namespace) { kubectl create secret generic $secretname --namespace=$namespace --from-literal=value=$certhostname } else { - Write-Output "$secretname secret already set so will reuse it" + Write-Host "$secretname secret already set so will reuse it" } } @@ -128,7 +128,7 @@ function global:ReadYamlAndReplaceCustomer($baseUrl, $templateFile, $customerid | Foreach-Object {$_ -replace 'CUSTOMERID', "$customerid"} } else { - # Write-Output "Reading from local file: $GITHUB_URL/$templateFile" + # Write-Host "Reading from local file: $GITHUB_URL/$templateFile" Get-Content -Path "$baseUrl/$templateFile" ` | Foreach-Object {$_ -replace 'CUSTOMERID', "$customerid"} } @@ -151,7 +151,7 @@ function global:Stop-ProcessByPort( [ValidateNotNullOrEmpty()] [int] $Port ) { function global:CleanOutNamespace($namespace){ - Write-Output "--- Cleaning out any old resources in $namespace ---" + Write-Host "--- Cleaning out any old resources in $namespace ---" # note kubectl doesn't like spaces in between commas below kubectl delete --all 'deployments,pods,services,ingress,persistentvolumeclaims,jobs,cronjobs' --namespace=$namespace --ignore-not-found=true @@ -162,7 +162,7 @@ function global:CleanOutNamespace($namespace){ $CLEANUP_DONE="n" Do { $CLEANUP_DONE=$(kubectl get 'deployments,pods,services,ingress,persistentvolumeclaims,jobs,cronjobs' --namespace=$namespace -o jsonpath="{.items[*].metadata.name}") - Write-Output "Remaining items: $CLEANUP_DONE" + Write-Host "Remaining items: $CLEANUP_DONE" Start-Sleep 5 } while (![string]::IsNullOrEmpty($CLEANUP_DONE)) diff --git a/nlp/pods/jobserver.yaml b/nlp/pods/jobserver.yaml index 7a1d8a4..35ee853 100644 --- a/nlp/pods/jobserver.yaml +++ b/nlp/pods/jobserver.yaml @@ -45,6 +45,12 @@ spec: ports: - containerPort: 8084 name: jobserver + livenessProbe: + httpGet: + path: /nlp + port: 8084 + initialDelaySeconds: 60 + periodSeconds: 60 volumeMounts: - name: jobs-persistent-storage mountPath: /opt/jobWork/ diff --git a/nlp/pods/nlpwebserver.yaml b/nlp/pods/nlpwebserver.yaml index 2e271a0..52ed375 100644 --- a/nlp/pods/nlpwebserver.yaml +++ b/nlp/pods/nlpwebserver.yaml @@ -45,3 +45,9 @@ spec: name: nlpwebserver - containerPort: 8443 name: https + livenessProbe: + httpGet: + path: /nlpweb + port: 8083 + initialDelaySeconds: 60 + periodSeconds: 60 \ No newline at end of file diff --git a/nlp/pods/solrserver.yaml b/nlp/pods/solrserver.yaml index 2758665..e5afd97 100644 --- a/nlp/pods/solrserver.yaml +++ b/nlp/pods/solrserver.yaml @@ -31,6 +31,12 @@ spec: ports: - containerPort: 8085 name: solr + livenessProbe: + httpGet: + path: /solr + port: 8083 + initialDelaySeconds: 60 + periodSeconds: 60 # give pod more time to finish solr indexing terminationGracePeriodSeconds: 10 volumes: From d48e4e95e6a809c6d2b3b524cd4a583fd178381a Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Sun, 25 Feb 2018 21:08:13 -0800 Subject: [PATCH 252/473] if primary ip-config is already bound to a load balancer then bind to secondary ip-config Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 28 ++++++++++++++++++---------- azure/main.ps1 | 1 + 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index 686c4a2..6c7b9d3 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.02.25.06" +$versioncommon = "2018.02.25.07" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -481,12 +481,12 @@ function global:Get-ProcessByPort( [ValidateNotNullOrEmpty()] [int] $Port ) { return $p_id; } -function global:FindOpenPort($portArray){ +function global:FindOpenPort($portArray) { [hashtable]$Return = @{} - ForEach($port in $portArray){ + ForEach ($port in $portArray) { $result = Get-ProcessByPort $port - if([string]::IsNullOrEmpty($result)){ + if ([string]::IsNullOrEmpty($result)) { $Return.Port = $port return $Return } @@ -774,9 +774,17 @@ function global:FixLoadBalancers($resourceGroup) { $loadbalancerForNic = $(az network nic ip-config show --resource-group $resourceGroup --nic-name $nic --name $ipconfig --query "loadBalancerBackendAddressPools[].id" -o tsv) # if loadBalancerBackendAddressPools is missing then if ([string]::IsNullOrEmpty($loadbalancerForNic)) { - Write-Warning "Fixing load balancer for vm: $vm by adding nic $nic to backend pool $loadbalancerBackendPoolName in load balancer $loadbalancer " + Write-Warning "Fixing load balancer for vm: $vm by adding nic $nic with ip-config $ipconfig to backend pool $loadbalancerBackendPoolName in load balancer $loadbalancer " + # --lb-address-pools: Space-separated list of names or IDs of load balancer address pools to associate with the NIC. If names are used, --lb-name must be specified. + az network nic ip-config update --resource-group $resourceGroup --nic-name $nic --name $ipconfig --lb-name $loadbalancer --lb-address-pools $loadbalancerBackendPoolName + } + elseif (!($($loadbalancerForNic -contains $loadbalancer))) { + Write-Host "nic is already bound to load balancer $loadbalancerForNic" + Write-Host "adding internal load balancer to secondary ip-config" + # get the first secondary ipconfig + $ipconfig = $(az network nic ip-config list --resource-group $resourceGroup --nic-name $nic --query "[?!primary].name" -o tsv)[0] + Write-Warning "Fixing load balancer for vm: $vm by adding nic $nic with ip-config $ipconfig to backend pool $loadbalancerBackendPoolName in load balancer $loadbalancer " # --lb-address-pools: Space-separated list of names or IDs of load balancer address pools to associate with the NIC. If names are used, --lb-name must be specified. - # $loadbalancerBackendPool = "/subscriptions/f8a42a3a-8b22-4be4-8413-0b6911c77242/resourceGroups/Prod-Kub-UTTX-RG/providers/Microsoft.Network/loadBalancers/Prod-Kub-UTTX-RG-internal/backendAddressPools/Prod-Kub-UTTX-RG" az network nic ip-config update --resource-group $resourceGroup --nic-name $nic --name $ipconfig --lb-name $loadbalancer --lb-address-pools $loadbalancerBackendPoolName } else { @@ -952,17 +960,17 @@ function global:GetDNSCommands() { $Return.Commands = $myCommands return $Return } -function global:WriteDNSCommands(){ +function global:WriteDNSCommands() { $myCommands = $(GetDNSCommands).Commands Write-Host "To setup DNS entries in CAFE environment, remote desktop to CAFE DNS server: 10.5.2.4" Write-Host "Open Powershell window and paste the following:" - ForEach($myCommand in $myCommands){ + ForEach ($myCommand in $myCommands) { Write-Host $myCommand } Write-Host "" } -function global:GetPublicNameofMasterVM($resourceGroup){ +function global:GetPublicNameofMasterVM($resourceGroup) { [hashtable]$Return = @{} $resourceGroupLocation = az group show --name $resourceGroup --query "location" -o tsv @@ -973,7 +981,7 @@ function global:GetPublicNameofMasterVM($resourceGroup){ return $Return } -function global:GetPrivateIPofMasterVM($resourceGroup){ +function global:GetPrivateIPofMasterVM($resourceGroup) { [hashtable]$Return = @{} $virtualmachines = az vm list -g $resourceGroup --query "[?storageProfile.osDisk.osType != 'Windows'].name" -o tsv diff --git a/azure/main.ps1 b/azure/main.ps1 index 4e4b7a9..fbc9a97 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -332,6 +332,7 @@ while ($userinput -ne "q") { Write-Output "$loadBalancerIP nlp.$customerid.healthcatalyst.net" Write-Output "$loadBalancerIP nlpjobs.$customerid.healthcatalyst.net" + # clear Google DNS cache: http://www.redsome.com/flush-clear-dns-cache-google-chrome-browser/ Write-Host "Launching http://solr.$customerid.healthcatalyst.net/solr in the web browser" Start-Process -FilePath "http://solr.$customerid.healthcatalyst.net/solr"; Write-Host "Launching http://nlp.$customerid.healthcatalyst.net/nlpweb in the web browser" From c19ec00745db4fe40a8be5d6f0569f709e65c248 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Sun, 25 Feb 2018 21:59:19 -0800 Subject: [PATCH 253/473] don't include public ips if they are already included in internal LB Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 46 +++++++++++++++++++++++------------- azure/main.ps1 | 45 +++++++++++++++++++---------------- nlp/installnlpkubernetes.ps1 | 10 ++++++-- 3 files changed, 62 insertions(+), 39 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index 6c7b9d3..19aa24a 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.02.25.07" +$versioncommon = "2018.02.25.08" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -783,12 +783,18 @@ function global:FixLoadBalancers($resourceGroup) { Write-Host "adding internal load balancer to secondary ip-config" # get the first secondary ipconfig $ipconfig = $(az network nic ip-config list --resource-group $resourceGroup --nic-name $nic --query "[?!primary].name" -o tsv)[0] - Write-Warning "Fixing load balancer for vm: $vm by adding nic $nic with ip-config $ipconfig to backend pool $loadbalancerBackendPoolName in load balancer $loadbalancer " - # --lb-address-pools: Space-separated list of names or IDs of load balancer address pools to associate with the NIC. If names are used, --lb-name must be specified. - az network nic ip-config update --resource-group $resourceGroup --nic-name $nic --name $ipconfig --lb-name $loadbalancer --lb-address-pools $loadbalancerBackendPoolName + $loadbalancerForNic = $(az network nic ip-config show --resource-group $resourceGroup --nic-name $nic --name $ipconfig --query "loadBalancerBackendAddressPools[].id" -o tsv) + if ([string]::IsNullOrEmpty($loadbalancerForNic)) { + Write-Warning "Fixing load balancer for vm: $vm by adding nic $nic with ip-config $ipconfig to backend pool $loadbalancerBackendPoolName in load balancer $loadbalancer " + # --lb-address-pools: Space-separated list of names or IDs of load balancer address pools to associate with the NIC. If names are used, --lb-name must be specified. + az network nic ip-config update --resource-group $resourceGroup --nic-name $nic --name $ipconfig --lb-name $loadbalancer --lb-address-pools $loadbalancerBackendPoolName + } + else { + Write-Host "Load Balancer with ip-config $ipconfig is already setup properly for vm: $vm" + } } else { - Write-Host "Load Balancer is already setup properly for vm: $vm" + Write-Host "Load Balancer with ip-config $ipconfig is already setup properly for vm: $vm" } } } @@ -934,10 +940,10 @@ function global:GetDNSCommands() { $myCommands = @() - $loadBalancerInternalIP = kubectl get svc traefik-ingress-service-internal -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' + $loadBalancerInternalIP = kubectl get svc traefik-ingress-service-internal -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' --ignore-not-found=true - $internalDNSEntries = kubectl get ing --all-namespaces -l expose=internal -o jsonpath="{.items[*]..spec.rules[*].host}" - ForEach ($dns in $internalDNSEntries.Split(" ")) { + $internalDNSEntries = $(kubectl get ing --all-namespaces -l expose=internal -o jsonpath="{.items[*]..spec.rules[*].host}" --ignore-not-found=true).Split(" ") + ForEach ($dns in $internalDNSEntries) { $dnsWithoutDomain = $dns -replace ".healthcatalyst.net", "" $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recorddelete healthcatalyst.net $dnsWithoutDomain A /f" $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recordadd healthcatalyst.net $dnsWithoutDomain A $loadBalancerInternalIP" @@ -947,18 +953,24 @@ function global:GetDNSCommands() { $loadBalancerIP = kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' --ignore-not-found=true - $externalDNSEntries = kubectl get ing --all-namespaces -l expose=external -o jsonpath="{.items[*]..spec.rules[*].host}" + $externalDNSEntries = $(kubectl get ing --all-namespaces -l expose=external -o jsonpath="{.items[*]..spec.rules[*].host}" --ignore-not-found=true).Split(" ") - ForEach ($dns in $externalDNSEntries.Split(" ")) { - $dnsWithoutDomain = $dns -replace ".healthcatalyst.net", "" - $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recorddelete healthcatalyst.net $dnsWithoutDomain A /f" - $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recordadd healthcatalyst.net $dnsWithoutDomain A $loadBalancerIP" - # $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recorddelete healthcatalyst.net $dns PTR /f" - # $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recordadd 10.in-addr-arpa $loadBalancerIP PTR $dns" + ForEach ($dns in $externalDNSEntries) { + if (($internalDNSEntries.Contains($dns))) { + # already included in internal load balancer + } + else { + $dnsWithoutDomain = $dns -replace ".healthcatalyst.net", "" + $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recorddelete healthcatalyst.net $dnsWithoutDomain A /f" + $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recordadd healthcatalyst.net $dnsWithoutDomain A $loadBalancerIP" + # $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recorddelete healthcatalyst.net $dns PTR /f" + # $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recordadd 10.in-addr-arpa $loadBalancerIP PTR $dns" + } } +} - $Return.Commands = $myCommands - return $Return +$Return.Commands = $myCommands +return $Return } function global:WriteDNSCommands() { $myCommands = $(GetDNSCommands).Commands diff --git a/azure/main.ps1 b/azure/main.ps1 index fbc9a97..07b73a7 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.02.25.08" +$version = "2018.02.25.09" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -38,19 +38,20 @@ while ($userinput -ne "q") { Write-Host "22: Show SSH commands to VMs" Write-Host "23: View status of DNS pods" Write-Host "24: Restart all VMs" + Write-Host "25: Flush DNS on local machine" Write-Host "------ Load Balancer -------" - Write-Host "25: Test load balancer" - Write-Host "26: Fix load balancers" - Write-Host "27: Show load balancer logs" - Write-Host "28: Launch Load Balancer Dashboard" + Write-Host "30: Test load balancer" + Write-Host "31: Fix load balancers" + Write-Host "32: Show load balancer logs" + Write-Host "33: Launch Load Balancer Dashboard" Write-Host "------ NLP -----" - Write-Host "30: Show status of NLP" - Write-Host "31: Test web sites" - Write-Host "32: Show passwords" - Write-Host "33: Show NLP logs" - Write-Host "34: Restart NLP" + Write-Host "40: Show status of NLP" + Write-Host "41: Test web sites" + Write-Host "42: Show passwords" + Write-Host "43: Show NLP logs" + Write-Host "44: Restart NLP" Write-Host "------ Realtime -----" - Write-Host "41: Show status of realtime" + Write-Host "51: Show status of realtime" Write-Host "-----------" Write-Host "q: Quit" $userinput = Read-Host "Please make a selection" @@ -268,6 +269,10 @@ while ($userinput -ne "q") { SetupCronTab -resourceGroup $AKS_PERS_RESOURCE_GROUP } '25' { + Read-Host "Script needs elevated privileges to flushdns. Hit ENTER to launch script to set PATH" + Start-Process powershell -verb RunAs -ArgumentList "ipconfig /flushdns" + } + '30' { $loadBalancerIP = kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' --ignore-not-found=true $loadBalancerInternalIP = kubectl get svc traefik-ingress-service-internal -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' if ([string]::IsNullOrWhiteSpace($loadBalancerIP)) { @@ -281,7 +286,7 @@ while ($userinput -ne "q") { Write-Output "To test out the load balancer, open Git Bash and run:" Write-Output "curl --header 'Host: dashboard.$customerid.healthcatalyst.net' 'http://$loadBalancerInternalIP/' -k" } - '26' { + '31' { $DEFAULT_RESOURCE_GROUP = ReadSecretValue -secretname azure-secret -valueName resourcegroup if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) { @@ -295,23 +300,23 @@ while ($userinput -ne "q") { } FixLoadBalancers -resourceGroup $AKS_PERS_RESOURCE_GROUP } - '27' { + '32' { $pods = $(kubectl get pods -l k8s-traefik=traefik -n kube-system -o jsonpath='{.items[*].metadata.name}') foreach ($pod in $pods.Split(" ")) { Write-Output "=============== Pod: $pod =================" kubectl logs --tail=20 $pod -n kube-system } } - '28' { + '33' { $customerid = ReadSecret -secretname customerid $customerid = $customerid.ToLower().Trim() Write-Host "Launching http://dashboard.$customerid.healthcatalyst.net in the web browser" Start-Process -FilePath "http://dashboard.$customerid.healthcatalyst.net"; } - '30' { + '40' { kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide } - '31' { + '41' { $loadBalancerIP = kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' --ignore-not-found=true $loadBalancerInternalIP = kubectl get svc traefik-ingress-service-internal -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' if ([string]::IsNullOrWhiteSpace($loadBalancerIP)) { @@ -338,22 +343,22 @@ while ($userinput -ne "q") { Write-Host "Launching http://nlp.$customerid.healthcatalyst.net/nlpweb in the web browser" Start-Process -FilePath "http://nlp.$customerid.healthcatalyst.net/nlpweb"; } - '32' { + '42' { Write-Host "MySql root password: $(ReadSecretPassword -secretname mysqlrootpassword -namespace fabricnlp)" Write-Host "MySql NLP_APP_USER password: $(ReadSecretPassword -secretname mysqlpassword -namespace fabricnlp)" Write-Host "SendGrid SMTP Relay key: $(ReadSecretPassword -secretname smtprelaypassword -namespace fabricnlp)" } - '33' { + '43' { $pods = $(kubectl get pods -n fabricnlp -o jsonpath='{.items[*].metadata.name}') foreach ($pod in $pods.Split(" ")) { Write-Output "=============== Pod: $pod =================" kubectl logs --tail=20 $pod -n fabricnlp } } - '34' { + '44' { kubectl delete --all 'pods' --namespace=fabricnlp --ignore-not-found=true } - '41' { + '51' { kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime -o wide } 'q' { diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index 4859feb..3781c8b 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -1,4 +1,4 @@ -Write-Output "--- installnlpkubernetes.ps1 Version 2018.02.25.01 ---" +Write-Output "--- installnlpkubernetes.ps1 Version 2018.02.25.02 ---" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | iex; @@ -74,7 +74,13 @@ if ([string]::IsNullOrWhiteSpace($(kubectl get namespace $namespace --ignore-not kubectl create namespace $namespace } else { - Do { $deleteSecrets = Read-Host "Namespace exists. Do you want to delete passwords and ALL data stored in this namespace? (y/n)"} + Write-Warning "Namespace already exists. Do you want to delete passwords and ALL data stored in this namespace or keep the current data and passwords" + Do { + $deleteSecrets = Read-Host "Delete passwords and ALL data stored in this namespace? (y/n) (default: n)" + if([string]::IsNullOrEmpty($deleteSecrets)){ + $deleteSecrets = "n" + } + } while ([string]::IsNullOrWhiteSpace($deleteSecrets)) if ($deleteSecrets -eq "y" ) { From 46d557375c9f200e17ee8592838410baa5422d30 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Sun, 25 Feb 2018 22:00:58 -0800 Subject: [PATCH 254/473] fix typo Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index 19aa24a..9de7393 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.02.25.08" +$versioncommon = "2018.02.25.09" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -967,10 +967,8 @@ function global:GetDNSCommands() { # $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recordadd 10.in-addr-arpa $loadBalancerIP PTR $dns" } } -} - -$Return.Commands = $myCommands -return $Return + $Return.Commands = $myCommands + return $Return } function global:WriteDNSCommands() { $myCommands = $(GetDNSCommands).Commands From 10f24e954314b95f2736b8da1ff153935bab6a60 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Sun, 25 Feb 2018 22:03:04 -0800 Subject: [PATCH 255/473] increment version Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 2 +- azure/main.ps1 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index 9de7393..8903125 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.02.25.09" +$versioncommon = "2018.02.25.10" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { diff --git a/azure/main.ps1 b/azure/main.ps1 index 07b73a7..e5c9432 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.02.25.09" +$version = "2018.02.25.10" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; From 5ba3ea6e779cae24be6372c5313fadba19609bf7 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Sun, 25 Feb 2018 22:08:49 -0800 Subject: [PATCH 256/473] use a random string when downloading to make sure we get the latest files Signed-off-by: HQCATALYST\imran.qureshi --- azure/main.ps1 | 9 ++++++--- azure/setup-loadbalancer.ps1 | 9 ++++++--- kubernetes/common-kube.ps1 | 7 +++++-- nlp/installnlpkubernetes.ps1 | 9 ++++++--- 4 files changed, 23 insertions(+), 11 deletions(-) diff --git a/azure/main.ps1 b/azure/main.ps1 index e5c9432..957e12d 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.02.25.10" +$version = "2018.02.25.11" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -6,10 +6,13 @@ $version = "2018.02.25.10" $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1 | Invoke-Expression; +$set = "abcdefghijklmnopqrstuvwxyz0123456789".ToCharArray() +$randomstring += $set | Get-Random + +Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1?f=$randomstring | Invoke-Expression; # Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; -Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; +Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1?f=$randomstring | Invoke-Expression; # Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index fd3a832..6ca22ff 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.02.23.02" +Write-output "Version 2018.02.25.01" # # This script is meant for quick & easy install via: @@ -9,10 +9,13 @@ $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/m Write-Host "GITHUB_URL: $GITHUB_URL" -Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1 | Invoke-Expression; +$set = "abcdefghijklmnopqrstuvwxyz0123456789".ToCharArray() +$randomstring += $set | Get-Random + +Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1?f=$randomstring | Invoke-Expression; # Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; -Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; +Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1?f=$randomstring | Invoke-Expression; # Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; $AKS_OPEN_TO_PUBLIC = "" diff --git a/kubernetes/common-kube.ps1 b/kubernetes/common-kube.ps1 index 416c31a..6c18596 100644 --- a/kubernetes/common-kube.ps1 +++ b/kubernetes/common-kube.ps1 @@ -1,5 +1,8 @@ # this file contains common functions for kubernetes -$versionkubecommon = "2018.02.25.01" +$versionkubecommon = "2018.02.25.02" + +$set = "abcdefghijklmnopqrstuvwxyz0123456789".ToCharArray() +$randomstring += $set | Get-Random Write-Host "Including common-kube.ps1 version $versionkubecommon" function global:GetCommonKubeVersion() { @@ -123,7 +126,7 @@ function global:ReadYamlAndReplaceCustomer($baseUrl, $templateFile, $customerid Write-Host "Reading from url: ${baseUrl}/${templateFile}" if ($baseUrl.StartsWith("http")) { - Invoke-WebRequest -Uri "${baseUrl}/${templateFile}" -UseBasicParsing -ContentType "text/plain; charset=utf-8" ` + Invoke-WebRequest -Uri "${baseUrl}/${templateFile}?f=${randomstring}" -UseBasicParsing -ContentType "text/plain; charset=utf-8" ` | Select-Object -Expand Content ` | Foreach-Object {$_ -replace 'CUSTOMERID', "$customerid"} } diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index 3781c8b..dc84eb5 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -1,14 +1,17 @@ -Write-Output "--- installnlpkubernetes.ps1 Version 2018.02.25.02 ---" +Write-Output "--- installnlpkubernetes.ps1 Version 2018.02.25.03 ---" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | iex; $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" # $GITHUB_URL = "C:\Catalyst\git\Installscripts" -Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1 | Invoke-Expression; +$set = "abcdefghijklmnopqrstuvwxyz0123456789".ToCharArray() +$randomstring += $set | Get-Random + +Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1?f=$randomstring | Invoke-Expression; # Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; -Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; +Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1?f=$randomstring | Invoke-Expression; # Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; $loggedInUser = az account show --query "user.name" --output tsv From 159652b05fcf7c1fc34cee20dfe8e58d0c441dfe Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Sun, 25 Feb 2018 22:13:48 -0800 Subject: [PATCH 257/473] expose nlp on internal LB even if it is exposed on public so we can access from vnet Signed-off-by: HQCATALYST\imran.qureshi --- nlp/ingress/http/web.internal.yaml | 24 +++++++++++++++++++++ nlp/ingress/http/web.ssl.internal.yaml | 30 ++++++++++++++++++++++++++ nlp/installnlpkubernetes.ps1 | 6 +++--- 3 files changed, 57 insertions(+), 3 deletions(-) create mode 100644 nlp/ingress/http/web.internal.yaml create mode 100644 nlp/ingress/http/web.ssl.internal.yaml diff --git a/nlp/ingress/http/web.internal.yaml b/nlp/ingress/http/web.internal.yaml new file mode 100644 index 0000000..6b95c84 --- /dev/null +++ b/nlp/ingress/http/web.internal.yaml @@ -0,0 +1,24 @@ +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: nlp-ingress-internal + namespace: fabricnlp + labels: + expose: internal + annotations: + kubernetes.io/ingress.class: traefik +spec: + rules: + - host: nlp.CUSTOMERID.healthcatalyst.net + http: + paths: + - backend: + serviceName: nlpserverpublic + servicePort: 80 + - host: nlpjobs.CUSTOMERID.healthcatalyst.net + http: + paths: + - backend: + serviceName: nlpjobsserverpublic + servicePort: 80 +--- diff --git a/nlp/ingress/http/web.ssl.internal.yaml b/nlp/ingress/http/web.ssl.internal.yaml new file mode 100644 index 0000000..b1291b8 --- /dev/null +++ b/nlp/ingress/http/web.ssl.internal.yaml @@ -0,0 +1,30 @@ +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: nlp-ingress-internal + namespace: fabricnlp + labels: + expose: internal + annotations: + kubernetes.io/ingress.class: traefik +spec: + # https://v1-8.docs.kubernetes.io/docs/api-reference/v1.8/#ingresstls-v1beta1-extensions + tls: + - secretName: ssl-ahmn + hosts: + - nlp.CUSTOMERID.healthcatalyst.net + - nlpjobs.CUSTOMERID.healthcatalyst.net + rules: + - host: nlp.CUSTOMERID.healthcatalyst.net + http: + paths: + - backend: + serviceName: nlpserverpublic + servicePort: 80 + - host: nlpjobs.CUSTOMERID.healthcatalyst.net + http: + paths: + - backend: + serviceName: nlpjobsserverpublic + servicePort: 80 +--- diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index dc84eb5..dc66dcd 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -1,4 +1,4 @@ -Write-Output "--- installnlpkubernetes.ps1 Version 2018.02.25.03 ---" +Write-Output "--- installnlpkubernetes.ps1 Version 2018.02.25.04 ---" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | iex; @@ -148,12 +148,12 @@ foreach ($file in "solrserver.yaml jobserver.yaml nlpwebserver.yaml".Split(" ")) Write-Host "-- Deploying HTTP proxies --" $folder = "ingress/http" if ($AKS_USE_SSL -eq "y" ) { - foreach ($file in "web.ssl.yaml solr.ssl.yaml".Split(" ")) { + foreach ($file in "web.ssl.yaml solr.ssl.yaml web.ssl.internal.yaml".Split(" ")) { ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/${folder}/${file}" -customerid $customerid | kubectl apply -f - } } else { - foreach ($file in "web.yaml solr.yaml".Split(" ")) { + foreach ($file in "web.yaml solr.yaml web.internal.yaml".Split(" ")) { ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/${folder}/${file}" -customerid $customerid | kubectl apply -f - } } From 1c47acd5c68983a9e5c6fc92a013f32366095511 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Sun, 25 Feb 2018 22:24:57 -0800 Subject: [PATCH 258/473] add menu item to show detailed status of nlp pods Signed-off-by: HQCATALYST\imran.qureshi --- azure/main.ps1 | 24 ++++++++++++++++-------- kubernetes/main.sh | 2 +- nlp/installnlpkubernetes.ps1 | 1 + 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/azure/main.ps1 b/azure/main.ps1 index 957e12d..83154e6 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.02.25.11" +$version = "2018.02.25.12" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -49,10 +49,11 @@ while ($userinput -ne "q") { Write-Host "33: Launch Load Balancer Dashboard" Write-Host "------ NLP -----" Write-Host "40: Show status of NLP" - Write-Host "41: Test web sites" - Write-Host "42: Show passwords" - Write-Host "43: Show NLP logs" - Write-Host "44: Restart NLP" + Write-Host "41: Show detailed status of NLP" + Write-Host "42: Test web sites" + Write-Host "43: Show passwords" + Write-Host "44: Show NLP logs" + Write-Host "45: Restart NLP" Write-Host "------ Realtime -----" Write-Host "51: Show status of realtime" Write-Host "-----------" @@ -320,6 +321,13 @@ while ($userinput -ne "q") { kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide } '41' { + $pods = $(kubectl get pods -n fabricnlp -o jsonpath='{.items[*].metadata.name}') + foreach ($pod in $pods.Split(" ")) { + Write-Output "=============== Describe Pod: $pod =================" + kubectl describe pods $pod -n fabricnlp + } + } + '42' { $loadBalancerIP = kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' --ignore-not-found=true $loadBalancerInternalIP = kubectl get svc traefik-ingress-service-internal -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' if ([string]::IsNullOrWhiteSpace($loadBalancerIP)) { @@ -346,19 +354,19 @@ while ($userinput -ne "q") { Write-Host "Launching http://nlp.$customerid.healthcatalyst.net/nlpweb in the web browser" Start-Process -FilePath "http://nlp.$customerid.healthcatalyst.net/nlpweb"; } - '42' { + '43' { Write-Host "MySql root password: $(ReadSecretPassword -secretname mysqlrootpassword -namespace fabricnlp)" Write-Host "MySql NLP_APP_USER password: $(ReadSecretPassword -secretname mysqlpassword -namespace fabricnlp)" Write-Host "SendGrid SMTP Relay key: $(ReadSecretPassword -secretname smtprelaypassword -namespace fabricnlp)" } - '43' { + '44' { $pods = $(kubectl get pods -n fabricnlp -o jsonpath='{.items[*].metadata.name}') foreach ($pod in $pods.Split(" ")) { Write-Output "=============== Pod: $pod =================" kubectl logs --tail=20 $pod -n fabricnlp } } - '44' { + '45' { kubectl delete --all 'pods' --namespace=fabricnlp --ignore-not-found=true } '51' { diff --git a/kubernetes/main.sh b/kubernetes/main.sh index bb7f647..0fa2476 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -35,7 +35,7 @@ while [[ "$input" != "q" ]]; do echo "31: Show status of NLP" echo "32: Test web sites" echo "33: Show passwords" - echo "34: Show NLP detailed status" + echo "34: Show detailed status of NLP" echo "35: Show NLP logs" echo "36: Restart NLP" echo "------ Realtime -----" diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index dc66dcd..be07d57 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -68,6 +68,7 @@ else { $AKS_PERS_SHARE_NAME = "fabricnlp" $AKS_PERS_BACKUP_SHARE_NAME = "${AKS_PERS_SHARE_NAME}backups" +Write-Host "Creating file shares if they don't exist" CreateShare -resourceGroup $AKS_PERS_RESOURCE_GROUP -sharename $AKS_PERS_SHARE_NAME CreateShare -resourceGroup $AKS_PERS_RESOURCE_GROUP -sharename $AKS_PERS_BACKUP_SHARE_NAME From b7d5ffdfac052b492a445373153440f2f8d3757b Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Sun, 25 Feb 2018 22:27:42 -0800 Subject: [PATCH 259/473] removing liveness probes since nlp code fails on these Signed-off-by: HQCATALYST\imran.qureshi --- nlp/pods/jobserver.yaml | 12 ++++++------ nlp/pods/nlpwebserver.yaml | 12 ++++++------ nlp/pods/solrserver.yaml | 12 ++++++------ 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/nlp/pods/jobserver.yaml b/nlp/pods/jobserver.yaml index 35ee853..b315048 100644 --- a/nlp/pods/jobserver.yaml +++ b/nlp/pods/jobserver.yaml @@ -45,12 +45,12 @@ spec: ports: - containerPort: 8084 name: jobserver - livenessProbe: - httpGet: - path: /nlp - port: 8084 - initialDelaySeconds: 60 - periodSeconds: 60 + # livenessProbe: + # httpGet: + # path: /nlp + # port: 8084 + # initialDelaySeconds: 60 + # periodSeconds: 60 volumeMounts: - name: jobs-persistent-storage mountPath: /opt/jobWork/ diff --git a/nlp/pods/nlpwebserver.yaml b/nlp/pods/nlpwebserver.yaml index 52ed375..6daa2d2 100644 --- a/nlp/pods/nlpwebserver.yaml +++ b/nlp/pods/nlpwebserver.yaml @@ -45,9 +45,9 @@ spec: name: nlpwebserver - containerPort: 8443 name: https - livenessProbe: - httpGet: - path: /nlpweb - port: 8083 - initialDelaySeconds: 60 - periodSeconds: 60 \ No newline at end of file + # livenessProbe: + # httpGet: + # path: /nlpweb + # port: 8083 + # initialDelaySeconds: 60 + # periodSeconds: 60 \ No newline at end of file diff --git a/nlp/pods/solrserver.yaml b/nlp/pods/solrserver.yaml index e5afd97..f57409c 100644 --- a/nlp/pods/solrserver.yaml +++ b/nlp/pods/solrserver.yaml @@ -31,12 +31,12 @@ spec: ports: - containerPort: 8085 name: solr - livenessProbe: - httpGet: - path: /solr - port: 8083 - initialDelaySeconds: 60 - periodSeconds: 60 + # livenessProbe: + # httpGet: + # path: /solr + # port: 8085 + # initialDelaySeconds: 60 + # periodSeconds: 60 # give pod more time to finish solr indexing terminationGracePeriodSeconds: 10 volumes: From cd03ed40c4db3ebbc4b7b84c607ebc8ac24f96ca Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Sun, 25 Feb 2018 22:37:13 -0800 Subject: [PATCH 260/473] fix load balancers after installing nlp Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 2 +- nlp/installnlpkubernetes.ps1 | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index 8903125..c751422 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -779,7 +779,7 @@ function global:FixLoadBalancers($resourceGroup) { az network nic ip-config update --resource-group $resourceGroup --nic-name $nic --name $ipconfig --lb-name $loadbalancer --lb-address-pools $loadbalancerBackendPoolName } elseif (!($($loadbalancerForNic -contains $loadbalancer))) { - Write-Host "nic is already bound to load balancer $loadbalancerForNic" + Write-Host "nic is already bound to load balancer $loadbalancerForNic with ip-config $ipconfig" Write-Host "adding internal load balancer to secondary ip-config" # get the first secondary ipconfig $ipconfig = $(az network nic ip-config list --resource-group $resourceGroup --nic-name $nic --query "[?!primary].name" -o tsv)[0] diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index be07d57..7573b3e 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -1,4 +1,4 @@ -Write-Output "--- installnlpkubernetes.ps1 Version 2018.02.25.04 ---" +Write-Output "--- installnlpkubernetes.ps1 Version 2018.02.25.05 ---" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | iex; @@ -184,7 +184,14 @@ if ([string]::IsNullOrWhiteSpace($loadBalancerIP)) { } $loadBalancerInternalIP = kubectl get svc traefik-ingress-service-internal -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' +Write-Host "Sleeping for 10 seconds so kube services get IPs assigned" +Start-Sleep -Seconds 10 + +FixLoadBalancers -resourceGroup $AKS_PERS_RESOURCE_GROUP + +Write-Host "------------------------------------------------" WriteDNSCommands +Write-Host "------------------------------------------------" Write-Output "If you didn't setup DNS in CAFE per above, add the following entries in your c:\windows\system32\drivers\etc\hosts file to access the urls from your browser" Write-Output "$loadBalancerInternalIP solr.$customerid.healthcatalyst.net" From bde666a05bda4fb6657bbcfce9350bd55426e9f5 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Sun, 25 Feb 2018 22:40:02 -0800 Subject: [PATCH 261/473] fix overlapping name of manifest Signed-off-by: HQCATALYST\imran.qureshi --- nlp/ingress/http/solr.ssl.yaml | 2 +- nlp/ingress/http/solr.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nlp/ingress/http/solr.ssl.yaml b/nlp/ingress/http/solr.ssl.yaml index 6b005b8..41436ed 100644 --- a/nlp/ingress/http/solr.ssl.yaml +++ b/nlp/ingress/http/solr.ssl.yaml @@ -1,7 +1,7 @@ apiVersion: extensions/v1beta1 kind: Ingress metadata: - name: nlp-ingress-internal + name: solr-ingress-internal namespace: fabricnlp labels: expose: internal diff --git a/nlp/ingress/http/solr.yaml b/nlp/ingress/http/solr.yaml index 09bc9cf..749824b 100644 --- a/nlp/ingress/http/solr.yaml +++ b/nlp/ingress/http/solr.yaml @@ -1,7 +1,7 @@ apiVersion: extensions/v1beta1 kind: Ingress metadata: - name: nlp-ingress-internal + name: solr-ingress-internal namespace: fabricnlp labels: expose: internal From d7e0e279518b4afcea06acfef1334f8668da7e8a Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Sun, 25 Feb 2018 22:49:47 -0800 Subject: [PATCH 262/473] skip load balancers that don't have an ingress IP Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 13 +++++++++---- kubernetes/common-kube.ps1 | 14 ++++++++------ 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index c751422..1ef1513 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.02.25.10" +$versioncommon = "2018.02.25.11" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -10,7 +10,7 @@ function global:GetCommonVersion() { function global:CreateShareInStorageAccount($storageAccountName, $resourceGroup, $sharename, $deleteExisting) { $AZURE_STORAGE_CONNECTION_STRING = az storage account show-connection-string -n $storageAccountName -g $resourceGroup -o tsv - Write-Host "Storage connection string: $AZURE_STORAGE_CONNECTION_STRING" + # Write-Host "Storage connection string: $AZURE_STORAGE_CONNECTION_STRING" if ($deleteExisting) { if ($(az storage share exists -n $sharename --connection-string $AZURE_STORAGE_CONNECTION_STRING --query "exists" -o tsv)) { @@ -811,8 +811,13 @@ function global:FixLoadBalancers($resourceGroup) { Write-Host "---- Searching for kub services of type LoadBalancer" foreach ($service in $services) { if ($($service.spec.type -eq "LoadBalancer")) { - Write-Host "Found kub services $($service.metadata.name) with $($service.status.loadBalancer.ingress[0].ip)" - $loadBalancerServices += $service + if($service.status.loadBalancer.ingress.Count -gt 0){ + Write-Host "Found kub services $($service.metadata.name) with $($service.status.loadBalancer.ingress[0].ip)" + $loadBalancerServices += $service + } + else { + Write-Host "Found kub services $($service.metadata.name) but it has no ingress IP so skipping it" + } } } Write-Host "---- Finished searching for kub services of type LoadBalancer" diff --git a/kubernetes/common-kube.ps1 b/kubernetes/common-kube.ps1 index 6c18596..3c81c17 100644 --- a/kubernetes/common-kube.ps1 +++ b/kubernetes/common-kube.ps1 @@ -1,5 +1,5 @@ # this file contains common functions for kubernetes -$versionkubecommon = "2018.02.25.02" +$versionkubecommon = "2018.02.25.03" $set = "abcdefghijklmnopqrstuvwxyz0123456789".ToCharArray() $randomstring += $set | Get-Random @@ -152,7 +152,7 @@ function global:Stop-ProcessByPort( [ValidateNotNullOrEmpty()] [int] $Port ) { -function global:CleanOutNamespace($namespace){ +function global:CleanOutNamespace($namespace) { Write-Host "--- Cleaning out any old resources in $namespace ---" @@ -162,11 +162,13 @@ function global:CleanOutNamespace($namespace){ # can't delete persistent volume claims since they are not scoped to namespace kubectl delete 'pv' -l namespace=$namespace --ignore-not-found=true - $CLEANUP_DONE="n" + $CLEANUP_DONE = "n" Do { - $CLEANUP_DONE=$(kubectl get 'deployments,pods,services,ingress,persistentvolumeclaims,jobs,cronjobs' --namespace=$namespace -o jsonpath="{.items[*].metadata.name}") - Write-Host "Remaining items: $CLEANUP_DONE" - Start-Sleep 5 + $CLEANUP_DONE = $(kubectl get 'deployments,pods,services,ingress,persistentvolumeclaims,jobs,cronjobs' --namespace=$namespace -o jsonpath="{.items[*].metadata.name}") + if (![string]::IsNullOrEmpty($CLEANUP_DONE)) { + Write-Host "Remaining items: $CLEANUP_DONE" + Start-Sleep 5 + } } while (![string]::IsNullOrEmpty($CLEANUP_DONE)) } From 800404fc5984c0dedb2896d310af0375a817e87b Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Feb 2018 08:50:51 -0800 Subject: [PATCH 263/473] add menu item to show SSH commands to connect to containers Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 17 ++++++++++++++++- azure/main.ps1 | 15 +++++++++++---- 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index 1ef1513..cd4af16 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.02.25.11" +$versioncommon = "2018.02.27.01" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -150,10 +150,25 @@ function global:RestartVMsInResourceGroup( $resourceGroup) { az vm run-command invoke -g $resourceGroup -n $vm --command-id RunShellScript --scripts "systemctl restart etcd" } } + + # systemctl enable etcd.service } +function global:FixEtcdRestartIssueOnMaster( $resourceGroup) { + + $virtualmachines = az vm list -g $resourceGroup --query "[].name" -o tsv + ForEach ($vm in $virtualmachines) { + if ($vm -match "master" ) { + Write-Host "Sending command to master($vm) to enable etcd due to bug: https://github.com/Azure/acs-engine/issues/2282" + # https://github.com/Azure/acs-engine/pull/2329/commits/e3ef0578f268bf00e6065414acffdfd7ebb4e90b + az vm run-command invoke -g $resourceGroup -n $vm --command-id RunShellScript --scripts "systemctl enable etcd.service" + } + } +} + + function global:SetHostFileInVms( $resourceGroup) { $AKS_PERS_LOCATION = az group show --name $resourceGroup --query "location" -o tsv diff --git a/azure/main.ps1 b/azure/main.ps1 index 83154e6..f95b382 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.02.25.12" +$version = "2018.02.27.02" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -54,6 +54,7 @@ while ($userinput -ne "q") { Write-Host "43: Show passwords" Write-Host "44: Show NLP logs" Write-Host "45: Restart NLP" + Write-Host "46: Show commands to SSH to NLP containers" Write-Host "------ Realtime -----" Write-Host "51: Show status of realtime" Write-Host "-----------" @@ -222,8 +223,8 @@ while ($userinput -ne "q") { $SSH_PRIVATE_KEY_FILE = "$AKS_FOLDER_FOR_SSH_KEY\id_rsa" $SSH_PRIVATE_KEY_FILE_UNIX_PATH = "/" + (($SSH_PRIVATE_KEY_FILE -replace "\\", "/") -replace ":", "").ToLower().Trim("/") $MASTER_VM_NAME = "${AKS_PERS_RESOURCE_GROUP}.${AKS_PERS_LOCATION}.cloudapp.azure.com" - Write-Output "You can connect to master VM in Git Bash for debugging using:" - Write-Output "ssh -i ${SSH_PRIVATE_KEY_FILE_UNIX_PATH} azureuser@${MASTER_VM_NAME}" + # Write-Output "You can connect to master VM in Git Bash for debugging using:" + # Write-Output "ssh -i ${SSH_PRIVATE_KEY_FILE_UNIX_PATH} azureuser@${MASTER_VM_NAME}" $virtualmachines = az vm list -g $AKS_PERS_RESOURCE_GROUP --query "[?storageProfile.osDisk.osType != 'Windows'].name" -o tsv ForEach ($vm in $virtualmachines) { @@ -232,7 +233,7 @@ while ($userinput -ne "q") { $firstpublicip = az vm show -g $AKS_PERS_RESOURCE_GROUP -n $vm -d --query privateIps -otsv $firstpublicip = $firstpublicip.Split(",")[0] } - Write-Output "Connect to $vm" + Write-Output "Connect to ${vm}:" Write-Output "ssh -i ${SSH_PRIVATE_KEY_FILE_UNIX_PATH} azureuser@${firstpublicip}" } @@ -369,6 +370,12 @@ while ($userinput -ne "q") { '45' { kubectl delete --all 'pods' --namespace=fabricnlp --ignore-not-found=true } + '46' { + $pods = $(kubectl get pods -n fabricnlp -o jsonpath='{.items[*].metadata.name}') + foreach ($pod in $pods.Split(" ")) { + Write-Output "kubectl exec -it $pod -n fabricnlp -- sh" + } + } '51' { kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime -o wide } From 404d1b8ba3d7453b8aa526b0f3ac457190301ed6 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Feb 2018 08:57:52 -0800 Subject: [PATCH 264/473] allow pressing q to exit Signed-off-by: HQCATALYST\imran.qureshi --- azure/main.ps1 | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/azure/main.ps1 b/azure/main.ps1 index f95b382..b789968 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.02.27.02" +$version = "2018.02.27.03" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -383,7 +383,10 @@ while ($userinput -ne "q") { return } } - Read-Host -Prompt "Press Enter to continue" + $userinput = Read-Host -Prompt "Press Enter to continue or q to exit" + if($userinput -eq "q"){ + return + } [Console]::ResetColor() Clear-Host } From edbdc9fe5a474cb3e338caf935bc5e833fb4e395 Mon Sep 17 00:00:00 2001 From: "michael.vidal" Date: Tue, 27 Feb 2018 13:39:28 -0500 Subject: [PATCH 265/473] Added scripts to install identity and auth standalone, with a script to register the patient safety application. --- safety/Install-Fabric.ps1 | 50 ++++++ safety/Register-Patient-Safety.ps1 | 272 +++++++++++++++++++++++++++++ safety/install.config | 26 +++ 3 files changed, 348 insertions(+) create mode 100644 safety/Install-Fabric.ps1 create mode 100644 safety/Register-Patient-Safety.ps1 create mode 100644 safety/install.config diff --git a/safety/Install-Fabric.ps1 b/safety/Install-Fabric.ps1 new file mode 100644 index 0000000..abbc428 --- /dev/null +++ b/safety/Install-Fabric.ps1 @@ -0,0 +1,50 @@ +param([switch]$installDatabase) + +if($installDatabase){ + $dacPacPath = "C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\SqlPackage.exe" + if(!(Test-Path $dacPacPath)) + { + Write-Error "SqlPackage.exe does not exist at $dacPacPath. Halting installation." -ErrorAction Stop + } + $databaseServer = "localhost" + $userEnteredDatabaseServer = Read-Host "Enter the database server name to install the databases on or accept the default [$databaseServer]" + Write-Host "" + if(![string]::IsNullOrEmpty($userEnteredDatabaseServer)){ + $databaseServer = $userEnteredDatabaseServer + } + + $identityDb = "Identity" + $userEnteredIdentityDb = Read-Host "Enter the Identity db name or accept the default [$identityDb]" + Write-Host "" + if(![string]::IsNullOrEmpty($userEnteredIdentityDb)){ + $identityDb = $userEnteredIdentityDb + } + + $authorizationDb = "Authorization" + $userEnteredAuthorizationDb = Read-Host "Enter the Authorization db name or accept the default [$authorizationDb]" + Write-Host "" + if(![string]::IsNullOrEmpty($userEnteredAuthorizationDb)){ + $authorizationDb = $userEnteredAuthorizationDb + } + + Write-Host "Deploying Fabric.Identity datbase..." + .$dacPacPath /a:Publish /Profile:"Fabric.Identity.SqlServerIncludingTables.publish.xml" /SourceFile:"Fabric.Identity.SqlServer.dacpac" /TargetServerName:$databaseServer /TargetDatabaseName:$identityDb + Write-Host "" + + Write-Host "Deploying Fabric.Authorization datbase..." + .$dacPacPath /a:Publish /Profile:"Fabric.Authorization.SqlServer.publish.xml" /SourceFile:"Fabric.Authorization.SqlServer.dacpac" /TargetServerName:$databaseServer /TargetDatabaseName:$authorizationDb + Write-Host "" +} + +Write-Host "Installing Fabric.Identity..." +./Install-Identity-Windows.ps1 -noDiscoveryService +Write-Host "" + +Write-Host "Installing Fabric.Authorization..." +./Install-Authorization-Windows.ps1 -noDiscoveryService +Write-Host "" + +Write-Host "Registering Safety Surveillance..." +./Register-Patient-Safety.ps1 +Write-Host "" + diff --git a/safety/Register-Patient-Safety.ps1 b/safety/Register-Patient-Safety.ps1 new file mode 100644 index 0000000..13cb371 --- /dev/null +++ b/safety/Register-Patient-Safety.ps1 @@ -0,0 +1,272 @@ +# +# Install_Authorization_Windows.ps1 +# +function Get-IdentityServiceUrl() +{ + return "https://$env:computername.$($env:userdnsdomain.tolower())/Identity" +} + +function Get-AuthorizationServiceUrl() +{ + return "https://$env:computername.$($env:userdnsdomain.tolower())/Authorization" +} + +function Get-SafetySurveillanceUrl() +{ + return "https://$env:computername.$($env:userdnsdomain.tolower())/SafetySurveillance" +} + +function Invoke-Post($url, $body, $accessToken) +{ + $headers = @{"Accept" = "application/json"} + if($accessToken){ + $headers.Add("Authorization", "Bearer $accessToken") + } + $body = (ConvertTo-Json $body) + try{ + $postResponse = Invoke-RestMethod -Method Post -Uri $url -Body $body -ContentType "application/json" -Headers $headers + Write-Success "Success." + Write-Host "" + return $postResponse + }catch{ + $exception = $_.Exception + if($exception -ne $null -and $exception.Response.StatusCode.value__ -eq 409) + { + Write-Success "Entity: " + Write-Success $body + Write-Success "already exists, skipping creation." + Write-Host "" + }else{ + $result = $exception.Response.GetResponseStream() + $reader = New-Object System.IO.StreamReader($result) + $reader.BaseStream.Position = 0 + $reader.DiscardBufferedData() + $responseBody = $reader.ReadToEnd(); + Write-Error $responseBody + throw $exception + } + } +} + +function Add-AuthorizationRegistration($authUrl, $clientId, $clientName, $accessToken) +{ + $url = "$authUrl/clients" + $body = @{ + id = "$clientId" + name = "$clientName" + } + return Invoke-Post $url $body $accessToken +} + +function Add-Permission($authUrl, $name, $grain, $securableItem, $accessToken) +{ + $url = "$authUrl/permissions" + $body = @{ + name = "$name" + grain = "$grain" + securableItem = "$securableItem" + } + return Invoke-Post $url $body $accessToken +} + +function Add-Role($authUrl, $name, $grain, $securableItem, $accessToken) +{ + $url = "$authUrl/roles" + $body = @{ + name = "$name" + grain = "$grain" + securableItem = "$securableItem" + } + return Invoke-Post $url $body $accessToken +} + +function Add-Group($authUrl,$name, $source, $accessToken) +{ + $url = "$authUrl/groups" + $body = @{ + id = "$name" + groupName = "$name" + groupSource = "$source" + } + return Invoke-Post $url $body $accessToken +} + +function Add-PermissionToRole($authUrl, $roleId, $permission, $accessToken) +{ + $url = "$authUrl/roles/$roleId/permissions" + $body = @($permission) + return Invoke-Post $url $body $accessToken +} + +function Add-RoleToGroup($authUrl, $groupName, $role, $accessToken) +{ + $encodedGroupName = [System.Web.HttpUtility]::UrlEncode($groupName) + $url = "$authUrl/groups/$encodedGroupName/roles" + $body = $role + return Invoke-Post $url $body $accessToken +} + +if(!(Test-Path .\Fabric-Install-Utilities.psm1)){ + Invoke-WebRequest -Uri https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/common/Fabric-Install-Utilities.psm1 -OutFile Fabric-Install-Utilities.psm1 +} +Import-Module -Name .\Fabric-Install-Utilities.psm1 -Force + +if(!(Test-IsRunAsAdministrator)) +{ + Write-Error "You must run this script as an administrator. Halting configuration." -ErrorAction Stop +} + +$installSettings = Get-InstallationSettings "registration" +$fabricInstallerSecret = $installSettings.fabricInstallerSecret +$authorizationSerivceURL = $installSettings.authorizationSerivce +$identityServerUrl = $installSettings.identityService +$safetySurveillanceUrl = $installSettings.safetySurveillanceService +$groupName = $installSettings.groupName + +if([string]::IsNullOrEmpty($installSettings.identityService)) +{ + $identityServerUrl = Get-IdentityServiceUrl +} else +{ + $identityServerUrl = $installSettings.identityService +} + +if([string]::IsNullOrEmpty($installSettings.authorizationSerivce)) +{ + $authorizationSerivceURL = Get-AuthorizationServiceUrl +} else +{ + $authorizationSerivceURL = $installSettings.authorizationSerivce +} + +if([string]::IsNullOrEmpty($installSettings.safetySurveillanceService)) +{ + $safetySurveillanceUrl = Get-SafetySurveillanceUrl +} else +{ + $safetySurveillanceUrl = $installSettings.safetySurveillanceService +} + +try{ + $encryptionCert = Get-Certificate $encryptionCertificateThumbprint +}catch{ + Write-Host "Could not get encryption certificate with thumbprint $encryptionCertificateThumbprint. Please verify that the encryptionCertificateThumbprint setting in install.config contains a valid thumbprint for a certificate in the Local Machine Personal store. Halting installation." + throw $_.Exception +} + + +$userEnteredFabricInstallerSecret = Read-Host "Enter the Fabric Installer Secret or hit enter to accept the default [$fabricInstallerSecret]" +Write-Host "" +if(![string]::IsNullOrEmpty($userEnteredFabricInstallerSecret)){ + $fabricInstallerSecret = $userEnteredFabricInstallerSecret +} + +$userEnteredAuthorizationServiceURL = Read-Host "Enter the URL for the Authorization Service or hit enter to accept the default [$authorizationSerivceURL]" +Write-Host "" +if(![string]::IsNullOrEmpty($userEnteredAuthorizationServiceURL)){ + $authorizationSerivceURL = $userEnteredAuthorizationServiceURL +} + +$userEnteredIdentityServiceURL = Read-Host "Enter the URL for the Identity Service or hit enter to accept the default [$identityServerUrl]" +Write-Host "" +if(![string]::IsNullOrEmpty($userEnteredIdentityServiceURL)){ + $identityServerUrl = $userEnteredIdentityServiceURL +} + +$userEnteredSafetySurveillanceURL = Read-Host "Enter the URL for the Identity Service or hit enter to accept the default [$safetySurveillanceUrl]" +Write-Host "" +if(![string]::IsNullOrEmpty($userEnteredSafetySurveillanceURL)){ + $safetySurveillanceUrl = $userEnteredSafetySurveillanceURL +} + +$userEnteredGroupName = Read-Host "Enter the AD Group name to associate to the documenter role or hit enter to accept the default [$groupName]" +Write-Host "" +if(![string]::IsNullOrEmpty($userEnteredGroupName)){ + $groupName = $userEnteredGroupName +} + +$accessToken = Get-AccessToken $identityServerUrl "fabric-installer" "fabric/identity.manageresources fabric/authorization.write fabric/authorization.read fabric/authorization.manageclients" $fabricInstallerSecret + +#Register safety surveillance api +$body = @' +{ + "name":"safety-surveillance-api", + "userClaims":["name","email","role","groups"], + "scopes":[{"name":"safety-surveillance-api"}] +} +'@ + +Write-Host "Registering Safety Surveillance API with Fabric.Identity." +try { + $authorizationApiSecret = Add-ApiRegistration -authUrl $identityServerUrl -body $body -accessToken $accessToken + Write-Host "Safety Surveillance apiSecret: $authorizationApiSecret" + Write-Host "" +} catch { + $exception = $_.Exception + if($exception -ne $null -and $exception.Response.StatusCode.value__ -eq 409) + { + Write-Success "Safety Surveillance API is already registered." + Write-Host "" + }else{ + Write-Error "Could not register Safety Surveillance API with Fabric.Identity, halting installation." + throw $exception + } + +} + +#Register safety surveillance client +$body = @{ + clientId = "safety-surveillance-webapp" + clientName = "Safey Surveillance Web App" + requireConsent = "false" + allowedGrantTypes = @("implicit", "client_credentials") + redirectUris = @("$safetySurveillanceUrl/oidc-callback.html","$safetySurveillanceUrl/silent.html") + postLogoutRedirectUris = @("$safetySurveillanceUrl") + allowOfflineAccess = "false" + allowAccessTokensViaBrowser = "true" + allowedCorsOrigins = @("$safetySurveillanceUrl") + allowedScopes = @("openid", "profile", "fabric.profile", "safety-surveillance-api", "fabric/authorization.write", "fabric/authorization.read", "fabric/authorization.manageclients") +} + +$body = (ConvertTo-Json $body) +Write-Host "Registering Safety Surveillance Client with Fabric.Identity." +try{ + $authorizationClientSecret = Add-ClientRegistration -authUrl $identityServerUrl -body $body -accessToken $accessToken + Write-Host "Safety Surveillance clientSecret: $authorizationClientSecret" + Write-Host "" +} catch { + $exception = $_.Exception + if($exception -ne $null -and $exception.Response.StatusCode.value__ -eq 409) + { + Write-Success "Safety Surveillance Client is already registered." + Write-Host "" + }else{ + Write-Error "Could not register Safety Surveillance Client with Fabric.Identity, halting installation." + throw $exception + } +} + +$clientId = "safety-surveillance-webapp" +$grain = "app" + +Write-Host "Registering Safety Surveillance Client with Fabric.Authorization." +$client = Add-AuthorizationRegistration -authUrl $authorizationSerivceURL -clientId $clientId -clientName "Safety Surveillance Web App" -accessToken $accessToken + +Write-Host "Creating 'candocument' permission." +$permission = Add-Permission -authUrl $authorizationSerivceURL -name "candocument" -grain $grain -securableItem $clientId -accessToken $accessToken + +Write-Host "Creating 'documenter' role." +$role = Add-Role -authUrl $authorizationSerivceURL -name "documenter" -grain $grain -securableItem $clientId -accessToken $accessToken + +Write-Host "Adding '$groupName' group." +$group = Add-Group -authUrl $authorizationSerivceURL -name $groupName -source "Windows" -accessToken $accessToken + +if($permission -ne $null -and $role -ne $null){ + Write-Host "Associating permission with role." + $rolePermission = Add-PermissionToRole -authUrl $authorizationSerivceURL -roleId $role.id -permission $permission -accessToken $accessToken +} + +if($group -ne $null -and $role -ne $null){ + Write-Host "Associating role with group." + $groupRole = Add-RoleToGroup -authUrl $authorizationSerivceURL -groupName $groupName -role $role -accessToken $accessToken +} diff --git a/safety/install.config b/safety/install.config new file mode 100644 index 0000000..9ad6d97 --- /dev/null +++ b/safety/install.config @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From db4c7b88efdaf2015bc7d07dd199e126b6b2f848 Mon Sep 17 00:00:00 2001 From: "michael.vidal" Date: Tue, 27 Feb 2018 14:45:37 -0500 Subject: [PATCH 266/473] Fixed up some typos and added more error checking based on review. --- safety/Install-Fabric.ps1 | 4 +-- safety/Register-Patient-Safety.ps1 | 49 +++++++++++++++++++++--------- 2 files changed, 37 insertions(+), 16 deletions(-) diff --git a/safety/Install-Fabric.ps1 b/safety/Install-Fabric.ps1 index abbc428..cf5eadf 100644 --- a/safety/Install-Fabric.ps1 +++ b/safety/Install-Fabric.ps1 @@ -27,11 +27,11 @@ if($installDatabase){ $authorizationDb = $userEnteredAuthorizationDb } - Write-Host "Deploying Fabric.Identity datbase..." + Write-Host "Deploying Fabric.Identity database..." .$dacPacPath /a:Publish /Profile:"Fabric.Identity.SqlServerIncludingTables.publish.xml" /SourceFile:"Fabric.Identity.SqlServer.dacpac" /TargetServerName:$databaseServer /TargetDatabaseName:$identityDb Write-Host "" - Write-Host "Deploying Fabric.Authorization datbase..." + Write-Host "Deploying Fabric.Authorization database..." .$dacPacPath /a:Publish /Profile:"Fabric.Authorization.SqlServer.publish.xml" /SourceFile:"Fabric.Authorization.SqlServer.dacpac" /TargetServerName:$databaseServer /TargetDatabaseName:$authorizationDb Write-Host "" } diff --git a/safety/Register-Patient-Safety.ps1 b/safety/Register-Patient-Safety.ps1 index 13cb371..52a4cca 100644 --- a/safety/Register-Patient-Safety.ps1 +++ b/safety/Register-Patient-Safety.ps1 @@ -118,25 +118,25 @@ if(!(Test-IsRunAsAdministrator)) $installSettings = Get-InstallationSettings "registration" $fabricInstallerSecret = $installSettings.fabricInstallerSecret -$authorizationSerivceURL = $installSettings.authorizationSerivce -$identityServerUrl = $installSettings.identityService +$authorizationServiceURL = $installSettings.authorizationService +$identityServiceUrl = $installSettings.identityService $safetySurveillanceUrl = $installSettings.safetySurveillanceService $groupName = $installSettings.groupName if([string]::IsNullOrEmpty($installSettings.identityService)) { - $identityServerUrl = Get-IdentityServiceUrl + $identityServiceUrl = Get-IdentityServiceUrl } else { - $identityServerUrl = $installSettings.identityService + $identityServiceUrl = $installSettings.identityService } -if([string]::IsNullOrEmpty($installSettings.authorizationSerivce)) +if([string]::IsNullOrEmpty($installSettings.authorizationServiceURL)) { - $authorizationSerivceURL = Get-AuthorizationServiceUrl + $authorizationServiceURL = Get-AuthorizationServiceUrl } else { - $authorizationSerivceURL = $installSettings.authorizationSerivce + $authorizationServiceURL = $installSettings.authorizationService } if([string]::IsNullOrEmpty($installSettings.safetySurveillanceService)) @@ -167,10 +167,10 @@ if(![string]::IsNullOrEmpty($userEnteredAuthorizationServiceURL)){ $authorizationSerivceURL = $userEnteredAuthorizationServiceURL } -$userEnteredIdentityServiceURL = Read-Host "Enter the URL for the Identity Service or hit enter to accept the default [$identityServerUrl]" +$userEnteredIdentityServiceURL = Read-Host "Enter the URL for the Identity Service or hit enter to accept the default [$identityServiceUrl]" Write-Host "" if(![string]::IsNullOrEmpty($userEnteredIdentityServiceURL)){ - $identityServerUrl = $userEnteredIdentityServiceURL + $identityServiceUrl = $userEnteredIdentityServiceURL } $userEnteredSafetySurveillanceURL = Read-Host "Enter the URL for the Identity Service or hit enter to accept the default [$safetySurveillanceUrl]" @@ -185,7 +185,28 @@ if(![string]::IsNullOrEmpty($userEnteredGroupName)){ $groupName = $userEnteredGroupName } -$accessToken = Get-AccessToken $identityServerUrl "fabric-installer" "fabric/identity.manageresources fabric/authorization.write fabric/authorization.read fabric/authorization.manageclients" $fabricInstallerSecret +if([string]::IsNullOrWhiteSpace($fabricInstallerSecret)) +{ + Write-Error "You must enter a value for the installer secret" -ErrorAction Stop +} +if([string]::IsNullOrWhiteSpace($authorizationSerivceURL)) +{ + Write-Error "You must enter a value for the Fabric.Authorization URL" -ErrorAction Stop +} +if([string]::IsNullOrWhiteSpace($identityServiceUrl)) +{ + Write-Error "You must enter a value for the Fabric.Identity URL." -ErrorAction Stop +} +if([string]::IsNullOrWhiteSpace($safetySurveillanceUrl)) +{ + Write-Error "You must enter a value for the Safety Surveillance URL" -ErrorAction Stop +} +if([string]::IsNullOrWhiteSpace($groupName)) +{ + Write-Error "You must enter a value for the Group." -ErrorAction Stop +} + +$accessToken = Get-AccessToken $identityServiceUrl "fabric-installer" "fabric/identity.manageresources fabric/authorization.write fabric/authorization.read fabric/authorization.manageclients" $fabricInstallerSecret #Register safety surveillance api $body = @' @@ -198,8 +219,8 @@ $body = @' Write-Host "Registering Safety Surveillance API with Fabric.Identity." try { - $authorizationApiSecret = Add-ApiRegistration -authUrl $identityServerUrl -body $body -accessToken $accessToken - Write-Host "Safety Surveillance apiSecret: $authorizationApiSecret" + $authorizationApiSecret = Add-ApiRegistration -authUrl $identityServiceUrl -body $body -accessToken $accessToken + Write-Success "Safety Surveillance apiSecret: $authorizationApiSecret" Write-Host "" } catch { $exception = $_.Exception @@ -231,8 +252,8 @@ $body = @{ $body = (ConvertTo-Json $body) Write-Host "Registering Safety Surveillance Client with Fabric.Identity." try{ - $authorizationClientSecret = Add-ClientRegistration -authUrl $identityServerUrl -body $body -accessToken $accessToken - Write-Host "Safety Surveillance clientSecret: $authorizationClientSecret" + $authorizationClientSecret = Add-ClientRegistration -authUrl $identityServiceUrl -body $body -accessToken $accessToken + Write-Success "Safety Surveillance clientSecret: $authorizationClientSecret" Write-Host "" } catch { $exception = $_.Exception From 03647486f798edf4516b6f3543132decae0a5ba9 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Feb 2018 16:08:04 -0800 Subject: [PATCH 267/473] incldue common-kube.ps1 in create-baremetal.ps1 Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 9 +++++++-- azure/create-bare-metal.ps1 | 10 ++++++++-- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index cd4af16..a09feaf 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.02.27.01" +$versioncommon = "2018.02.27.02" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -721,6 +721,7 @@ function global:DownloadKubectl($localFolder) { } else { $kubectlversion = kubectl version --client=true --short=true + Write-Host "kubectl version: $kubectlversion" $kubectlversionMatches = $($kubectlversion -match "$desiredKubeCtlVersion") if (!$kubectlversionMatches) { $downloadkubectl = "y" @@ -746,14 +747,18 @@ function global:DownloadFile($url, $targetFile) { $totalLength = [System.Math]::Floor($response.get_ContentLength() / 1024) $responseStream = $response.GetResponseStream() $targetStream = New-Object -TypeName System.IO.FileStream -ArgumentList $targetFile, Create - $buffer = new-object byte[] 10KB + $buffer = new-object byte[] 4096KB + Write-Host "Buffer length: $($buffer.length)" $count = $responseStream.Read($buffer, 0, $buffer.length) $downloadedBytes = $count while ($count -gt 0) { $targetStream.Write($buffer, 0, $count) $count = $responseStream.Read($buffer, 0, $buffer.length) + # Write-Host "read: $count bytes" $downloadedBytes = $downloadedBytes + $count Write-Progress -activity "Downloading file '$($url.split('/') | Select-Object -Last 1)'" -status "Downloaded ($([System.Math]::Floor($downloadedBytes/1024))K of $($totalLength)K): " -PercentComplete ((([System.Math]::Floor($downloadedBytes / 1024)) / $totalLength) * 100) + [System.Console]::CursorLeft = 0 + [System.Console]::Write("Downloading '$($url.split('/') | Select-Object -Last 1)': {0}K of {1}K", [System.Math]::Floor($downloadedBytes/1024), $totalLength) } Write-Progress -activity "Finished downloading file '$($url.split('/') | Select-Object -Last 1)'" diff --git a/azure/create-bare-metal.ps1 b/azure/create-bare-metal.ps1 index 8ecd491..2775953 100644 --- a/azure/create-bare-metal.ps1 +++ b/azure/create-bare-metal.ps1 @@ -1,4 +1,4 @@ -Write-output "--- create-bare-metal Version 2018.02.15.02 ----" +Write-output "--- create-bare-metal Version 2018.02.15.03 ----" # # This script is meant for quick & easy install via: @@ -7,7 +7,13 @@ Write-output "--- create-bare-metal Version 2018.02.15.02 ----" $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" # $GITHUB_URL = "C:\Catalyst\git\Installscripts" -Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; +$set = "abcdefghijklmnopqrstuvwxyz0123456789".ToCharArray() +$randomstring += $set | Get-Random + +Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1?f=$randomstring | Invoke-Expression; +# Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; + +Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1?f=$randomstring | Invoke-Expression; # Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; $AKS_SERVICE_PRINCIPAL_NAME = "" From 36945e0d3fa96868f08b5058bc833ee5d4955583 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Feb 2018 21:52:17 -0800 Subject: [PATCH 268/473] fix create-bare-metal.ps1 Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 36 ++++++++++-- azure/create-bare-metal.ps1 | 112 ++++++++++++++++++++++-------------- azure/main.ps1 | 17 +----- kubernetes/common-kube.ps1 | 36 +++++++++++- 4 files changed, 136 insertions(+), 65 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index a09feaf..409f2cf 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.02.27.02" +$versioncommon = "2018.02.27.03" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -342,6 +342,9 @@ function global:CreateStorageIfNotExists($resourceGroup) { # remove non-alphanumeric characters and use lowercase since azure doesn't allow those in a storage account $storageAccountName = $storageAccountName -replace '[^a-zA-Z0-9]', '' $storageAccountName = $storageAccountName.ToLower() + if ($storageAccountName.Length > 24) { + $storageAccountName = $storageAccountName.Substring(0, 24) # azure does not allow names longer than 24 + } Write-Host "Using storage account: [$storageAccountName]" } Write-Host "Checking to see if storage account exists" @@ -376,15 +379,31 @@ function global:GetVnet($subscriptionId) { Write-Host "Subscription Id; $subscriptionId" - Do { $confirmation = Read-Host "Would you like to connect to an existing virtual network? (y/n)"} - while ([string]::IsNullOrWhiteSpace($confirmation)) + $confirmation = 'y' + # Do { $confirmation = Read-Host "Would you like to connect to an existing virtual network? (y/n)"} + # while ([string]::IsNullOrWhiteSpace($confirmation)) if ($confirmation -eq 'y') { + # see if we had previously connected to a vnet $vnetName = ReadSecretValue -secretname azure-vnet -valueName vnet $subnetName = ReadSecretValue -secretname azure-vnet -valueName subnet $subnetResourceGroup = ReadSecretValue -secretname azure-vnet -valueName subnetResourceGroup + + if ([string]::IsNullOrEmpty($vnetName)) { + } + else { + Do { + $confirmation = Read-Host "Kubernetes secret shows vnet=$vnetName and subnet=$subnetName. Do you want to use these? (y/n)" + } + while ([string]::IsNullOrEmpty($confirmation)) + + if ($confirmation -eq "n") { + $vnetName = "" + } + } + if ([string]::IsNullOrEmpty($vnetName)) { Write-Host "Finding existing vnets..." # az network vnet list --query "[].[name,resourceGroup ]" -o tsv @@ -398,11 +417,16 @@ function global:GetVnet($subscriptionId) { } Write-Host "------ End vnets -------" - $index = Read-Host "Enter number of vnet to use (1 - $($vnets.count))" + Do { + $index = Read-Host "Enter number of vnet to use (1 - $($vnets.count))" + } + while ([string]::IsNullOrWhiteSpace($index)) + $vnetName = $($vnets[$index - 1]) } while ([string]::IsNullOrWhiteSpace($vnetName)) + Write-Host "Searching for vnet named $vnetName ..." $subnetResourceGroup = az network vnet list --query "[?name == '$vnetName'].resourceGroup" -o tsv Write-Host "Using subnet resource group: [$subnetResourceGroup]" @@ -758,7 +782,7 @@ function global:DownloadFile($url, $targetFile) { $downloadedBytes = $downloadedBytes + $count Write-Progress -activity "Downloading file '$($url.split('/') | Select-Object -Last 1)'" -status "Downloaded ($([System.Math]::Floor($downloadedBytes/1024))K of $($totalLength)K): " -PercentComplete ((([System.Math]::Floor($downloadedBytes / 1024)) / $totalLength) * 100) [System.Console]::CursorLeft = 0 - [System.Console]::Write("Downloading '$($url.split('/') | Select-Object -Last 1)': {0}K of {1}K", [System.Math]::Floor($downloadedBytes/1024), $totalLength) + [System.Console]::Write("Downloading '$($url.split('/') | Select-Object -Last 1)': {0}K of {1}K", [System.Math]::Floor($downloadedBytes / 1024), $totalLength) } Write-Progress -activity "Finished downloading file '$($url.split('/') | Select-Object -Last 1)'" @@ -831,7 +855,7 @@ function global:FixLoadBalancers($resourceGroup) { Write-Host "---- Searching for kub services of type LoadBalancer" foreach ($service in $services) { if ($($service.spec.type -eq "LoadBalancer")) { - if($service.status.loadBalancer.ingress.Count -gt 0){ + if ($service.status.loadBalancer.ingress.Count -gt 0) { Write-Host "Found kub services $($service.metadata.name) with $($service.status.loadBalancer.ingress[0].ip)" $loadBalancerServices += $service } diff --git a/azure/create-bare-metal.ps1 b/azure/create-bare-metal.ps1 index 2775953..560e347 100644 --- a/azure/create-bare-metal.ps1 +++ b/azure/create-bare-metal.ps1 @@ -1,4 +1,4 @@ -Write-output "--- create-bare-metal Version 2018.02.15.03 ----" +Write-Host "--- create-bare-metal Version 2018.02.27.01 ----" # # This script is meant for quick & easy install via: @@ -27,7 +27,7 @@ $AKS_SUBSCRIPTION_ID = $(CheckIfUserLogged).AKS_SUBSCRIPTION_ID Do { $customerid = Read-Host "Health Catalyst Customer ID (e.g., ahmn)"} while ([string]::IsNullOrWhiteSpace($customerid)) -Write-Output "Customer ID: $customerid" +Write-Host "Customer ID: $customerid" # ask for resource group name to create $DEFAULT_RESOURCE_GROUP = "Test-Kub-$($customerid.ToUpper())-RG" @@ -53,7 +53,7 @@ $AKS_LOCAL_FOLDER = Read-Host "Folder to store SSH keys (default: c:\kubernetes) if ([string]::IsNullOrWhiteSpace($AKS_LOCAL_FOLDER)) {$AKS_LOCAL_FOLDER = "C:\kubernetes"} if (!(Test-Path -Path "$AKS_LOCAL_FOLDER")) { - Write-Output "$AKS_LOCAL_FOLDER does not exist. Creating it..." + Write-Host "$AKS_LOCAL_FOLDER does not exist. Creating it..." New-Item -ItemType directory -Path $AKS_LOCAL_FOLDER } @@ -65,6 +65,26 @@ $SSH_PRIVATE_KEY_FILE_UNIX_PATH = $SSHKeyInfo.SSH_PRIVATE_KEY_FILE_UNIX_PATH DownloadKubectl -localFolder $AKS_LOCAL_FOLDER +if ([string]::IsNullOrEmpty($(kubectl config current-context 2> $null))) { + Write-Host "kube config is not set" +} +else { + if (${AKS_PERS_RESOURCE_GROUP} -ieq $(kubectl config current-context 2> $null) ) { + Write-Host "Current kub config points to this cluster" + } + else { + $clustername = "${AKS_PERS_RESOURCE_GROUP}" + $fileToUse = "$AKS_LOCAL_FOLDER\$clustername\temp\.kube\config" + if (Test-Path $fileToUse) { + SwitchToKubCluster -kubfolder $AKS_LOCAL_FOLDER -clustername $clustername + } + else { + CleanKubConfig + } + } +} + + # see if the user wants to use a specific virtual network $VnetInfo = GetVnet -subscriptionId $AKS_SUBSCRIPTION_ID $AKS_VNET_NAME = $VnetInfo.AKS_VNET_NAME @@ -78,6 +98,8 @@ CleanResourceGroup -resourceGroup ${AKS_PERS_RESOURCE_GROUP} -location $AKS_PERS $AKS_PERS_STORAGE_ACCOUNT_NAME = $(CreateStorageIfNotExists -resourceGroup $AKS_PERS_RESOURCE_GROUP).AKS_PERS_STORAGE_ACCOUNT_NAME +Write-Host "Using Storage Account: $AKS_PERS_STORAGE_ACCOUNT_NAME" + CreateShareInStorageAccount -storageAccountName $AKS_PERS_STORAGE_ACCOUNT_NAME -resourceGroup $AKS_PERS_RESOURCE_GROUP -sharename "data" $MASTER_VM_NAME = "k8s-master" @@ -85,14 +107,14 @@ $NETWORK_SECURITY_GROUP = "cluster-nsg" Write-Host "Creating network security group: $NETWORK_SECURITY_GROUP" $nsg = az network nsg create --name $NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP --query "id" -o tsv -Write-Output "Creating rule: allow_ssh" +Write-Host "Creating rule: allow_ssh" az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $NETWORK_SECURITY_GROUP -n allow_ssh --priority 100 ` --source-address-prefixes "*" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 22 --access Allow ` --protocol Tcp --description "allow ssh access." ` --query "provisioningState" -o tsv -Write-Output "Creating rule: allow_rdp" +Write-Host "Creating rule: allow_rdp" az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $NETWORK_SECURITY_GROUP -n allow_rdp ` --priority 101 ` --source-address-prefixes "*" --source-port-ranges '*' ` @@ -102,7 +124,7 @@ az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $NETWORK_SECUR $sourceTagForHttpAccess = "Internet" if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "HttpPort" --nsg-name $NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { - Write-Output "Creating rule: HttpPort" + Write-Host "Creating rule: HttpPort" az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $NETWORK_SECURITY_GROUP -n HttpPort --priority 500 ` --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 80 --access Allow ` @@ -110,7 +132,7 @@ if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "HttpPort" -- --query "provisioningState" -o tsv } else { - Write-Output "Updating rule: HttpPort" + Write-Host "Updating rule: HttpPort" az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $NETWORK_SECURITY_GROUP -n HttpPort --priority 500 ` --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 80 --access Allow ` @@ -119,7 +141,7 @@ else { } if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "HttpsPort" --nsg-name $NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { - Write-Output "Creating rule: HttpsPort" + Write-Host "Creating rule: HttpsPort" az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $NETWORK_SECURITY_GROUP -n HttpsPort --priority 501 ` --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` @@ -127,7 +149,7 @@ if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "HttpsPort" - --query "provisioningState" -o tsv } else { - Write-Output "Updating rule: HttpsPort" + Write-Host "Updating rule: HttpsPort" az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $NETWORK_SECURITY_GROUP -n HttpsPort --priority 501 ` --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` @@ -136,16 +158,16 @@ else { } $nsgid = az network nsg list --resource-group ${AKS_PERS_RESOURCE_GROUP} --query "[?name == '${NETWORK_SECURITY_GROUP}'].id" -o tsv -Write-Output "Found ID for ${AKS_PERS_NETWORK_SECURITY_GROUP}: $nsgid" +Write-Host "Found ID for ${AKS_PERS_NETWORK_SECURITY_GROUP}: $nsgid" -Write-Output "Setting NSG into subnet" +Write-Host "Setting NSG into subnet" az network vnet subnet update -n "${AKS_SUBNET_NAME}" -g "${AKS_SUBNET_RESOURCE_GROUP}" --vnet-name "${AKS_VNET_NAME}" --network-security-group "$nsgid" --query "provisioningState" -o tsv # to list available images: az vm image list --output table # to list CentOS images: az vm image list --offer CentOS --publisher OpenLogic --all --output table $urn = "OpenLogic:CentOS:7.4:latest" -Write-Output "Creating master" +Write-Host "Creating master" $PUBLIC_IP_NAME = "${MASTER_VM_NAME}PublicIP" $ip = az network public-ip create --name $PUBLIC_IP_NAME ` --resource-group $AKS_PERS_RESOURCE_GROUP ` @@ -164,9 +186,9 @@ az vm create --resource-group $AKS_PERS_RESOURCE_GROUP --name $MASTER_VM_NAME ` --admin-username azureuser --ssh-key-value $SSH_PUBLIC_KEY_FILE ` --nics "${MASTER_VM_NAME}-nic" -Write-Output "ssh -i ${SSH_PRIVATE_KEY_FILE_UNIX_PATH} azureuser@${ip}" +Write-Host "ssh -i ${SSH_PRIVATE_KEY_FILE_UNIX_PATH} azureuser@${ip}" -Write-Output "Creating linux vm 1" +Write-Host "Creating linux vm 1" $vm = "k8s-linux-agent-1" $PUBLIC_IP_NAME = "${vm}PublicIP" $ip = az network public-ip create --name $PUBLIC_IP_NAME ` @@ -186,36 +208,38 @@ az vm create --resource-group $AKS_PERS_RESOURCE_GROUP --name $vm ` --admin-username azureuser --ssh-key-value $SSH_PUBLIC_KEY_FILE ` --nics "${vm}-nic" -Write-Output "ssh -i ${SSH_PRIVATE_KEY_FILE_UNIX_PATH} azureuser@${ip}" - -Write-Output "Creating windows vm 1" -$vm = "k8swindows1" -$PUBLIC_IP_NAME = "${vm}PublicIP" -$ip = az network public-ip create --name $PUBLIC_IP_NAME ` - --resource-group $AKS_PERS_RESOURCE_GROUP ` - --allocation-method Static --query "publicIp.ipAddress" -o tsv - -az network nic create ` - --resource-group $AKS_PERS_RESOURCE_GROUP ` - --name "${vm}-nic" ` - --subnet $AKS_SUBNET_ID ` - --network-security-group $NETWORK_SECURITY_GROUP ` - --public-ip-address $PUBLIC_IP_NAME - -# Update for your admin password -$AdminPassword = "ChangeYourAdminPassword1" - -# to list Windows images: az vm image list --offer WindowsServer --all --output table -$urn = "MicrosoftWindowsServer:WindowsServerSemiAnnual:Datacenter-Core-1709-with-Containers-smalldisk:1709.0.20171012" -$urn = "Win2016Datacenter" -az vm create --resource-group $AKS_PERS_RESOURCE_GROUP --name $vm ` - --image "$urn" ` - --size Standard_DS2_v2 ` - --admin-username azureuser --admin-password $AdminPassword ` - --nics "${vm}-nic" - +Write-Host "ssh -i ${SSH_PRIVATE_KEY_FILE_UNIX_PATH} azureuser@${ip}" + +if ($AKS_SUPPORT_WINDOWS_CONTAINERS -eq "y") { + Write-Host "Creating windows vm 1" + $vm = "k8swindows1" + $PUBLIC_IP_NAME = "${vm}PublicIP" + $ip = az network public-ip create --name $PUBLIC_IP_NAME ` + --resource-group $AKS_PERS_RESOURCE_GROUP ` + --allocation-method Static --query "publicIp.ipAddress" -o tsv + + az network nic create ` + --resource-group $AKS_PERS_RESOURCE_GROUP ` + --name "${vm}-nic" ` + --subnet $AKS_SUBNET_ID ` + --network-security-group $NETWORK_SECURITY_GROUP ` + --public-ip-address $PUBLIC_IP_NAME + + # Update for your admin password + $AdminPassword = "ChangeYourAdminPassword1" + + # to list Windows images: az vm image list --offer WindowsServer --all --output table + $urn = "MicrosoftWindowsServer:WindowsServerSemiAnnual:Datacenter-Core-1709-with-Containers-smalldisk:1709.0.20171012" + $urn = "Win2016Datacenter" + az vm create --resource-group $AKS_PERS_RESOURCE_GROUP --name $vm ` + --image "$urn" ` + --size Standard_DS2_v2 ` + --admin-username azureuser --admin-password $AdminPassword ` + --nics "${vm}-nic" + + # https://stackoverflow.com/questions/43914269/how-to-run-simple-custom-commands-on-a-azure-vm-win-7-8-10-server-post-deploy + # az vm extension set -n CustomScriptExtension --publisher Microsoft.Compute --version 1.8 --vm-name DVWinServerVMB --resource-group DVResourceGroup --settings "{'commandToExecute': 'powershell.exe md c:\\test'}" +} -# https://stackoverflow.com/questions/43914269/how-to-run-simple-custom-commands-on-a-azure-vm-win-7-8-10-server-post-deploy -# az vm extension set -n CustomScriptExtension --publisher Microsoft.Compute --version 1.8 --vm-name DVWinServerVMB --resource-group DVResourceGroup --settings "{'commandToExecute': 'powershell.exe md c:\\test'}" diff --git a/azure/main.ps1 b/azure/main.ps1 index b789968..2b561e4 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.02.27.03" +$version = "2018.02.27.04" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -69,19 +69,8 @@ while ($userinput -ne "q") { } $index = Read-Host "Enter number of folder to use (1 - $($folders.count))" $folderToUse = $($folders[$index - 1]) - $fileToUse = "C:\kubernetes\$folderToUse\temp\.kube\config" - $userKubeConfigFolder = "$env:userprofile\.kube" - If (!(Test-Path $userKubeConfigFolder)) { - Write-Output "Creating $userKubeConfigFolder" - New-Item -ItemType Directory -Force -Path "$userKubeConfigFolder" - } - $destinationFile = "${userKubeConfigFolder}\config" - Write-Host "Copying $fileToUse to $destinationFile" - Copy-Item -Path "$fileToUse" -Destination "$destinationFile" - # set environment variable KUBECONFIG to point to this location - $env:KUBECONFIG = "$destinationFile" - [Environment]::SetEnvironmentVariable("KUBECONFIG", "$destinationFile", [EnvironmentVariableTarget]::User) - Write-Host "Current cluster: $(kubectl config current-context)" + + SwitchToKubCluster -folderToUse $folderToUse } '1' { Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/create-acs-cluster.ps1 | Invoke-Expression; diff --git a/kubernetes/common-kube.ps1 b/kubernetes/common-kube.ps1 index 3c81c17..aa7a61a 100644 --- a/kubernetes/common-kube.ps1 +++ b/kubernetes/common-kube.ps1 @@ -1,5 +1,5 @@ # this file contains common functions for kubernetes -$versionkubecommon = "2018.02.25.03" +$versionkubecommon = "2018.02.27.03" $set = "abcdefghijklmnopqrstuvwxyz0123456789".ToCharArray() $randomstring += $set | Get-Random @@ -172,5 +172,39 @@ function global:CleanOutNamespace($namespace) { } while (![string]::IsNullOrEmpty($CLEANUP_DONE)) } + +function global:SwitchToKubCluster($kubfolder, $clustername) { + $fileToUse = "$kubfolder\$clustername\temp\.kube\config" + if (Test-Path -Path $fileToUse) { + Write-Host "Switching kube config to this cluster: $clustername" + + $userKubeConfigFolder = "$env:userprofile\.kube" + If (!(Test-Path $userKubeConfigFolder)) { + Write-Output "Creating $userKubeConfigFolder" + New-Item -ItemType Directory -Force -Path "$userKubeConfigFolder" + } + + $destinationFile = "${userKubeConfigFolder}\config" + Write-Host "Copying $fileToUse to $destinationFile" + Copy-Item -Path "$fileToUse" -Destination "$destinationFile" + # set environment variable KUBECONFIG to point to this location + $env:KUBECONFIG = "$destinationFile" + [Environment]::SetEnvironmentVariable("KUBECONFIG", "$destinationFile", [EnvironmentVariableTarget]::User) + Write-Host "Current cluster: $(kubectl config current-context)" + } + else { + Write-Error "$fileToUse not found" + } +} +function global:CleanKubConfig() { + Write-Host "Clearing out kube config" + $userKubeConfigFolder = "$env:userprofile\.kube" + $destinationFile = "${userKubeConfigFolder}\config" + Remove-Item -Path "$destinationFile" -Force + # set environment variable KUBECONFIG to point to this location + $env:KUBECONFIG = "" + [Environment]::SetEnvironmentVariable("KUBECONFIG", "", [EnvironmentVariableTarget]::User) +} + # -------------------- Write-Host "end common-kube.ps1 version $versioncommon" \ No newline at end of file From 0c41987b849906dfb1bc0f3690e3d49493f675ae Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 28 Feb 2018 00:27:57 -0800 Subject: [PATCH 269/473] moved function to create vm into common Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 31 ++++++++++++++++- azure/create-bare-metal.ps1 | 68 ++++++++++++++----------------------- 2 files changed, 56 insertions(+), 43 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index 409f2cf..f6e74fa 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.02.27.03" +$versioncommon = "2018.02.27.04" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -1053,5 +1053,34 @@ function global:GetPrivateIPofMasterVM($resourceGroup) { $Return.PrivateIP = $firstprivateip return $Return } + +function global:CreateVM($vm, $resourceGroup, $subnetId, $networkSecurityGroup, $publicKeyFile, $image) { + [hashtable]$Return = @{} + + $publicIP = "${vm}PublicIP" + Write-Host "Creating public IP: $publicIP" + $ip = az network public-ip create --name $publicIP ` + --resource-group $resourceGroup ` + --allocation-method Static --query "publicIp.ipAddress" -o tsv + + Write-Host "Creating NIC: ${vm}-nic" + az network nic create ` + --resource-group $resourceGroup ` + --name "${vm}-nic" ` + --subnet $subnetId ` + --network-security-group $networkSecurityGroup ` + --public-ip-address $publicIP ` + --query "provisioningState" -o tsv + + Write-Host "Creating VM: ${vm} from image: $urn" + az vm create --resource-group $resourceGroup --name $vm ` + --image "$image" ` + --size Standard_DS2_v2 ` + --admin-username azureuser --ssh-key-value $publicKeyFile ` + --nics "${vm}-nic" + + $Return.IP = $ip + return $Return +} #------------------- Write-Host "end common.ps1 version $versioncommon" diff --git a/azure/create-bare-metal.ps1 b/azure/create-bare-metal.ps1 index 560e347..116d9ae 100644 --- a/azure/create-bare-metal.ps1 +++ b/azure/create-bare-metal.ps1 @@ -1,4 +1,4 @@ -Write-Host "--- create-bare-metal Version 2018.02.27.01 ----" +Write-Host "--- create-bare-metal Version 2018.02.27.02 ----" # # This script is meant for quick & easy install via: @@ -102,7 +102,6 @@ Write-Host "Using Storage Account: $AKS_PERS_STORAGE_ACCOUNT_NAME" CreateShareInStorageAccount -storageAccountName $AKS_PERS_STORAGE_ACCOUNT_NAME -resourceGroup $AKS_PERS_RESOURCE_GROUP -sharename "data" -$MASTER_VM_NAME = "k8s-master" $NETWORK_SECURITY_GROUP = "cluster-nsg" Write-Host "Creating network security group: $NETWORK_SECURITY_GROUP" $nsg = az network nsg create --name $NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP --query "id" -o tsv @@ -168,47 +167,31 @@ az network vnet subnet update -n "${AKS_SUBNET_NAME}" -g "${AKS_SUBNET_RESOURCE_ $urn = "OpenLogic:CentOS:7.4:latest" Write-Host "Creating master" -$PUBLIC_IP_NAME = "${MASTER_VM_NAME}PublicIP" -$ip = az network public-ip create --name $PUBLIC_IP_NAME ` - --resource-group $AKS_PERS_RESOURCE_GROUP ` - --allocation-method Static --query "publicIp.ipAddress" -o tsv - -az network nic create ` - --resource-group $AKS_PERS_RESOURCE_GROUP ` - --name "${MASTER_VM_NAME}-nic" ` - --subnet $AKS_SUBNET_ID ` - --network-security-group $NETWORK_SECURITY_GROUP ` - --public-ip-address $PUBLIC_IP_NAME - -az vm create --resource-group $AKS_PERS_RESOURCE_GROUP --name $MASTER_VM_NAME ` - --image "$urn" ` - --size Standard_DS2_v2 ` - --admin-username azureuser --ssh-key-value $SSH_PUBLIC_KEY_FILE ` - --nics "${MASTER_VM_NAME}-nic" - -Write-Host "ssh -i ${SSH_PRIVATE_KEY_FILE_UNIX_PATH} azureuser@${ip}" +$VMInfo = CreateVM -vm "k8s-master" -resourceGroup $AKS_PERS_RESOURCE_GROUP ` + -subnetId $AKS_SUBNET_ID ` + -networkSecurityGroup $NETWORK_SECURITY_GROUP ` + -publicKeyFile $SSH_PUBLIC_KEY_FILE ` + -image $urn + +Write-Host "ssh -i ${SSH_PRIVATE_KEY_FILE_UNIX_PATH} azureuser@$($VMInfo.IP)" Write-Host "Creating linux vm 1" -$vm = "k8s-linux-agent-1" -$PUBLIC_IP_NAME = "${vm}PublicIP" -$ip = az network public-ip create --name $PUBLIC_IP_NAME ` - --resource-group $AKS_PERS_RESOURCE_GROUP ` - --allocation-method Static --query "publicIp.ipAddress" -o tsv - -az network nic create ` - --resource-group $AKS_PERS_RESOURCE_GROUP ` - --name "${vm}-nic" ` - --subnet $AKS_SUBNET_ID ` - --network-security-group $NETWORK_SECURITY_GROUP ` - --public-ip-address $PUBLIC_IP_NAME - -az vm create --resource-group $AKS_PERS_RESOURCE_GROUP --name $vm ` - --image "$urn" ` - --size Standard_DS2_v2 ` - --admin-username azureuser --ssh-key-value $SSH_PUBLIC_KEY_FILE ` - --nics "${vm}-nic" - -Write-Host "ssh -i ${SSH_PRIVATE_KEY_FILE_UNIX_PATH} azureuser@${ip}" +CreateVM -vm "k8s-linux-agent-1" -resourceGroup $AKS_PERS_RESOURCE_GROUP ` + -subnetId $AKS_SUBNET_ID ` + -networkSecurityGroup $NETWORK_SECURITY_GROUP ` + -publicKeyFile $SSH_PUBLIC_KEY_FILE ` + -image $urn + +Write-Host "ssh -i ${SSH_PRIVATE_KEY_FILE_UNIX_PATH} azureuser@$($VMInfo.IP)" + +Write-Host "Creating linux vm 2" +CreateVM -vm "k8s-linux-agent-2" -resourceGroup $AKS_PERS_RESOURCE_GROUP ` + -subnetId $AKS_SUBNET_ID ` + -networkSecurityGroup $NETWORK_SECURITY_GROUP ` + -publicKeyFile $SSH_PUBLIC_KEY_FILE ` + -image $urn + +Write-Host "ssh -i ${SSH_PRIVATE_KEY_FILE_UNIX_PATH} azureuser@$($VMInfo.IP)" if ($AKS_SUPPORT_WINDOWS_CONTAINERS -eq "y") { Write-Host "Creating windows vm 1" @@ -235,7 +218,8 @@ if ($AKS_SUPPORT_WINDOWS_CONTAINERS -eq "y") { --image "$urn" ` --size Standard_DS2_v2 ` --admin-username azureuser --admin-password $AdminPassword ` - --nics "${vm}-nic" + --nics "${vm}-nic" ` + --query "provisioningState" -o tsv # https://stackoverflow.com/questions/43914269/how-to-run-simple-custom-commands-on-a-azure-vm-win-7-8-10-server-post-deploy # az vm extension set -n CustomScriptExtension --publisher Microsoft.Compute --version 1.8 --vm-name DVWinServerVMB --resource-group DVResourceGroup --settings "{'commandToExecute': 'powershell.exe md c:\\test'}" From 23022f72888c8442d236db95e9369fabf653fe98 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 28 Feb 2018 00:30:47 -0800 Subject: [PATCH 270/473] set return value from function to IP Signed-off-by: HQCATALYST\imran.qureshi --- azure/create-bare-metal.ps1 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/azure/create-bare-metal.ps1 b/azure/create-bare-metal.ps1 index 116d9ae..4492e01 100644 --- a/azure/create-bare-metal.ps1 +++ b/azure/create-bare-metal.ps1 @@ -1,4 +1,4 @@ -Write-Host "--- create-bare-metal Version 2018.02.27.02 ----" +Write-Host "--- create-bare-metal Version 2018.02.27.03 ----" # # This script is meant for quick & easy install via: @@ -176,7 +176,7 @@ $VMInfo = CreateVM -vm "k8s-master" -resourceGroup $AKS_PERS_RESOURCE_GROUP ` Write-Host "ssh -i ${SSH_PRIVATE_KEY_FILE_UNIX_PATH} azureuser@$($VMInfo.IP)" Write-Host "Creating linux vm 1" -CreateVM -vm "k8s-linux-agent-1" -resourceGroup $AKS_PERS_RESOURCE_GROUP ` +$VMInfo = CreateVM -vm "k8s-linux-agent-1" -resourceGroup $AKS_PERS_RESOURCE_GROUP ` -subnetId $AKS_SUBNET_ID ` -networkSecurityGroup $NETWORK_SECURITY_GROUP ` -publicKeyFile $SSH_PUBLIC_KEY_FILE ` @@ -185,7 +185,7 @@ CreateVM -vm "k8s-linux-agent-1" -resourceGroup $AKS_PERS_RESOURCE_GROUP ` Write-Host "ssh -i ${SSH_PRIVATE_KEY_FILE_UNIX_PATH} azureuser@$($VMInfo.IP)" Write-Host "Creating linux vm 2" -CreateVM -vm "k8s-linux-agent-2" -resourceGroup $AKS_PERS_RESOURCE_GROUP ` +$VMInfo = CreateVM -vm "k8s-linux-agent-2" -resourceGroup $AKS_PERS_RESOURCE_GROUP ` -subnetId $AKS_SUBNET_ID ` -networkSecurityGroup $NETWORK_SECURITY_GROUP ` -publicKeyFile $SSH_PUBLIC_KEY_FILE ` From 94f83af086701ca2b9bde421633c36eb2e804106 Mon Sep 17 00:00:00 2001 From: "michael.vidal" Date: Wed, 28 Feb 2018 14:03:40 -0500 Subject: [PATCH 271/473] Fixed some typos in registration script. --- safety/Register-Patient-Safety.ps1 | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/safety/Register-Patient-Safety.ps1 b/safety/Register-Patient-Safety.ps1 index 52a4cca..750fd36 100644 --- a/safety/Register-Patient-Safety.ps1 +++ b/safety/Register-Patient-Safety.ps1 @@ -131,7 +131,7 @@ if([string]::IsNullOrEmpty($installSettings.identityService)) $identityServiceUrl = $installSettings.identityService } -if([string]::IsNullOrEmpty($installSettings.authorizationServiceURL)) +if([string]::IsNullOrEmpty($installSettings.authorizationService)) { $authorizationServiceURL = Get-AuthorizationServiceUrl } else @@ -161,10 +161,10 @@ if(![string]::IsNullOrEmpty($userEnteredFabricInstallerSecret)){ $fabricInstallerSecret = $userEnteredFabricInstallerSecret } -$userEnteredAuthorizationServiceURL = Read-Host "Enter the URL for the Authorization Service or hit enter to accept the default [$authorizationSerivceURL]" +$userEnteredAuthorizationServiceURL = Read-Host "Enter the URL for the Authorization Service or hit enter to accept the default [$authorizationServiceURL]" Write-Host "" if(![string]::IsNullOrEmpty($userEnteredAuthorizationServiceURL)){ - $authorizationSerivceURL = $userEnteredAuthorizationServiceURL + $authorizationServiceURL = $userEnteredAuthorizationServiceURL } $userEnteredIdentityServiceURL = Read-Host "Enter the URL for the Identity Service or hit enter to accept the default [$identityServiceUrl]" @@ -189,7 +189,7 @@ if([string]::IsNullOrWhiteSpace($fabricInstallerSecret)) { Write-Error "You must enter a value for the installer secret" -ErrorAction Stop } -if([string]::IsNullOrWhiteSpace($authorizationSerivceURL)) +if([string]::IsNullOrWhiteSpace($authorizationServiceURL)) { Write-Error "You must enter a value for the Fabric.Authorization URL" -ErrorAction Stop } @@ -271,23 +271,23 @@ $clientId = "safety-surveillance-webapp" $grain = "app" Write-Host "Registering Safety Surveillance Client with Fabric.Authorization." -$client = Add-AuthorizationRegistration -authUrl $authorizationSerivceURL -clientId $clientId -clientName "Safety Surveillance Web App" -accessToken $accessToken +$client = Add-AuthorizationRegistration -authUrl $authorizationServiceURL -clientId $clientId -clientName "Safety Surveillance Web App" -accessToken $accessToken Write-Host "Creating 'candocument' permission." -$permission = Add-Permission -authUrl $authorizationSerivceURL -name "candocument" -grain $grain -securableItem $clientId -accessToken $accessToken +$permission = Add-Permission -authUrl $authorizationServiceURL -name "candocument" -grain $grain -securableItem $clientId -accessToken $accessToken Write-Host "Creating 'documenter' role." -$role = Add-Role -authUrl $authorizationSerivceURL -name "documenter" -grain $grain -securableItem $clientId -accessToken $accessToken +$role = Add-Role -authUrl $authorizationServiceURL -name "documenter" -grain $grain -securableItem $clientId -accessToken $accessToken Write-Host "Adding '$groupName' group." -$group = Add-Group -authUrl $authorizationSerivceURL -name $groupName -source "Windows" -accessToken $accessToken +$group = Add-Group -authUrl $authorizationServiceURL -name $groupName -source "Windows" -accessToken $accessToken if($permission -ne $null -and $role -ne $null){ Write-Host "Associating permission with role." - $rolePermission = Add-PermissionToRole -authUrl $authorizationSerivceURL -roleId $role.id -permission $permission -accessToken $accessToken + $rolePermission = Add-PermissionToRole -authUrl $authorizationServiceURL -roleId $role.id -permission $permission -accessToken $accessToken } if($group -ne $null -and $role -ne $null){ Write-Host "Associating role with group." - $groupRole = Add-RoleToGroup -authUrl $authorizationSerivceURL -groupName $groupName -role $role -accessToken $accessToken + $groupRole = Add-RoleToGroup -authUrl $authorizationServiceURL -groupName $groupName -role $role -accessToken $accessToken } From b51a834fbe3f15078ec09fdeeedb785c8102d3fe Mon Sep 17 00:00:00 2001 From: "michael.vidal" Date: Thu, 1 Mar 2018 10:39:13 -0500 Subject: [PATCH 272/473] Updated prompt for service url. --- safety/Register-Patient-Safety.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/safety/Register-Patient-Safety.ps1 b/safety/Register-Patient-Safety.ps1 index 750fd36..1082eb9 100644 --- a/safety/Register-Patient-Safety.ps1 +++ b/safety/Register-Patient-Safety.ps1 @@ -173,7 +173,7 @@ if(![string]::IsNullOrEmpty($userEnteredIdentityServiceURL)){ $identityServiceUrl = $userEnteredIdentityServiceURL } -$userEnteredSafetySurveillanceURL = Read-Host "Enter the URL for the Identity Service or hit enter to accept the default [$safetySurveillanceUrl]" +$userEnteredSafetySurveillanceURL = Read-Host "Enter the URL for the Safety Surveillance Service or hit enter to accept the default [$safetySurveillanceUrl]" Write-Host "" if(![string]::IsNullOrEmpty($userEnteredSafetySurveillanceURL)){ $safetySurveillanceUrl = $userEnteredSafetySurveillanceURL From 29ef8556f5943576999520f7393446b873ac9af0 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 1 Mar 2018 12:42:41 -0800 Subject: [PATCH 273/473] add powershell files to run the DPS Signed-off-by: HQCATALYST\imran.qureshi --- developer/datamart.json | 79 +++++++++++ developer/r-sample.r | 17 +++ developer/runengine.ps1 | 280 ++++++++++++++++++++++++++++++++++++++ developer/startengine.ps1 | 6 + 4 files changed, 382 insertions(+) create mode 100644 developer/datamart.json create mode 100644 developer/r-sample.r create mode 100644 developer/runengine.ps1 create mode 100644 developer/startengine.ps1 diff --git a/developer/datamart.json b/developer/datamart.json new file mode 100644 index 0000000..6eecb90 --- /dev/null +++ b/developer/datamart.json @@ -0,0 +1,79 @@ +{ + "DataMart": { + "Name": "demo", + "DataMartType": "Subject Area", + "Connections": [{ + "Id": -1, + "DataSystemTypeCode": "SQL Server", + "Server": "localhost", + "Database": "SAM", + "SystemName": "EDW" + }], + "Entities": [{ + "Id": -2, + "EntityName": "demoEntity", + "ConnectionId": -1, + "DatabaseName": "SAM", + "SchemaName": "test", + "TableName": "demoEntityBASE", + "Fields": [{ + "Id": -3, + "FieldName": "abc", + "DataType": "int", + "Status": "Active" + }], + "Indexes": [{ + "Id": -4, + "IndexName": "myCoolIndex", + "IsActive": true, + "IndexTypeCode": "Non-Clustered", + "IndexFields": [{ "FieldId": -3 }] + }] + }, + { + "Id": -7, + "EntityName": "dependentEntity", + "ConnectionId": -1, + "DatabaseName": "SAM", + "SchemaName": "test", + "TableName": "dependentEntityBASE", + "Fields": [{ + "Id": -8, + "FieldName": "abc", + "DataType": "int", + "Status": "Active" + }] + } + ], + "Bindings": [{ + "Id": -5, + "Name": "demoBinding1", + "DestinationEntityId": -2, + "SourceConnectionId": -1, + "BindingType": "SQL", + "LoadTypeCode": "Full", + "UserDefinedSql": "SELECT 7 AS abc" + }, + { + "Id": -6, + "Name": "demoBinding2", + "DestinationEntityId": -2, + "SourceConnectionId": -1, + "BindingType": "R", + "LoadTypeCode": "Full", + "UserDefinedSql": "foo", + "Script": "foo" + }, + { + "Id": -9, + "Name": "demoBinding3", + "DestinationEntityId": -5, + "SourceConnectionId": -1, + "BindingType": "SQL", + "LoadTypeCode": "Full", + "UserDefinedSql": "SELECT abc FROM SAM.test.demoEntity", + "SourcedByEntities": [{ "SourceEntityId": -2 }] + } + ] + } +} \ No newline at end of file diff --git a/developer/r-sample.r b/developer/r-sample.r new file mode 100644 index 0000000..77e78c8 --- /dev/null +++ b/developer/r-sample.r @@ -0,0 +1,17 @@ +# https://www.statmethods.net/management/userfunctions.html +getdata <- function(){ +sourceConnection <- odbcDriverConnect("Driver={SQL Server};Server=localhost;Database=SAM;trusted_connection=yes;") +# select here +odbcClose(sourceConnection) +return(object) +} + +savedata <- function(data){ +destinationConnection <- odbcDriverConnect("Driver={SQL Server};Server=localhost;Database=SAM;trusted_connection=yes;") +sqlSave(destinationConnection, data, "test.demoEntityBASE_load", rownames=FALSE, append=TRUE) +odbcClose(destinationConnection) + +} + +# user code here + diff --git a/developer/runengine.ps1 b/developer/runengine.ps1 new file mode 100644 index 0000000..d1438cf --- /dev/null +++ b/developer/runengine.ps1 @@ -0,0 +1,280 @@ + + +# You can run this by pasting the following in powershell +# Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/developer/runengine.ps1 | Invoke-Expression; + +# Get-Content ./runengine.ps1 -Raw | Invoke-Expression; + +$dpsUrl = "http://localhost/DataProcessingServiceDev" +$metadataUrl = "http://localhost/MetadataService" +function listdatamarts() { + $api = "${metadataUrl}/v1/DataMarts" + $result = Invoke-Restmethod $api -UseDefaultCredentials + Write-Host "Datamarts" + ForEach ($def in $result.value) { + Write-Host "$($def.Id) $($def.Name)" + } +} + +function getdataMartIDbyName($datamartName){ + [hashtable]$Return = @{} + + $api = "${metadataUrl}/v1/DataMarts" + '?$filter=Name eq ' + "'$datamartName'" + $result = Invoke-Restmethod $api -UseDefaultCredentials + + + $Return.Id = $result.value.Id + $Return.Name = $result.value.Name + + Write-Host "Found datamart id=$Return.Id for $datamartName" + + return $Return +} + +function listBatchDefinitions() { + $api = "${dpsUrl}/v1/BatchDefinitions" + $result = Invoke-Restmethod $api -UseDefaultCredentials + # Write-Host $result.value + Write-Host "Batch Definitions" + ForEach ($def in $result.value) { + Write-Host "$($def.Id) $($def.DataMartId) $($def.DataMartName) $($def.LastRunStats) $($def.LastRunDateTime)" + } +} + +function createNewBatchDefinition($datamartId, $datamartName) { + + [hashtable]$Return = @{} + + # create a new batch definition + $api = "${dpsUrl}/v1/BatchDefinitions" + $body = @{ + Id = -1 + DataMartId = $datamartId + Name = "$datamartName" + Status = "Active" + LoadType = "All" + EmailFrom = "imran.qureshi@healthcatalyst.com" + EmailTo = "imran.qureshi@healthcatalyst.com" + LoggingLevel = "Minimal" + PipelineType = "Batch" + } + # $accessTokenResponse = Invoke-RestMethod -Method Post -Uri $url -Body $body + $result = Invoke-RestMethod -Uri $api -UseDefaultCredentials -Method POST -Body $body + + $batchDefinitionId = $result.Id + Write-Host "batchdefinitionId = $batchDefinitionId" + + $Return.BatchDefinitionId = $batchDefinitionId + return $Return +} + +function getBatchDefinitionForDataMart($dataMartId) { + [hashtable]$Return = @{} + + $api = "${dpsUrl}" + '/v1/BatchDefinitions?$filter=DataMartId eq ' + $dataMartId + + $result = Invoke-Restmethod $api -UseDefaultCredentials + # Write-Host $result + + if ($result.value.Count -eq 0) { + # no definitions found + Write-Host "No definitions found" + } + else { + $lastExecution = $($result.value | Sort-Object CreationDateTime -Descending)[0] + $batchDefinitionId = $lastExecution.Id + # Write-Host $lastExecution + Write-Host "batchdefinitionId = $batchDefinitionId" + + $Return.BatchDefinitionId = $batchDefinitionId + } + return $Return +} + +function getLastBatchExecutionForDatamart($dataMartId) { + [hashtable]$Return = @{} + + $api = "${dpsUrl}" + '/v1/BatchExecutions?$filter=DataMartId eq ' + $dataMartId + + $result = Invoke-Restmethod $api -UseDefaultCredentials + # Write-Host $result.value + # $batchDefinitionId = $result.value[0].BatchDefinitionId + + $lastExecution = $($result.value | Sort-Object CreationDateTime -Descending)[0] + $batchExecutionId = $lastExecution.Id + $batchDefinitionId = $lastExecution.BatchDefinitionId + $status = $lastExecution.Status + $startDateTime = $lastExecution.StartDateTime + $endDateTime = $lastExecution.EndDateTime + + + # Write-Host $lastExecution + Write-Host "batchExecutionId: $batchExecutionId" + Write-Host "batchdefinitionId = $batchDefinitionId" + Write-Host "Status: $status" + Write-Host "Start: $startDateTime" + Write-Host "End: $endDateTime" + + $Return.BatchExecutionId = $batchExecutionId + $Return.BatchDefinitionId = $batchDefinitionId + $Return.Status = $status + $Return.StartDateTime = $startDateTime + $Return.EndDateTime = $endDateTime + return $Return +} + +function getBatchExecution($batchExecutionId) { + [hashtable]$Return = @{} + + $api = "${dpsUrl}" + '/v1/BatchExecutions?$filter=Id eq ' + $batchExecutionId + + $result = Invoke-Restmethod $api -UseDefaultCredentials + # Write-Host $result.value + # $batchDefinitionId = $result.value[0].BatchDefinitionId + + $lastExecution = $($result.value | Sort-Object CreationDateTime -Descending)[0] + $batchDefinitionId = $lastExecution.BatchDefinitionId + $status = $lastExecution.Status + $startDateTime = $lastExecution.StartDateTime + $endDateTime = $lastExecution.EndDateTime + + # Write-Host $lastExecution + # Write-Host "batchdefinitionId = $batchDefinitionId" + # Write-Host "Status: $status" + # Write-Host "Start: $startDateTime" + # Write-Host "End: $endDateTime" + + $Return.BatchDefinitionId = $batchDefinitionId + $Return.Status = $status + $Return.StartDateTime = $startDateTime + $Return.EndDateTime = $endDateTime + return $Return +} + +function waitForBatchExecution($batchExecutionId) { + [hashtable]$Return = @{} + + Do { + $result = getBatchExecution($batchExecutionId) + $status = $result.Status + Write-Host "Status: $status" + Start-Sleep -Seconds 10 + } + while ($status -ne "Succeeded" -and $status -ne "Failed" -and $status -ne "Canceled") + + $Return.Status = $status + return $Return +} + +function executeBatch($batchdefinitionId) { + [hashtable]$Return = @{} + + #then execute the batch definiton + $api = "${dpsUrl}/v1/BatchExecutions" + $body = @{ + BatchDefinitionId = $batchDefinitionId + Status = "Queued" + PipelineType = "Batch" + LoggingLevel = "Diagnostic" + LoadType = "All" + OverrideLoadType = "Full" + } + $result = Invoke-RestMethod -Uri $api -UseDefaultCredentials -Method POST -Body $body + + $batchExecutionId = $result.Id + Write-Host "Batch execution id=$batchExecutionId" + + $Return.BatchExecutionId = $batchExecutionId + return $Return +} + +function cancelBatch($batchExecutionId) { + [hashtable]$Return = @{} + + #then execute the batch definiton + $api = "${dpsUrl}/v1/BatchExecutions($batchExecutionId)" + $body = @{ + Status = "Canceling" + } + $bodyAsJson = $body | ConvertTo-Json + $headerJSON = @{ "content-type" = "application/json;odata=verbose"} + $result = Invoke-RestMethod -Uri $api -UseDefaultCredentials ` + -Headers $headerJSON -Method PATCH ` + -Body $bodyAsJson + + $batchExecutionId = $result.Id + Write-Host "Batch execution id=$batchExecutionId" + + $Return.BatchExecutionId = $batchExecutionId + return $Return +} + +function executeDataMart() { + $api = "${dpsUrl}/v1/ExecuteDataMart" + $body = Get-Content ./datamart.json -Raw + $result = Invoke-RestMethod -Uri $api -UseDefaultCredentials -Method POST -Body $body -ContentType 'application/json' + Write-Host $result +} + +function createBatchDefinitionForDataMart($datamartName){ + + $result = $(getdataMartIDbyName $datamartName) + $datamartId = $result.Id + $batchDefinitionId = $(getBatchDefinitionForDataMart $datamartId).BatchDefinitionId + if ($batchDefinitionId -eq $null){ + Write-Host "Creating batch definition for datamart $datamartName with Id: $datamartId" + createNewBatchDefinition -datamartId $datamartId -datamartName $datamartName + } else { + Write-Host "Batch definition already found for datamart $datamartName with Id: $datamartId" + } + +} + +function createBatchDefinitions() { + createBatchDefinitionForDataMart -datamartName "SharedPersonSourcePatient" + createBatchDefinitionForDataMart -datamartName "SharedPersonSourceProvider" + createBatchDefinitionForDataMart -datamartName "SharedPersonProvider" + createBatchDefinitionForDataMart -datamartName "SharedPersonPatient" + createBatchDefinitionForDataMart -datamartName "SharedClinical" + createBatchDefinitionForDataMart -datamartName "Sepsis" + createBatchDefinitionForDataMart -datamartName "Early Warning Sepsis" +} + +function runAndWaitForDatamart($datamartName){ + [hashtable]$Return = @{} + + $result = $(getdataMartIDbyName $datamartName) + $datamartId = $result.Id + + $batchdefinitionId = $(getBatchDefinitionForDataMart -dataMartId $datamartId).BatchDefinitionId + Write-Host "Running batch definition $batchdefinitionId for datamart $datamartName id: $datamartId" + $batchExecutionId = $(executeBatch -batchdefinitionId $batchdefinitionId).BatchExecutionId + $status = $(waitForBatchExecution -batchExecutionId $batchExecutionId).Status + + $Return.Status = $status + return $Return +} + +function runBatchExecutions(){ + + createBatchDefinitions + + $result = runAndWaitForDatamart -datamartName "SharedPersonSourceProvider" + if($($result.Status) -ne "Succeeded") {return;} + $result = runAndWaitForDatamart -datamartName "SharedPersonSourcePatient" + if($($result.Status) -ne "Succeeded") {return;} + $result = runAndWaitForDatamart -datamartName "SharedPersonProvider" + if($($result.Status) -ne "Succeeded") {return;} + $result = runAndWaitForDatamart -datamartName "SharedPersonPatient" + if($($result.Status) -ne "Succeeded") {return;} + $result = runAndWaitForDatamart -datamartName "SharedClinical" + if($($result.Status) -ne "Succeeded") {return;} + $result = runAndWaitForDatamart -datamartName "Sepsis" + if($($result.Status) -ne "Succeeded") {return;} + $result = runAndWaitForDatamart -datamartName "Early Warning Sepsis" + if($($result.Status) -ne "Succeeded") {return;} +} + +function runEarlyWarningSepsis(){ + $result = runAndWaitForDatamart -datamartName "Early Warning Sepsis" +} \ No newline at end of file diff --git a/developer/startengine.ps1 b/developer/startengine.ps1 new file mode 100644 index 0000000..de91106 --- /dev/null +++ b/developer/startengine.ps1 @@ -0,0 +1,6 @@ + + +$username = "hqcatalyst\edw_loader" +$password = "P@ssw0rd" +$credentials = New-Object System.Management.Automation.PSCredential -ArgumentList @($username,(ConvertTo-SecureString -String $password -AsPlainText -Force)) +Start-Process "C:\Catalyst\git\CAP\Catalyst.DataProcessing\DataProcessingSolution\DataProcessing.Engine.WindowsService\bin\Debug\CatalystDPE.WindowsService.exe" -Credential ($credentials) From e7faa2909bea58245d4284eed809c47d78a7acd3 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 1 Mar 2018 14:09:59 -0800 Subject: [PATCH 274/473] add a menu Signed-off-by: HQCATALYST\imran.qureshi --- developer/runengine.ps1 | 59 ++++++++++++++++++++++++++++++++++++----- 1 file changed, 52 insertions(+), 7 deletions(-) diff --git a/developer/runengine.ps1 b/developer/runengine.ps1 index d1438cf..9fcad5d 100644 --- a/developer/runengine.ps1 +++ b/developer/runengine.ps1 @@ -26,7 +26,7 @@ function getdataMartIDbyName($datamartName){ $Return.Id = $result.value.Id $Return.Name = $result.value.Name - Write-Host "Found datamart id=$Return.Id for $datamartName" + Write-Host "Found datamart id=$($Return.Id) for $datamartName" return $Return } @@ -255,8 +255,7 @@ function runAndWaitForDatamart($datamartName){ return $Return } -function runBatchExecutions(){ - +function runSharedDataMarts(){ createBatchDefinitions $result = runAndWaitForDatamart -datamartName "SharedPersonSourceProvider" @@ -269,12 +268,58 @@ function runBatchExecutions(){ if($($result.Status) -ne "Succeeded") {return;} $result = runAndWaitForDatamart -datamartName "SharedClinical" if($($result.Status) -ne "Succeeded") {return;} +} + +function runEarlyWarningSepsis(){ + $result = runAndWaitForDatamart -datamartName "Early Warning Sepsis" + if($($result.Status) -ne "Succeeded") {return;} +} + +function runSepsis(){ $result = runAndWaitForDatamart -datamartName "Sepsis" if($($result.Status) -ne "Succeeded") {return;} $result = runAndWaitForDatamart -datamartName "Early Warning Sepsis" - if($($result.Status) -ne "Succeeded") {return;} + if($($result.Status) -ne "Succeeded") {return;} } -function runEarlyWarningSepsis(){ - $result = runAndWaitForDatamart -datamartName "Early Warning Sepsis" -} \ No newline at end of file +$userinput = "" +while ($userinput -ne "q") { + Write-Host "================ Health Catalyst Developer Tools ================" + Write-Host "1: List data marts" + Write-Host "2: List Batch definitions" + Write-Host "-----------" + Write-Host "11: Run Shared Datamarts" + Write-Host "12: Run Shared Clinical + Sepsis" + Write-Host "13: Run EW Sepsis Only" + Write-Host "q: Quit" + $userinput = Read-Host "Please make a selection" + switch ($userinput) { + '0' { + } + '1' { + listdatamarts + } + '2' { + listBatchDefinitions + } + '11' { + runSharedDataMarts + } + '12' { + runSharedDataMarts + runSepsis + } + '13' { + runEarlyWarningSepsis + } + 'q' { + return + } + } + $userinput = Read-Host -Prompt "Press Enter to continue or q to exit" + if($userinput -eq "q"){ + return + } + [Console]::ResetColor() + Clear-Host +} From fdda4dc636ffd831b3b0b6cbff66025734cedf26 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 1 Mar 2018 14:57:47 -0800 Subject: [PATCH 275/473] change DPS url Signed-off-by: HQCATALYST\imran.qureshi --- developer/runengine.ps1 | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/developer/runengine.ps1 b/developer/runengine.ps1 index 9fcad5d..3b071a0 100644 --- a/developer/runengine.ps1 +++ b/developer/runengine.ps1 @@ -5,7 +5,7 @@ # Get-Content ./runengine.ps1 -Raw | Invoke-Expression; -$dpsUrl = "http://localhost/DataProcessingServiceDev" +$dpsUrl = "http://localhost/DataProcessingService" $metadataUrl = "http://localhost/MetadataService" function listdatamarts() { $api = "${metadataUrl}/v1/DataMarts" @@ -209,11 +209,21 @@ function cancelBatch($batchExecutionId) { return $Return } -function executeDataMart() { +function executeJsonDataMart() { + [hashtable]$Return = @{} + $api = "${dpsUrl}/v1/ExecuteDataMart" $body = Get-Content ./datamart.json -Raw $result = Invoke-RestMethod -Uri $api -UseDefaultCredentials -Method POST -Body $body -ContentType 'application/json' - Write-Host $result + + $batchExecutionId = $result.value.Id + Write-Host "Batch execution id=$batchExecutionId" + + $status = $(waitForBatchExecution -batchExecutionId $batchExecutionId).Status + + $Return.Status = $status + $Return.BatchExecutionId = $batchExecutionId + return $Return } function createBatchDefinitionForDataMart($datamartName){ @@ -255,6 +265,7 @@ function runAndWaitForDatamart($datamartName){ return $Return } + function runSharedDataMarts(){ createBatchDefinitions @@ -291,6 +302,8 @@ while ($userinput -ne "q") { Write-Host "11: Run Shared Datamarts" Write-Host "12: Run Shared Clinical + Sepsis" Write-Host "13: Run EW Sepsis Only" + Write-Host "---------------------" + Write-Host "21: Run R datamart" Write-Host "q: Quit" $userinput = Read-Host "Please make a selection" switch ($userinput) { @@ -312,6 +325,9 @@ while ($userinput -ne "q") { '13' { runEarlyWarningSepsis } + '21' { + executeJsonDataMart + } 'q' { return } From 493cd5732e57c2fc9b246c38d7e99ab55dd2b4c4 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 1 Mar 2018 15:53:29 -0800 Subject: [PATCH 276/473] create batch definitions if they don' exist Signed-off-by: HQCATALYST\imran.qureshi --- developer/datamart.json | 2 +- developer/runengine.ps1 | 29 ++++++++++++++++------------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/developer/datamart.json b/developer/datamart.json index 6eecb90..912db3a 100644 --- a/developer/datamart.json +++ b/developer/datamart.json @@ -62,7 +62,7 @@ "BindingType": "R", "LoadTypeCode": "Full", "UserDefinedSql": "foo", - "Script": "foo" + "Script": "C:\\himss\\sepsis\\test.r" }, { "Id": -9, diff --git a/developer/runengine.ps1 b/developer/runengine.ps1 index 3b071a0..c1387fa 100644 --- a/developer/runengine.ps1 +++ b/developer/runengine.ps1 @@ -16,7 +16,7 @@ function listdatamarts() { } } -function getdataMartIDbyName($datamartName){ +function getdataMartIDbyName([ValidateNotNull()] $datamartName){ [hashtable]$Return = @{} $api = "${metadataUrl}/v1/DataMarts" + '?$filter=Name eq ' + "'$datamartName'" @@ -41,7 +41,7 @@ function listBatchDefinitions() { } } -function createNewBatchDefinition($datamartId, $datamartName) { +function createNewBatchDefinition([ValidateNotNull()] $datamartId, [ValidateNotNull()] $datamartName) { [hashtable]$Return = @{} @@ -68,7 +68,7 @@ function createNewBatchDefinition($datamartId, $datamartName) { return $Return } -function getBatchDefinitionForDataMart($dataMartId) { +function getBatchDefinitionForDataMart([ValidateNotNull()] $dataMartId) { [hashtable]$Return = @{} $api = "${dpsUrl}" + '/v1/BatchDefinitions?$filter=DataMartId eq ' + $dataMartId @@ -91,7 +91,7 @@ function getBatchDefinitionForDataMart($dataMartId) { return $Return } -function getLastBatchExecutionForDatamart($dataMartId) { +function getLastBatchExecutionForDatamart([ValidateNotNull()] $dataMartId) { [hashtable]$Return = @{} $api = "${dpsUrl}" + '/v1/BatchExecutions?$filter=DataMartId eq ' + $dataMartId @@ -123,7 +123,7 @@ function getLastBatchExecutionForDatamart($dataMartId) { return $Return } -function getBatchExecution($batchExecutionId) { +function getBatchExecution([ValidateNotNull()] $batchExecutionId) { [hashtable]$Return = @{} $api = "${dpsUrl}" + '/v1/BatchExecutions?$filter=Id eq ' + $batchExecutionId @@ -151,7 +151,7 @@ function getBatchExecution($batchExecutionId) { return $Return } -function waitForBatchExecution($batchExecutionId) { +function waitForBatchExecution([ValidateNotNull()] $batchExecutionId) { [hashtable]$Return = @{} Do { @@ -166,7 +166,7 @@ function waitForBatchExecution($batchExecutionId) { return $Return } -function executeBatch($batchdefinitionId) { +function executeBatch([ValidateNotNull()] $batchdefinitionId) { [hashtable]$Return = @{} #then execute the batch definiton @@ -188,7 +188,7 @@ function executeBatch($batchdefinitionId) { return $Return } -function cancelBatch($batchExecutionId) { +function cancelBatch([ValidateNotNull()] $batchExecutionId) { [hashtable]$Return = @{} #then execute the batch definiton @@ -219,14 +219,11 @@ function executeJsonDataMart() { $batchExecutionId = $result.value.Id Write-Host "Batch execution id=$batchExecutionId" - $status = $(waitForBatchExecution -batchExecutionId $batchExecutionId).Status - - $Return.Status = $status $Return.BatchExecutionId = $batchExecutionId return $Return } -function createBatchDefinitionForDataMart($datamartName){ +function createBatchDefinitionForDataMart([ValidateNotNull()] $datamartName){ $result = $(getdataMartIDbyName $datamartName) $datamartId = $result.Id @@ -250,7 +247,7 @@ function createBatchDefinitions() { createBatchDefinitionForDataMart -datamartName "Early Warning Sepsis" } -function runAndWaitForDatamart($datamartName){ +function runAndWaitForDatamart([ValidateNotNull()] $datamartName){ [hashtable]$Return = @{} $result = $(getdataMartIDbyName $datamartName) @@ -282,11 +279,17 @@ function runSharedDataMarts(){ } function runEarlyWarningSepsis(){ + createBatchDefinitionForDataMart -datamartName "Sepsis" + createBatchDefinitionForDataMart -datamartName "Early Warning Sepsis" + $result = runAndWaitForDatamart -datamartName "Early Warning Sepsis" if($($result.Status) -ne "Succeeded") {return;} } function runSepsis(){ + createBatchDefinitionForDataMart -datamartName "Sepsis" + createBatchDefinitionForDataMart -datamartName "Early Warning Sepsis" + $result = runAndWaitForDatamart -datamartName "Sepsis" if($($result.Status) -ne "Succeeded") {return;} $result = runAndWaitForDatamart -datamartName "Early Warning Sepsis" From 7aed12ad08b2ec55f869b6a7574a610871b9a417 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 1 Mar 2018 18:18:27 -0800 Subject: [PATCH 277/473] added code to update bindingtype to R Signed-off-by: HQCATALYST\imran.qureshi --- developer/runengine.ps1 | 135 ++++++++++++++++++++++++++++++---------- 1 file changed, 103 insertions(+), 32 deletions(-) diff --git a/developer/runengine.ps1 b/developer/runengine.ps1 index c1387fa..24d1a9c 100644 --- a/developer/runengine.ps1 +++ b/developer/runengine.ps1 @@ -7,6 +7,7 @@ $dpsUrl = "http://localhost/DataProcessingService" $metadataUrl = "http://localhost/MetadataService" +# http://localhost/MetadataService/swagger/ui/index#/ function listdatamarts() { $api = "${metadataUrl}/v1/DataMarts" $result = Invoke-Restmethod $api -UseDefaultCredentials @@ -16,21 +17,87 @@ function listdatamarts() { } } -function getdataMartIDbyName([ValidateNotNull()] $datamartName){ +function downloaddataMartIDbyName([ValidateNotNull()] $datamartName) { [hashtable]$Return = @{} - $api = "${metadataUrl}/v1/DataMarts" + '?$filter=Name eq ' + "'$datamartName'" + $result = $(getdataMartIDbyName $datamartName) + $datamartId = $result.Id + + $api = "${metadataUrl}/v1/DataMarts($datamartId)" + '?%24expand=Entities' $result = Invoke-Restmethod $api -UseDefaultCredentials - - $Return.Id = $result.value.Id - $Return.Name = $result.value.Name + Write-Host $result + $file = "c:\himss\sepsis\mysam.json" + $result | ConvertTo-Json | Out-File $file - Write-Host "Found datamart id=$($Return.Id) for $datamartName" + Write-Host "Wrote datamart json to $file" + # notepad.exe $file return $Return } +# EWSSummaryPatientRisk +# http://localhost/MetadataService/v1/DataMarts(24)/Entities(1427)/SourceBindings + +function getIdForEntity([ValidateNotNull()] $datamartid, [ValidateNotNull()] $entityname) { + [hashtable]$Return = @{} + + $api = "${metadataUrl}/v1/DataMarts($datamartId)/Entities" + '?$filter=EntityName eq ' + "'$entityname'" + $result = Invoke-Restmethod $api -UseDefaultCredentials + + # Write-Host $result + $Return.EntityId = $result.value.Id + return $Return +} + +function getIdForBinding([ValidateNotNull()] $datamartid, [ValidateNotNull()] $entityId) { + # http://localhost/MetadataService/v1/DataMarts(24)/Entities(1427)/SourceBindings + [hashtable]$Return = @{} + + $api = "${metadataUrl}/v1/DataMarts($datamartid)/Entities($entityId)/SourceBindings" + $result = Invoke-Restmethod $api -UseDefaultCredentials + + Write-Host "Binding: $result.value" + $Return.BindingId = $result.value.Id + return $Return +} + +function updateBindingType([ValidateNotNull()] $datamartid, [ValidateNotNull()] $entityId, [ValidateNotNull()] $bindingId) { + # /v1/DataMarts({dataMartId})/Entities({entityId})/SourceBindings({id}) + [hashtable]$Return = @{} + + $api = "${metadataUrl}/v1/DataMarts($datamartid)/Entities($entityId)/SourceBindings($bindingId)" + $body = @{ + BindingType = "R" + } + $bodyAsJson = $body | ConvertTo-Json + $headerJSON = @{ "content-type" = "application/json;odata=verbose"} + + Write-Host "API: $api" + Write-Host "Body: $bodyAsJson" + + Invoke-RestMethod -Uri $api -UseDefaultCredentials ` + -Headers $headerJSON -Method PATCH ` + -Body $bodyAsJson + + Invoke-Restmethod $api -UseDefaultCredentials + return $Return + +} + +function setBindingTypeForPatientRisk(){ + $datamartName ="Early Warning Sepsis" + $entityname="EWSSummaryPatientRisk" + $result = $(getdataMartIDbyName $datamartName) + $datamartId = $result.Id + + $entityId = $(getIdForEntity $datamartid $entityname).EntityId + $bindingId = $(getIdForBinding $datamartid $entityId).BindingId + + Write-Host "Updating binding type to R" + + updateBindingType $datamartid $entityId $bindingId +} function listBatchDefinitions() { $api = "${dpsUrl}/v1/BatchDefinitions" $result = Invoke-Restmethod $api -UseDefaultCredentials @@ -199,8 +266,8 @@ function cancelBatch([ValidateNotNull()] $batchExecutionId) { $bodyAsJson = $body | ConvertTo-Json $headerJSON = @{ "content-type" = "application/json;odata=verbose"} $result = Invoke-RestMethod -Uri $api -UseDefaultCredentials ` - -Headers $headerJSON -Method PATCH ` - -Body $bodyAsJson + -Headers $headerJSON -Method PATCH ` + -Body $bodyAsJson $batchExecutionId = $result.Id Write-Host "Batch execution id=$batchExecutionId" @@ -223,15 +290,16 @@ function executeJsonDataMart() { return $Return } -function createBatchDefinitionForDataMart([ValidateNotNull()] $datamartName){ +function createBatchDefinitionForDataMart([ValidateNotNull()] $datamartName) { $result = $(getdataMartIDbyName $datamartName) $datamartId = $result.Id $batchDefinitionId = $(getBatchDefinitionForDataMart $datamartId).BatchDefinitionId - if ($batchDefinitionId -eq $null){ + if ($batchDefinitionId -eq $null) { Write-Host "Creating batch definition for datamart $datamartName with Id: $datamartId" createNewBatchDefinition -datamartId $datamartId -datamartName $datamartName - } else { + } + else { Write-Host "Batch definition already found for datamart $datamartName with Id: $datamartId" } @@ -247,7 +315,7 @@ function createBatchDefinitions() { createBatchDefinitionForDataMart -datamartName "Early Warning Sepsis" } -function runAndWaitForDatamart([ValidateNotNull()] $datamartName){ +function runAndWaitForDatamart([ValidateNotNull()] $datamartName) { [hashtable]$Return = @{} $result = $(getdataMartIDbyName $datamartName) @@ -263,37 +331,31 @@ function runAndWaitForDatamart([ValidateNotNull()] $datamartName){ } -function runSharedDataMarts(){ - createBatchDefinitions - +function runSharedDataMarts() { $result = runAndWaitForDatamart -datamartName "SharedPersonSourceProvider" - if($($result.Status) -ne "Succeeded") {return;} + if ($($result.Status) -ne "Succeeded") {return; } $result = runAndWaitForDatamart -datamartName "SharedPersonSourcePatient" - if($($result.Status) -ne "Succeeded") {return;} + if ($($result.Status) -ne "Succeeded") {return; } $result = runAndWaitForDatamart -datamartName "SharedPersonProvider" - if($($result.Status) -ne "Succeeded") {return;} + if ($($result.Status) -ne "Succeeded") {return; } $result = runAndWaitForDatamart -datamartName "SharedPersonPatient" - if($($result.Status) -ne "Succeeded") {return;} + if ($($result.Status) -ne "Succeeded") {return; } $result = runAndWaitForDatamart -datamartName "SharedClinical" - if($($result.Status) -ne "Succeeded") {return;} + if ($($result.Status) -ne "Succeeded") {return; } } -function runEarlyWarningSepsis(){ - createBatchDefinitionForDataMart -datamartName "Sepsis" - createBatchDefinitionForDataMart -datamartName "Early Warning Sepsis" +function runEarlyWarningSepsis() { $result = runAndWaitForDatamart -datamartName "Early Warning Sepsis" - if($($result.Status) -ne "Succeeded") {return;} + if ($($result.Status) -ne "Succeeded") {return; } } -function runSepsis(){ - createBatchDefinitionForDataMart -datamartName "Sepsis" - createBatchDefinitionForDataMart -datamartName "Early Warning Sepsis" - +function runSepsis() { + $result = runAndWaitForDatamart -datamartName "Sepsis" - if($($result.Status) -ne "Succeeded") {return;} + if ($($result.Status) -ne "Succeeded") {return; } $result = runAndWaitForDatamart -datamartName "Early Warning Sepsis" - if($($result.Status) -ne "Succeeded") {return;} + if ($($result.Status) -ne "Succeeded") {return; } } $userinput = "" @@ -302,11 +364,13 @@ while ($userinput -ne "q") { Write-Host "1: List data marts" Write-Host "2: List Batch definitions" Write-Host "-----------" + Write-Host "10: Create batch definitions" Write-Host "11: Run Shared Datamarts" - Write-Host "12: Run Shared Clinical + Sepsis" + Write-Host "12: Run Shared Datamarts + Sepsis" Write-Host "13: Run EW Sepsis Only" Write-Host "---------------------" Write-Host "21: Run R datamart" + Write-Host "22: Fix R binding on EWS datamart" Write-Host "q: Quit" $userinput = Read-Host "Please make a selection" switch ($userinput) { @@ -318,6 +382,9 @@ while ($userinput -ne "q") { '2' { listBatchDefinitions } + '10' { + createBatchDefinitions + } '11' { runSharedDataMarts } @@ -331,12 +398,16 @@ while ($userinput -ne "q") { '21' { executeJsonDataMart } + '22' { + setBindingTypeForPatientRisk + } + 'q' { return } } $userinput = Read-Host -Prompt "Press Enter to continue or q to exit" - if($userinput -eq "q"){ + if ($userinput -eq "q") { return } [Console]::ResetColor() From 11aa08b7213594d9a07ccde2cf11b0c3917b2a67 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 1 Mar 2018 19:06:21 -0800 Subject: [PATCH 278/473] added code to set script in the binding Signed-off-by: HQCATALYST\imran.qureshi --- developer/runengine.ps1 | 36 +++++++++++++++++++++++++++++------- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/developer/runengine.ps1 b/developer/runengine.ps1 index 24d1a9c..8b96652 100644 --- a/developer/runengine.ps1 +++ b/developer/runengine.ps1 @@ -62,20 +62,20 @@ function getIdForBinding([ValidateNotNull()] $datamartid, [ValidateNotNull()] $e return $Return } -function updateBindingType([ValidateNotNull()] $datamartid, [ValidateNotNull()] $entityId, [ValidateNotNull()] $bindingId) { +function updateBindingType([ValidateNotNull()] $datamartid, [ValidateNotNull()] $entityId, [ValidateNotNull()] $bindingId, [ValidateNotNull()] $bindingType) { # /v1/DataMarts({dataMartId})/Entities({entityId})/SourceBindings({id}) [hashtable]$Return = @{} $api = "${metadataUrl}/v1/DataMarts($datamartid)/Entities($entityId)/SourceBindings($bindingId)" $body = @{ - BindingType = "R" + BindingType = "$bindingType" } $bodyAsJson = $body | ConvertTo-Json $headerJSON = @{ "content-type" = "application/json;odata=verbose"} Write-Host "API: $api" Write-Host "Body: $bodyAsJson" - + Invoke-RestMethod -Uri $api -UseDefaultCredentials ` -Headers $headerJSON -Method PATCH ` -Body $bodyAsJson @@ -85,9 +85,26 @@ function updateBindingType([ValidateNotNull()] $datamartid, [ValidateNotNull()] } -function setBindingTypeForPatientRisk(){ - $datamartName ="Early Warning Sepsis" - $entityname="EWSSummaryPatientRisk" +function setAttributeInBinding([ValidateNotNull()] $datamartid, [ValidateNotNull()] $entityId, [ValidateNotNull()] $bindingId, $attributeName, $attributeValue) { + # POST /v1/DataMarts({dataMartId})/Entities({entityId})/SourceBindings({bindingId})/AttributeValues + $api = "${metadataUrl}/v1/DataMarts($datamartid)/Entities($entityId)/SourceBindings($bindingId)/AttributeValues" + + $bodyAsJson = "{ + 'AttributeName': '$attributeName', + 'AttributeValue': '$attributeValue' + }" + $headerJSON = @{ "content-type" = "application/json;odata=verbose"} + + Invoke-RestMethod -Uri $api -UseDefaultCredentials ` + -Headers $headerJSON -Method POST ` + -Body $bodyAsJson + + Invoke-Restmethod $api -UseDefaultCredentials +} + +function setBindingTypeForPatientRisk() { + $datamartName = "Early Warning Sepsis" + $entityname = "EWSSummaryPatientRisk" $result = $(getdataMartIDbyName $datamartName) $datamartId = $result.Id @@ -96,8 +113,13 @@ function setBindingTypeForPatientRisk(){ Write-Host "Updating binding type to R" - updateBindingType $datamartid $entityId $bindingId + setAttributeInBinding $datamartid $entityId $bindingId "Script" "C:\\himss\\sepsis\\test.r" + + updateBindingType $datamartid $entityId $bindingId "R" + } + + function listBatchDefinitions() { $api = "${dpsUrl}/v1/BatchDefinitions" $result = Invoke-Restmethod $api -UseDefaultCredentials From e90756e08389befc876c0f0a8ebc8865c96888bc Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 1 Mar 2018 20:11:43 -0800 Subject: [PATCH 279/473] add function to toggle binding type between R and SQL so we can open the file in SAMD Signed-off-by: HQCATALYST\imran.qureshi --- developer/runengine.ps1 | 62 +++++++++++++++++++++++++++++++++++------ 1 file changed, 54 insertions(+), 8 deletions(-) diff --git a/developer/runengine.ps1 b/developer/runengine.ps1 index 8b96652..eeaaa12 100644 --- a/developer/runengine.ps1 +++ b/developer/runengine.ps1 @@ -7,6 +7,10 @@ $dpsUrl = "http://localhost/DataProcessingService" $metadataUrl = "http://localhost/MetadataService" + +$ewSepsisDataMartName = "Early Warning Sepsis" +$ewSepsisEntityName = "EWSSummaryPatientRisk" + # http://localhost/MetadataService/swagger/ui/index#/ function listdatamarts() { $api = "${metadataUrl}/v1/DataMarts" @@ -23,7 +27,7 @@ function downloaddataMartIDbyName([ValidateNotNull()] $datamartName) { $result = $(getdataMartIDbyName $datamartName) $datamartId = $result.Id - $api = "${metadataUrl}/v1/DataMarts($datamartId)" + '?%24expand=Entities' + $api = "${metadataUrl}/v1/DataMarts($datamartId)" + '?$expand=Entities($expand=SourceBindings)' $result = Invoke-Restmethod $api -UseDefaultCredentials Write-Host $result @@ -50,6 +54,18 @@ function getIdForEntity([ValidateNotNull()] $datamartid, [ValidateNotNull()] $en return $Return } +function getBinding([ValidateNotNull()] $datamartid, [ValidateNotNull()] $entityId) { + # http://localhost/MetadataService/v1/DataMarts(24)/Entities(1427)/SourceBindings + [hashtable]$Return = @{} + + $api = "${metadataUrl}/v1/DataMarts($datamartid)/Entities($entityId)/SourceBindings" + '?$expand=AttributeValues' + $result = Invoke-Restmethod $api -UseDefaultCredentials + + Write-Host "Binding: $($result.value)" + $Return.Binding = $($result.value) + return $Return +} + function getIdForBinding([ValidateNotNull()] $datamartid, [ValidateNotNull()] $entityId) { # http://localhost/MetadataService/v1/DataMarts(24)/Entities(1427)/SourceBindings [hashtable]$Return = @{} @@ -102,9 +118,9 @@ function setAttributeInBinding([ValidateNotNull()] $datamartid, [ValidateNotNull Invoke-Restmethod $api -UseDefaultCredentials } -function setBindingTypeForPatientRisk() { - $datamartName = "Early Warning Sepsis" - $entityname = "EWSSummaryPatientRisk" +function setBindingTypeForPatientRisk($bindingType) { + $datamartName=$ewSepsisDataMartName + $entityname=$ewSepsisEntityName $result = $(getdataMartIDbyName $datamartName) $datamartId = $result.Id @@ -115,8 +131,26 @@ function setBindingTypeForPatientRisk() { setAttributeInBinding $datamartid $entityId $bindingId "Script" "C:\\himss\\sepsis\\test.r" - updateBindingType $datamartid $entityId $bindingId "R" + updateBindingType $datamartid $entityId $bindingId $bindingType + +} +function showBindingForPatientRisk() { + + [hashtable]$Return = @{} + + $datamartName=$ewSepsisDataMartName + $entityname=$ewSepsisEntityName + $result = $(getdataMartIDbyName $datamartName) + $datamartId = $result.Id + $entityId = $(getIdForEntity $datamartid $entityname).EntityId + # $bindingId = $(getIdForBinding $datamartid $entityId).BindingId + + + + $Return.Binding = $(getBinding $datamartId $entityId).Binding + + return $Return } @@ -392,7 +426,10 @@ while ($userinput -ne "q") { Write-Host "13: Run EW Sepsis Only" Write-Host "---------------------" Write-Host "21: Run R datamart" - Write-Host "22: Fix R binding on EWS datamart" + Write-Host "22: Set binding to R on EWS datamart" + Write-Host "23: Set binding to SQL on EWS datamart" + Write-Host "24: Download EWS datamart as json" + Write-Host "25: Show EWS Risk binding" Write-Host "q: Quit" $userinput = Read-Host "Please make a selection" switch ($userinput) { @@ -421,9 +458,18 @@ while ($userinput -ne "q") { executeJsonDataMart } '22' { - setBindingTypeForPatientRisk + setBindingTypeForPatientRisk "R" + } + '23' { + setBindingTypeForPatientRisk "SQL" + } + '24' { + downloaddataMartIDbyName $ewSepsisDataMartName + } + '25' { + $result = showBindingForPatientRisk $ewSepsisDataMartName + Write-Host "Binding Type: $($result.Binding.BindingType)" } - 'q' { return } From 1c756d660218f2f592354776263cc71d40b27661 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 1 Mar 2018 22:48:05 -0800 Subject: [PATCH 280/473] enable passing in a R script file Signed-off-by: HQCATALYST\imran.qureshi --- developer/runengine.ps1 | 44 +++++++++++++++++++++++++++++------------ developer/runr.ps1 | 25 +++++++++++++++++++++++ 2 files changed, 56 insertions(+), 13 deletions(-) create mode 100644 developer/runr.ps1 diff --git a/developer/runengine.ps1 b/developer/runengine.ps1 index eeaaa12..61eada3 100644 --- a/developer/runengine.ps1 +++ b/developer/runengine.ps1 @@ -10,6 +10,8 @@ $metadataUrl = "http://localhost/MetadataService" $ewSepsisDataMartName = "Early Warning Sepsis" $ewSepsisEntityName = "EWSSummaryPatientRisk" +#$ewsRScriptFile = "C:\\himss\\sepsis\\test.r" +$ewsRScriptFile = "C:\\himss\\healthcareai_predictingScript_sepsisDemo_20180224.r" # http://localhost/MetadataService/swagger/ui/index#/ function listdatamarts() { @@ -103,7 +105,10 @@ function updateBindingType([ValidateNotNull()] $datamartid, [ValidateNotNull()] function setAttributeInBinding([ValidateNotNull()] $datamartid, [ValidateNotNull()] $entityId, [ValidateNotNull()] $bindingId, $attributeName, $attributeValue) { # POST /v1/DataMarts({dataMartId})/Entities({entityId})/SourceBindings({bindingId})/AttributeValues - $api = "${metadataUrl}/v1/DataMarts($datamartid)/Entities($entityId)/SourceBindings($bindingId)/AttributeValues" + + # see if binding exists + $api = "${metadataUrl}/v1/DataMarts($datamartid)/Entities($entityId)/SourceBindings($bindingId)/AttributeValues" + '?$filter=AttributeName eq ' + "'$attributeName'" + $result = Invoke-Restmethod $api -UseDefaultCredentials $bodyAsJson = "{ 'AttributeName': '$attributeName', @@ -111,16 +116,29 @@ function setAttributeInBinding([ValidateNotNull()] $datamartid, [ValidateNotNull }" $headerJSON = @{ "content-type" = "application/json;odata=verbose"} - Invoke-RestMethod -Uri $api -UseDefaultCredentials ` - -Headers $headerJSON -Method POST ` - -Body $bodyAsJson + # if result is null then add else patch + if ($($result.value) -eq $null) { + Write-Host "Attribute $attributeName does not exist, adding it" + $api = "${metadataUrl}/v1/DataMarts($datamartid)/Entities($entityId)/SourceBindings($bindingId)/AttributeValues" - Invoke-Restmethod $api -UseDefaultCredentials + Invoke-RestMethod -Uri $api -UseDefaultCredentials ` + -Headers $headerJSON -Method POST ` + -Body $bodyAsJson + } + else { + $attributeId=$($result.value.Id) + Write-Host "Attribute $attributeName already exists with id: $attributeId so patching it" + $api = "${metadataUrl}/v1/DataMarts($datamartid)/Entities($entityId)/SourceBindings($bindingId)/AttributeValues($attributeId)" + + Invoke-RestMethod -Uri $api -UseDefaultCredentials ` + -Headers $headerJSON -Method PATCH ` + -Body $bodyAsJson + } } -function setBindingTypeForPatientRisk($bindingType) { - $datamartName=$ewSepsisDataMartName - $entityname=$ewSepsisEntityName +function setBindingTypeForPatientRisk($bindingType, $scriptFile) { + $datamartName = $ewSepsisDataMartName + $entityname = $ewSepsisEntityName $result = $(getdataMartIDbyName $datamartName) $datamartId = $result.Id @@ -129,7 +147,7 @@ function setBindingTypeForPatientRisk($bindingType) { Write-Host "Updating binding type to R" - setAttributeInBinding $datamartid $entityId $bindingId "Script" "C:\\himss\\sepsis\\test.r" + setAttributeInBinding $datamartid $entityId $bindingId "Script" $scriptFile updateBindingType $datamartid $entityId $bindingId $bindingType @@ -138,8 +156,8 @@ function showBindingForPatientRisk() { [hashtable]$Return = @{} - $datamartName=$ewSepsisDataMartName - $entityname=$ewSepsisEntityName + $datamartName = $ewSepsisDataMartName + $entityname = $ewSepsisEntityName $result = $(getdataMartIDbyName $datamartName) $datamartId = $result.Id @@ -458,10 +476,10 @@ while ($userinput -ne "q") { executeJsonDataMart } '22' { - setBindingTypeForPatientRisk "R" + setBindingTypeForPatientRisk "R" $ewsRScriptFile } '23' { - setBindingTypeForPatientRisk "SQL" + setBindingTypeForPatientRisk "SQL" $ewsRScriptFile } '24' { downloaddataMartIDbyName $ewSepsisDataMartName diff --git a/developer/runr.ps1 b/developer/runr.ps1 new file mode 100644 index 0000000..ecb6267 --- /dev/null +++ b/developer/runr.ps1 @@ -0,0 +1,25 @@ + + +$username = "hqcatalyst\edw_loader" +$password = "P@ssw0rd" +$credentials = New-Object System.Management.Automation.PSCredential -ArgumentList @($username,(ConvertTo-SecureString -String $password -AsPlainText -Force)) +Start-Process "C:\Program Files\R\R-3.4.3\bin\Rscript.exe" -Credential ($credentials) -ArgumentList "C:\\himss\\healthcareai_predictingScript_sepsisDemo_20180224.r" + +# $pinfo = New-Object System.Diagnostics.ProcessStartInfo +# $pinfo.FileName = "C:\Program Files\R\R-3.4.3\bin\Rscript.exe" +# $pinfo.RedirectStandardError = $true +# $pinfo.RedirectStandardOutput = $true +# # $pinfo.UseShellExecute = $false +# $pinfo.Arguments = "C:\himss\healthcareai_predictingScript_sepsisDemo_20180224.r" +# $pinfo.UserName = $username +# $pinfo.PasswordInClearText = $password +# $p = New-Object System.Diagnostics.Process +# $p.StartInfo = $pinfo +# $p.Start() +# # | Out-Null +# $p.WaitForExit() +# $stdout = $p.StandardOutput.ReadToEnd() +# $stderr = $p.StandardError.ReadToEnd() +# Write-Host "stdout: $stdout" +# Write-Host "stderr: $stderr" +# Write-Host "exit code: " + $p.ExitCode From 9a55e26ff9c18a9cade46cfe1604cba570986f84 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 2 Mar 2018 01:43:54 -0800 Subject: [PATCH 281/473] add getdataMartIDbyName Signed-off-by: HQCATALYST\imran.qureshi --- developer/runengine.ps1 | 21 ++++++++++++++++++--- developer/runr.ps1 | 2 ++ realtime/runondevmachine.sh | 5 ++++- 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/developer/runengine.ps1 b/developer/runengine.ps1 index 61eada3..a9d65d5 100644 --- a/developer/runengine.ps1 +++ b/developer/runengine.ps1 @@ -4,6 +4,7 @@ # Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/developer/runengine.ps1 | Invoke-Expression; # Get-Content ./runengine.ps1 -Raw | Invoke-Expression; +Write-output "--- runengine.ps1 Version 2018.03.02.01 ----" $dpsUrl = "http://localhost/DataProcessingService" $metadataUrl = "http://localhost/MetadataService" @@ -23,6 +24,20 @@ function listdatamarts() { } } +function getdataMartIDbyName($datamartName){ + [hashtable]$Return = @{} + + $api = "${metadataUrl}/v1/DataMarts" + '?$filter=Name eq ' + "'$datamartName'" + $result = Invoke-Restmethod $api -UseDefaultCredentials + + + $Return.Id = $result.value.Id + $Return.Name = $result.value.Name + + Write-Host "Found datamart id=$($Return.Id) for $datamartName" + + return $Return +} function downloaddataMartIDbyName([ValidateNotNull()] $datamartName) { [hashtable]$Return = @{} @@ -267,13 +282,13 @@ function getLastBatchExecutionForDatamart([ValidateNotNull()] $dataMartId) { function getBatchExecution([ValidateNotNull()] $batchExecutionId) { [hashtable]$Return = @{} - $api = "${dpsUrl}" + '/v1/BatchExecutions?$filter=Id eq ' + $batchExecutionId + $api = "${dpsUrl}/v1/BatchExecutions($batchExecutionId)" $result = Invoke-Restmethod $api -UseDefaultCredentials - # Write-Host $result.value + # Write-Host $result # $batchDefinitionId = $result.value[0].BatchDefinitionId - $lastExecution = $($result.value | Sort-Object CreationDateTime -Descending)[0] + $lastExecution = $($result) $batchDefinitionId = $lastExecution.BatchDefinitionId $status = $lastExecution.Status $startDateTime = $lastExecution.StartDateTime diff --git a/developer/runr.ps1 b/developer/runr.ps1 index ecb6267..caa1e94 100644 --- a/developer/runr.ps1 +++ b/developer/runr.ps1 @@ -23,3 +23,5 @@ Start-Process "C:\Program Files\R\R-3.4.3\bin\Rscript.exe" -Credential ($credent # Write-Host "stdout: $stdout" # Write-Host "stderr: $stderr" # Write-Host "exit code: " + $p.ExitCode + +# "C:\Program Files\R\R-3.4.3\bin\Rscript.exe" "C:\\himss\\healthcareai_predictingScript_sepsisDemo_20180224.r" diff --git a/realtime/runondevmachine.sh b/realtime/runondevmachine.sh index 2a3c088..6901221 100644 --- a/realtime/runondevmachine.sh +++ b/realtime/runondevmachine.sh @@ -114,4 +114,7 @@ echo "running stack: $stackfilename" echo "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/$myreleaseversion/realtime/${stackfilename}" -curl -sSL "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/$myreleaseversion/realtime/${stackfilename}" | docker stack deploy --compose-file - fabricrealtime \ No newline at end of file +curl -sSL "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/$myreleaseversion/realtime/${stackfilename}" | docker stack deploy --compose-file - fabricrealtime + + +# to resolve to host from dockers, use host.docker.internal \ No newline at end of file From 01c0a8583ace093ef644266ede3abd7c17025495 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 2 Mar 2018 04:16:31 -0800 Subject: [PATCH 282/473] use SSL on local machines with realtime too Signed-off-by: HQCATALYST\imran.qureshi --- realtime/runondevmachine.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/realtime/runondevmachine.sh b/realtime/runondevmachine.sh index 6901221..9db8dd4 100644 --- a/realtime/runondevmachine.sh +++ b/realtime/runondevmachine.sh @@ -73,7 +73,9 @@ else fi -export DISABLE_SSL="true" +# export DISABLE_SSL="false" +export CERT_HOSTNAME="HC2034.hqcatalyst.local" + export SHARED_DRIVE=c:/tmp/fabricrealtime mkdir -p ${SHARED_DRIVE} From c91ee562c1ed137dd092b0fa68cc8e86a5ad2ed8 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Sat, 3 Mar 2018 15:59:41 -0800 Subject: [PATCH 283/473] add code to run sql Signed-off-by: HQCATALYST\imran.qureshi --- developer/runengine.ps1 | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/developer/runengine.ps1 b/developer/runengine.ps1 index a9d65d5..a48c3ff 100644 --- a/developer/runengine.ps1 +++ b/developer/runengine.ps1 @@ -4,7 +4,7 @@ # Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/developer/runengine.ps1 | Invoke-Expression; # Get-Content ./runengine.ps1 -Raw | Invoke-Expression; -Write-output "--- runengine.ps1 Version 2018.03.02.01 ----" +Write-output "--- runengine.ps1 Version 2018.03.03.01 ----" $dpsUrl = "http://localhost/DataProcessingService" $metadataUrl = "http://localhost/MetadataService" @@ -14,6 +14,8 @@ $ewSepsisEntityName = "EWSSummaryPatientRisk" #$ewsRScriptFile = "C:\\himss\\sepsis\\test.r" $ewsRScriptFile = "C:\\himss\\healthcareai_predictingScript_sepsisDemo_20180224.r" +$connectionString = "Server=(local);Database=EdwAdmin;Trusted_Connection=True;" + # http://localhost/MetadataService/swagger/ui/index#/ function listdatamarts() { $api = "${metadataUrl}/v1/DataMarts" @@ -314,7 +316,7 @@ function waitForBatchExecution([ValidateNotNull()] $batchExecutionId) { $result = getBatchExecution($batchExecutionId) $status = $result.Status Write-Host "Status: $status" - Start-Sleep -Seconds 10 + Start-Sleep -Seconds 1 } while ($status -ne "Succeeded" -and $status -ne "Failed" -and $status -ne "Canceled") @@ -435,7 +437,11 @@ function runSharedDataMarts() { function runEarlyWarningSepsis() { - $result = runAndWaitForDatamart -datamartName "Early Warning Sepsis" + $StartDateTime = Get-Date + $result = runAndWaitForDatamart -datamartName "Early Warning Sepsis" + $EndDateTime = Get-Date + $duration = $EndDateTime - $StartDateTime + Write-Host "Runtime in seconds: $($duration.TotalSeconds)" if ($($result.Status) -ne "Succeeded") {return; } } @@ -447,6 +453,9 @@ function runSepsis() { if ($($result.Status) -ne "Succeeded") {return; } } +function runSql([ValidateNotNull()] $sql){ + Invoke-Sqlcmd -Query $sql -ConnectionString $connectionString -Verbose +} $userinput = "" while ($userinput -ne "q") { Write-Host "================ Health Catalyst Developer Tools ================" @@ -462,7 +471,9 @@ while ($userinput -ne "q") { Write-Host "22: Set binding to R on EWS datamart" Write-Host "23: Set binding to SQL on EWS datamart" Write-Host "24: Download EWS datamart as json" - Write-Host "25: Show EWS Risk binding" + Write-Host "-------- Troubleshooting ------" + Write-Host "32: fix discovery service url" + Write-Host "33: Show EWS Risk binding" Write-Host "q: Quit" $userinput = Read-Host "Please make a selection" switch ($userinput) { @@ -499,7 +510,10 @@ while ($userinput -ne "q") { '24' { downloaddataMartIDbyName $ewSepsisDataMartName } - '25' { + '32' { + runSql "update [EDWAdmin].[CatalystAdmin].[ObjectAttributeBASE] set AttributeValueTXT = 'http://localhost/DiscoveryService/v1' where AttributeNM = 'DiscoveryServiceUri'" + } + '33' { $result = showBindingForPatientRisk $ewSepsisDataMartName Write-Host "Binding Type: $($result.Binding.BindingType)" } From 184e19131491768c6e1a839d94597569a96c943e Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Sun, 4 Mar 2018 18:11:00 -0800 Subject: [PATCH 284/473] add Hospital Account to Facility Account SAM Signed-off-by: HQCATALYST\imran.qureshi --- developer/runengine.ps1 | 15 +++- developer/sqlprettyprint.ps1 | 151 +++++++++++++++++++++++++++++++++++ 2 files changed, 164 insertions(+), 2 deletions(-) create mode 100644 developer/sqlprettyprint.ps1 diff --git a/developer/runengine.ps1 b/developer/runengine.ps1 index a48c3ff..e9db094 100644 --- a/developer/runengine.ps1 +++ b/developer/runengine.ps1 @@ -4,7 +4,7 @@ # Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/developer/runengine.ps1 | Invoke-Expression; # Get-Content ./runengine.ps1 -Raw | Invoke-Expression; -Write-output "--- runengine.ps1 Version 2018.03.03.01 ----" +Write-output "--- runengine.ps1 Version 2018.03.04.01 ----" $dpsUrl = "http://localhost/DataProcessingService" $metadataUrl = "http://localhost/MetadataService" @@ -403,6 +403,8 @@ function createBatchDefinitions() { createBatchDefinitionForDataMart -datamartName "SharedPersonPatient" createBatchDefinitionForDataMart -datamartName "SharedClinical" createBatchDefinitionForDataMart -datamartName "Sepsis" + createBatchDefinitionForDataMart -datamartName "Hospital Account to Facility Account" + createBatchDefinitionForDataMart -datamartName "Early Warning Sepsis" } @@ -447,8 +449,12 @@ function runEarlyWarningSepsis() { function runSepsis() { + $result = runAndWaitForDatamart -datamartName "Hospital Account to Facility Account" + if ($($result.Status) -ne "Succeeded") {return; } + $result = runAndWaitForDatamart -datamartName "Sepsis" if ($($result.Status) -ne "Succeeded") {return; } + $result = runAndWaitForDatamart -datamartName "Early Warning Sepsis" if ($($result.Status) -ne "Succeeded") {return; } } @@ -465,7 +471,8 @@ while ($userinput -ne "q") { Write-Host "10: Create batch definitions" Write-Host "11: Run Shared Datamarts" Write-Host "12: Run Shared Datamarts + Sepsis" - Write-Host "13: Run EW Sepsis Only" + Write-Host "13: Run Sepsis and EW Sepsis" + Write-Host "14: Run EW Sepsis Only" Write-Host "---------------------" Write-Host "21: Run R datamart" Write-Host "22: Set binding to R on EWS datamart" @@ -496,6 +503,10 @@ while ($userinput -ne "q") { runSepsis } '13' { + runSepsis + runEarlyWarningSepsis + } + '14' { runEarlyWarningSepsis } '21' { diff --git a/developer/sqlprettyprint.ps1 b/developer/sqlprettyprint.ps1 new file mode 100644 index 0000000..dc2a9d5 --- /dev/null +++ b/developer/sqlprettyprint.ps1 @@ -0,0 +1,151 @@ +<# +.SYNOPSIS + 'Pretty print' a given T-SQL script + +.DESCRIPTION + This script will format T-SQL scripts + +.NOTES + Author : Arvind Shyamsundar (arvindsh@microsoft.com) + +.PARAMETERS + -SourceFile: full file path to the file containing the input T-SQL + -SourceScript: string containing T-SQL + -ReturnParsedFragment: a switch that returns the parsed tokens + +.LIMITATIONS + T-SQL comments are not preserved + +.LINK + http://blogs.msdn.com/b/arvindsh + +.HISTORY + 2013.02.28 First version for blog + 2013.04.05 updated by jake heidt (admin@jheidt.com) to accept strings or files, and to use the pipeline +#> +function Format-Sql +{ + [CmdletBinding()] + param + ( + [parameter(Position=0,Mandatory=$true,ParameterSetName='SourceFromFile',ValueFromPipeline=$true)] + [ValidateNotNull()] + [System.IO.FileInfo[]]$SourceFile=($null), + + [parameter(Position=0,Mandatory=$true,ParameterSetName='SourceFromString',ValueFromPipeline=$true)] + [ValidateNotNull()] + [string[]]$SourceScript=($null), + + [parameter(Position=1)] + [switch]$ReturnParsedFragment=$false + ) + +begin +{ + Write-Debug "Parameter set: $($PSCmdlet.ParameterSetName)" + switch($PSCmdlet.ParameterSetName) + { + SourceFromFile { if($SourceFile.Length -eq 0) { throw "Please specify at least one source file" } } + SourceFromString { if($SourceScript.Length -eq 0) { throw "Please specify at least one sql script" } } + } + $sqldom = [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.TransactSql.ScriptDom") + if($sqldom -eq $null) { throw "Could not load Microsoft.SqlServer.TransactSql.ScriptDom - install SQLDOM.MSI from the latest SQL Server Feature Pack" } +} <# /begin #> + +process +{ + [Microsoft.SqlServer.TransactSql.ScriptDom.TSql110Parser]$parser = New-Object -TypeName Microsoft.SqlServer.TransactSql.ScriptDom.TSql110Parser -ArgumentList @($false) + if($parser -eq $null) { throw "Could not create parser 'TSql110Parser' - install SQLDOM.MSI from the SQL 2012 Feature Pack" } + + [Microsoft.SqlServer.TransactSql.ScriptDom.Sql110ScriptGenerator]$scriptgen = New-Object -TypeName Microsoft.SqlServer.TransactSql.ScriptDom.Sql110ScriptGenerator + + # determine what we are going to loop over - strings or files + switch($PSCmdlet.ParameterSetName) + { + 'SourceFromFile' { $to_enumerate = $SourceFile } + 'SourceFromString' { $to_enumerate = $SourceScript } + } + + [System.IO.TextReader]$reader = $null + + $to_enumerate | %{ + + $iter = $_ # need to store pipeline value to a local, since $_ seems to rebind if the following switch {} + + switch( $PSCmdlet.ParameterSetName ) + { + 'SourceFromFile' + { + if(!(Test-Path -Path "$($iter.FullName)")) + { + Write-Error "File '$($iter.FullName)' does not exist" + continue + } + $reader = [System.IO.StreamReader](New-Object -TypeName 'System.IO.StreamReader' -ArgumentList @($iter)) + } + 'SourceFromString' + { + if([string]::IsNullOrWhiteSpace($iter)) + { + Write-Error "SQL script string is null or blank" + continue + } + $reader = [System.IO.StringReader](New-Object -TypeName 'System.IO.StringReader' -ArgumentList @($iter)) + } + } + + [System.Collections.Generic.IList[Microsoft.SqlServer.TransactSql.ScriptDom.ParseError]]$parser_errors = New-Object -TypeName 'System.Collections.Generic.List[Microsoft.SqlServer.TransactSql.ScriptDom.ParseError]' + + $tsqlfrag = $parser.Parse( $reader, [ref]$parser_errors ) + + $reader.Dispose() + $reader = $null + + $parser_errors | %{ + [Microsoft.SqlServer.TransactSql.ScriptDom.ParseError]$pe = $_ + Write-Error "Error in parsed script: `r`n Line : $($pe.Line)`r`n Column : $($pe.Column)`r`n Message: $($pe.Message)`r`n Number : $($pe.Number)" + } + + $sql_output_writer = New-Object -TypeName 'System.IO.StringWriter' + + $scriptgen.GenerateScript( $tsqlfrag, $sql_output_writer ) + + $final_sql_script = $sql_output_writer.ToString() + + $sql_output_writer.Dispose() + $sql_output_writer = $null + + if($ReturnParsedFragment) { + Write-Output @($final_sql_script, $tsqlfrag) + } else { + Write-Output $final_sql_script + } + } +} <# /process #> + +end +{ + $scriptgen = $null + $parser = $null +} <# /end #> + +} + + +# +# example usage +# + +$sql_statements = @( + 'SELECT 1 FROM [TABLE]' + 'SELECT [email] FROM [users] WHERE [username] = @username AND [passwordhash] = @pwdhash' + 'UPDATE [users] SET [passwordhash] = @pwdhash WHERE [username] = @username' +) +# Format-Sql -SourceScript $sql_statements + +Format-Sql -SourceFile "C:\Temp\test.sql" +# +# $sql, $frag = Format-Sql -SourceScript $example_sql_statement -ReturnParsedFragment +# +# $frag.ScriptTokenStream | ?{ $_.TokenType -ne 'WhiteSpace' } | Select-Object TokenType, Text | ft -AutoSize -Wrap +# \ No newline at end of file From 79df9eccd9d2ae6125d5b9fb2aa127d9243fe4ad Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 5 Mar 2018 00:11:19 -0800 Subject: [PATCH 285/473] add code to create nodeuser in db Signed-off-by: HQCATALYST\imran.qureshi --- developer/runengine.ps1 | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/developer/runengine.ps1 b/developer/runengine.ps1 index e9db094..3322866 100644 --- a/developer/runengine.ps1 +++ b/developer/runengine.ps1 @@ -462,9 +462,40 @@ function runSepsis() { function runSql([ValidateNotNull()] $sql){ Invoke-Sqlcmd -Query $sql -ConnectionString $connectionString -Verbose } + +function createNodeUserOnSqlDatabase(){ + $sql = +@" +IF NOT EXISTS + (SELECT name + FROM master.sys.server_principals + WHERE name = 'nodeuser') +BEGIN +CREATE LOGIN [nodeuser] WITH PASSWORD=N'ILoveNode2017', DEFAULT_DATABASE=[SAM], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=ON, CHECK_POLICY=ON +END +"@ + Invoke-Sqlcmd -Query $sql -ConnectionString $connectionString -Verbose + $sql = +@" +USE [SAM]; +GO +CREATE USER [nodeuser] FOR LOGIN [nodeuser] +GO +"@ + Invoke-Sqlcmd -Query $sql -ConnectionString $connectionString -Verbose + $sql = +@" +USE [SAM]; +GO +exec sp_addrolemember 'db_datareader', 'nodeuser'; +GO +"@ + Invoke-Sqlcmd -Query $sql -ConnectionString $connectionString -Verbose +} $userinput = "" while ($userinput -ne "q") { Write-Host "================ Health Catalyst Developer Tools ================" + Write-Host "0: Setup HIMSS Demo" Write-Host "1: List data marts" Write-Host "2: List Batch definitions" Write-Host "-----------" @@ -485,6 +516,7 @@ while ($userinput -ne "q") { $userinput = Read-Host "Please make a selection" switch ($userinput) { '0' { + createNodeUserOnSqlDatabase } '1' { listdatamarts From 39196ee3adaa093204b8d58a2803d495fa0aad86 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 5 Mar 2018 02:43:03 -0800 Subject: [PATCH 286/473] update name of ew sepsis datamart Signed-off-by: HQCATALYST\imran.qureshi --- developer/runengine.ps1 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/developer/runengine.ps1 b/developer/runengine.ps1 index 3322866..03714a1 100644 --- a/developer/runengine.ps1 +++ b/developer/runengine.ps1 @@ -9,7 +9,7 @@ Write-output "--- runengine.ps1 Version 2018.03.04.01 ----" $dpsUrl = "http://localhost/DataProcessingService" $metadataUrl = "http://localhost/MetadataService" -$ewSepsisDataMartName = "Early Warning Sepsis" +$ewSepsisDataMartName = "Early Warning Sepsis Risk" $ewSepsisEntityName = "EWSSummaryPatientRisk" #$ewsRScriptFile = "C:\\himss\\sepsis\\test.r" $ewsRScriptFile = "C:\\himss\\healthcareai_predictingScript_sepsisDemo_20180224.r" @@ -405,7 +405,7 @@ function createBatchDefinitions() { createBatchDefinitionForDataMart -datamartName "Sepsis" createBatchDefinitionForDataMart -datamartName "Hospital Account to Facility Account" - createBatchDefinitionForDataMart -datamartName "Early Warning Sepsis" + createBatchDefinitionForDataMart -datamartName "Early Warning Sepsis Risk" } function runAndWaitForDatamart([ValidateNotNull()] $datamartName) { @@ -440,7 +440,7 @@ function runSharedDataMarts() { function runEarlyWarningSepsis() { $StartDateTime = Get-Date - $result = runAndWaitForDatamart -datamartName "Early Warning Sepsis" + $result = runAndWaitForDatamart -datamartName "Early Warning Sepsis Risk" $EndDateTime = Get-Date $duration = $EndDateTime - $StartDateTime Write-Host "Runtime in seconds: $($duration.TotalSeconds)" @@ -455,7 +455,7 @@ function runSepsis() { $result = runAndWaitForDatamart -datamartName "Sepsis" if ($($result.Status) -ne "Succeeded") {return; } - $result = runAndWaitForDatamart -datamartName "Early Warning Sepsis" + $result = runAndWaitForDatamart -datamartName "Early Warning Sepsis Risk" if ($($result.Status) -ne "Succeeded") {return; } } From c8461445c61e0ced53a2f6c66e9d49480cc7d057 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 5 Mar 2018 11:37:38 -0800 Subject: [PATCH 287/473] add command to run fabric.ehr docker Signed-off-by: HQCATALYST\imran.qureshi --- developer/runengine.ps1 | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/developer/runengine.ps1 b/developer/runengine.ps1 index 03714a1..96452dd 100644 --- a/developer/runengine.ps1 +++ b/developer/runengine.ps1 @@ -4,7 +4,7 @@ # Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/developer/runengine.ps1 | Invoke-Expression; # Get-Content ./runengine.ps1 -Raw | Invoke-Expression; -Write-output "--- runengine.ps1 Version 2018.03.04.01 ----" +Write-output "--- runengine.ps1 Version 2018.03.05.01 ----" $dpsUrl = "http://localhost/DataProcessingService" $metadataUrl = "http://localhost/MetadataService" @@ -492,6 +492,11 @@ GO "@ Invoke-Sqlcmd -Query $sql -ConnectionString $connectionString -Verbose } + +function runFabricEHRDocker(){ + docker run -d --rm -p 3000:3000 --name fabric.ehr healthcatalyst/fabric.ehr +} + $userinput = "" while ($userinput -ne "q") { Write-Host "================ Health Catalyst Developer Tools ================" @@ -516,6 +521,7 @@ while ($userinput -ne "q") { $userinput = Read-Host "Please make a selection" switch ($userinput) { '0' { + runFabricEHRDocker createNodeUserOnSqlDatabase } '1' { From da53a38be6c1a336f1a41fc45968701280141584 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 5 Mar 2018 23:39:43 -0800 Subject: [PATCH 288/473] don't override loadtype to full Signed-off-by: HQCATALYST\imran.qureshi --- developer/runengine.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/developer/runengine.ps1 b/developer/runengine.ps1 index 96452dd..cf94355 100644 --- a/developer/runengine.ps1 +++ b/developer/runengine.ps1 @@ -334,8 +334,8 @@ function executeBatch([ValidateNotNull()] $batchdefinitionId) { Status = "Queued" PipelineType = "Batch" LoggingLevel = "Diagnostic" - LoadType = "All" - OverrideLoadType = "Full" + # LoadType = "All" + # OverrideLoadType = "Full" } $result = Invoke-RestMethod -Uri $api -UseDefaultCredentials -Method POST -Body $body From f725589543fd23b4204422fc4ff103e30149ed5c Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 6 Mar 2018 00:26:06 -0800 Subject: [PATCH 289/473] add menu item to start HL7Demo as streaming Signed-off-by: HQCATALYST\imran.qureshi --- developer/runengine.ps1 | 52 ++++++++++++++++++++++++++++++++++------- 1 file changed, 44 insertions(+), 8 deletions(-) diff --git a/developer/runengine.ps1 b/developer/runengine.ps1 index cf94355..9614218 100644 --- a/developer/runengine.ps1 +++ b/developer/runengine.ps1 @@ -4,7 +4,7 @@ # Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/developer/runengine.ps1 | Invoke-Expression; # Get-Content ./runengine.ps1 -Raw | Invoke-Expression; -Write-output "--- runengine.ps1 Version 2018.03.05.01 ----" +Write-output "--- runengine.ps1 Version 2018.03.06.01 ----" $dpsUrl = "http://localhost/DataProcessingService" $metadataUrl = "http://localhost/MetadataService" @@ -345,6 +345,27 @@ function executeBatch([ValidateNotNull()] $batchdefinitionId) { $Return.BatchExecutionId = $batchExecutionId return $Return } +function executeBatchAsStreaming([ValidateNotNull()] $batchdefinitionId) { + [hashtable]$Return = @{} + + #then execute the batch definiton + $api = "${dpsUrl}/v1/BatchExecutions" + $body = @{ + BatchDefinitionId = $batchDefinitionId + Status = "Queued" + PipelineType = "Streaming" + LoggingLevel = "Diagnostic" + # LoadType = "All" + # OverrideLoadType = "Full" + } + $result = Invoke-RestMethod -Uri $api -UseDefaultCredentials -Method POST -Body $body + + $batchExecutionId = $result.Id + Write-Host "Batch execution id=$batchExecutionId" + + $Return.BatchExecutionId = $batchExecutionId + return $Return +} function cancelBatch([ValidateNotNull()] $batchExecutionId) { [hashtable]$Return = @{} @@ -397,6 +418,8 @@ function createBatchDefinitionForDataMart([ValidateNotNull()] $datamartName) { } function createBatchDefinitions() { + createBatchDefinitionForDataMart -datamartName "HL7Demo" + createBatchDefinitionForDataMart -datamartName "SharedPersonSourcePatient" createBatchDefinitionForDataMart -datamartName "SharedPersonSourceProvider" createBatchDefinitionForDataMart -datamartName "SharedPersonProvider" @@ -459,6 +482,15 @@ function runSepsis() { if ($($result.Status) -ne "Succeeded") {return; } } +function runHL7Sourcemart(){ + $datamartName = "HL7Demo" + $result = $(getdataMartIDbyName $datamartName) + $datamartId = $result.Id + + $batchdefinitionId = $(getBatchDefinitionForDataMart -dataMartId $datamartId).BatchDefinitionId + Write-Host "Running batch definition $batchdefinitionId for datamart $datamartName id: $datamartId" + $(executeBatchAsStreaming -batchdefinitionId $batchdefinitionId).BatchExecutionId +} function runSql([ValidateNotNull()] $sql){ Invoke-Sqlcmd -Query $sql -ConnectionString $connectionString -Verbose } @@ -505,10 +537,11 @@ while ($userinput -ne "q") { Write-Host "2: List Batch definitions" Write-Host "-----------" Write-Host "10: Create batch definitions" - Write-Host "11: Run Shared Datamarts" - Write-Host "12: Run Shared Datamarts + Sepsis" - Write-Host "13: Run Sepsis and EW Sepsis" - Write-Host "14: Run EW Sepsis Only" + Write-Host "11: Run HL7 Source mart" + Write-Host "12: Run Shared Datamarts" + Write-Host "13: Run Shared Datamarts + Sepsis" + Write-Host "14: Run Sepsis and EW Sepsis" + Write-Host "15: Run EW Sepsis Only" Write-Host "---------------------" Write-Host "21: Run R datamart" Write-Host "22: Set binding to R on EWS datamart" @@ -534,17 +567,20 @@ while ($userinput -ne "q") { createBatchDefinitions } '11' { - runSharedDataMarts + runHL7Sourcemart } '12' { runSharedDataMarts - runSepsis } '13' { + runSharedDataMarts runSepsis - runEarlyWarningSepsis } '14' { + runSepsis + runEarlyWarningSepsis + } + '15' { runEarlyWarningSepsis } '21' { From 38edbde8c95f8c696e2b6990e2e171e3344a9667 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 6 Mar 2018 00:54:41 -0800 Subject: [PATCH 290/473] add menu item to download rabbitmq certs Signed-off-by: HQCATALYST\imran.qureshi --- developer/runengine.ps1 | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/developer/runengine.ps1 b/developer/runengine.ps1 index 9614218..eff9411 100644 --- a/developer/runengine.ps1 +++ b/developer/runengine.ps1 @@ -4,7 +4,7 @@ # Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/developer/runengine.ps1 | Invoke-Expression; # Get-Content ./runengine.ps1 -Raw | Invoke-Expression; -Write-output "--- runengine.ps1 Version 2018.03.06.01 ----" +Write-output "--- runengine.ps1 Version 2018.03.06.02 ----" $dpsUrl = "http://localhost/DataProcessingService" $metadataUrl = "http://localhost/MetadataService" @@ -26,7 +26,7 @@ function listdatamarts() { } } -function getdataMartIDbyName($datamartName){ +function getdataMartIDbyName($datamartName) { [hashtable]$Return = @{} $api = "${metadataUrl}/v1/DataMarts" + '?$filter=Name eq ' + "'$datamartName'" @@ -143,7 +143,7 @@ function setAttributeInBinding([ValidateNotNull()] $datamartid, [ValidateNotNull -Body $bodyAsJson } else { - $attributeId=$($result.value.Id) + $attributeId = $($result.value.Id) Write-Host "Attribute $attributeName already exists with id: $attributeId so patching it" $api = "${metadataUrl}/v1/DataMarts($datamartid)/Entities($entityId)/SourceBindings($bindingId)/AttributeValues($attributeId)" @@ -482,7 +482,7 @@ function runSepsis() { if ($($result.Status) -ne "Succeeded") {return; } } -function runHL7Sourcemart(){ +function runHL7Sourcemart() { $datamartName = "HL7Demo" $result = $(getdataMartIDbyName $datamartName) $datamartId = $result.Id @@ -491,13 +491,20 @@ function runHL7Sourcemart(){ Write-Host "Running batch definition $batchdefinitionId for datamart $datamartName id: $datamartId" $(executeBatchAsStreaming -batchdefinitionId $batchdefinitionId).BatchExecutionId } -function runSql([ValidateNotNull()] $sql){ +function runSql([ValidateNotNull()] $sql) { Invoke-Sqlcmd -Query $sql -ConnectionString $connectionString -Verbose } -function createNodeUserOnSqlDatabase(){ +function downloadCerts() { + $url = "http://localhost:8081/client/fabricrabbitmquser_client_cert.p12" + Write-Host "Download: $url" + Write-Host "Double-click and install in Local Machine. password: roboconf2" + Write-Host "Open Certificate Management, right click on cert and give everyone access to key" + $url = "http://localhost:8081/client/fabric_ca_cert.p12" +} +function createNodeUserOnSqlDatabase() { $sql = -@" + @" IF NOT EXISTS (SELECT name FROM master.sys.server_principals @@ -508,7 +515,7 @@ END "@ Invoke-Sqlcmd -Query $sql -ConnectionString $connectionString -Verbose $sql = -@" + @" USE [SAM]; GO CREATE USER [nodeuser] FOR LOGIN [nodeuser] @@ -516,7 +523,7 @@ GO "@ Invoke-Sqlcmd -Query $sql -ConnectionString $connectionString -Verbose $sql = -@" + @" USE [SAM]; GO exec sp_addrolemember 'db_datareader', 'nodeuser'; @@ -525,7 +532,7 @@ GO Invoke-Sqlcmd -Query $sql -ConnectionString $connectionString -Verbose } -function runFabricEHRDocker(){ +function runFabricEHRDocker() { docker run -d --rm -p 3000:3000 --name fabric.ehr healthcatalyst/fabric.ehr } @@ -548,6 +555,7 @@ while ($userinput -ne "q") { Write-Host "23: Set binding to SQL on EWS datamart" Write-Host "24: Download EWS datamart as json" Write-Host "-------- Troubleshooting ------" + Write-Host "31: Download RabbitMq certs" Write-Host "32: fix discovery service url" Write-Host "33: Show EWS Risk binding" Write-Host "q: Quit" @@ -595,6 +603,9 @@ while ($userinput -ne "q") { '24' { downloaddataMartIDbyName $ewSepsisDataMartName } + '31' { + downloadCerts + } '32' { runSql "update [EDWAdmin].[CatalystAdmin].[ObjectAttributeBASE] set AttributeValueTXT = 'http://localhost/DiscoveryService/v1' where AttributeNM = 'DiscoveryServiceUri'" } From 8b25bfba9d949819a46ce66303d98aeb4174ca43 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 6 Mar 2018 23:36:16 -0800 Subject: [PATCH 291/473] add page to download fabric.ehr Signed-off-by: HQCATALYST\imran.qureshi --- developer/runengine.ps1 | 3 +++ ehr/installfabricehr.sh | 7 +++++++ 2 files changed, 10 insertions(+) create mode 100644 ehr/installfabricehr.sh diff --git a/developer/runengine.ps1 b/developer/runengine.ps1 index eff9411..44e8899 100644 --- a/developer/runengine.ps1 +++ b/developer/runengine.ps1 @@ -536,6 +536,9 @@ function runFabricEHRDocker() { docker run -d --rm -p 3000:3000 --name fabric.ehr healthcatalyst/fabric.ehr } +function startFabricEHRNodeJs(){ +} + $userinput = "" while ($userinput -ne "q") { Write-Host "================ Health Catalyst Developer Tools ================" diff --git a/ehr/installfabricehr.sh b/ehr/installfabricehr.sh new file mode 100644 index 0000000..8497ac3 --- /dev/null +++ b/ehr/installfabricehr.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/ehr/installfabricehr.sh | sh + +docker stop fabric.ehr +docker rm fabric.ehr +docker run -d -p 3000:3000 -e SQLServer=SQL2012VM --name fabric.ehr -t healthcatalyst/fabric.ehr From 5b5b79c40fbdb3f3e0541a479935cd1ae331ef63 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 12 Mar 2018 16:59:13 -0600 Subject: [PATCH 292/473] separate code to drive engine into doslibrary.ps1 Signed-off-by: HQCATALYST\imran.qureshi --- developer/doslibrary.ps1 | 710 +++++++++++++++++++++++++++++++++++++++ developer/runengine.ps1 | 548 +----------------------------- 2 files changed, 726 insertions(+), 532 deletions(-) create mode 100644 developer/doslibrary.ps1 diff --git a/developer/doslibrary.ps1 b/developer/doslibrary.ps1 new file mode 100644 index 0000000..07c2eeb --- /dev/null +++ b/developer/doslibrary.ps1 @@ -0,0 +1,710 @@ + + +# You can run this by pasting the following in powershell +# Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/developer/doslibrary.ps1 | Invoke-Expression; + +# Get-Content ./runengine.ps1 -Raw | Invoke-Expression; +Write-output "--- doslibrary.ps1 Version 2018.03.11.01 ----" + +$dpsUrl = "http://localhost/DataProcessingService" +$metadataUrl = "http://localhost/MetadataService" + +$ewSepsisDataMartName = "Early Warning Sepsis Risk" +$ewSepsisEntityName = "EWSSummaryPatientRisk" +#$ewsRScriptFile = "C:\\himss\\sepsis\\test.r" +$ewsRScriptFile = "C:\\himss\\healthcareai_predictingScript_sepsisDemo_20180224.r" + +$connectionString = "Server=(local);Database=EdwAdmin;Trusted_Connection=True;" + +# http://localhost/MetadataService/swagger/ui/index#/ +function listdatamarts() { + $api = "${metadataUrl}/v1/DataMarts" + $result = Invoke-Restmethod $api -UseDefaultCredentials + Write-Host "Datamarts" + ForEach ($def in $result.value) { + Write-Host "$($def.Id) $($def.Name)" + } +} + +function getdataMartIDbyName($datamartName) { + [hashtable]$Return = @{} + + $api = "${metadataUrl}/v1/DataMarts" + '?$filter=Name eq ' + "'$datamartName'" + $result = Invoke-Restmethod $api -UseDefaultCredentials + + + $Return.Id = $result.value.Id + $Return.Name = $result.value.Name + + Write-Host "Found datamart id=$($Return.Id) for $datamartName" + + return $Return +} +function downloaddataMartIDbyName([ValidateNotNull()] $datamartName) { + [hashtable]$Return = @{} + + $result = $(getdataMartIDbyName $datamartName) + $datamartId = $result.Id + + $api = "${metadataUrl}/v1/DataMarts($datamartId)" + '?$expand=Entities($expand=SourceBindings)' + $result = Invoke-Restmethod $api -UseDefaultCredentials + + Write-Host $result + $file = "c:\himss\sepsis\mysam.json" + $result | ConvertTo-Json | Out-File $file + + Write-Host "Wrote datamart json to $file" + + # notepad.exe $file + return $Return +} + +# EWSSummaryPatientRisk +# http://localhost/MetadataService/v1/DataMarts(24)/Entities(1427)/SourceBindings + +function getIdForEntity([ValidateNotNull()] $datamartid, [ValidateNotNull()] $entityname) { + [hashtable]$Return = @{} + + $api = "${metadataUrl}/v1/DataMarts($datamartId)/Entities" + '?$filter=EntityName eq ' + "'$entityname'" + $result = Invoke-Restmethod $api -UseDefaultCredentials + + # Write-Host $result + $Return.EntityId = $result.value.Id + return $Return +} + +function getBinding([ValidateNotNull()] $datamartid, [ValidateNotNull()] $entityId) { + # http://localhost/MetadataService/v1/DataMarts(24)/Entities(1427)/SourceBindings + [hashtable]$Return = @{} + + $api = "${metadataUrl}/v1/DataMarts($datamartid)/Entities($entityId)/SourceBindings" + '?$expand=AttributeValues' + $result = Invoke-Restmethod $api -UseDefaultCredentials + + Write-Host "Binding: $($result.value)" + $Return.Binding = $($result.value) + return $Return +} + +function getIdForBinding([ValidateNotNull()] $datamartid, [ValidateNotNull()] $entityId) { + # http://localhost/MetadataService/v1/DataMarts(24)/Entities(1427)/SourceBindings + [hashtable]$Return = @{} + + $api = "${metadataUrl}/v1/DataMarts($datamartid)/Entities($entityId)/SourceBindings" + $result = Invoke-Restmethod $api -UseDefaultCredentials + + Write-Host "Binding: $result.value" + $Return.BindingId = $result.value.Id + return $Return +} + +function updateBindingType([ValidateNotNull()] $datamartid, [ValidateNotNull()] $entityId, [ValidateNotNull()] $bindingId, [ValidateNotNull()] $bindingType) { + # /v1/DataMarts({dataMartId})/Entities({entityId})/SourceBindings({id}) + [hashtable]$Return = @{} + + $api = "${metadataUrl}/v1/DataMarts($datamartid)/Entities($entityId)/SourceBindings($bindingId)" + $body = @{ + BindingType = "$bindingType" + } + $bodyAsJson = $body | ConvertTo-Json + $headerJSON = @{ "content-type" = "application/json;odata=verbose"} + + Write-Host "API: $api" + Write-Host "Body: $bodyAsJson" + + Invoke-RestMethod -Uri $api -UseDefaultCredentials ` + -Headers $headerJSON -Method PATCH ` + -Body $bodyAsJson + + Invoke-Restmethod $api -UseDefaultCredentials + return $Return + +} + +function setAttributeInBinding([ValidateNotNull()] $datamartid, [ValidateNotNull()] $entityId, [ValidateNotNull()] $bindingId, $attributeName, $attributeValue) { + # POST /v1/DataMarts({dataMartId})/Entities({entityId})/SourceBindings({bindingId})/AttributeValues + + # see if binding exists + $api = "${metadataUrl}/v1/DataMarts($datamartid)/Entities($entityId)/SourceBindings($bindingId)/AttributeValues" + '?$filter=AttributeName eq ' + "'$attributeName'" + $result = Invoke-Restmethod $api -UseDefaultCredentials + + $bodyAsJson = "{ + 'AttributeName': '$attributeName', + 'AttributeValue': '$attributeValue' + }" + $headerJSON = @{ "content-type" = "application/json;odata=verbose"} + + # if result is null then add else patch + if ($($result.value) -eq $null) { + Write-Host "Attribute $attributeName does not exist, adding it" + $api = "${metadataUrl}/v1/DataMarts($datamartid)/Entities($entityId)/SourceBindings($bindingId)/AttributeValues" + + Invoke-RestMethod -Uri $api -UseDefaultCredentials ` + -Headers $headerJSON -Method POST ` + -Body $bodyAsJson + } + else { + $attributeId = $($result.value.Id) + Write-Host "Attribute $attributeName already exists with id: $attributeId so patching it" + $api = "${metadataUrl}/v1/DataMarts($datamartid)/Entities($entityId)/SourceBindings($bindingId)/AttributeValues($attributeId)" + + Invoke-RestMethod -Uri $api -UseDefaultCredentials ` + -Headers $headerJSON -Method PATCH ` + -Body $bodyAsJson + } +} + +function setBindingTypeForPatientRisk($bindingType, $scriptFile) { + $datamartName = $ewSepsisDataMartName + $entityname = $ewSepsisEntityName + $result = $(getdataMartIDbyName $datamartName) + $datamartId = $result.Id + + $entityId = $(getIdForEntity $datamartid $entityname).EntityId + $bindingId = $(getIdForBinding $datamartid $entityId).BindingId + + Write-Host "Updating binding type to R" + + setAttributeInBinding $datamartid $entityId $bindingId "Script" $scriptFile + + updateBindingType $datamartid $entityId $bindingId $bindingType + +} +function showBindingForPatientRisk() { + + [hashtable]$Return = @{} + + $datamartName = $ewSepsisDataMartName + $entityname = $ewSepsisEntityName + $result = $(getdataMartIDbyName $datamartName) + $datamartId = $result.Id + + $entityId = $(getIdForEntity $datamartid $entityname).EntityId + # $bindingId = $(getIdForBinding $datamartid $entityId).BindingId + + + + $Return.Binding = $(getBinding $datamartId $entityId).Binding + + return $Return +} + + +function listBatchDefinitions() { + $api = "${dpsUrl}/v1/BatchDefinitions" + $result = Invoke-Restmethod $api -UseDefaultCredentials + # Write-Host $result.value + Write-Host "Batch Definitions" + ForEach ($def in $result.value) { + Write-Host "$($def.Id) $($def.DataMartId) $($def.DataMartName) $($def.LastRunStats) $($def.LastRunDateTime)" + } +} + +function createNewBatchDefinition([ValidateNotNull()] $datamartId, [ValidateNotNull()] $datamartName) { + + [hashtable]$Return = @{} + + # create a new batch definition + $api = "${dpsUrl}/v1/BatchDefinitions" + $body = @{ + Id = -1 + DataMartId = $datamartId + Name = "$datamartName" + Status = "Active" + LoadType = "All" + EmailFrom = "imran.qureshi@healthcatalyst.com" + EmailTo = "imran.qureshi@healthcatalyst.com" + LoggingLevel = "Minimal" + PipelineType = "Batch" + } + # $accessTokenResponse = Invoke-RestMethod -Method Post -Uri $url -Body $body + $result = Invoke-RestMethod -Uri $api -UseDefaultCredentials -Method POST -Body $body + + $batchDefinitionId = $result.Id + Write-Host "batchdefinitionId = $batchDefinitionId" + + $Return.BatchDefinitionId = $batchDefinitionId + return $Return +} + +function getBatchDefinitionForDataMart([ValidateNotNull()] $dataMartId) { + [hashtable]$Return = @{} + + $api = "${dpsUrl}" + '/v1/BatchDefinitions?$filter=DataMartId eq ' + $dataMartId + + $result = Invoke-Restmethod $api -UseDefaultCredentials + # Write-Host $result + + if ($result.value.Count -eq 0) { + # no definitions found + Write-Host "No definitions found" + } + else { + $lastExecution = $($result.value | Sort-Object CreationDateTime -Descending)[0] + $batchDefinitionId = $lastExecution.Id + # Write-Host $lastExecution + Write-Host "batchdefinitionId = $batchDefinitionId" + + $Return.BatchDefinitionId = $batchDefinitionId + } + return $Return +} + +function getLastBatchExecutionForDatamart([ValidateNotNull()] $dataMartId) { + [hashtable]$Return = @{} + + $api = "${dpsUrl}" + '/v1/BatchExecutions?$filter=DataMartId eq ' + $dataMartId + + $result = Invoke-Restmethod $api -UseDefaultCredentials + # Write-Host $result.value + # $batchDefinitionId = $result.value[0].BatchDefinitionId + + $lastExecution = $($result.value | Sort-Object CreationDateTime -Descending)[0] + $batchExecutionId = $lastExecution.Id + $batchDefinitionId = $lastExecution.BatchDefinitionId + $status = $lastExecution.Status + $startDateTime = $lastExecution.StartDateTime + $endDateTime = $lastExecution.EndDateTime + + + # Write-Host $lastExecution + Write-Host "batchExecutionId: $batchExecutionId" + Write-Host "batchdefinitionId = $batchDefinitionId" + Write-Host "Status: $status" + Write-Host "Start: $startDateTime" + Write-Host "End: $endDateTime" + + $Return.BatchExecutionId = $batchExecutionId + $Return.BatchDefinitionId = $batchDefinitionId + $Return.Status = $status + $Return.StartDateTime = $startDateTime + $Return.EndDateTime = $endDateTime + return $Return +} + +function getBatchExecution([ValidateNotNull()] $batchExecutionId) { + [hashtable]$Return = @{} + + $api = "${dpsUrl}/v1/BatchExecutions($batchExecutionId)" + + $result = Invoke-Restmethod $api -UseDefaultCredentials + # Write-Host $result + # $batchDefinitionId = $result.value[0].BatchDefinitionId + + $lastExecution = $($result) + $batchDefinitionId = $lastExecution.BatchDefinitionId + $status = $lastExecution.Status + $startDateTime = $lastExecution.StartDateTime + $endDateTime = $lastExecution.EndDateTime + + # Write-Host $lastExecution + # Write-Host "batchdefinitionId = $batchDefinitionId" + # Write-Host "Status: $status" + # Write-Host "Start: $startDateTime" + # Write-Host "End: $endDateTime" + + $Return.BatchDefinitionId = $batchDefinitionId + $Return.Status = $status + $Return.StartDateTime = $startDateTime + $Return.EndDateTime = $endDateTime + return $Return +} + +function waitForBatchExecution([ValidateNotNull()] $batchExecutionId) { + [hashtable]$Return = @{} + + Do { + $result = getBatchExecution($batchExecutionId) + $status = $result.Status + Write-Host "Status: $status" + Start-Sleep -Seconds 1 + } + while ($status -ne "Succeeded" -and $status -ne "Failed" -and $status -ne "Canceled") + + $Return.Status = $status + return $Return +} + +function executeBatch([ValidateNotNull()] $batchdefinitionId) { + [hashtable]$Return = @{} + + #then execute the batch definiton + $api = "${dpsUrl}/v1/BatchExecutions" + $body = @{ + BatchDefinitionId = $batchDefinitionId + Status = "Queued" + PipelineType = "Batch" + LoggingLevel = "Diagnostic" + # LoadType = "All" + # OverrideLoadType = "Full" + } + $result = Invoke-RestMethod -Uri $api -UseDefaultCredentials -Method POST -Body $body + + $batchExecutionId = $result.Id + Write-Host "Batch execution id=$batchExecutionId" + + $Return.BatchExecutionId = $batchExecutionId + return $Return +} +function executeBatchAsStreaming([ValidateNotNull()] $batchdefinitionId) { + [hashtable]$Return = @{} + + #then execute the batch definiton + $api = "${dpsUrl}/v1/BatchExecutions" + $body = @{ + BatchDefinitionId = $batchDefinitionId + Status = "Queued" + PipelineType = "Streaming" + LoggingLevel = "Diagnostic" + # LoadType = "All" + # OverrideLoadType = "Full" + } + $result = Invoke-RestMethod -Uri $api -UseDefaultCredentials -Method POST -Body $body + + $batchExecutionId = $result.Id + Write-Host "Batch execution id=$batchExecutionId" + + $Return.BatchExecutionId = $batchExecutionId + return $Return +} + +function cancelBatch([ValidateNotNull()] $batchExecutionId) { + [hashtable]$Return = @{} + + #then execute the batch definiton + $api = "${dpsUrl}/v1/BatchExecutions($batchExecutionId)" + $body = @{ + Status = "Canceling" + } + $bodyAsJson = $body | ConvertTo-Json + $headerJSON = @{ "content-type" = "application/json;odata=verbose"} + $result = Invoke-RestMethod -Uri $api -UseDefaultCredentials ` + -Headers $headerJSON -Method PATCH ` + -Body $bodyAsJson + + $batchExecutionId = $result.Id + Write-Host "Batch execution id=$batchExecutionId" + + $Return.BatchExecutionId = $batchExecutionId + return $Return +} + +function executeJsonDataMart() { + [hashtable]$Return = @{} + + $api = "${dpsUrl}/v1/ExecuteDataMart" + $body = Get-Content ./datamart.json -Raw + $result = Invoke-RestMethod -Uri $api -UseDefaultCredentials -Method POST -Body $body -ContentType 'application/json' + + $batchExecutionId = $result.value.Id + Write-Host "Batch execution id=$batchExecutionId" + + $Return.BatchExecutionId = $batchExecutionId + return $Return +} + +function createBatchDefinitionForDataMart([ValidateNotNull()] $datamartName) { + + $result = $(getdataMartIDbyName $datamartName) + $datamartId = $result.Id + $batchDefinitionId = $(getBatchDefinitionForDataMart $datamartId).BatchDefinitionId + if ($batchDefinitionId -eq $null) { + Write-Host "Creating batch definition for datamart $datamartName with Id: $datamartId" + createNewBatchDefinition -datamartId $datamartId -datamartName $datamartName + } + else { + Write-Host "Batch definition already found for datamart $datamartName with Id: $datamartId" + } + +} + +function createBatchDefinitions() { + createBatchDefinitionForDataMart -datamartName "HL7Demo" + + createBatchDefinitionForDataMart -datamartName "SharedPersonSourcePatient" + createBatchDefinitionForDataMart -datamartName "SharedPersonSourceProvider" + createBatchDefinitionForDataMart -datamartName "SharedPersonProvider" + createBatchDefinitionForDataMart -datamartName "SharedPersonPatient" + createBatchDefinitionForDataMart -datamartName "SharedClinical" + createBatchDefinitionForDataMart -datamartName "Sepsis" + createBatchDefinitionForDataMart -datamartName "Hospital Account to Facility Account" + + createBatchDefinitionForDataMart -datamartName "Early Warning Sepsis Risk" +} + +function runAndWaitForDatamart([ValidateNotNull()] $datamartName) { + [hashtable]$Return = @{} + + $result = $(getdataMartIDbyName $datamartName) + $datamartId = $result.Id + + $batchdefinitionId = $(getBatchDefinitionForDataMart -dataMartId $datamartId).BatchDefinitionId + Write-Host "Running batch definition $batchdefinitionId for datamart $datamartName id: $datamartId" + $batchExecutionId = $(executeBatch -batchdefinitionId $batchdefinitionId).BatchExecutionId + $status = $(waitForBatchExecution -batchExecutionId $batchExecutionId).Status + + $Return.Status = $status + return $Return +} + + +function runSharedDataMarts() { + $result = runAndWaitForDatamart -datamartName "SharedPersonSourceProvider" + if ($($result.Status) -ne "Succeeded") {return; } + $result = runAndWaitForDatamart -datamartName "SharedPersonSourcePatient" + if ($($result.Status) -ne "Succeeded") {return; } + $result = runAndWaitForDatamart -datamartName "SharedPersonProvider" + if ($($result.Status) -ne "Succeeded") {return; } + $result = runAndWaitForDatamart -datamartName "SharedPersonPatient" + if ($($result.Status) -ne "Succeeded") {return; } + $result = runAndWaitForDatamart -datamartName "SharedClinical" + if ($($result.Status) -ne "Succeeded") {return; } +} + +function runEarlyWarningSepsis() { + + $StartDateTime = Get-Date + $result = runAndWaitForDatamart -datamartName "Early Warning Sepsis Risk" + $EndDateTime = Get-Date + $duration = $EndDateTime - $StartDateTime + Write-Host "Runtime in seconds: $($duration.TotalSeconds)" + if ($($result.Status) -ne "Succeeded") {return; } +} + +function runSepsis() { + + $result = runAndWaitForDatamart -datamartName "Hospital Account to Facility Account" + if ($($result.Status) -ne "Succeeded") {return; } + + $result = runAndWaitForDatamart -datamartName "Sepsis" + if ($($result.Status) -ne "Succeeded") {return; } + + $result = runAndWaitForDatamart -datamartName "Early Warning Sepsis Risk" + if ($($result.Status) -ne "Succeeded") {return; } +} + +function runHL7Sourcemart() { + $datamartName = "HL7Demo" + $result = $(getdataMartIDbyName $datamartName) + $datamartId = $result.Id + + $batchdefinitionId = $(getBatchDefinitionForDataMart -dataMartId $datamartId).BatchDefinitionId + Write-Host "Running batch definition $batchdefinitionId for datamart $datamartName id: $datamartId" + $(executeBatchAsStreaming -batchdefinitionId $batchdefinitionId).BatchExecutionId +} +function runSql([ValidateNotNull()] $sql) { + Invoke-Sqlcmd -Query $sql -ConnectionString $connectionString -Verbose +} + +function downloadCerts() { + $url = "http://localhost:8081/client/fabricrabbitmquser_client_cert.p12" + Write-Host "Download: $url" + Write-Host "Double-click and install in Local Machine. password: roboconf2" + Write-Host "Open Certificate Management, right click on cert and give everyone access to key" + $url = "http://localhost:8081/client/fabric_ca_cert.p12" +} +function createNodeUserOnSqlDatabase() { + # https://docs.microsoft.com/en-us/powershell/module/sqlserver/invoke-sqlcmd?view=sqlserver-ps + + $sql = + @" +IF NOT EXISTS + (SELECT name + FROM master.sys.server_principals + WHERE name = 'nodeuser') +BEGIN +CREATE LOGIN [nodeuser] WITH PASSWORD=N'ILoveNode2017', DEFAULT_DATABASE=[SAM], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=ON, CHECK_POLICY=ON +END +"@ + Invoke-Sqlcmd -Query $sql -ConnectionString $connectionString -Verbose + $sql = + @" +USE [SAM]; +GO +CREATE USER [nodeuser] FOR LOGIN [nodeuser] +GO +"@ + Invoke-Sqlcmd -Query $sql -ConnectionString $connectionString -Verbose + $sql = + @" +USE [SAM]; +GO +exec sp_addrolemember 'db_datareader', 'nodeuser'; +GO +"@ + Invoke-Sqlcmd -Query $sql -ConnectionString $connectionString -Verbose +} + +function runFabricEHRDocker() { + docker run -d --rm -p 3000:3000 --name fabric.ehr healthcatalyst/fabric.ehr +} + +function startFabricEHRNodeJs() { +} + +function showDiscoveryServiceUrls() { + $sql = "SELECT [ServiceNM],[ServiceUrl] FROM [EDWAdmin].[CatalystAdmin].[DiscoveryServiceBASE]" + Invoke-Sqlcmd -Query $sql -ConnectionString $connectionString +} + +function showUserPermissions() { + $sql = + @" + select ib.IdentityID, ib.IdentityNM, rb.RoleID + from [EDWAdmin].[CatalystAdmin].[IdentityRoleBASE] rb + inner join [EDWAdmin].[CatalystAdmin].[IdentityBASE] ib + on rb.IdentityID = ib.IdentityID + ORDER BY ib.IdentityID +"@ + + $rows = Invoke-Sqlcmd -Query $sql -ConnectionString $connectionString + + foreach ($row in $rows) { + Write-Host $row + } +} + +function listWebSites() { + # https://octopus.com/blog/iis-powershell + Get-Website +} + +Function DeployDACPAC { + # http://www.systemcentercentral.com/deploying-sql-dacpac-t-sql-script-via-powershell/ + param( + [string]$sqlserver = $( throw "Missing required parameter sqlserver"), + [string]$dacpac = $( throw "Missing required parameter dacpac"), + [string]$dbname = $( throw "Missing required parameter dbname") ) + + Write-Host "Deploying the DB with the following settings" + Write-Host "sqlserver: $sqlserver" + Write-Host "dacpac: $dacpac" + Write-Host "dbname: $dbname" + + # load in DAC DLL, This requires config file to support .NET 4.0. + # change file location for a 32-bit OS + #make sure you + add-type -path "C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\Microsoft.SqlServer.Dac.dll" + + # Create a DacServices object, which needs a connection string + $dacsvcs = new-object Microsoft.SqlServer.Dac.DacServices "server=$sqlserver" + + # register event. For info on this cmdlet, see http://technet.microsoft.com/en-us/library/hh849929.aspx + register-objectevent -in $dacsvcs -eventname Message -source "msg" -action { out-host -in $Event.SourceArgs[1].Message.Message } | Out-Null + + # Load dacpac from file & deploy database + $dp = [Microsoft.SqlServer.Dac.DacPackage]::Load($dacpac) + $dacsvcs.Deploy($dp, $dbname, $true) + + # clean up event + unregister-event -source "msg" + +} + +function foo() { + # https://docs.microsoft.com/en-us/sql/relational-databases/data-tier-applications/deploy-a-data-tier-application + + ## Set a SMO Server object to the default instance on the local computer. + CD SQLSERVER:\SQL\localhost\DEFAULT + $srv = get-item . + + ## Open a Common.ServerConnection to the same instance. + $serverconnection = New-Object Microsoft.SqlServer.Management.Common.ServerConnection($srv.ConnectionContext.SqlConnectionObject) + $serverconnection.Connect() + $dacstore = New-Object Microsoft.SqlServer.Management.Dac.DacStore($serverconnection) + + ## Load the DAC package file. + $dacpacPath = "C:\MyDACs\MyApplication.dacpac" + $fileStream = [System.IO.File]::Open($dacpacPath, [System.IO.FileMode]::OpenOrCreate) + $dacType = [Microsoft.SqlServer.Management.Dac.DacType]::Load($fileStream) + + ## Subscribe to the DAC deployment events. + $dacstore.add_DacActionStarted( {Write-Host `n`nStarting at $(get-date) :: $_.Description}) + $dacstore.add_DacActionFinished( {Write-Host Completed at $(get-date) :: $_.Description}) + + ## Deploy the DAC and create the database. + $dacName = "MyApplication" + $evaluateTSPolicy = $true + $deployProperties = New-Object Microsoft.SqlServer.Management.Dac.DatabaseDeploymentProperties($serverconnection, $dacName) + $dacstore.Install($dacType, $deployProperties, $evaluateTSPolicy) + $fileStream.Close() +} + + +# https://blog.ehn.nu/2016/01/downloading-build-artifacts-in-tfs-build-vnext/ +function downloadArtifactFromLatestBuild() { + [CmdletBinding()] + param( + [Parameter(Mandatory = $True)] + [string]$buildDefinitionName, + [Parameter()] + [string]$artifactDestinationFolder = $Env:BUILD_STAGINGDIRECTORY, + [Parameter()] + [switch]$appendBuildNumberVersion = $false + ) + + # buildDefinitionName + # This is a mandatory parameter where you can specify the name of the build definition from which you want to download the artifacts from. + # This script assumes that the build definition is located in the same team project as the build definition in which this script is running. + # If this is not the case, you need to add a parameter for the team project. + Write-Verbose -Verbose ('buildDefinitionName: ' + $buildDefinitionName) + # artifactsDestinationFolder + # This is an optional parameter that let’s you specify the folder where the artifacts should be downloaded to. If you leave it empty, + # it will be downloaded to the staging directory of the build (BUILD_STAGINGDIRECTORY) + Write-Verbose -Verbose ('artifactDestinationFolder: ' + $artifactDestinationFolder) + Write-Verbose -Verbose ('appendBuildNumberVersion: ' + $appendBuildNumberVersion) + + # appendBuildNumberVersion + # A switch that indicates if you want to append the version number of the linked build to the build number of the running build. + # Since you are actually releasing the build version that you are downloading artifacts from, it often makes sense to use this version number for the + # deployment build. The script will extract a 4 digit version (x.x.x.x) from the build number and then append it to the build number of the running build. + $tfsUrl = $Env:SYSTEM_TEAMFOUNDATIONCOLLECTIONURI + $Env:SYSTEM_TEAMPROJECT + + $buildDefinitions = Invoke-RestMethod -Uri ($tfsURL + '/_apis/build/definitions?api-version=2.0&name=' + $buildDefinitionName) -Method GET -UseDefaultCredentials + $buildDefinitionId = ($buildDefinitions.value).id; + + $tfsGetLatestCompletedBuildUrl = $tfsUrl + '/_apis/build/builds?definitions=' + $buildDefinitionId + '&statusFilter=completed&resultFilter=succeeded&$top=1&api-version=2.0' + + $builds = Invoke-RestMethod -Uri $tfsGetLatestCompletedBuildUrl -Method GET -UseDefaultCredentials + $buildId = ($builds.value).id; + + if ( $appendBuildNumberVersion) { + $buildNumber = ($builds.value).buildNumber + $versionRegex = "\d+\.\d+\.\d+\.\d+" + + # Get and validate the version data + $versionData = [regex]::matches($buildNumber, $versionRegex) + switch ($versionData.Count) { + 0 { + Write-Error "Could not find version number data in $buildNumber." + exit 1 + } + 1 {} + default { + Write-Warning "Found more than instance of version data in buildNumber." + Write-Warning "Will assume first instance is version." + } + } + $buildVersionNumber = $versionData[0] + $newBuildNumber = $Env:BUILD_BUILDNUMBER + $buildVersionNumber + Write-Verbose -Verbose "Version: $newBuildNumber" + Write-Verbose -Verbose "##vso[build.updatebuildnumber]$newBuildNumber" + } + + $dropArchiveDestination = Join-path $artifactDestinationFolder "drop.zip" + + + #build URI for buildNr + $buildArtifactsURI = $tfsURL + '/_apis/build/builds/' + $buildId + '/artifacts?api-version=2.0' + + #get artifact downloadPath + $artifactURI = (Invoke-RestMethod -Uri $buildArtifactsURI -Method GET -UseDefaultCredentials).Value.Resource.downloadUrl + + #download ZIP + Invoke-WebRequest -uri $artifactURI -OutFile $dropArchiveDestination -UseDefaultCredentials + + #unzip + Add-Type -assembly 'system.io.compression.filesystem' + [io.compression.zipfile]::ExtractToDirectory($dropArchiveDestination, $artifactDestinationFolder) + + Write-Verbose -Verbose ('Build artifacts extracted into ' + $Env:BUILD_STAGINGDIRECTORY) +} \ No newline at end of file diff --git a/developer/runengine.ps1 b/developer/runengine.ps1 index 44e8899..0000116 100644 --- a/developer/runengine.ps1 +++ b/developer/runengine.ps1 @@ -2,542 +2,14 @@ # You can run this by pasting the following in powershell # Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/developer/runengine.ps1 | Invoke-Expression; - # Get-Content ./runengine.ps1 -Raw | Invoke-Expression; -Write-output "--- runengine.ps1 Version 2018.03.06.02 ----" - -$dpsUrl = "http://localhost/DataProcessingService" -$metadataUrl = "http://localhost/MetadataService" - -$ewSepsisDataMartName = "Early Warning Sepsis Risk" -$ewSepsisEntityName = "EWSSummaryPatientRisk" -#$ewsRScriptFile = "C:\\himss\\sepsis\\test.r" -$ewsRScriptFile = "C:\\himss\\healthcareai_predictingScript_sepsisDemo_20180224.r" - -$connectionString = "Server=(local);Database=EdwAdmin;Trusted_Connection=True;" - -# http://localhost/MetadataService/swagger/ui/index#/ -function listdatamarts() { - $api = "${metadataUrl}/v1/DataMarts" - $result = Invoke-Restmethod $api -UseDefaultCredentials - Write-Host "Datamarts" - ForEach ($def in $result.value) { - Write-Host "$($def.Id) $($def.Name)" - } -} - -function getdataMartIDbyName($datamartName) { - [hashtable]$Return = @{} - - $api = "${metadataUrl}/v1/DataMarts" + '?$filter=Name eq ' + "'$datamartName'" - $result = Invoke-Restmethod $api -UseDefaultCredentials - - - $Return.Id = $result.value.Id - $Return.Name = $result.value.Name - - Write-Host "Found datamart id=$($Return.Id) for $datamartName" - - return $Return -} -function downloaddataMartIDbyName([ValidateNotNull()] $datamartName) { - [hashtable]$Return = @{} - - $result = $(getdataMartIDbyName $datamartName) - $datamartId = $result.Id - - $api = "${metadataUrl}/v1/DataMarts($datamartId)" + '?$expand=Entities($expand=SourceBindings)' - $result = Invoke-Restmethod $api -UseDefaultCredentials - - Write-Host $result - $file = "c:\himss\sepsis\mysam.json" - $result | ConvertTo-Json | Out-File $file - - Write-Host "Wrote datamart json to $file" - - # notepad.exe $file - return $Return -} - -# EWSSummaryPatientRisk -# http://localhost/MetadataService/v1/DataMarts(24)/Entities(1427)/SourceBindings - -function getIdForEntity([ValidateNotNull()] $datamartid, [ValidateNotNull()] $entityname) { - [hashtable]$Return = @{} - - $api = "${metadataUrl}/v1/DataMarts($datamartId)/Entities" + '?$filter=EntityName eq ' + "'$entityname'" - $result = Invoke-Restmethod $api -UseDefaultCredentials - - # Write-Host $result - $Return.EntityId = $result.value.Id - return $Return -} - -function getBinding([ValidateNotNull()] $datamartid, [ValidateNotNull()] $entityId) { - # http://localhost/MetadataService/v1/DataMarts(24)/Entities(1427)/SourceBindings - [hashtable]$Return = @{} - - $api = "${metadataUrl}/v1/DataMarts($datamartid)/Entities($entityId)/SourceBindings" + '?$expand=AttributeValues' - $result = Invoke-Restmethod $api -UseDefaultCredentials - - Write-Host "Binding: $($result.value)" - $Return.Binding = $($result.value) - return $Return -} - -function getIdForBinding([ValidateNotNull()] $datamartid, [ValidateNotNull()] $entityId) { - # http://localhost/MetadataService/v1/DataMarts(24)/Entities(1427)/SourceBindings - [hashtable]$Return = @{} - - $api = "${metadataUrl}/v1/DataMarts($datamartid)/Entities($entityId)/SourceBindings" - $result = Invoke-Restmethod $api -UseDefaultCredentials - - Write-Host "Binding: $result.value" - $Return.BindingId = $result.value.Id - return $Return -} - -function updateBindingType([ValidateNotNull()] $datamartid, [ValidateNotNull()] $entityId, [ValidateNotNull()] $bindingId, [ValidateNotNull()] $bindingType) { - # /v1/DataMarts({dataMartId})/Entities({entityId})/SourceBindings({id}) - [hashtable]$Return = @{} - - $api = "${metadataUrl}/v1/DataMarts($datamartid)/Entities($entityId)/SourceBindings($bindingId)" - $body = @{ - BindingType = "$bindingType" - } - $bodyAsJson = $body | ConvertTo-Json - $headerJSON = @{ "content-type" = "application/json;odata=verbose"} - - Write-Host "API: $api" - Write-Host "Body: $bodyAsJson" - - Invoke-RestMethod -Uri $api -UseDefaultCredentials ` - -Headers $headerJSON -Method PATCH ` - -Body $bodyAsJson - - Invoke-Restmethod $api -UseDefaultCredentials - return $Return - -} - -function setAttributeInBinding([ValidateNotNull()] $datamartid, [ValidateNotNull()] $entityId, [ValidateNotNull()] $bindingId, $attributeName, $attributeValue) { - # POST /v1/DataMarts({dataMartId})/Entities({entityId})/SourceBindings({bindingId})/AttributeValues - - # see if binding exists - $api = "${metadataUrl}/v1/DataMarts($datamartid)/Entities($entityId)/SourceBindings($bindingId)/AttributeValues" + '?$filter=AttributeName eq ' + "'$attributeName'" - $result = Invoke-Restmethod $api -UseDefaultCredentials - - $bodyAsJson = "{ - 'AttributeName': '$attributeName', - 'AttributeValue': '$attributeValue' - }" - $headerJSON = @{ "content-type" = "application/json;odata=verbose"} - - # if result is null then add else patch - if ($($result.value) -eq $null) { - Write-Host "Attribute $attributeName does not exist, adding it" - $api = "${metadataUrl}/v1/DataMarts($datamartid)/Entities($entityId)/SourceBindings($bindingId)/AttributeValues" - - Invoke-RestMethod -Uri $api -UseDefaultCredentials ` - -Headers $headerJSON -Method POST ` - -Body $bodyAsJson - } - else { - $attributeId = $($result.value.Id) - Write-Host "Attribute $attributeName already exists with id: $attributeId so patching it" - $api = "${metadataUrl}/v1/DataMarts($datamartid)/Entities($entityId)/SourceBindings($bindingId)/AttributeValues($attributeId)" - - Invoke-RestMethod -Uri $api -UseDefaultCredentials ` - -Headers $headerJSON -Method PATCH ` - -Body $bodyAsJson - } -} - -function setBindingTypeForPatientRisk($bindingType, $scriptFile) { - $datamartName = $ewSepsisDataMartName - $entityname = $ewSepsisEntityName - $result = $(getdataMartIDbyName $datamartName) - $datamartId = $result.Id - - $entityId = $(getIdForEntity $datamartid $entityname).EntityId - $bindingId = $(getIdForBinding $datamartid $entityId).BindingId - - Write-Host "Updating binding type to R" - - setAttributeInBinding $datamartid $entityId $bindingId "Script" $scriptFile - - updateBindingType $datamartid $entityId $bindingId $bindingType - -} -function showBindingForPatientRisk() { - - [hashtable]$Return = @{} - - $datamartName = $ewSepsisDataMartName - $entityname = $ewSepsisEntityName - $result = $(getdataMartIDbyName $datamartName) - $datamartId = $result.Id - - $entityId = $(getIdForEntity $datamartid $entityname).EntityId - # $bindingId = $(getIdForBinding $datamartid $entityId).BindingId - - - - $Return.Binding = $(getBinding $datamartId $entityId).Binding - - return $Return -} - - -function listBatchDefinitions() { - $api = "${dpsUrl}/v1/BatchDefinitions" - $result = Invoke-Restmethod $api -UseDefaultCredentials - # Write-Host $result.value - Write-Host "Batch Definitions" - ForEach ($def in $result.value) { - Write-Host "$($def.Id) $($def.DataMartId) $($def.DataMartName) $($def.LastRunStats) $($def.LastRunDateTime)" - } -} - -function createNewBatchDefinition([ValidateNotNull()] $datamartId, [ValidateNotNull()] $datamartName) { - - [hashtable]$Return = @{} - - # create a new batch definition - $api = "${dpsUrl}/v1/BatchDefinitions" - $body = @{ - Id = -1 - DataMartId = $datamartId - Name = "$datamartName" - Status = "Active" - LoadType = "All" - EmailFrom = "imran.qureshi@healthcatalyst.com" - EmailTo = "imran.qureshi@healthcatalyst.com" - LoggingLevel = "Minimal" - PipelineType = "Batch" - } - # $accessTokenResponse = Invoke-RestMethod -Method Post -Uri $url -Body $body - $result = Invoke-RestMethod -Uri $api -UseDefaultCredentials -Method POST -Body $body - - $batchDefinitionId = $result.Id - Write-Host "batchdefinitionId = $batchDefinitionId" - - $Return.BatchDefinitionId = $batchDefinitionId - return $Return -} - -function getBatchDefinitionForDataMart([ValidateNotNull()] $dataMartId) { - [hashtable]$Return = @{} - - $api = "${dpsUrl}" + '/v1/BatchDefinitions?$filter=DataMartId eq ' + $dataMartId - - $result = Invoke-Restmethod $api -UseDefaultCredentials - # Write-Host $result - - if ($result.value.Count -eq 0) { - # no definitions found - Write-Host "No definitions found" - } - else { - $lastExecution = $($result.value | Sort-Object CreationDateTime -Descending)[0] - $batchDefinitionId = $lastExecution.Id - # Write-Host $lastExecution - Write-Host "batchdefinitionId = $batchDefinitionId" - - $Return.BatchDefinitionId = $batchDefinitionId - } - return $Return -} - -function getLastBatchExecutionForDatamart([ValidateNotNull()] $dataMartId) { - [hashtable]$Return = @{} - - $api = "${dpsUrl}" + '/v1/BatchExecutions?$filter=DataMartId eq ' + $dataMartId - $result = Invoke-Restmethod $api -UseDefaultCredentials - # Write-Host $result.value - # $batchDefinitionId = $result.value[0].BatchDefinitionId +$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" - $lastExecution = $($result.value | Sort-Object CreationDateTime -Descending)[0] - $batchExecutionId = $lastExecution.Id - $batchDefinitionId = $lastExecution.BatchDefinitionId - $status = $lastExecution.Status - $startDateTime = $lastExecution.StartDateTime - $endDateTime = $lastExecution.EndDateTime +Invoke-WebRequest -useb ${GITHUB_URL}/developer/doslibrary.ps1 | Invoke-Expression; +# Get-Content ./developer/doslibrary.ps1 -Raw | Invoke-Expression; - - # Write-Host $lastExecution - Write-Host "batchExecutionId: $batchExecutionId" - Write-Host "batchdefinitionId = $batchDefinitionId" - Write-Host "Status: $status" - Write-Host "Start: $startDateTime" - Write-Host "End: $endDateTime" - - $Return.BatchExecutionId = $batchExecutionId - $Return.BatchDefinitionId = $batchDefinitionId - $Return.Status = $status - $Return.StartDateTime = $startDateTime - $Return.EndDateTime = $endDateTime - return $Return -} - -function getBatchExecution([ValidateNotNull()] $batchExecutionId) { - [hashtable]$Return = @{} - - $api = "${dpsUrl}/v1/BatchExecutions($batchExecutionId)" - - $result = Invoke-Restmethod $api -UseDefaultCredentials - # Write-Host $result - # $batchDefinitionId = $result.value[0].BatchDefinitionId - - $lastExecution = $($result) - $batchDefinitionId = $lastExecution.BatchDefinitionId - $status = $lastExecution.Status - $startDateTime = $lastExecution.StartDateTime - $endDateTime = $lastExecution.EndDateTime - - # Write-Host $lastExecution - # Write-Host "batchdefinitionId = $batchDefinitionId" - # Write-Host "Status: $status" - # Write-Host "Start: $startDateTime" - # Write-Host "End: $endDateTime" - - $Return.BatchDefinitionId = $batchDefinitionId - $Return.Status = $status - $Return.StartDateTime = $startDateTime - $Return.EndDateTime = $endDateTime - return $Return -} - -function waitForBatchExecution([ValidateNotNull()] $batchExecutionId) { - [hashtable]$Return = @{} - - Do { - $result = getBatchExecution($batchExecutionId) - $status = $result.Status - Write-Host "Status: $status" - Start-Sleep -Seconds 1 - } - while ($status -ne "Succeeded" -and $status -ne "Failed" -and $status -ne "Canceled") - - $Return.Status = $status - return $Return -} - -function executeBatch([ValidateNotNull()] $batchdefinitionId) { - [hashtable]$Return = @{} - - #then execute the batch definiton - $api = "${dpsUrl}/v1/BatchExecutions" - $body = @{ - BatchDefinitionId = $batchDefinitionId - Status = "Queued" - PipelineType = "Batch" - LoggingLevel = "Diagnostic" - # LoadType = "All" - # OverrideLoadType = "Full" - } - $result = Invoke-RestMethod -Uri $api -UseDefaultCredentials -Method POST -Body $body - - $batchExecutionId = $result.Id - Write-Host "Batch execution id=$batchExecutionId" - - $Return.BatchExecutionId = $batchExecutionId - return $Return -} -function executeBatchAsStreaming([ValidateNotNull()] $batchdefinitionId) { - [hashtable]$Return = @{} - - #then execute the batch definiton - $api = "${dpsUrl}/v1/BatchExecutions" - $body = @{ - BatchDefinitionId = $batchDefinitionId - Status = "Queued" - PipelineType = "Streaming" - LoggingLevel = "Diagnostic" - # LoadType = "All" - # OverrideLoadType = "Full" - } - $result = Invoke-RestMethod -Uri $api -UseDefaultCredentials -Method POST -Body $body - - $batchExecutionId = $result.Id - Write-Host "Batch execution id=$batchExecutionId" - - $Return.BatchExecutionId = $batchExecutionId - return $Return -} - -function cancelBatch([ValidateNotNull()] $batchExecutionId) { - [hashtable]$Return = @{} - - #then execute the batch definiton - $api = "${dpsUrl}/v1/BatchExecutions($batchExecutionId)" - $body = @{ - Status = "Canceling" - } - $bodyAsJson = $body | ConvertTo-Json - $headerJSON = @{ "content-type" = "application/json;odata=verbose"} - $result = Invoke-RestMethod -Uri $api -UseDefaultCredentials ` - -Headers $headerJSON -Method PATCH ` - -Body $bodyAsJson - - $batchExecutionId = $result.Id - Write-Host "Batch execution id=$batchExecutionId" - - $Return.BatchExecutionId = $batchExecutionId - return $Return -} - -function executeJsonDataMart() { - [hashtable]$Return = @{} - - $api = "${dpsUrl}/v1/ExecuteDataMart" - $body = Get-Content ./datamart.json -Raw - $result = Invoke-RestMethod -Uri $api -UseDefaultCredentials -Method POST -Body $body -ContentType 'application/json' - - $batchExecutionId = $result.value.Id - Write-Host "Batch execution id=$batchExecutionId" - - $Return.BatchExecutionId = $batchExecutionId - return $Return -} - -function createBatchDefinitionForDataMart([ValidateNotNull()] $datamartName) { - - $result = $(getdataMartIDbyName $datamartName) - $datamartId = $result.Id - $batchDefinitionId = $(getBatchDefinitionForDataMart $datamartId).BatchDefinitionId - if ($batchDefinitionId -eq $null) { - Write-Host "Creating batch definition for datamart $datamartName with Id: $datamartId" - createNewBatchDefinition -datamartId $datamartId -datamartName $datamartName - } - else { - Write-Host "Batch definition already found for datamart $datamartName with Id: $datamartId" - } - -} - -function createBatchDefinitions() { - createBatchDefinitionForDataMart -datamartName "HL7Demo" - - createBatchDefinitionForDataMart -datamartName "SharedPersonSourcePatient" - createBatchDefinitionForDataMart -datamartName "SharedPersonSourceProvider" - createBatchDefinitionForDataMart -datamartName "SharedPersonProvider" - createBatchDefinitionForDataMart -datamartName "SharedPersonPatient" - createBatchDefinitionForDataMart -datamartName "SharedClinical" - createBatchDefinitionForDataMart -datamartName "Sepsis" - createBatchDefinitionForDataMart -datamartName "Hospital Account to Facility Account" - - createBatchDefinitionForDataMart -datamartName "Early Warning Sepsis Risk" -} - -function runAndWaitForDatamart([ValidateNotNull()] $datamartName) { - [hashtable]$Return = @{} - - $result = $(getdataMartIDbyName $datamartName) - $datamartId = $result.Id - - $batchdefinitionId = $(getBatchDefinitionForDataMart -dataMartId $datamartId).BatchDefinitionId - Write-Host "Running batch definition $batchdefinitionId for datamart $datamartName id: $datamartId" - $batchExecutionId = $(executeBatch -batchdefinitionId $batchdefinitionId).BatchExecutionId - $status = $(waitForBatchExecution -batchExecutionId $batchExecutionId).Status - - $Return.Status = $status - return $Return -} - - -function runSharedDataMarts() { - $result = runAndWaitForDatamart -datamartName "SharedPersonSourceProvider" - if ($($result.Status) -ne "Succeeded") {return; } - $result = runAndWaitForDatamart -datamartName "SharedPersonSourcePatient" - if ($($result.Status) -ne "Succeeded") {return; } - $result = runAndWaitForDatamart -datamartName "SharedPersonProvider" - if ($($result.Status) -ne "Succeeded") {return; } - $result = runAndWaitForDatamart -datamartName "SharedPersonPatient" - if ($($result.Status) -ne "Succeeded") {return; } - $result = runAndWaitForDatamart -datamartName "SharedClinical" - if ($($result.Status) -ne "Succeeded") {return; } -} - -function runEarlyWarningSepsis() { - - $StartDateTime = Get-Date - $result = runAndWaitForDatamart -datamartName "Early Warning Sepsis Risk" - $EndDateTime = Get-Date - $duration = $EndDateTime - $StartDateTime - Write-Host "Runtime in seconds: $($duration.TotalSeconds)" - if ($($result.Status) -ne "Succeeded") {return; } -} - -function runSepsis() { - - $result = runAndWaitForDatamart -datamartName "Hospital Account to Facility Account" - if ($($result.Status) -ne "Succeeded") {return; } - - $result = runAndWaitForDatamart -datamartName "Sepsis" - if ($($result.Status) -ne "Succeeded") {return; } - - $result = runAndWaitForDatamart -datamartName "Early Warning Sepsis Risk" - if ($($result.Status) -ne "Succeeded") {return; } -} - -function runHL7Sourcemart() { - $datamartName = "HL7Demo" - $result = $(getdataMartIDbyName $datamartName) - $datamartId = $result.Id - - $batchdefinitionId = $(getBatchDefinitionForDataMart -dataMartId $datamartId).BatchDefinitionId - Write-Host "Running batch definition $batchdefinitionId for datamart $datamartName id: $datamartId" - $(executeBatchAsStreaming -batchdefinitionId $batchdefinitionId).BatchExecutionId -} -function runSql([ValidateNotNull()] $sql) { - Invoke-Sqlcmd -Query $sql -ConnectionString $connectionString -Verbose -} - -function downloadCerts() { - $url = "http://localhost:8081/client/fabricrabbitmquser_client_cert.p12" - Write-Host "Download: $url" - Write-Host "Double-click and install in Local Machine. password: roboconf2" - Write-Host "Open Certificate Management, right click on cert and give everyone access to key" - $url = "http://localhost:8081/client/fabric_ca_cert.p12" -} -function createNodeUserOnSqlDatabase() { - $sql = - @" -IF NOT EXISTS - (SELECT name - FROM master.sys.server_principals - WHERE name = 'nodeuser') -BEGIN -CREATE LOGIN [nodeuser] WITH PASSWORD=N'ILoveNode2017', DEFAULT_DATABASE=[SAM], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=ON, CHECK_POLICY=ON -END -"@ - Invoke-Sqlcmd -Query $sql -ConnectionString $connectionString -Verbose - $sql = - @" -USE [SAM]; -GO -CREATE USER [nodeuser] FOR LOGIN [nodeuser] -GO -"@ - Invoke-Sqlcmd -Query $sql -ConnectionString $connectionString -Verbose - $sql = - @" -USE [SAM]; -GO -exec sp_addrolemember 'db_datareader', 'nodeuser'; -GO -"@ - Invoke-Sqlcmd -Query $sql -ConnectionString $connectionString -Verbose -} - -function runFabricEHRDocker() { - docker run -d --rm -p 3000:3000 --name fabric.ehr healthcatalyst/fabric.ehr -} - -function startFabricEHRNodeJs(){ -} +Write-output "--- runengine.ps1 Version 2018.03.11.01 ----" $userinput = "" while ($userinput -ne "q") { @@ -545,6 +17,8 @@ while ($userinput -ne "q") { Write-Host "0: Setup HIMSS Demo" Write-Host "1: List data marts" Write-Host "2: List Batch definitions" + Write-Host "3: Show Discovery Service Urls" + Write-Host "4: Show Permissions" Write-Host "-----------" Write-Host "10: Create batch definitions" Write-Host "11: Run HL7 Source mart" @@ -561,11 +35,13 @@ while ($userinput -ne "q") { Write-Host "31: Download RabbitMq certs" Write-Host "32: fix discovery service url" Write-Host "33: Show EWS Risk binding" + Write-Host "34: do foo" Write-Host "q: Quit" $userinput = Read-Host "Please make a selection" switch ($userinput) { '0' { runFabricEHRDocker + createNodeUserOnSqlDatabase } '1' { @@ -574,6 +50,12 @@ while ($userinput -ne "q") { '2' { listBatchDefinitions } + '3' { + showDiscoveryServiceUrls + } + '4' { + showUserPermissions + } '10' { createBatchDefinitions } @@ -616,6 +98,8 @@ while ($userinput -ne "q") { $result = showBindingForPatientRisk $ewSepsisDataMartName Write-Host "Binding Type: $($result.Binding.BindingType)" } + '34' { + } 'q' { return } From 6a1473efa089ca4f41ea3ed3944599642c44de92 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 13 Mar 2018 10:44:54 -0600 Subject: [PATCH 293/473] show what file we are downloading Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 12 +++++++++--- developer/doslibrary.ps1 | 3 --- kubernetes/common.sh | 4 +++- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index f6e74fa..91e3ae2 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.02.27.04" +$versioncommon = "2018.03.13.01" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -738,7 +738,7 @@ function global:DeleteNetworkSecurityGroupRule($resourceGroup, $networkSecurityG function global:DownloadKubectl($localFolder) { # download kubectl $kubeCtlFile = "$localFolder\kubectl.exe" - $desiredKubeCtlVersion = "v1.9.3" + $desiredKubeCtlVersion = "v1.9.2" $downloadkubectl = "n" if (!(Test-Path "$kubeCtlFile")) { $downloadkubectl = "y" @@ -754,7 +754,7 @@ function global:DownloadKubectl($localFolder) { if ( $downloadkubectl -eq "y") { $url = "https://storage.googleapis.com/kubernetes-release/release/${desiredKubeCtlVersion}/bin/windows/amd64/kubectl.exe" Write-Host "Downloading kubectl.exe from url $url to $kubeCtlFile" - Remove-Item -Path "$kubeCtlFile" + Remove-Item -Path "$kubeCtlFile" -Force DownloadFile -url $url -targetFile $kubeCtlFile } else { @@ -762,11 +762,17 @@ function global:DownloadKubectl($localFolder) { } } + +function global:DownloadFileNew($url, $targetFile) { + $wc = New-Object net.webclient + $wc.Downloadfile($url, $targetFile) +} function global:DownloadFile($url, $targetFile) { # from https://stackoverflow.com/questions/21422364/is-there-any-way-to-monitor-the-progress-of-a-download-using-a-webclient-object $uri = New-Object "System.Uri" "$url" $request = [System.Net.HttpWebRequest]::Create($uri) $request.set_Timeout(15000) #15 second timeout + # $request.Proxy = $null $response = $request.GetResponse() $totalLength = [System.Math]::Floor($response.get_ContentLength() / 1024) $responseStream = $response.GetResponseStream() diff --git a/developer/doslibrary.ps1 b/developer/doslibrary.ps1 index 07c2eeb..e8b7313 100644 --- a/developer/doslibrary.ps1 +++ b/developer/doslibrary.ps1 @@ -3,7 +3,6 @@ # You can run this by pasting the following in powershell # Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/developer/doslibrary.ps1 | Invoke-Expression; -# Get-Content ./runengine.ps1 -Raw | Invoke-Expression; Write-output "--- doslibrary.ps1 Version 2018.03.11.01 ----" $dpsUrl = "http://localhost/DataProcessingService" @@ -11,8 +10,6 @@ $metadataUrl = "http://localhost/MetadataService" $ewSepsisDataMartName = "Early Warning Sepsis Risk" $ewSepsisEntityName = "EWSSummaryPatientRisk" -#$ewsRScriptFile = "C:\\himss\\sepsis\\test.r" -$ewsRScriptFile = "C:\\himss\\healthcareai_predictingScript_sepsisDemo_20180224.r" $connectionString = "Server=(local);Database=EdwAdmin;Trusted_Connection=True;" diff --git a/kubernetes/common.sh b/kubernetes/common.sh index c6ac07a..60385af 100644 --- a/kubernetes/common.sh +++ b/kubernetes/common.sh @@ -1,5 +1,5 @@ -versioncommon="2018.02.16.02" +versioncommon="2018.03.13.01" echo "--- Including common.sh version $versioncommon ---" function GetCommonVersion() { @@ -34,6 +34,8 @@ function ReadYamlAndReplaceCustomer () { local templateFile=$2 local customerid=$3 + echo "Downloading $baseUrl/$templateFile" + curl -sSL "$baseUrl/$templateFile" \ | ReplaceText CUSTOMERID $customerid From 142312bc3f1a71f07fc8935bb7f903aecd0b70a2 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 13 Mar 2018 10:49:32 -0600 Subject: [PATCH 294/473] use printf Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/common.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kubernetes/common.sh b/kubernetes/common.sh index 60385af..80d964d 100644 --- a/kubernetes/common.sh +++ b/kubernetes/common.sh @@ -1,5 +1,5 @@ -versioncommon="2018.03.13.01" +versioncommon="2018.03.13.02" echo "--- Including common.sh version $versioncommon ---" function GetCommonVersion() { @@ -34,7 +34,7 @@ function ReadYamlAndReplaceCustomer () { local templateFile=$2 local customerid=$3 - echo "Downloading $baseUrl/$templateFile" + printf "Downloading $baseUrl/$templateFile \n" curl -sSL "$baseUrl/$templateFile" \ | ReplaceText CUSTOMERID $customerid From e5bfc03b6dc3438882d9e4ebd5e44f0348380769 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 13 Mar 2018 10:51:58 -0600 Subject: [PATCH 295/473] revert the printf Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/common.sh | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/kubernetes/common.sh b/kubernetes/common.sh index 80d964d..65484fc 100644 --- a/kubernetes/common.sh +++ b/kubernetes/common.sh @@ -1,5 +1,5 @@ -versioncommon="2018.03.13.02" +versioncommon="2018.03.13.03" echo "--- Including common.sh version $versioncommon ---" function GetCommonVersion() { @@ -34,11 +34,8 @@ function ReadYamlAndReplaceCustomer () { local templateFile=$2 local customerid=$3 - printf "Downloading $baseUrl/$templateFile \n" - curl -sSL "$baseUrl/$templateFile" \ | ReplaceText CUSTOMERID $customerid - } function ReadSecretValue() { From af19d9eb86d0abc9827ed1230a3a7377a63c137f Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 13 Mar 2018 10:57:33 -0600 Subject: [PATCH 296/473] show what yaml files we're downloading Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/setup-loadbalancer.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/kubernetes/setup-loadbalancer.sh b/kubernetes/setup-loadbalancer.sh index 719cea9..26fe95b 100644 --- a/kubernetes/setup-loadbalancer.sh +++ b/kubernetes/setup-loadbalancer.sh @@ -9,7 +9,7 @@ GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/mast source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh") # source ./kubernetes/common.sh -version="2018.02.14.01" +version="2018.03.13.01" echo "---- setup-loadbalancer.sh version $version ------" @@ -29,21 +29,27 @@ SaveSecretValue customerid "value" $customerid # ReadYamlAndReplaceCustomer $GITHUB_URL "azure/ingress-roles.yml" $customerid +echo "Downloading $GITHUB_URL/kubernetes/loadbalancer/configmaps/config.yaml" ReadYamlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/configmaps/config.yaml" $customerid \ | kubectl apply -f - +echo "Downloading $GITHUB_URL/kubernetes/loadbalancer/roles/ingress-roles.yaml" ReadYamlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/roles/ingress-roles.yaml" $customerid \ | kubectl apply -f - +echo "Downloading $GITHUB_URL/kubernetes/loadbalancer/pods/ingress-onprem.yaml" ReadYamlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/pods/ingress-onprem.yaml" $customerid \ | kubectl apply -f - +echo "Downloading $GITHUB_URL/kubernetes/loadbalancer/services/loadbalancer-internal.yaml" ReadYamlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/services/loadbalancer-internal.yaml" $customerid \ | kubectl apply -f - +echo "Downloading $GITHUB_URL/kubernetes/loadbalancer/ingress/dashboard-internal.yaml" ReadYamlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/ingress/dashboard-internal.yaml" $customerid \ | kubectl apply -f - +echo "Downloading $GITHUB_URL/kubernetes/loadbalancer/ingress/default-internal.yaml" ReadYamlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/ingress/default-internal.yaml" $customerid \ | kubectl apply -f - From 7f2c385c6fea36e4b0ee2769f52e1c63330cdd85 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 13 Mar 2018 11:03:08 -0600 Subject: [PATCH 297/473] fix path to loadbalancer-internal.yml Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/setup-loadbalancer.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kubernetes/setup-loadbalancer.sh b/kubernetes/setup-loadbalancer.sh index 26fe95b..753df4c 100644 --- a/kubernetes/setup-loadbalancer.sh +++ b/kubernetes/setup-loadbalancer.sh @@ -9,7 +9,7 @@ GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/mast source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh") # source ./kubernetes/common.sh -version="2018.03.13.01" +version="2018.03.13.02" echo "---- setup-loadbalancer.sh version $version ------" @@ -41,8 +41,8 @@ echo "Downloading $GITHUB_URL/kubernetes/loadbalancer/pods/ingress-onprem.yaml" ReadYamlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/pods/ingress-onprem.yaml" $customerid \ | kubectl apply -f - -echo "Downloading $GITHUB_URL/kubernetes/loadbalancer/services/loadbalancer-internal.yaml" -ReadYamlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/services/loadbalancer-internal.yaml" $customerid \ +echo "Downloading $GITHUB_URL/kubernetes/loadbalancer/services/external/loadbalancer-internal.yaml" +ReadYamlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/services/external/loadbalancer-internal.yaml" $customerid \ | kubectl apply -f - echo "Downloading $GITHUB_URL/kubernetes/loadbalancer/ingress/dashboard-internal.yaml" From aa84534ddb8c584cf0953856dacd3ac3b093cd5a Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 13 Mar 2018 11:07:49 -0600 Subject: [PATCH 298/473] fix url to yaml file Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/setup-loadbalancer.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kubernetes/setup-loadbalancer.sh b/kubernetes/setup-loadbalancer.sh index 753df4c..bcebafa 100644 --- a/kubernetes/setup-loadbalancer.sh +++ b/kubernetes/setup-loadbalancer.sh @@ -9,7 +9,7 @@ GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/mast source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh") # source ./kubernetes/common.sh -version="2018.03.13.02" +version="2018.03.13.03" echo "---- setup-loadbalancer.sh version $version ------" @@ -45,8 +45,8 @@ echo "Downloading $GITHUB_URL/kubernetes/loadbalancer/services/external/loadbala ReadYamlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/services/external/loadbalancer-internal.yaml" $customerid \ | kubectl apply -f - -echo "Downloading $GITHUB_URL/kubernetes/loadbalancer/ingress/dashboard-internal.yaml" -ReadYamlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/ingress/dashboard-internal.yaml" $customerid \ +echo "Downloading $GITHUB_URL/kubernetes/loadbalancer/ingress/dashboard.yaml" +ReadYamlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/ingress/dashboard.yaml" $customerid \ | kubectl apply -f - echo "Downloading $GITHUB_URL/kubernetes/loadbalancer/ingress/default-internal.yaml" From 4925b69162f923c0e330ccf052965d4e5b362764 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 13 Mar 2018 11:14:03 -0600 Subject: [PATCH 299/473] add random integer to url Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/common.sh | 4 ++-- kubernetes/main.sh | 18 +++++++++--------- kubernetes/setup-loadbalancer.sh | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/kubernetes/common.sh b/kubernetes/common.sh index 65484fc..d9997b8 100644 --- a/kubernetes/common.sh +++ b/kubernetes/common.sh @@ -1,5 +1,5 @@ -versioncommon="2018.03.13.03" +versioncommon="2018.03.13.04" echo "--- Including common.sh version $versioncommon ---" function GetCommonVersion() { @@ -34,7 +34,7 @@ function ReadYamlAndReplaceCustomer () { local templateFile=$2 local customerid=$3 - curl -sSL "$baseUrl/$templateFile" \ + curl -sSL "$baseUrl/$templateFile?p=$RANDOM" \ | ReplaceText CUSTOMERID $customerid } diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 0fa2476..d288e38 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,11 +5,11 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.02.16.03" +version="2018.03.13.01" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh") +source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh?p=$RANDOM") # source ./kubernetes/common.sh input="" @@ -48,18 +48,18 @@ while [[ "$input" != "q" ]]; do read -p "Please make a selection:" -e input < /dev/tty case "$input" in - 1) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt | bash - curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupmaster.txt | bash - curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh | bash + 1) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt?p=$RANDOM | bash + curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupmaster.txt?p=$RANDOM | bash + curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh?p=$RANDOM | bash ;; - 2) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt | bash + 2) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt?p=$RANDOM | bash ;; 3) echo "Run this command on the new node to join this cluster:" echo "sudo $(sudo kubeadm token create --print-join-command)" ;; 4) mountSMB ;; - 5) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh | bash + 5) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh?p=$RANDOM | bash ;; 6) # from https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#debugging-dns-resolution echo "To resolve DNS issues: https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#debugging-dns-resolution" @@ -89,9 +89,9 @@ while [[ "$input" != "q" ]]; do kubectl exec busybox cat /etc/resolv.conf kubectl delete -f https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/busybox.yml ;; - 15) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | bash + 15) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh?p=$RANDOM | bash ;; - 16) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.sh | bash + 16) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.sh?p=$RANDOM | bash ;; 21) echo "Current cluster: $(kubectl config current-context)" kubectl version --short diff --git a/kubernetes/setup-loadbalancer.sh b/kubernetes/setup-loadbalancer.sh index bcebafa..0ff3413 100644 --- a/kubernetes/setup-loadbalancer.sh +++ b/kubernetes/setup-loadbalancer.sh @@ -6,7 +6,7 @@ set -e # GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh") +source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh?p=$RANDOM") # source ./kubernetes/common.sh version="2018.03.13.03" From fc4c26a92d35d046f561f7352f0975eca0d3c7fd Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 13 Mar 2018 14:39:52 -0600 Subject: [PATCH 300/473] add menu item to set eltobjectattributebase Signed-off-by: HQCATALYST\imran.qureshi --- developer/doslibrary.ps1 | 44 ++++++++++++++++++++++++++++++++++++++-- developer/runengine.ps1 | 10 +++++---- 2 files changed, 48 insertions(+), 6 deletions(-) diff --git a/developer/doslibrary.ps1 b/developer/doslibrary.ps1 index e8b7313..d180350 100644 --- a/developer/doslibrary.ps1 +++ b/developer/doslibrary.ps1 @@ -3,7 +3,7 @@ # You can run this by pasting the following in powershell # Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/developer/doslibrary.ps1 | Invoke-Expression; -Write-output "--- doslibrary.ps1 Version 2018.03.11.01 ----" +Write-output "--- doslibrary.ps1 Version 2018.03.13.01 ----" $dpsUrl = "http://localhost/DataProcessingService" $metadataUrl = "http://localhost/MetadataService" @@ -489,7 +489,7 @@ function runHL7Sourcemart() { $(executeBatchAsStreaming -batchdefinitionId $batchdefinitionId).BatchExecutionId } function runSql([ValidateNotNull()] $sql) { - Invoke-Sqlcmd -Query $sql -ConnectionString $connectionString -Verbose + Invoke-Sqlcmd -Query $sql -ConnectionString $connectionString } function downloadCerts() { @@ -560,6 +560,46 @@ function showUserPermissions() { } } +function setETLObjectAttribute($attributeName, $attributeValueTXT, $attributeValueNBR){ + [hashtable]$Return = @{} + + $sql = +@" +IF NOT EXISTS(SELECT 1 FROM [EDWAdmin].[CatalystAdmin].[ETLObjectAttributeBASE] WHERE [AttributeNM] = '$attributeName') +BEGIN + INSERT INTO [EDWAdmin].[CatalystAdmin].[ETLObjectAttributeBASE]([ObjectID], [ObjectTypeCD],[AttributeNM],[AttributeValueTXT],[AttributeValueNBR]) + VALUES(0, 'System', '$attributeName','$attributeValueTXT',$attributeValueNBR) +END +ELSE +BEGIN + UPDATE [EDWAdmin].[CatalystAdmin].[ETLObjectAttributeBASE] + SET [AttributeValueTXT] = '$attributeValueTXT', [AttributeValueNBR]=$attributeValueNBR + WHERE [AttributeNM] = '$attributeName' +END +"@ + # Write-Host $sql + runSql $sql + + return $Return +} + +function setETLObjectAttributeText($attributeName, $attributeValueTXT){ + [hashtable]$Return = @{} + + setETLObjectAttribute "$attributeName" "$attributeValueTXT" "NULL" + Write-Host "setETLObjectAttributeText: '$attributeName' '$attributeValueTXT'" + + return $Return +} +function setETLObjectAttributeNumber($attributeName, $attributeValueNBR){ + [hashtable]$Return = @{} + + setETLObjectAttribute "$attributeName" "NULL" $attributeValueNBR + Write-Host "setETLObjectAttributeNumber: '$attributeName' $attributeValueNBR" + + return $Return +} + function listWebSites() { # https://octopus.com/blog/iis-powershell Get-Website diff --git a/developer/runengine.ps1 b/developer/runengine.ps1 index 0000116..a759fdf 100644 --- a/developer/runengine.ps1 +++ b/developer/runengine.ps1 @@ -6,10 +6,10 @@ $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -Invoke-WebRequest -useb ${GITHUB_URL}/developer/doslibrary.ps1 | Invoke-Expression; -# Get-Content ./developer/doslibrary.ps1 -Raw | Invoke-Expression; +# Invoke-WebRequest -useb ${GITHUB_URL}/developer/doslibrary.ps1 | Invoke-Expression; +Get-Content ./developer/doslibrary.ps1 -Raw | Invoke-Expression; -Write-output "--- runengine.ps1 Version 2018.03.11.01 ----" +Write-output "--- runengine.ps1 Version 2018.03.13.01 ----" $userinput = "" while ($userinput -ne "q") { @@ -35,7 +35,7 @@ while ($userinput -ne "q") { Write-Host "31: Download RabbitMq certs" Write-Host "32: fix discovery service url" Write-Host "33: Show EWS Risk binding" - Write-Host "34: do foo" + Write-Host "34: Set Config for AI" Write-Host "q: Quit" $userinput = Read-Host "Please make a selection" switch ($userinput) { @@ -99,6 +99,8 @@ while ($userinput -ne "q") { Write-Host "Binding Type: $($result.Binding.BindingType)" } '34' { + setETLObjectAttributeText "PathToRExecutable" "C:\Program Files\R\R-3.4.3\bin\Rscript.exe" + setETLObjectAttributeText "PathToRModelFolder" "C:/himss/R" } 'q' { return From 4b5991802eda87a5589c324e5458040de5e375a3 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 13 Mar 2018 14:40:12 -0600 Subject: [PATCH 301/473] minor Signed-off-by: HQCATALYST\imran.qureshi --- developer/runengine.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/developer/runengine.ps1 b/developer/runengine.ps1 index a759fdf..7aa9ee1 100644 --- a/developer/runengine.ps1 +++ b/developer/runengine.ps1 @@ -6,8 +6,8 @@ $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -# Invoke-WebRequest -useb ${GITHUB_URL}/developer/doslibrary.ps1 | Invoke-Expression; -Get-Content ./developer/doslibrary.ps1 -Raw | Invoke-Expression; +Invoke-WebRequest -useb ${GITHUB_URL}/developer/doslibrary.ps1 | Invoke-Expression; +# Get-Content ./developer/doslibrary.ps1 -Raw | Invoke-Expression; Write-output "--- runengine.ps1 Version 2018.03.13.01 ----" From 173916e0455388cc1a5579e6d5c6ebae498cc4f9 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 13 Mar 2018 15:00:11 -0600 Subject: [PATCH 302/473] add menu item to mount azure storage as share Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/common.sh | 11 +++++++++++ kubernetes/main.sh | 13 ++++++++----- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/kubernetes/common.sh b/kubernetes/common.sh index d9997b8..ee8d2b5 100644 --- a/kubernetes/common.sh +++ b/kubernetes/common.sh @@ -210,6 +210,17 @@ function mountSMB(){ mountSMBWithParams $pathToShare $username $password } +function mountAzureFile(){ + read -p "Storage Account Name: " storageAccountName < /dev/tty + read -p "Storage Share Name: " shareName < /dev/tty + $pathToShare="//${storageAccountName}.file.core.windows.net/${shareName}" + $username="$storageAccountName" + read -s -p "storage account key: " storageAccountKey < /dev/tty + + mountSMBWithParams $pathToShare $username $storageAccountKey +} + + function mountSMBWithParams(){ local pathToShare=$1 local username=$2 # diff --git a/kubernetes/main.sh b/kubernetes/main.sh index d288e38..ec72134 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.03.13.01" +version="2018.03.13.02" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -21,8 +21,9 @@ while [[ "$input" != "q" ]]; do echo "2: Add this VM as Worker" echo "3: Join a new node to this cluster" echo "4: Mount shared folder" - echo "5: Setup Load Balancer" - echo "6: Test DNS" + echo "5: Mount Azure Storage as shared folder" + echo "6: Setup Load Balancer" + echo "7: Test DNS" echo "------ Product Install -------" echo "15: Install NLP" echo "16: Install Realtime" @@ -59,9 +60,11 @@ while [[ "$input" != "q" ]]; do ;; 4) mountSMB ;; - 5) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh?p=$RANDOM | bash + 4) mountAzureFile ;; - 6) # from https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#debugging-dns-resolution + 6) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh?p=$RANDOM | bash + ;; + 7) # from https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#debugging-dns-resolution echo "To resolve DNS issues: https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#debugging-dns-resolution" echo "----------- Checking if DNS pods are running -----------" kubectl get pods --namespace=kube-system -l k8s-app=kube-dns From 70dc67f98c0c05ca63fe40c67618f38e16e538e3 Mon Sep 17 00:00:00 2001 From: imranq2 Date: Wed, 14 Mar 2018 10:13:36 -0600 Subject: [PATCH 303/473] Create readme.md --- developer/readme.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 developer/readme.md diff --git a/developer/readme.md b/developer/readme.md new file mode 100644 index 0000000..8c14444 --- /dev/null +++ b/developer/readme.md @@ -0,0 +1,9 @@ +This is not production ready code! + +To bring up the main menu, just open PowerShell and paste: +Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/3/developer/runengine.ps1 | Invoke-Expression; + +This uses a library of functions that automate some parts of DOS. You can just pull in the library only by pasting: +Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/3/developer/doslibrary.ps1 | Invoke-Expression; + + From ce918c523e097385bf2b1db32fb3df5f1bf9a184 Mon Sep 17 00:00:00 2001 From: imranq2 Date: Wed, 14 Mar 2018 10:28:47 -0600 Subject: [PATCH 304/473] Update readme.md --- developer/readme.md | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/developer/readme.md b/developer/readme.md index 8c14444..8a948df 100644 --- a/developer/readme.md +++ b/developer/readme.md @@ -1,4 +1,6 @@ -This is not production ready code! +This is not production ready code! This is currently for us to use in our developer machines. + +These are Powershell functions that wrap the REST APIs of MDS and v2 engine. In addition there are functions that do some of the common developer tasks like showing permissions, logs, fixing discovery service url etc. To bring up the main menu, just open PowerShell and paste: Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/3/developer/runengine.ps1 | Invoke-Expression; @@ -6,4 +8,28 @@ Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/Install This uses a library of functions that automate some parts of DOS. You can just pull in the library only by pasting: Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/3/developer/doslibrary.ps1 | Invoke-Expression; +Here's some of the functions available in this Powershell library: +1. List all datamarts on your system: listdatamarts +2. List all batch definitions in your system: listBatchDefinitions +3. Get ID of DataMart by Name: getdataMartIDbyName +4. Create a batch definition for a datamart: createBatchDefinitionForDataMart +5. Get last batch execution for a datamart: getLastBatchExecutionForDatamart +6. Run a normal batch: executeBatch +7. Run a streaming batch: executeBatchAsStreaming +8. Cancel a batch: cancelBatch +9. Execute a JSON based datamart: executeJsonDataMart +10. Run and wait for a datamart: runAndWaitForDatamart +11. Download the json for a data mart: downloaddataMartIDbyName + +Other helpful developer stuff: +12. Show discovery service urls: showDiscoveryServiceUrls +13. Show user permissions: showDiscoveryServiceUrls +14. set ETLObjectAttributeBASE: setETLObjectAttribute +15. Show websites installed on my machine: listWebSites + +Not completely working yet that you can feel free to make work: +16. Deploy a dacpac: DeployDACPAC +17. Download latest build from VSO: downloadArtifactFromLatestBuild + +Feel free to just check in additional helpful stuff for developers. From de2d1ad7ad6ff4c8c169d98988265d321834b610 Mon Sep 17 00:00:00 2001 From: imranq2 Date: Wed, 14 Mar 2018 10:30:50 -0600 Subject: [PATCH 305/473] Update readme.md --- developer/readme.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/developer/readme.md b/developer/readme.md index 8a948df..e064642 100644 --- a/developer/readme.md +++ b/developer/readme.md @@ -1,12 +1,13 @@ +# Powershell functions for DOS This is not production ready code! This is currently for us to use in our developer machines. These are Powershell functions that wrap the REST APIs of MDS and v2 engine. In addition there are functions that do some of the common developer tasks like showing permissions, logs, fixing discovery service url etc. To bring up the main menu, just open PowerShell and paste: -Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/3/developer/runengine.ps1 | Invoke-Expression; +`Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/3/developer/runengine.ps1 | Invoke-Expression;` This uses a library of functions that automate some parts of DOS. You can just pull in the library only by pasting: -Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/3/developer/doslibrary.ps1 | Invoke-Expression; +`Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/3/developer/doslibrary.ps1 | Invoke-Expression;` Here's some of the functions available in this Powershell library: 1. List all datamarts on your system: listdatamarts From 4e86ad7a08459b88e64e6d64ea034b2e6ab70cc1 Mon Sep 17 00:00:00 2001 From: imranq2 Date: Wed, 14 Mar 2018 10:31:50 -0600 Subject: [PATCH 306/473] Update readme.md --- developer/readme.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/developer/readme.md b/developer/readme.md index e064642..57490b9 100644 --- a/developer/readme.md +++ b/developer/readme.md @@ -4,12 +4,15 @@ This is not production ready code! This is currently for us to use in our devel These are Powershell functions that wrap the REST APIs of MDS and v2 engine. In addition there are functions that do some of the common developer tasks like showing permissions, logs, fixing discovery service url etc. To bring up the main menu, just open PowerShell and paste: + `Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/3/developer/runengine.ps1 | Invoke-Expression;` This uses a library of functions that automate some parts of DOS. You can just pull in the library only by pasting: + `Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/3/developer/doslibrary.ps1 | Invoke-Expression;` Here's some of the functions available in this Powershell library: + 1. List all datamarts on your system: listdatamarts 2. List all batch definitions in your system: listBatchDefinitions 3. Get ID of DataMart by Name: getdataMartIDbyName @@ -23,12 +26,14 @@ Here's some of the functions available in this Powershell library: 11. Download the json for a data mart: downloaddataMartIDbyName Other helpful developer stuff: + 12. Show discovery service urls: showDiscoveryServiceUrls 13. Show user permissions: showDiscoveryServiceUrls 14. set ETLObjectAttributeBASE: setETLObjectAttribute 15. Show websites installed on my machine: listWebSites Not completely working yet that you can feel free to make work: + 16. Deploy a dacpac: DeployDACPAC 17. Download latest build from VSO: downloadArtifactFromLatestBuild From b0727d2c1ddd2f83e055fc8021198c5cd787adb3 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 14 Mar 2018 10:32:08 -0600 Subject: [PATCH 307/473] move datamart name outside of function Signed-off-by: HQCATALYST\imran.qureshi --- developer/doslibrary.ps1 | 6 +++--- developer/runengine.ps1 | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/developer/doslibrary.ps1 b/developer/doslibrary.ps1 index d180350..5f7a073 100644 --- a/developer/doslibrary.ps1 +++ b/developer/doslibrary.ps1 @@ -3,7 +3,7 @@ # You can run this by pasting the following in powershell # Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/developer/doslibrary.ps1 | Invoke-Expression; -Write-output "--- doslibrary.ps1 Version 2018.03.13.01 ----" +Write-output "--- doslibrary.ps1 Version 2018.03.14.01 ----" $dpsUrl = "http://localhost/DataProcessingService" $metadataUrl = "http://localhost/MetadataService" @@ -385,11 +385,11 @@ function cancelBatch([ValidateNotNull()] $batchExecutionId) { return $Return } -function executeJsonDataMart() { +function executeJsonDataMart($file) { [hashtable]$Return = @{} $api = "${dpsUrl}/v1/ExecuteDataMart" - $body = Get-Content ./datamart.json -Raw + $body = Get-Content $file -Raw $result = Invoke-RestMethod -Uri $api -UseDefaultCredentials -Method POST -Body $body -ContentType 'application/json' $batchExecutionId = $result.value.Id diff --git a/developer/runengine.ps1 b/developer/runengine.ps1 index 7aa9ee1..c7773cd 100644 --- a/developer/runengine.ps1 +++ b/developer/runengine.ps1 @@ -9,7 +9,7 @@ $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/m Invoke-WebRequest -useb ${GITHUB_URL}/developer/doslibrary.ps1 | Invoke-Expression; # Get-Content ./developer/doslibrary.ps1 -Raw | Invoke-Expression; -Write-output "--- runengine.ps1 Version 2018.03.13.01 ----" +Write-output "--- runengine.ps1 Version 2018.03.14.01 ----" $userinput = "" while ($userinput -ne "q") { @@ -77,7 +77,7 @@ while ($userinput -ne "q") { runEarlyWarningSepsis } '21' { - executeJsonDataMart + executeJsonDataMart "./datamart.json" } '22' { setBindingTypeForPatientRisk "R" $ewsRScriptFile From 3f0a0952c6d6ed3f7fbd149aff54cb112aa76039 Mon Sep 17 00:00:00 2001 From: imranq2 Date: Wed, 14 Mar 2018 10:37:39 -0600 Subject: [PATCH 308/473] Update readme.md --- developer/readme.md | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/developer/readme.md b/developer/readme.md index 57490b9..bd1968f 100644 --- a/developer/readme.md +++ b/developer/readme.md @@ -7,7 +7,7 @@ To bring up the main menu, just open PowerShell and paste: `Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/3/developer/runengine.ps1 | Invoke-Expression;` -This uses a library of functions that automate some parts of DOS. You can just pull in the library only by pasting: +This uses a library of functions that automate some parts of DOS. You can pull in the library only by pasting: `Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/3/developer/doslibrary.ps1 | Invoke-Expression;` @@ -20,22 +20,25 @@ Here's some of the functions available in this Powershell library: 5. Get last batch execution for a datamart: getLastBatchExecutionForDatamart 6. Run a normal batch: executeBatch 7. Run a streaming batch: executeBatchAsStreaming -8. Cancel a batch: cancelBatch -9. Execute a JSON based datamart: executeJsonDataMart -10. Run and wait for a datamart: runAndWaitForDatamart -11. Download the json for a data mart: downloaddataMartIDbyName +8. Run and wait for a datamart: runAndWaitForDatamart +9. Chain SAM runs. Call runAndWaitForDatamart for first SAM, then call runAndWaitForDatamart for second SAM etc etc +10. Cancel a batch: cancelBatch +11. Execute a JSON based datamart: executeJsonDataMart +12. Download the json for a data mart: downloaddataMartIDbyName Other helpful developer stuff: -12. Show discovery service urls: showDiscoveryServiceUrls -13. Show user permissions: showDiscoveryServiceUrls -14. set ETLObjectAttributeBASE: setETLObjectAttribute -15. Show websites installed on my machine: listWebSites +1. Show discovery service urls: showDiscoveryServiceUrls +2. Show user permissions: showDiscoveryServiceUrls +3. set ETLObjectAttributeBASE: setETLObjectAttribute +4. Show websites installed on my machine: listWebSites Not completely working yet that you can feel free to make work: -16. Deploy a dacpac: DeployDACPAC -17. Download latest build from VSO: downloadArtifactFromLatestBuild +1. Deploy a dacpac: DeployDACPAC +2. Download latest build from VSO: downloadArtifactFromLatestBuild Feel free to just check in additional helpful stuff for developers. +# Contributing +Branch and do your changes. Submit a pull request to master when ready. From 919bb1a46b43de2ced49678e744b1de4387e874e Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 14 Mar 2018 11:15:20 -0600 Subject: [PATCH 309/473] in installnlpkubernetes.ps1, check if az cli is installed Signed-off-by: HQCATALYST\imran.qureshi --- nlp/installnlpkubernetes.ps1 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index 7573b3e..d668741 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -1,4 +1,4 @@ -Write-Output "--- installnlpkubernetes.ps1 Version 2018.02.25.05 ---" +Write-Output "--- installnlpkubernetes.ps1 Version 2018.03.14.01 ---" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | iex; @@ -14,6 +14,8 @@ Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1?f=$randomstring Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1?f=$randomstring | Invoke-Expression; # Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; +DownloadAzCliIfNeeded + $loggedInUser = az account show --query "user.name" --output tsv $AKS_USE_SSL = "" From 8b34945916a274051d1d787581f778a037fcee25 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 14 Mar 2018 11:38:14 -0600 Subject: [PATCH 310/473] fix typo Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index ec72134..0f06064 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.03.13.02" +version="2018.03.14.01" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -60,7 +60,7 @@ while [[ "$input" != "q" ]]; do ;; 4) mountSMB ;; - 4) mountAzureFile + 5) mountAzureFile ;; 6) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh?p=$RANDOM | bash ;; From 5866b03beb79b65b00c912bacf56dd1f565a0f8c Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 14 Mar 2018 11:51:09 -0600 Subject: [PATCH 311/473] fix setting of variables Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/common.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kubernetes/common.sh b/kubernetes/common.sh index ee8d2b5..314a20a 100644 --- a/kubernetes/common.sh +++ b/kubernetes/common.sh @@ -1,5 +1,5 @@ -versioncommon="2018.03.13.04" +versioncommon="2018.03.14.01" echo "--- Including common.sh version $versioncommon ---" function GetCommonVersion() { @@ -213,8 +213,8 @@ function mountSMB(){ function mountAzureFile(){ read -p "Storage Account Name: " storageAccountName < /dev/tty read -p "Storage Share Name: " shareName < /dev/tty - $pathToShare="//${storageAccountName}.file.core.windows.net/${shareName}" - $username="$storageAccountName" + pathToShare="//${storageAccountName}.file.core.windows.net/${shareName}" + username="$storageAccountName" read -s -p "storage account key: " storageAccountKey < /dev/tty mountSMBWithParams $pathToShare $username $storageAccountKey From f24986352c1e9da07efba84f241a91b36a412fe3 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 14 Mar 2018 12:01:09 -0600 Subject: [PATCH 312/473] separate master node stuff from worker node stuff Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 0f06064..8293df8 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.03.14.01" +version="2018.03.14.02" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -16,14 +16,17 @@ input="" while [[ "$input" != "q" ]]; do echo "================ Health Catalyst version $version, common functions $(GetCommonVersion) ================" - echo "------ Infrastructure -------" + echo "------ Master Node -------" echo "1: Add this VM as Master" - echo "2: Add this VM as Worker" echo "3: Join a new node to this cluster" echo "4: Mount shared folder" echo "5: Mount Azure Storage as shared folder" echo "6: Setup Load Balancer" echo "7: Test DNS" + echo "------ Worker Node -------" + echo "2: Add this VM as Worker" + echo "4: Mount shared folder" + echo "5: Mount Azure Storage as shared folder" echo "------ Product Install -------" echo "15: Install NLP" echo "16: Install Realtime" From 823baf8eca16c79b6e69fa20a19d61d7727433a0 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 14 Mar 2018 12:07:23 -0600 Subject: [PATCH 313/473] reorder the menu for linux Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 71 ++++++++++++++++++++++++++-------------------- 1 file changed, 40 insertions(+), 31 deletions(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 8293df8..d7d6f05 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.03.14.02" +version="2018.03.14.03" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -18,34 +18,35 @@ while [[ "$input" != "q" ]]; do echo "================ Health Catalyst version $version, common functions $(GetCommonVersion) ================" echo "------ Master Node -------" echo "1: Add this VM as Master" + echo "2: Show all nodes" echo "3: Join a new node to this cluster" echo "4: Mount shared folder" echo "5: Mount Azure Storage as shared folder" echo "6: Setup Load Balancer" echo "7: Test DNS" echo "------ Worker Node -------" - echo "2: Add this VM as Worker" - echo "4: Mount shared folder" - echo "5: Mount Azure Storage as shared folder" + echo "12: Add this VM as Worker" + echo "14: Mount shared folder" + echo "15: Mount Azure Storage as shared folder" echo "------ Product Install -------" - echo "15: Install NLP" - echo "16: Install Realtime" + echo "25: Install NLP" + echo "26: Install Realtime" echo "----- Troubleshooting ----" - echo "21: Show status of cluster" - echo "22: Launch Kubernetes Admin Dashboard" - echo "23: View status of DNS pods" - echo "24: Apply updates and restart all VMs" + echo "31: Show status of cluster" + echo "32: Launch Kubernetes Admin Dashboard" + echo "33: View status of DNS pods" + echo "34: Apply updates and restart all VMs" echo "------ NLP -----" - echo "31: Show status of NLP" - echo "32: Test web sites" - echo "33: Show passwords" - echo "34: Show detailed status of NLP" - echo "35: Show NLP logs" - echo "36: Restart NLP" + echo "41: Show status of NLP" + echo "42: Test web sites" + echo "43: Show passwords" + echo "44: Show detailed status of NLP" + echo "45: Show NLP logs" + echo "46: Restart NLP" echo "------ Realtime -----" - echo "41: Show status of realtime" - echo "44: Show Realtime detailed status" - echo "45: Show Realtime logs" + echo "51: Show status of realtime" + echo "54: Show Realtime detailed status" + echo "55: Show Realtime logs" echo "-----------" echo "q: Quit" @@ -56,7 +57,9 @@ while [[ "$input" != "q" ]]; do curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupmaster.txt?p=$RANDOM | bash curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh?p=$RANDOM | bash ;; - 2) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt?p=$RANDOM | bash + 2) echo "Current cluster: $(kubectl config current-context)" + kubectl version --short + kubectl get "nodes" ;; 3) echo "Run this command on the new node to join this cluster:" echo "sudo $(sudo kubeadm token create --print-join-command)" @@ -95,21 +98,27 @@ while [[ "$input" != "q" ]]; do kubectl exec busybox cat /etc/resolv.conf kubectl delete -f https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/busybox.yml ;; - 15) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh?p=$RANDOM | bash + 12) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt?p=$RANDOM | bash + ;; + 14) mountSMB + ;; + 15) mountAzureFile + ;; + 25) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh?p=$RANDOM | bash ;; - 16) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.sh?p=$RANDOM | bash + 26) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.sh?p=$RANDOM | bash ;; - 21) echo "Current cluster: $(kubectl config current-context)" + 31) echo "Current cluster: $(kubectl config current-context)" kubectl version --short kubectl get "deployments,pods,services,nodes,ingress,secrets" --namespace=kube-system -o wide ;; - 31) kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide + 41) kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide ;; - 33) Write-Host "MySql root password: $(ReadSecretPassword mysqlrootpassword fabricnlp)" + 43) Write-Host "MySql root password: $(ReadSecretPassword mysqlrootpassword fabricnlp)" Write-Host "MySql NLP_APP_USER password: $(ReadSecretPassword mysqlpassword fabricnlp)" Write-Host "SendGrid SMTP Relay key: $(ReadSecretPassword smtprelaypassword fabricnlp)" ;; - 34) pods=$(kubectl get pods -n fabricnlp -o jsonpath='{.items[*].metadata.name}') + 44) pods=$(kubectl get pods -n fabricnlp -o jsonpath='{.items[*].metadata.name}') for pod in $pods do Write-Output "=============== Describe Pod: $pod =================" @@ -117,7 +126,7 @@ while [[ "$input" != "q" ]]; do read -n1 -r -p "Press space to continue..." key < /dev/tty done ;; - 35) pods=$(kubectl get pods -n fabricnlp -o jsonpath='{.items[*].metadata.name}') + 45) pods=$(kubectl get pods -n fabricnlp -o jsonpath='{.items[*].metadata.name}') for pod in $pods do Write-Output "=============== Logs for Pod: $pod =================" @@ -125,15 +134,15 @@ while [[ "$input" != "q" ]]; do read -n1 -r -p "Press space to continue..." key < /dev/tty done ;; - 41) kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime -o wide + 51) kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime -o wide ;; - 43) Write-Host "MySql root password: $(ReadSecretPassword mysqlrootpassword fabricrealtime)" + 53) Write-Host "MySql root password: $(ReadSecretPassword mysqlrootpassword fabricrealtime)" Write-Host "MySql NLP_APP_USER password: $(ReadSecretPassword mysqlpassword fabricrealtime)" Write-Host "certhostname: $(ReadSecretPassword certhostname fabricrealtime)" Write-Host "certpassword: $(ReadSecretPassword certpassword fabricrealtime)" Write-Host "rabbitmqmgmtuipassword: $(ReadSecretPassword rabbitmqmgmtuipassword fabricrealtime)" ;; - 44) pods=$(kubectl get pods -n fabricrealtime -o jsonpath='{.items[*].metadata.name}') + 54) pods=$(kubectl get pods -n fabricrealtime -o jsonpath='{.items[*].metadata.name}') for pod in $pods do Write-Output "=============== Describe Pod: $pod =================" @@ -141,7 +150,7 @@ while [[ "$input" != "q" ]]; do read -n1 -r -p "Press space to continue..." key < /dev/tty done ;; - 45) pods=$(kubectl get pods -n fabricrealtime -o jsonpath='{.items[*].metadata.name}') + 55) pods=$(kubectl get pods -n fabricrealtime -o jsonpath='{.items[*].metadata.name}') for pod in $pods do Write-Output "=============== Logs for Pod: $pod =================" From 49ae780cfa757a3362f09aef2367f6014b41a8f1 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 14 Mar 2018 12:15:47 -0600 Subject: [PATCH 314/473] check if password is empty Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/common.sh | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/kubernetes/common.sh b/kubernetes/common.sh index 314a20a..35b07a5 100644 --- a/kubernetes/common.sh +++ b/kubernetes/common.sh @@ -1,5 +1,5 @@ -versioncommon="2018.03.14.01" +versioncommon="2018.03.14.02" echo "--- Including common.sh version $versioncommon ---" function GetCommonVersion() { @@ -203,19 +203,31 @@ function WaitForPodsInNamespace(){ } function mountSMB(){ - read -p "path to SMB share (e.g., //myserver.mydomain/myshare): " pathToShare < /dev/tty + while [[ -z "$pathToShare" ]]; do + read -p "path to SMB share (e.g., //myserver.mydomain/myshare): " pathToShare < /dev/tty + done + while [[ -z "$username" ]]; do read -p "username: " username < /dev/tty - read -s -p "password: " password < /dev/tty + done + while [[ -z "$password" ]]; do + read -p "password: " password < /dev/tty + done mountSMBWithParams $pathToShare $username $password } function mountAzureFile(){ - read -p "Storage Account Name: " storageAccountName < /dev/tty - read -p "Storage Share Name: " shareName < /dev/tty + while [[ -z "$storageAccountName" ]]; do + read -p "Storage Account Name: " storageAccountName < /dev/tty + done + while [[ -z "$shareName" ]]; do + read -p "Storage Share Name: " shareName < /dev/tty + done pathToShare="//${storageAccountName}.file.core.windows.net/${shareName}" username="$storageAccountName" - read -s -p "storage account key: " storageAccountKey < /dev/tty + while [[ -z "$storageAccountKey" ]]; do + read -p "storage account key: " storageAccountKey < /dev/tty + done mountSMBWithParams $pathToShare $username $storageAccountKey } From 799aa000ec2debf7145cb641f5f5e0b1e5c08258 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 14 Mar 2018 12:21:37 -0600 Subject: [PATCH 315/473] remove unused menu items Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index d7d6f05..db0d822 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.03.14.03" +version="2018.03.14.04" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -33,16 +33,16 @@ while [[ "$input" != "q" ]]; do echo "26: Install Realtime" echo "----- Troubleshooting ----" echo "31: Show status of cluster" - echo "32: Launch Kubernetes Admin Dashboard" - echo "33: View status of DNS pods" - echo "34: Apply updates and restart all VMs" + # echo "32: Launch Kubernetes Admin Dashboard" + # echo "33: View status of DNS pods" + # echo "34: Apply updates and restart all VMs" echo "------ NLP -----" echo "41: Show status of NLP" - echo "42: Test web sites" + # echo "42: Test web sites" echo "43: Show passwords" echo "44: Show detailed status of NLP" echo "45: Show NLP logs" - echo "46: Restart NLP" + # echo "46: Restart NLP" echo "------ Realtime -----" echo "51: Show status of realtime" echo "54: Show Realtime detailed status" From c731cee049b7968ae594417982cd62a06b979c66 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 14 Mar 2018 12:35:10 -0600 Subject: [PATCH 316/473] add menu item to list shared folders Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index db0d822..5705cc8 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.03.14.04" +version="2018.03.14.05" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -24,6 +24,7 @@ while [[ "$input" != "q" ]]; do echo "5: Mount Azure Storage as shared folder" echo "6: Setup Load Balancer" echo "7: Test DNS" + echo "8: Show contents of shared folder" echo "------ Worker Node -------" echo "12: Add this VM as Worker" echo "14: Mount shared folder" @@ -98,6 +99,8 @@ while [[ "$input" != "q" ]]; do kubectl exec busybox cat /etc/resolv.conf kubectl delete -f https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/busybox.yml ;; + 8) ls -al /mnt/data + ;; 12) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt?p=$RANDOM | bash ;; 14) mountSMB From 441b2551dbe358aee1a22b3c6fd4619542d4d28e Mon Sep 17 00:00:00 2001 From: "michael.vidal" Date: Wed, 14 Mar 2018 12:00:09 -0400 Subject: [PATCH 317/473] Added a function that allows waiting for the app pool to get into the desired state. --- common/Fabric-Install-Utilities.psm1 | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index a1e35fd..e922e42 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -1,6 +1,17 @@ Import-Module WebAdministration Add-Type -AssemblyName System.IO.Compression.FileSystem +function Invoke-WaitForWebAppPoolToChangeState($name, $state){ + $currentState = Get-WebAppPoolState -Name $name + Write-Host "Waiting for app pool '$name' to enter the '$state' state" -NoNewLine + DO{ + Write-Host "." -NoNewLine + Start-Sleep 1 + $currentState = Get-WebAppPoolState -Name $name + }while($currentState.Value -ne $state) + Write-Host "" +} + function Add-EnvironmentVariable($variableName, $variableValue, $config){ $environmentVariablesNode = $config.configuration.'system.webServer'.aspNetCore.environmentVariables $existingEnvironmentVariable = $environmentVariablesNode.environmentVariable | Where-Object {$_.name -eq $variableName} @@ -70,10 +81,10 @@ function New-AppPool($appName, $userName, $credential){ $appPool.processModel.loaduserprofile = $true $appPool | Set-Item $appPool.Stop() - Start-Sleep -Seconds 3 + Invoke-WaitForWebAppPoolToChangeState -name $appPool.Name -state "Stopped" } $appPool.Start() - Start-Sleep -Seconds 3 + Invoke-WaitForWebAppPoolToChangeState -name $appPool.Name -state "Started" } function New-Site($appName, $portNumber, $appDirectory, $hostHeader){ @@ -106,7 +117,7 @@ function Publish-WebSite($zipPackage, $appDirectory, $appName, $overwriteWebConf try{ Stop-WebAppPool -Name $appName - Start-Sleep -Seconds 3 + Invoke-WaitForWebAppPoolToChangeState -name $appName -state "Stopped" }catch [System.InvalidOperationException]{ Write-Console "AppPool $appName is already stopped, continuing." } @@ -141,7 +152,7 @@ function Publish-WebSite($zipPackage, $appDirectory, $appName, $overwriteWebConf } $archive.Dispose() Start-WebAppPool -Name $appName - Start-Sleep -Seconds 3 + Invoke-WaitForWebAppPoolToChangeState -name $appPool.Name -state "Started" } function Test-IsDirectory($path) From a8b01307ed0248968846fed4563f9dceca3c28c9 Mon Sep 17 00:00:00 2001 From: "michael.vidal" Date: Wed, 14 Mar 2018 12:20:17 -0400 Subject: [PATCH 318/473] Fixed an issue when waiting for the app pool to change state. --- common/Fabric-Install-Utilities.psm1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index e922e42..486e068 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -152,7 +152,7 @@ function Publish-WebSite($zipPackage, $appDirectory, $appName, $overwriteWebConf } $archive.Dispose() Start-WebAppPool -Name $appName - Invoke-WaitForWebAppPoolToChangeState -name $appPool.Name -state "Started" + Invoke-WaitForWebAppPoolToChangeState -name $appName -state "Started" } function Test-IsDirectory($path) From f3e39002cf99a7062f04a6c6f4b0b08feeb757d4 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 14 Mar 2018 16:07:28 -0700 Subject: [PATCH 319/473] have on-prem volumes use subfolders Signed-off-by: HQCATALYST\imran.qureshi --- nlp/installnlpkubernetes.sh | 4 ++-- nlp/volumes/jobserver.onprem.yaml | 2 +- nlp/volumes/mysqlbackup.onprem.yaml | 2 +- nlp/volumes/mysqlserver.onprem.yaml | 2 +- nlp/volumes/solrserver.onprem.yaml | 2 +- realtime/installrealtimekubernetes.sh | 4 ++-- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/nlp/installnlpkubernetes.sh b/nlp/installnlpkubernetes.sh index f6dca41..464d009 100644 --- a/nlp/installnlpkubernetes.sh +++ b/nlp/installnlpkubernetes.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | bash # GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -version="2018.02.16.03" +version="2018.03.14.01" echo "---- installnlpkubernetes.sh version $version ------" @@ -33,7 +33,7 @@ else kubectl delete secret mysqlpassword -n $namespace --ignore-not-found=true kubectl delete secret smtprelaypassword -n $namespace --ignore-not-found=true - sudo rm -rf /mnt/data/* + sudo rm -rf /mnt/data/fabricnlp fi fi diff --git a/nlp/volumes/jobserver.onprem.yaml b/nlp/volumes/jobserver.onprem.yaml index 6445a12..6c2be48 100644 --- a/nlp/volumes/jobserver.onprem.yaml +++ b/nlp/volumes/jobserver.onprem.yaml @@ -14,7 +14,7 @@ spec: accessModes: - ReadWriteMany hostPath: - path: "/mnt/data" + path: "/mnt/data/fabricnlp" claimRef: namespace: fabricnlp name: nlp.jobserver diff --git a/nlp/volumes/mysqlbackup.onprem.yaml b/nlp/volumes/mysqlbackup.onprem.yaml index 6004f76..0b6c0b4 100644 --- a/nlp/volumes/mysqlbackup.onprem.yaml +++ b/nlp/volumes/mysqlbackup.onprem.yaml @@ -14,7 +14,7 @@ spec: accessModes: - ReadWriteMany hostPath: - path: "/mnt/data" + path: "/mnt/data/fabricnlp" claimRef: namespace: fabricnlp name: nlp.mysqlbackup diff --git a/nlp/volumes/mysqlserver.onprem.yaml b/nlp/volumes/mysqlserver.onprem.yaml index 4da5b9f..21edee8 100644 --- a/nlp/volumes/mysqlserver.onprem.yaml +++ b/nlp/volumes/mysqlserver.onprem.yaml @@ -13,7 +13,7 @@ spec: accessModes: - ReadWriteMany hostPath: - path: "/mnt/data" + path: "/mnt/data/fabricnlp" claimRef: namespace: fabricnlp name: nlp.mysqlserver diff --git a/nlp/volumes/solrserver.onprem.yaml b/nlp/volumes/solrserver.onprem.yaml index be52279..a67c0ec 100644 --- a/nlp/volumes/solrserver.onprem.yaml +++ b/nlp/volumes/solrserver.onprem.yaml @@ -14,7 +14,7 @@ spec: accessModes: - ReadWriteMany hostPath: - path: "/mnt/data" + path: "/mnt/data/fabricnlp" claimRef: namespace: fabricnlp name: nlp.solrserver diff --git a/realtime/installrealtimekubernetes.sh b/realtime/installrealtimekubernetes.sh index d3bb151..bd058fc 100644 --- a/realtime/installrealtimekubernetes.sh +++ b/realtime/installrealtimekubernetes.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | bash # GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -version="2018.02.16.02" +version="2018.03.14.01" echo "---- installrealtimekubernetes.sh version $version ------" @@ -40,7 +40,7 @@ else kubectl delete secret certpassword -n $namespace --ignore-not-found=true kubectl delete secret rabbitmqmgmtuipassword -n $namespace --ignore-not-found=true - sudo rm -rf /mnt/data/* + sudo rm -rf /mnt/data/fabricrealtime fi fi From deba974c8180b9363c9df8d3cfff36c30cf52664 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 15 Mar 2018 08:46:12 -0700 Subject: [PATCH 320/473] use WebClient to download files for better speed than HttpWebrequest Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 46 ++++++++++++++++++++++++++++++++++------ developer/doslibrary.ps1 | 5 +++++ developer/runengine.ps1 | 3 +++ kubernetes/common.sh | 6 +++--- 4 files changed, 50 insertions(+), 10 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index 91e3ae2..5dc9b36 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.03.13.01" +$versioncommon = "2018.03.15.01" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -738,7 +738,7 @@ function global:DeleteNetworkSecurityGroupRule($resourceGroup, $networkSecurityG function global:DownloadKubectl($localFolder) { # download kubectl $kubeCtlFile = "$localFolder\kubectl.exe" - $desiredKubeCtlVersion = "v1.9.2" + $desiredKubeCtlVersion = "v1.9.3" $downloadkubectl = "n" if (!(Test-Path "$kubeCtlFile")) { $downloadkubectl = "y" @@ -754,7 +754,11 @@ function global:DownloadKubectl($localFolder) { if ( $downloadkubectl -eq "y") { $url = "https://storage.googleapis.com/kubernetes-release/release/${desiredKubeCtlVersion}/bin/windows/amd64/kubectl.exe" Write-Host "Downloading kubectl.exe from url $url to $kubeCtlFile" - Remove-Item -Path "$kubeCtlFile" -Force + + If (Test-Path -Path "$kubeCtlFile"){ + Remove-Item -Path "$kubeCtlFile" -Force + } + DownloadFile -url $url -targetFile $kubeCtlFile } else { @@ -763,11 +767,39 @@ function global:DownloadKubectl($localFolder) { } -function global:DownloadFileNew($url, $targetFile) { - $wc = New-Object net.webclient - $wc.Downloadfile($url, $targetFile) -} function global:DownloadFile($url, $targetFile) { + # https://learn-powershell.net/2013/02/08/powershell-and-events-object-events/ + $web = New-Object System.Net.WebClient + $web.UseDefaultCredentials = $True + $Index = $url.LastIndexOf("/") + $file = $url.Substring($Index+1) + $newurl = $url.Substring(0,$index) + Register-ObjectEvent -InputObject $web -EventName DownloadFileCompleted ` + -SourceIdentifier Web.DownloadFileCompleted -Action { + $Global:isDownloaded = $True + } + Register-ObjectEvent -InputObject $web -EventName DownloadProgressChanged ` + -SourceIdentifier Web.DownloadProgressChanged -Action { + $Global:Data = $event + } + $web.DownloadFileAsync($url,($targetFile -f $file)) + While (-Not $isDownloaded) { + $percent = $Global:Data.SourceArgs.ProgressPercentage + $totalBytes = $Global:Data.SourceArgs.TotalBytesToReceive + $receivedBytes = $Global:Data.SourceArgs.BytesReceived + If ($percent -ne $null) { + Write-Progress -Activity ("Downloading {0} from {1}" -f $file,$newurl) ` + -Status ("{0} bytes \ {1} bytes" -f $receivedBytes,$totalBytes) -PercentComplete $percent + } + } + Write-Progress -Activity ("Downloading {0} from {1}" -f $file,$newurl) ` + -Status ("{0} bytes \ {1} bytes" -f $receivedBytes,$totalBytes) -Completed + + Unregister-Event -SourceIdentifier Web.DownloadFileCompleted + Unregister-Event -SourceIdentifier Web.DownloadProgressChanged + #endregion Download file from website +} +function global:DownloadFileOld($url, $targetFile) { # from https://stackoverflow.com/questions/21422364/is-there-any-way-to-monitor-the-progress-of-a-download-using-a-webclient-object $uri = New-Object "System.Uri" "$url" $request = [System.Net.HttpWebRequest]::Create($uri) diff --git a/developer/doslibrary.ps1 b/developer/doslibrary.ps1 index 5f7a073..e1a14a8 100644 --- a/developer/doslibrary.ps1 +++ b/developer/doslibrary.ps1 @@ -744,4 +744,9 @@ function downloadArtifactFromLatestBuild() { [io.compression.zipfile]::ExtractToDirectory($dropArchiveDestination, $artifactDestinationFolder) Write-Verbose -Verbose ('Build artifacts extracted into ' + $Env:BUILD_STAGINGDIRECTORY) +} + +function global:startDockerService(){ + # net start "com.docker.service" + # "C:\Program Files\Docker\Docker\Docker for Windows.exe" } \ No newline at end of file diff --git a/developer/runengine.ps1 b/developer/runengine.ps1 index c7773cd..b3adce7 100644 --- a/developer/runengine.ps1 +++ b/developer/runengine.ps1 @@ -40,6 +40,9 @@ while ($userinput -ne "q") { $userinput = Read-Host "Please make a selection" switch ($userinput) { '0' { + + startDockerService + runFabricEHRDocker createNodeUserOnSqlDatabase diff --git a/kubernetes/common.sh b/kubernetes/common.sh index 35b07a5..9c74a01 100644 --- a/kubernetes/common.sh +++ b/kubernetes/common.sh @@ -1,5 +1,5 @@ -versioncommon="2018.03.14.02" +versioncommon="2018.03.15.01" echo "--- Including common.sh version $versioncommon ---" function GetCommonVersion() { @@ -119,7 +119,7 @@ function AskForPassword () { mysqlrootpassword="" # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script - read -s -p "$prompt (leave empty for auto-generated)" mypasswordsecure < /dev/tty + read -p "$prompt (leave empty for auto-generated)" mypasswordsecure < /dev/tty echo "" # to get a new line if [[ -z "$mypasswordsecure" ]]; then mypassword="$(GeneratePassword)" @@ -147,7 +147,7 @@ function AskForPasswordAnyCharacters () { mysqlrootpassword="" # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script - read -s -p "$prompt (leave empty for auto-generated)" mypasswordsecure < /dev/tty + read -p "$prompt (leave empty for auto-generated)" mypasswordsecure < /dev/tty echo "" # to get a new line if [[ -z "$mypasswordsecure" ]]; then mypassword="$defaultvalue" From c7e90d9f12755c0750d47809a627089c4a266f7b Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 15 Mar 2018 09:50:14 -0700 Subject: [PATCH 321/473] fix checking if storage exists Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 42 +++++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index 5dc9b36..af56a5e 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.03.15.01" +$versioncommon = "2018.03.15.02" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -348,11 +348,9 @@ function global:CreateStorageIfNotExists($resourceGroup) { Write-Host "Using storage account: [$storageAccountName]" } Write-Host "Checking to see if storage account exists" - $storageAccountCanBeCreated = az storage account check-name --name $storageAccountName --query "nameAvailable" --output tsv - - if ($storageAccountCanBeCreated -ne "True" ) { - az storage account check-name --name $storageAccountName - + + $storageAccountConnectionString = az storage account show-connection-string --name $storageAccountName --resource-group $resourceGroup --query "name" --output tsv + if (![string]::IsNullOrEmpty($storageAccountConnectionString)) { Write-Warning "Storage account, [$storageAccountName], already exists. Deleting it will remove this data permanently" Do { $confirmation = Read-Host "Delete storage account: (WARNING: deletes data) (y/n)"} while ([string]::IsNullOrWhiteSpace($confirmation)) @@ -365,9 +363,15 @@ function global:CreateStorageIfNotExists($resourceGroup) { } } else { - Write-Host "Creating storage account: [${storageAccountName}]" - az storage account create -n $storageAccountName -g $resourceGroup -l $location --kind StorageV2 --sku Standard_LRS - } + $storageAccountCanBeCreated = az storage account check-name --name $storageAccountName --query "nameAvailable" --output tsv + if ($storageAccountCanBeCreated -ne "True" ) { + az storage account check-name --name $storageAccountName + Write-Error "$storageAccountName is not a valid storage account name" + } + else { + az storage account create -n $storageAccountName -g $resourceGroup -l $location --kind StorageV2 --sku Standard_LRS + } + } $Return.AKS_PERS_STORAGE_ACCOUNT_NAME = $storageAccountName return $Return @@ -755,7 +759,7 @@ function global:DownloadKubectl($localFolder) { $url = "https://storage.googleapis.com/kubernetes-release/release/${desiredKubeCtlVersion}/bin/windows/amd64/kubectl.exe" Write-Host "Downloading kubectl.exe from url $url to $kubeCtlFile" - If (Test-Path -Path "$kubeCtlFile"){ + If (Test-Path -Path "$kubeCtlFile") { Remove-Item -Path "$kubeCtlFile" -Force } @@ -772,28 +776,28 @@ function global:DownloadFile($url, $targetFile) { $web = New-Object System.Net.WebClient $web.UseDefaultCredentials = $True $Index = $url.LastIndexOf("/") - $file = $url.Substring($Index+1) - $newurl = $url.Substring(0,$index) + $file = $url.Substring($Index + 1) + $newurl = $url.Substring(0, $index) Register-ObjectEvent -InputObject $web -EventName DownloadFileCompleted ` - -SourceIdentifier Web.DownloadFileCompleted -Action { + -SourceIdentifier Web.DownloadFileCompleted -Action { $Global:isDownloaded = $True } Register-ObjectEvent -InputObject $web -EventName DownloadProgressChanged ` - -SourceIdentifier Web.DownloadProgressChanged -Action { + -SourceIdentifier Web.DownloadProgressChanged -Action { $Global:Data = $event } - $web.DownloadFileAsync($url,($targetFile -f $file)) + $web.DownloadFileAsync($url, ($targetFile -f $file)) While (-Not $isDownloaded) { $percent = $Global:Data.SourceArgs.ProgressPercentage $totalBytes = $Global:Data.SourceArgs.TotalBytesToReceive $receivedBytes = $Global:Data.SourceArgs.BytesReceived If ($percent -ne $null) { - Write-Progress -Activity ("Downloading {0} from {1}" -f $file,$newurl) ` - -Status ("{0} bytes \ {1} bytes" -f $receivedBytes,$totalBytes) -PercentComplete $percent + Write-Progress -Activity ("Downloading {0} from {1}" -f $file, $newurl) ` + -Status ("{0} bytes \ {1} bytes" -f $receivedBytes, $totalBytes) -PercentComplete $percent } } - Write-Progress -Activity ("Downloading {0} from {1}" -f $file,$newurl) ` - -Status ("{0} bytes \ {1} bytes" -f $receivedBytes,$totalBytes) -Completed + Write-Progress -Activity ("Downloading {0} from {1}" -f $file, $newurl) ` + -Status ("{0} bytes \ {1} bytes" -f $receivedBytes, $totalBytes) -Completed Unregister-Event -SourceIdentifier Web.DownloadFileCompleted Unregister-Event -SourceIdentifier Web.DownloadProgressChanged From 7aa01128487dc60fc47d15aee8c7762adf8cc3a6 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 15 Mar 2018 10:34:52 -0700 Subject: [PATCH 322/473] clean out namespace before deleting files Signed-off-by: HQCATALYST\imran.qureshi --- nlp/installnlpkubernetes.sh | 9 +++++++-- realtime/installrealtimekubernetes.sh | 7 ++++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/nlp/installnlpkubernetes.sh b/nlp/installnlpkubernetes.sh index 464d009..f8514de 100644 --- a/nlp/installnlpkubernetes.sh +++ b/nlp/installnlpkubernetes.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | bash # GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -version="2018.03.14.01" +version="2018.03.14.02" echo "---- installnlpkubernetes.sh version $version ------" @@ -33,10 +33,15 @@ else kubectl delete secret mysqlpassword -n $namespace --ignore-not-found=true kubectl delete secret smtprelaypassword -n $namespace --ignore-not-found=true - sudo rm -rf /mnt/data/fabricnlp + # have to remove the existing containers before we can delete the files + CleanOutNamespace $namespace + + sudo rm -rfv /mnt/data/fabricnlp fi fi +sudo mkdir -p /mnt/data/fabricnlp + customerid="$(ReadSecret customerid)" if [[ -z "$customerid" ]]; then echo "customerid not set" diff --git a/realtime/installrealtimekubernetes.sh b/realtime/installrealtimekubernetes.sh index bd058fc..156cfb5 100644 --- a/realtime/installrealtimekubernetes.sh +++ b/realtime/installrealtimekubernetes.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | bash # GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -version="2018.03.14.01" +version="2018.03.14.02" echo "---- installrealtimekubernetes.sh version $version ------" @@ -40,10 +40,15 @@ else kubectl delete secret certpassword -n $namespace --ignore-not-found=true kubectl delete secret rabbitmqmgmtuipassword -n $namespace --ignore-not-found=true + # have to remove the existing containers before we can delete the files + CleanOutNamespace $namespace + sudo rm -rf /mnt/data/fabricrealtime fi fi +sudo mkdir -p /mnt/data/fabricrealtime + customerid="$(ReadSecret customerid)" if [[ -z "$customerid" ]]; then echo "customerid not set" From 84e000d45c6fc7b658f05ca2016333607b733d0e Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 15 Mar 2018 15:33:38 -0700 Subject: [PATCH 323/473] add menu item to show realtime passwords Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 5705cc8..c2a533a 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.03.14.05" +version="2018.03.15.01" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -40,12 +40,13 @@ while [[ "$input" != "q" ]]; do echo "------ NLP -----" echo "41: Show status of NLP" # echo "42: Test web sites" - echo "43: Show passwords" + echo "43: Show NLP passwords" echo "44: Show detailed status of NLP" echo "45: Show NLP logs" # echo "46: Restart NLP" echo "------ Realtime -----" echo "51: Show status of realtime" + echo "53: Show realtime passwords" echo "54: Show Realtime detailed status" echo "55: Show Realtime logs" echo "-----------" From 0bec8a5f5e8a5b753b0096563bca45ebd4a8d732 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 15 Mar 2018 15:42:45 -0700 Subject: [PATCH 324/473] add menu item to show urls to download rabbitmq certs Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 16 +++++++++++++++- realtime/installrealtimekubernetes.sh | 4 ++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index c2a533a..ef0d29d 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.03.15.01" +version="2018.03.15.02" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -49,6 +49,7 @@ while [[ "$input" != "q" ]]; do echo "53: Show realtime passwords" echo "54: Show Realtime detailed status" echo "55: Show Realtime logs" + echo "56: Show urls to download client certificates" echo "-----------" echo "q: Quit" @@ -162,6 +163,19 @@ while [[ "$input" != "q" ]]; do read -n1 -r -p "Press space to continue..." key < /dev/tty done ;; + 56) certhostname=$(ReadSecretPassword certhostname fabricrealtime) + certpassword=$(ReadSecretPassword certpassword fabricrealtime) + url="http://${certhostname}:8081/client/fabricrabbitmquser_client_cert.p12" + echo "Download the client certificate:" + echo "$url" + echo "Double-click and install in Local Machine. password: $certpassword" + echo "Open Certificate Management, right click on cert and give everyone access to key" + + url="http://${certhostname}:8081/client/fabric_ca_cert.p12" + echo "Optional: Download the CA certificate:" + echo "$url" + echo "Double-click and install in Local Machine. password: $certpassword" + ;; q) echo "Exiting" ;; diff --git a/realtime/installrealtimekubernetes.sh b/realtime/installrealtimekubernetes.sh index 156cfb5..d24e1e2 100644 --- a/realtime/installrealtimekubernetes.sh +++ b/realtime/installrealtimekubernetes.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | bash # GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -version="2018.03.14.02" +version="2018.03.15.01" echo "---- installrealtimekubernetes.sh version $version ------" @@ -60,7 +60,7 @@ AskForPassword "mysqlrootpassword" "MySQL root password (> 8 chars, min 1 numbe AskForPassword "mysqlpassword" "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" "$namespace" -AskForSecretValue "certhostname" "Client Certificate hostname" "$namespace" +AskForSecretValue "certhostname" "Client Certificate hostname (Should be DNS name used to connect to the master VM)" "$namespace" AskForPassword "certpassword" "Client Certificate password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" "$namespace" From 3015ff23a9f0f23e2e5d2bf026e87b93e2456fac Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 16 Mar 2018 09:59:15 -0700 Subject: [PATCH 325/473] validate the template before running it so we can see any errors better. Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 4 +++- azure/create-acs-cluster.ps1 | 8 +++++++- kubernetes/common.sh | 3 +-- .../loadbalancer/pods/ingress-onprem.yaml | 10 +++++----- .../external/loadbalancer-onprem.yaml | 19 +++++++++++++++++++ kubernetes/main.sh | 15 ++++++++++++++- 6 files changed, 49 insertions(+), 10 deletions(-) create mode 100644 kubernetes/loadbalancer/services/external/loadbalancer-onprem.yaml diff --git a/azure/common.ps1 b/azure/common.ps1 index af56a5e..1386e60 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.03.15.02" +$versioncommon = "2018.03.16.01" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -674,6 +674,8 @@ function global:CheckIfUserLogged() { Write-Host "SubscriptionId: ${subscriptionId}" + az account get-access-token --subscription $subscriptionId + $Return.AKS_SUBSCRIPTION_ID = "$subscriptionId" return $Return } diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index 055c2bc..4a25cab 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -1,4 +1,4 @@ -Write-output "--- create-acs-cluster Version 2018.02.25.01 ----" +Write-output "--- create-acs-cluster Version 2018.03.16.01 ----" # # This script is meant for quick & easy install via: @@ -307,6 +307,12 @@ if ("$AKS_SUPPORT_WINDOWS_CONTAINERS" -eq "y") { # --master-vnet-subnet-id="$mysubnetid" ` # --agent-vnet-subnet-id="$mysubnetid" +Write-Output "Validating deployment" +az group deployment validate ` + --template-file "$acsoutputfolder\azuredeploy.json" ` + --resource-group $AKS_PERS_RESOURCE_GROUP ` + --parameters "$acsoutputfolder\azuredeploy.parameters.json" + Write-Output "Starting deployment..." az group deployment create ` diff --git a/kubernetes/common.sh b/kubernetes/common.sh index 9c74a01..a4cad79 100644 --- a/kubernetes/common.sh +++ b/kubernetes/common.sh @@ -170,7 +170,6 @@ function AskForSecretValue () { fi if [[ -z "$(kubectl get secret $secretname -n $namespace -o jsonpath='{.data}' --ignore-not-found=true)" ]]; then - mysqlrootpassword="" # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script read -p "${prompt}: " myvalue < /dev/tty @@ -284,4 +283,4 @@ function CleanOutNamespace(){ echo "Remaining items: $CLEANUP_DONE" sleep 5 done -} \ No newline at end of file +} diff --git a/kubernetes/loadbalancer/pods/ingress-onprem.yaml b/kubernetes/loadbalancer/pods/ingress-onprem.yaml index 20c4a0c..7060b45 100644 --- a/kubernetes/loadbalancer/pods/ingress-onprem.yaml +++ b/kubernetes/loadbalancer/pods/ingress-onprem.yaml @@ -4,18 +4,18 @@ metadata: name: traefik-ingress-controller namespace: kube-system labels: - k8s-app: traefik-ingress-lb + k8s-app: traefik-ingress-lb-onprem k8s-traefik: traefik spec: replicas: 1 selector: matchLabels: - k8s-app: traefik-ingress-lb + k8s-app: traefik-ingress-lb-onprem template: metadata: labels: - k8s-app: traefik-ingress-lb - name: traefik-ingress-lb + k8s-app: traefik-ingress-lb-onprem + name: traefik-ingress-lb-onprem k8s-traefik: traefik spec: # hostPort is broken on CNI (https://github.com/kubernetes/kubernetes/issues/31307) we have to use hostNetwork where CNI is used @@ -39,7 +39,7 @@ spec: name: traefik-conf containers: - image: traefik:1.5 - name: traefik-ingress-lb + name: traefik-ingress-lb-onprem volumeMounts: - mountPath: "/config" name: "config" diff --git a/kubernetes/loadbalancer/services/external/loadbalancer-onprem.yaml b/kubernetes/loadbalancer/services/external/loadbalancer-onprem.yaml new file mode 100644 index 0000000..66d5da4 --- /dev/null +++ b/kubernetes/loadbalancer/services/external/loadbalancer-onprem.yaml @@ -0,0 +1,19 @@ +kind: Service +apiVersion: v1 +metadata: + name: traefik-ingress-service-onprem + namespace: kube-system + labels: + k8s-traefik: traefik +spec: + selector: + k8s-app: traefik-ingress-lb-onprem + ports: + - protocol: TCP + port: 80 + name: web + - protocol: TCP + port: 443 + name: ssl + type: LoadBalancer +--- diff --git a/kubernetes/main.sh b/kubernetes/main.sh index ef0d29d..e90b17a 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -50,6 +50,7 @@ while [[ "$input" != "q" ]]; do echo "54: Show Realtime detailed status" echo "55: Show Realtime logs" echo "56: Show urls to download client certificates" + echo "57: Show DNS entries for /etc/hosts" echo "-----------" echo "q: Quit" @@ -176,7 +177,19 @@ while [[ "$input" != "q" ]]; do echo "$url" echo "Double-click and install in Local Machine. password: $certpassword" ;; - + 56) certhostname=$(ReadSecretPassword certhostname fabricrealtime) + certpassword=$(ReadSecretPassword certpassword fabricrealtime) + url="http://${certhostname}:8081/client/fabricrabbitmquser_client_cert.p12" + echo "Download the client certificate:" + echo "$url" + echo "Double-click and install in Local Machine. password: $certpassword" + echo "Open Certificate Management, right click on cert and give everyone access to key" + + url="http://${certhostname}:8081/client/fabric_ca_cert.p12" + echo "Optional: Download the CA certificate:" + echo "$url" + echo "Double-click and install in Local Machine. password: $certpassword" + ;; q) echo "Exiting" ;; *) echo "Menu item $1 is not known" From 4453c5363fc58de5dfd84c41573f9959a844e94a Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 16 Mar 2018 11:28:53 -0700 Subject: [PATCH 326/473] add onprem ingress Signed-off-by: HQCATALYST\imran.qureshi --- .../loadbalancer/ingress/default-onprem.yaml | 20 +++++++++++ .../services/cluster/dashboard-onprem.yaml | 13 +++++++ kubernetes/setup-loadbalancer.sh | 34 +++++++++++-------- 3 files changed, 52 insertions(+), 15 deletions(-) create mode 100644 kubernetes/loadbalancer/ingress/default-onprem.yaml create mode 100644 kubernetes/loadbalancer/services/cluster/dashboard-onprem.yaml diff --git a/kubernetes/loadbalancer/ingress/default-onprem.yaml b/kubernetes/loadbalancer/ingress/default-onprem.yaml new file mode 100644 index 0000000..8541e06 --- /dev/null +++ b/kubernetes/loadbalancer/ingress/default-onprem.yaml @@ -0,0 +1,20 @@ +# default backend so if no rules match it goes here +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: traefik-default-route-onprem + namespace: kube-system + labels: + k8s-traefik: traefik + expose: external + annotations: + kubernetes.io/ingress.class: traefik +spec: + rules: + - http: + paths: + - backend: + serviceName: traefik-dashboard-onprem + servicePort: 80 +--- + diff --git a/kubernetes/loadbalancer/services/cluster/dashboard-onprem.yaml b/kubernetes/loadbalancer/services/cluster/dashboard-onprem.yaml new file mode 100644 index 0000000..ffac2f4 --- /dev/null +++ b/kubernetes/loadbalancer/services/cluster/dashboard-onprem.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Service +metadata: + name: traefik-dashboard-onprem + namespace: kube-system + labels: + k8s-traefik: traefik +spec: + selector: + k8s-app: traefik-ingress-lb-onprem + ports: + - port: 80 + targetPort: 8080 \ No newline at end of file diff --git a/kubernetes/setup-loadbalancer.sh b/kubernetes/setup-loadbalancer.sh index 0ff3413..f531c3a 100644 --- a/kubernetes/setup-loadbalancer.sh +++ b/kubernetes/setup-loadbalancer.sh @@ -9,7 +9,7 @@ GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/mast source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh?p=$RANDOM") # source ./kubernetes/common.sh -version="2018.03.13.03" +version="2018.03.16.01" echo "---- setup-loadbalancer.sh version $version ------" @@ -27,30 +27,34 @@ dnsrecordname="$customerid.healthcatalyst.net" SaveSecretValue customerid "value" $customerid -# ReadYamlAndReplaceCustomer $GITHUB_URL "azure/ingress-roles.yml" $customerid - -echo "Downloading $GITHUB_URL/kubernetes/loadbalancer/configmaps/config.yaml" -ReadYamlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/configmaps/config.yaml" $customerid \ +yamlfile="kubernetes/loadbalancer/configmaps/config.yaml" +echo "Downloading $GITHUB_URL/$yamlfile" +ReadYamlAndReplaceCustomer $GITHUB_URL "$yamlfile" $customerid \ | kubectl apply -f - -echo "Downloading $GITHUB_URL/kubernetes/loadbalancer/roles/ingress-roles.yaml" -ReadYamlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/roles/ingress-roles.yaml" $customerid \ +yamlfile="kubernetes/loadbalancer/roles/ingress-roles.yaml" +echo "Downloading $GITHUB_URL/$yamlfile" +ReadYamlAndReplaceCustomer $GITHUB_URL "$yamlfile" $customerid \ | kubectl apply -f - -echo "Downloading $GITHUB_URL/kubernetes/loadbalancer/pods/ingress-onprem.yaml" -ReadYamlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/pods/ingress-onprem.yaml" $customerid \ +yamlfile="kubernetes/loadbalancer/pods/ingress-onprem.yaml" +echo "Downloading $GITHUB_URL/$yamlfile" +ReadYamlAndReplaceCustomer $GITHUB_URL "$yamlfile" $customerid \ | kubectl apply -f - -echo "Downloading $GITHUB_URL/kubernetes/loadbalancer/services/external/loadbalancer-internal.yaml" -ReadYamlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/services/external/loadbalancer-internal.yaml" $customerid \ +yamlfile="kubernetes/loadbalancer/services/cluster/dashboard-onprem.yaml" +echo "Downloading $GITHUB_URL/$yamlfile" +ReadYamlAndReplaceCustomer $GITHUB_URL "$yamlfile" $customerid \ | kubectl apply -f - -echo "Downloading $GITHUB_URL/kubernetes/loadbalancer/ingress/dashboard.yaml" -ReadYamlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/ingress/dashboard.yaml" $customerid \ +yamlfile="kubernetes/loadbalancer/services/external/loadbalancer-onprem.yaml" +echo "Downloading $GITHUB_URL/$yamlfile" +ReadYamlAndReplaceCustomer $GITHUB_URL "$yamlfile" $customerid \ | kubectl apply -f - -echo "Downloading $GITHUB_URL/kubernetes/loadbalancer/ingress/default-internal.yaml" -ReadYamlAndReplaceCustomer $GITHUB_URL "kubernetes/loadbalancer/ingress/default-internal.yaml" $customerid \ +yamlfile="kubernetes/loadbalancer/ingress/default-onprem.yaml" +echo "Downloading $GITHUB_URL/$yamlfile" +ReadYamlAndReplaceCustomer $GITHUB_URL "$yamlfile" $customerid \ | kubectl apply -f - loadbalancer="traefik-ingress-service-public" From 59c0cc205218b526d716fb9d2f91698f2604491e Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 16 Mar 2018 11:39:59 -0700 Subject: [PATCH 327/473] add expose:external to realtime ingress Signed-off-by: HQCATALYST\imran.qureshi --- realtime/ingress/http/web.onprem.yaml | 10 ++++++---- realtime/ingress/http/web.ssl.yaml | 2 ++ realtime/ingress/http/web.yaml | 2 ++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/realtime/ingress/http/web.onprem.yaml b/realtime/ingress/http/web.onprem.yaml index 41056c9..441ffe2 100644 --- a/realtime/ingress/http/web.onprem.yaml +++ b/realtime/ingress/http/web.onprem.yaml @@ -1,10 +1,12 @@ apiVersion: extensions/v1beta1 kind: Ingress metadata: - name: realtime.ingress - namespace: fabricrealtime - annotations: - kubernetes.io/ingress.class: traefik + name: realtime.ingress + namespace: fabricrealtime + labels: + expose: external + annotations: + kubernetes.io/ingress.class: traefik spec: rules: - http: diff --git a/realtime/ingress/http/web.ssl.yaml b/realtime/ingress/http/web.ssl.yaml index 18d712c..436a64e 100644 --- a/realtime/ingress/http/web.ssl.yaml +++ b/realtime/ingress/http/web.ssl.yaml @@ -3,6 +3,8 @@ kind: Ingress metadata: name: realtime.ingress namespace: fabricrealtime + labels: + expose: external annotations: kubernetes.io/ingress.class: traefik spec: diff --git a/realtime/ingress/http/web.yaml b/realtime/ingress/http/web.yaml index cf58d07..fa2bddf 100644 --- a/realtime/ingress/http/web.yaml +++ b/realtime/ingress/http/web.yaml @@ -3,6 +3,8 @@ kind: Ingress metadata: name: realtime.ingress namespace: fabricrealtime + labels: + expose: external annotations: kubernetes.io/ingress.class: traefik spec: From 4d1320e2a0bf6f0c7acb1be3b329b364bac86539 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 16 Mar 2018 12:15:06 -0700 Subject: [PATCH 328/473] use rewrite to fix url for certificate server Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/loadbalancer/pods/ingress-onprem.yaml | 2 +- kubernetes/main.sh | 5 ++++- realtime/ingress/http/web.onprem.yaml | 3 +++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/kubernetes/loadbalancer/pods/ingress-onprem.yaml b/kubernetes/loadbalancer/pods/ingress-onprem.yaml index 7060b45..674d00e 100644 --- a/kubernetes/loadbalancer/pods/ingress-onprem.yaml +++ b/kubernetes/loadbalancer/pods/ingress-onprem.yaml @@ -1,7 +1,7 @@ kind: Deployment apiVersion: extensions/v1beta1 metadata: - name: traefik-ingress-controller + name: traefik-ingress-controller-onprem namespace: kube-system labels: k8s-app: traefik-ingress-lb-onprem diff --git a/kubernetes/main.sh b/kubernetes/main.sh index e90b17a..1b11db2 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -37,6 +37,7 @@ while [[ "$input" != "q" ]]; do # echo "32: Launch Kubernetes Admin Dashboard" # echo "33: View status of DNS pods" # echo "34: Apply updates and restart all VMs" + echo "35: Show load balancer logs" echo "------ NLP -----" echo "41: Show status of NLP" # echo "42: Test web sites" @@ -118,7 +119,9 @@ while [[ "$input" != "q" ]]; do kubectl version --short kubectl get "deployments,pods,services,nodes,ingress,secrets" --namespace=kube-system -o wide ;; - 41) kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide + 35) kubectl logs --namespace=kube-system -l k8s-app=traefik-ingress-lb-onprem + ;; + 41) kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide ;; 43) Write-Host "MySql root password: $(ReadSecretPassword mysqlrootpassword fabricnlp)" Write-Host "MySql NLP_APP_USER password: $(ReadSecretPassword mysqlpassword fabricnlp)" diff --git a/realtime/ingress/http/web.onprem.yaml b/realtime/ingress/http/web.onprem.yaml index 441ffe2..eecc665 100644 --- a/realtime/ingress/http/web.onprem.yaml +++ b/realtime/ingress/http/web.onprem.yaml @@ -7,6 +7,9 @@ metadata: expose: external annotations: kubernetes.io/ingress.class: traefik + # change /certificates to / + # https://docs.giantswarm.io/guides/advanced-ingress-configuration/ + ingress.kubernetes.io/rewrite-target: / spec: rules: - http: From 7b159df316da40a589e2b81010dc04e395fdb7ab Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 16 Mar 2018 12:31:46 -0700 Subject: [PATCH 329/473] fix urls we show for realtime Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 31 +++++++++++---------------- realtime/installrealtimekubernetes.sh | 15 +------------ 2 files changed, 14 insertions(+), 32 deletions(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 1b11db2..1c11963 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.03.15.02" +version="2018.03.16.01" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -40,13 +40,14 @@ while [[ "$input" != "q" ]]; do echo "35: Show load balancer logs" echo "------ NLP -----" echo "41: Show status of NLP" - # echo "42: Test web sites" + echo "42: Test web sites" echo "43: Show NLP passwords" echo "44: Show detailed status of NLP" echo "45: Show NLP logs" # echo "46: Restart NLP" echo "------ Realtime -----" echo "51: Show status of realtime" + echo "52: Show web site urls" echo "53: Show realtime passwords" echo "54: Show Realtime detailed status" echo "55: Show Realtime logs" @@ -121,7 +122,7 @@ while [[ "$input" != "q" ]]; do ;; 35) kubectl logs --namespace=kube-system -l k8s-app=traefik-ingress-lb-onprem ;; - 41) kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide + 41) kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide ;; 43) Write-Host "MySql root password: $(ReadSecretPassword mysqlrootpassword fabricnlp)" Write-Host "MySql NLP_APP_USER password: $(ReadSecretPassword mysqlpassword fabricnlp)" @@ -145,6 +146,8 @@ while [[ "$input" != "q" ]]; do ;; 51) kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime -o wide ;; + 52) echo "" + ;; 53) Write-Host "MySql root password: $(ReadSecretPassword mysqlrootpassword fabricrealtime)" Write-Host "MySql NLP_APP_USER password: $(ReadSecretPassword mysqlpassword fabricrealtime)" Write-Host "certhostname: $(ReadSecretPassword certhostname fabricrealtime)" @@ -169,30 +172,22 @@ while [[ "$input" != "q" ]]; do ;; 56) certhostname=$(ReadSecretPassword certhostname fabricrealtime) certpassword=$(ReadSecretPassword certpassword fabricrealtime) - url="http://${certhostname}:8081/client/fabricrabbitmquser_client_cert.p12" + url="http://${certhostname}/certificates/client/fabricrabbitmquser_client_cert.p12" echo "Download the client certificate:" echo "$url" echo "Double-click and install in Local Machine. password: $certpassword" echo "Open Certificate Management, right click on cert and give everyone access to key" - url="http://${certhostname}:8081/client/fabric_ca_cert.p12" - echo "Optional: Download the CA certificate:" - echo "$url" - echo "Double-click and install in Local Machine. password: $certpassword" - ;; - 56) certhostname=$(ReadSecretPassword certhostname fabricrealtime) - certpassword=$(ReadSecretPassword certpassword fabricrealtime) - url="http://${certhostname}:8081/client/fabricrabbitmquser_client_cert.p12" - echo "Download the client certificate:" - echo "$url" - echo "Double-click and install in Local Machine. password: $certpassword" - echo "Open Certificate Management, right click on cert and give everyone access to key" - - url="http://${certhostname}:8081/client/fabric_ca_cert.p12" + url="http://${certhostname}/certificates/client/fabric_ca_cert.p12" echo "Optional: Download the CA certificate:" echo "$url" echo "Double-click and install in Local Machine. password: $certpassword" ;; + 57) echo "If you didn't setup DNS, add the following entries in your c:\windows\system32\drivers\etc\hosts file to access the urls from your browser" + loadBalancerIP="$(dig +short myip.opendns.com @resolver1.opendns.com)" + certhostname=$(ReadSecretPassword certhostname fabricrealtime) + echo "$loadBalancerIP $certhostname" + ;; q) echo "Exiting" ;; *) echo "Menu item $1 is not known" diff --git a/realtime/installrealtimekubernetes.sh b/realtime/installrealtimekubernetes.sh index d24e1e2..90418bd 100644 --- a/realtime/installrealtimekubernetes.sh +++ b/realtime/installrealtimekubernetes.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | bash # GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -version="2018.03.15.01" +version="2018.03.16.01" echo "---- installrealtimekubernetes.sh version $version ------" @@ -133,17 +133,4 @@ Write-Output "curl -L --verbose --header 'Host: certificates.$customerid.healthc Write-Output "Connect to interface engine at: $publicip port 6661" -Write-Output "if you want, you can download the CA (Certificate Authority) cert from this url" -Write-Output "http://certificates.$customerid.healthcatalyst.net/client/fabric_ca_cert.p12" - -Write-Output "-------------------------------" -Write-Output "you can download the client certificate from this url:" -Write-Output "http://certificates.$customerid.healthcatalyst.net/client/fabricrabbitmquser_client_cert.p12" -Write-Output "-------------------------------" - -echo "If you didn't setup DNS, add the following entries in your c:\windows\system32\drivers\etc\hosts file to access the urls from your browser" -echo "$loadBalancerIP solr.$customerid.healthcatalyst.net" -echo "$loadBalancerIP nlp.$customerid.healthcatalyst.net" -echo "$loadBalancerIP nlpjobs.$customerid.healthcatalyst.net" - echo "---- end of installrealtimekubernetes.sh version $version ------" From 1d0950e0e00c9d035f70b6a9db1d864f3fc093f9 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 16 Mar 2018 12:45:47 -0700 Subject: [PATCH 330/473] use ReadSecret instead of ReadSecretPassword Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 1c11963..af618b8 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.03.16.01" +version="2018.03.16.02" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -150,7 +150,7 @@ while [[ "$input" != "q" ]]; do ;; 53) Write-Host "MySql root password: $(ReadSecretPassword mysqlrootpassword fabricrealtime)" Write-Host "MySql NLP_APP_USER password: $(ReadSecretPassword mysqlpassword fabricrealtime)" - Write-Host "certhostname: $(ReadSecretPassword certhostname fabricrealtime)" + Write-Host "certhostname: $(ReadSecret certhostname fabricrealtime)" Write-Host "certpassword: $(ReadSecretPassword certpassword fabricrealtime)" Write-Host "rabbitmqmgmtuipassword: $(ReadSecretPassword rabbitmqmgmtuipassword fabricrealtime)" ;; @@ -170,7 +170,7 @@ while [[ "$input" != "q" ]]; do read -n1 -r -p "Press space to continue..." key < /dev/tty done ;; - 56) certhostname=$(ReadSecretPassword certhostname fabricrealtime) + 56) certhostname=$(ReadSecret certhostname fabricrealtime) certpassword=$(ReadSecretPassword certpassword fabricrealtime) url="http://${certhostname}/certificates/client/fabricrabbitmquser_client_cert.p12" echo "Download the client certificate:" @@ -185,7 +185,7 @@ while [[ "$input" != "q" ]]; do ;; 57) echo "If you didn't setup DNS, add the following entries in your c:\windows\system32\drivers\etc\hosts file to access the urls from your browser" loadBalancerIP="$(dig +short myip.opendns.com @resolver1.opendns.com)" - certhostname=$(ReadSecretPassword certhostname fabricrealtime) + certhostname="$(ReadSecret certhostname fabricrealtime)" echo "$loadBalancerIP $certhostname" ;; q) echo "Exiting" From 2f7c7d21de89a6d78f36002833fc238e70780eb0 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 16 Mar 2018 12:56:16 -0700 Subject: [PATCH 331/473] try another way to do certificate url Signed-off-by: HQCATALYST\imran.qureshi --- realtime/ingress/http/web.onprem.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/realtime/ingress/http/web.onprem.yaml b/realtime/ingress/http/web.onprem.yaml index eecc665..0b5cace 100644 --- a/realtime/ingress/http/web.onprem.yaml +++ b/realtime/ingress/http/web.onprem.yaml @@ -10,11 +10,14 @@ metadata: # change /certificates to / # https://docs.giantswarm.io/guides/advanced-ingress-configuration/ ingress.kubernetes.io/rewrite-target: / + ingress.kubernetes.io/add-base-url: 'true' + # https://docs.traefik.io/configuration/backends/kubernetes/ + # traefik.frontend.rule.type: pathprefixstrip spec: rules: - http: paths: - - path: /certificates + - path: /certificates/ backend: serviceName: certificateserverpublic servicePort: 80 From beac9409c7ea311f5cae3e5dad6b78b386c56ba9 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 16 Mar 2018 14:25:52 -0700 Subject: [PATCH 332/473] use kubectl apply instead of kubectl create Signed-off-by: HQCATALYST\imran.qureshi --- realtime/ingress/http/web.onprem.yaml | 4 +++- realtime/installrealtimekubernetes.sh | 20 ++++++++++---------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/realtime/ingress/http/web.onprem.yaml b/realtime/ingress/http/web.onprem.yaml index 0b5cace..913a596 100644 --- a/realtime/ingress/http/web.onprem.yaml +++ b/realtime/ingress/http/web.onprem.yaml @@ -9,8 +9,10 @@ metadata: kubernetes.io/ingress.class: traefik # change /certificates to / # https://docs.giantswarm.io/guides/advanced-ingress-configuration/ + # https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/annotations.md + # https://github.com/kubernetes/ingress-nginx/blob/master/docs/examples/rewrite/README.md ingress.kubernetes.io/rewrite-target: / - ingress.kubernetes.io/add-base-url: 'true' + ingress.kubernetes.io/add-base-url: "true" # https://docs.traefik.io/configuration/backends/kubernetes/ # traefik.frontend.rule.type: pathprefixstrip spec: diff --git a/realtime/installrealtimekubernetes.sh b/realtime/installrealtimekubernetes.sh index 90418bd..c557601 100644 --- a/realtime/installrealtimekubernetes.sh +++ b/realtime/installrealtimekubernetes.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | bash # GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -version="2018.03.16.01" +version="2018.03.16.02" echo "---- installrealtimekubernetes.sh version $version ------" @@ -22,8 +22,8 @@ fi if [[ -z $(kubectl get namespace $namespace --ignore-not-found=true) ]]; then echo "Creating namespace: $namespace" - # kubectl create -f $GITHUB_URL/nlp/nlp-namespace.yml - kubectl create namespace $namespace + # kubectl apply -f $GITHUB_URL/nlp/nlp-namespace.yml + kubectl apply namespace $namespace else while : ; do read -p "Namespace exists. Do you want to delete passwords and ALL data stored in this namespace? (y/n): " deleteSecrets < /dev/tty @@ -73,7 +73,7 @@ folder="volumes" for fname in "certificateserver.onprem.yaml" "mysqlserver.onprem.yaml" "rabbitmq-cert.onprem.yaml" "rabbitmq.onprem.yaml" do echo "Deploying realtime/$folder/$fname" - ReadYamlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl create -f - + ReadYamlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl apply -f - done echo "-- Deploying volume claims --" @@ -81,7 +81,7 @@ folder="volumeclaims" for fname in "certificateserver.yaml" "mysqlserver.yaml" "rabbitmq-cert.yaml" "rabbitmq.yaml" do echo "Deploying realtime/$folder/$fname" - ReadYamlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl create -f - + ReadYamlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl apply -f - done echo "-- Deploying pods --" @@ -89,7 +89,7 @@ folder="pods" for fname in "certificateserver.yaml" "mysqlserver.yaml" "interfaceengine.yaml" "rabbitmq.yaml" do echo "Deploying realtime/$folder/$fname" - ReadYamlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl create -f - + ReadYamlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl apply -f - done echo "-- Deploying cluster services --" @@ -97,7 +97,7 @@ folder="services/cluster" for fname in "certificateserver.yaml" "mysqlserver.yaml" "interfaceengine.yaml" "rabbitmq.yaml" do echo "Deploying realtime/$folder/$fname" - ReadYamlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl create -f - + ReadYamlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl apply -f - done echo "-- Deploying external services --" @@ -105,7 +105,7 @@ folder="services/external" for fname in "certificateserver.yaml" do echo "Deploying realtime/$folder/$fname" - ReadYamlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl create -f - + ReadYamlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl apply -f - done echo "-- Deploying HTTP proxies --" @@ -113,7 +113,7 @@ folder="ingress/http" for fname in "web.onprem.yaml" do echo "Deploying realtime/$folder/$fname" - ReadYamlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl create -f - + ReadYamlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl apply -f - done kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=$namespace -o wide @@ -123,7 +123,7 @@ WaitForPodsInNamespace $namespace 5 # to get a shell # kubectl exec -it fabric.nlp.nlpwebserver-85c8cb86b5-gkphh bash --namespace=fabricnlp -# kubectl create secret generic azure-secret --namespace=fabricnlp --from-literal=azurestorageaccountname="fabricnlp7storage" --from-literal=azurestorageaccountkey="/bYhXNstTodg3MdOvTMog/vDLSFrQDpxG/Zgkp2MlnjtOWhDBNQ2xOs6zjRoZYNjmJHya34MfzqdfOwXkMDN2A==" +# kubectl apply secret generic azure-secret --namespace=fabricnlp --from-literal=azurestorageaccountname="fabricnlp7storage" --from-literal=azurestorageaccountkey="/bYhXNstTodg3MdOvTMog/vDLSFrQDpxG/Zgkp2MlnjtOWhDBNQ2xOs6zjRoZYNjmJHya34MfzqdfOwXkMDN2A==" loadBalancerIP="$(dig +short myip.opendns.com @resolver1.opendns.com)" echo "My WAN/Public IP address: ${loadBalancerIP}" From 09f761a4301c01847441a19fc0d018ac6ce4b5b8 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 16 Mar 2018 15:03:51 -0700 Subject: [PATCH 333/473] use traefik PathPrefixStrip Signed-off-by: HQCATALYST\imran.qureshi --- realtime/ingress/http/web.onprem.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/realtime/ingress/http/web.onprem.yaml b/realtime/ingress/http/web.onprem.yaml index 913a596..90d3d93 100644 --- a/realtime/ingress/http/web.onprem.yaml +++ b/realtime/ingress/http/web.onprem.yaml @@ -11,15 +11,15 @@ metadata: # https://docs.giantswarm.io/guides/advanced-ingress-configuration/ # https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/annotations.md # https://github.com/kubernetes/ingress-nginx/blob/master/docs/examples/rewrite/README.md - ingress.kubernetes.io/rewrite-target: / - ingress.kubernetes.io/add-base-url: "true" + # ingress.kubernetes.io/rewrite-target: / + # ingress.kubernetes.io/add-base-url: "true" # https://docs.traefik.io/configuration/backends/kubernetes/ - # traefik.frontend.rule.type: pathprefixstrip + traefik.frontend.rule.type: PathPrefixStrip spec: rules: - http: paths: - - path: /certificates/ + - path: /certificates backend: serviceName: certificateserverpublic servicePort: 80 From c77be49b65e9cdb02a221b0ac4b89aa14d1c7855 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 16 Mar 2018 17:16:09 -0700 Subject: [PATCH 334/473] add yaml files to expose rabbitmq mgmt screen Signed-off-by: HQCATALYST\imran.qureshi --- .../loadbalancer/pods/ingress-onprem.yaml | 2 ++ kubernetes/main.sh | 2 +- realtime/ingress/http/rabbitmq-onprem.yaml | 26 +++++++++++++++++++ realtime/installrealtimekubernetes.sh | 4 +-- realtime/pods/rabbitmq.yaml | 2 ++ realtime/services/external/rabbitmq.yaml | 14 ++++++++++ 6 files changed, 47 insertions(+), 3 deletions(-) create mode 100644 realtime/ingress/http/rabbitmq-onprem.yaml create mode 100644 realtime/services/external/rabbitmq.yaml diff --git a/kubernetes/loadbalancer/pods/ingress-onprem.yaml b/kubernetes/loadbalancer/pods/ingress-onprem.yaml index 674d00e..13facbd 100644 --- a/kubernetes/loadbalancer/pods/ingress-onprem.yaml +++ b/kubernetes/loadbalancer/pods/ingress-onprem.yaml @@ -52,4 +52,6 @@ spec: - --configfile=/config/traefik.toml - --logLevel=INFO - --kubernetes.labelselector=expose=external + - --kubernetes.debugloggeneratedtemplate + - --accesslog --- diff --git a/kubernetes/main.sh b/kubernetes/main.sh index af618b8..662b79e 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -120,7 +120,7 @@ while [[ "$input" != "q" ]]; do kubectl version --short kubectl get "deployments,pods,services,nodes,ingress,secrets" --namespace=kube-system -o wide ;; - 35) kubectl logs --namespace=kube-system -l k8s-app=traefik-ingress-lb-onprem + 35) kubectl logs --namespace=kube-system -l k8s-app=traefik-ingress-lb-onprem --tail=100 ;; 41) kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide ;; diff --git a/realtime/ingress/http/rabbitmq-onprem.yaml b/realtime/ingress/http/rabbitmq-onprem.yaml new file mode 100644 index 0000000..4b7c5c8 --- /dev/null +++ b/realtime/ingress/http/rabbitmq-onprem.yaml @@ -0,0 +1,26 @@ +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: realtime.ingress.rabbitmq + namespace: fabricrealtime + labels: + expose: external + annotations: + kubernetes.io/ingress.class: traefik + ingress.kubernetes.io/ssl-passthrough: "true" + # change /certificates to / + # https://docs.giantswarm.io/guides/advanced-ingress-configuration/ + # https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/annotations.md + # https://github.com/kubernetes/ingress-nginx/blob/master/docs/examples/rewrite/README.md + # ingress.kubernetes.io/rewrite-target: / + ingress.kubernetes.io/add-base-url: "true" + # https://docs.traefik.io/configuration/backends/kubernetes/ + traefik.frontend.rule.type: PathPrefixStrip +spec: + rules: + - http: + paths: + - path: /rabbitmq + backend: + serviceName: rabbitmqpublic + servicePort: 80 diff --git a/realtime/installrealtimekubernetes.sh b/realtime/installrealtimekubernetes.sh index c557601..e7ddbe8 100644 --- a/realtime/installrealtimekubernetes.sh +++ b/realtime/installrealtimekubernetes.sh @@ -102,7 +102,7 @@ done echo "-- Deploying external services --" folder="services/external" -for fname in "certificateserver.yaml" +for fname in "certificateserver.yaml" "rabbitmq.yaml" do echo "Deploying realtime/$folder/$fname" ReadYamlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl apply -f - @@ -110,7 +110,7 @@ done echo "-- Deploying HTTP proxies --" folder="ingress/http" -for fname in "web.onprem.yaml" +for fname in "web.onprem.yaml" "rabbitmq-onprem.yaml" do echo "Deploying realtime/$folder/$fname" ReadYamlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl apply -f - diff --git a/realtime/pods/rabbitmq.yaml b/realtime/pods/rabbitmq.yaml index e952f15..4a538fb 100644 --- a/realtime/pods/rabbitmq.yaml +++ b/realtime/pods/rabbitmq.yaml @@ -45,6 +45,8 @@ spec: value: "/opt/rabbitmq" - name: RABBITMQ_LOGS value: "-" + - name: DISABLE_SSL + value: "true" ports: # expose port 3000 - containerPort: 5671 diff --git a/realtime/services/external/rabbitmq.yaml b/realtime/services/external/rabbitmq.yaml new file mode 100644 index 0000000..6ebf4aa --- /dev/null +++ b/realtime/services/external/rabbitmq.yaml @@ -0,0 +1,14 @@ +# ----- Services exposed to the outside world ------ +# solr web server +kind: Service +apiVersion: v1 +metadata: + name: rabbitmqpublic + namespace: fabricrealtime +spec: + selector: + app: rabbitmq + ports: + - port: 80 + targetPort: 15672 +--- From 8d264c72eb37c71257323999b19a2bbaeb77b8ae Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 16 Mar 2018 17:44:20 -0700 Subject: [PATCH 335/473] fix yaml for rabbitmq mgmt ui Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 2 ++ realtime/ingress/http/rabbitmq-onprem.yaml | 6 +++--- realtime/pods/rabbitmq.yaml | 4 ++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 662b79e..904c52a 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -182,6 +182,8 @@ while [[ "$input" != "q" ]]; do echo "Optional: Download the CA certificate:" echo "$url" echo "Double-click and install in Local Machine. password: $certpassword" + + echo "RabbitMq Mgmt UI is at: http://${certhostname}/rabbitmqmgmt/" ;; 57) echo "If you didn't setup DNS, add the following entries in your c:\windows\system32\drivers\etc\hosts file to access the urls from your browser" loadBalancerIP="$(dig +short myip.opendns.com @resolver1.opendns.com)" diff --git a/realtime/ingress/http/rabbitmq-onprem.yaml b/realtime/ingress/http/rabbitmq-onprem.yaml index 4b7c5c8..0861caf 100644 --- a/realtime/ingress/http/rabbitmq-onprem.yaml +++ b/realtime/ingress/http/rabbitmq-onprem.yaml @@ -13,14 +13,14 @@ metadata: # https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/annotations.md # https://github.com/kubernetes/ingress-nginx/blob/master/docs/examples/rewrite/README.md # ingress.kubernetes.io/rewrite-target: / - ingress.kubernetes.io/add-base-url: "true" + # ingress.kubernetes.io/add-base-url: "true" # https://docs.traefik.io/configuration/backends/kubernetes/ - traefik.frontend.rule.type: PathPrefixStrip + # traefik.frontend.rule.type: PathPrefixStrip spec: rules: - http: paths: - - path: /rabbitmq + - path: /rabbitmqmgmt backend: serviceName: rabbitmqpublic servicePort: 80 diff --git a/realtime/pods/rabbitmq.yaml b/realtime/pods/rabbitmq.yaml index 4a538fb..ea28c73 100644 --- a/realtime/pods/rabbitmq.yaml +++ b/realtime/pods/rabbitmq.yaml @@ -45,8 +45,8 @@ spec: value: "/opt/rabbitmq" - name: RABBITMQ_LOGS value: "-" - - name: DISABLE_SSL - value: "true" + # - name: DISABLE_SSL + # value: "true" ports: # expose port 3000 - containerPort: 5671 From de4cdd1f054c6f6ae64b7b6946cdfb6817e8fb63 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Sun, 18 Mar 2018 18:01:33 -0700 Subject: [PATCH 336/473] added tcp proxies for interface engine and rabbitmq Signed-off-by: HQCATALYST\imran.qureshi --- .../ingress/tcp/interfaceengine.onprem.yaml | 48 +++++++++++++++++++ realtime/ingress/tcp/rabbitmq.onprem.yaml | 48 +++++++++++++++++++ realtime/installrealtimekubernetes.sh | 8 ++++ 3 files changed, 104 insertions(+) create mode 100644 realtime/ingress/tcp/interfaceengine.onprem.yaml create mode 100644 realtime/ingress/tcp/rabbitmq.onprem.yaml diff --git a/realtime/ingress/tcp/interfaceengine.onprem.yaml b/realtime/ingress/tcp/interfaceengine.onprem.yaml new file mode 100644 index 0000000..6b357f1 --- /dev/null +++ b/realtime/ingress/tcp/interfaceengine.onprem.yaml @@ -0,0 +1,48 @@ +# https://github.com/kubernetes/contrib/tree/master/for-demos/proxy-to-service +# https://stackoverflow.com/questions/47057176/how-to-access-kubernetes-service-externally-on-bare-metal-install +kind: Deployment +apiVersion: extensions/v1beta1 +metadata: +# name for this pod + name: tcp-proxy-interfaceengine +# namespace for this pod + namespace: fabricrealtime + labels: + app: interfaceengine +spec: + replicas: 1 + revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. + strategy: + type: Recreate + selector: + matchLabels: + app: tcp-proxy-interfaceengine + template: + metadata: + labels: + app: tcp-proxy-interfaceengine + spec: + # hostPort is broken on CNI (https://github.com/kubernetes/kubernetes/issues/31307) we have to use hostNetwork where CNI is used + hostNetwork: true + dnsPolicy: ClusterFirstWithHostNet + # run on master node so we use the IP of the master + # https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ + # https://ekartco.com/2017/09/kubernetes-make-pods-run-on-your-master-nodes/ + nodeSelector: + node-role.kubernetes.io/master: "" + # https://stackoverflow.com/questions/41999756/how-to-force-pods-deployments-to-master-nodes + # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + tolerations: + - key: node-role.kubernetes.io/master + operator: Exists + effect: NoSchedule + containers: + - name: proxy-tcp + image: healthcatalyst/tcp-proxy:latest + imagePullPolicy: Always + args: [ "tcp", "6661", "interfaceengine.fabricrealtime.svc.cluster.local" ] + ports: + - name: tcp + protocol: TCP + containerPort: 6661 +--- diff --git a/realtime/ingress/tcp/rabbitmq.onprem.yaml b/realtime/ingress/tcp/rabbitmq.onprem.yaml new file mode 100644 index 0000000..f1be085 --- /dev/null +++ b/realtime/ingress/tcp/rabbitmq.onprem.yaml @@ -0,0 +1,48 @@ +# https://github.com/kubernetes/contrib/tree/master/for-demos/proxy-to-service +# https://stackoverflow.com/questions/47057176/how-to-access-kubernetes-service-externally-on-bare-metal-install +kind: Deployment +apiVersion: extensions/v1beta1 +metadata: +# name for this pod + name: tcp-proxy-rabbitmq +# namespace for this pod + namespace: fabricrealtime + labels: + app: rabbitmq +spec: + replicas: 1 + revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. + strategy: + type: Recreate + selector: + matchLabels: + app: tcp-proxy-rabbitmq + template: + metadata: + labels: + app: tcp-proxy-rabbitmq + spec: + # hostPort is broken on CNI (https://github.com/kubernetes/kubernetes/issues/31307) we have to use hostNetwork where CNI is used + hostNetwork: true + dnsPolicy: ClusterFirstWithHostNet + # run on master node so we use the IP of the master + # https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ + # https://ekartco.com/2017/09/kubernetes-make-pods-run-on-your-master-nodes/ + nodeSelector: + node-role.kubernetes.io/master: "" + # https://stackoverflow.com/questions/41999756/how-to-force-pods-deployments-to-master-nodes + # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + tolerations: + - key: node-role.kubernetes.io/master + operator: Exists + effect: NoSchedule + containers: + - name: proxy-tcp + image: healthcatalyst/tcp-proxy:latest + imagePullPolicy: Always + args: [ "tcp", "5671", "rabbitmq.fabricrealtime.svc.cluster.local" ] + ports: + - name: tcp + protocol: TCP + containerPort: 5671 +--- diff --git a/realtime/installrealtimekubernetes.sh b/realtime/installrealtimekubernetes.sh index e7ddbe8..be74491 100644 --- a/realtime/installrealtimekubernetes.sh +++ b/realtime/installrealtimekubernetes.sh @@ -116,6 +116,14 @@ do ReadYamlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl apply -f - done +echo "-- Deploying TCP proxies --" +folder="ingress/tcp" +for fname in "mysqlserver.onprem.yaml" "interfaceengine.onprem.yaml" "rabbitmq.onprem.yaml" +do + echo "Deploying realtime/$folder/$fname" + ReadYamlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl apply -f - +done + kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=$namespace -o wide WaitForPodsInNamespace $namespace 5 From edfaa64e712fde89267223653567d738fe6c66ce Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 19 Mar 2018 09:55:30 -0700 Subject: [PATCH 337/473] move realtime mysql to port 3307 Signed-off-by: HQCATALYST\imran.qureshi --- realtime/ingress/tcp/mysqlserver.onprem.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/realtime/ingress/tcp/mysqlserver.onprem.yaml b/realtime/ingress/tcp/mysqlserver.onprem.yaml index d7e0ecc..2e949d4 100644 --- a/realtime/ingress/tcp/mysqlserver.onprem.yaml +++ b/realtime/ingress/tcp/mysqlserver.onprem.yaml @@ -44,5 +44,5 @@ spec: ports: - name: tcp protocol: TCP - containerPort: 3306 + containerPort: 3307 --- From ef23565235171d87ec22461daa62591c97aeeeda Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 19 Mar 2018 11:47:39 -0700 Subject: [PATCH 338/473] open port 5672 internally for rabbitmq Signed-off-by: HQCATALYST\imran.qureshi --- realtime/pods/rabbitmq.yaml | 3 +++ realtime/services/cluster/rabbitmq.yaml | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/realtime/pods/rabbitmq.yaml b/realtime/pods/rabbitmq.yaml index ea28c73..6b0de58 100644 --- a/realtime/pods/rabbitmq.yaml +++ b/realtime/pods/rabbitmq.yaml @@ -52,6 +52,9 @@ spec: - containerPort: 5671 # name of the port name: rabbitmq + - containerPort: 5672 + # name of the port + name: rabbitmq2 - containerPort: 15672 # name of the port name: rabbitmqmgmt diff --git a/realtime/services/cluster/rabbitmq.yaml b/realtime/services/cluster/rabbitmq.yaml index 908d546..44f9cfe 100644 --- a/realtime/services/cluster/rabbitmq.yaml +++ b/realtime/services/cluster/rabbitmq.yaml @@ -16,6 +16,11 @@ spec: targetPort: 5671 protocol: TCP name: "main" + - port: 5672 + # port in the pod we map to + targetPort: 5672 + protocol: TCP + name: "main2" - port: 15672 # port in the pod we map to targetPort: 15672 From 1179716895d18fc2505a06e6bc5494e023a4af7b Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 19 Mar 2018 12:26:20 -0700 Subject: [PATCH 339/473] show urls for realtime Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 904c52a..b924927 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.03.16.02" +version="2018.03.19.01" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -146,7 +146,10 @@ while [[ "$input" != "q" ]]; do ;; 51) kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime -o wide ;; - 52) echo "" + 52) certhostname=$(ReadSecret certhostname fabricrealtime) + echo "Send HL7 to Mirth: server=${certhostname} port=6661" + echo "Rabbitmq Queue: server=${certhostname} port=5671" + echo "RabbitMq Mgmt UI is at: http://${certhostname}/rabbitmqmgmt/" ;; 53) Write-Host "MySql root password: $(ReadSecretPassword mysqlrootpassword fabricrealtime)" Write-Host "MySql NLP_APP_USER password: $(ReadSecretPassword mysqlpassword fabricrealtime)" From 9ede7a02de816192b1f6e681e7bb3557f6583193 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 19 Mar 2018 12:44:13 -0700 Subject: [PATCH 340/473] open up mirth web port Signed-off-by: HQCATALYST\imran.qureshi --- .../ingress/http/interfaceengine.onprem.yaml | 26 +++++++++++++++++++ ...bitmq-onprem.yaml => rabbitmq.onprem.yaml} | 0 realtime/installrealtimekubernetes.sh | 6 ++--- .../services/external/interfaceengine.yaml | 14 ++++++++++ 4 files changed, 43 insertions(+), 3 deletions(-) create mode 100644 realtime/ingress/http/interfaceengine.onprem.yaml rename realtime/ingress/http/{rabbitmq-onprem.yaml => rabbitmq.onprem.yaml} (100%) create mode 100644 realtime/services/external/interfaceengine.yaml diff --git a/realtime/ingress/http/interfaceengine.onprem.yaml b/realtime/ingress/http/interfaceengine.onprem.yaml new file mode 100644 index 0000000..8e7f0e9 --- /dev/null +++ b/realtime/ingress/http/interfaceengine.onprem.yaml @@ -0,0 +1,26 @@ +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: realtime.ingress.interfaceengine + namespace: fabricrealtime + labels: + expose: external + annotations: + kubernetes.io/ingress.class: traefik + ingress.kubernetes.io/ssl-passthrough: "true" + # change /mirth to / + # https://docs.giantswarm.io/guides/advanced-ingress-configuration/ + # https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/annotations.md + # https://github.com/kubernetes/ingress-nginx/blob/master/docs/examples/rewrite/README.md + # ingress.kubernetes.io/rewrite-target: / + # ingress.kubernetes.io/add-base-url: "true" + # https://docs.traefik.io/configuration/backends/kubernetes/ + traefik.frontend.rule.type: PathPrefixStrip +spec: + rules: + - http: + paths: + - path: /mirth + backend: + serviceName: interfaceenginepublic + servicePort: 80 diff --git a/realtime/ingress/http/rabbitmq-onprem.yaml b/realtime/ingress/http/rabbitmq.onprem.yaml similarity index 100% rename from realtime/ingress/http/rabbitmq-onprem.yaml rename to realtime/ingress/http/rabbitmq.onprem.yaml diff --git a/realtime/installrealtimekubernetes.sh b/realtime/installrealtimekubernetes.sh index be74491..9950c08 100644 --- a/realtime/installrealtimekubernetes.sh +++ b/realtime/installrealtimekubernetes.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | bash # GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -version="2018.03.16.02" +version="2018.03.19.01" echo "---- installrealtimekubernetes.sh version $version ------" @@ -102,7 +102,7 @@ done echo "-- Deploying external services --" folder="services/external" -for fname in "certificateserver.yaml" "rabbitmq.yaml" +for fname in "certificateserver.yaml" "rabbitmq.yaml" "interfaceengine.yaml" do echo "Deploying realtime/$folder/$fname" ReadYamlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl apply -f - @@ -110,7 +110,7 @@ done echo "-- Deploying HTTP proxies --" folder="ingress/http" -for fname in "web.onprem.yaml" "rabbitmq-onprem.yaml" +for fname in "web.onprem.yaml" "rabbitmq.onprem.yaml" "interfaceengine.onprem.yaml" do echo "Deploying realtime/$folder/$fname" ReadYamlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl apply -f - diff --git a/realtime/services/external/interfaceengine.yaml b/realtime/services/external/interfaceengine.yaml new file mode 100644 index 0000000..73edecf --- /dev/null +++ b/realtime/services/external/interfaceengine.yaml @@ -0,0 +1,14 @@ +# ----- Services exposed to the outside world ------ +# solr web server +kind: Service +apiVersion: v1 +metadata: + name: interfaceenginepublic + namespace: fabricrealtime +spec: + selector: + app: interfaceengine + ports: + - port: 80 + targetPort: 8080 +--- From 5a5a3545e35ec6958377baa74931b2cb7947decd Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 19 Mar 2018 15:47:28 -0700 Subject: [PATCH 341/473] use webadmin path for interface engine Signed-off-by: HQCATALYST\imran.qureshi --- realtime/ingress/http/interfaceengine.onprem.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/realtime/ingress/http/interfaceengine.onprem.yaml b/realtime/ingress/http/interfaceengine.onprem.yaml index 8e7f0e9..c5d9756 100644 --- a/realtime/ingress/http/interfaceengine.onprem.yaml +++ b/realtime/ingress/http/interfaceengine.onprem.yaml @@ -15,12 +15,12 @@ metadata: # ingress.kubernetes.io/rewrite-target: / # ingress.kubernetes.io/add-base-url: "true" # https://docs.traefik.io/configuration/backends/kubernetes/ - traefik.frontend.rule.type: PathPrefixStrip + # traefik.frontend.rule.type: PathPrefixStrip spec: rules: - http: paths: - - path: /mirth + - path: /webadmin backend: serviceName: interfaceenginepublic servicePort: 80 From c6a48cde4b74a5a515ffa402e0d76961e8198c61 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 19 Mar 2018 15:50:35 -0700 Subject: [PATCH 342/473] change path to webadmin for mirth Signed-off-by: HQCATALYST\imran.qureshi --- realtime/ingress/http/interfaceengine.onprem.yaml | 7 +++++++ realtime/services/external/interfaceengine.yaml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/realtime/ingress/http/interfaceengine.onprem.yaml b/realtime/ingress/http/interfaceengine.onprem.yaml index c5d9756..30f4a0c 100644 --- a/realtime/ingress/http/interfaceengine.onprem.yaml +++ b/realtime/ingress/http/interfaceengine.onprem.yaml @@ -24,3 +24,10 @@ spec: backend: serviceName: interfaceenginepublic servicePort: 80 + - http: + paths: + - path: /webadmin + backend: + serviceName: interfaceenginepublic + servicePort: 443 + \ No newline at end of file diff --git a/realtime/services/external/interfaceengine.yaml b/realtime/services/external/interfaceengine.yaml index 73edecf..b6ced27 100644 --- a/realtime/services/external/interfaceengine.yaml +++ b/realtime/services/external/interfaceengine.yaml @@ -11,4 +11,6 @@ spec: ports: - port: 80 targetPort: 8080 + - port: 443 + targetPort: 8443 --- From c4480c1ef67a3419cc2f885caab25653755e5ee4 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 19 Mar 2018 15:56:41 -0700 Subject: [PATCH 343/473] name ports Signed-off-by: HQCATALYST\imran.qureshi --- realtime/services/external/interfaceengine.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/realtime/services/external/interfaceengine.yaml b/realtime/services/external/interfaceengine.yaml index b6ced27..e511fc8 100644 --- a/realtime/services/external/interfaceengine.yaml +++ b/realtime/services/external/interfaceengine.yaml @@ -11,6 +11,8 @@ spec: ports: - port: 80 targetPort: 8080 + name: "http" - port: 443 targetPort: 8443 + name: "https" --- From 99fbc09cd774fe31dc6fc9f6c61d4b15eaef6738 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 19 Mar 2018 16:04:08 -0700 Subject: [PATCH 344/473] remove 2nd rule for /webadmin Signed-off-by: HQCATALYST\imran.qureshi --- realtime/ingress/http/interfaceengine.onprem.yaml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/realtime/ingress/http/interfaceengine.onprem.yaml b/realtime/ingress/http/interfaceengine.onprem.yaml index 30f4a0c..73acc79 100644 --- a/realtime/ingress/http/interfaceengine.onprem.yaml +++ b/realtime/ingress/http/interfaceengine.onprem.yaml @@ -24,10 +24,4 @@ spec: backend: serviceName: interfaceenginepublic servicePort: 80 - - http: - paths: - - path: /webadmin - backend: - serviceName: interfaceenginepublic - servicePort: 443 \ No newline at end of file From e101530c6e92e23c1fb0cce0e7b95322695a1d89 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 19 Mar 2018 16:09:08 -0700 Subject: [PATCH 345/473] don't sleep if all the items are deleted already Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/common.sh | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/kubernetes/common.sh b/kubernetes/common.sh index a4cad79..2ba06a9 100644 --- a/kubernetes/common.sh +++ b/kubernetes/common.sh @@ -1,5 +1,5 @@ -versioncommon="2018.03.15.01" +versioncommon="2018.03.19.01" echo "--- Including common.sh version $versioncommon ---" function GetCommonVersion() { @@ -277,10 +277,12 @@ function CleanOutNamespace(){ # can't delete persistent volume claims since they are not scoped to namespace kubectl delete 'pv' -l namespace=$namespace --ignore-not-found=true - CLEANUP_DONE="n" - while [[ ! -z "$CLEANUP_DONE" ]]; do - CLEANUP_DONE=$(kubectl get 'deployments,pods,services,ingress,persistentvolumeclaims' --namespace=$namespace -o jsonpath="{.items[*].metadata.name}") - echo "Remaining items: $CLEANUP_DONE" - sleep 5 + REMAINING_ITEMS="n" + while [[ ! -z "$REMAINING_ITEMS" ]]; do + REMAINING_ITEMS=$(kubectl get 'deployments,pods,services,ingress,persistentvolumeclaims' --namespace=$namespace -o jsonpath="{.items[*].metadata.name}") + echo "Waiting on: $REMAINING_ITEMS" + if [[ ! -z "$REMAINING_ITEMS" ]]; then + sleep 5 + fi done } From e98be3020201951394f57a4f318bc1af72ab020d Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 19 Mar 2018 16:14:04 -0700 Subject: [PATCH 346/473] show url for mirth mgmt ui Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index b924927..7b50728 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.03.19.01" +version="2018.03.19.02" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -150,6 +150,7 @@ while [[ "$input" != "q" ]]; do echo "Send HL7 to Mirth: server=${certhostname} port=6661" echo "Rabbitmq Queue: server=${certhostname} port=5671" echo "RabbitMq Mgmt UI is at: http://${certhostname}/rabbitmqmgmt/" + echo "Mirth Mgmt UI is at: http://${certhostname}/webadmin/" ;; 53) Write-Host "MySql root password: $(ReadSecretPassword mysqlrootpassword fabricrealtime)" Write-Host "MySql NLP_APP_USER password: $(ReadSecretPassword mysqlpassword fabricrealtime)" From a65d1661bdeadf14e937ad7504adfaa0fb20647c Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 20 Mar 2018 09:04:07 -0700 Subject: [PATCH 347/473] set HTTP_PORT and HTTP_CONTEXTPATH for interfaceengine Signed-off-by: HQCATALYST\imran.qureshi --- realtime/ingress/http/interfaceengine.onprem.yaml | 2 +- realtime/pods/interfaceengine.yaml | 10 ++++++++-- realtime/services/external/interfaceengine.yaml | 4 ++-- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/realtime/ingress/http/interfaceengine.onprem.yaml b/realtime/ingress/http/interfaceengine.onprem.yaml index 73acc79..dc7e4bd 100644 --- a/realtime/ingress/http/interfaceengine.onprem.yaml +++ b/realtime/ingress/http/interfaceengine.onprem.yaml @@ -20,7 +20,7 @@ spec: rules: - http: paths: - - path: /webadmin + - path: /mirth backend: serviceName: interfaceenginepublic servicePort: 80 diff --git a/realtime/pods/interfaceengine.yaml b/realtime/pods/interfaceengine.yaml index 72962ff..34f8458 100644 --- a/realtime/pods/interfaceengine.yaml +++ b/realtime/pods/interfaceengine.yaml @@ -40,12 +40,18 @@ spec: value: mirthdb - name: MYSQL_USER value: mirthuser + - name: HTTP_PORT + value: 80 + - name: HTTPS_PORT + value: 443 + - name: HTTP_CONTEXTPATH + value: /mirth/ ports: # expose port 3000 - - containerPort: 8080 + - containerPort: 80 # name of the port name: http - - containerPort: 8443 + - containerPort: 443 # name of the port name: https - containerPort: 6661 diff --git a/realtime/services/external/interfaceengine.yaml b/realtime/services/external/interfaceengine.yaml index e511fc8..3e5b161 100644 --- a/realtime/services/external/interfaceengine.yaml +++ b/realtime/services/external/interfaceengine.yaml @@ -10,9 +10,9 @@ spec: app: interfaceengine ports: - port: 80 - targetPort: 8080 + targetPort: 80 name: "http" - port: 443 - targetPort: 8443 + targetPort: 443 name: "https" --- From 4f113e6fb7df2f6e9dff72727f29e154b9701cb9 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 20 Mar 2018 09:23:20 -0700 Subject: [PATCH 348/473] create a dos command Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 9 +++++++++ realtime/pods/interfaceengine.yaml | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 7b50728..ac7da5b 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -12,6 +12,15 @@ GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/mast source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh?p=$RANDOM") # source ./kubernetes/common.sh +mkdir -p $HOME/bin +installscript="$HOME/bin/dos" +if [[ ! -f "$installscript" ]]; then + echo "#!/bin/bash" > $installscript + echo "curl -sSL $GITHUB_URL/kubernetes/main.sh?p=$RANDOM | bash" >> $installscript + chmod +x $installscript +fi + + input="" while [[ "$input" != "q" ]]; do diff --git a/realtime/pods/interfaceengine.yaml b/realtime/pods/interfaceengine.yaml index 34f8458..bf0f76b 100644 --- a/realtime/pods/interfaceengine.yaml +++ b/realtime/pods/interfaceengine.yaml @@ -45,7 +45,7 @@ spec: - name: HTTPS_PORT value: 443 - name: HTTP_CONTEXTPATH - value: /mirth/ + value: "/mirth/" ports: # expose port 3000 - containerPort: 80 From 597b60ac4f9ae765474fd133b5c1ef3b55914572 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 20 Mar 2018 09:41:19 -0700 Subject: [PATCH 349/473] wrap port numbers in quotes Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 1 + kubernetes/setup-loadbalancer.sh | 10 ++++++---- realtime/installrealtimekubernetes.sh | 7 ++++++- realtime/pods/interfaceengine.yaml | 4 ++-- 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index ac7da5b..357513b 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -18,6 +18,7 @@ if [[ ! -f "$installscript" ]]; then echo "#!/bin/bash" > $installscript echo "curl -sSL $GITHUB_URL/kubernetes/main.sh?p=$RANDOM | bash" >> $installscript chmod +x $installscript + echo "NOTE: Next time just type 'dos' to bring up this menu" fi diff --git a/kubernetes/setup-loadbalancer.sh b/kubernetes/setup-loadbalancer.sh index f531c3a..1789c89 100644 --- a/kubernetes/setup-loadbalancer.sh +++ b/kubernetes/setup-loadbalancer.sh @@ -22,10 +22,12 @@ kubectl delete ServiceAccount traefik-ingress-controller-serviceaccount -n kube- AKS_IP_WHITELIST="" publicip="" -customerid="hcut" -dnsrecordname="$customerid.healthcatalyst.net" -SaveSecretValue customerid "value" $customerid +AskForSecretValue "customerid" "Customer ID: " +customerid=$(ReadSecret "customerid") + +AskForSecretValue "dnshostname" "DNS name used to connect to the master VM: " +dnsrecordname=$(ReadSecret "dnshostname") yamlfile="kubernetes/loadbalancer/configmaps/config.yaml" echo "Downloading $GITHUB_URL/$yamlfile" @@ -62,6 +64,6 @@ loadBalancerIP="$(dig +short myip.opendns.com @resolver1.opendns.com)" echo "My WAN/Public IP address: ${loadBalancerIP}" echo "To test out the load balancer, open Git Bash and run:" -echo "curl -L --verbose --header 'Host: dashboard.$dnsrecordname' 'http://$loadBalancerIP/' -k" +echo "curl -L --verbose --header 'Host: $dnsrecordname' 'http://$loadBalancerIP/' -k" echo "---- end of setup-loadbalancer.sh version $version ------" \ No newline at end of file diff --git a/realtime/installrealtimekubernetes.sh b/realtime/installrealtimekubernetes.sh index 9950c08..bd2be64 100644 --- a/realtime/installrealtimekubernetes.sh +++ b/realtime/installrealtimekubernetes.sh @@ -60,7 +60,12 @@ AskForPassword "mysqlrootpassword" "MySQL root password (> 8 chars, min 1 numbe AskForPassword "mysqlpassword" "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" "$namespace" -AskForSecretValue "certhostname" "Client Certificate hostname (Should be DNS name used to connect to the master VM)" "$namespace" +dnsrecordname=$(ReadSecret "dnshostname") +if [[ -z "$dnsrecordname" ]]; then + AskForSecretValue "certhostname" "Client Certificate hostname (Should be DNS name used to connect to the master VM)" "$namespace" +else + SaveSecretValue "certhostname" "value" "$dnsrecordname" "$namespace" +fi AskForPassword "certpassword" "Client Certificate password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" "$namespace" diff --git a/realtime/pods/interfaceengine.yaml b/realtime/pods/interfaceengine.yaml index bf0f76b..5860560 100644 --- a/realtime/pods/interfaceengine.yaml +++ b/realtime/pods/interfaceengine.yaml @@ -41,9 +41,9 @@ spec: - name: MYSQL_USER value: mirthuser - name: HTTP_PORT - value: 80 + value: "80" - name: HTTPS_PORT - value: 443 + value: "443" - name: HTTP_CONTEXTPATH value: "/mirth/" ports: From 8e4ecca5e6c8856a4c38e64bc1c65fecbfe2ea20 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 20 Mar 2018 10:07:04 -0700 Subject: [PATCH 350/473] change rabbitmq path from rabbitmqmgmt to rabbitmq Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/inputrc | 13 +++++++++++++ kubernetes/main.sh | 13 +++++++------ kubernetes/setup-loadbalancer.sh | 6 +++--- realtime/ingress/http/rabbitmq.onprem.yaml | 2 +- 4 files changed, 24 insertions(+), 10 deletions(-) create mode 100644 kubernetes/inputrc diff --git a/kubernetes/inputrc b/kubernetes/inputrc new file mode 100644 index 0000000..b665a58 --- /dev/null +++ b/kubernetes/inputrc @@ -0,0 +1,13 @@ +# from http://web.archive.org/web/20120621035133/http://www.ibb.net/~anne/keyboard/keyboard.html +"\e[3~": delete-char +"\C-?": backward-delete-char +# this is actually equivalent to "\C-?": delete-char +# VT +"\e[1~": beginning-of-line +"\e[4~": end-of-line +# kvt +"\e[H":beginning-of-line +"\e[F":end-of-line +# rxvt and konsole (i.e. the KDE-app...) +"\e[7~":beginning-of-line +"\e[8~":end-of-line \ No newline at end of file diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 357513b..ea1603b 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.03.19.02" +version="2018.03.19.03" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -19,8 +19,10 @@ if [[ ! -f "$installscript" ]]; then echo "curl -sSL $GITHUB_URL/kubernetes/main.sh?p=$RANDOM | bash" >> $installscript chmod +x $installscript echo "NOTE: Next time just type 'dos' to bring up this menu" -fi + # from http://web.archive.org/web/20120621035133/http://www.ibb.net/~anne/keyboard/keyboard.html + # curl -o ~/.inputrc "$GITHUB_URL/kubernetes/inputrc" +fi input="" while [[ "$input" != "q" ]]; do @@ -159,14 +161,14 @@ while [[ "$input" != "q" ]]; do 52) certhostname=$(ReadSecret certhostname fabricrealtime) echo "Send HL7 to Mirth: server=${certhostname} port=6661" echo "Rabbitmq Queue: server=${certhostname} port=5671" - echo "RabbitMq Mgmt UI is at: http://${certhostname}/rabbitmqmgmt/" - echo "Mirth Mgmt UI is at: http://${certhostname}/webadmin/" + echo "RabbitMq Mgmt UI is at: http://${certhostname}/rabbitmq/" + echo "Mirth Mgmt UI is at: http://${certhostname}/mirth/" ;; 53) Write-Host "MySql root password: $(ReadSecretPassword mysqlrootpassword fabricrealtime)" Write-Host "MySql NLP_APP_USER password: $(ReadSecretPassword mysqlpassword fabricrealtime)" Write-Host "certhostname: $(ReadSecret certhostname fabricrealtime)" Write-Host "certpassword: $(ReadSecretPassword certpassword fabricrealtime)" - Write-Host "rabbitmqmgmtuipassword: $(ReadSecretPassword rabbitmqmgmtuipassword fabricrealtime)" + Write-Host "rabbitmq mgmtui user: admin password: $(ReadSecretPassword rabbitmqmgmtuipassword fabricrealtime)" ;; 54) pods=$(kubectl get pods -n fabricrealtime -o jsonpath='{.items[*].metadata.name}') for pod in $pods @@ -197,7 +199,6 @@ while [[ "$input" != "q" ]]; do echo "$url" echo "Double-click and install in Local Machine. password: $certpassword" - echo "RabbitMq Mgmt UI is at: http://${certhostname}/rabbitmqmgmt/" ;; 57) echo "If you didn't setup DNS, add the following entries in your c:\windows\system32\drivers\etc\hosts file to access the urls from your browser" loadBalancerIP="$(dig +short myip.opendns.com @resolver1.opendns.com)" diff --git a/kubernetes/setup-loadbalancer.sh b/kubernetes/setup-loadbalancer.sh index 1789c89..31b8f2c 100644 --- a/kubernetes/setup-loadbalancer.sh +++ b/kubernetes/setup-loadbalancer.sh @@ -9,7 +9,7 @@ GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/mast source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh?p=$RANDOM") # source ./kubernetes/common.sh -version="2018.03.16.01" +version="2018.03.19.01" echo "---- setup-loadbalancer.sh version $version ------" @@ -23,10 +23,10 @@ kubectl delete ServiceAccount traefik-ingress-controller-serviceaccount -n kube- AKS_IP_WHITELIST="" publicip="" -AskForSecretValue "customerid" "Customer ID: " +AskForSecretValue "customerid" "Customer ID " customerid=$(ReadSecret "customerid") -AskForSecretValue "dnshostname" "DNS name used to connect to the master VM: " +AskForSecretValue "dnshostname" "DNS name used to connect to the master VM " dnsrecordname=$(ReadSecret "dnshostname") yamlfile="kubernetes/loadbalancer/configmaps/config.yaml" diff --git a/realtime/ingress/http/rabbitmq.onprem.yaml b/realtime/ingress/http/rabbitmq.onprem.yaml index 0861caf..366cc55 100644 --- a/realtime/ingress/http/rabbitmq.onprem.yaml +++ b/realtime/ingress/http/rabbitmq.onprem.yaml @@ -20,7 +20,7 @@ spec: rules: - http: paths: - - path: /rabbitmqmgmt + - path: /rabbitmq backend: serviceName: rabbitmqpublic servicePort: 80 From a537810ee8b72b6faaea8a15c28f4e3767a32346 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 20 Mar 2018 10:13:33 -0700 Subject: [PATCH 351/473] open https even in non-SSL Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/loadbalancer/configmaps/config.yaml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/kubernetes/loadbalancer/configmaps/config.yaml b/kubernetes/loadbalancer/configmaps/config.yaml index e95544e..8407f7d 100644 --- a/kubernetes/loadbalancer/configmaps/config.yaml +++ b/kubernetes/loadbalancer/configmaps/config.yaml @@ -1,6 +1,7 @@ -# format: https://docs.traefik.io/configuration/backends/kubernetes/ +# Traefik Ingress reverse proxy +# based on https://github.com/containous/traefik/issues/2329 + # the config for Traefik so it knows where the certificates are -# https://docs.traefik.io/configuration/commons/ apiVersion: v1 kind: ConfigMap metadata: @@ -11,10 +12,10 @@ metadata: data: traefik.toml: | # traefik.toml - defaultEntryPoints = ["http"] + defaultEntryPoints = ["http","https"] [accessLog] [entryPoints] [entryPoints.http] address = ":80" - - + [entryPoints.https] + address = ":443" From 8761d0e8cce8e42286adf5ce7b6bd4ba67176679 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 20 Mar 2018 10:48:02 -0700 Subject: [PATCH 352/473] pull latest image for traefik Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/loadbalancer/pods/ingress-azure.internal.ssl.yaml | 1 + kubernetes/loadbalancer/pods/ingress-azure.internal.yaml | 1 + kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml | 1 + kubernetes/loadbalancer/pods/ingress-azure.yaml | 1 + kubernetes/loadbalancer/pods/ingress-onprem.yaml | 1 + realtime/ingress/http/interfaceengine.onprem.yaml | 2 +- 6 files changed, 6 insertions(+), 1 deletion(-) diff --git a/kubernetes/loadbalancer/pods/ingress-azure.internal.ssl.yaml b/kubernetes/loadbalancer/pods/ingress-azure.internal.ssl.yaml index 928d6f3..c6a0e88 100644 --- a/kubernetes/loadbalancer/pods/ingress-azure.internal.ssl.yaml +++ b/kubernetes/loadbalancer/pods/ingress-azure.internal.ssl.yaml @@ -33,6 +33,7 @@ spec: containers: - image: traefik:1.5 name: traefik-ingress-lb-internal + imagePullPolicy: Always volumeMounts: - mountPath: "/config" name: "config" diff --git a/kubernetes/loadbalancer/pods/ingress-azure.internal.yaml b/kubernetes/loadbalancer/pods/ingress-azure.internal.yaml index 22a9622..7797eb6 100644 --- a/kubernetes/loadbalancer/pods/ingress-azure.internal.yaml +++ b/kubernetes/loadbalancer/pods/ingress-azure.internal.yaml @@ -27,6 +27,7 @@ spec: containers: - image: traefik:1.5 name: traefik-ingress-lb-internal + imagePullPolicy: Always volumeMounts: - mountPath: "/config" name: "config" diff --git a/kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml b/kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml index f601305..94375f4 100644 --- a/kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml +++ b/kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml @@ -33,6 +33,7 @@ spec: containers: - image: traefik:1.5 name: traefik-ingress-lb + imagePullPolicy: Always volumeMounts: - mountPath: "/config" name: "config" diff --git a/kubernetes/loadbalancer/pods/ingress-azure.yaml b/kubernetes/loadbalancer/pods/ingress-azure.yaml index 7eb6bce..5e46ed4 100644 --- a/kubernetes/loadbalancer/pods/ingress-azure.yaml +++ b/kubernetes/loadbalancer/pods/ingress-azure.yaml @@ -27,6 +27,7 @@ spec: containers: - image: traefik:1.5 name: traefik-ingress-lb + imagePullPolicy: Always volumeMounts: - mountPath: "/config" name: "config" diff --git a/kubernetes/loadbalancer/pods/ingress-onprem.yaml b/kubernetes/loadbalancer/pods/ingress-onprem.yaml index 13facbd..295ef06 100644 --- a/kubernetes/loadbalancer/pods/ingress-onprem.yaml +++ b/kubernetes/loadbalancer/pods/ingress-onprem.yaml @@ -40,6 +40,7 @@ spec: containers: - image: traefik:1.5 name: traefik-ingress-lb-onprem + imagePullPolicy: Always volumeMounts: - mountPath: "/config" name: "config" diff --git a/realtime/ingress/http/interfaceengine.onprem.yaml b/realtime/ingress/http/interfaceengine.onprem.yaml index dc7e4bd..17bbb99 100644 --- a/realtime/ingress/http/interfaceengine.onprem.yaml +++ b/realtime/ingress/http/interfaceengine.onprem.yaml @@ -23,5 +23,5 @@ spec: - path: /mirth backend: serviceName: interfaceenginepublic - servicePort: 80 + servicePort: 443 \ No newline at end of file From 6cdb8510ecde549277dfb03496a5ceb48adb2991 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 20 Mar 2018 12:53:07 -0700 Subject: [PATCH 353/473] create separate tcp proxy for mirth ssl so we can get SSL pass-through Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 2 +- .../ingress/http/interfaceengine.onprem.yaml | 9 ++-- .../tcp/interfaceengine.webadmin.onprem.yaml | 49 +++++++++++++++++++ realtime/pods/interfaceengine.yaml | 4 +- .../services/cluster/interfaceengine.yaml | 4 +- .../services/external/interfaceengine.yaml | 4 +- 6 files changed, 60 insertions(+), 12 deletions(-) create mode 100644 realtime/ingress/tcp/interfaceengine.webadmin.onprem.yaml diff --git a/kubernetes/main.sh b/kubernetes/main.sh index ea1603b..f7d3df1 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -162,7 +162,7 @@ while [[ "$input" != "q" ]]; do echo "Send HL7 to Mirth: server=${certhostname} port=6661" echo "Rabbitmq Queue: server=${certhostname} port=5671" echo "RabbitMq Mgmt UI is at: http://${certhostname}/rabbitmq/" - echo "Mirth Mgmt UI is at: http://${certhostname}/mirth/" + echo "Mirth Mgmt UI is at: http://${certhostname}/mirth/" ;; 53) Write-Host "MySql root password: $(ReadSecretPassword mysqlrootpassword fabricrealtime)" Write-Host "MySql NLP_APP_USER password: $(ReadSecretPassword mysqlpassword fabricrealtime)" diff --git a/realtime/ingress/http/interfaceengine.onprem.yaml b/realtime/ingress/http/interfaceengine.onprem.yaml index 17bbb99..e4e48e0 100644 --- a/realtime/ingress/http/interfaceengine.onprem.yaml +++ b/realtime/ingress/http/interfaceengine.onprem.yaml @@ -1,14 +1,14 @@ apiVersion: extensions/v1beta1 kind: Ingress metadata: - name: realtime.ingress.interfaceengine + name: realtime.ingress.rabbitmq namespace: fabricrealtime labels: expose: external annotations: kubernetes.io/ingress.class: traefik - ingress.kubernetes.io/ssl-passthrough: "true" - # change /mirth to / + ingress.kubernetes.io/ssl-passthrough: "true" + # change /certificates to / # https://docs.giantswarm.io/guides/advanced-ingress-configuration/ # https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/annotations.md # https://github.com/kubernetes/ingress-nginx/blob/master/docs/examples/rewrite/README.md @@ -23,5 +23,4 @@ spec: - path: /mirth backend: serviceName: interfaceenginepublic - servicePort: 443 - \ No newline at end of file + servicePort: 80 diff --git a/realtime/ingress/tcp/interfaceengine.webadmin.onprem.yaml b/realtime/ingress/tcp/interfaceengine.webadmin.onprem.yaml new file mode 100644 index 0000000..1002d4c --- /dev/null +++ b/realtime/ingress/tcp/interfaceengine.webadmin.onprem.yaml @@ -0,0 +1,49 @@ +# we're doing this as TCP because Mirth wants SSL +# https://github.com/kubernetes/contrib/tree/master/for-demos/proxy-to-service +# https://stackoverflow.com/questions/47057176/how-to-access-kubernetes-service-externally-on-bare-metal-install +kind: Deployment +apiVersion: extensions/v1beta1 +metadata: +# name for this pod + name: tcp-proxy-interfaceengine-webadmin-ssl +# namespace for this pod + namespace: fabricrealtime + labels: + app: interfaceengine +spec: + replicas: 1 + revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. + strategy: + type: Recreate + selector: + matchLabels: + app: tcp-proxy-interfaceengine-webadmin-ssl + template: + metadata: + labels: + app: tcp-proxy-interfaceengine-webadmin-ssl + spec: + # hostPort is broken on CNI (https://github.com/kubernetes/kubernetes/issues/31307) we have to use hostNetwork where CNI is used + hostNetwork: true + dnsPolicy: ClusterFirstWithHostNet + # run on master node so we use the IP of the master + # https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ + # https://ekartco.com/2017/09/kubernetes-make-pods-run-on-your-master-nodes/ + nodeSelector: + node-role.kubernetes.io/master: "" + # https://stackoverflow.com/questions/41999756/how-to-force-pods-deployments-to-master-nodes + # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + tolerations: + - key: node-role.kubernetes.io/master + operator: Exists + effect: NoSchedule + containers: + - name: proxy-tcp-interfaceengine-webadmin-ssl + image: healthcatalyst/tcp-proxy:latest + imagePullPolicy: Always + args: [ "tcp", "8443", "interfaceengine.fabricrealtime.svc.cluster.local" ] + ports: + - name: tcp + protocol: TCP + containerPort: 8443 +--- diff --git a/realtime/pods/interfaceengine.yaml b/realtime/pods/interfaceengine.yaml index 5860560..119dff5 100644 --- a/realtime/pods/interfaceengine.yaml +++ b/realtime/pods/interfaceengine.yaml @@ -43,7 +43,7 @@ spec: - name: HTTP_PORT value: "80" - name: HTTPS_PORT - value: "443" + value: "8443" - name: HTTP_CONTEXTPATH value: "/mirth/" ports: @@ -51,7 +51,7 @@ spec: - containerPort: 80 # name of the port name: http - - containerPort: 443 + - containerPort: 8443 # name of the port name: https - containerPort: 6661 diff --git a/realtime/services/cluster/interfaceengine.yaml b/realtime/services/cluster/interfaceengine.yaml index a1ac105..8ff2c57 100644 --- a/realtime/services/cluster/interfaceengine.yaml +++ b/realtime/services/cluster/interfaceengine.yaml @@ -11,9 +11,9 @@ metadata: spec: ports: # port that other services can use to connect to this service - - port: 8080 + - port: 80 # port in the pod we map to - targetPort: 8080 + targetPort: 80 protocol: TCP name: "http" - port: 8443 diff --git a/realtime/services/external/interfaceengine.yaml b/realtime/services/external/interfaceengine.yaml index 3e5b161..9d59573 100644 --- a/realtime/services/external/interfaceengine.yaml +++ b/realtime/services/external/interfaceengine.yaml @@ -12,7 +12,7 @@ spec: - port: 80 targetPort: 80 name: "http" - - port: 443 - targetPort: 443 + - port: 8443 + targetPort: 8443 name: "https" --- From 2150cf5886c305d0615fb299ad281d7d7fd078bd Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 20 Mar 2018 13:00:38 -0700 Subject: [PATCH 354/473] add tcp proxy for interface engine Signed-off-by: HQCATALYST\imran.qureshi --- realtime/installrealtimekubernetes.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/realtime/installrealtimekubernetes.sh b/realtime/installrealtimekubernetes.sh index bd2be64..89935ba 100644 --- a/realtime/installrealtimekubernetes.sh +++ b/realtime/installrealtimekubernetes.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | bash # GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -version="2018.03.19.01" +version="2018.03.20.01" echo "---- installrealtimekubernetes.sh version $version ------" @@ -123,7 +123,7 @@ done echo "-- Deploying TCP proxies --" folder="ingress/tcp" -for fname in "mysqlserver.onprem.yaml" "interfaceengine.onprem.yaml" "rabbitmq.onprem.yaml" +for fname in "mysqlserver.onprem.yaml" "interfaceengine.onprem.yaml" "rabbitmq.onprem.yaml" "interfaceengine.webadmin.onprem.yaml" do echo "Deploying realtime/$folder/$fname" ReadYamlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl apply -f - From b152c8bf00bf55f5284073f77dadd7a714be27fc Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 20 Mar 2018 13:29:17 -0700 Subject: [PATCH 355/473] change port for mysql to 3307 to avoid nlp mysql Signed-off-by: HQCATALYST\imran.qureshi --- realtime/ingress/tcp/mysqlserver.onprem.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/realtime/ingress/tcp/mysqlserver.onprem.yaml b/realtime/ingress/tcp/mysqlserver.onprem.yaml index 2e949d4..a77331a 100644 --- a/realtime/ingress/tcp/mysqlserver.onprem.yaml +++ b/realtime/ingress/tcp/mysqlserver.onprem.yaml @@ -40,7 +40,7 @@ spec: - name: proxy-tcp image: healthcatalyst/tcp-proxy:latest imagePullPolicy: Always - args: [ "tcp", "3306", "mysqlserver.fabricrealtime.svc.cluster.local" ] + args: [ "tcp", "3307", "mysqlserver.fabricrealtime.svc.cluster.local" ] ports: - name: tcp protocol: TCP From 5d68b6fb43833d977582ee93b3414cd474e833d9 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 20 Mar 2018 15:38:23 -0700 Subject: [PATCH 356/473] add scripts to deploy kub dashboard Signed-off-by: HQCATALYST\imran.qureshi --- .../dashboard/ingress/http/dashboard.yaml | 18 ++ kubernetes/dashboard/pods/grafana.yaml | 72 ++++++++ kubernetes/dashboard/pods/heapster.yaml | 46 +++++ kubernetes/dashboard/pods/influxdb.yaml | 40 +++++ .../dashboard/pods/kubernetes-dashboard.yaml | 168 ++++++++++++++++++ kubernetes/dashboard/roles/heapster-rbac.yaml | 12 ++ kubernetes/dashboard/setup-kubdashboard.sh | 47 +++++ .../loadbalancer/configmaps/config.yaml | 1 + kubernetes/main.sh | 43 ++--- 9 files changed, 427 insertions(+), 20 deletions(-) create mode 100644 kubernetes/dashboard/ingress/http/dashboard.yaml create mode 100644 kubernetes/dashboard/pods/grafana.yaml create mode 100644 kubernetes/dashboard/pods/heapster.yaml create mode 100644 kubernetes/dashboard/pods/influxdb.yaml create mode 100644 kubernetes/dashboard/pods/kubernetes-dashboard.yaml create mode 100644 kubernetes/dashboard/roles/heapster-rbac.yaml create mode 100644 kubernetes/dashboard/setup-kubdashboard.sh diff --git a/kubernetes/dashboard/ingress/http/dashboard.yaml b/kubernetes/dashboard/ingress/http/dashboard.yaml new file mode 100644 index 0000000..131f2b1 --- /dev/null +++ b/kubernetes/dashboard/ingress/http/dashboard.yaml @@ -0,0 +1,18 @@ +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: kubernetes-dashboard-ingress + namespace: kube-system + labels: + k8s-traefik: traefik + expose: external + annotations: + kubernetes.io/ingress.class: traefik +spec: + rules: + - http: + paths: + - path: /admin + backend: + serviceName: kubernetes-dashboard + servicePort: 443 \ No newline at end of file diff --git a/kubernetes/dashboard/pods/grafana.yaml b/kubernetes/dashboard/pods/grafana.yaml new file mode 100644 index 0000000..0bd3572 --- /dev/null +++ b/kubernetes/dashboard/pods/grafana.yaml @@ -0,0 +1,72 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: monitoring-grafana + namespace: kube-system +spec: + replicas: 1 + template: + metadata: + labels: + task: monitoring + k8s-app: grafana + spec: + containers: + - name: grafana + image: k8s.gcr.io/heapster-grafana-amd64:v4.4.3 + ports: + - containerPort: 3000 + protocol: TCP + volumeMounts: + - mountPath: /etc/ssl/certs + name: ca-certificates + readOnly: true + - mountPath: /var + name: grafana-storage + env: + - name: INFLUXDB_HOST + value: monitoring-influxdb + - name: GF_SERVER_HTTP_PORT + value: "3000" + # The following env variables are required to make Grafana accessible via + # the kubernetes api-server proxy. On production clusters, we recommend + # removing these env variables, setup auth for grafana, and expose the grafana + # service using a LoadBalancer or a public IP. + - name: GF_AUTH_BASIC_ENABLED + value: "false" + - name: GF_AUTH_ANONYMOUS_ENABLED + value: "true" + - name: GF_AUTH_ANONYMOUS_ORG_ROLE + value: Admin + - name: GF_SERVER_ROOT_URL + # If you're only using the API Server proxy, set this value instead: + # value: /api/v1/namespaces/kube-system/services/monitoring-grafana/proxy + value: / + volumes: + - name: ca-certificates + hostPath: + path: /etc/ssl/certs + - name: grafana-storage + emptyDir: {} +--- +apiVersion: v1 +kind: Service +metadata: + labels: + # For use as a Cluster add-on (https://github.com/kubernetes/kubernetes/tree/master/cluster/addons) + # If you are NOT using this as an addon, you should comment out this line. + kubernetes.io/cluster-service: 'true' + kubernetes.io/name: monitoring-grafana + name: monitoring-grafana + namespace: kube-system +spec: + # In a production setup, we recommend accessing Grafana through an external Loadbalancer + # or through a public IP. + # type: LoadBalancer + # You could also use NodePort to expose the service at a randomly-generated port + # type: NodePort + ports: + - port: 80 + targetPort: 3000 + selector: + k8s-app: grafana diff --git a/kubernetes/dashboard/pods/heapster.yaml b/kubernetes/dashboard/pods/heapster.yaml new file mode 100644 index 0000000..7853e1b --- /dev/null +++ b/kubernetes/dashboard/pods/heapster.yaml @@ -0,0 +1,46 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: heapster + namespace: kube-system +--- +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: heapster + namespace: kube-system +spec: + replicas: 1 + template: + metadata: + labels: + task: monitoring + k8s-app: heapster + spec: + serviceAccountName: heapster + containers: + - name: heapster + image: k8s.gcr.io/heapster-amd64:v1.4.2 + imagePullPolicy: IfNotPresent + command: + - /heapster + - --source=kubernetes:https://kubernetes.default + - --sink=influxdb:http://monitoring-influxdb.kube-system.svc:8086 +--- +apiVersion: v1 +kind: Service +metadata: + labels: + task: monitoring + # For use as a Cluster add-on (https://github.com/kubernetes/kubernetes/tree/master/cluster/addons) + # If you are NOT using this as an addon, you should comment out this line. + kubernetes.io/cluster-service: 'true' + kubernetes.io/name: Heapster + name: heapster + namespace: kube-system +spec: + ports: + - port: 80 + targetPort: 8082 + selector: + k8s-app: heapster diff --git a/kubernetes/dashboard/pods/influxdb.yaml b/kubernetes/dashboard/pods/influxdb.yaml new file mode 100644 index 0000000..29408b8 --- /dev/null +++ b/kubernetes/dashboard/pods/influxdb.yaml @@ -0,0 +1,40 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: monitoring-influxdb + namespace: kube-system +spec: + replicas: 1 + template: + metadata: + labels: + task: monitoring + k8s-app: influxdb + spec: + containers: + - name: influxdb + image: k8s.gcr.io/heapster-influxdb-amd64:v1.3.3 + volumeMounts: + - mountPath: /data + name: influxdb-storage + volumes: + - name: influxdb-storage + emptyDir: {} +--- +apiVersion: v1 +kind: Service +metadata: + labels: + task: monitoring + # For use as a Cluster add-on (https://github.com/kubernetes/kubernetes/tree/master/cluster/addons) + # If you are NOT using this as an addon, you should comment out this line. + kubernetes.io/cluster-service: 'true' + kubernetes.io/name: monitoring-influxdb + name: monitoring-influxdb + namespace: kube-system +spec: + ports: + - port: 8086 + targetPort: 8086 + selector: + k8s-app: influxdb diff --git a/kubernetes/dashboard/pods/kubernetes-dashboard.yaml b/kubernetes/dashboard/pods/kubernetes-dashboard.yaml new file mode 100644 index 0000000..29f99b1 --- /dev/null +++ b/kubernetes/dashboard/pods/kubernetes-dashboard.yaml @@ -0,0 +1,168 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Configuration to deploy release version of the Dashboard UI compatible with +# Kubernetes 1.8. +# +# Example usage: kubectl create -f + +# ------------------- Dashboard Secret ------------------- # + +apiVersion: v1 +kind: Secret +metadata: + labels: + k8s-app: kubernetes-dashboard + name: kubernetes-dashboard-certs + namespace: kube-system +type: Opaque + +--- +# ------------------- Dashboard Service Account ------------------- # + +apiVersion: v1 +kind: ServiceAccount +metadata: + labels: + k8s-app: kubernetes-dashboard + name: kubernetes-dashboard + namespace: kube-system + +--- +# ------------------- Dashboard Role & Role Binding ------------------- # + +kind: Role +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: kubernetes-dashboard-minimal + namespace: kube-system +rules: + # Allow Dashboard to create 'kubernetes-dashboard-key-holder' secret. +- apiGroups: [""] + resources: ["secrets"] + verbs: ["create"] + # Allow Dashboard to create 'kubernetes-dashboard-settings' config map. +- apiGroups: [""] + resources: ["configmaps"] + verbs: ["create"] + # Allow Dashboard to get, update and delete Dashboard exclusive secrets. +- apiGroups: [""] + resources: ["secrets"] + resourceNames: ["kubernetes-dashboard-key-holder", "kubernetes-dashboard-certs"] + verbs: ["get", "update", "delete"] + # Allow Dashboard to get and update 'kubernetes-dashboard-settings' config map. +- apiGroups: [""] + resources: ["configmaps"] + resourceNames: ["kubernetes-dashboard-settings"] + verbs: ["get", "update"] + # Allow Dashboard to get metrics from heapster. +- apiGroups: [""] + resources: ["services"] + resourceNames: ["heapster"] + verbs: ["proxy"] +- apiGroups: [""] + resources: ["services/proxy"] + resourceNames: ["heapster", "http:heapster:", "https:heapster:"] + verbs: ["get"] + +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: kubernetes-dashboard-minimal + namespace: kube-system +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: kubernetes-dashboard-minimal +subjects: +- kind: ServiceAccount + name: kubernetes-dashboard + namespace: kube-system + +--- +# ------------------- Dashboard Deployment ------------------- # + +kind: Deployment +apiVersion: apps/v1beta2 +metadata: + labels: + k8s-app: kubernetes-dashboard + name: kubernetes-dashboard + namespace: kube-system +spec: + replicas: 1 + revisionHistoryLimit: 10 + selector: + matchLabels: + k8s-app: kubernetes-dashboard + template: + metadata: + labels: + k8s-app: kubernetes-dashboard + spec: + containers: + - name: kubernetes-dashboard + image: k8s.gcr.io/kubernetes-dashboard-amd64:v1.8.3 + ports: + - containerPort: 8443 + protocol: TCP + args: + - --auto-generate-certificates + # Uncomment the following line to manually specify Kubernetes API server Host + # If not specified, Dashboard will attempt to auto discover the API server and connect + # to it. Uncomment only if the default does not work. + # - --apiserver-host=http://my-address:port + - --heapster-host=http://heapster.kube-system.svc.cluster.local + volumeMounts: + - name: kubernetes-dashboard-certs + mountPath: /certs + # Create on-disk volume to store exec logs + - mountPath: /tmp + name: tmp-volume + livenessProbe: + httpGet: + scheme: HTTPS + path: / + port: 8443 + initialDelaySeconds: 30 + timeoutSeconds: 30 + volumes: + - name: kubernetes-dashboard-certs + secret: + secretName: kubernetes-dashboard-certs + - name: tmp-volume + emptyDir: {} + serviceAccountName: kubernetes-dashboard + # Comment the following tolerations if Dashboard must not be deployed on master + tolerations: + - key: node-role.kubernetes.io/master + effect: NoSchedule + +--- +# ------------------- Dashboard Service ------------------- # + +kind: Service +apiVersion: v1 +metadata: + labels: + k8s-app: kubernetes-dashboard + name: kubernetes-dashboard + namespace: kube-system +spec: + ports: + - port: 443 + targetPort: 8443 + selector: + k8s-app: kubernetes-dashboard diff --git a/kubernetes/dashboard/roles/heapster-rbac.yaml b/kubernetes/dashboard/roles/heapster-rbac.yaml new file mode 100644 index 0000000..6e63803 --- /dev/null +++ b/kubernetes/dashboard/roles/heapster-rbac.yaml @@ -0,0 +1,12 @@ +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1beta1 +metadata: + name: heapster +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: system:heapster +subjects: +- kind: ServiceAccount + name: heapster + namespace: kube-system diff --git a/kubernetes/dashboard/setup-kubdashboard.sh b/kubernetes/dashboard/setup-kubdashboard.sh new file mode 100644 index 0000000..18ac7ff --- /dev/null +++ b/kubernetes/dashboard/setup-kubdashboard.sh @@ -0,0 +1,47 @@ +#!/bin/bash +set -e +# +# This script is meant for quick & easy install via: +# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh | bash +# +GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" + +source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh?p=$RANDOM") +# source ./kubernetes/common.sh + +version="2018.03.19.01" + +echo "---- setup-kubdashboard.sh version $version ------" + +# enable running pods on master +# kubectl taint node mymasternode node-role.kubernetes.io/master:NoSchedule + +# kubectl delete 'pods,services,configMaps,deployments,ingress' -l k8s-traefik=traefik -n kube-system --ignore-not-found=true + +# kubectl delete ServiceAccount traefik-ingress-controller-serviceaccount -n kube-system --ignore-not-found=true + +echo "-- Deploying roles --" +folder="roles" +for fname in "heapster-rbac.yaml" +do + echo "Deploying kubernetes/dashboard/$folder/$fname" + ReadYamlAndReplaceCustomer $GITHUB_URL "kubernetes/dashboard/$folder/$fname" "" | kubectl apply -f - +done + +echo "-- Deploying pods --" +folder="pods" +for fname in "influxdb.yaml" "grafana.yaml" "heapster.yaml" "kubernetes-dashboard.yaml" +do + echo "Deploying kubernetes/dashboard/$folder/$fname" + ReadYamlAndReplaceCustomer $GITHUB_URL "kubernetes/dashboard/$folder/$fname" "" | kubectl apply -f - +done + +echo "-- Deploying ingress --" +folder="ingress/http" +for fname in "dashboard.yaml" +do + echo "Deploying kubernetes/dashboard/$folder/$fname" + ReadYamlAndReplaceCustomer $GITHUB_URL "kubernetes/dashboard/$folder/$fname" "" | kubectl apply -f - +done + +echo "---- end of setup-kubdashboard.sh version $version ------" \ No newline at end of file diff --git a/kubernetes/loadbalancer/configmaps/config.yaml b/kubernetes/loadbalancer/configmaps/config.yaml index 8407f7d..1376054 100644 --- a/kubernetes/loadbalancer/configmaps/config.yaml +++ b/kubernetes/loadbalancer/configmaps/config.yaml @@ -19,3 +19,4 @@ data: address = ":80" [entryPoints.https] address = ":443" + [entryPoints.https.tls] diff --git a/kubernetes/main.sh b/kubernetes/main.sh index f7d3df1..de7d98b 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -35,8 +35,7 @@ while [[ "$input" != "q" ]]; do echo "4: Mount shared folder" echo "5: Mount Azure Storage as shared folder" echo "6: Setup Load Balancer" - echo "7: Test DNS" - echo "8: Show contents of shared folder" + echo "7: Setup Kubernetes Dashboard" echo "------ Worker Node -------" echo "12: Add this VM as Worker" echo "14: Mount shared folder" @@ -50,6 +49,8 @@ while [[ "$input" != "q" ]]; do # echo "33: View status of DNS pods" # echo "34: Apply updates and restart all VMs" echo "35: Show load balancer logs" + echo "37: Test DNS" + echo "38: Show contents of shared folder" echo "------ NLP -----" echo "41: Show status of NLP" echo "42: Test web sites" @@ -88,7 +89,25 @@ while [[ "$input" != "q" ]]; do ;; 6) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh?p=$RANDOM | bash ;; - 7) # from https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#debugging-dns-resolution + 7) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/dashboard/setup-kubdashboard.sh?p=$RANDOM | bash + ;; + 12) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt?p=$RANDOM | bash + ;; + 14) mountSMB + ;; + 15) mountAzureFile + ;; + 25) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh?p=$RANDOM | bash + ;; + 26) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.sh?p=$RANDOM | bash + ;; + 31) echo "Current cluster: $(kubectl config current-context)" + kubectl version --short + kubectl get "deployments,pods,services,nodes,ingress,secrets" --namespace=kube-system -o wide + ;; + 35) kubectl logs --namespace=kube-system -l k8s-app=traefik-ingress-lb-onprem --tail=100 + ;; + 37) # from https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#debugging-dns-resolution echo "To resolve DNS issues: https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#debugging-dns-resolution" echo "----------- Checking if DNS pods are running -----------" kubectl get pods --namespace=kube-system -l k8s-app=kube-dns @@ -116,24 +135,8 @@ while [[ "$input" != "q" ]]; do kubectl exec busybox cat /etc/resolv.conf kubectl delete -f https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/busybox.yml ;; - 8) ls -al /mnt/data + 38) ls -al /mnt/data ;; - 12) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt?p=$RANDOM | bash - ;; - 14) mountSMB - ;; - 15) mountAzureFile - ;; - 25) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh?p=$RANDOM | bash - ;; - 26) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.sh?p=$RANDOM | bash - ;; - 31) echo "Current cluster: $(kubectl config current-context)" - kubectl version --short - kubectl get "deployments,pods,services,nodes,ingress,secrets" --namespace=kube-system -o wide - ;; - 35) kubectl logs --namespace=kube-system -l k8s-app=traefik-ingress-lb-onprem --tail=100 - ;; 41) kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide ;; 43) Write-Host "MySql root password: $(ReadSecretPassword mysqlrootpassword fabricnlp)" From 698bc17717a88aa2a5ff7f0d86b9034c8ea86fdb Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 20 Mar 2018 16:27:40 -0700 Subject: [PATCH 357/473] add menu item to get bearer token for dashboard user Signed-off-by: HQCATALYST\imran.qureshi --- .../dashboard/ingress/http/dashboard.yaml | 5 +++-- .../dashboard/roles/dashboard-user.yaml | 20 +++++++++++++++++++ kubernetes/dashboard/setup-kubdashboard.sh | 6 +++++- .../loadbalancer/pods/ingress-onprem.yaml | 4 +++- kubernetes/main.sh | 11 +++++++++- 5 files changed, 41 insertions(+), 5 deletions(-) create mode 100644 kubernetes/dashboard/roles/dashboard-user.yaml diff --git a/kubernetes/dashboard/ingress/http/dashboard.yaml b/kubernetes/dashboard/ingress/http/dashboard.yaml index 131f2b1..e3841d4 100644 --- a/kubernetes/dashboard/ingress/http/dashboard.yaml +++ b/kubernetes/dashboard/ingress/http/dashboard.yaml @@ -7,12 +7,13 @@ metadata: k8s-traefik: traefik expose: external annotations: - kubernetes.io/ingress.class: traefik + kubernetes.io/ingress.class: traefik + traefik.frontend.rule.type: PathPrefixStrip spec: rules: - http: paths: - - path: /admin + - path: /api backend: serviceName: kubernetes-dashboard servicePort: 443 \ No newline at end of file diff --git a/kubernetes/dashboard/roles/dashboard-user.yaml b/kubernetes/dashboard/roles/dashboard-user.yaml new file mode 100644 index 0000000..582e7c3 --- /dev/null +++ b/kubernetes/dashboard/roles/dashboard-user.yaml @@ -0,0 +1,20 @@ +# from https://github.com/kubernetes/dashboard/wiki/Creating-sample-user +apiVersion: v1 +kind: ServiceAccount +metadata: + name: admin-user + namespace: kube-system +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: admin-user +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: cluster-admin +subjects: +- kind: ServiceAccount + name: admin-user + namespace: kube-system +--- \ No newline at end of file diff --git a/kubernetes/dashboard/setup-kubdashboard.sh b/kubernetes/dashboard/setup-kubdashboard.sh index 18ac7ff..b7eab26 100644 --- a/kubernetes/dashboard/setup-kubdashboard.sh +++ b/kubernetes/dashboard/setup-kubdashboard.sh @@ -16,13 +16,17 @@ echo "---- setup-kubdashboard.sh version $version ------" # enable running pods on master # kubectl taint node mymasternode node-role.kubernetes.io/master:NoSchedule +kubectl -n kube-system delete $(kubectl -n kube-system get pod -o name | grep dashboard) + # kubectl delete 'pods,services,configMaps,deployments,ingress' -l k8s-traefik=traefik -n kube-system --ignore-not-found=true # kubectl delete ServiceAccount traefik-ingress-controller-serviceaccount -n kube-system --ignore-not-found=true +# https://github.com/kubernetes/dashboard/wiki/Accessing-Dashboard---1.7.X-and-above + echo "-- Deploying roles --" folder="roles" -for fname in "heapster-rbac.yaml" +for fname in "heapster-rbac.yaml" "dashboard-user.yaml" do echo "Deploying kubernetes/dashboard/$folder/$fname" ReadYamlAndReplaceCustomer $GITHUB_URL "kubernetes/dashboard/$folder/$fname" "" | kubectl apply -f - diff --git a/kubernetes/loadbalancer/pods/ingress-onprem.yaml b/kubernetes/loadbalancer/pods/ingress-onprem.yaml index 295ef06..8aeaf7d 100644 --- a/kubernetes/loadbalancer/pods/ingress-onprem.yaml +++ b/kubernetes/loadbalancer/pods/ingress-onprem.yaml @@ -54,5 +54,7 @@ spec: - --logLevel=INFO - --kubernetes.labelselector=expose=external - --kubernetes.debugloggeneratedtemplate - - --accesslog + - --accesslog + - --insecureskipverify + - --kubernetes.enablepasstlscert --- diff --git a/kubernetes/main.sh b/kubernetes/main.sh index de7d98b..bef8a17 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.03.19.03" +version="2018.03.20.01" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -51,6 +51,7 @@ while [[ "$input" != "q" ]]; do echo "35: Show load balancer logs" echo "37: Test DNS" echo "38: Show contents of shared folder" + echo "39: Show dashboard url" echo "------ NLP -----" echo "41: Show status of NLP" echo "42: Test web sites" @@ -137,6 +138,14 @@ while [[ "$input" != "q" ]]; do ;; 38) ls -al /mnt/data ;; + 39) dnshostname=$(ReadSecret "dnshostname") + echo "You can access the kubernetes dashboard at: https://${dnshostname}/api/ " + secretname=$(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}') + token=$(ReadSecretValue "$secretname" "token" "kube-system") + echo "----------- Bearer Token ---------------" + echo $token + echo "-------- End of Bearer Token -------------" + ;; 41) kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide ;; 43) Write-Host "MySql root password: $(ReadSecretPassword mysqlrootpassword fabricnlp)" From 70fbc83dfc924b8c33703bca2e529f094c3bbd89 Mon Sep 17 00:00:00 2001 From: "michael.vidal" Date: Tue, 20 Mar 2018 20:58:33 -0400 Subject: [PATCH 358/473] added the ability to set Authority via an environment variable. --- identity/installidentity.txt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/identity/installidentity.txt b/identity/installidentity.txt index 0e462b9..eceef88 100644 --- a/identity/installidentity.txt +++ b/identity/installidentity.txt @@ -34,6 +34,14 @@ if ! [ $allowunsafeeval ]; then allowunsafeeval="false" fi +if [ $7 ]; then + authority=$7 +fi + +if ! [ $authority ]; then + authority="http://localhost:5001" +fi + # # This script is meant for quick & easy install via: # curl -sSL https://healthcatalyst.github.io/InstallScripts/identity/installidentity.txt | sh /dev/stdin [couchdb_username] [couchdb_password] @@ -68,6 +76,7 @@ docker run -d --name fabric.identity \ -e "CouchDbSettings__Server=http://couchdb:5984" \ -e "CouchDbSettings__Username=$couchdb_username" \ -e "CouchDbSettings__Password=$couchdb_password" \ + -e "IdentityServerConfidentialClientSettings__Authority=$authority" \ -p 5001:5001 \ --link fabric.couchdb:couchdb \ healthcatalyst/fabric.identity:$identityversion From cf780b614c2435d936f3ebd4edd53223aba76e67 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 20 Mar 2018 18:34:49 -0700 Subject: [PATCH 359/473] remove the tcp proxy for mirth web ui since I figured out how to make it work with the ingress Signed-off-by: HQCATALYST\imran.qureshi --- .../ingress/http/interfaceengine.onprem.yaml | 2 +- .../tcp/interfaceengine.webadmin.onprem.yaml | 49 ------------------- realtime/installrealtimekubernetes.sh | 4 +- realtime/pods/interfaceengine.yaml | 4 +- .../services/external/interfaceengine.yaml | 4 +- 5 files changed, 7 insertions(+), 56 deletions(-) delete mode 100644 realtime/ingress/tcp/interfaceengine.webadmin.onprem.yaml diff --git a/realtime/ingress/http/interfaceengine.onprem.yaml b/realtime/ingress/http/interfaceengine.onprem.yaml index e4e48e0..13f99c7 100644 --- a/realtime/ingress/http/interfaceengine.onprem.yaml +++ b/realtime/ingress/http/interfaceengine.onprem.yaml @@ -23,4 +23,4 @@ spec: - path: /mirth backend: serviceName: interfaceenginepublic - servicePort: 80 + servicePort: 443 diff --git a/realtime/ingress/tcp/interfaceengine.webadmin.onprem.yaml b/realtime/ingress/tcp/interfaceengine.webadmin.onprem.yaml deleted file mode 100644 index 1002d4c..0000000 --- a/realtime/ingress/tcp/interfaceengine.webadmin.onprem.yaml +++ /dev/null @@ -1,49 +0,0 @@ -# we're doing this as TCP because Mirth wants SSL -# https://github.com/kubernetes/contrib/tree/master/for-demos/proxy-to-service -# https://stackoverflow.com/questions/47057176/how-to-access-kubernetes-service-externally-on-bare-metal-install -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: -# name for this pod - name: tcp-proxy-interfaceengine-webadmin-ssl -# namespace for this pod - namespace: fabricrealtime - labels: - app: interfaceengine -spec: - replicas: 1 - revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. - strategy: - type: Recreate - selector: - matchLabels: - app: tcp-proxy-interfaceengine-webadmin-ssl - template: - metadata: - labels: - app: tcp-proxy-interfaceengine-webadmin-ssl - spec: - # hostPort is broken on CNI (https://github.com/kubernetes/kubernetes/issues/31307) we have to use hostNetwork where CNI is used - hostNetwork: true - dnsPolicy: ClusterFirstWithHostNet - # run on master node so we use the IP of the master - # https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ - # https://ekartco.com/2017/09/kubernetes-make-pods-run-on-your-master-nodes/ - nodeSelector: - node-role.kubernetes.io/master: "" - # https://stackoverflow.com/questions/41999756/how-to-force-pods-deployments-to-master-nodes - # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ - tolerations: - - key: node-role.kubernetes.io/master - operator: Exists - effect: NoSchedule - containers: - - name: proxy-tcp-interfaceengine-webadmin-ssl - image: healthcatalyst/tcp-proxy:latest - imagePullPolicy: Always - args: [ "tcp", "8443", "interfaceengine.fabricrealtime.svc.cluster.local" ] - ports: - - name: tcp - protocol: TCP - containerPort: 8443 ---- diff --git a/realtime/installrealtimekubernetes.sh b/realtime/installrealtimekubernetes.sh index 89935ba..cf8b164 100644 --- a/realtime/installrealtimekubernetes.sh +++ b/realtime/installrealtimekubernetes.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | bash # GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -version="2018.03.20.01" +version="2018.03.20.02" echo "---- installrealtimekubernetes.sh version $version ------" @@ -123,7 +123,7 @@ done echo "-- Deploying TCP proxies --" folder="ingress/tcp" -for fname in "mysqlserver.onprem.yaml" "interfaceengine.onprem.yaml" "rabbitmq.onprem.yaml" "interfaceengine.webadmin.onprem.yaml" +for fname in "mysqlserver.onprem.yaml" "interfaceengine.onprem.yaml" "rabbitmq.onprem.yaml" do echo "Deploying realtime/$folder/$fname" ReadYamlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl apply -f - diff --git a/realtime/pods/interfaceengine.yaml b/realtime/pods/interfaceengine.yaml index 119dff5..5860560 100644 --- a/realtime/pods/interfaceengine.yaml +++ b/realtime/pods/interfaceengine.yaml @@ -43,7 +43,7 @@ spec: - name: HTTP_PORT value: "80" - name: HTTPS_PORT - value: "8443" + value: "443" - name: HTTP_CONTEXTPATH value: "/mirth/" ports: @@ -51,7 +51,7 @@ spec: - containerPort: 80 # name of the port name: http - - containerPort: 8443 + - containerPort: 443 # name of the port name: https - containerPort: 6661 diff --git a/realtime/services/external/interfaceengine.yaml b/realtime/services/external/interfaceengine.yaml index 9d59573..3e5b161 100644 --- a/realtime/services/external/interfaceengine.yaml +++ b/realtime/services/external/interfaceengine.yaml @@ -12,7 +12,7 @@ spec: - port: 80 targetPort: 80 name: "http" - - port: 8443 - targetPort: 8443 + - port: 443 + targetPort: 443 name: "https" --- From a5119d61430c5cb3a4f7ce46be579b006d7ce726 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 20 Mar 2018 20:01:49 -0700 Subject: [PATCH 360/473] create self-signed certs in setup-loadbalancer Signed-off-by: HQCATALYST\imran.qureshi --- .../loadbalancer/pods/ingress-onprem.yaml | 5 +++ kubernetes/setup-loadbalancer.sh | 39 ++++++++++++++++++- 2 files changed, 42 insertions(+), 2 deletions(-) diff --git a/kubernetes/loadbalancer/pods/ingress-onprem.yaml b/kubernetes/loadbalancer/pods/ingress-onprem.yaml index 8aeaf7d..eb87077 100644 --- a/kubernetes/loadbalancer/pods/ingress-onprem.yaml +++ b/kubernetes/loadbalancer/pods/ingress-onprem.yaml @@ -34,6 +34,9 @@ spec: serviceAccountName: traefik-ingress-serviceaccount terminationGracePeriodSeconds: 60 volumes: + - name: ssl-ahmn + secret: + secretName: traefik-cert-ahmn - name: config configMap: name: traefik-conf @@ -42,6 +45,8 @@ spec: name: traefik-ingress-lb-onprem imagePullPolicy: Always volumeMounts: + - mountPath: "/ssl/ahmn" + name: "ssl-ahmn" - mountPath: "/config" name: "config" ports: diff --git a/kubernetes/setup-loadbalancer.sh b/kubernetes/setup-loadbalancer.sh index 31b8f2c..f4ca3ee 100644 --- a/kubernetes/setup-loadbalancer.sh +++ b/kubernetes/setup-loadbalancer.sh @@ -9,7 +9,7 @@ GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/mast source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh?p=$RANDOM") # source ./kubernetes/common.sh -version="2018.03.19.01" +version="2018.03.20.01" echo "---- setup-loadbalancer.sh version $version ------" @@ -29,7 +29,42 @@ customerid=$(ReadSecret "customerid") AskForSecretValue "dnshostname" "DNS name used to connect to the master VM " dnsrecordname=$(ReadSecret "dnshostname") -yamlfile="kubernetes/loadbalancer/configmaps/config.yaml" +sslsecret=$(kubectl get secret traefik-cert-ahmn -n kube-system --ignore-not-found=true) + +if [[ -z "$sslsecret" ]]; then + + read -p "Location of SSL cert files (tls.crt and tls.key): (leave empty to use self-signed certificates) " certfolder < /dev/tty + + if [[ -z "$certfolder" ]]; then + echo "Creating self-signed SSL certificate" + sudo yum -y install openssl + u="$(whoami)" + certfolder="/opt/healthcatalyst/certs" + echo "Creating folder: $certfolder and giving access to $u" + sudo mkdir -p "$certfolder" + sudo setfacl -m u:$u:rwx "$certfolder" + rm -rf "$certfolder/*" + cd "$certfolder" + # https://gist.github.com/fntlnz/cf14feb5a46b2eda428e000157447309 + echo "Generating CA cert" + openssl genrsa -out rootCA.key 2048 + openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 3650 -subj /CN=HCKubernetes/O=HealthCatalyst/ -out rootCA.crt + echo "Generating certificate for $dnsrecordname" + openssl genrsa -out tls.key 2048 + openssl req -new -key tls.key -subj /CN=$dnsrecordname/O=HealthCatalyst/ -out tls.csr + openssl x509 -req -in tls.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out tls.crt -days 3650 -sha256 + fi + + ls -al "$certfolder" + + echo "Deleting any old TLS certs" + kubectl delete secret traefik-cert-ahmn -n kube-system --ignore-not-found=true + + echo "Storing TLS certs as kubernetes secret" + kubectl create secret generic traefik-cert-ahmn -n kube-system --from-file="$certfolder/tls.crt" --from-file="$certfolder/tls.key" +fi + +yamlfile="kubernetes/loadbalancer/configmaps/config.ssl.yaml" echo "Downloading $GITHUB_URL/$yamlfile" ReadYamlAndReplaceCustomer $GITHUB_URL "$yamlfile" $customerid \ | kubectl apply -f - From 3c53f4f25b03f16bac1ce102d1024bda7d300718 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 20 Mar 2018 20:11:11 -0700 Subject: [PATCH 361/473] fix name on interfaceengine.onprem.yaml Signed-off-by: HQCATALYST\imran.qureshi --- realtime/ingress/http/interfaceengine.onprem.yaml | 4 ++-- realtime/ingress/http/rabbitmq.onprem.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/realtime/ingress/http/interfaceengine.onprem.yaml b/realtime/ingress/http/interfaceengine.onprem.yaml index 13f99c7..054abe6 100644 --- a/realtime/ingress/http/interfaceengine.onprem.yaml +++ b/realtime/ingress/http/interfaceengine.onprem.yaml @@ -1,13 +1,13 @@ apiVersion: extensions/v1beta1 kind: Ingress metadata: - name: realtime.ingress.rabbitmq + name: realtime.ingress.interfaceengine namespace: fabricrealtime labels: expose: external annotations: kubernetes.io/ingress.class: traefik - ingress.kubernetes.io/ssl-passthrough: "true" + # ingress.kubernetes.io/ssl-passthrough: "true" # change /certificates to / # https://docs.giantswarm.io/guides/advanced-ingress-configuration/ # https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/annotations.md diff --git a/realtime/ingress/http/rabbitmq.onprem.yaml b/realtime/ingress/http/rabbitmq.onprem.yaml index 366cc55..a7904c6 100644 --- a/realtime/ingress/http/rabbitmq.onprem.yaml +++ b/realtime/ingress/http/rabbitmq.onprem.yaml @@ -7,7 +7,7 @@ metadata: expose: external annotations: kubernetes.io/ingress.class: traefik - ingress.kubernetes.io/ssl-passthrough: "true" + # ingress.kubernetes.io/ssl-passthrough: "true" # change /certificates to / # https://docs.giantswarm.io/guides/advanced-ingress-configuration/ # https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/annotations.md From 1aa160dd7200fc57744080780d199313cd67fd55 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 21 Mar 2018 18:48:02 -0700 Subject: [PATCH 362/473] mount the tls cert to certificateserver Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/setup-loadbalancer.sh | 1 + realtime/pods/certificateserver.yaml | 11 +++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/kubernetes/setup-loadbalancer.sh b/kubernetes/setup-loadbalancer.sh index f4ca3ee..9d8e407 100644 --- a/kubernetes/setup-loadbalancer.sh +++ b/kubernetes/setup-loadbalancer.sh @@ -53,6 +53,7 @@ if [[ -z "$sslsecret" ]]; then openssl genrsa -out tls.key 2048 openssl req -new -key tls.key -subj /CN=$dnsrecordname/O=HealthCatalyst/ -out tls.csr openssl x509 -req -in tls.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out tls.crt -days 3650 -sha256 + cp tls.crt tls.pem fi ls -al "$certfolder" diff --git a/realtime/pods/certificateserver.yaml b/realtime/pods/certificateserver.yaml index 6497d43..a2772d8 100644 --- a/realtime/pods/certificateserver.yaml +++ b/realtime/pods/certificateserver.yaml @@ -52,8 +52,15 @@ spec: - name: certificateserver-persistent-storage # point the /var/lib/mysql folder inside the container to the volume called mysql-persistent-storage mountPath: /opt/certs/ - subPath: certs + subPath: certs + - name: tls + mountPath: "/opt/tls/" + readOnly: true volumes: - name: certificateserver-persistent-storage persistentVolumeClaim: - claimName: realtime.certificateserver + claimName: realtime.certificateserver + - name: tls + secret: + secretName: traefik-cert-ahmn + \ No newline at end of file From 1f2c41b14a2a123016a5a661417b7d4c1e784567 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 21 Mar 2018 20:29:38 -0700 Subject: [PATCH 363/473] remove .onprem from realtime ingress since we'll use the same ones everywhere Signed-off-by: HQCATALYST\imran.qureshi --- ...ngine.onprem.yaml => interfaceengine.yaml} | 0 .../{rabbitmq.onprem.yaml => rabbitmq.yaml} | 0 realtime/ingress/http/web.onprem.yaml | 25 ------------------- realtime/ingress/http/web.ssl.yaml | 20 --------------- realtime/ingress/http/web.yaml | 21 ++++++++++------ ...ngine.onprem.yaml => interfaceengine.yaml} | 0 ...sqlserver.onprem.yaml => mysqlserver.yaml} | 0 .../{rabbitmq.onprem.yaml => rabbitmq.yaml} | 0 realtime/installrealtimekubernetes.sh | 6 ++--- 9 files changed, 17 insertions(+), 55 deletions(-) rename realtime/ingress/http/{interfaceengine.onprem.yaml => interfaceengine.yaml} (100%) rename realtime/ingress/http/{rabbitmq.onprem.yaml => rabbitmq.yaml} (100%) delete mode 100644 realtime/ingress/http/web.onprem.yaml delete mode 100644 realtime/ingress/http/web.ssl.yaml rename realtime/ingress/tcp/{interfaceengine.onprem.yaml => interfaceengine.yaml} (100%) rename realtime/ingress/tcp/{mysqlserver.onprem.yaml => mysqlserver.yaml} (100%) rename realtime/ingress/tcp/{rabbitmq.onprem.yaml => rabbitmq.yaml} (100%) diff --git a/realtime/ingress/http/interfaceengine.onprem.yaml b/realtime/ingress/http/interfaceengine.yaml similarity index 100% rename from realtime/ingress/http/interfaceengine.onprem.yaml rename to realtime/ingress/http/interfaceengine.yaml diff --git a/realtime/ingress/http/rabbitmq.onprem.yaml b/realtime/ingress/http/rabbitmq.yaml similarity index 100% rename from realtime/ingress/http/rabbitmq.onprem.yaml rename to realtime/ingress/http/rabbitmq.yaml diff --git a/realtime/ingress/http/web.onprem.yaml b/realtime/ingress/http/web.onprem.yaml deleted file mode 100644 index 90d3d93..0000000 --- a/realtime/ingress/http/web.onprem.yaml +++ /dev/null @@ -1,25 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: realtime.ingress - namespace: fabricrealtime - labels: - expose: external - annotations: - kubernetes.io/ingress.class: traefik - # change /certificates to / - # https://docs.giantswarm.io/guides/advanced-ingress-configuration/ - # https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/annotations.md - # https://github.com/kubernetes/ingress-nginx/blob/master/docs/examples/rewrite/README.md - # ingress.kubernetes.io/rewrite-target: / - # ingress.kubernetes.io/add-base-url: "true" - # https://docs.traefik.io/configuration/backends/kubernetes/ - traefik.frontend.rule.type: PathPrefixStrip -spec: - rules: - - http: - paths: - - path: /certificates - backend: - serviceName: certificateserverpublic - servicePort: 80 diff --git a/realtime/ingress/http/web.ssl.yaml b/realtime/ingress/http/web.ssl.yaml deleted file mode 100644 index 436a64e..0000000 --- a/realtime/ingress/http/web.ssl.yaml +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: realtime.ingress - namespace: fabricrealtime - labels: - expose: external - annotations: - kubernetes.io/ingress.class: traefik -spec: - tls: - - secretName: ssl-ahmn - rules: - - host: certificates.CUSTOMERID.healthcatalyst.net - http: - paths: - - backend: - serviceName: certificateserverpublic - servicePort: 80 ---- diff --git a/realtime/ingress/http/web.yaml b/realtime/ingress/http/web.yaml index fa2bddf..90d3d93 100644 --- a/realtime/ingress/http/web.yaml +++ b/realtime/ingress/http/web.yaml @@ -4,15 +4,22 @@ metadata: name: realtime.ingress namespace: fabricrealtime labels: - expose: external + expose: external annotations: - kubernetes.io/ingress.class: traefik + kubernetes.io/ingress.class: traefik + # change /certificates to / + # https://docs.giantswarm.io/guides/advanced-ingress-configuration/ + # https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/annotations.md + # https://github.com/kubernetes/ingress-nginx/blob/master/docs/examples/rewrite/README.md + # ingress.kubernetes.io/rewrite-target: / + # ingress.kubernetes.io/add-base-url: "true" + # https://docs.traefik.io/configuration/backends/kubernetes/ + traefik.frontend.rule.type: PathPrefixStrip spec: rules: - - host: certificates.CUSTOMERID.healthcatalyst.net - http: - paths: - - backend: + - http: + paths: + - path: /certificates + backend: serviceName: certificateserverpublic servicePort: 80 ---- diff --git a/realtime/ingress/tcp/interfaceengine.onprem.yaml b/realtime/ingress/tcp/interfaceengine.yaml similarity index 100% rename from realtime/ingress/tcp/interfaceengine.onprem.yaml rename to realtime/ingress/tcp/interfaceengine.yaml diff --git a/realtime/ingress/tcp/mysqlserver.onprem.yaml b/realtime/ingress/tcp/mysqlserver.yaml similarity index 100% rename from realtime/ingress/tcp/mysqlserver.onprem.yaml rename to realtime/ingress/tcp/mysqlserver.yaml diff --git a/realtime/ingress/tcp/rabbitmq.onprem.yaml b/realtime/ingress/tcp/rabbitmq.yaml similarity index 100% rename from realtime/ingress/tcp/rabbitmq.onprem.yaml rename to realtime/ingress/tcp/rabbitmq.yaml diff --git a/realtime/installrealtimekubernetes.sh b/realtime/installrealtimekubernetes.sh index cf8b164..80aa686 100644 --- a/realtime/installrealtimekubernetes.sh +++ b/realtime/installrealtimekubernetes.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | bash # GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -version="2018.03.20.02" +version="2018.03.21.01" echo "---- installrealtimekubernetes.sh version $version ------" @@ -115,7 +115,7 @@ done echo "-- Deploying HTTP proxies --" folder="ingress/http" -for fname in "web.onprem.yaml" "rabbitmq.onprem.yaml" "interfaceengine.onprem.yaml" +for fname in "web.yaml" "rabbitmq.yaml" "interfaceengine.yaml" do echo "Deploying realtime/$folder/$fname" ReadYamlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl apply -f - @@ -123,7 +123,7 @@ done echo "-- Deploying TCP proxies --" folder="ingress/tcp" -for fname in "mysqlserver.onprem.yaml" "interfaceengine.onprem.yaml" "rabbitmq.onprem.yaml" +for fname in "mysqlserver.yaml" "interfaceengine.yaml" "rabbitmq.yaml" do echo "Deploying realtime/$folder/$fname" ReadYamlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl apply -f - From fe61b3d8c99aa3aa5b1a975a2c2b1744d319a994 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 21 Mar 2018 20:45:39 -0700 Subject: [PATCH 364/473] set proper yaml files in installrealtimekubernetes.ps1 Signed-off-by: HQCATALYST\imran.qureshi --- realtime/installrealtimekubernetes.ps1 | 173 +++++++++---------------- 1 file changed, 63 insertions(+), 110 deletions(-) diff --git a/realtime/installrealtimekubernetes.ps1 b/realtime/installrealtimekubernetes.ps1 index e3b12fb..c48173c 100644 --- a/realtime/installrealtimekubernetes.ps1 +++ b/realtime/installrealtimekubernetes.ps1 @@ -1,4 +1,4 @@ -Write-Output "Version 2018.01.21.01" +Write-Output "Version 2018.03.21.01" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.ps1 | iex; @@ -11,10 +11,26 @@ Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1 | Invoke-Expres Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; # Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; +DownloadAzCliIfNeeded + $loggedInUser = az account show --query "user.name" --output tsv +$AKS_USE_SSL = "" Write-Output "user: $loggedInUser" +$AKS_PERS_RESOURCE_GROUP_BASE64 = kubectl get secret azure-secret -o jsonpath='{.data.resourcegroup}' +if (![string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP_BASE64)) { + $AKS_PERS_RESOURCE_GROUP = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($AKS_PERS_RESOURCE_GROUP_BASE64)) +} + +if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) { + Do { $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group (e.g., fabricnlp-rg)"} + while ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) +} +else { + Write-Output "Using resource group: $AKS_PERS_RESOURCE_GROUP" +} + if ( "$loggedInUser" ) { $SUBSCRIPTION_NAME = az account show --query "name" --output tsv Write-Output "You are currently logged in as [$loggedInUser] into subscription [$SUBSCRIPTION_NAME]" @@ -31,19 +47,6 @@ else { az login } -$AKS_PERS_RESOURCE_GROUP_BASE64 = kubectl get secret azure-secret -o jsonpath='{.data.resourcegroup}' -if (![string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP_BASE64)) { - $AKS_PERS_RESOURCE_GROUP = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($AKS_PERS_RESOURCE_GROUP_BASE64)) -} - -if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) { - Do { $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group (e.g., fabricnlp-rg)"} - while ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) -} -else { - Write-Output "Using resource group: $AKS_PERS_RESOURCE_GROUP" -} - if ([string]::IsNullOrWhiteSpace($(kubectl get namespace fabricrealtime --ignore-not-found=true))) { kubectl create namespace fabricrealtime } @@ -60,11 +63,6 @@ else { } } -Do { $AKS_USE_SSL = Read-Host "Do you want to setup SSL? (y/n)"} -while ([string]::IsNullOrWhiteSpace($AKS_USE_SSL)) - - - AskForPassword -secretname "mysqlrootpassword" -prompt "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -namespace "fabricrealtime" AskForPassword -secretname "mysqlpassword" -prompt "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -namespace "fabricrealtime" @@ -86,108 +84,63 @@ $AZURE_STORAGE_CONNECTION_STRING = az storage account show-connection-string -n Write-Output "Create the file share: $AKS_PERS_SHARE_NAME" az storage share create -n $AKS_PERS_SHARE_NAME --connection-string $AZURE_STORAGE_CONNECTION_STRING --quota 512 -ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/realtime-kubernetes-storage.yml" -customerid $customerid | kubectl create -f - - -ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/realtime-kubernetes.yml" -customerid $customerid | kubectl create -f - - -ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/realtime-kubernetes-public.yml" -customerid $customerid | kubectl create -f - - -$ipname = "InterfaceEnginePublicIP" -$publicip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n $ipname --query "ipAddress" -o tsv; -if ([string]::IsNullOrWhiteSpace($publicip)) { - az network public-ip create -g $AKS_PERS_RESOURCE_GROUP -n $ipname --allocation-method Static - $publicip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n $ipname --query "ipAddress" -o tsv; -} -Write-Host "Using Interface Engine Public IP: [$publicip]" - -# Write-Output "Checking if DNS entries exist" -# https://kubernetes.io/docs/reference/kubectl/jsonpath/ - -# setup DNS -# az network dns zone create -g $AKS_PERS_RESOURCE_GROUP -n nlp.allina.healthcatalyst.net -# az network dns record-set a add-record --ipv4-address j ` -# --record-set-name nlp.allina.healthcatalyst.net ` -# --resource-group $AKS_PERS_RESOURCE_GROUP ` -# --zone-name - -$serviceyaml = @" -kind: Service -apiVersion: v1 -metadata: - name: interfaceengine-direct-port - namespace: fabricrealtime -spec: - selector: - app: interfaceengine - ports: - - name: interfaceengine - protocol: TCP - port: 6661 - targetPort: 6661 - type: LoadBalancer - # Special notes for Azure: To use user-specified public type loadBalancerIP, a static type public IP address resource needs to be created first, - # and it should be in the same resource group of the cluster. - # Then you could specify the assigned IP address as loadBalancerIP - # https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer - loadBalancerIP: $publicip ---- -"@ - -Write-Output $serviceyaml | kubectl create -f - - -AskForSecretValue -secretname "customerid" -prompt "Health Catalyst Customer ID (e.g., ahmn)" -namespace "fabricrealtime" - -$customeridbase64 = kubectl get secret customerid -n fabricrealtime -o jsonpath='{.data.value}' -$customerid = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($customeridbase64)) -Write-Output "Customer ID:" $customerid - -$templateFile = "realtime/realtime-ingress.yml" -if ($AKS_USE_SSL -eq "y" ) { - $templateFile = "realtime/realtime-ingress-ssl.yml" +AskForSecretValue -secretname "customerid" -prompt "Health Catalyst Customer ID (e.g., ahmn)" + +$customerid = ReadSecret -secretname customerid +$customerid = $customerid.ToLower().Trim() +Write-Output "Customer ID: $customerid" + +Write-Host "-- Deploying volumes --" +$folder = "volumes" +foreach ($file in "certificateserver.yaml mysqlserver.yaml rabbitmq-cert.yaml rabbitmq.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/${folder}/${file}" -customerid $customerid | kubectl apply -f - } -Write-Output "Using template: $templateFile" +Write-Host "-- Deploying volume claims --" +$folder = "volumeclaims" +foreach ($file in "certificateserver.yaml mysqlserver.yaml rabbitmq-cert.yaml rabbitmq.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/${folder}/${file}" -customerid $customerid | kubectl apply -f - +} -ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile $templateFile -customerid $customerid +Write-Host "-- Deploying pods --" +$folder = "pods" +foreach ($file in "certificateserver.yaml mysqlserver.yaml interfaceengine.yaml rabbitmq.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/${folder}/${file}" -customerid $customerid | kubectl apply -f - +} -kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime -o wide +Write-Host "-- Deploying cluster services --" +$folder = "services/cluster" +foreach ($file in "certificateserver.yaml mysqlserver.yaml interfaceengine.yaml rabbitmq.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/${folder}/${file}" -customerid $customerid | kubectl apply -f - +} -# to get a shell -# kubectl exec -it fabric.nlp.nlpwebserver-85c8cb86b5-gkphh bash --namespace=fabricrealtime +Write-Host "-- Deploying external services --" +$folder = "services/external" +foreach ($file in "certificateserver.yaml rabbitmq.yaml interfaceengine.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/${folder}/${file}" -customerid $customerid | kubectl apply -f - +} -# kubectl create secret generic azure-secret --namespace=fabricrealtime --from-literal=azurestorageaccountname="fabricrealtime7storage" --from-literal=azurestorageaccountkey="/bYhXNstTodg3MdOvTMog/vDLSFrQDpxG/Zgkp2MlnjtOWhDBNQ2xOs6zjRoZYNjmJHya34MfzqdfOwXkMDN2A==" +Write-Host "-- Deploying HTTP proxies --" +$folder = "ingress/http" + foreach ($file in "web.yaml rabbitmq.yaml interfaceengine.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/${folder}/${file}" -customerid $customerid | kubectl apply -f - + } -Write-Output "To get status of Fabric.NLP run:" -Write-Output "kubectl get deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes --namespace=fabricrealtime -o wide" +Write-Host "-- Deploying TCP proxies --" +$folder = "ingress/tcp" +foreach ($file in "mysqlserver.yaml interfaceengine.yaml rabbitmq.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/${folder}/${file}" -customerid $customerid | kubectl apply -f - +} -Write-Output "To launch the dashboard UI, run:" -Write-Output "kubectl proxy" -Write-Output "and then in your browser, navigate to: http://127.0.0.1:8001/ui" +kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime -o wide -$loadBalancerIP = kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' +$loadBalancerIP = kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' --ignore-not-found=true if ([string]::IsNullOrWhiteSpace($loadBalancerIP)) { $loadBalancerIP = kubectl get svc traefik-ingress-service-internal -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' } +$loadBalancerInternalIP = kubectl get svc traefik-ingress-service-internal -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' -Write-Output "To test out the NLP services, open Git Bash and run:" -Write-Output "curl -L --verbose --header 'Host: certificates.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/client'" - -Write-Output "Connect to interface engine at: $publicip port 6661" - -Write-Output "if you want, you can download the CA (Certificate Authority) cert from this url" -Write-Output "http://certificates.$customerid.healthcatalyst.net/client/fabric_ca_cert.p12" - -Write-Output "-------------------------------" -Write-Output "you can download the client certificate from this url:" -Write-Output "http://certificates.$customerid.healthcatalyst.net/client/fabricrabbitmquser_client_cert.p12" -Write-Output "-------------------------------" - -Write-Output "Waiting for load balancer IP to get assigned to interface engine..." -Do { - $loadBalancerIP = $(kubectl get service interfaceengine-direct-port -n fabricrealtime -o jsonpath='{.spec.loadBalancerIP}'); - Write-Output "." - Start-Sleep -Seconds 5 -} -while ([string]::IsNullOrWhiteSpace($loadBalancerIP)) +Write-Host "Sleeping for 10 seconds so kube services get IPs assigned" +Start-Sleep -Seconds 10 -Write-Output "Load Balancer IP: $loadBalancerIP" +FixLoadBalancers -resourceGroup $AKS_PERS_RESOURCE_GROUP From 71914b52088a3b55f2cc1b7512699f44719508ae Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 22 Mar 2018 08:25:54 -0700 Subject: [PATCH 365/473] fix check for connection string Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index 1386e60..b33f494 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.03.16.01" +$versioncommon = "2018.03.22.01" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -349,7 +349,7 @@ function global:CreateStorageIfNotExists($resourceGroup) { } Write-Host "Checking to see if storage account exists" - $storageAccountConnectionString = az storage account show-connection-string --name $storageAccountName --resource-group $resourceGroup --query "name" --output tsv + $storageAccountConnectionString = az storage account show-connection-string --name $storageAccountName --resource-group $resourceGroup --query "connectionString" --output tsv if (![string]::IsNullOrEmpty($storageAccountConnectionString)) { Write-Warning "Storage account, [$storageAccountName], already exists. Deleting it will remove this data permanently" Do { $confirmation = Read-Host "Delete storage account: (WARNING: deletes data) (y/n)"} @@ -365,7 +365,7 @@ function global:CreateStorageIfNotExists($resourceGroup) { else { $storageAccountCanBeCreated = az storage account check-name --name $storageAccountName --query "nameAvailable" --output tsv if ($storageAccountCanBeCreated -ne "True" ) { - az storage account check-name --name $storageAccountName + Write-Warning "$(az storage account check-name --name $storageAccountName --query 'message' --output tsv)" Write-Error "$storageAccountName is not a valid storage account name" } else { From 7542b6fe490087082466d68a568a3af3ae6a447c Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 22 Mar 2018 08:56:50 -0700 Subject: [PATCH 366/473] answer yes to storage account delete Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index b33f494..2503dfa 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.03.22.01" +$versioncommon = "2018.03.22.02" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -356,7 +356,7 @@ function global:CreateStorageIfNotExists($resourceGroup) { while ([string]::IsNullOrWhiteSpace($confirmation)) if ($confirmation -eq 'y') { - az storage account delete -n $storageAccountName -g $resourceGroup + az storage account delete -n $storageAccountName -g $resourceGroup --yes Write-Host "Creating storage account: [${storageAccountName}]" # https://docs.microsoft.com/en-us/azure/storage/common/storage-quickstart-create-account?tabs=azure-cli az storage account create -n $storageAccountName -g $resourceGroup -l $location --kind StorageV2 --sku Standard_LRS From 1fc28b22b712ed13f080e115892db99afb855019 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 22 Mar 2018 09:12:03 -0700 Subject: [PATCH 367/473] reset color of console after checking connection string Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 1 + 1 file changed, 1 insertion(+) diff --git a/azure/common.ps1 b/azure/common.ps1 index 2503dfa..682edd8 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -350,6 +350,7 @@ function global:CreateStorageIfNotExists($resourceGroup) { Write-Host "Checking to see if storage account exists" $storageAccountConnectionString = az storage account show-connection-string --name $storageAccountName --resource-group $resourceGroup --query "connectionString" --output tsv + [Console]::ResetColor() if (![string]::IsNullOrEmpty($storageAccountConnectionString)) { Write-Warning "Storage account, [$storageAccountName], already exists. Deleting it will remove this data permanently" Do { $confirmation = Read-Host "Delete storage account: (WARNING: deletes data) (y/n)"} From 9be2164d15bcc445b1af5ad59976bd7e6c21b0b1 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 22 Mar 2018 10:04:33 -0700 Subject: [PATCH 368/473] add parameter validation Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 50 +++++++++++++++++++----------------- azure/create-acs-cluster.ps1 | 4 +-- kubernetes/common-kube.ps1 | 20 +++++++-------- 3 files changed, 38 insertions(+), 36 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index 682edd8..b9a2175 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -7,7 +7,7 @@ function global:GetCommonVersion() { return $versioncommon } -function global:CreateShareInStorageAccount($storageAccountName, $resourceGroup, $sharename, $deleteExisting) { +function global:CreateShareInStorageAccount([ValidateNotNullOrEmpty()] $storageAccountName, [ValidateNotNullOrEmpty()] $resourceGroup, [ValidateNotNullOrEmpty()] $sharename, $deleteExisting) { $AZURE_STORAGE_CONNECTION_STRING = az storage account show-connection-string -n $storageAccountName -g $resourceGroup -o tsv # Write-Host "Storage connection string: $AZURE_STORAGE_CONNECTION_STRING" @@ -36,7 +36,7 @@ function global:CreateShareInStorageAccount($storageAccountName, $resourceGroup, Write-Host "File share already exists: $sharename" } } -function global:CreateShare($resourceGroup, $sharename, $deleteExisting) { +function global:CreateShare([ValidateNotNullOrEmpty()] $resourceGroup, [ValidateNotNullOrEmpty()] $sharename, $deleteExisting) { $storageAccountName = ReadSecretValue -secretname azure-secret -valueName azurestorageaccountname CreateShareInStorageAccount -storageAccountName $storageAccountName -resourceGroup $resourceGroup -sharename $sharename -deleteExisting $deleteExisting @@ -105,7 +105,7 @@ function global:Get-FirstIP { INT64-toIP -int $startaddr } -function global:SetupCronTab($resourceGroup) { +function global:SetupCronTab([ValidateNotNullOrEmpty()] $resourceGroup) { $virtualmachines = az vm list -g $resourceGroup --query "[?storageProfile.osDisk.osType != 'Windows'].name" -o tsv ForEach ($vm in $virtualmachines) { if ($vm -match "master" ) { @@ -115,7 +115,7 @@ function global:SetupCronTab($resourceGroup) { } } -function global:UpdateOSInVMs($resourceGroup) { +function global:UpdateOSInVMs([ValidateNotNullOrEmpty()] $resourceGroup) { $virtualmachines = az vm list -g $resourceGroup --query "[?storageProfile.osDisk.osType != 'Windows'].name" -o tsv ForEach ($vm in $virtualmachines) { Write-Host "Updating OS in vm: $vm" @@ -125,7 +125,7 @@ function global:UpdateOSInVMs($resourceGroup) { } -function global:RestartVMsInResourceGroup( $resourceGroup) { +function global:RestartVMsInResourceGroup([ValidateNotNullOrEmpty()] $resourceGroup) { # az vm run-command invoke -g Prod-Kub-AHMN-RG -n k8s-master-37819884-0 --command-id RunShellScript --scripts "apt-get update && sudo apt-get upgrade" Write-Host "Restarting VMs in resource group: ${resourceGroup}: $(az vm list -g $resourceGroup --query "[].name" -o tsv)" az vm restart --ids $(az vm list -g $resourceGroup --query "[].id" -o tsv) @@ -156,7 +156,7 @@ function global:RestartVMsInResourceGroup( $resourceGroup) { } -function global:FixEtcdRestartIssueOnMaster( $resourceGroup) { +function global:FixEtcdRestartIssueOnMaster([ValidateNotNullOrEmpty()] $resourceGroup) { $virtualmachines = az vm list -g $resourceGroup --query "[].name" -o tsv ForEach ($vm in $virtualmachines) { @@ -169,7 +169,7 @@ function global:FixEtcdRestartIssueOnMaster( $resourceGroup) { } -function global:SetHostFileInVms( $resourceGroup) { +function global:SetHostFileInVms( [ValidateNotNullOrEmpty()] $resourceGroup) { $AKS_PERS_LOCATION = az group show --name $resourceGroup --query "location" -o tsv $MASTER_VM_NAME = "${resourceGroup}.${AKS_PERS_LOCATION}.cloudapp.azure.com" @@ -206,7 +206,7 @@ function global:SetHostFileInVms( $resourceGroup) { } -function global:CleanResourceGroup($resourceGroup, $location, $vnet, $subnet, $subnetResourceGroup, $storageAccount) { +function global:CleanResourceGroup([ValidateNotNullOrEmpty()] $resourceGroup, [ValidateNotNullOrEmpty()] $location, $vnet, $subnet, $subnetResourceGroup, $storageAccount) { Write-Host "checking if resource group already exists" $resourceGroupExists = az group exists --name ${resourceGroup} if ($resourceGroupExists -eq "true") { @@ -330,7 +330,7 @@ function global:CleanResourceGroup($resourceGroup, $location, $vnet, $subnet, $s } -function global:CreateStorageIfNotExists($resourceGroup) { +function global:CreateStorageIfNotExists([ValidateNotNullOrEmpty()] $resourceGroup) { #Create an hashtable variable [hashtable]$Return = @{} @@ -364,12 +364,14 @@ function global:CreateStorageIfNotExists($resourceGroup) { } } else { + Write-Host "Checking if storage account name is valid" $storageAccountCanBeCreated = az storage account check-name --name $storageAccountName --query "nameAvailable" --output tsv if ($storageAccountCanBeCreated -ne "True" ) { Write-Warning "$(az storage account check-name --name $storageAccountName --query 'message' --output tsv)" Write-Error "$storageAccountName is not a valid storage account name" } else { + Write-Host "Creating storage account: [${storageAccountName}]" az storage account create -n $storageAccountName -g $resourceGroup -l $location --kind StorageV2 --sku Standard_LRS } } @@ -378,7 +380,7 @@ function global:CreateStorageIfNotExists($resourceGroup) { return $Return } -function global:GetVnet($subscriptionId) { +function global:GetVnet([ValidateNotNullOrEmpty()] $subscriptionId) { #Create an hashtable variable [hashtable]$Return = @{} @@ -540,7 +542,7 @@ function global:FindOpenPort($portArray) { return $Return } -function global:AddFolderToPathEnvironmentVariable($folder) { +function global:AddFolderToPathEnvironmentVariable([ValidateNotNullOrEmpty()] $folder) { # add the c:\kubernetes folder to system PATH Write-Host "Checking if $folder is in PATH" $pathItems = ($env:path).split(";") @@ -603,7 +605,7 @@ function global:DownloadAzCliIfNeeded() { } -function global:CreateSSHKey($resourceGroup, $localFolder) { +function global:CreateSSHKey([ValidateNotNullOrEmpty()] $resourceGroup, [ValidateNotNullOrEmpty()] $localFolder) { #Create an hashtable variable [hashtable]$Return = @{} @@ -715,7 +717,7 @@ function global:GetResourceGroupAndLocation($defaultResourceGroup) { Return $Return } -function global:SetNetworkSecurityGroupRule($resourceGroup, $networkSecurityGroup, $rulename, $ruledescription, $sourceTag, $port, $priority ) { +function global:SetNetworkSecurityGroupRule([ValidateNotNullOrEmpty()] $resourceGroup, [ValidateNotNullOrEmpty()] $networkSecurityGroup, [ValidateNotNullOrEmpty()] $rulename, [ValidateNotNullOrEmpty()] $ruledescription, [ValidateNotNullOrEmpty()] $sourceTag, [ValidateNotNullOrEmpty()] $port, [ValidateNotNullOrEmpty()] $priority ) { if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "$rulename" --nsg-name $networkSecurityGroup --resource-group $resourceGroup))) { Write-Host "Creating rule: $rulename" az network nsg rule create -g $resourceGroup --nsg-name $networkSecurityGroup -n "$rulename" --priority $priority ` @@ -735,14 +737,14 @@ function global:SetNetworkSecurityGroupRule($resourceGroup, $networkSecurityGrou } } -function global:DeleteNetworkSecurityGroupRule($resourceGroup, $networkSecurityGroup, $rulename ) { +function global:DeleteNetworkSecurityGroupRule([ValidateNotNullOrEmpty()] $resourceGroup, [ValidateNotNullOrEmpty()] $networkSecurityGroup, [ValidateNotNullOrEmpty()] $rulename ) { if (![string]::IsNullOrWhiteSpace($(az network nsg rule show --name "$rulename" --nsg-name $networkSecurityGroup --resource-group $resourceGroup))) { Write-Host "Deleting $rulename rule" az network nsg rule delete -g $resourceGroup --nsg-name $networkSecurityGroup -n $rulename } } -function global:DownloadKubectl($localFolder) { +function global:DownloadKubectl([ValidateNotNullOrEmpty()] $localFolder) { # download kubectl $kubeCtlFile = "$localFolder\kubectl.exe" $desiredKubeCtlVersion = "v1.9.3" @@ -774,7 +776,7 @@ function global:DownloadKubectl($localFolder) { } -function global:DownloadFile($url, $targetFile) { +function global:DownloadFile([ValidateNotNullOrEmpty()] $url, [ValidateNotNullOrEmpty()] $targetFile) { # https://learn-powershell.net/2013/02/08/powershell-and-events-object-events/ $web = New-Object System.Net.WebClient $web.UseDefaultCredentials = $True @@ -806,7 +808,7 @@ function global:DownloadFile($url, $targetFile) { Unregister-Event -SourceIdentifier Web.DownloadProgressChanged #endregion Download file from website } -function global:DownloadFileOld($url, $targetFile) { +function global:DownloadFileOld([ValidateNotNullOrEmpty()] $url, [ValidateNotNullOrEmpty()] $targetFile) { # from https://stackoverflow.com/questions/21422364/is-there-any-way-to-monitor-the-progress-of-a-download-using-a-webclient-object $uri = New-Object "System.Uri" "$url" $request = [System.Net.HttpWebRequest]::Create($uri) @@ -837,7 +839,7 @@ function global:DownloadFileOld($url, $targetFile) { $responseStream.Dispose() } -function global:FixLoadBalancers($resourceGroup) { +function global:FixLoadBalancers([ValidateNotNullOrEmpty()] $resourceGroup) { # hacks here to get around bugs in the acs-engine loadbalancer code Write-Host "Checking if load balancers are setup correctly for resourceGroup: $resourceGroup" # 1. assign the nics to the loadbalancer @@ -957,7 +959,7 @@ function global:FixLoadBalancers($resourceGroup) { # end hacks } -function global:SetupDNS($dnsResourceGroup, $dnsrecordname, $externalIP) { +function global:SetupDNS([ValidateNotNullOrEmpty()] $dnsResourceGroup, [ValidateNotNullOrEmpty()] $dnsrecordname, [ValidateNotNullOrEmpty()] $externalIP) { Write-Host "Setting DNS zones" if ([string]::IsNullOrWhiteSpace($(az network dns zone show --name "$dnsrecordname" -g $dnsResourceGroup))) { @@ -971,7 +973,7 @@ function global:SetupDNS($dnsResourceGroup, $dnsrecordname, $externalIP) { ShowNameServerEntries -dnsResourceGroup $dnsResourceGroup -dnsrecordname $dnsrecordname } -function global:ShowNameServerEntries($dnsResourceGroup, $dnsrecordname) { +function global:ShowNameServerEntries([ValidateNotNullOrEmpty()] $dnsResourceGroup, [ValidateNotNullOrEmpty()] $dnsrecordname) { # list out the name servers Write-Host "Name servers to set in GoDaddy for *.$dnsrecordname" az network dns zone show -g $dnsResourceGroup -n "$dnsrecordname" --query "nameServers" -o tsv @@ -1010,7 +1012,7 @@ function global:GetLoadBalancerIPs() { return $Return } -function global:CheckUrl($url, $hostHeader) { +function global:CheckUrl([ValidateNotNullOrEmpty()] $url, [ValidateNotNullOrEmpty()] $hostHeader) { [hashtable]$Return = @{} @@ -1074,7 +1076,7 @@ function global:WriteDNSCommands() { Write-Host "" } -function global:GetPublicNameofMasterVM($resourceGroup) { +function global:GetPublicNameofMasterVM([ValidateNotNullOrEmpty()] $resourceGroup) { [hashtable]$Return = @{} $resourceGroupLocation = az group show --name $resourceGroup --query "location" -o tsv @@ -1085,7 +1087,7 @@ function global:GetPublicNameofMasterVM($resourceGroup) { return $Return } -function global:GetPrivateIPofMasterVM($resourceGroup) { +function global:GetPrivateIPofMasterVM([ValidateNotNullOrEmpty()] $resourceGroup) { [hashtable]$Return = @{} $virtualmachines = az vm list -g $resourceGroup --query "[?storageProfile.osDisk.osType != 'Windows'].name" -o tsv @@ -1099,7 +1101,7 @@ function global:GetPrivateIPofMasterVM($resourceGroup) { return $Return } -function global:CreateVM($vm, $resourceGroup, $subnetId, $networkSecurityGroup, $publicKeyFile, $image) { +function global:CreateVM([ValidateNotNullOrEmpty()] $vm, [ValidateNotNullOrEmpty()] $resourceGroup, [ValidateNotNullOrEmpty()] $subnetId, [ValidateNotNullOrEmpty()] $networkSecurityGroup, [ValidateNotNullOrEmpty()] $publicKeyFile, [ValidateNotNullOrEmpty()] $image) { [hashtable]$Return = @{} $publicIP = "${vm}PublicIP" diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index 4a25cab..6821d57 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -1,4 +1,4 @@ -Write-output "--- create-acs-cluster Version 2018.03.16.01 ----" +Write-output "--- create-acs-cluster Version 2018.03.22.01 ----" # # This script is meant for quick & easy install via: @@ -377,7 +377,7 @@ if (!(Test-Path -Path "$AKS_LOCAL_TEMP_FOLDER\.kube")) { Write-Host "Replace master vm name with private ip in kube config file" $kubeconfigjsonfile="$acsoutputfolder\kubeconfig\kubeconfig.$AKS_PERS_LOCATION.json" -$publicNameOfMasterVM = $(GetPublicNameofMasterVM).Name +$publicNameOfMasterVM = $(GetPublicNameofMasterVM -resourceGroup $AKS_PERS_RESOURCE_GROUP).Name $privateIpOfMasterVM = $(GetPrivateIPofMasterVM -resourceGroup $AKS_PERS_RESOURCE_GROUP).PrivateIP (Get-Content "$kubeconfigjsonfile").replace("$publicNameOfMasterVM", "$privateIpOfMasterVM") | Set-Content "$kubeconfigjsonfile" diff --git a/kubernetes/common-kube.ps1 b/kubernetes/common-kube.ps1 index aa7a61a..d5ff17a 100644 --- a/kubernetes/common-kube.ps1 +++ b/kubernetes/common-kube.ps1 @@ -9,7 +9,7 @@ function global:GetCommonKubeVersion() { return $versionkubecommon } -function global:ReadSecretValue($secretname, $valueName, $namespace) { +function global:ReadSecretValue([ValidateNotNullOrEmpty()] $secretname, [ValidateNotNullOrEmpty()] $valueName, $namespace) { if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} $secretbase64 = kubectl get secret $secretname -o jsonpath="{.data.${valueName}}" -n $namespace --ignore-not-found=true 2> $null @@ -22,11 +22,11 @@ function global:ReadSecretValue($secretname, $valueName, $namespace) { return ""; } -function global:ReadSecret($secretname, $namespace) { +function global:ReadSecret([ValidateNotNullOrEmpty()] $secretname, $namespace) { return ReadSecretValue -secretname $secretname -valueName "value" -namespace $namespace } -function global:ReadSecretPassword($secretname, $namespace) { +function global:ReadSecretPassword([ValidateNotNullOrEmpty()] $secretname, $namespace) { return ReadSecretValue -secretname $secretname -valueName "password" -namespace $namespace } @@ -46,7 +46,7 @@ function global:GeneratePassword() { return $result } -function global:SaveSecretValue($secretname, $valueName, $value, $namespace) { +function global:SaveSecretValue([ValidateNotNullOrEmpty()] $secretname, [ValidateNotNullOrEmpty()] $valueName, $value, $namespace) { # secretname must be lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} @@ -57,7 +57,7 @@ function global:SaveSecretValue($secretname, $valueName, $value, $namespace) { kubectl create secret generic $secretname --namespace=$namespace --from-literal=${valueName}=$value } -function global:AskForPassword ($secretname, $prompt, $namespace) { +function global:AskForPassword ([ValidateNotNullOrEmpty()] $secretname, $prompt, $namespace) { if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data}' --ignore-not-found=true))) { @@ -81,7 +81,7 @@ function global:AskForPassword ($secretname, $prompt, $namespace) { } } -function global:AskForPasswordAnyCharacters ($secretname, $prompt, $namespace, $defaultvalue) { +function global:AskForPasswordAnyCharacters ([ValidateNotNullOrEmpty()] $secretname, $prompt, $namespace, $defaultvalue) { if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data}' --ignore-not-found=true))) { @@ -105,7 +105,7 @@ function global:AskForPasswordAnyCharacters ($secretname, $prompt, $namespace, $ } } -function global:AskForSecretValue ($secretname, $prompt, $namespace) { +function global:AskForSecretValue ([ValidateNotNullOrEmpty()] $secretname, $prompt, $namespace) { if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data}' --ignore-not-found=true))) { @@ -122,7 +122,7 @@ function global:AskForSecretValue ($secretname, $prompt, $namespace) { } } -function global:ReadYamlAndReplaceCustomer($baseUrl, $templateFile, $customerid ) { +function global:ReadYamlAndReplaceCustomer([ValidateNotNullOrEmpty()] $baseUrl, [ValidateNotNullOrEmpty()] $templateFile, $customerid ) { Write-Host "Reading from url: ${baseUrl}/${templateFile}" if ($baseUrl.StartsWith("http")) { @@ -152,7 +152,7 @@ function global:Stop-ProcessByPort( [ValidateNotNullOrEmpty()] [int] $Port ) { -function global:CleanOutNamespace($namespace) { +function global:CleanOutNamespace([ValidateNotNullOrEmpty()] $namespace) { Write-Host "--- Cleaning out any old resources in $namespace ---" @@ -173,7 +173,7 @@ function global:CleanOutNamespace($namespace) { while (![string]::IsNullOrEmpty($CLEANUP_DONE)) } -function global:SwitchToKubCluster($kubfolder, $clustername) { +function global:SwitchToKubCluster([ValidateNotNullOrEmpty()] $kubfolder, [ValidateNotNullOrEmpty()] $clustername) { $fileToUse = "$kubfolder\$clustername\temp\.kube\config" if (Test-Path -Path $fileToUse) { Write-Host "Switching kube config to this cluster: $clustername" From f006bcc7e55ba31ee2492260ddbd7aa2eea9b384 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 22 Mar 2018 11:40:34 -0700 Subject: [PATCH 369/473] test private ip before using it in kubeconfig Signed-off-by: HQCATALYST\imran.qureshi --- azure/create-acs-cluster.ps1 | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index 6821d57..0d263ef 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -1,4 +1,4 @@ -Write-output "--- create-acs-cluster Version 2018.03.22.01 ----" +Write-output "--- create-acs-cluster Version 2018.03.22.02 ----" # # This script is meant for quick & easy install via: @@ -375,11 +375,24 @@ if (!(Test-Path -Path "$AKS_LOCAL_TEMP_FOLDER\.kube")) { New-Item -ItemType directory -Path "$AKS_LOCAL_TEMP_FOLDER\.kube" } -Write-Host "Replace master vm name with private ip in kube config file" -$kubeconfigjsonfile="$acsoutputfolder\kubeconfig\kubeconfig.$AKS_PERS_LOCATION.json" -$publicNameOfMasterVM = $(GetPublicNameofMasterVM -resourceGroup $AKS_PERS_RESOURCE_GROUP).Name $privateIpOfMasterVM = $(GetPrivateIPofMasterVM -resourceGroup $AKS_PERS_RESOURCE_GROUP).PrivateIP -(Get-Content "$kubeconfigjsonfile").replace("$publicNameOfMasterVM", "$privateIpOfMasterVM") | Set-Content "$kubeconfigjsonfile" +$publicNameOfMasterVM = $(GetPublicNameofMasterVM -resourceGroup $AKS_PERS_RESOURCE_GROUP).Name +$kubeconfigjsonfile = "$acsoutputfolder\kubeconfig\kubeconfig.$AKS_PERS_LOCATION.json" + +Write-Host "Testing if we can connect to private IP Address: $privateIpOfMasterVM" +$canConnectToPrivateIP = $(Test-NetConnection $privateIpOfMasterVM -Port 443 -InformationLevel Quiet) + +if ($canConnectToPrivateIP -eq "True") { + Write-Host "Replacing master vm name, [$publicNameOfMasterVM], with private ip, [$privateIpOfMasterVM], in kube config file" + (Get-Content "$kubeconfigjsonfile").replace("$publicNameOfMasterVM", "$privateIpOfMasterVM") | Set-Content "$kubeconfigjsonfile" +} else { + Write-Host "Could not connect to private IP, [$privateIpOfMasterVM], so leaving the master VM name [$publicNameOfMasterVM] in the kubeconfig" + $canConnectToMasterVM = $(Test-NetConnection $publicNameOfMasterVM -Port 443 -InformationLevel Quiet) + if ($canConnectToMasterVM -ne "True"){ + Write-Error "Cannot connect to master VM: $publicNameOfMasterVM" + Test-NetConnection $publicNameOfMasterVM -Port 443 + } +} Copy-Item -Path "$kubeconfigjsonfile" -Destination "$env:userprofile\.kube\config" From da88d2b427c7b94a687db9a4b0be3807de311386 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 22 Mar 2018 14:15:35 -0700 Subject: [PATCH 370/473] set namespace for installrealtime Signed-off-by: HQCATALYST\imran.qureshi --- realtime/installrealtimekubernetes.ps1 | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/realtime/installrealtimekubernetes.ps1 b/realtime/installrealtimekubernetes.ps1 index c48173c..9daa995 100644 --- a/realtime/installrealtimekubernetes.ps1 +++ b/realtime/installrealtimekubernetes.ps1 @@ -1,4 +1,4 @@ -Write-Output "Version 2018.03.21.01" +Write-Output "Version 2018.03.22.01" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.ps1 | iex; @@ -14,7 +14,7 @@ Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; DownloadAzCliIfNeeded $loggedInUser = az account show --query "user.name" --output tsv -$AKS_USE_SSL = "" +$namespace = "fabricrealtime" Write-Output "user: $loggedInUser" @@ -122,9 +122,9 @@ foreach ($file in "certificateserver.yaml rabbitmq.yaml interfaceengine.yaml".Sp Write-Host "-- Deploying HTTP proxies --" $folder = "ingress/http" - foreach ($file in "web.yaml rabbitmq.yaml interfaceengine.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/${folder}/${file}" -customerid $customerid | kubectl apply -f - - } +foreach ($file in "web.yaml rabbitmq.yaml interfaceengine.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/${folder}/${file}" -customerid $customerid | kubectl apply -f - +} Write-Host "-- Deploying TCP proxies --" $folder = "ingress/tcp" From dc9a1e8dab4aa50407bde986903c86e10b24f9c0 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Thu, 22 Mar 2018 14:31:44 -0700 Subject: [PATCH 371/473] set tls policy before pinging over ssl Signed-off-by: HQCATALYST\imran.qureshi --- azure/create-acs-cluster.ps1 | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index 0d263ef..918b167 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -1,4 +1,4 @@ -Write-output "--- create-acs-cluster Version 2018.03.22.02 ----" +Write-output "--- create-acs-cluster Version 2018.03.22.03 ----" # # This script is meant for quick & easy install via: @@ -380,20 +380,42 @@ $publicNameOfMasterVM = $(GetPublicNameofMasterVM -resourceGroup $AKS_PERS_RESOU $kubeconfigjsonfile = "$acsoutputfolder\kubeconfig\kubeconfig.$AKS_PERS_LOCATION.json" Write-Host "Testing if we can connect to private IP Address: $privateIpOfMasterVM" +# from https://stackoverflow.com/questions/11696944/powershell-v3-invoke-webrequest-https-error +add-type @" +using System.Net; +using System.Security.Cryptography.X509Certificates; +public class TrustAllCertsPolicy : ICertificatePolicy { + public bool CheckValidationResult( + ServicePoint srvPoint, X509Certificate certificate, + WebRequest request, int certificateProblem) { + return true; + } +} +"@ +$AllProtocols = [System.Net.SecurityProtocolType]'Ssl3,Tls,Tls11,Tls12' +$previousSecurityProtocol=[System.Net.ServicePointManager]::SecurityProtocol +[System.Net.ServicePointManager]::SecurityProtocol = $AllProtocols +$previousSecurityPolicy = [System.Net.ServicePointManager]::CertificatePolicy +[System.Net.ServicePointManager]::CertificatePolicy = New-Object TrustAllCertsPolicy + $canConnectToPrivateIP = $(Test-NetConnection $privateIpOfMasterVM -Port 443 -InformationLevel Quiet) if ($canConnectToPrivateIP -eq "True") { Write-Host "Replacing master vm name, [$publicNameOfMasterVM], with private ip, [$privateIpOfMasterVM], in kube config file" (Get-Content "$kubeconfigjsonfile").replace("$publicNameOfMasterVM", "$privateIpOfMasterVM") | Set-Content "$kubeconfigjsonfile" -} else { +} +else { Write-Host "Could not connect to private IP, [$privateIpOfMasterVM], so leaving the master VM name [$publicNameOfMasterVM] in the kubeconfig" $canConnectToMasterVM = $(Test-NetConnection $publicNameOfMasterVM -Port 443 -InformationLevel Quiet) - if ($canConnectToMasterVM -ne "True"){ + if ($canConnectToMasterVM -ne "True") { Write-Error "Cannot connect to master VM: $publicNameOfMasterVM" Test-NetConnection $publicNameOfMasterVM -Port 443 } } +[System.Net.ServicePointManager]::CertificatePolicy = $previousSecurityPolicy +[System.Net.ServicePointManager]::SecurityProtocol = $previousSecurityProtocol + Copy-Item -Path "$kubeconfigjsonfile" -Destination "$env:userprofile\.kube\config" Copy-Item -Path "$kubeconfigjsonfile" -Destination "$AKS_LOCAL_TEMP_FOLDER\.kube\config" From 92ced64d96d25109b82b3ceb63da8e0066fdd6f5 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 23 Mar 2018 08:31:29 -0700 Subject: [PATCH 372/473] add flag to show whether the current environment is CAFE or not Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 46 ++++++++++++++++++++++++++++- azure/create-acs-cluster.ps1 | 57 ++++++++++-------------------------- 2 files changed, 60 insertions(+), 43 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index b9a2175..a884e52 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.03.22.02" +$versioncommon = "2018.03.23.01" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -673,13 +673,16 @@ function global:CheckIfUserLogged() { az login } + $subscriptionName = $(az account show --query "name" --output tsv) $subscriptionId = $(az account show --query "id" --output tsv) Write-Host "SubscriptionId: ${subscriptionId}" az account get-access-token --subscription $subscriptionId + $Return.AKS_SUBSCRIPTION_NAME = "$subscriptionName" $Return.AKS_SUBSCRIPTION_ID = "$subscriptionId" + $Return.IS_CAFE_ENVIRONMENT = $($subscriptionName -match "CAFE" ) return $Return } @@ -1129,5 +1132,46 @@ function global:CreateVM([ValidateNotNullOrEmpty()] $vm, [ValidateNotNullOrEmpty $Return.IP = $ip return $Return } + +function global:TestConnection() { + Write-Host "Testing if we can connect to private IP Address: $privateIpOfMasterVM" + # from https://stackoverflow.com/questions/11696944/powershell-v3-invoke-webrequest-https-error + add-type +@" + using System.Net; + using System.Security.Cryptography.X509Certificates; + public class TrustAllCertsPolicy : ICertificatePolicy { + public bool CheckValidationResult( + ServicePoint srvPoint, X509Certificate certificate, + WebRequest request, int certificateProblem) { + return true; + } + } +"@ + $AllProtocols = [System.Net.SecurityProtocolType]'Ssl3,Tls,Tls11,Tls12' + $previousSecurityProtocol=[System.Net.ServicePointManager]::SecurityProtocol + [System.Net.ServicePointManager]::SecurityProtocol = $AllProtocols + $previousSecurityPolicy = [System.Net.ServicePointManager]::CertificatePolicy + [System.Net.ServicePointManager]::CertificatePolicy = New-Object TrustAllCertsPolicy + + $canConnectToPrivateIP = $(Test-NetConnection $privateIpOfMasterVM -Port 443 -InformationLevel Quiet) + + if ($canConnectToPrivateIP -eq "True") { + Write-Host "Replacing master vm name, [$publicNameOfMasterVM], with private ip, [$privateIpOfMasterVM], in kube config file" + (Get-Content "$kubeconfigjsonfile").replace("$publicNameOfMasterVM", "$privateIpOfMasterVM") | Set-Content "$kubeconfigjsonfile" + } + else { + Write-Host "Could not connect to private IP, [$privateIpOfMasterVM], so leaving the master VM name [$publicNameOfMasterVM] in the kubeconfig" + $canConnectToMasterVM = $(Test-NetConnection $publicNameOfMasterVM -Port 443 -InformationLevel Quiet) + if ($canConnectToMasterVM -ne "True") { + Write-Error "Cannot connect to master VM: $publicNameOfMasterVM" + Test-NetConnection $publicNameOfMasterVM -Port 443 + } + } + + [System.Net.ServicePointManager]::CertificatePolicy = $previousSecurityPolicy + [System.Net.ServicePointManager]::SecurityProtocol = $previousSecurityProtocol + +} #------------------- Write-Host "end common.ps1 version $versioncommon" diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index 918b167..bc80990 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -1,4 +1,4 @@ -Write-output "--- create-acs-cluster Version 2018.03.22.03 ----" +Write-output "--- create-acs-cluster Version 2018.03.23.01 ----" # # This script is meant for quick & easy install via: @@ -21,22 +21,27 @@ write-output "Checking if you're already logged in..." DownloadAzCliIfNeeded -$AKS_SUBSCRIPTION_ID = $(CheckIfUserLogged).AKS_SUBSCRIPTION_ID +$userInfo=$(CheckIfUserLogged) +$AKS_SUBSCRIPTION_ID = $userInfo.AKS_SUBSCRIPTION_ID +$IS_CAFE_ENVIRONMENT=$userInfo.IS_CAFE_ENVIRONMENT # ask for customerid -Do { $customerid = Read-Host "Health Catalyst Customer ID (e.g., ahmn)"} -while ([string]::IsNullOrWhiteSpace($customerid)) +if ($IS_CAFE_ENVIRONMENT){ + Do { $customerid = Read-Host "Health Catalyst Customer ID (e.g., ahmn)"} + while ([string]::IsNullOrWhiteSpace($customerid)) + $DEFAULT_RESOURCE_GROUP = "Prod-Kub-$($customerid.ToUpper())-RG" +} +else { + $customerid="hcut" + $DEFAULT_RESOURCE_GROUP = "Dev-Kub-$($customerid.ToUpper())-RG" +} Write-Output "Customer ID: $customerid" -# ask for resource group name to create -$DEFAULT_RESOURCE_GROUP = "Prod-Kub-$($customerid.ToUpper())-RG" - $ResourceGroupInfo = GetResourceGroupAndLocation -defaultResourceGroup $DEFAULT_RESOURCE_GROUP $AKS_PERS_RESOURCE_GROUP = $ResourceGroupInfo.AKS_PERS_RESOURCE_GROUP $AKS_PERS_LOCATION = $ResourceGroupInfo.AKS_PERS_LOCATION - $AKS_SUPPORT_WINDOWS_CONTAINERS = Read-Host "Support Windows containers (y/n) (default: n)" if ([string]::IsNullOrWhiteSpace($AKS_SUPPORT_WINDOWS_CONTAINERS)) { $AKS_SUPPORT_WINDOWS_CONTAINERS = "n" @@ -379,43 +384,11 @@ $privateIpOfMasterVM = $(GetPrivateIPofMasterVM -resourceGroup $AKS_PERS_RESOURC $publicNameOfMasterVM = $(GetPublicNameofMasterVM -resourceGroup $AKS_PERS_RESOURCE_GROUP).Name $kubeconfigjsonfile = "$acsoutputfolder\kubeconfig\kubeconfig.$AKS_PERS_LOCATION.json" -Write-Host "Testing if we can connect to private IP Address: $privateIpOfMasterVM" -# from https://stackoverflow.com/questions/11696944/powershell-v3-invoke-webrequest-https-error -add-type @" -using System.Net; -using System.Security.Cryptography.X509Certificates; -public class TrustAllCertsPolicy : ICertificatePolicy { - public bool CheckValidationResult( - ServicePoint srvPoint, X509Certificate certificate, - WebRequest request, int certificateProblem) { - return true; - } -} -"@ -$AllProtocols = [System.Net.SecurityProtocolType]'Ssl3,Tls,Tls11,Tls12' -$previousSecurityProtocol=[System.Net.ServicePointManager]::SecurityProtocol -[System.Net.ServicePointManager]::SecurityProtocol = $AllProtocols -$previousSecurityPolicy = [System.Net.ServicePointManager]::CertificatePolicy -[System.Net.ServicePointManager]::CertificatePolicy = New-Object TrustAllCertsPolicy - -$canConnectToPrivateIP = $(Test-NetConnection $privateIpOfMasterVM -Port 443 -InformationLevel Quiet) - -if ($canConnectToPrivateIP -eq "True") { +if($IS_CAFE_ENVIRONMENT){ Write-Host "Replacing master vm name, [$publicNameOfMasterVM], with private ip, [$privateIpOfMasterVM], in kube config file" - (Get-Content "$kubeconfigjsonfile").replace("$publicNameOfMasterVM", "$privateIpOfMasterVM") | Set-Content "$kubeconfigjsonfile" -} -else { - Write-Host "Could not connect to private IP, [$privateIpOfMasterVM], so leaving the master VM name [$publicNameOfMasterVM] in the kubeconfig" - $canConnectToMasterVM = $(Test-NetConnection $publicNameOfMasterVM -Port 443 -InformationLevel Quiet) - if ($canConnectToMasterVM -ne "True") { - Write-Error "Cannot connect to master VM: $publicNameOfMasterVM" - Test-NetConnection $publicNameOfMasterVM -Port 443 - } + (Get-Content "$kubeconfigjsonfile").replace("$publicNameOfMasterVM", "$privateIpOfMasterVM") | Set-Content "$kubeconfigjsonfile" } -[System.Net.ServicePointManager]::CertificatePolicy = $previousSecurityPolicy -[System.Net.ServicePointManager]::SecurityProtocol = $previousSecurityProtocol - Copy-Item -Path "$kubeconfigjsonfile" -Destination "$env:userprofile\.kube\config" Copy-Item -Path "$kubeconfigjsonfile" -Destination "$AKS_LOCAL_TEMP_FOLDER\.kube\config" From 7e6f01e76c3dc235aa612c01c9f2fa8d8e2d18d4 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 23 Mar 2018 08:51:07 -0700 Subject: [PATCH 373/473] Use IS_CAFE flag Signed-off-by: HQCATALYST\imran.qureshi --- azure/setup-loadbalancer.ps1 | 63 ++++++++++---------------- realtime/installrealtimekubernetes.ps1 | 22 ++------- 2 files changed, 26 insertions(+), 59 deletions(-) diff --git a/azure/setup-loadbalancer.ps1 b/azure/setup-loadbalancer.ps1 index 6ca22ff..4595278 100644 --- a/azure/setup-loadbalancer.ps1 +++ b/azure/setup-loadbalancer.ps1 @@ -23,27 +23,9 @@ $AKS_USE_SSL = "" $AKS_IP_WHITELIST = "" $SetupNSG = $true -$loggedInUser = az account show --query "user.name" --output tsv - -Write-Output "user: $loggedInUser" - -# choose Azure login and subscription -if ( "$loggedInUser" ) { - $SUBSCRIPTION_NAME = az account show --query "name" --output tsv - Write-Output "You are currently logged in as [$loggedInUser] into subscription [$SUBSCRIPTION_NAME]" - - Do { $confirmation = Read-Host "Do you want to use this account? (y/n)"} - while ([string]::IsNullOrWhiteSpace($confirmation)) - - if ($confirmation -eq 'n') { - az login - } -} -else { - az login -} - -$AKS_SUBSCRIPTION_ID = az account show --query "id" --output tsv +$userInfo = $(CheckIfUserLogged) +$AKS_SUBSCRIPTION_ID = $userInfo.AKS_SUBSCRIPTION_ID +$IS_CAFE_ENVIRONMENT = $userInfo.IS_CAFE_ENVIRONMENT # Get resource group name from kube secrets $AKS_PERS_RESOURCE_GROUP_BASE64 = kubectl get secret azure-secret -o jsonpath='{.data.resourcegroup}' --ignore-not-found=true @@ -86,11 +68,12 @@ $AKS_SUBNET_RESOURCE_GROUP = ReadSecretValue -secretname azure-vnet -valueName " Write-Output "Found vnet info from secret: vnet: $AKS_VNET_NAME, subnet: $AKS_SUBNET_NAME, subnetResourceGroup: $AKS_SUBNET_RESOURCE_GROUP" -$AKS_ALLOW_ADMIN_ACCESS_OUTSIDE_VNET = Read-Host "Do you want to allow admin access to this cluster from outside the vnet: ${AKS_VNET_NAME}? (y/n) (default: n)" - -if ([string]::IsNullOrWhiteSpace($AKS_ALLOW_ADMIN_ACCESS_OUTSIDE_VNET)) { +if ($IS_CAFE_ENVIRONMENT) { $AKS_ALLOW_ADMIN_ACCESS_OUTSIDE_VNET = "n" } +else { + $AKS_ALLOW_ADMIN_ACCESS_OUTSIDE_VNET = "y" +} $AKS_IP_WHITELIST = "" if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { @@ -134,28 +117,28 @@ $AKS_USE_WAF = "n" # $AKS_USE_WAF = "n" # } -if ([string]::IsNullOrWhiteSpace($(kubectl get secret traefik-cert-ahmn -o jsonpath='{.data}' -n kube-system --ignore-not-found=true))) { - Do { $AKS_USE_SSL = Read-Host "Do you want to setup SSL? (y/n)"} - while ([string]::IsNullOrWhiteSpace($AKS_USE_SSL)) +if ($IS_CAFE_ENVIRONMENT) { + $AKS_USE_SSL = "y" } else { - $AKS_USE_SSL = "y" - Write-Output "SSL cert already stored as secret (traefik-cert-ahmn) so setting up SSL" + $AKS_USE_SSL = "n" } -Do { - $SETUP_DNS = Read-Host "Do you want to setup DNS entries in Azure? (y/n) (default: n)" - if ([string]::IsNullOrWhiteSpace($SETUP_DNS)) { - $SETUP_DNS = "n" +if ($IS_CAFE_ENVIRONMENT) { + Do { + $SETUP_DNS = Read-Host "Do you want to setup DNS entries in Azure? (y/n) (default: n)" + if ([string]::IsNullOrWhiteSpace($SETUP_DNS)) { + $SETUP_DNS = "n" + } } -} -while ([string]::IsNullOrWhiteSpace($SETUP_DNS)) + while ([string]::IsNullOrWhiteSpace($SETUP_DNS)) -# if we need to setup DNS then ask which resourceGroup to use -if ($SETUP_DNS -eq "y") { - $DNS_RESOURCE_GROUP = Read-Host "Resource group containing DNS zones? (default: dns)" - if ([string]::IsNullOrWhiteSpace($DNS_RESOURCE_GROUP)) { - $DNS_RESOURCE_GROUP = "dns" + # if we need to setup DNS then ask which resourceGroup to use + if ($SETUP_DNS -eq "y") { + $DNS_RESOURCE_GROUP = Read-Host "Resource group containing DNS zones? (default: dns)" + if ([string]::IsNullOrWhiteSpace($DNS_RESOURCE_GROUP)) { + $DNS_RESOURCE_GROUP = "dns" + } } } diff --git a/realtime/installrealtimekubernetes.ps1 b/realtime/installrealtimekubernetes.ps1 index 9daa995..90d6af1 100644 --- a/realtime/installrealtimekubernetes.ps1 +++ b/realtime/installrealtimekubernetes.ps1 @@ -12,12 +12,12 @@ Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; # Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; DownloadAzCliIfNeeded +$userInfo = $(CheckIfUserLogged) +$AKS_SUBSCRIPTION_ID = $userInfo.AKS_SUBSCRIPTION_ID +$IS_CAFE_ENVIRONMENT = $userInfo.IS_CAFE_ENVIRONMENT -$loggedInUser = az account show --query "user.name" --output tsv $namespace = "fabricrealtime" -Write-Output "user: $loggedInUser" - $AKS_PERS_RESOURCE_GROUP_BASE64 = kubectl get secret azure-secret -o jsonpath='{.data.resourcegroup}' if (![string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP_BASE64)) { $AKS_PERS_RESOURCE_GROUP = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($AKS_PERS_RESOURCE_GROUP_BASE64)) @@ -31,22 +31,6 @@ else { Write-Output "Using resource group: $AKS_PERS_RESOURCE_GROUP" } -if ( "$loggedInUser" ) { - $SUBSCRIPTION_NAME = az account show --query "name" --output tsv - Write-Output "You are currently logged in as [$loggedInUser] into subscription [$SUBSCRIPTION_NAME]" - - Do { $confirmation = Read-Host "Do you want to use this account? (y/n)"} - while ([string]::IsNullOrWhiteSpace($confirmation)) - - if ($confirmation -eq 'n') { - az login - } -} -else { - # login - az login -} - if ([string]::IsNullOrWhiteSpace($(kubectl get namespace fabricrealtime --ignore-not-found=true))) { kubectl create namespace fabricrealtime } From 33bbfe8f646f7c8e28b63352e503b580ec82b659 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 23 Mar 2018 08:59:03 -0700 Subject: [PATCH 374/473] move setup-loadbalancer.ps1 to kubernetes folder Signed-off-by: HQCATALYST\imran.qureshi --- azure/main.ps1 | 14 +++++--------- {azure => kubernetes}/setup-loadbalancer.ps1 | 0 2 files changed, 5 insertions(+), 9 deletions(-) rename {azure => kubernetes}/setup-loadbalancer.ps1 (100%) diff --git a/azure/main.ps1 b/azure/main.ps1 index 2b561e4..c979cb6 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.02.27.04" +$version = "2018.03.23.01" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -73,10 +73,10 @@ while ($userinput -ne "q") { SwitchToKubCluster -folderToUse $folderToUse } '1' { - Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/create-acs-cluster.ps1 | Invoke-Expression; + Invoke-WebRequest -useb $GITHUB_URL/azure/create-acs-cluster.ps1?f=$randomstring | Invoke-Expression; } '2' { - Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/setup-loadbalancer.ps1 | Invoke-Expression; + Invoke-WebRequest -useb $GITHUB_URL/kubernetes/setup-loadbalancer.ps1?f=$randomstring | Invoke-Expression; } '3' { Do { @@ -135,10 +135,10 @@ while ($userinput -ne "q") { WriteDNSCommands } '11' { - Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | Invoke-Expression; + Invoke-WebRequest -useb $GITHUB_URL/nlp/installnlpkubernetes.ps1?f=$randomstring | Invoke-Expression; } '12' { - Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.ps1 | Invoke-Expression; + Invoke-WebRequest -useb $GITHUB_URL/realtime/installrealtimekubernetes.ps1?f=$randomstring | Invoke-Expression; } '20' { Write-Host "Current cluster: $(kubectl config current-context)" @@ -379,7 +379,3 @@ while ($userinput -ne "q") { [Console]::ResetColor() Clear-Host } - - - - diff --git a/azure/setup-loadbalancer.ps1 b/kubernetes/setup-loadbalancer.ps1 similarity index 100% rename from azure/setup-loadbalancer.ps1 rename to kubernetes/setup-loadbalancer.ps1 From d6506ed2bdcd7a2c3660df0f3fb61a548c3a2ece Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Fri, 23 Mar 2018 13:43:58 -0700 Subject: [PATCH 375/473] add common function to get url and ip for load balancer Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 50 +++++++++++++++---- azure/create-acs-cluster.ps1 | 4 +- azure/create-bare-metal.ps1 | 4 +- azure/main.ps1 | 16 +++--- .../loadbalancer/pods/ingress-azure.yaml | 4 +- kubernetes/setup-loadbalancer.ps1 | 4 +- realtime/installrealtimekubernetes.ps1 | 4 +- 7 files changed, 57 insertions(+), 29 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index a884e52..10fb913 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.03.23.01" +$versioncommon = "2018.03.23.02" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -644,7 +644,7 @@ function global:CreateSSHKey([ValidateNotNullOrEmpty()] $resourceGroup, [Validat } -function global:CheckIfUserLogged() { +function global:GetLoggedInUserInfo() { #Create an hashtable variable [hashtable]$Return = @{} @@ -659,14 +659,14 @@ function global:CheckIfUserLogged() { if ( "$loggedInUser" ) { $subscriptionName = az account show --query "name" --output tsv - Write-Host "You are currently logged in as [$loggedInUser] into subscription [$subscriptionName]" + # Write-Host "You are currently logged in as [$loggedInUser] into subscription [$subscriptionName]" - Do { $confirmation = Read-Host "Do you want to use this account? (y/n)"} - while ([string]::IsNullOrWhiteSpace($confirmation)) + # Do { $confirmation = Read-Host "Do you want to use this account? (y/n)"} + # while ([string]::IsNullOrWhiteSpace($confirmation)) - if ($confirmation -eq 'n') { - az login - } + # if ($confirmation -eq 'n') { + # az login + # } } else { # login @@ -1137,7 +1137,7 @@ function global:TestConnection() { Write-Host "Testing if we can connect to private IP Address: $privateIpOfMasterVM" # from https://stackoverflow.com/questions/11696944/powershell-v3-invoke-webrequest-https-error add-type -@" + @" using System.Net; using System.Security.Cryptography.X509Certificates; public class TrustAllCertsPolicy : ICertificatePolicy { @@ -1149,7 +1149,7 @@ function global:TestConnection() { } "@ $AllProtocols = [System.Net.SecurityProtocolType]'Ssl3,Tls,Tls11,Tls12' - $previousSecurityProtocol=[System.Net.ServicePointManager]::SecurityProtocol + $previousSecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol [System.Net.ServicePointManager]::SecurityProtocol = $AllProtocols $previousSecurityPolicy = [System.Net.ServicePointManager]::CertificatePolicy [System.Net.ServicePointManager]::CertificatePolicy = New-Object TrustAllCertsPolicy @@ -1173,5 +1173,35 @@ function global:TestConnection() { [System.Net.ServicePointManager]::SecurityProtocol = $previousSecurityProtocol } + + +function global:GetUrlAndIPForLoadBalancer([ValidateNotNullOrEmpty()] $resourceGroup) { + + [hashtable]$Return = @{} + + $userInfo = $(GetLoggedInUserInfo) + $IS_CAFE_ENVIRONMENT = $userInfo.IS_CAFE_ENVIRONMENT + + $loadBalancerIP = kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' --ignore-not-found=true + $loadBalancerInternalIP = kubectl get svc traefik-ingress-service-internal -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' + if ([string]::IsNullOrWhiteSpace($loadBalancerIP)) { + $loadBalancerIP = $loadBalancerInternalIP + } + + if ($IS_CAFE_ENVIRONMENT) { + $customerid = ReadSecret -secretname customerid + $customerid = $customerid.ToLower().Trim() + $url="dashboard.$customerid.healthcatalyst.net" + $loadBalancerIP =$loadBalancerInternalIP + } + else { + $url = $(GetPublicNameofMasterVM( $resourceGroup)).Name + } + + + $Return.IP = $loadBalancerIP + $Return.Url = $url + return $Return +} #------------------- Write-Host "end common.ps1 version $versioncommon" diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index bc80990..9df544d 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -1,4 +1,4 @@ -Write-output "--- create-acs-cluster Version 2018.03.23.01 ----" +Write-output "--- create-acs-cluster Version 2018.03.23.02 ----" # # This script is meant for quick & easy install via: @@ -21,7 +21,7 @@ write-output "Checking if you're already logged in..." DownloadAzCliIfNeeded -$userInfo=$(CheckIfUserLogged) +$userInfo=$(GetLoggedInUserInfo) $AKS_SUBSCRIPTION_ID = $userInfo.AKS_SUBSCRIPTION_ID $IS_CAFE_ENVIRONMENT=$userInfo.IS_CAFE_ENVIRONMENT diff --git a/azure/create-bare-metal.ps1 b/azure/create-bare-metal.ps1 index 4492e01..1bc52e6 100644 --- a/azure/create-bare-metal.ps1 +++ b/azure/create-bare-metal.ps1 @@ -1,4 +1,4 @@ -Write-Host "--- create-bare-metal Version 2018.02.27.03 ----" +Write-Host "--- create-bare-metal Version 2018.03.23.01 ----" # # This script is meant for quick & easy install via: @@ -21,7 +21,7 @@ $AKS_SUPPORT_WINDOWS_CONTAINERS = "n" DownloadAzCliIfNeeded -$AKS_SUBSCRIPTION_ID = $(CheckIfUserLogged).AKS_SUBSCRIPTION_ID +$AKS_SUBSCRIPTION_ID = $(GetLoggedInUserInfo).AKS_SUBSCRIPTION_ID # ask for customerid Do { $customerid = Read-Host "Health Catalyst Customer ID (e.g., ahmn)"} diff --git a/azure/main.ps1 b/azure/main.ps1 index c979cb6..ab520d6 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.03.23.01" +$version = "2018.03.23.02" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -267,18 +267,16 @@ while ($userinput -ne "q") { Start-Process powershell -verb RunAs -ArgumentList "ipconfig /flushdns" } '30' { - $loadBalancerIP = kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' --ignore-not-found=true - $loadBalancerInternalIP = kubectl get svc traefik-ingress-service-internal -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' - if ([string]::IsNullOrWhiteSpace($loadBalancerIP)) { - $loadBalancerIP = $loadBalancerInternalIP - } - $customerid = ReadSecret -secretname customerid - $customerid = $customerid.ToLower().Trim() + $AKS_PERS_RESOURCE_GROUP = ReadSecretValue -secretname azure-secret -valueName resourcegroup + + $urlAndIPForLoadBalancer=$(GetUrlAndIPForLoadBalancer "$AKS_PERS_RESOURCE_GROUP") + $url=$($urlAndIPForLoadBalancer.Url) + $ip=$($urlAndIPForLoadBalancer.IP) # Invoke-WebRequest -useb -Headers @{"Host" = "nlp.$customerid.healthcatalyst.net"} -Uri http://$loadBalancerIP/nlpweb | Select-Object -Expand Content Write-Output "To test out the load balancer, open Git Bash and run:" - Write-Output "curl --header 'Host: dashboard.$customerid.healthcatalyst.net' 'http://$loadBalancerInternalIP/' -k" + Write-Output "curl --header 'Host: $url' 'http://$ip/' -k" } '31' { $DEFAULT_RESOURCE_GROUP = ReadSecretValue -secretname azure-secret -valueName resourcegroup diff --git a/kubernetes/loadbalancer/pods/ingress-azure.yaml b/kubernetes/loadbalancer/pods/ingress-azure.yaml index 5e46ed4..62d137f 100644 --- a/kubernetes/loadbalancer/pods/ingress-azure.yaml +++ b/kubernetes/loadbalancer/pods/ingress-azure.yaml @@ -39,10 +39,10 @@ spec: - --web - --kubernetes - --configfile=/config/traefik.toml - - --logLevel=DEBUG + - --logLevel=INFO # - --kubernetes.namespaces=["default","kube-system","fabricnlp"] - --kubernetes.labelselector=expose=external - --kubernetes.debugloggeneratedtemplate - --kubernetes.trace - - --debug + # - --debug --- diff --git a/kubernetes/setup-loadbalancer.ps1 b/kubernetes/setup-loadbalancer.ps1 index 4595278..67bdf2f 100644 --- a/kubernetes/setup-loadbalancer.ps1 +++ b/kubernetes/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.02.25.01" +Write-output "Version 2018.03.23.01" # # This script is meant for quick & easy install via: @@ -23,7 +23,7 @@ $AKS_USE_SSL = "" $AKS_IP_WHITELIST = "" $SetupNSG = $true -$userInfo = $(CheckIfUserLogged) +$userInfo = $(GetLoggedInUserInfo) $AKS_SUBSCRIPTION_ID = $userInfo.AKS_SUBSCRIPTION_ID $IS_CAFE_ENVIRONMENT = $userInfo.IS_CAFE_ENVIRONMENT diff --git a/realtime/installrealtimekubernetes.ps1 b/realtime/installrealtimekubernetes.ps1 index 90d6af1..55ea59d 100644 --- a/realtime/installrealtimekubernetes.ps1 +++ b/realtime/installrealtimekubernetes.ps1 @@ -1,4 +1,4 @@ -Write-Output "Version 2018.03.22.01" +Write-Output "Version 2018.03.23.01" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.ps1 | iex; @@ -12,7 +12,7 @@ Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; # Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; DownloadAzCliIfNeeded -$userInfo = $(CheckIfUserLogged) +$userInfo = $(GetLoggedInUserInfo) $AKS_SUBSCRIPTION_ID = $userInfo.AKS_SUBSCRIPTION_ID $IS_CAFE_ENVIRONMENT = $userInfo.IS_CAFE_ENVIRONMENT From 0e1ee0eeeb5b91f0f201bdcfffc24253b9bd3091 Mon Sep 17 00:00:00 2001 From: Mark Hollier Date: Fri, 23 Mar 2018 14:59:06 -0600 Subject: [PATCH 376/473] Split out realtime menu from main.sh --- kubernetes/main.sh | 61 +----------------------- kubernetes/menu-realtime.sh | 93 +++++++++++++++++++++++++++++++++++++ 2 files changed, 94 insertions(+), 60 deletions(-) create mode 100644 kubernetes/menu-realtime.sh diff --git a/kubernetes/main.sh b/kubernetes/main.sh index bef8a17..2fc3f0f 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -42,7 +42,6 @@ while [[ "$input" != "q" ]]; do echo "15: Mount Azure Storage as shared folder" echo "------ Product Install -------" echo "25: Install NLP" - echo "26: Install Realtime" echo "----- Troubleshooting ----" echo "31: Show status of cluster" # echo "32: Launch Kubernetes Admin Dashboard" @@ -59,14 +58,6 @@ while [[ "$input" != "q" ]]; do echo "44: Show detailed status of NLP" echo "45: Show NLP logs" # echo "46: Restart NLP" - echo "------ Realtime -----" - echo "51: Show status of realtime" - echo "52: Show web site urls" - echo "53: Show realtime passwords" - echo "54: Show Realtime detailed status" - echo "55: Show Realtime logs" - echo "56: Show urls to download client certificates" - echo "57: Show DNS entries for /etc/hosts" echo "-----------" echo "q: Quit" @@ -100,8 +91,6 @@ while [[ "$input" != "q" ]]; do ;; 25) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh?p=$RANDOM | bash ;; - 26) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.sh?p=$RANDOM | bash - ;; 31) echo "Current cluster: $(kubectl config current-context)" kubectl version --short kubectl get "deployments,pods,services,nodes,ingress,secrets" --namespace=kube-system -o wide @@ -167,55 +156,7 @@ while [[ "$input" != "q" ]]; do kubectl logs --tail=20 $pod -n fabricnlp read -n1 -r -p "Press space to continue..." key < /dev/tty done - ;; - 51) kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime -o wide - ;; - 52) certhostname=$(ReadSecret certhostname fabricrealtime) - echo "Send HL7 to Mirth: server=${certhostname} port=6661" - echo "Rabbitmq Queue: server=${certhostname} port=5671" - echo "RabbitMq Mgmt UI is at: http://${certhostname}/rabbitmq/" - echo "Mirth Mgmt UI is at: http://${certhostname}/mirth/" - ;; - 53) Write-Host "MySql root password: $(ReadSecretPassword mysqlrootpassword fabricrealtime)" - Write-Host "MySql NLP_APP_USER password: $(ReadSecretPassword mysqlpassword fabricrealtime)" - Write-Host "certhostname: $(ReadSecret certhostname fabricrealtime)" - Write-Host "certpassword: $(ReadSecretPassword certpassword fabricrealtime)" - Write-Host "rabbitmq mgmtui user: admin password: $(ReadSecretPassword rabbitmqmgmtuipassword fabricrealtime)" - ;; - 54) pods=$(kubectl get pods -n fabricrealtime -o jsonpath='{.items[*].metadata.name}') - for pod in $pods - do - Write-Output "=============== Describe Pod: $pod =================" - kubectl describe pods $pod -n fabricrealtime - read -n1 -r -p "Press space to continue..." key < /dev/tty - done - ;; - 55) pods=$(kubectl get pods -n fabricrealtime -o jsonpath='{.items[*].metadata.name}') - for pod in $pods - do - Write-Output "=============== Logs for Pod: $pod =================" - kubectl logs --tail=20 $pod -n fabricrealtime - read -n1 -r -p "Press space to continue..." key < /dev/tty - done - ;; - 56) certhostname=$(ReadSecret certhostname fabricrealtime) - certpassword=$(ReadSecretPassword certpassword fabricrealtime) - url="http://${certhostname}/certificates/client/fabricrabbitmquser_client_cert.p12" - echo "Download the client certificate:" - echo "$url" - echo "Double-click and install in Local Machine. password: $certpassword" - echo "Open Certificate Management, right click on cert and give everyone access to key" - - url="http://${certhostname}/certificates/client/fabric_ca_cert.p12" - echo "Optional: Download the CA certificate:" - echo "$url" - echo "Double-click and install in Local Machine. password: $certpassword" - - ;; - 57) echo "If you didn't setup DNS, add the following entries in your c:\windows\system32\drivers\etc\hosts file to access the urls from your browser" - loadBalancerIP="$(dig +short myip.opendns.com @resolver1.opendns.com)" - certhostname="$(ReadSecret certhostname fabricrealtime)" - echo "$loadBalancerIP $certhostname" + ;; ;; q) echo "Exiting" ;; diff --git a/kubernetes/menu-realtime.sh b/kubernetes/menu-realtime.sh new file mode 100644 index 0000000..2984b5a --- /dev/null +++ b/kubernetes/menu-realtime.sh @@ -0,0 +1,93 @@ +#!/bin/bash +set -e +# +# This script is meant for quick & easy install via: +# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/menu-realtime.sh | bash +# +version="2018.03.23.01" + +GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" + +source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh?p=$RANDOM") +# source ./kubernetes/common.sh + +input="" +while [[ "$input" != "q" ]]; do + + echo "================ Health Catalyst Realtime version $version, common functions $(GetCommonVersion) ================" + echo "------ Install -------" + echo "1: Install Realtime" + echo "------ Status --------" + echo "2: Show status of realtime" + echo "3: Show web site urls" + echo "4: Show realtime passwords" + echo "5: Show Realtime detailed status" + echo "6: Show Realtime logs" + echo "7: Show urls to download client certificates" + echo "8: Show DNS entries for /etc/hosts" + echo "-------------------------------" + echo "q: Quit" + + read -p "Please make a selection:" -e input < /dev/tty + + case "$input" in + 1) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.sh?p=$RANDOM | bash + ;; + 2) kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime -o wide + ;; + 3) certhostname=$(ReadSecret certhostname fabricrealtime) + echo "Send HL7 to Mirth: server=${certhostname} port=6661" + echo "Rabbitmq Queue: server=${certhostname} port=5671" + echo "RabbitMq Mgmt UI is at: http://${certhostname}/rabbitmq/" + echo "Mirth Mgmt UI is at: http://${certhostname}/mirth/" + ;; + 4) Write-Host "MySql root password: $(ReadSecretPassword mysqlrootpassword fabricrealtime)" + Write-Host "MySql NLP_APP_USER password: $(ReadSecretPassword mysqlpassword fabricrealtime)" + Write-Host "certhostname: $(ReadSecret certhostname fabricrealtime)" + Write-Host "certpassword: $(ReadSecretPassword certpassword fabricrealtime)" + Write-Host "rabbitmq mgmtui user: admin password: $(ReadSecretPassword rabbitmqmgmtuipassword fabricrealtime)" + ;; + 5) pods=$(kubectl get pods -n fabricrealtime -o jsonpath='{.items[*].metadata.name}') + for pod in $pods + do + Write-Output "=============== Describe Pod: $pod =================" + kubectl describe pods $pod -n fabricrealtime + read -n1 -r -p "Press space to continue..." key < /dev/tty + done + ;; + 6) pods=$(kubectl get pods -n fabricrealtime -o jsonpath='{.items[*].metadata.name}') + for pod in $pods + do + Write-Output "=============== Logs for Pod: $pod =================" + kubectl logs --tail=20 $pod -n fabricrealtime + read -n1 -r -p "Press space to continue..." key < /dev/tty + done + ;; + 7) certhostname=$(ReadSecret certhostname fabricrealtime) + certpassword=$(ReadSecretPassword certpassword fabricrealtime) + url="http://${certhostname}/certificates/client/fabricrabbitmquser_client_cert.p12" + echo "Download the client certificate:" + echo "$url" + echo "Double-click and install in Local Machine. password: $certpassword" + echo "Open Certificate Management, right click on cert and give everyone access to key" + + url="http://${certhostname}/certificates/client/fabric_ca_cert.p12" + echo "Optional: Download the CA certificate:" + echo "$url" + echo "Double-click and install in Local Machine. password: $certpassword" + ;; + 8) echo "If you didn't setup DNS, add the following entries in your c:\windows\system32\drivers\etc\hosts file to access the urls from your browser" + loadBalancerIP="$(dig +short myip.opendns.com @resolver1.opendns.com)" + certhostname="$(ReadSecret certhostname fabricrealtime)" + echo "$loadBalancerIP $certhostname" + ;; + q) echo "Exiting" + ;; + *) echo "Menu item $1 is not known" + ;; + esac + +echo "" +read -p "[Press Enter to Continue]" < /dev/tty +clear +done From 1a084fa9ed90862d8b30e7beb96c4d9e80f85529 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 26 Mar 2018 08:51:36 -0700 Subject: [PATCH 377/473] change loadbalancers for non-CAFE install Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 4 ++-- .../loadbalancer/ingress/dashboard.yaml | 12 +++++----- ... => loadbalancer.external.restricted.yaml} | 0 ...public.yaml => loadbalancer.external.yaml} | 0 .../external/loadbalancer.internal.open.yaml | 21 ++++++++++++++++++ ...ternal.yaml => loadbalancer.internal.yaml} | 0 ...r-onprem.yaml => loadbalancer.onprem.yaml} | 0 kubernetes/setup-loadbalancer.ps1 | 22 +++++++++---------- kubernetes/setup-loadbalancer.sh | 2 +- 9 files changed, 41 insertions(+), 20 deletions(-) rename kubernetes/loadbalancer/services/external/{loadbalancer-public.restricted.yaml => loadbalancer.external.restricted.yaml} (100%) rename kubernetes/loadbalancer/services/external/{loadbalancer-public.yaml => loadbalancer.external.yaml} (100%) create mode 100644 kubernetes/loadbalancer/services/external/loadbalancer.internal.open.yaml rename kubernetes/loadbalancer/services/external/{loadbalancer-internal.yaml => loadbalancer.internal.yaml} (100%) rename kubernetes/loadbalancer/services/external/{loadbalancer-onprem.yaml => loadbalancer.onprem.yaml} (100%) diff --git a/azure/common.ps1 b/azure/common.ps1 index 10fb913..432a266 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.03.23.02" +$versioncommon = "2018.03.26.01" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -649,7 +649,7 @@ function global:GetLoggedInUserInfo() { #Create an hashtable variable [hashtable]$Return = @{} - Write-Host "Checking if you're already logged in..." + Write-Host "Checking if you're already logged into Azure..." # to print out the result to screen also use: | Tee-Object -Variable cmdOutput $loggedInUser = $(az account show --query "user.name" --output tsv) diff --git a/kubernetes/loadbalancer/ingress/dashboard.yaml b/kubernetes/loadbalancer/ingress/dashboard.yaml index d4b8745..084665c 100644 --- a/kubernetes/loadbalancer/ingress/dashboard.yaml +++ b/kubernetes/loadbalancer/ingress/dashboard.yaml @@ -11,9 +11,9 @@ metadata: kubernetes.io/ingress.class: traefik spec: rules: - - host: dashboard.CUSTOMERID.healthcatalyst.net - http: - paths: - - backend: - serviceName: traefik-dashboard - servicePort: 80 \ No newline at end of file + - http: + paths: + - path: /dashboard + backend: + serviceName: traefik-dashboard + servicePort: 80 diff --git a/kubernetes/loadbalancer/services/external/loadbalancer-public.restricted.yaml b/kubernetes/loadbalancer/services/external/loadbalancer.external.restricted.yaml similarity index 100% rename from kubernetes/loadbalancer/services/external/loadbalancer-public.restricted.yaml rename to kubernetes/loadbalancer/services/external/loadbalancer.external.restricted.yaml diff --git a/kubernetes/loadbalancer/services/external/loadbalancer-public.yaml b/kubernetes/loadbalancer/services/external/loadbalancer.external.yaml similarity index 100% rename from kubernetes/loadbalancer/services/external/loadbalancer-public.yaml rename to kubernetes/loadbalancer/services/external/loadbalancer.external.yaml diff --git a/kubernetes/loadbalancer/services/external/loadbalancer.internal.open.yaml b/kubernetes/loadbalancer/services/external/loadbalancer.internal.open.yaml new file mode 100644 index 0000000..c5a4e05 --- /dev/null +++ b/kubernetes/loadbalancer/services/external/loadbalancer.internal.open.yaml @@ -0,0 +1,21 @@ +kind: Service +apiVersion: v1 +metadata: + name: traefik-ingress-service-internal-open + namespace: kube-system + labels: + k8s-traefik: traefik + annotations: +spec: + selector: + k8s-app: traefik-ingress-lb-internal + externalTrafficPolicy: "Local" + ports: + - protocol: TCP + port: 80 + name: web + - protocol: TCP + port: 443 + name: ssl + type: LoadBalancer +--- diff --git a/kubernetes/loadbalancer/services/external/loadbalancer-internal.yaml b/kubernetes/loadbalancer/services/external/loadbalancer.internal.yaml similarity index 100% rename from kubernetes/loadbalancer/services/external/loadbalancer-internal.yaml rename to kubernetes/loadbalancer/services/external/loadbalancer.internal.yaml diff --git a/kubernetes/loadbalancer/services/external/loadbalancer-onprem.yaml b/kubernetes/loadbalancer/services/external/loadbalancer.onprem.yaml similarity index 100% rename from kubernetes/loadbalancer/services/external/loadbalancer-onprem.yaml rename to kubernetes/loadbalancer/services/external/loadbalancer.onprem.yaml diff --git a/kubernetes/setup-loadbalancer.ps1 b/kubernetes/setup-loadbalancer.ps1 index 67bdf2f..bb15f4f 100644 --- a/kubernetes/setup-loadbalancer.ps1 +++ b/kubernetes/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.03.23.01" +Write-output "Version 2018.03.26.01" # # This script is meant for quick & easy install via: @@ -391,25 +391,25 @@ if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { Write-Host "Using Public IP: [$publicip]" - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/external/loadbalancer-public.yaml" -customerid $customerid ` + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/external/loadbalancer.external.yaml" -customerid $customerid ` | Foreach-Object {$_ -replace 'PUBLICIP', "$publicip"} ` | kubectl create -f - + Write-Output "Setting up an internal load balancer" + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/external/loadbalancer.internal.open.yaml" -customerid $customerid ` + | kubectl create -f - + } else { + Write-Output "Setting up an external load balancer" + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/external/loadbalancer.external.restricted.yaml" -customerid $customerid ` + | kubectl create -f - + # Write-Output "Setting up an internal load balancer" Write-Output "Setting up an internal load balancer" - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/external/loadbalancer-public.restricted.yaml" -customerid $customerid ` + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/external/loadbalancer.internal.yaml" -customerid $customerid ` | kubectl create -f - -} -if ("$AKS_OPEN_TO_PUBLIC" -ne "y") { - # remove IngressPublicIP } -# Write-Output "Setting up an internal load balancer" -ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/external/loadbalancer-internal.yaml" -customerid $customerid ` - | kubectl create -f - - - $loadBalancerIPResult = GetLoadBalancerIPs $EXTERNAL_IP = $loadBalancerIPResult.ExternalIP $INTERNAL_IP = $loadBalancerIPResult.InternalIP diff --git a/kubernetes/setup-loadbalancer.sh b/kubernetes/setup-loadbalancer.sh index 9d8e407..b36a0ac 100644 --- a/kubernetes/setup-loadbalancer.sh +++ b/kubernetes/setup-loadbalancer.sh @@ -85,7 +85,7 @@ echo "Downloading $GITHUB_URL/$yamlfile" ReadYamlAndReplaceCustomer $GITHUB_URL "$yamlfile" $customerid \ | kubectl apply -f - -yamlfile="kubernetes/loadbalancer/services/external/loadbalancer-onprem.yaml" +yamlfile="kubernetes/loadbalancer/services/external/loadbalancer.onprem.yaml" echo "Downloading $GITHUB_URL/$yamlfile" ReadYamlAndReplaceCustomer $GITHUB_URL "$yamlfile" $customerid \ | kubectl apply -f - From 5af69fcf88e39d40db3468e72f9c5405f680b883 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 26 Mar 2018 10:06:05 -0700 Subject: [PATCH 378/473] don't try to fix internal load balancer if it doesn't exist Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index 432a266..30c1122 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.03.26.01" +$versioncommon = "2018.03.26.02" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -849,6 +849,13 @@ function global:FixLoadBalancers([ValidateNotNullOrEmpty()] $resourceGroup) { # find loadbalancer with name $loadbalancer = "${resourceGroup}-internal" + + # if internal load balancer exists then fix it + if ([string]::IsNullOrWhiteSpace($(az network lb show --name $loadbalancer --resource-group $resourceGroup --query "name" -o tsv))) { + Write-Host "Loadbalancer $loadbalancer does not exist so no need to fix it" + return + } + $loadbalancerBackendPoolName = $resourceGroup # the name may change in the future so we should look it up # for each worker VM $virtualmachines = az vm list -g $resourceGroup --query "[].name" -o tsv @@ -892,6 +899,7 @@ function global:FixLoadBalancers([ValidateNotNullOrEmpty()] $resourceGroup) { } } } + # 2. fix the ports in load balancing rules Write-Host "Checking if the correct ports are setup in the load balancer" @@ -1191,8 +1199,8 @@ function global:GetUrlAndIPForLoadBalancer([ValidateNotNullOrEmpty()] $resource if ($IS_CAFE_ENVIRONMENT) { $customerid = ReadSecret -secretname customerid $customerid = $customerid.ToLower().Trim() - $url="dashboard.$customerid.healthcatalyst.net" - $loadBalancerIP =$loadBalancerInternalIP + $url = "dashboard.$customerid.healthcatalyst.net" + $loadBalancerIP = $loadBalancerInternalIP } else { $url = $(GetPublicNameofMasterVM( $resourceGroup)).Name From 337058da1763d97f2bda18282bcd202708e13050 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 26 Mar 2018 16:19:04 -0700 Subject: [PATCH 379/473] added option to have both external and internal labels handled by one load balancer Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 9 +++- .../loadbalancer/ingress/dashboard.ssl.yaml | 2 +- .../loadbalancer/ingress/dashboard.yaml | 2 +- .../loadbalancer/pods/ingress-azure.both.yaml | 48 +++++++++++++++++++ .../loadbalancer/pods/ingress-azure.yaml | 4 +- nlp/installnlpkubernetes.ps1 | 18 +------ 6 files changed, 60 insertions(+), 23 deletions(-) create mode 100644 kubernetes/loadbalancer/pods/ingress-azure.both.yaml diff --git a/azure/common.ps1 b/azure/common.ps1 index 30c1122..b60a5eb 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.03.26.02" +$versioncommon = "2018.03.26.03" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -850,11 +850,16 @@ function global:FixLoadBalancers([ValidateNotNullOrEmpty()] $resourceGroup) { # find loadbalancer with name $loadbalancer = "${resourceGroup}-internal" + $loadbalancerExists=$(az network lb show --name $loadbalancer --resource-group $resourceGroup --query "name" -o tsv) + # if internal load balancer exists then fix it - if ([string]::IsNullOrWhiteSpace($(az network lb show --name $loadbalancer --resource-group $resourceGroup --query "name" -o tsv))) { + if ([string]::IsNullOrWhiteSpace($loadbalancerExists)) { Write-Host "Loadbalancer $loadbalancer does not exist so no need to fix it" return } + else { + Write-Host "loadbalancer $loadbalancer exists with $loadbalancerExists" + } $loadbalancerBackendPoolName = $resourceGroup # the name may change in the future so we should look it up # for each worker VM diff --git a/kubernetes/loadbalancer/ingress/dashboard.ssl.yaml b/kubernetes/loadbalancer/ingress/dashboard.ssl.yaml index 7ec551d..fed2edd 100644 --- a/kubernetes/loadbalancer/ingress/dashboard.ssl.yaml +++ b/kubernetes/loadbalancer/ingress/dashboard.ssl.yaml @@ -2,7 +2,7 @@ apiVersion: extensions/v1beta1 kind: Ingress metadata: - name: traefik-default-route-ssl + name: traefik-dashboard-route-ssl namespace: kube-system labels: k8s-traefik: traefik diff --git a/kubernetes/loadbalancer/ingress/dashboard.yaml b/kubernetes/loadbalancer/ingress/dashboard.yaml index 084665c..a2be52d 100644 --- a/kubernetes/loadbalancer/ingress/dashboard.yaml +++ b/kubernetes/loadbalancer/ingress/dashboard.yaml @@ -2,7 +2,7 @@ apiVersion: extensions/v1beta1 kind: Ingress metadata: - name: traefik-default-route + name: traefik-dashboard-route namespace: kube-system labels: k8s-traefik: traefik diff --git a/kubernetes/loadbalancer/pods/ingress-azure.both.yaml b/kubernetes/loadbalancer/pods/ingress-azure.both.yaml new file mode 100644 index 0000000..ab29992 --- /dev/null +++ b/kubernetes/loadbalancer/pods/ingress-azure.both.yaml @@ -0,0 +1,48 @@ +kind: Deployment +apiVersion: extensions/v1beta1 +metadata: + name: traefik-ingress-controller + namespace: kube-system + labels: + k8s-app: traefik-ingress-lb + k8s-traefik: traefik +spec: + replicas: 1 + selector: + matchLabels: + k8s-app: traefik-ingress-lb + template: + metadata: + labels: + k8s-app: traefik-ingress-lb + name: traefik-ingress-lb + k8s-traefik: traefik + spec: + serviceAccountName: traefik-ingress-serviceaccount + terminationGracePeriodSeconds: 60 + volumes: + - name: config + configMap: + name: traefik-conf + containers: + - image: traefik:1.5.3 + name: traefik-ingress-lb + imagePullPolicy: Always + volumeMounts: + - mountPath: "/config" + name: "config" + ports: + - containerPort: 80 + - containerPort: 443 + - containerPort: 8080 + args: + - --web + - --kubernetes + - --configfile=/config/traefik.toml + - --logLevel=INFO + - --kubernetes.labelselector=expose in (external,internal) + - --kubernetes.debugloggeneratedtemplate + - --accesslog + - --insecureskipverify + # - --debug +--- diff --git a/kubernetes/loadbalancer/pods/ingress-azure.yaml b/kubernetes/loadbalancer/pods/ingress-azure.yaml index 62d137f..2ccac55 100644 --- a/kubernetes/loadbalancer/pods/ingress-azure.yaml +++ b/kubernetes/loadbalancer/pods/ingress-azure.yaml @@ -40,9 +40,9 @@ spec: - --kubernetes - --configfile=/config/traefik.toml - --logLevel=INFO - # - --kubernetes.namespaces=["default","kube-system","fabricnlp"] - --kubernetes.labelselector=expose=external - --kubernetes.debugloggeneratedtemplate - - --kubernetes.trace + - --accesslog + - --insecureskipverify # - --debug --- diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index d668741..3f6b171 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -1,4 +1,4 @@ -Write-Output "--- installnlpkubernetes.ps1 Version 2018.03.14.01 ---" +Write-Output "--- installnlpkubernetes.ps1 Version 2018.03.26.01 ---" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | iex; @@ -34,22 +34,6 @@ else { Write-Output "Using resource group: $AKS_PERS_RESOURCE_GROUP" } -if ( "$loggedInUser" ) { - $SUBSCRIPTION_NAME = az account show --query "name" --output tsv - Write-Output "You are currently logged in as [$loggedInUser] into subscription [$SUBSCRIPTION_NAME]" - - Do { $confirmation = Read-Host "Do you want to use this account? (y/n)"} - while ([string]::IsNullOrWhiteSpace($confirmation)) - - if ($confirmation -eq 'n') { - az login - } -} -else { - # login - az login -} - if ([string]::IsNullOrWhiteSpace($(kubectl get secret traefik-cert-ahmn -o jsonpath='{.data}' -n kube-system --ignore-not-found=true))) { $AKS_USE_SSL = "" } From 86b4bd903c72f5057fb4d8ac7520b9a0375f9fec Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 26 Mar 2018 19:37:17 -0700 Subject: [PATCH 380/473] add a config file for deployment Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 203 ++++++++++++++++++++- deployments/testsite.json | 34 ++++ kubernetes/common-kube.ps1 | 19 ++ kubernetes/setup-loadbalancer2.ps1 | 281 +++++++++++++++++++++++++++++ 4 files changed, 536 insertions(+), 1 deletion(-) create mode 100644 deployments/testsite.json create mode 100644 kubernetes/setup-loadbalancer2.ps1 diff --git a/azure/common.ps1 b/azure/common.ps1 index b60a5eb..d250fc1 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -850,7 +850,7 @@ function global:FixLoadBalancers([ValidateNotNullOrEmpty()] $resourceGroup) { # find loadbalancer with name $loadbalancer = "${resourceGroup}-internal" - $loadbalancerExists=$(az network lb show --name $loadbalancer --resource-group $resourceGroup --query "name" -o tsv) + $loadbalancerExists = $(az network lb show --name $loadbalancer --resource-group $resourceGroup --query "name" -o tsv) # if internal load balancer exists then fix it if ([string]::IsNullOrWhiteSpace($loadbalancerExists)) { @@ -1216,5 +1216,206 @@ function global:GetUrlAndIPForLoadBalancer([ValidateNotNullOrEmpty()] $resource $Return.Url = $url return $Return } + +function global:SetupWAF() { + # not working yet + + # $nsgname = "IngressNSG" + # $iprangetoallow = "" + # if ([string]::IsNullOrEmpty($(az network nsg show --name "$nsgname" --resource-group "$AKS_PERS_RESOURCE_GROUP" ))) { + # az network nsg create --name "$nsgname" --resource-group "$AKS_PERS_RESOURCE_GROUP" + # } + + # if ([string]::IsNullOrEmpty($(az network nsg rule show --nsg-name "$nsgname" --name "IPFilter" --resource-group "$AKS_PERS_RESOURCE_GROUP" ))) { + # # Rule priority, between 100 (highest priority) and 4096 (lowest priority). Must be unique for each rule in the collection. + # # Space-separated list of CIDR prefixes or IP ranges. Alternatively, specify ONE of 'VirtualNetwork', 'AzureLoadBalancer', 'Internet' or '*' to match all IPs. + # az network nsg rule create --name "IPFilter" ` + # --nsg-name "$nsgname" ` + # --priority 220 ` + # --resource-group "$AKS_PERS_RESOURCE_GROUP" ` + # --description "IP Filtering" ` + # --access "Allow" ` + # --source-address-prefixes "$iprangetoallow" + # } + + # Write-Output "Creating network security group to restrict IP address" + + Write-Output "Setting up Azure Application Gateway" + + $gatewayName = "${customerid}Gateway" + + az network application-gateway show --name "$gatewayName" --resource-group "$AKS_PERS_RESOURCE_GROUP" + $gatewayipName = "${gatewayName}PublicIP" + + Write-Output "Checking if Application Gateway already exists" + if ([string]::IsNullOrEmpty($(az network application-gateway show --name "$gatewayName" --resource-group "$AKS_PERS_RESOURCE_GROUP" ))) { + + # note application gateway provides no way to specify the resourceGroup of the vnet so we HAVE to create the App Gateway in the same resourceGroup + # as the vnet and NOT in the resourceGroup of the cluster + $gatewayip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n "$gatewayipName" --query "ipAddress" -o tsv; + if ([string]::IsNullOrWhiteSpace($gatewayip)) { + az network public-ip create -g $AKS_PERS_RESOURCE_GROUP -n "$gatewayipName" --location $AKS_PERS_LOCATION --allocation-method Dynamic + + # Write-Output "Waiting for IP address to get assigned to $gatewayipName" + # Do { + # Start-Sleep -Seconds 10 + # Write-Output "." + # $gatewayip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n "$gatewayipName" --query "ipAddress" -o tsv; + # } + # while ([string]::IsNullOrWhiteSpace($gatewayip)) + } + + # Write-Host "Using Gateway IP: [$gatewayip]" + + $mysubnetid = "/subscriptions/${AKS_SUBSCRIPTION_ID}/resourceGroups/${AKS_SUBNET_RESOURCE_GROUP}/providers/Microsoft.Network/virtualNetworks/${AKS_VNET_NAME}/subnets/${AKS_SUBNET_NAME}" + + Write-Output "Using subnet id: $mysubnetid" + + Write-Output "Creating new application gateway with WAF (This can take 10-15 minutes)" + # https://docs.microsoft.com/en-us/cli/azure/network/application-gateway?view=azure-cli-latest#az_network_application_gateway_create + + az network application-gateway create ` + --sku WAF_Medium ` + --name "$gatewayName" ` + --location "$AKS_PERS_LOCATION" ` + --resource-group "$AKS_PERS_RESOURCE_GROUP" ` + --vnet-name "$AKS_VNET_NAME" ` + --subnet "$mysubnetid" ` + --public-ip-address "$gatewayipName" ` + --servers "$EXTERNAL_IP" ` + + # https://docs.microsoft.com/en-us/azure/application-gateway/application-gateway-faq + + Write-Output "Waiting for Azure Application Gateway to be created." + az network application-gateway wait ` + --name "$gatewayName" ` + --resource-group "$AKS_PERS_RESOURCE_GROUP" ` + --created + } + else { + + # # set public IP + $frontendPoolName = az network application-gateway show --name "$gatewayName" --resource-group "$AKS_SUBNET_RESOURCE_GROUP" --query "frontendIpConfigurations[0].name" -o tsv + Write-Output "Setting $gatewayipName as IP for frontend pool $frontendPoolName" + az network application-gateway frontend-ip update ` + --gateway-name "$gatewayName" ` + --resource-group "$AKS_PERS_RESOURCE_GROUP" ` + --name "$frontendPoolName" ` + --public-ip-address "$gatewayipName" + + $backendPoolName = az network application-gateway show --name "$gatewayName" --resource-group "$AKS_SUBNET_RESOURCE_GROUP" --query "backendAddressPools[0].name" -o tsv + Write-Output "Setting $EXTERNAL_IP as IP for backend pool $backendPoolName" + # set backend private IP + az network application-gateway address-pool update ` + --gateway-name "$gatewayName" ` + --resource-group "$AKS_PERS_RESOURCE_GROUP" ` + --name "$backendPoolName" ` + --servers "$EXTERNAL_IP" + + az network application-gateway wait ` + --name "$gatewayName" ` + --resource-group "$AKS_PERS_RESOURCE_GROUP" ` + --updated + } + + if ($(az network application-gateway waf-config show --gateway-name "$gatewayName" --resource-group "$AKS_PERS_RESOURCE_GROUP" --query "firewallMode" -o tsv) -eq "Prevention") { + } + else { + Write-Output "Enabling Prevention mode of firewall" + az network application-gateway waf-config set ` + --enabled true ` + --firewall-mode Prevention ` + --gateway-name "$gatewayName" ` + --resource-group "$AKS_PERS_RESOURCE_GROUP" ` + --rule-set-type "OWASP" ` + --rule-set-version "3.0" + } + + # if ([string]::IsNullOrEmpty($(az network application-gateway probe show --gateway-name "$gatewayName" --name "MyCustomProbe" --resource-group "$AKS_SUBNET_RESOURCE_GROUP"))) { + # # create a custom probe + # az network application-gateway probe create --gateway-name "$gatewayName" ` + # --resource-group "$AKS_SUBNET_RESOURCE_GROUP" ` + # --name "MyCustomProbe" ` + # --path "/" ` + # --protocol "Http" ` + # --host "dashboard.${dnsrecordname}" + + # # associate custom probe with HttpSettings: appGatewayBackendHttpSettings + # az network application-gateway http-settings update --gateway-name "$gatewayName" ` + # --name "appGatewayBackendHttpSettings" ` + # --resource-group "$AKS_SUBNET_RESOURCE_GROUP" ` + # --probe "MyCustomProbe" ` + # --enable-probe true ` + # --host-name "dashboard.${dnsrecordname}" + # } + + + Write-Output "Checking for health of backend pool" + az network application-gateway show-backend-health ` + --name "$gatewayName" ` + --resource-group "$AKS_PERS_RESOURCE_GROUP" ` + --query "backendAddressPools[0].backendHttpSettingsCollection[0].servers[0].health" + + # set EXTERNAL_IP to be the IP of the Application Gateway + $EXTERNAL_IP = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n "$gatewayipName" --query "ipAddress" -o tsv; +} +function global:ConfigureWAF() { + # not working yet + $publicip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --query "ipAddress" -o tsv; + if ([string]::IsNullOrWhiteSpace($publicip)) { + az network public-ip create -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --location $AKS_PERS_LOCATION --allocation-method Static + $publicip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --query "ipAddress" -o tsv; + } + + Write-Host "Using Public IP: [$publicip]" + # get vnet and subnet name + Do { $confirmation = Read-Host "Would you like to connect the Azure WAF to an existing virtual network? (y/n)"} + while ([string]::IsNullOrWhiteSpace($confirmation)) + + if ($confirmation -eq 'y') { + Write-Output "Finding existing vnets..." + # az network vnet list --query "[].[name,resourceGroup ]" -o tsv + + $vnets = az network vnet list --query "[].[name]" -o tsv + + Do { + Write-Output "------ Existing vnets -------" + for ($i = 1; $i -le $vnets.count; $i++) { + Write-Host "$i. $($vnets[$i-1])" + } + Write-Output "------ End vnets -------" + + $index = Read-Host "Enter number of vnet to use (1 - $($vnets.count))" + $AKS_VNET_NAME = $($vnets[$index - 1]) + } + while ([string]::IsNullOrWhiteSpace($AKS_VNET_NAME)) + + if ("$AKS_VNET_NAME") { + + # Do { $AKS_SUBNET_RESOURCE_GROUP = Read-Host "Resource Group of Virtual Network"} + # while ([string]::IsNullOrWhiteSpace($AKS_SUBNET_RESOURCE_GROUP)) + + $AKS_SUBNET_RESOURCE_GROUP = az network vnet list --query "[?name == '$AKS_VNET_NAME'].resourceGroup" -o tsv + Write-Output "Using subnet resource group: [$AKS_SUBNET_RESOURCE_GROUP]" + + Write-Output "Finding existing subnets in $AKS_VNET_NAME ..." + $subnets = az network vnet subnet list --resource-group $AKS_SUBNET_RESOURCE_GROUP --vnet-name $AKS_VNET_NAME --query "[].name" -o tsv + + Do { + Write-Output "------ Subnets in $AKS_VNET_NAME -------" + for ($i = 1; $i -le $subnets.count; $i++) { + Write-Host "$i. $($subnets[$i-1])" + } + Write-Output "------ End Subnets -------" + + Write-Host "NOTE: Each customer should have their own gateway subnet. This subnet should be different than the cluster subnet" + $index = Read-Host "Enter number of subnet to use (1 - $($subnets.count))" + $AKS_SUBNET_NAME = $($subnets[$index - 1]) + } + while ([string]::IsNullOrWhiteSpace($AKS_SUBNET_NAME)) + + } + } +} #------------------- Write-Host "end common.ps1 version $versioncommon" diff --git a/deployments/testsite.json b/deployments/testsite.json new file mode 100644 index 0000000..051f746 --- /dev/null +++ b/deployments/testsite.json @@ -0,0 +1,34 @@ +{ + "azure": { + "resourceGroup": "fabrickubernetes", + "location": "eastus", + "create_windows_containers": false, + "use_azure_networking": true + }, + "service_principal": { + "name": "", + "delete_if_exists": true + }, + "local_folder": "c:\\kubernetes", + "customerid": "hcut", + "ssl": false, + "allow_kubectl_from_outside_vnet": true, + "ingress": { + "external": "public", + "internal": "public", + "external_ip_whitelist": "" + }, + "networking": { + "vnet": "kubnettest", + "subnet": "kubsubnet", + "subnet_resource_group": "Imran" + }, + "network_security_group": { + "name": "", + "create_nsg_rules": false + }, + "dns": { + "create_dns_entries": false, + "dns_resource_group": "dns" + } +} \ No newline at end of file diff --git a/kubernetes/common-kube.ps1 b/kubernetes/common-kube.ps1 index d5ff17a..1313099 100644 --- a/kubernetes/common-kube.ps1 +++ b/kubernetes/common-kube.ps1 @@ -137,6 +137,25 @@ function global:ReadYamlAndReplaceCustomer([ValidateNotNullOrEmpty()] $baseUrl, } } +# $files is a list of files separated by spaces +function global:DownloadAndDeployYamlFiles([ValidateNotNullOrEmpty()] $folder, [ValidateNotNullOrEmpty()] $files, [ValidateNotNullOrEmpty()] $baseUrl, [ValidateNotNullOrEmpty()] $customerid, $public_ip ){ + [hashtable]$Return = @{} + + foreach ($file in $files.Split(" ")) { + if([string]::IsNullOrEmpty($public_ip)){ + ReadYamlAndReplaceCustomer -baseUrl $baseUrl -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - + } + else + { + ReadYamlAndReplaceCustomer -baseUrl $baseUrl -templateFile "${folder}/${file}" -customerid $customerid ` + | Foreach-Object {$_ -replace 'PUBLICIP', "$publicip"} ` + | kubectl apply -f - + } + } + + return $Return +} + # from https://github.com/majkinetor/posh/blob/master/MM_Network/Stop-ProcessByPort.ps1 function global:Stop-ProcessByPort( [ValidateNotNullOrEmpty()] [int] $Port ) { $netstat = netstat.exe -ano | Select-Object -Skip 4 diff --git a/kubernetes/setup-loadbalancer2.ps1 b/kubernetes/setup-loadbalancer2.ps1 new file mode 100644 index 0000000..b74fa2a --- /dev/null +++ b/kubernetes/setup-loadbalancer2.ps1 @@ -0,0 +1,281 @@ +Write-output "Version 2018.03.26.02" + +# +# This script is meant for quick & easy install via: +# curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/setup-loadbalancer.ps1 | iex; + +$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" +# $GITHUB_URL = "C:\Catalyst\git\Installscripts" + +Write-Host "GITHUB_URL: $GITHUB_URL" + +$set = "abcdefghijklmnopqrstuvwxyz0123456789".ToCharArray() +$randomstring += $set | Get-Random + +# Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1?f=$randomstring | Invoke-Expression; +Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; + +Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1?f=$randomstring | Invoke-Expression; +# Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; + +$config = $(Get-Content ./deployments/testsite.json -Raw | ConvertFrom-Json) +Write-Host $config + +$AKS_OPEN_TO_PUBLIC = "" +$AKS_USE_SSL = "" +$AKS_IP_WHITELIST = "" +$SetupNSG = $true + +$userInfo = $(GetLoggedInUserInfo) +$AKS_SUBSCRIPTION_ID = $userInfo.AKS_SUBSCRIPTION_ID +$IS_CAFE_ENVIRONMENT = $userInfo.IS_CAFE_ENVIRONMENT + +$AKS_PERS_RESOURCE_GROUP = $config.azure.resourceGroup + +# Get location name from resource group +$AKS_PERS_LOCATION = az group show --name $AKS_PERS_RESOURCE_GROUP --query "location" -o tsv +Write-Output "Using location: [$AKS_PERS_LOCATION]" + +$customerid = $config.customerid +$customerid = $customerid.ToLower().Trim() +Write-Output "Customer ID: $customerid" + +$ingressExternal = $config.ingress.external +$ingressInternal = $config.ingress.internal +$AKS_IP_WHITELIST = $config.ingress.external_ip_whitelist + +# read the vnet and subnet info from kubernetes secret +$AKS_VNET_NAME = $config.networking.vnet +$AKS_SUBNET_NAME = $config.networking.subnet +$AKS_SUBNET_RESOURCE_GROUP = $config.networking.subnet_resource_group + +Write-Output "Found vnet info from secret: vnet: $AKS_VNET_NAME, subnet: $AKS_SUBNET_NAME, subnetResourceGroup: $AKS_SUBNET_RESOURCE_GROUP" + +if ($ingressExternal -eq "whitelist") { + Write-Output "Whitelist: $AKS_IP_WHITELIST" + + SaveSecretValue -secretname whitelistip -valueName iprange -value "${AKS_IP_WHITELIST}" +} + +Write-Output "Setting up Network Security Group for the subnet" + +# setup network security group +$AKS_PERS_NETWORK_SECURITY_GROUP = "$($AKS_PERS_RESOURCE_GROUP.ToLower())-nsg" + +if ([string]::IsNullOrWhiteSpace($(az network nsg show -g $AKS_PERS_RESOURCE_GROUP -n $AKS_PERS_NETWORK_SECURITY_GROUP))) { + + Write-Output "Creating the Network Security Group for the subnet" + az network nsg create -g $AKS_PERS_RESOURCE_GROUP -n $AKS_PERS_NETWORK_SECURITY_GROUP --query "provisioningState" +} +else { + Write-Output "Network Security Group already exists: $AKS_PERS_NETWORK_SECURITY_GROUP" +} + +if ($($config.network_security_group.create_nsg_rules)) { + Write-Output "Adding or updating rules to Network Security Group for the subnet" + $sourceTagForAdminAccess = "VirtualNetwork" + if ($AKS_ALLOW_ADMIN_ACCESS_OUTSIDE_VNET -eq "y") { + $sourceTagForAdminAccess = "Internet" + Write-Output "Enabling admin access to cluster from Internet" + } + + $sourceTagForHttpAccess = "Internet" + if (![string]::IsNullOrWhiteSpace($AKS_IP_WHITELIST)) { + $sourceTagForHttpAccess = $AKS_IP_WHITELIST + } + + DeleteNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP -rulename "HttpPort" + DeleteNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP -rulename "HttpsPort" + + SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` + -rulename "allow_kube_tls" ` + -ruledescription "allow kubectl and HTTPS access from ${sourceTagForAdminAccess}." ` + -sourceTag "${sourceTagForAdminAccess}" -port 443 -priority 100 + + SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` + -rulename "allow_http" ` + -ruledescription "allow HTTP access from ${sourceTagForAdminAccess}." ` + -sourceTag "${sourceTagForAdminAccess}" -port 80 -priority 101 + + SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` + -rulename "allow_ssh" ` + -ruledescription "allow SSH access from ${sourceTagForAdminAccess}." ` + -sourceTag "${sourceTagForAdminAccess}" -port 22 -priority 104 + + SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` + -rulename "allow_mysql" ` + -ruledescription "allow MySQL access from ${sourceTagForAdminAccess}." ` + -sourceTag "${sourceTagForAdminAccess}" -port 3306 -priority 205 + + # if we already have opened the ports for admin access then we're not allowed to add another rule for opening them + if (($sourceTagForHttpAccess -eq "Internet") -and ($sourceTagForAdminAccess -eq "Internet")) { + Write-Output "Since we already have rules open port 80 and 443 to the Internet, we do not need to create separate ones for the Internet" + } + else { + if ($AKS_OPEN_TO_PUBLIC -eq "y") { + SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` + -rulename "HttpPort" ` + -ruledescription "allow HTTP access from ${sourceTagForHttpAccess}." ` + -sourceTag "${sourceTagForHttpAccess}" -port 80 -priority 500 + + SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` + -rulename "HttpsPort" ` + -ruledescription "allow HTTPS access from ${sourceTagForHttpAccess}." ` + -sourceTag "${sourceTagForHttpAccess}" -port 443 -priority 501 + } + } + + $nsgid = az network nsg list --resource-group ${AKS_PERS_RESOURCE_GROUP} --query "[?name == '${AKS_PERS_NETWORK_SECURITY_GROUP}'].id" -o tsv + Write-Output "Found ID for ${AKS_PERS_NETWORK_SECURITY_GROUP}: $nsgid" + + Write-Output "Setting NSG into subnet" + az network vnet subnet update -n "${AKS_SUBNET_NAME}" -g "${AKS_SUBNET_RESOURCE_GROUP}" --vnet-name "${AKS_VNET_NAME}" --network-security-group "$nsgid" --query "provisioningState" -o tsv +} + +# delete existing containers +kubectl delete 'pods,services,configMaps,deployments,ingress' -l k8s-traefik=traefik -n kube-system --ignore-not-found=true + + +# set Google DNS servers to resolve external urls +# http://blog.kubernetes.io/2017/04/configuring-private-dns-zones-upstream-nameservers-kubernetes.html +kubectl delete -f "$GITHUB_URL/kubernetes/loadbalancer/dns/upstream.yaml" --ignore-not-found=true +Start-Sleep -Seconds 10 +kubectl create -f "$GITHUB_URL/kubernetes/loadbalancer/dns/upstream.yaml" +# to debug dns: https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#inheriting-dns-from-the-node + +kubectl delete ServiceAccount traefik-ingress-controller-serviceaccount -n kube-system --ignore-not-found=true + +if ($($config.ssl) ) { + # if the SSL cert is not set in kube secrets then ask for the files + if ([string]::IsNullOrWhiteSpace($(kubectl get secret traefik-cert-ahmn -o jsonpath='{.data}' -n kube-system --ignore-not-found=true))) { + # ask for tls cert files + Do { $AKS_SSL_CERT_FOLDER = Read-Host "What folder has the tls.crt and tls.key files? (absolute path e.g., c:\temp\certs)"} + while ([string]::IsNullOrWhiteSpace($AKS_SSL_CERT_FOLDER) -or (!(Test-Path -Path "$AKS_SSL_CERT_FOLDER"))) + + $AKS_SSL_CERT_FOLDER_UNIX_PATH = (($AKS_SSL_CERT_FOLDER -replace "\\", "/")).ToLower().Trim("/") + + kubectl delete secret traefik-cert-ahmn -n kube-system --ignore-not-found=true + + Write-Output "Storing TLS certs as kubernetes secret" + kubectl create secret generic traefik-cert-ahmn -n kube-system --from-file="$AKS_SSL_CERT_FOLDER_UNIX_PATH/tls.crt" --from-file="$AKS_SSL_CERT_FOLDER_UNIX_PATH/tls.key" + } +} + +Write-Host "GITHUB_URL: $GITHUB_URL" + +# setting up traefik +# https://github.com/containous/traefik/blob/master/docs/user-guide/kubernetes.md + +Write-Host "Deploying configmaps" +$folder = "kubernetes/loadbalancer/configmaps" +if ($($config.ssl)) { + $files = "config.ssl.yaml" + DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid +} +else { + $files = "config.yaml" + DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid +} + +$kubectlversion = $(kubectl version --short=true)[1] +if ($kubectlversion -match "v1.8") { + Write-Host "Since kubectlversion ($kubectlversion) is less than 1.9 no roles are needed" +} +else { + Write-Host "Deploying roles" + $folder = "kubernetes/loadbalancer/roles" + $files = "ingress-roles.yaml" + DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid +} + +Write-Host "Deploying pods" +$folder = "kubernetes/loadbalancer/pods" + +if ($($config.ingress.internal) -eq "public" ) { + $files = "ingress-azure.both.yaml" + DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid +} +else { + if ($($config.ssl) ) { + $files = "ingress-azure.ssl.yaml ingress-azure.internal.ssl.yaml" + DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid + } + else { + $files = "ingress-azure.yaml ingress-azure.internal.yaml" + DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid + } +} + +Write-Host "Deploying services" +$folder = "kubernetes/loadbalancer/services/cluster" +$files = "dashboard.yaml dashboard-internal.yaml" +DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid + +Write-Host "Deploying ingress" +$folder = "kubernetes/loadbalancer/ingress" +# foreach ($file in "default.yaml default-internal.yaml".Split(" ")) { +# ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - +# } + +if ($($config.ssl) ) { + $files = "dashboard.ssl.yaml" + DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid +} +else { + $files = "dashboard.yaml" + DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid +} + +$folder = "kubernetes/loadbalancer/services/external" + +if ("$($config.ingress.external)" -ne "vnetonly") { + Write-Output "Setting up a public load balancer" + + $publicip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --query "ipAddress" -o tsv; + if ([string]::IsNullOrWhiteSpace($publicip)) { + az network public-ip create -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --location $AKS_PERS_LOCATION --allocation-method Static + $publicip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --query "ipAddress" -o tsv; + } + + Write-Host "Using Public IP: [$publicip]" + + Write-Output "Setting up external load balancer" + $files = "loadbalancer.external.yaml" + DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid -public_ip $publicip +} +else { + Write-Output "Setting up an external load balancer" + $files = "loadbalancer.external.restricted.yaml" + DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid -public_ip $publicip +} + +if ($($config.ingress.internal) -ne "public" ) { + Write-Output "Setting up an internal load balancer" + if ("$($config.ingress.internal)" -eq "public") { + $files = "loadbalancer.internal.open.yaml" + } + else { + $files = "loadbalancer.internal.yaml" + + } + DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid -public_ip $publicip +} + +$loadBalancerIPResult = GetLoadBalancerIPs +$EXTERNAL_IP = $loadBalancerIPResult.ExternalIP +$INTERNAL_IP = $loadBalancerIPResult.InternalIP + +FixLoadBalancers -resourceGroup $AKS_PERS_RESOURCE_GROUP + +$dnsrecordname = "$customerid.healthcatalyst.net" + +if ($($config.dns.create_dns_entries)) { + SetupDNS -dnsResourceGroup $DNS_RESOURCE_GROUP -dnsrecordname $dnsrecordname -externalIP $EXTERNAL_IP +} +else { + Write-Output "To access the urls from your browser, add the following entries in your c:\windows\system32\drivers\etc\hosts file" + Write-Output "$EXTERNAL_IP dashboard.$dnsrecordname" +} + + + From d6a2dfbd2e8a9609dfa567b21434dcdecf3ac4ce Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 26 Mar 2018 19:45:27 -0700 Subject: [PATCH 381/473] fix ingress for dashboard to strip path Signed-off-by: HQCATALYST\imran.qureshi --- .../loadbalancer/ingress/dashboard.ssl.yaml | 17 +++++++---------- kubernetes/loadbalancer/ingress/dashboard.yaml | 1 + 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/kubernetes/loadbalancer/ingress/dashboard.ssl.yaml b/kubernetes/loadbalancer/ingress/dashboard.ssl.yaml index fed2edd..8c06c6f 100644 --- a/kubernetes/loadbalancer/ingress/dashboard.ssl.yaml +++ b/kubernetes/loadbalancer/ingress/dashboard.ssl.yaml @@ -9,15 +9,12 @@ metadata: expose: internal annotations: kubernetes.io/ingress.class: traefik + traefik.frontend.rule.type: PathPrefixStrip spec: - tls: - - secretName: ssl-ahmn - hosts: - - dashboard.CUSTOMERID.healthcatalyst.net rules: - - host: dashboard.CUSTOMERID.healthcatalyst.net - http: - paths: - - backend: - serviceName: traefik-dashboard - servicePort: 80 \ No newline at end of file + - http: + paths: + - path: /dashboard + backend: + serviceName: traefik-dashboard + servicePort: 80 \ No newline at end of file diff --git a/kubernetes/loadbalancer/ingress/dashboard.yaml b/kubernetes/loadbalancer/ingress/dashboard.yaml index a2be52d..34755db 100644 --- a/kubernetes/loadbalancer/ingress/dashboard.yaml +++ b/kubernetes/loadbalancer/ingress/dashboard.yaml @@ -9,6 +9,7 @@ metadata: expose: internal annotations: kubernetes.io/ingress.class: traefik + traefik.frontend.rule.type: PathPrefixStrip spec: rules: - http: From e9c0d9c6d211f0677c37b8054c5a48a4bd10891e Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Mon, 26 Mar 2018 19:56:07 -0700 Subject: [PATCH 382/473] remove obsolete yaml files Signed-off-by: HQCATALYST\imran.qureshi --- .../ingress/default-internal.yaml | 20 ------------------- .../loadbalancer/ingress/default-onprem.yaml | 20 ------------------- kubernetes/loadbalancer/ingress/default.yaml | 18 ----------------- kubernetes/setup-loadbalancer2.ps1 | 3 --- 4 files changed, 61 deletions(-) delete mode 100644 kubernetes/loadbalancer/ingress/default-internal.yaml delete mode 100644 kubernetes/loadbalancer/ingress/default-onprem.yaml delete mode 100644 kubernetes/loadbalancer/ingress/default.yaml diff --git a/kubernetes/loadbalancer/ingress/default-internal.yaml b/kubernetes/loadbalancer/ingress/default-internal.yaml deleted file mode 100644 index f2bf1a4..0000000 --- a/kubernetes/loadbalancer/ingress/default-internal.yaml +++ /dev/null @@ -1,20 +0,0 @@ -# default backend so if no rules match it goes here -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: traefik-default-route-internal - namespace: kube-system - labels: - k8s-traefik: traefik - expose: internal - annotations: - kubernetes.io/ingress.class: traefik -spec: - rules: - - http: - paths: - - backend: - serviceName: traefik-dashboard-internal - servicePort: 80 ---- - diff --git a/kubernetes/loadbalancer/ingress/default-onprem.yaml b/kubernetes/loadbalancer/ingress/default-onprem.yaml deleted file mode 100644 index 8541e06..0000000 --- a/kubernetes/loadbalancer/ingress/default-onprem.yaml +++ /dev/null @@ -1,20 +0,0 @@ -# default backend so if no rules match it goes here -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: traefik-default-route-onprem - namespace: kube-system - labels: - k8s-traefik: traefik - expose: external - annotations: - kubernetes.io/ingress.class: traefik -spec: - rules: - - http: - paths: - - backend: - serviceName: traefik-dashboard-onprem - servicePort: 80 ---- - diff --git a/kubernetes/loadbalancer/ingress/default.yaml b/kubernetes/loadbalancer/ingress/default.yaml deleted file mode 100644 index e2981c5..0000000 --- a/kubernetes/loadbalancer/ingress/default.yaml +++ /dev/null @@ -1,18 +0,0 @@ -# default backend so if no rules match it goes here -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: traefik-default-route - namespace: kube-system - labels: - k8s-traefik: traefik - expose: external - annotations: - kubernetes.io/ingress.class: traefik -spec: - rules: - - http: - paths: - - backend: - serviceName: traefik-dashboard - servicePort: 80 \ No newline at end of file diff --git a/kubernetes/setup-loadbalancer2.ps1 b/kubernetes/setup-loadbalancer2.ps1 index b74fa2a..5fa418c 100644 --- a/kubernetes/setup-loadbalancer2.ps1 +++ b/kubernetes/setup-loadbalancer2.ps1 @@ -213,9 +213,6 @@ DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -c Write-Host "Deploying ingress" $folder = "kubernetes/loadbalancer/ingress" -# foreach ($file in "default.yaml default-internal.yaml".Split(" ")) { -# ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - -# } if ($($config.ssl) ) { $files = "dashboard.ssl.yaml" From 52fd64ec4a50b575aefb57f2a7712ab3ed440afb Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 07:27:34 -0700 Subject: [PATCH 383/473] enable passing in answer file Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 131 +++-- azure/create-acs-cluster2.ps1 | 465 ++++++++++++++++++ .../{testsite.json => fabrickubernetes.json} | 11 +- kubernetes/setup-loadbalancer2.ps1 | 17 +- 4 files changed, 562 insertions(+), 62 deletions(-) create mode 100644 azure/create-acs-cluster2.ps1 rename deployments/{testsite.json => fabrickubernetes.json} (79%) diff --git a/azure/common.ps1 b/azure/common.ps1 index d250fc1..39d4e63 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.03.26.03" +$versioncommon = "2018.03.27.01" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -212,16 +212,16 @@ function global:CleanResourceGroup([ValidateNotNullOrEmpty()] $resourceGroup, [V if ($resourceGroupExists -eq "true") { if ($(az vm list -g $resourceGroup --query "[].id" -o tsv).length -ne 0) { - Write-Host "The resource group [${resourceGroup}] already exists with the following VMs" + Write-Warning "The resource group [${resourceGroup}] already exists with the following VMs" az resource list --resource-group "${resourceGroup}" --resource-type "Microsoft.Compute/virtualMachines" --query "[].id" - Do { $confirmation = Read-Host "Would you like to continue (all above resources will be deleted)? (y/n)"} - while ([string]::IsNullOrWhiteSpace($confirmation)) + # Do { $confirmation = Read-Host "Would you like to continue (all above resources will be deleted)? (y/n)"} + # while ([string]::IsNullOrWhiteSpace($confirmation)) - if ($confirmation -eq 'n') { - Read-Host "Hit ENTER to exit" - exit 0 - } + # if ($confirmation -eq 'n') { + # Read-Host "Hit ENTER to exit" + # exit 0 + # } } else { Write-Host "The resource group [${resourceGroup}] already exists but has no VMs" @@ -330,13 +330,12 @@ function global:CleanResourceGroup([ValidateNotNullOrEmpty()] $resourceGroup, [V } -function global:CreateStorageIfNotExists([ValidateNotNullOrEmpty()] $resourceGroup) { +function global:CreateStorageIfNotExists([ValidateNotNullOrEmpty()] $resourceGroup, $deleteStorageAccountIfExists) { #Create an hashtable variable [hashtable]$Return = @{} $location = az group show --name $resourceGroup --query "location" -o tsv - $storageAccountName = Read-Host "Storage Account Name (leave empty for default)" if ([string]::IsNullOrWhiteSpace($storageAccountName)) { $storageAccountName = "${resourceGroup}storage" # remove non-alphanumeric characters and use lowercase since azure doesn't allow those in a storage account @@ -352,16 +351,18 @@ function global:CreateStorageIfNotExists([ValidateNotNullOrEmpty()] $resourceGro $storageAccountConnectionString = az storage account show-connection-string --name $storageAccountName --resource-group $resourceGroup --query "connectionString" --output tsv [Console]::ResetColor() if (![string]::IsNullOrEmpty($storageAccountConnectionString)) { - Write-Warning "Storage account, [$storageAccountName], already exists. Deleting it will remove this data permanently" - Do { $confirmation = Read-Host "Delete storage account: (WARNING: deletes data) (y/n)"} - while ([string]::IsNullOrWhiteSpace($confirmation)) + if ($deleteStorageAccountIfExists) { + Write-Warning "Storage account, [$storageAccountName], already exists. Deleting it will remove this data permanently" + Do { $confirmation = Read-Host "Delete storage account: (WARNING: deletes data) (y/n)"} + while ([string]::IsNullOrWhiteSpace($confirmation)) - if ($confirmation -eq 'y') { - az storage account delete -n $storageAccountName -g $resourceGroup --yes - Write-Host "Creating storage account: [${storageAccountName}]" - # https://docs.microsoft.com/en-us/azure/storage/common/storage-quickstart-create-account?tabs=azure-cli - az storage account create -n $storageAccountName -g $resourceGroup -l $location --kind StorageV2 --sku Standard_LRS - } + if ($confirmation -eq 'y') { + az storage account delete -n $storageAccountName -g $resourceGroup --yes + Write-Host "Creating storage account: [${storageAccountName}]" + # https://docs.microsoft.com/en-us/azure/storage/common/storage-quickstart-create-account?tabs=azure-cli + az storage account create -n $storageAccountName -g $resourceGroup -l $location --kind StorageV2 --sku Standard_LRS + } + } } else { Write-Host "Checking if storage account name is valid" @@ -460,34 +461,7 @@ function global:GetVnet([ValidateNotNullOrEmpty()] $subscriptionId) { } } - # verify the subnet exists - $mysubnetid = "/subscriptions/${subscriptionId}/resourceGroups/${subnetResourceGroup}/providers/Microsoft.Network/virtualNetworks/${vnetName}/subnets/${subnetName}" - - $subnetexists = az resource show --ids $mysubnetid --query "id" -o tsv - if (!"$subnetexists") { - Write-Host "The subnet was not found: $mysubnetid" - Read-Host "Hit ENTER to exit" - exit 0 - } - else { - Write-Host "Found subnet: [$mysubnetid]" - } - - Write-Host "Looking up CIDR for Subnet: [${subnetName}]" - $subnetCidr = az network vnet subnet show --name ${subnetName} --resource-group ${subnetResourceGroup} --vnet-name ${vnetname} --query "addressPrefix" --output tsv - - Write-Host "Subnet CIDR=[$subnetCidr]" - # suggest and ask for the first static IP to use - $firstStaticIP = "" - $suggestedFirstStaticIP = Get-FirstIP -ip ${subnetCidr} - - # $firstStaticIP = Read-Host "First static IP: (default: $suggestedFirstStaticIP )" - - if ([string]::IsNullOrWhiteSpace($firstStaticIP)) { - $firstStaticIP = "$suggestedFirstStaticIP" - } - - Write-Host "First static IP=[${firstStaticIP}]" + $vnetinfo = $(GetVnetInfo -subscriptionId $subscriptionId -subnetResourceGroup $subnetResourceGroup -vnetName $vnetName -subnetName $subnetName) } else { # create a vnet @@ -501,14 +475,53 @@ function global:GetVnet([ValidateNotNullOrEmpty()] $subscriptionId) { $Return.AKS_VNET_NAME = $vnetName $Return.AKS_SUBNET_NAME = $subnetName $Return.AKS_SUBNET_RESOURCE_GROUP = $subnetResourceGroup - $Return.AKS_FIRST_STATIC_IP = $firstStaticIP - $Return.AKS_SUBNET_ID = $mysubnetid - $Return.AKS_SUBNET_CIDR = $subnetCidr + $Return.AKS_FIRST_STATIC_IP = $vnetinfo.AKS_FIRST_STATIC_IP + $Return.AKS_SUBNET_ID = $vnetinfo.AKS_SUBNET_ID + $Return.AKS_SUBNET_CIDR = $vnetinfo.AKS_SUBNET_CIDR #Return the hashtable Return $Return } +function global:GetVnetInfo([ValidateNotNullOrEmpty()] $subscriptionId, [ValidateNotNullOrEmpty()] $subnetResourceGroup, [ValidateNotNullOrEmpty()] $vnetName, [ValidateNotNullOrEmpty()] $subnetName) { + [hashtable]$Return = @{} + + # verify the subnet exists + $mysubnetid = "/subscriptions/${subscriptionId}/resourceGroups/${subnetResourceGroup}/providers/Microsoft.Network/virtualNetworks/${vnetName}/subnets/${subnetName}" + + $subnetexists = az resource show --ids $mysubnetid --query "id" -o tsv + if (!"$subnetexists") { + Write-Host "The subnet was not found: $mysubnetid" + Read-Host "Hit ENTER to exit" + exit 0 + } + else { + Write-Host "Found subnet: [$mysubnetid]" + } + + Write-Host "Looking up CIDR for Subnet: [${subnetName}]" + $subnetCidr = az network vnet subnet show --name ${subnetName} --resource-group ${subnetResourceGroup} --vnet-name ${vnetname} --query "addressPrefix" --output tsv + + Write-Host "Subnet CIDR=[$subnetCidr]" + # suggest and ask for the first static IP to use + $firstStaticIP = "" + $suggestedFirstStaticIP = Get-FirstIP -ip ${subnetCidr} + + # $firstStaticIP = Read-Host "First static IP: (default: $suggestedFirstStaticIP )" + + if ([string]::IsNullOrWhiteSpace($firstStaticIP)) { + $firstStaticIP = "$suggestedFirstStaticIP" + } + + Write-Host "First static IP=[${firstStaticIP}]" + + $Return.AKS_FIRST_STATIC_IP = $firstStaticIP + $Return.AKS_SUBNET_ID = $mysubnetid + $Return.AKS_SUBNET_CIDR = $subnetCidr + + #Return the hashtable + Return $Return +} function global:Test-CommandExists { Param ($command) # from https://blogs.technet.microsoft.com/heyscriptingguy/2013/02/19/use-a-powershell-function-to-see-if-a-command-exists/ @@ -551,7 +564,7 @@ function global:AddFolderToPathEnvironmentVariable([ValidateNotNullOrEmpty()] $f $oldpath = (Get-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" -Name PATH).path # see if the registry value is wrong too if ( ($oldpath).split(";") -notcontains "$folder") { - $newpath = "$oldpath;$folder" + $newpath = "$folder;$oldpath" Read-Host "Script needs elevated privileges to set PATH. Hit ENTER to launch script to set PATH" Start-Process powershell -verb RunAs -ArgumentList "Set-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment' -Name PATH -Value '$newPath'; Read-Host 'Press ENTER'" Write-Host "New PATH:" @@ -718,6 +731,22 @@ function global:GetResourceGroupAndLocation($defaultResourceGroup) { #Return the hashtable Return $Return + +} + +function global:CreateResourceGroupIfNotExists([ValidateNotNullOrEmpty()] $resourceGroup, [ValidateNotNullOrEmpty()] $location ) { + [hashtable]$Return = @{} + + Write-Host "Using resource group [$resourceGroup]" + + Write-Host "checking if resource group already exists" + $resourceGroupExists = az group exists --name ${resourceGroup} + if ($resourceGroupExists -ne "true") { + Write-Host "Create the Resource Group" + az group create --name $resourceGroup --location $location --verbose + } + + Return $Return } function global:SetNetworkSecurityGroupRule([ValidateNotNullOrEmpty()] $resourceGroup, [ValidateNotNullOrEmpty()] $networkSecurityGroup, [ValidateNotNullOrEmpty()] $rulename, [ValidateNotNullOrEmpty()] $ruledescription, [ValidateNotNullOrEmpty()] $sourceTag, [ValidateNotNullOrEmpty()] $port, [ValidateNotNullOrEmpty()] $priority ) { diff --git a/azure/create-acs-cluster2.ps1 b/azure/create-acs-cluster2.ps1 new file mode 100644 index 0000000..7f31631 --- /dev/null +++ b/azure/create-acs-cluster2.ps1 @@ -0,0 +1,465 @@ +Write-output "--- create-acs-cluster Version 2018.03.27.01 ----" + +# +# This script is meant for quick & easy install via: +# curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/create-acs-cluster.ps1 | iex; + +$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" +# $GITHUB_URL = "C:\Catalyst\git\Installscripts" + +Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1 | Invoke-Expression; +# Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; + +# Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; +Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; + + +write-output "Checking if you're already logged in..." + +DownloadAzCliIfNeeded + +$config = $(Get-Content ./deployments/fabrickubernetes.json -Raw | ConvertFrom-Json) +Write-Host $config + +$userInfo=$(GetLoggedInUserInfo) +$AKS_SUBSCRIPTION_ID = $userInfo.AKS_SUBSCRIPTION_ID +$IS_CAFE_ENVIRONMENT=$userInfo.IS_CAFE_ENVIRONMENT + +$customerid=$($config.customerid) + +Write-Output "Customer ID: $customerid" + +$AKS_PERS_RESOURCE_GROUP = $config.azure.resourceGroup +$AKS_PERS_LOCATION = $config.azure.location + +CreateResourceGroupIfNotExists -resourceGroup $AKS_PERS_RESOURCE_GROUP -location $AKS_PERS_LOCATION + +$AKS_SUPPORT_WINDOWS_CONTAINERS = $config.azure.create_windows_containers +$AKS_USE_AZURE_NETWORKING = $config.azure.use_azure_networking + +if ($AKS_SUPPORT_WINDOWS_CONTAINERS) { + # azure networking is not supported with windows containers + if($AKS_USE_AZURE_NETWORKING){ + Write-Error "Azure networking is not supported with Windows containers" + } +} + +# service account to own the resources +$AKS_SERVICE_PRINCIPAL_NAME = $config.service_principal.name + +if ([string]::IsNullOrWhiteSpace($AKS_SERVICE_PRINCIPAL_NAME)) { + $AKS_SERVICE_PRINCIPAL_NAME = "${AKS_PERS_RESOURCE_GROUP}Kubernetes" +} + +# where to store the SSH keys on local machine +$AKS_LOCAL_FOLDER = $config.local_folder + +if ([string]::IsNullOrWhiteSpace($AKS_LOCAL_FOLDER)) {$AKS_LOCAL_FOLDER = "C:\kubernetes"} + +if (!(Test-Path -Path "$AKS_LOCAL_FOLDER")) { + Write-Output "$AKS_LOCAL_FOLDER does not exist. Creating it..." + New-Item -ItemType directory -Path $AKS_LOCAL_FOLDER +} + +AddFolderToPathEnvironmentVariable -folder $AKS_LOCAL_FOLDER + +$SSHKeyInfo = CreateSSHKey -resourceGroup $AKS_PERS_RESOURCE_GROUP -localFolder $AKS_LOCAL_FOLDER +$AKS_SSH_KEY = $SSHKeyInfo.AKS_SSH_KEY +$SSH_PRIVATE_KEY_FILE_UNIX_PATH = $SSHKeyInfo.SSH_PRIVATE_KEY_FILE_UNIX_PATH +DownloadKubectl -localFolder $AKS_LOCAL_FOLDER + +# download acs-engine +$ACS_ENGINE_FILE = "$AKS_LOCAL_FOLDER\acs-engine.exe" +$DESIRED_ACS_ENGINE_VERSION = "v0.13.0" +$downloadACSEngine = "n" +if (!(Test-Path "$ACS_ENGINE_FILE")) { + $downloadACSEngine = "y" +} +else { + $acsengineversion = acs-engine version + $acsengineversion = $acsengineversion -match "^Version: v[0-9.]+" + $acsengineversion = "[$acsengineversion]" + if ( !$acsengineversion.equals("[Version: $DESIRED_ACS_ENGINE_VERSION]")) { + $downloadACSEngine = "y" + } +} +if ($downloadACSEngine -eq "y") { + $url = "https://github.com/Azure/acs-engine/releases/download/${DESIRED_ACS_ENGINE_VERSION}/acs-engine-${DESIRED_ACS_ENGINE_VERSION}-windows-amd64.zip" + Write-Output "Downloading acs-engine.exe from $url to $ACS_ENGINE_FILE" + Remove-Item -Path "$ACS_ENGINE_FILE" + + DownloadFile -url $url -targetFile "$AKS_LOCAL_FOLDER\acs-engine.zip" + + Expand-Archive -Path "$AKS_LOCAL_FOLDER\acs-engine.zip" -DestinationPath "$AKS_LOCAL_FOLDER" -Force + Copy-Item -Path "$AKS_LOCAL_FOLDER\acs-engine-${DESIRED_ACS_ENGINE_VERSION}-windows-amd64\acs-engine.exe" -Destination $ACS_ENGINE_FILE +} +else { + Write-Output "acs-engine.exe already exists at $ACS_ENGINE_FILE" +} + +Write-Output "ACS Engine version" +acs-engine version + +$AKS_CLUSTER_NAME = "kubcluster" +# $AKS_CLUSTER_NAME = Read-Host "Cluster Name: (e.g., fabricnlpcluster)" + +$AKS_PERS_STORAGE_ACCOUNT_NAME = $(CreateStorageIfNotExists -resourceGroup $AKS_PERS_RESOURCE_GROUP -deleteStorageAccountIfExists $config.storage_account.delete_if_exists).AKS_PERS_STORAGE_ACCOUNT_NAME + +$AKS_VNET_NAME = $config.networking.vnet +$AKS_SUBNET_NAME = $config.networking.subnet +$AKS_SUBNET_RESOURCE_GROUP = $config.networking.subnet_resource_group + +# see if the user wants to use a specific virtual network +$VnetInfo = GetVnetInfo -subscriptionId $AKS_SUBSCRIPTION_ID -subnetResourceGroup $AKS_SUBNET_RESOURCE_GROUP -vnetName $AKS_VNET_NAME -subnetName $AKS_SUBNET_NAME +$AKS_FIRST_STATIC_IP = $VnetInfo.AKS_FIRST_STATIC_IP +$AKS_SUBNET_CIDR = $VnetInfo.AKS_SUBNET_CIDR + +CleanResourceGroup -resourceGroup ${AKS_PERS_RESOURCE_GROUP} -location $AKS_PERS_LOCATION -vnet $AKS_VNET_NAME ` + -subnet $AKS_SUBNET_NAME -subnetResourceGroup $AKS_SUBNET_RESOURCE_GROUP ` + -storageAccount $AKS_PERS_STORAGE_ACCOUNT_NAME + +# Read-Host "continue?" + +Write-Output "checking if Service Principal already exists" +$AKS_SERVICE_PRINCIPAL_CLIENTID = az ad sp list --display-name ${AKS_SERVICE_PRINCIPAL_NAME} --query "[].appId" --output tsv + +$myscope = "/subscriptions/${AKS_SUBSCRIPTION_ID}/resourceGroups/${AKS_PERS_RESOURCE_GROUP}" + +# https://docs.microsoft.com/en-us/azure/active-directory/active-directory-passwords-policy +if ("$AKS_SERVICE_PRINCIPAL_CLIENTID") { + Write-Host "Service Principal already exists with name: [$AKS_SERVICE_PRINCIPAL_NAME]" + $AKS_SERVICE_PRINCIPAL_CLIENTSECRET = ReadSecretPassword -secretname "serviceprincipal" + if ([string]::IsNullOrWhiteSpace($AKS_SERVICE_PRINCIPAL_CLIENTSECRET)) { + + if($($config.service_principal.delete_if_exists)) { + Write-Output "Deleting service principal:$AKS_SERVICE_PRINCIPAL_CLIENTID ..." + az ad sp delete --id "$AKS_SERVICE_PRINCIPAL_CLIENTID" --verbose + # https://github.com/Azure/azure-cli/issues/1332 + Write-Output "Sleeping to wait for Service Principal to propagate" + Start-Sleep -Seconds 30; + + Write-Output "Creating Service Principal: [$AKS_SERVICE_PRINCIPAL_NAME]" + $AKS_SERVICE_PRINCIPAL_CLIENTSECRET = az ad sp create-for-rbac --role="Owner" --scopes="$myscope" --name ${AKS_SERVICE_PRINCIPAL_NAME} --query "password" --output tsv + # the above command changes the color because it retries role assignment creation + [Console]::ResetColor() + } + else { + } + } + else { + Write-Host "Found past servicePrincipal client secret: $AKS_SERVICE_PRINCIPAL_CLIENTSECRET" + } + + # https://github.com/Azure/azure-cli/issues/1332 + Write-Output "Sleeping to wait for Service Principal to propagate" + Start-Sleep -Seconds 30; + $AKS_SERVICE_PRINCIPAL_CLIENTID = az ad sp list --display-name ${AKS_SERVICE_PRINCIPAL_NAME} --query "[].appId" --output tsv + Write-Output "created $AKS_SERVICE_PRINCIPAL_NAME clientId=$AKS_SERVICE_PRINCIPAL_CLIENTID clientsecret=$AKS_SERVICE_PRINCIPAL_CLIENTSECRET" +} +else { + Write-Output "Creating Service Principal: [$AKS_SERVICE_PRINCIPAL_NAME]" + $AKS_SERVICE_PRINCIPAL_CLIENTSECRET = az ad sp create-for-rbac --role="Contributor" --scopes="$myscope" --name ${AKS_SERVICE_PRINCIPAL_NAME} --query "password" --output tsv + # https://github.com/Azure/azure-cli/issues/1332 + Write-Output "Sleeping to wait for Service Principal to propagate" + Start-Sleep -Seconds 30; + [Console]::ResetColor() + + $AKS_SERVICE_PRINCIPAL_CLIENTID = az ad sp list --display-name ${AKS_SERVICE_PRINCIPAL_NAME} --query "[].appId" --output tsv + Write-Output "created $AKS_SERVICE_PRINCIPAL_NAME clientId=$AKS_SERVICE_PRINCIPAL_CLIENTID clientsecret=$AKS_SERVICE_PRINCIPAL_CLIENTSECRET" +} + +if ("$AKS_SUBNET_RESOURCE_GROUP") { + Write-Output "Giving service principal access to vnet resource group: [${AKS_SUBNET_RESOURCE_GROUP}]" + $subnetscope = "/subscriptions/${AKS_SUBSCRIPTION_ID}/resourceGroups/${AKS_SUBNET_RESOURCE_GROUP}" + az role assignment create --assignee $AKS_SERVICE_PRINCIPAL_CLIENTID --role "contributor" --scope "$subnetscope" +} + +Write-Output "Create Azure Container Service cluster" + +$mysubnetid = "/subscriptions/${AKS_SUBSCRIPTION_ID}/resourceGroups/${AKS_SUBNET_RESOURCE_GROUP}/providers/Microsoft.Network/virtualNetworks/${AKS_VNET_NAME}/subnets/${AKS_SUBNET_NAME}" + +$dnsNamePrefix = "$AKS_PERS_RESOURCE_GROUP" + +# az acs create --orchestrator-type kubernetes --resource-group $AKS_PERS_RESOURCE_GROUP --name $AKS_CLUSTER_NAME --generate-ssh-keys --agent-count=3 --agent-vm-size Standard_B2ms +#az acs create --orchestrator-type kubernetes --resource-group fabricnlpcluster --name cluster1 --service-principal="$AKS_SERVICE_PRINCIPAL_CLIENTID" --client-secret="$AKS_SERVICE_PRINCIPAL_CLIENTSECRET" --generate-ssh-keys --agent-count=3 --agent-vm-size Standard_D2 --master-vnet-subnet-id="$mysubnetid" --agent-vnet-subnet-id="$mysubnetid" + +# choose the right template based on user choice +$templateFile = "acs.template.json" +if (!"$AKS_VNET_NAME") { + $templateFile = "acs.template.nosubnet.json" +} +elseif ($AKS_SUPPORT_WINDOWS_CONTAINERS) { + # https://github.com/Azure/acs-engine/issues/1767 + $templateFile = "acs.template.linuxwindows.json" +} +elseif ($AKS_USE_AZURE_NETWORKING) { + $templateFile = "acs.template.azurenetwork.json" +} + +Write-Output "Using template: $GITHUB_URL/azure/$templateFile" + +$AKS_LOCAL_TEMP_FOLDER = "$AKS_LOCAL_FOLDER\$AKS_PERS_RESOURCE_GROUP\temp" +if (!(Test-Path -Path "$AKS_LOCAL_TEMP_FOLDER")) { + New-Item -ItemType directory -Path "$AKS_LOCAL_TEMP_FOLDER" +} + +# sometimes powershell starts in a strange folder where the current user doesn't have permissions +# so CD into the temp folder to avoid errors +Set-Location -Path $AKS_LOCAL_TEMP_FOLDER + +$output = "$AKS_LOCAL_TEMP_FOLDER\acs.json" +Write-Output "Downloading parameters file from github to $output" +if (Test-Path $output) { + Remove-Item $output +} + +# download the template file from github +if ($GITHUB_URL.StartsWith("http")) { + Write-Output "Downloading file: $GITHUB_URL/azure/$templateFile" + Invoke-WebRequest -Uri "$GITHUB_URL/azure/$templateFile" -OutFile $output -ContentType "text/plain; charset=utf-8" +} +else { + Copy-Item -Path "$GITHUB_URL/azure/$templateFile" -Destination "$output" +} + +# subnet CIDR to mask +# https://doc.m0n0.ch/quickstartpc/intro-CIDR.html +$WINDOWS_PASSWORD = "replacepassword1234$" +Write-Output "replacing values in the acs.json file" +Write-Output "AKS_SSH_KEY: $AKS_SSH_KEY" +Write-Output "AKS_SERVICE_PRINCIPAL_CLIENTID: $AKS_SERVICE_PRINCIPAL_CLIENTID" +Write-Output "AKS_SERVICE_PRINCIPAL_CLIENTSECRET: $AKS_SERVICE_PRINCIPAL_CLIENTSECRET" +Write-Output "SUBNET: ${mysubnetid}" +Write-Output "DNS NAME: ${dnsNamePrefix}" +Write-Output "FIRST STATIC IP: $AKS_FIRST_STATIC_IP" +Write-Output "WINDOWS PASSWORD: $WINDOWS_PASSWORD" +Write-Output "AKS_SUBNET_CIDR: $AKS_SUBNET_CIDR" +$MyFile = (Get-Content $output) | + Foreach-Object {$_ -replace 'REPLACE-SSH-KEY', "${AKS_SSH_KEY}"} | + Foreach-Object {$_ -replace 'REPLACE-CLIENTID', "${AKS_SERVICE_PRINCIPAL_CLIENTID}"} | + Foreach-Object {$_ -replace 'REPLACE-CLIENTSECRET', "${AKS_SERVICE_PRINCIPAL_CLIENTSECRET}"} | + Foreach-Object {$_ -replace 'REPLACE-SUBNET', "${mysubnetid}"} | + Foreach-Object {$_ -replace 'REPLACE-DNS-NAME-PREFIX', "${dnsNamePrefix}"} | + Foreach-Object {$_ -replace 'REPLACE-FIRST-STATIC-IP', "${AKS_FIRST_STATIC_IP}"} | + Foreach-Object {$_ -replace 'REPLACE-WINDOWS-PASSWORD', "${WINDOWS_PASSWORD}"} | + Foreach-Object {$_ -replace 'REPLACE_VNET_CIDR', "${AKS_SUBNET_CIDR}"} + + + +# have to do it this way instead of Outfile so we can get a UTF-8 file without BOM +# from https://stackoverflow.com/questions/5596982/using-powershell-to-write-a-file-in-utf-8-without-the-bom +$Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding $False +[System.IO.File]::WriteAllLines($output, $MyFile, $Utf8NoBomEncoding) + +$acsoutputfolder = "$AKS_LOCAL_TEMP_FOLDER\_output\$dnsNamePrefix" +if (!(Test-Path -Path "$acsoutputfolder")) { + New-Item -ItemType directory -Path "$acsoutputfolder" +} + +Write-Output "Deleting everything in the output folder" +Remove-Item -Path $acsoutputfolder -Recurse -Force + +Write-Output "Generating ACS engine template" + +# acs-engine deploy --subscription-id "$AKS_SUBSCRIPTION_ID" ` +# --dns-prefix $dnsNamePrefix --location $AKS_PERS_LOCATION ` +# --resource-group $AKS_PERS_RESOURCE_GROUP ` +# --api-model "$output" ` +# --output-directory "$acsoutputfolder" + +acs-engine generate $output --output-directory $acsoutputfolder + +if ($AKS_SUPPORT_WINDOWS_CONTAINERS) { + + if ("$AKS_VNET_NAME") { + Write-Output "Adding subnet to azuredeploy.json to work around acs-engine bug" + $outputdeployfile = "$acsoutputfolder\azuredeploy.json" + # https://github.com/Azure/acs-engine/issues/1767 + # "subnet": "${mysubnetid}" + # replace "vnetSubnetID": "[parameters('masterVnetSubnetID')]" + # "subnet": "[parameters('masterVnetSubnetID')]" + + #there is a bug in acs-engine: https://github.com/Azure/acs-engine/issues/1767 + $mydeployjson = Get-Content -Raw -Path $outputdeployfile | ConvertFrom-Json + $mydeployjson.variables | Add-Member -Type NoteProperty -Name 'subnet' -Value "[parameters('masterVnetSubnetID')]" + $outjson = ConvertTo-Json -InputObject $mydeployjson -Depth 10 + Set-Content -Path $outputdeployfile -Value $outjson + } +} + +# --orchestrator-version 1.8 ` +# --ssh-key-value + +# az acs create ` +# --orchestrator-type kubernetes ` +# --dns-prefix ${dnsNamePrefix} ` +# --resource-group $AKS_PERS_RESOURCE_GROUP ` +# --name $AKS_CLUSTER_NAME ` +# --location $AKS_PERS_LOCATION ` +# --service-principal="$AKS_SERVICE_PRINCIPAL_CLIENTID" ` +# --client-secret="$AKS_SERVICE_PRINCIPAL_CLIENTSECRET" ` +# --agent-count=3 --agent-vm-size Standard_D2 ` +# --master-vnet-subnet-id="$mysubnetid" ` +# --agent-vnet-subnet-id="$mysubnetid" + +Write-Output "Validating deployment" +az group deployment validate ` + --template-file "$acsoutputfolder\azuredeploy.json" ` + --resource-group $AKS_PERS_RESOURCE_GROUP ` + --parameters "$acsoutputfolder\azuredeploy.parameters.json" + +Write-Output "Starting deployment..." + +az group deployment create ` + --template-file "$acsoutputfolder\azuredeploy.json" ` + --resource-group $AKS_PERS_RESOURCE_GROUP -n $AKS_CLUSTER_NAME ` + --parameters "$acsoutputfolder\azuredeploy.parameters.json" ` + --verbose + +# Write-Output "Saved to $acsoutputfolder\azuredeploy.json" + +# if joining a vnet, and not using azure networking then we have to manually set the route-table +if ("$AKS_VNET_NAME") { + if (!$AKS_USE_AZURE_NETWORKING) { + Write-Output "Attaching route table" + # https://github.com/Azure/acs-engine/blob/master/examples/vnet/k8s-vnet-postdeploy.sh + $rt = az network route-table list -g "${AKS_PERS_RESOURCE_GROUP}" --query "[?name != 'temproutetable'].id" -o tsv + $nsg = az network nsg list --resource-group ${AKS_PERS_RESOURCE_GROUP} --query "[?name != 'tempnsg'].id" -o tsv + + Write-Output "new route: $rt" + Write-Output "new nsg: $nsg" + + az network vnet subnet update -n "${AKS_SUBNET_NAME}" -g "${AKS_SUBNET_RESOURCE_GROUP}" --vnet-name "${AKS_VNET_NAME}" --route-table "$rt" --network-security-group "$nsg" + + Write-Output "Sleeping to let subnet be updated" + Start-Sleep -Seconds 30 + + az network route-table delete --name temproutetable --resource-group $AKS_PERS_RESOURCE_GROUP + az network nsg delete --name tempnsg --resource-group $AKS_PERS_RESOURCE_GROUP + } +} + +# az.cmd acs kubernetes get-credentials ` +# --resource-group=$AKS_PERS_RESOURCE_GROUP ` +# --name=$AKS_CLUSTER_NAME + +# Write-Output "Getting kube config by ssh to the master VM" +# $MASTER_VM_NAME = "${AKS_PERS_RESOURCE_GROUP}.${AKS_PERS_LOCATION}.cloudapp.azure.com" +# $SSH_PRIVATE_KEY_FILE = "$env:userprofile\.ssh\id_rsa" + +# if (Get-Module -ListAvailable -Name Posh-SSH) { +# } +# else { +# Install-Module Posh-SSH -Scope CurrentUser -Force +# } + +# # from http://www.powershellmagazine.com/2014/07/03/posh-ssh-open-source-ssh-powershell-module/ +# $User = "azureuser" +# $Credential = New-Object System.Management.Automation.PSCredential($User, (new-object System.Security.SecureString)) +# # New-SSHSession -ComputerName ${MASTER_VM_NAME} -KeyFile "${SSH_PRIVATE_KEY_FILE}" -Credential $Credential -AcceptKey -Verbose -Force +# # Invoke-SSHCommand -Command "cat ./.kube/config" -SessionId 0 +# Get-SCPFile -LocalFile "$env:userprofile\.kube\config" -RemoteFile "./.kube/config" -ComputerName ${MASTER_VM_NAME} -KeyFile "${SSH_PRIVATE_KEY_FILE}" -Credential $Credential -AcceptKey -Verbose -Force +# Remove-SSHSession -SessionId 0 + +# store kube config in local folder +if (!(Test-Path -Path "$env:userprofile\.kube")) { + Write-Output "$env:userprofile\.kube does not exist. Creating it..." + New-Item -ItemType directory -Path "$env:userprofile\.kube" +} +if (!(Test-Path -Path "$AKS_LOCAL_TEMP_FOLDER\.kube")) { + New-Item -ItemType directory -Path "$AKS_LOCAL_TEMP_FOLDER\.kube" +} + +$privateIpOfMasterVM = $(GetPrivateIPofMasterVM -resourceGroup $AKS_PERS_RESOURCE_GROUP).PrivateIP +$publicNameOfMasterVM = $(GetPublicNameofMasterVM -resourceGroup $AKS_PERS_RESOURCE_GROUP).Name +$kubeconfigjsonfile = "$acsoutputfolder\kubeconfig\kubeconfig.$AKS_PERS_LOCATION.json" + +if($IS_CAFE_ENVIRONMENT){ + Write-Host "Replacing master vm name, [$publicNameOfMasterVM], with private ip, [$privateIpOfMasterVM], in kube config file" + (Get-Content "$kubeconfigjsonfile").replace("$publicNameOfMasterVM", "$privateIpOfMasterVM") | Set-Content "$kubeconfigjsonfile" +} + +Copy-Item -Path "$kubeconfigjsonfile" -Destination "$env:userprofile\.kube\config" + +Copy-Item -Path "$kubeconfigjsonfile" -Destination "$AKS_LOCAL_TEMP_FOLDER\.kube\config" + +# If ((Get-Content "$($env:windir)\system32\Drivers\etc\hosts" ) -notcontains "127.0.0.1 hostname1") +# {ac -Encoding UTF8 "$($env:windir)\system32\Drivers\etc\hosts" "127.0.0.1 hostname1" } + +$MASTER_VM_NAME = "${AKS_PERS_RESOURCE_GROUP}.${AKS_PERS_LOCATION}.cloudapp.azure.com" +Write-Output "You can connect to master VM in Git Bash for debugging using:" +Write-Output "ssh -i ${SSH_PRIVATE_KEY_FILE_UNIX_PATH} azureuser@${MASTER_VM_NAME}" + +Write-Output "Check nodes via kubectl" +# set the environment variable so kubectl gets the new config +$env:KUBECONFIG = "${HOME}\.kube\config" +kubectl get nodes -o=name + +# wait until the nodes are up +$nodeCount = 0 + +while ($nodeCount -lt 3) { + $lines = kubectl get nodes -o=name | Measure-Object -Line + $nodeCount = $lines.Lines + Start-Sleep -s 10 +} + +# create storage account + +Write-Output "Get storage account key" +$STORAGE_KEY = az storage account keys list --resource-group $AKS_PERS_RESOURCE_GROUP --account-name $AKS_PERS_STORAGE_ACCOUNT_NAME --query "[0].value" --output tsv + +# Write-Output "Storagekey: [$STORAGE_KEY]" + +Write-Output "Creating kubernetes secret for Azure Storage Account: azure-secret" +kubectl create secret generic azure-secret --from-literal=resourcegroup="${AKS_PERS_RESOURCE_GROUP}" --from-literal=azurestorageaccountname="${AKS_PERS_STORAGE_ACCOUNT_NAME}" --from-literal=azurestorageaccountkey="${STORAGE_KEY}" +Write-Output "Creating kubernetes secret for customerid: customerid" +kubectl create secret generic customerid --from-literal=value=$customerid +Write-Output "Creating kubernetes secret for vnet: azure-vnet" +kubectl create secret generic azure-vnet --from-literal=vnet="${AKS_VNET_NAME}" --from-literal=subnet="${AKS_SUBNET_NAME}" --from-literal=subnetResourceGroup="${AKS_SUBNET_RESOURCE_GROUP}" +Write-Output "Creating kubernetes secret for service principal" +kubectl create secret generic serviceprincipal --from-literal=clientid="$AKS_SERVICE_PRINCIPAL_CLIENTID" --from-literal=password="$AKS_SERVICE_PRINCIPAL_CLIENTSECRET" +if (![string]::IsNullOrEmpty($WINDOWS_PASSWORD)) { + Write-Output "Creating kubernetes secret for windows VM" + kubectl create secret generic windowspassword --from-literal=password="$WINDOWS_PASSWORD" +} + +kubectl get "deployments,pods,services,ingress,secrets" --namespace=kube-system -o wide + +# kubectl patch deployment kube-dns-v20 -n kube-system -p '{"spec":{"template":{"spec":{"containers":[{"name":"myapp","image":"172.20.34.206:5000/myapp:img:3.0"}]}}}}' +# kubectl patch deployment kube-dns-v20 -n kube-system -p '{"spec":{"template":{"spec":{"restartPolicy":"Never"}}}}' + +# Write-Output "Restarting DNS Pods (sometimes they get in a CrashLoopBackoff loop)" +# $failedItems = kubectl get pods -l k8s-app=kube-dns -n kube-system -o jsonpath='{range.items[*]}{.metadata.name}{\"\n\"}{end}' +# ForEach ($line in $failedItems) { +# Write-Host "Deleting pod $line" +# kubectl delete pod $line -n kube-system +# } + +SetHostFileInVms -resourceGroup $AKS_PERS_RESOURCE_GROUP +SetupCronTab -resourceGroup $AKS_PERS_RESOURCE_GROUP + +Write-Host "Removing extra stuff that acs-engine creates" +# k8s-master-lb-24203516 +# k8s-master-ip-prod-kub-sjtn-rg-24203516 + +# /subscriptions/f8a42a3a-8b22-4be4-8413-0b6911c77242/resourceGroups/Prod-Kub-AHMN-RG/providers/Microsoft.Network/networkInterfaces/k8s-master-37819884-nic-0 + +# command to update hosts +# grep -v " k8s-master-37819884-0" /etc/hosts | grep -v "k8s-linuxagent-37819884-0" - | grep -v "k8s-linuxagent-37819884-1" - | grep -v "prod-kub-ahmn-rg.westus.cloudapp.azure.com" - | tee /etc/hosts +# | ( cat - && echo "foo" && echo "bar") +# | tee /etc/hosts + +# copy the file into /etc/cron.hourly/ +# chmod +x ./restartkubedns.sh +# sudo mv ./restartkubedns.sh /etc/cron.hourly/ +# grep CRON /var/log/syslog +# * * * * * /etc/cron.hourly/restartkubedns.sh >>/tmp/restartkubedns.log +# https://stackoverflow.com/questions/878600/how-to-create-a-cron-job-using-bash-automatically-without-the-interactive-editor +# crontab -l | { cat; echo "*/10 * * * * /etc/cron.hourly/restartkubedns.sh >>/tmp/restartkubedns.log"; } | crontab - +# az vm extension set --resource-group Prod-Kub-AHMN-RG --vm-name k8s-master-37819884-0 --name customScript --publisher Microsoft.Azure.Extensions --protected-settings "{'commandToExecute': 'whoami;touch /tmp/me.txt'}" +# az vm run-command invoke -g Prod-Kub-AHMN-RG -n k8s-master-37819884-0 --command-id RunShellScript --scripts "whomai" +# az vm run-command invoke -g Prod-Kub-AHMN-RG -n k8s-master-37819884-0 --command-id RunShellScript --scripts "crontab -l | { cat; echo '*/10 * * * * /etc/cron.hourly/restartkubedns.sh >>/tmp/restartkubedns.log 2>&1'; } | crontab -" + +Write-Output "Run the following to see status of the cluster" +Write-Output "kubectl get deployments,pods,services,ingress,secrets --namespace=kube-system -o wide" diff --git a/deployments/testsite.json b/deployments/fabrickubernetes.json similarity index 79% rename from deployments/testsite.json rename to deployments/fabrickubernetes.json index 051f746..e897196 100644 --- a/deployments/testsite.json +++ b/deployments/fabrickubernetes.json @@ -1,14 +1,23 @@ { + "kubectl": { + "version": "" + }, "azure": { "resourceGroup": "fabrickubernetes", "location": "eastus", "create_windows_containers": false, - "use_azure_networking": true + "use_azure_networking": true, + "acs_engine": { + "version": "" + } }, "service_principal": { "name": "", "delete_if_exists": true }, + "storage_account": { + "delete_if_exists": false + }, "local_folder": "c:\\kubernetes", "customerid": "hcut", "ssl": false, diff --git a/kubernetes/setup-loadbalancer2.ps1 b/kubernetes/setup-loadbalancer2.ps1 index 5fa418c..3029000 100644 --- a/kubernetes/setup-loadbalancer2.ps1 +++ b/kubernetes/setup-loadbalancer2.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.03.26.02" +Write-output "Version 2018.03.27.01" # # This script is meant for quick & easy install via: @@ -18,19 +18,17 @@ Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1?f=$randomstring | Invoke-Expression; # Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; -$config = $(Get-Content ./deployments/testsite.json -Raw | ConvertFrom-Json) +$config = $(Get-Content ./deployments/fabrickubernetes.json -Raw | ConvertFrom-Json) Write-Host $config -$AKS_OPEN_TO_PUBLIC = "" -$AKS_USE_SSL = "" $AKS_IP_WHITELIST = "" -$SetupNSG = $true $userInfo = $(GetLoggedInUserInfo) -$AKS_SUBSCRIPTION_ID = $userInfo.AKS_SUBSCRIPTION_ID -$IS_CAFE_ENVIRONMENT = $userInfo.IS_CAFE_ENVIRONMENT +# $AKS_SUBSCRIPTION_ID = $userInfo.AKS_SUBSCRIPTION_ID +# $IS_CAFE_ENVIRONMENT = $userInfo.IS_CAFE_ENVIRONMENT $AKS_PERS_RESOURCE_GROUP = $config.azure.resourceGroup +$AKS_PERS_LOCATION = $config.azure.location # Get location name from resource group $AKS_PERS_LOCATION = az group show --name $AKS_PERS_RESOURCE_GROUP --query "location" -o tsv @@ -74,7 +72,7 @@ else { if ($($config.network_security_group.create_nsg_rules)) { Write-Output "Adding or updating rules to Network Security Group for the subnet" $sourceTagForAdminAccess = "VirtualNetwork" - if ($AKS_ALLOW_ADMIN_ACCESS_OUTSIDE_VNET -eq "y") { + if($($config.allow_kubectl_from_outside_vnet)){ $sourceTagForAdminAccess = "Internet" Write-Output "Enabling admin access to cluster from Internet" } @@ -112,7 +110,7 @@ if ($($config.network_security_group.create_nsg_rules)) { Write-Output "Since we already have rules open port 80 and 443 to the Internet, we do not need to create separate ones for the Internet" } else { - if ($AKS_OPEN_TO_PUBLIC -eq "y") { + if($($config.ingress.external) -ne "vnetonly"){ SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` -rulename "HttpPort" ` -ruledescription "allow HTTP access from ${sourceTagForHttpAccess}." ` @@ -275,4 +273,3 @@ else { } - From 7b3c4fcc341b2b7b7ef6688937b3645266da36ae Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 10:19:25 -0700 Subject: [PATCH 384/473] read from config file Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 49 ++++++++++++++++++++++++++++++ azure/create-acs-cluster2.ps1 | 6 ++-- deployments/fabrickubernetes.json | 5 ++- deployments/sample.json | 46 ++++++++++++++++++++++++++++ kubernetes/setup-loadbalancer2.ps1 | 6 ++-- 5 files changed, 105 insertions(+), 7 deletions(-) create mode 100644 deployments/sample.json diff --git a/azure/common.ps1 b/azure/common.ps1 index 39d4e63..d8adb3e 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1446,5 +1446,54 @@ function global:ConfigureWAF() { } } } + +function global:GetConfigFile() { + + [hashtable]$Return = @{} + + $folder = "c:\kubernetes\configs" + if (Test-Path -Path $folder -PathType Container) { + $files = Get-ChildItem "$folder" -Filter *.json + + if ($files.Count -gt 0) { + Write-Output "------ Files in $folder -------" + for ($i = 1; $i -le $files.count; $i++) { + Write-Host "$i. $($($files[$i-1]).Name)" + } + Write-Output "------ End Files -------" + $index = Read-Host "Enter number of file to use (1 - $($files.count))" + $Return.FilePath = $($($files[$index - 1]).FullName) + return $Return + } + } + + Write-Host "Sample config file: https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/deployments/sample.json" + Do { $fullpath = Read-Host "Type full path to config file: "} + while ([string]::IsNullOrWhiteSpace($fullpath)) + + $Return.FilePath = $fullpath + return $Return +} + +function global:ReadConfigFile() { + [hashtable]$Return = @{} + + $configfilepath = $(GetConfigFile).FilePath + + Write-Host "Reading config from $configfilepath" + $config = $(Get-Content $configfilepath -Raw | ConvertFrom-Json) + + $Return.Config = $config + return $Return +} + +function global:SaveConfigFile() { + [hashtable]$Return = @{} + + New-Item -ItemType Directory -Force -Path $folder + + return $Return +} + #------------------- Write-Host "end common.ps1 version $versioncommon" diff --git a/azure/create-acs-cluster2.ps1 b/azure/create-acs-cluster2.ps1 index 7f31631..73f5817 100644 --- a/azure/create-acs-cluster2.ps1 +++ b/azure/create-acs-cluster2.ps1 @@ -10,15 +10,15 @@ $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/m Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1 | Invoke-Expression; # Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; -# Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; -Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; +Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; +# Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; write-output "Checking if you're already logged in..." DownloadAzCliIfNeeded -$config = $(Get-Content ./deployments/fabrickubernetes.json -Raw | ConvertFrom-Json) +$config = $(ReadConfigFile).Config Write-Host $config $userInfo=$(GetLoggedInUserInfo) diff --git a/deployments/fabrickubernetes.json b/deployments/fabrickubernetes.json index e897196..2c23783 100644 --- a/deployments/fabrickubernetes.json +++ b/deployments/fabrickubernetes.json @@ -2,13 +2,16 @@ "kubectl": { "version": "" }, + "azcli": { + "version": "2.0.27" + }, "azure": { "resourceGroup": "fabrickubernetes", "location": "eastus", "create_windows_containers": false, "use_azure_networking": true, "acs_engine": { - "version": "" + "version": "v0.13.0" } }, "service_principal": { diff --git a/deployments/sample.json b/deployments/sample.json new file mode 100644 index 0000000..2c23783 --- /dev/null +++ b/deployments/sample.json @@ -0,0 +1,46 @@ +{ + "kubectl": { + "version": "" + }, + "azcli": { + "version": "2.0.27" + }, + "azure": { + "resourceGroup": "fabrickubernetes", + "location": "eastus", + "create_windows_containers": false, + "use_azure_networking": true, + "acs_engine": { + "version": "v0.13.0" + } + }, + "service_principal": { + "name": "", + "delete_if_exists": true + }, + "storage_account": { + "delete_if_exists": false + }, + "local_folder": "c:\\kubernetes", + "customerid": "hcut", + "ssl": false, + "allow_kubectl_from_outside_vnet": true, + "ingress": { + "external": "public", + "internal": "public", + "external_ip_whitelist": "" + }, + "networking": { + "vnet": "kubnettest", + "subnet": "kubsubnet", + "subnet_resource_group": "Imran" + }, + "network_security_group": { + "name": "", + "create_nsg_rules": false + }, + "dns": { + "create_dns_entries": false, + "dns_resource_group": "dns" + } +} \ No newline at end of file diff --git a/kubernetes/setup-loadbalancer2.ps1 b/kubernetes/setup-loadbalancer2.ps1 index 3029000..223daea 100644 --- a/kubernetes/setup-loadbalancer2.ps1 +++ b/kubernetes/setup-loadbalancer2.ps1 @@ -12,13 +12,13 @@ Write-Host "GITHUB_URL: $GITHUB_URL" $set = "abcdefghijklmnopqrstuvwxyz0123456789".ToCharArray() $randomstring += $set | Get-Random -# Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1?f=$randomstring | Invoke-Expression; -Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; +Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1?f=$randomstring | Invoke-Expression; +# Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1?f=$randomstring | Invoke-Expression; # Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; -$config = $(Get-Content ./deployments/fabrickubernetes.json -Raw | ConvertFrom-Json) +$config = $(ReadConfigFile).Config Write-Host $config $AKS_IP_WHITELIST = "" From 6bca0cf9e14e55b22a480ec1aa710a53ddd84d40 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 10:24:26 -0700 Subject: [PATCH 385/473] use config files for reading values Signed-off-by: HQCATALYST\imran.qureshi --- ...luster2.ps1 => create-acs-cluster-old.ps1} | 68 +- azure/create-acs-cluster.ps1 | 68 +- kubernetes/setup-loadbalancer-old.ps1 | 597 ++++++++++++++++++ kubernetes/setup-loadbalancer.ps1 | 450 ++----------- kubernetes/setup-loadbalancer2.ps1 | 275 -------- 5 files changed, 729 insertions(+), 729 deletions(-) rename azure/{create-acs-cluster2.ps1 => create-acs-cluster-old.ps1} (91%) create mode 100644 kubernetes/setup-loadbalancer-old.ps1 delete mode 100644 kubernetes/setup-loadbalancer2.ps1 diff --git a/azure/create-acs-cluster2.ps1 b/azure/create-acs-cluster-old.ps1 similarity index 91% rename from azure/create-acs-cluster2.ps1 rename to azure/create-acs-cluster-old.ps1 index 73f5817..9df544d 100644 --- a/azure/create-acs-cluster2.ps1 +++ b/azure/create-acs-cluster-old.ps1 @@ -1,4 +1,4 @@ -Write-output "--- create-acs-cluster Version 2018.03.27.01 ----" +Write-output "--- create-acs-cluster Version 2018.03.23.02 ----" # # This script is meant for quick & easy install via: @@ -14,45 +14,56 @@ Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; # Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; +$AKS_USE_AZURE_NETWORKING = "n" +$AKS_SUPPORT_WINDOWS_CONTAINERS = "n" + write-output "Checking if you're already logged in..." DownloadAzCliIfNeeded -$config = $(ReadConfigFile).Config -Write-Host $config - $userInfo=$(GetLoggedInUserInfo) $AKS_SUBSCRIPTION_ID = $userInfo.AKS_SUBSCRIPTION_ID $IS_CAFE_ENVIRONMENT=$userInfo.IS_CAFE_ENVIRONMENT -$customerid=$($config.customerid) +# ask for customerid +if ($IS_CAFE_ENVIRONMENT){ + Do { $customerid = Read-Host "Health Catalyst Customer ID (e.g., ahmn)"} + while ([string]::IsNullOrWhiteSpace($customerid)) + $DEFAULT_RESOURCE_GROUP = "Prod-Kub-$($customerid.ToUpper())-RG" +} +else { + $customerid="hcut" + $DEFAULT_RESOURCE_GROUP = "Dev-Kub-$($customerid.ToUpper())-RG" +} Write-Output "Customer ID: $customerid" -$AKS_PERS_RESOURCE_GROUP = $config.azure.resourceGroup -$AKS_PERS_LOCATION = $config.azure.location +$ResourceGroupInfo = GetResourceGroupAndLocation -defaultResourceGroup $DEFAULT_RESOURCE_GROUP +$AKS_PERS_RESOURCE_GROUP = $ResourceGroupInfo.AKS_PERS_RESOURCE_GROUP +$AKS_PERS_LOCATION = $ResourceGroupInfo.AKS_PERS_LOCATION -CreateResourceGroupIfNotExists -resourceGroup $AKS_PERS_RESOURCE_GROUP -location $AKS_PERS_LOCATION - -$AKS_SUPPORT_WINDOWS_CONTAINERS = $config.azure.create_windows_containers -$AKS_USE_AZURE_NETWORKING = $config.azure.use_azure_networking +$AKS_SUPPORT_WINDOWS_CONTAINERS = Read-Host "Support Windows containers (y/n) (default: n)" +if ([string]::IsNullOrWhiteSpace($AKS_SUPPORT_WINDOWS_CONTAINERS)) { + $AKS_SUPPORT_WINDOWS_CONTAINERS = "n" +} -if ($AKS_SUPPORT_WINDOWS_CONTAINERS) { +if ("$AKS_SUPPORT_WINDOWS_CONTAINERS" -eq "n") { # azure networking is not supported with windows containers - if($AKS_USE_AZURE_NETWORKING){ - Write-Error "Azure networking is not supported with Windows containers" + # do we want to use azure networking or kube networking + $AKS_USE_AZURE_NETWORKING = Read-Host "Use Azure networking (default: y)" + if ([string]::IsNullOrWhiteSpace($AKS_USE_AZURE_NETWORKING)) { + $AKS_USE_AZURE_NETWORKING = "y" } } # service account to own the resources -$AKS_SERVICE_PRINCIPAL_NAME = $config.service_principal.name - +$AKS_SERVICE_PRINCIPAL_NAME = Read-Host "Service account to use (default: ${AKS_PERS_RESOURCE_GROUP}Kubernetes)" if ([string]::IsNullOrWhiteSpace($AKS_SERVICE_PRINCIPAL_NAME)) { $AKS_SERVICE_PRINCIPAL_NAME = "${AKS_PERS_RESOURCE_GROUP}Kubernetes" } # where to store the SSH keys on local machine -$AKS_LOCAL_FOLDER = $config.local_folder +$AKS_LOCAL_FOLDER = Read-Host "Folder to store SSH keys (default: c:\kubernetes)" if ([string]::IsNullOrWhiteSpace($AKS_LOCAL_FOLDER)) {$AKS_LOCAL_FOLDER = "C:\kubernetes"} @@ -103,14 +114,13 @@ acs-engine version $AKS_CLUSTER_NAME = "kubcluster" # $AKS_CLUSTER_NAME = Read-Host "Cluster Name: (e.g., fabricnlpcluster)" -$AKS_PERS_STORAGE_ACCOUNT_NAME = $(CreateStorageIfNotExists -resourceGroup $AKS_PERS_RESOURCE_GROUP -deleteStorageAccountIfExists $config.storage_account.delete_if_exists).AKS_PERS_STORAGE_ACCOUNT_NAME - -$AKS_VNET_NAME = $config.networking.vnet -$AKS_SUBNET_NAME = $config.networking.subnet -$AKS_SUBNET_RESOURCE_GROUP = $config.networking.subnet_resource_group +$AKS_PERS_STORAGE_ACCOUNT_NAME = $(CreateStorageIfNotExists -resourceGroup $AKS_PERS_RESOURCE_GROUP).AKS_PERS_STORAGE_ACCOUNT_NAME # see if the user wants to use a specific virtual network -$VnetInfo = GetVnetInfo -subscriptionId $AKS_SUBSCRIPTION_ID -subnetResourceGroup $AKS_SUBNET_RESOURCE_GROUP -vnetName $AKS_VNET_NAME -subnetName $AKS_SUBNET_NAME +$VnetInfo = GetVnet -subscriptionId $AKS_SUBSCRIPTION_ID +$AKS_VNET_NAME = $VnetInfo.AKS_VNET_NAME +$AKS_SUBNET_NAME = $VnetInfo.AKS_SUBNET_NAME +$AKS_SUBNET_RESOURCE_GROUP = $VnetInfo.AKS_SUBNET_RESOURCE_GROUP $AKS_FIRST_STATIC_IP = $VnetInfo.AKS_FIRST_STATIC_IP $AKS_SUBNET_CIDR = $VnetInfo.AKS_SUBNET_CIDR @@ -130,8 +140,8 @@ if ("$AKS_SERVICE_PRINCIPAL_CLIENTID") { Write-Host "Service Principal already exists with name: [$AKS_SERVICE_PRINCIPAL_NAME]" $AKS_SERVICE_PRINCIPAL_CLIENTSECRET = ReadSecretPassword -secretname "serviceprincipal" if ([string]::IsNullOrWhiteSpace($AKS_SERVICE_PRINCIPAL_CLIENTSECRET)) { - - if($($config.service_principal.delete_if_exists)) { + $AKS_SERVICE_PRINCIPAL_CLIENTSECRET = Read-Host "Service account password to use (leave empty to recreate service account))" + if ([string]::IsNullOrWhiteSpace($AKS_SERVICE_PRINCIPAL_CLIENTSECRET)) { Write-Output "Deleting service principal:$AKS_SERVICE_PRINCIPAL_CLIENTID ..." az ad sp delete --id "$AKS_SERVICE_PRINCIPAL_CLIENTID" --verbose # https://github.com/Azure/azure-cli/issues/1332 @@ -188,11 +198,11 @@ $templateFile = "acs.template.json" if (!"$AKS_VNET_NAME") { $templateFile = "acs.template.nosubnet.json" } -elseif ($AKS_SUPPORT_WINDOWS_CONTAINERS) { +elseif ("$AKS_SUPPORT_WINDOWS_CONTAINERS" -eq "y") { # https://github.com/Azure/acs-engine/issues/1767 $templateFile = "acs.template.linuxwindows.json" } -elseif ($AKS_USE_AZURE_NETWORKING) { +elseif ("$AKS_USE_AZURE_NETWORKING" -eq "y") { $templateFile = "acs.template.azurenetwork.json" } @@ -269,7 +279,7 @@ Write-Output "Generating ACS engine template" acs-engine generate $output --output-directory $acsoutputfolder -if ($AKS_SUPPORT_WINDOWS_CONTAINERS) { +if ("$AKS_SUPPORT_WINDOWS_CONTAINERS" -eq "y") { if ("$AKS_VNET_NAME") { Write-Output "Adding subnet to azuredeploy.json to work around acs-engine bug" @@ -320,7 +330,7 @@ az group deployment create ` # if joining a vnet, and not using azure networking then we have to manually set the route-table if ("$AKS_VNET_NAME") { - if (!$AKS_USE_AZURE_NETWORKING) { + if ("$AKS_USE_AZURE_NETWORKING" -eq "n") { Write-Output "Attaching route table" # https://github.com/Azure/acs-engine/blob/master/examples/vnet/k8s-vnet-postdeploy.sh $rt = az network route-table list -g "${AKS_PERS_RESOURCE_GROUP}" --query "[?name != 'temproutetable'].id" -o tsv diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index 9df544d..73f5817 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -1,4 +1,4 @@ -Write-output "--- create-acs-cluster Version 2018.03.23.02 ----" +Write-output "--- create-acs-cluster Version 2018.03.27.01 ----" # # This script is meant for quick & easy install via: @@ -14,56 +14,45 @@ Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; # Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; -$AKS_USE_AZURE_NETWORKING = "n" -$AKS_SUPPORT_WINDOWS_CONTAINERS = "n" - write-output "Checking if you're already logged in..." DownloadAzCliIfNeeded +$config = $(ReadConfigFile).Config +Write-Host $config + $userInfo=$(GetLoggedInUserInfo) $AKS_SUBSCRIPTION_ID = $userInfo.AKS_SUBSCRIPTION_ID $IS_CAFE_ENVIRONMENT=$userInfo.IS_CAFE_ENVIRONMENT -# ask for customerid -if ($IS_CAFE_ENVIRONMENT){ - Do { $customerid = Read-Host "Health Catalyst Customer ID (e.g., ahmn)"} - while ([string]::IsNullOrWhiteSpace($customerid)) - $DEFAULT_RESOURCE_GROUP = "Prod-Kub-$($customerid.ToUpper())-RG" -} -else { - $customerid="hcut" - $DEFAULT_RESOURCE_GROUP = "Dev-Kub-$($customerid.ToUpper())-RG" -} +$customerid=$($config.customerid) Write-Output "Customer ID: $customerid" -$ResourceGroupInfo = GetResourceGroupAndLocation -defaultResourceGroup $DEFAULT_RESOURCE_GROUP -$AKS_PERS_RESOURCE_GROUP = $ResourceGroupInfo.AKS_PERS_RESOURCE_GROUP -$AKS_PERS_LOCATION = $ResourceGroupInfo.AKS_PERS_LOCATION +$AKS_PERS_RESOURCE_GROUP = $config.azure.resourceGroup +$AKS_PERS_LOCATION = $config.azure.location -$AKS_SUPPORT_WINDOWS_CONTAINERS = Read-Host "Support Windows containers (y/n) (default: n)" -if ([string]::IsNullOrWhiteSpace($AKS_SUPPORT_WINDOWS_CONTAINERS)) { - $AKS_SUPPORT_WINDOWS_CONTAINERS = "n" -} +CreateResourceGroupIfNotExists -resourceGroup $AKS_PERS_RESOURCE_GROUP -location $AKS_PERS_LOCATION + +$AKS_SUPPORT_WINDOWS_CONTAINERS = $config.azure.create_windows_containers +$AKS_USE_AZURE_NETWORKING = $config.azure.use_azure_networking -if ("$AKS_SUPPORT_WINDOWS_CONTAINERS" -eq "n") { +if ($AKS_SUPPORT_WINDOWS_CONTAINERS) { # azure networking is not supported with windows containers - # do we want to use azure networking or kube networking - $AKS_USE_AZURE_NETWORKING = Read-Host "Use Azure networking (default: y)" - if ([string]::IsNullOrWhiteSpace($AKS_USE_AZURE_NETWORKING)) { - $AKS_USE_AZURE_NETWORKING = "y" + if($AKS_USE_AZURE_NETWORKING){ + Write-Error "Azure networking is not supported with Windows containers" } } # service account to own the resources -$AKS_SERVICE_PRINCIPAL_NAME = Read-Host "Service account to use (default: ${AKS_PERS_RESOURCE_GROUP}Kubernetes)" +$AKS_SERVICE_PRINCIPAL_NAME = $config.service_principal.name + if ([string]::IsNullOrWhiteSpace($AKS_SERVICE_PRINCIPAL_NAME)) { $AKS_SERVICE_PRINCIPAL_NAME = "${AKS_PERS_RESOURCE_GROUP}Kubernetes" } # where to store the SSH keys on local machine -$AKS_LOCAL_FOLDER = Read-Host "Folder to store SSH keys (default: c:\kubernetes)" +$AKS_LOCAL_FOLDER = $config.local_folder if ([string]::IsNullOrWhiteSpace($AKS_LOCAL_FOLDER)) {$AKS_LOCAL_FOLDER = "C:\kubernetes"} @@ -114,13 +103,14 @@ acs-engine version $AKS_CLUSTER_NAME = "kubcluster" # $AKS_CLUSTER_NAME = Read-Host "Cluster Name: (e.g., fabricnlpcluster)" -$AKS_PERS_STORAGE_ACCOUNT_NAME = $(CreateStorageIfNotExists -resourceGroup $AKS_PERS_RESOURCE_GROUP).AKS_PERS_STORAGE_ACCOUNT_NAME +$AKS_PERS_STORAGE_ACCOUNT_NAME = $(CreateStorageIfNotExists -resourceGroup $AKS_PERS_RESOURCE_GROUP -deleteStorageAccountIfExists $config.storage_account.delete_if_exists).AKS_PERS_STORAGE_ACCOUNT_NAME + +$AKS_VNET_NAME = $config.networking.vnet +$AKS_SUBNET_NAME = $config.networking.subnet +$AKS_SUBNET_RESOURCE_GROUP = $config.networking.subnet_resource_group # see if the user wants to use a specific virtual network -$VnetInfo = GetVnet -subscriptionId $AKS_SUBSCRIPTION_ID -$AKS_VNET_NAME = $VnetInfo.AKS_VNET_NAME -$AKS_SUBNET_NAME = $VnetInfo.AKS_SUBNET_NAME -$AKS_SUBNET_RESOURCE_GROUP = $VnetInfo.AKS_SUBNET_RESOURCE_GROUP +$VnetInfo = GetVnetInfo -subscriptionId $AKS_SUBSCRIPTION_ID -subnetResourceGroup $AKS_SUBNET_RESOURCE_GROUP -vnetName $AKS_VNET_NAME -subnetName $AKS_SUBNET_NAME $AKS_FIRST_STATIC_IP = $VnetInfo.AKS_FIRST_STATIC_IP $AKS_SUBNET_CIDR = $VnetInfo.AKS_SUBNET_CIDR @@ -140,8 +130,8 @@ if ("$AKS_SERVICE_PRINCIPAL_CLIENTID") { Write-Host "Service Principal already exists with name: [$AKS_SERVICE_PRINCIPAL_NAME]" $AKS_SERVICE_PRINCIPAL_CLIENTSECRET = ReadSecretPassword -secretname "serviceprincipal" if ([string]::IsNullOrWhiteSpace($AKS_SERVICE_PRINCIPAL_CLIENTSECRET)) { - $AKS_SERVICE_PRINCIPAL_CLIENTSECRET = Read-Host "Service account password to use (leave empty to recreate service account))" - if ([string]::IsNullOrWhiteSpace($AKS_SERVICE_PRINCIPAL_CLIENTSECRET)) { + + if($($config.service_principal.delete_if_exists)) { Write-Output "Deleting service principal:$AKS_SERVICE_PRINCIPAL_CLIENTID ..." az ad sp delete --id "$AKS_SERVICE_PRINCIPAL_CLIENTID" --verbose # https://github.com/Azure/azure-cli/issues/1332 @@ -198,11 +188,11 @@ $templateFile = "acs.template.json" if (!"$AKS_VNET_NAME") { $templateFile = "acs.template.nosubnet.json" } -elseif ("$AKS_SUPPORT_WINDOWS_CONTAINERS" -eq "y") { +elseif ($AKS_SUPPORT_WINDOWS_CONTAINERS) { # https://github.com/Azure/acs-engine/issues/1767 $templateFile = "acs.template.linuxwindows.json" } -elseif ("$AKS_USE_AZURE_NETWORKING" -eq "y") { +elseif ($AKS_USE_AZURE_NETWORKING) { $templateFile = "acs.template.azurenetwork.json" } @@ -279,7 +269,7 @@ Write-Output "Generating ACS engine template" acs-engine generate $output --output-directory $acsoutputfolder -if ("$AKS_SUPPORT_WINDOWS_CONTAINERS" -eq "y") { +if ($AKS_SUPPORT_WINDOWS_CONTAINERS) { if ("$AKS_VNET_NAME") { Write-Output "Adding subnet to azuredeploy.json to work around acs-engine bug" @@ -330,7 +320,7 @@ az group deployment create ` # if joining a vnet, and not using azure networking then we have to manually set the route-table if ("$AKS_VNET_NAME") { - if ("$AKS_USE_AZURE_NETWORKING" -eq "n") { + if (!$AKS_USE_AZURE_NETWORKING) { Write-Output "Attaching route table" # https://github.com/Azure/acs-engine/blob/master/examples/vnet/k8s-vnet-postdeploy.sh $rt = az network route-table list -g "${AKS_PERS_RESOURCE_GROUP}" --query "[?name != 'temproutetable'].id" -o tsv diff --git a/kubernetes/setup-loadbalancer-old.ps1 b/kubernetes/setup-loadbalancer-old.ps1 new file mode 100644 index 0000000..bb15f4f --- /dev/null +++ b/kubernetes/setup-loadbalancer-old.ps1 @@ -0,0 +1,597 @@ +Write-output "Version 2018.03.26.01" + +# +# This script is meant for quick & easy install via: +# curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/setup-loadbalancer.ps1 | iex; + +$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" +# $GITHUB_URL = "C:\Catalyst\git\Installscripts" + +Write-Host "GITHUB_URL: $GITHUB_URL" + +$set = "abcdefghijklmnopqrstuvwxyz0123456789".ToCharArray() +$randomstring += $set | Get-Random + +Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1?f=$randomstring | Invoke-Expression; +# Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; + +Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1?f=$randomstring | Invoke-Expression; +# Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; + +$AKS_OPEN_TO_PUBLIC = "" +$AKS_USE_SSL = "" +$AKS_IP_WHITELIST = "" +$SetupNSG = $true + +$userInfo = $(GetLoggedInUserInfo) +$AKS_SUBSCRIPTION_ID = $userInfo.AKS_SUBSCRIPTION_ID +$IS_CAFE_ENVIRONMENT = $userInfo.IS_CAFE_ENVIRONMENT + +# Get resource group name from kube secrets +$AKS_PERS_RESOURCE_GROUP_BASE64 = kubectl get secret azure-secret -o jsonpath='{.data.resourcegroup}' --ignore-not-found=true +if (![string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP_BASE64)) { + $AKS_PERS_RESOURCE_GROUP = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($AKS_PERS_RESOURCE_GROUP_BASE64)) +} + +if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) { + Do { $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group (e.g., fabricnlp-rg)"} + while ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) +} +else { + Write-Output "Using resource group: $AKS_PERS_RESOURCE_GROUP" +} + +# Get location name from resource group +$AKS_PERS_LOCATION = az group show --name $AKS_PERS_RESOURCE_GROUP --query "location" -o tsv +Write-Output "Using location: [$AKS_PERS_LOCATION]" + +$customerid = ReadSecret -secretname customerid +$customerid = $customerid.ToLower().Trim() +Write-Output "Customer ID: $customerid" + +# Ask input from user +Do { + Write-Host "How do you want to control access to this cluster:" + Write-Host "1: Allow anyone to access it" + Write-Host "2: Only allow certain IP ranges to access it" + Write-Host "3: Only allow computers inside the vnet to access it" + Write-Host "-------------" + + $AKS_CLUSTER_ACCESS_TYPE = Read-Host "Enter number of option to use (1 - 3)" +} +while ([string]::IsNullOrWhiteSpace($AKS_CLUSTER_ACCESS_TYPE)) + +# read the vnet and subnet info from kubernetes secret +$AKS_VNET_NAME = ReadSecretValue -secretname azure-vnet -valueName "vnet" +$AKS_SUBNET_NAME = ReadSecretValue -secretname azure-vnet -valueName "subnet" +$AKS_SUBNET_RESOURCE_GROUP = ReadSecretValue -secretname azure-vnet -valueName "subnetResourceGroup" + +Write-Output "Found vnet info from secret: vnet: $AKS_VNET_NAME, subnet: $AKS_SUBNET_NAME, subnetResourceGroup: $AKS_SUBNET_RESOURCE_GROUP" + +if ($IS_CAFE_ENVIRONMENT) { + $AKS_ALLOW_ADMIN_ACCESS_OUTSIDE_VNET = "n" +} +else { + $AKS_ALLOW_ADMIN_ACCESS_OUTSIDE_VNET = "y" +} + +$AKS_IP_WHITELIST = "" +if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { + + $currentWhitelistIP = ReadSecretValue -secretname whitelistip -valueName iprange + + Do { + if (![string]::IsNullOrWhiteSpace($currentWhitelistIP)) { + $AKS_IP_WHITELIST = Read-Host "Enter IP range that should be able to access this cluster: ( ex: 127.0.0.1/32 192.168.1.7. separate multiple IPs by a space.) (default: $currentWhitelistIP)" + if ([string]::IsNullOrWhiteSpace($AKS_IP_WHITELIST)) { + $AKS_IP_WHITELIST = $currentWhitelistIP + } + } + else { + $AKS_IP_WHITELIST = Read-Host "Enter IP range that should be able to access this cluster: ( ex: 127.0.0.1/32 192.168.1.7. separate multiple IPs by a space.)" + } + } + while ([string]::IsNullOrWhiteSpace($AKS_IP_WHITELIST)) + + # $AKS_IP_WHITELIST_ITEMS = $AKS_IP_WHITELIST.split(" ") + + # $WHITELIST = "" + + # foreach ($cidr in $AKS_IP_WHITELIST_ITEMS) { + # if (![string]::IsNullOrWhiteSpace($WHITELIST)) { + # $WHITELIST = "${WHITELIST} " + # } + # $WHITELIST = "${WHITELIST}${cidr}" + # } + + # $AKS_IP_WHITELIST = "$WHITELIST" + Write-Output "Whitelist: $AKS_IP_WHITELIST" + + SaveSecretValue -secretname whitelistip -valueName iprange -value "${AKS_IP_WHITELIST}" +} + +$AKS_USE_WAF = "n" +# $AKS_USE_WAF = Read-Host "Do you want to use Azure Application Gateway with WAF? (y/n) (default: n)" + +# if ([string]::IsNullOrWhiteSpace($AKS_USE_WAF)) { +# $AKS_USE_WAF = "n" +# } + +if ($IS_CAFE_ENVIRONMENT) { + $AKS_USE_SSL = "y" +} +else { + $AKS_USE_SSL = "n" +} + +if ($IS_CAFE_ENVIRONMENT) { + Do { + $SETUP_DNS = Read-Host "Do you want to setup DNS entries in Azure? (y/n) (default: n)" + if ([string]::IsNullOrWhiteSpace($SETUP_DNS)) { + $SETUP_DNS = "n" + } + } + while ([string]::IsNullOrWhiteSpace($SETUP_DNS)) + + # if we need to setup DNS then ask which resourceGroup to use + if ($SETUP_DNS -eq "y") { + $DNS_RESOURCE_GROUP = Read-Host "Resource group containing DNS zones? (default: dns)" + if ([string]::IsNullOrWhiteSpace($DNS_RESOURCE_GROUP)) { + $DNS_RESOURCE_GROUP = "dns" + } + } +} + +if (($AKS_CLUSTER_ACCESS_TYPE -eq "1" ) -or ($AKS_CLUSTER_ACCESS_TYPE -eq "2")) { + $AKS_OPEN_TO_PUBLIC = "y" +} +else { + $AKS_OPEN_TO_PUBLIC = "n" +} + +Write-Output "Setting up Network Security Group for the subnet" + +# setup network security group +$AKS_PERS_NETWORK_SECURITY_GROUP = "$($AKS_PERS_RESOURCE_GROUP.ToLower())-nsg" + +if ([string]::IsNullOrWhiteSpace($(az network nsg show -g $AKS_PERS_RESOURCE_GROUP -n $AKS_PERS_NETWORK_SECURITY_GROUP))) { + + Write-Output "Creating the Network Security Group for the subnet" + az network nsg create -g $AKS_PERS_RESOURCE_GROUP -n $AKS_PERS_NETWORK_SECURITY_GROUP --query "provisioningState" +} +else { + Write-Output "Network Security Group already exists: $AKS_PERS_NETWORK_SECURITY_GROUP" +} + +if ($SetupNSG) { + Write-Output "Adding or updating rules to Network Security Group for the subnet" + $sourceTagForAdminAccess = "VirtualNetwork" + if ($AKS_ALLOW_ADMIN_ACCESS_OUTSIDE_VNET -eq "y") { + $sourceTagForAdminAccess = "Internet" + Write-Output "Enabling admin access to cluster from Internet" + } + + $sourceTagForHttpAccess = "Internet" + if (![string]::IsNullOrWhiteSpace($AKS_IP_WHITELIST)) { + $sourceTagForHttpAccess = $AKS_IP_WHITELIST + } + + DeleteNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP -rulename "HttpPort" + DeleteNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP -rulename "HttpsPort" + + SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` + -rulename "allow_kube_tls" ` + -ruledescription "allow kubectl and HTTPS access from ${sourceTagForAdminAccess}." ` + -sourceTag "${sourceTagForAdminAccess}" -port 443 -priority 100 + + SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` + -rulename "allow_http" ` + -ruledescription "allow HTTP access from ${sourceTagForAdminAccess}." ` + -sourceTag "${sourceTagForAdminAccess}" -port 80 -priority 101 + + SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` + -rulename "allow_ssh" ` + -ruledescription "allow SSH access from ${sourceTagForAdminAccess}." ` + -sourceTag "${sourceTagForAdminAccess}" -port 22 -priority 104 + + SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` + -rulename "allow_mysql" ` + -ruledescription "allow MySQL access from ${sourceTagForAdminAccess}." ` + -sourceTag "${sourceTagForAdminAccess}" -port 3306 -priority 205 + + # if we already have opened the ports for admin access then we're not allowed to add another rule for opening them + if (($sourceTagForHttpAccess -eq "Internet") -and ($sourceTagForAdminAccess -eq "Internet")) { + Write-Output "Since we already have rules open port 80 and 443 to the Internet, we do not need to create separate ones for the Internet" + } + else { + if ($AKS_OPEN_TO_PUBLIC -eq "y") { + SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` + -rulename "HttpPort" ` + -ruledescription "allow HTTP access from ${sourceTagForHttpAccess}." ` + -sourceTag "${sourceTagForHttpAccess}" -port 80 -priority 500 + + SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` + -rulename "HttpsPort" ` + -ruledescription "allow HTTPS access from ${sourceTagForHttpAccess}." ` + -sourceTag "${sourceTagForHttpAccess}" -port 443 -priority 501 + } + } + + $nsgid = az network nsg list --resource-group ${AKS_PERS_RESOURCE_GROUP} --query "[?name == '${AKS_PERS_NETWORK_SECURITY_GROUP}'].id" -o tsv + Write-Output "Found ID for ${AKS_PERS_NETWORK_SECURITY_GROUP}: $nsgid" + + Write-Output "Setting NSG into subnet" + az network vnet subnet update -n "${AKS_SUBNET_NAME}" -g "${AKS_SUBNET_RESOURCE_GROUP}" --vnet-name "${AKS_VNET_NAME}" --network-security-group "$nsgid" --query "provisioningState" -o tsv +} + +# set up WAF if requested +if ($AKS_USE_WAF -eq "y") { + $publicip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --query "ipAddress" -o tsv; + if ([string]::IsNullOrWhiteSpace($publicip)) { + az network public-ip create -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --location $AKS_PERS_LOCATION --allocation-method Static + $publicip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --query "ipAddress" -o tsv; + } + + Write-Host "Using Public IP: [$publicip]" + # get vnet and subnet name + Do { $confirmation = Read-Host "Would you like to connect the Azure WAF to an existing virtual network? (y/n)"} + while ([string]::IsNullOrWhiteSpace($confirmation)) + + if ($confirmation -eq 'y') { + Write-Output "Finding existing vnets..." + # az network vnet list --query "[].[name,resourceGroup ]" -o tsv + + $vnets = az network vnet list --query "[].[name]" -o tsv + + Do { + Write-Output "------ Existing vnets -------" + for ($i = 1; $i -le $vnets.count; $i++) { + Write-Host "$i. $($vnets[$i-1])" + } + Write-Output "------ End vnets -------" + + $index = Read-Host "Enter number of vnet to use (1 - $($vnets.count))" + $AKS_VNET_NAME = $($vnets[$index - 1]) + } + while ([string]::IsNullOrWhiteSpace($AKS_VNET_NAME)) + + if ("$AKS_VNET_NAME") { + + # Do { $AKS_SUBNET_RESOURCE_GROUP = Read-Host "Resource Group of Virtual Network"} + # while ([string]::IsNullOrWhiteSpace($AKS_SUBNET_RESOURCE_GROUP)) + + $AKS_SUBNET_RESOURCE_GROUP = az network vnet list --query "[?name == '$AKS_VNET_NAME'].resourceGroup" -o tsv + Write-Output "Using subnet resource group: [$AKS_SUBNET_RESOURCE_GROUP]" + + Write-Output "Finding existing subnets in $AKS_VNET_NAME ..." + $subnets = az network vnet subnet list --resource-group $AKS_SUBNET_RESOURCE_GROUP --vnet-name $AKS_VNET_NAME --query "[].name" -o tsv + + Do { + Write-Output "------ Subnets in $AKS_VNET_NAME -------" + for ($i = 1; $i -le $subnets.count; $i++) { + Write-Host "$i. $($subnets[$i-1])" + } + Write-Output "------ End Subnets -------" + + Write-Host "NOTE: Each customer should have their own gateway subnet. This subnet should be different than the cluster subnet" + $index = Read-Host "Enter number of subnet to use (1 - $($subnets.count))" + $AKS_SUBNET_NAME = $($subnets[$index - 1]) + } + while ([string]::IsNullOrWhiteSpace($AKS_SUBNET_NAME)) + + } + } + +} + +# delete existing containers +kubectl delete 'pods,services,configMaps,deployments,ingress' -l k8s-traefik=traefik -n kube-system --ignore-not-found=true + + +# set Google DNS servers to resolve external urls +# http://blog.kubernetes.io/2017/04/configuring-private-dns-zones-upstream-nameservers-kubernetes.html +kubectl delete -f "$GITHUB_URL/kubernetes/loadbalancer/dns/upstream.yaml" --ignore-not-found=true +Start-Sleep -Seconds 10 +kubectl create -f "$GITHUB_URL/kubernetes/loadbalancer/dns/upstream.yaml" +# to debug dns: https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#inheriting-dns-from-the-node + +kubectl delete ServiceAccount traefik-ingress-controller-serviceaccount -n kube-system --ignore-not-found=true + +if ($AKS_USE_SSL -eq "y" ) { + # if the SSL cert is not set in kube secrets then ask for the files + if ([string]::IsNullOrWhiteSpace($(kubectl get secret traefik-cert-ahmn -o jsonpath='{.data}' -n kube-system --ignore-not-found=true))) { + # ask for tls cert files + Do { $AKS_SSL_CERT_FOLDER = Read-Host "What folder has the tls.crt and tls.key files? (absolute path e.g., c:\temp\certs)"} + while ([string]::IsNullOrWhiteSpace($AKS_SSL_CERT_FOLDER) -or (!(Test-Path -Path "$AKS_SSL_CERT_FOLDER"))) + + $AKS_SSL_CERT_FOLDER_UNIX_PATH = (($AKS_SSL_CERT_FOLDER -replace "\\", "/")).ToLower().Trim("/") + + kubectl delete secret traefik-cert-ahmn -n kube-system --ignore-not-found=true + + Write-Output "Storing TLS certs as kubernetes secret" + kubectl create secret generic traefik-cert-ahmn -n kube-system --from-file="$AKS_SSL_CERT_FOLDER_UNIX_PATH/tls.crt" --from-file="$AKS_SSL_CERT_FOLDER_UNIX_PATH/tls.key" + } +} + +Write-Host "GITHUB_URL: $GITHUB_URL" + +# setting up traefik +# https://github.com/containous/traefik/blob/master/docs/user-guide/kubernetes.md + +Write-Host "Deploying configmaps" +$folder = "kubernetes/loadbalancer/configmaps" +if ($AKS_USE_SSL -eq "y" ) { + foreach ($file in "config.ssl.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - + } +} +else { + foreach ($file in "config.yaml".Split(" ")) { + Write-Host "$GITHUB_URL ${folder}/${file}" + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - + } +} + +$kubectlversion = $(kubectl version --short=true)[1] +if ($kubectlversion -match "v1.8") { + Write-Host "Since kubectlversion ($kubectlversion) is less than 1.9 no roles are needed" +} +else { + Write-Host "Deploying roles" + $folder = "kubernetes/loadbalancer/roles" + foreach ($file in "ingress-roles.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - + } +} + +Write-Host "Deploying pods" +$folder = "kubernetes/loadbalancer/pods" +if ($AKS_USE_SSL -eq "y" ) { + foreach ($file in "ingress-azure.ssl.yaml ingress-azure.internal.ssl.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - + } +} +else { + foreach ($file in "ingress-azure.yaml ingress-azure.internal.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - + } +} + +Write-Host "Deploying services" +$folder = "kubernetes/loadbalancer/services/cluster" +foreach ($file in "dashboard.yaml dashboard-internal.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - +} + +Write-Host "Deploying ingress" +$folder = "kubernetes/loadbalancer/ingress" +# foreach ($file in "default.yaml default-internal.yaml".Split(" ")) { +# ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - +# } + +if ($AKS_USE_SSL -eq "y" ) { + foreach ($file in "dashboard.ssl.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - + } +} +else { + foreach ($file in "dashboard.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - + } +} + +if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { + Write-Output "Setting up a public load balancer" + + $publicip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --query "ipAddress" -o tsv; + if ([string]::IsNullOrWhiteSpace($publicip)) { + az network public-ip create -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --location $AKS_PERS_LOCATION --allocation-method Static + $publicip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --query "ipAddress" -o tsv; + } + + Write-Host "Using Public IP: [$publicip]" + + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/external/loadbalancer.external.yaml" -customerid $customerid ` + | Foreach-Object {$_ -replace 'PUBLICIP', "$publicip"} ` + | kubectl create -f - + Write-Output "Setting up an internal load balancer" + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/external/loadbalancer.internal.open.yaml" -customerid $customerid ` + | kubectl create -f - + +} +else { + Write-Output "Setting up an external load balancer" + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/external/loadbalancer.external.restricted.yaml" -customerid $customerid ` + | kubectl create -f - + # Write-Output "Setting up an internal load balancer" + Write-Output "Setting up an internal load balancer" + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/external/loadbalancer.internal.yaml" -customerid $customerid ` + | kubectl create -f - + +} + +$loadBalancerIPResult = GetLoadBalancerIPs +$EXTERNAL_IP = $loadBalancerIPResult.ExternalIP +$INTERNAL_IP = $loadBalancerIPResult.InternalIP + +FixLoadBalancers -resourceGroup $AKS_PERS_RESOURCE_GROUP + +$dnsrecordname = "$customerid.healthcatalyst.net" + +if ($AKS_USE_WAF -eq "y") { + + # $nsgname = "IngressNSG" + # $iprangetoallow = "" + # if ([string]::IsNullOrEmpty($(az network nsg show --name "$nsgname" --resource-group "$AKS_PERS_RESOURCE_GROUP" ))) { + # az network nsg create --name "$nsgname" --resource-group "$AKS_PERS_RESOURCE_GROUP" + # } + + # if ([string]::IsNullOrEmpty($(az network nsg rule show --nsg-name "$nsgname" --name "IPFilter" --resource-group "$AKS_PERS_RESOURCE_GROUP" ))) { + # # Rule priority, between 100 (highest priority) and 4096 (lowest priority). Must be unique for each rule in the collection. + # # Space-separated list of CIDR prefixes or IP ranges. Alternatively, specify ONE of 'VirtualNetwork', 'AzureLoadBalancer', 'Internet' or '*' to match all IPs. + # az network nsg rule create --name "IPFilter" ` + # --nsg-name "$nsgname" ` + # --priority 220 ` + # --resource-group "$AKS_PERS_RESOURCE_GROUP" ` + # --description "IP Filtering" ` + # --access "Allow" ` + # --source-address-prefixes "$iprangetoallow" + # } + + # Write-Output "Creating network security group to restrict IP address" + + Write-Output "Setting up Azure Application Gateway" + + $gatewayName = "${customerid}Gateway" + + az network application-gateway show --name "$gatewayName" --resource-group "$AKS_PERS_RESOURCE_GROUP" + $gatewayipName = "${gatewayName}PublicIP" + + Write-Output "Checking if Application Gateway already exists" + if ([string]::IsNullOrEmpty($(az network application-gateway show --name "$gatewayName" --resource-group "$AKS_PERS_RESOURCE_GROUP" ))) { + + # note application gateway provides no way to specify the resourceGroup of the vnet so we HAVE to create the App Gateway in the same resourceGroup + # as the vnet and NOT in the resourceGroup of the cluster + $gatewayip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n "$gatewayipName" --query "ipAddress" -o tsv; + if ([string]::IsNullOrWhiteSpace($gatewayip)) { + az network public-ip create -g $AKS_PERS_RESOURCE_GROUP -n "$gatewayipName" --location $AKS_PERS_LOCATION --allocation-method Dynamic + + # Write-Output "Waiting for IP address to get assigned to $gatewayipName" + # Do { + # Start-Sleep -Seconds 10 + # Write-Output "." + # $gatewayip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n "$gatewayipName" --query "ipAddress" -o tsv; + # } + # while ([string]::IsNullOrWhiteSpace($gatewayip)) + } + + # Write-Host "Using Gateway IP: [$gatewayip]" + + $mysubnetid = "/subscriptions/${AKS_SUBSCRIPTION_ID}/resourceGroups/${AKS_SUBNET_RESOURCE_GROUP}/providers/Microsoft.Network/virtualNetworks/${AKS_VNET_NAME}/subnets/${AKS_SUBNET_NAME}" + + Write-Output "Using subnet id: $mysubnetid" + + Write-Output "Creating new application gateway with WAF (This can take 10-15 minutes)" + # https://docs.microsoft.com/en-us/cli/azure/network/application-gateway?view=azure-cli-latest#az_network_application_gateway_create + + az network application-gateway create ` + --sku WAF_Medium ` + --name "$gatewayName" ` + --location "$AKS_PERS_LOCATION" ` + --resource-group "$AKS_PERS_RESOURCE_GROUP" ` + --vnet-name "$AKS_VNET_NAME" ` + --subnet "$mysubnetid" ` + --public-ip-address "$gatewayipName" ` + --servers "$EXTERNAL_IP" ` + + # https://docs.microsoft.com/en-us/azure/application-gateway/application-gateway-faq + + Write-Output "Waiting for Azure Application Gateway to be created." + az network application-gateway wait ` + --name "$gatewayName" ` + --resource-group "$AKS_PERS_RESOURCE_GROUP" ` + --created + } + else { + + # # set public IP + $frontendPoolName = az network application-gateway show --name "$gatewayName" --resource-group "$AKS_SUBNET_RESOURCE_GROUP" --query "frontendIpConfigurations[0].name" -o tsv + Write-Output "Setting $gatewayipName as IP for frontend pool $frontendPoolName" + az network application-gateway frontend-ip update ` + --gateway-name "$gatewayName" ` + --resource-group "$AKS_PERS_RESOURCE_GROUP" ` + --name "$frontendPoolName" ` + --public-ip-address "$gatewayipName" + + $backendPoolName = az network application-gateway show --name "$gatewayName" --resource-group "$AKS_SUBNET_RESOURCE_GROUP" --query "backendAddressPools[0].name" -o tsv + Write-Output "Setting $EXTERNAL_IP as IP for backend pool $backendPoolName" + # set backend private IP + az network application-gateway address-pool update ` + --gateway-name "$gatewayName" ` + --resource-group "$AKS_PERS_RESOURCE_GROUP" ` + --name "$backendPoolName" ` + --servers "$EXTERNAL_IP" + + az network application-gateway wait ` + --name "$gatewayName" ` + --resource-group "$AKS_PERS_RESOURCE_GROUP" ` + --updated + } + + if ($(az network application-gateway waf-config show --gateway-name "$gatewayName" --resource-group "$AKS_PERS_RESOURCE_GROUP" --query "firewallMode" -o tsv) -eq "Prevention") { + } + else { + Write-Output "Enabling Prevention mode of firewall" + az network application-gateway waf-config set ` + --enabled true ` + --firewall-mode Prevention ` + --gateway-name "$gatewayName" ` + --resource-group "$AKS_PERS_RESOURCE_GROUP" ` + --rule-set-type "OWASP" ` + --rule-set-version "3.0" + } + + # if ([string]::IsNullOrEmpty($(az network application-gateway probe show --gateway-name "$gatewayName" --name "MyCustomProbe" --resource-group "$AKS_SUBNET_RESOURCE_GROUP"))) { + # # create a custom probe + # az network application-gateway probe create --gateway-name "$gatewayName" ` + # --resource-group "$AKS_SUBNET_RESOURCE_GROUP" ` + # --name "MyCustomProbe" ` + # --path "/" ` + # --protocol "Http" ` + # --host "dashboard.${dnsrecordname}" + + # # associate custom probe with HttpSettings: appGatewayBackendHttpSettings + # az network application-gateway http-settings update --gateway-name "$gatewayName" ` + # --name "appGatewayBackendHttpSettings" ` + # --resource-group "$AKS_SUBNET_RESOURCE_GROUP" ` + # --probe "MyCustomProbe" ` + # --enable-probe true ` + # --host-name "dashboard.${dnsrecordname}" + # } + + + Write-Output "Checking for health of backend pool" + az network application-gateway show-backend-health ` + --name "$gatewayName" ` + --resource-group "$AKS_PERS_RESOURCE_GROUP" ` + --query "backendAddressPools[0].backendHttpSettingsCollection[0].servers[0].health" + + # set EXTERNAL_IP to be the IP of the Application Gateway + $EXTERNAL_IP = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n "$gatewayipName" --query "ipAddress" -o tsv; +} + +if ($SETUP_DNS -eq "y") { + SetupDNS -dnsResourceGroup $DNS_RESOURCE_GROUP -dnsrecordname $dnsrecordname -externalIP $EXTERNAL_IP +} +else { + Write-Output "To access the urls from your browser, add the following entries in your c:\windows\system32\drivers\etc\hosts file" + Write-Output "$EXTERNAL_IP dashboard.$dnsrecordname" +} + +Write-Output "External IP: $EXTERNAL_IP" +if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { + Write-Output "Internal IP: $INTERNAL_IP" +} + +if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { + # Write-Output "Testing internal load balancer" + # Invoke-WebRequest -useb -Headers @{"Host" = "dashboard.$dnsrecordname"} -Uri http://$INTERNAL_IP/ | Select-Object -Expand Content + + Write-Output "To test out the load balancer since the vnet, open Git Bash and run:" + Write-Output "curl -L --verbose --header 'Host: dashboard.$dnsrecordname' 'http://$INTERNAL_IP/' -k" + + Write-Output "To test out the load balancer from one of the whitelist IPs, open Git Bash and run:" + Write-Output "curl -L --verbose --header 'Host: dashboard.$dnsrecordname' 'http://$EXTERNAL_IP/' -k" +} +else { + # Write-Output "Testing load balancer" + # Invoke-WebRequest -useb -Headers @{"Host" = "dashboard.$dnsrecordname"} -Uri http://$EXTERNAL_IP/ | Select-Object -Expand Content + + Write-Output "To test out the load balancer, open Git Bash and run:" + Write-Output "curl -L --verbose --header 'Host: dashboard.$dnsrecordname' 'http://$EXTERNAL_IP/' -k" +} + + + + + diff --git a/kubernetes/setup-loadbalancer.ps1 b/kubernetes/setup-loadbalancer.ps1 index bb15f4f..223daea 100644 --- a/kubernetes/setup-loadbalancer.ps1 +++ b/kubernetes/setup-loadbalancer.ps1 @@ -1,4 +1,4 @@ -Write-output "Version 2018.03.26.01" +Write-output "Version 2018.03.27.01" # # This script is meant for quick & easy install via: @@ -18,137 +18,43 @@ Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1?f=$randomstring Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1?f=$randomstring | Invoke-Expression; # Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; -$AKS_OPEN_TO_PUBLIC = "" -$AKS_USE_SSL = "" +$config = $(ReadConfigFile).Config +Write-Host $config + $AKS_IP_WHITELIST = "" -$SetupNSG = $true $userInfo = $(GetLoggedInUserInfo) -$AKS_SUBSCRIPTION_ID = $userInfo.AKS_SUBSCRIPTION_ID -$IS_CAFE_ENVIRONMENT = $userInfo.IS_CAFE_ENVIRONMENT +# $AKS_SUBSCRIPTION_ID = $userInfo.AKS_SUBSCRIPTION_ID +# $IS_CAFE_ENVIRONMENT = $userInfo.IS_CAFE_ENVIRONMENT -# Get resource group name from kube secrets -$AKS_PERS_RESOURCE_GROUP_BASE64 = kubectl get secret azure-secret -o jsonpath='{.data.resourcegroup}' --ignore-not-found=true -if (![string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP_BASE64)) { - $AKS_PERS_RESOURCE_GROUP = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($AKS_PERS_RESOURCE_GROUP_BASE64)) -} - -if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) { - Do { $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group (e.g., fabricnlp-rg)"} - while ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) -} -else { - Write-Output "Using resource group: $AKS_PERS_RESOURCE_GROUP" -} +$AKS_PERS_RESOURCE_GROUP = $config.azure.resourceGroup +$AKS_PERS_LOCATION = $config.azure.location # Get location name from resource group $AKS_PERS_LOCATION = az group show --name $AKS_PERS_RESOURCE_GROUP --query "location" -o tsv Write-Output "Using location: [$AKS_PERS_LOCATION]" -$customerid = ReadSecret -secretname customerid +$customerid = $config.customerid $customerid = $customerid.ToLower().Trim() Write-Output "Customer ID: $customerid" -# Ask input from user -Do { - Write-Host "How do you want to control access to this cluster:" - Write-Host "1: Allow anyone to access it" - Write-Host "2: Only allow certain IP ranges to access it" - Write-Host "3: Only allow computers inside the vnet to access it" - Write-Host "-------------" - - $AKS_CLUSTER_ACCESS_TYPE = Read-Host "Enter number of option to use (1 - 3)" -} -while ([string]::IsNullOrWhiteSpace($AKS_CLUSTER_ACCESS_TYPE)) +$ingressExternal = $config.ingress.external +$ingressInternal = $config.ingress.internal +$AKS_IP_WHITELIST = $config.ingress.external_ip_whitelist # read the vnet and subnet info from kubernetes secret -$AKS_VNET_NAME = ReadSecretValue -secretname azure-vnet -valueName "vnet" -$AKS_SUBNET_NAME = ReadSecretValue -secretname azure-vnet -valueName "subnet" -$AKS_SUBNET_RESOURCE_GROUP = ReadSecretValue -secretname azure-vnet -valueName "subnetResourceGroup" +$AKS_VNET_NAME = $config.networking.vnet +$AKS_SUBNET_NAME = $config.networking.subnet +$AKS_SUBNET_RESOURCE_GROUP = $config.networking.subnet_resource_group Write-Output "Found vnet info from secret: vnet: $AKS_VNET_NAME, subnet: $AKS_SUBNET_NAME, subnetResourceGroup: $AKS_SUBNET_RESOURCE_GROUP" -if ($IS_CAFE_ENVIRONMENT) { - $AKS_ALLOW_ADMIN_ACCESS_OUTSIDE_VNET = "n" -} -else { - $AKS_ALLOW_ADMIN_ACCESS_OUTSIDE_VNET = "y" -} - -$AKS_IP_WHITELIST = "" -if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { - - $currentWhitelistIP = ReadSecretValue -secretname whitelistip -valueName iprange - - Do { - if (![string]::IsNullOrWhiteSpace($currentWhitelistIP)) { - $AKS_IP_WHITELIST = Read-Host "Enter IP range that should be able to access this cluster: ( ex: 127.0.0.1/32 192.168.1.7. separate multiple IPs by a space.) (default: $currentWhitelistIP)" - if ([string]::IsNullOrWhiteSpace($AKS_IP_WHITELIST)) { - $AKS_IP_WHITELIST = $currentWhitelistIP - } - } - else { - $AKS_IP_WHITELIST = Read-Host "Enter IP range that should be able to access this cluster: ( ex: 127.0.0.1/32 192.168.1.7. separate multiple IPs by a space.)" - } - } - while ([string]::IsNullOrWhiteSpace($AKS_IP_WHITELIST)) - - # $AKS_IP_WHITELIST_ITEMS = $AKS_IP_WHITELIST.split(" ") - - # $WHITELIST = "" - - # foreach ($cidr in $AKS_IP_WHITELIST_ITEMS) { - # if (![string]::IsNullOrWhiteSpace($WHITELIST)) { - # $WHITELIST = "${WHITELIST} " - # } - # $WHITELIST = "${WHITELIST}${cidr}" - # } - - # $AKS_IP_WHITELIST = "$WHITELIST" +if ($ingressExternal -eq "whitelist") { Write-Output "Whitelist: $AKS_IP_WHITELIST" SaveSecretValue -secretname whitelistip -valueName iprange -value "${AKS_IP_WHITELIST}" } -$AKS_USE_WAF = "n" -# $AKS_USE_WAF = Read-Host "Do you want to use Azure Application Gateway with WAF? (y/n) (default: n)" - -# if ([string]::IsNullOrWhiteSpace($AKS_USE_WAF)) { -# $AKS_USE_WAF = "n" -# } - -if ($IS_CAFE_ENVIRONMENT) { - $AKS_USE_SSL = "y" -} -else { - $AKS_USE_SSL = "n" -} - -if ($IS_CAFE_ENVIRONMENT) { - Do { - $SETUP_DNS = Read-Host "Do you want to setup DNS entries in Azure? (y/n) (default: n)" - if ([string]::IsNullOrWhiteSpace($SETUP_DNS)) { - $SETUP_DNS = "n" - } - } - while ([string]::IsNullOrWhiteSpace($SETUP_DNS)) - - # if we need to setup DNS then ask which resourceGroup to use - if ($SETUP_DNS -eq "y") { - $DNS_RESOURCE_GROUP = Read-Host "Resource group containing DNS zones? (default: dns)" - if ([string]::IsNullOrWhiteSpace($DNS_RESOURCE_GROUP)) { - $DNS_RESOURCE_GROUP = "dns" - } - } -} - -if (($AKS_CLUSTER_ACCESS_TYPE -eq "1" ) -or ($AKS_CLUSTER_ACCESS_TYPE -eq "2")) { - $AKS_OPEN_TO_PUBLIC = "y" -} -else { - $AKS_OPEN_TO_PUBLIC = "n" -} - Write-Output "Setting up Network Security Group for the subnet" # setup network security group @@ -163,10 +69,10 @@ else { Write-Output "Network Security Group already exists: $AKS_PERS_NETWORK_SECURITY_GROUP" } -if ($SetupNSG) { +if ($($config.network_security_group.create_nsg_rules)) { Write-Output "Adding or updating rules to Network Security Group for the subnet" $sourceTagForAdminAccess = "VirtualNetwork" - if ($AKS_ALLOW_ADMIN_ACCESS_OUTSIDE_VNET -eq "y") { + if($($config.allow_kubectl_from_outside_vnet)){ $sourceTagForAdminAccess = "Internet" Write-Output "Enabling admin access to cluster from Internet" } @@ -204,7 +110,7 @@ if ($SetupNSG) { Write-Output "Since we already have rules open port 80 and 443 to the Internet, we do not need to create separate ones for the Internet" } else { - if ($AKS_OPEN_TO_PUBLIC -eq "y") { + if($($config.ingress.external) -ne "vnetonly"){ SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` -rulename "HttpPort" ` -ruledescription "allow HTTP access from ${sourceTagForHttpAccess}." ` @@ -224,66 +130,6 @@ if ($SetupNSG) { az network vnet subnet update -n "${AKS_SUBNET_NAME}" -g "${AKS_SUBNET_RESOURCE_GROUP}" --vnet-name "${AKS_VNET_NAME}" --network-security-group "$nsgid" --query "provisioningState" -o tsv } -# set up WAF if requested -if ($AKS_USE_WAF -eq "y") { - $publicip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --query "ipAddress" -o tsv; - if ([string]::IsNullOrWhiteSpace($publicip)) { - az network public-ip create -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --location $AKS_PERS_LOCATION --allocation-method Static - $publicip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --query "ipAddress" -o tsv; - } - - Write-Host "Using Public IP: [$publicip]" - # get vnet and subnet name - Do { $confirmation = Read-Host "Would you like to connect the Azure WAF to an existing virtual network? (y/n)"} - while ([string]::IsNullOrWhiteSpace($confirmation)) - - if ($confirmation -eq 'y') { - Write-Output "Finding existing vnets..." - # az network vnet list --query "[].[name,resourceGroup ]" -o tsv - - $vnets = az network vnet list --query "[].[name]" -o tsv - - Do { - Write-Output "------ Existing vnets -------" - for ($i = 1; $i -le $vnets.count; $i++) { - Write-Host "$i. $($vnets[$i-1])" - } - Write-Output "------ End vnets -------" - - $index = Read-Host "Enter number of vnet to use (1 - $($vnets.count))" - $AKS_VNET_NAME = $($vnets[$index - 1]) - } - while ([string]::IsNullOrWhiteSpace($AKS_VNET_NAME)) - - if ("$AKS_VNET_NAME") { - - # Do { $AKS_SUBNET_RESOURCE_GROUP = Read-Host "Resource Group of Virtual Network"} - # while ([string]::IsNullOrWhiteSpace($AKS_SUBNET_RESOURCE_GROUP)) - - $AKS_SUBNET_RESOURCE_GROUP = az network vnet list --query "[?name == '$AKS_VNET_NAME'].resourceGroup" -o tsv - Write-Output "Using subnet resource group: [$AKS_SUBNET_RESOURCE_GROUP]" - - Write-Output "Finding existing subnets in $AKS_VNET_NAME ..." - $subnets = az network vnet subnet list --resource-group $AKS_SUBNET_RESOURCE_GROUP --vnet-name $AKS_VNET_NAME --query "[].name" -o tsv - - Do { - Write-Output "------ Subnets in $AKS_VNET_NAME -------" - for ($i = 1; $i -le $subnets.count; $i++) { - Write-Host "$i. $($subnets[$i-1])" - } - Write-Output "------ End Subnets -------" - - Write-Host "NOTE: Each customer should have their own gateway subnet. This subnet should be different than the cluster subnet" - $index = Read-Host "Enter number of subnet to use (1 - $($subnets.count))" - $AKS_SUBNET_NAME = $($subnets[$index - 1]) - } - while ([string]::IsNullOrWhiteSpace($AKS_SUBNET_NAME)) - - } - } - -} - # delete existing containers kubectl delete 'pods,services,configMaps,deployments,ingress' -l k8s-traefik=traefik -n kube-system --ignore-not-found=true @@ -297,7 +143,7 @@ kubectl create -f "$GITHUB_URL/kubernetes/loadbalancer/dns/upstream.yaml" kubectl delete ServiceAccount traefik-ingress-controller-serviceaccount -n kube-system --ignore-not-found=true -if ($AKS_USE_SSL -eq "y" ) { +if ($($config.ssl) ) { # if the SSL cert is not set in kube secrets then ask for the files if ([string]::IsNullOrWhiteSpace($(kubectl get secret traefik-cert-ahmn -o jsonpath='{.data}' -n kube-system --ignore-not-found=true))) { # ask for tls cert files @@ -320,16 +166,13 @@ Write-Host "GITHUB_URL: $GITHUB_URL" Write-Host "Deploying configmaps" $folder = "kubernetes/loadbalancer/configmaps" -if ($AKS_USE_SSL -eq "y" ) { - foreach ($file in "config.ssl.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - - } +if ($($config.ssl)) { + $files = "config.ssl.yaml" + DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid } else { - foreach ($file in "config.yaml".Split(" ")) { - Write-Host "$GITHUB_URL ${folder}/${file}" - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - - } + $files = "config.yaml" + DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid } $kubectlversion = $(kubectl version --short=true)[1] @@ -339,48 +182,48 @@ if ($kubectlversion -match "v1.8") { else { Write-Host "Deploying roles" $folder = "kubernetes/loadbalancer/roles" - foreach ($file in "ingress-roles.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - - } + $files = "ingress-roles.yaml" + DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid } Write-Host "Deploying pods" $folder = "kubernetes/loadbalancer/pods" -if ($AKS_USE_SSL -eq "y" ) { - foreach ($file in "ingress-azure.ssl.yaml ingress-azure.internal.ssl.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - - } + +if ($($config.ingress.internal) -eq "public" ) { + $files = "ingress-azure.both.yaml" + DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid } else { - foreach ($file in "ingress-azure.yaml ingress-azure.internal.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - + if ($($config.ssl) ) { + $files = "ingress-azure.ssl.yaml ingress-azure.internal.ssl.yaml" + DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid } + else { + $files = "ingress-azure.yaml ingress-azure.internal.yaml" + DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid + } } Write-Host "Deploying services" $folder = "kubernetes/loadbalancer/services/cluster" -foreach ($file in "dashboard.yaml dashboard-internal.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - -} +$files = "dashboard.yaml dashboard-internal.yaml" +DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid Write-Host "Deploying ingress" $folder = "kubernetes/loadbalancer/ingress" -# foreach ($file in "default.yaml default-internal.yaml".Split(" ")) { -# ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - -# } -if ($AKS_USE_SSL -eq "y" ) { - foreach ($file in "dashboard.ssl.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - - } +if ($($config.ssl) ) { + $files = "dashboard.ssl.yaml" + DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid } else { - foreach ($file in "dashboard.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - - } + $files = "dashboard.yaml" + DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid } -if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { +$folder = "kubernetes/loadbalancer/services/external" + +if ("$($config.ingress.external)" -ne "vnetonly") { Write-Output "Setting up a public load balancer" $publicip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --query "ipAddress" -o tsv; @@ -391,23 +234,26 @@ if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { Write-Host "Using Public IP: [$publicip]" - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/external/loadbalancer.external.yaml" -customerid $customerid ` - | Foreach-Object {$_ -replace 'PUBLICIP', "$publicip"} ` - | kubectl create -f - - Write-Output "Setting up an internal load balancer" - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/external/loadbalancer.internal.open.yaml" -customerid $customerid ` - | kubectl create -f - - + Write-Output "Setting up external load balancer" + $files = "loadbalancer.external.yaml" + DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid -public_ip $publicip } else { Write-Output "Setting up an external load balancer" - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/external/loadbalancer.external.restricted.yaml" -customerid $customerid ` - | kubectl create -f - - # Write-Output "Setting up an internal load balancer" + $files = "loadbalancer.external.restricted.yaml" + DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid -public_ip $publicip +} + +if ($($config.ingress.internal) -ne "public" ) { Write-Output "Setting up an internal load balancer" - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/external/loadbalancer.internal.yaml" -customerid $customerid ` - | kubectl create -f - + if ("$($config.ingress.internal)" -eq "public") { + $files = "loadbalancer.internal.open.yaml" + } + else { + $files = "loadbalancer.internal.yaml" + } + DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid -public_ip $publicip } $loadBalancerIPResult = GetLoadBalancerIPs @@ -418,149 +264,7 @@ FixLoadBalancers -resourceGroup $AKS_PERS_RESOURCE_GROUP $dnsrecordname = "$customerid.healthcatalyst.net" -if ($AKS_USE_WAF -eq "y") { - - # $nsgname = "IngressNSG" - # $iprangetoallow = "" - # if ([string]::IsNullOrEmpty($(az network nsg show --name "$nsgname" --resource-group "$AKS_PERS_RESOURCE_GROUP" ))) { - # az network nsg create --name "$nsgname" --resource-group "$AKS_PERS_RESOURCE_GROUP" - # } - - # if ([string]::IsNullOrEmpty($(az network nsg rule show --nsg-name "$nsgname" --name "IPFilter" --resource-group "$AKS_PERS_RESOURCE_GROUP" ))) { - # # Rule priority, between 100 (highest priority) and 4096 (lowest priority). Must be unique for each rule in the collection. - # # Space-separated list of CIDR prefixes or IP ranges. Alternatively, specify ONE of 'VirtualNetwork', 'AzureLoadBalancer', 'Internet' or '*' to match all IPs. - # az network nsg rule create --name "IPFilter" ` - # --nsg-name "$nsgname" ` - # --priority 220 ` - # --resource-group "$AKS_PERS_RESOURCE_GROUP" ` - # --description "IP Filtering" ` - # --access "Allow" ` - # --source-address-prefixes "$iprangetoallow" - # } - - # Write-Output "Creating network security group to restrict IP address" - - Write-Output "Setting up Azure Application Gateway" - - $gatewayName = "${customerid}Gateway" - - az network application-gateway show --name "$gatewayName" --resource-group "$AKS_PERS_RESOURCE_GROUP" - $gatewayipName = "${gatewayName}PublicIP" - - Write-Output "Checking if Application Gateway already exists" - if ([string]::IsNullOrEmpty($(az network application-gateway show --name "$gatewayName" --resource-group "$AKS_PERS_RESOURCE_GROUP" ))) { - - # note application gateway provides no way to specify the resourceGroup of the vnet so we HAVE to create the App Gateway in the same resourceGroup - # as the vnet and NOT in the resourceGroup of the cluster - $gatewayip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n "$gatewayipName" --query "ipAddress" -o tsv; - if ([string]::IsNullOrWhiteSpace($gatewayip)) { - az network public-ip create -g $AKS_PERS_RESOURCE_GROUP -n "$gatewayipName" --location $AKS_PERS_LOCATION --allocation-method Dynamic - - # Write-Output "Waiting for IP address to get assigned to $gatewayipName" - # Do { - # Start-Sleep -Seconds 10 - # Write-Output "." - # $gatewayip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n "$gatewayipName" --query "ipAddress" -o tsv; - # } - # while ([string]::IsNullOrWhiteSpace($gatewayip)) - } - - # Write-Host "Using Gateway IP: [$gatewayip]" - - $mysubnetid = "/subscriptions/${AKS_SUBSCRIPTION_ID}/resourceGroups/${AKS_SUBNET_RESOURCE_GROUP}/providers/Microsoft.Network/virtualNetworks/${AKS_VNET_NAME}/subnets/${AKS_SUBNET_NAME}" - - Write-Output "Using subnet id: $mysubnetid" - - Write-Output "Creating new application gateway with WAF (This can take 10-15 minutes)" - # https://docs.microsoft.com/en-us/cli/azure/network/application-gateway?view=azure-cli-latest#az_network_application_gateway_create - - az network application-gateway create ` - --sku WAF_Medium ` - --name "$gatewayName" ` - --location "$AKS_PERS_LOCATION" ` - --resource-group "$AKS_PERS_RESOURCE_GROUP" ` - --vnet-name "$AKS_VNET_NAME" ` - --subnet "$mysubnetid" ` - --public-ip-address "$gatewayipName" ` - --servers "$EXTERNAL_IP" ` - - # https://docs.microsoft.com/en-us/azure/application-gateway/application-gateway-faq - - Write-Output "Waiting for Azure Application Gateway to be created." - az network application-gateway wait ` - --name "$gatewayName" ` - --resource-group "$AKS_PERS_RESOURCE_GROUP" ` - --created - } - else { - - # # set public IP - $frontendPoolName = az network application-gateway show --name "$gatewayName" --resource-group "$AKS_SUBNET_RESOURCE_GROUP" --query "frontendIpConfigurations[0].name" -o tsv - Write-Output "Setting $gatewayipName as IP for frontend pool $frontendPoolName" - az network application-gateway frontend-ip update ` - --gateway-name "$gatewayName" ` - --resource-group "$AKS_PERS_RESOURCE_GROUP" ` - --name "$frontendPoolName" ` - --public-ip-address "$gatewayipName" - - $backendPoolName = az network application-gateway show --name "$gatewayName" --resource-group "$AKS_SUBNET_RESOURCE_GROUP" --query "backendAddressPools[0].name" -o tsv - Write-Output "Setting $EXTERNAL_IP as IP for backend pool $backendPoolName" - # set backend private IP - az network application-gateway address-pool update ` - --gateway-name "$gatewayName" ` - --resource-group "$AKS_PERS_RESOURCE_GROUP" ` - --name "$backendPoolName" ` - --servers "$EXTERNAL_IP" - - az network application-gateway wait ` - --name "$gatewayName" ` - --resource-group "$AKS_PERS_RESOURCE_GROUP" ` - --updated - } - - if ($(az network application-gateway waf-config show --gateway-name "$gatewayName" --resource-group "$AKS_PERS_RESOURCE_GROUP" --query "firewallMode" -o tsv) -eq "Prevention") { - } - else { - Write-Output "Enabling Prevention mode of firewall" - az network application-gateway waf-config set ` - --enabled true ` - --firewall-mode Prevention ` - --gateway-name "$gatewayName" ` - --resource-group "$AKS_PERS_RESOURCE_GROUP" ` - --rule-set-type "OWASP" ` - --rule-set-version "3.0" - } - - # if ([string]::IsNullOrEmpty($(az network application-gateway probe show --gateway-name "$gatewayName" --name "MyCustomProbe" --resource-group "$AKS_SUBNET_RESOURCE_GROUP"))) { - # # create a custom probe - # az network application-gateway probe create --gateway-name "$gatewayName" ` - # --resource-group "$AKS_SUBNET_RESOURCE_GROUP" ` - # --name "MyCustomProbe" ` - # --path "/" ` - # --protocol "Http" ` - # --host "dashboard.${dnsrecordname}" - - # # associate custom probe with HttpSettings: appGatewayBackendHttpSettings - # az network application-gateway http-settings update --gateway-name "$gatewayName" ` - # --name "appGatewayBackendHttpSettings" ` - # --resource-group "$AKS_SUBNET_RESOURCE_GROUP" ` - # --probe "MyCustomProbe" ` - # --enable-probe true ` - # --host-name "dashboard.${dnsrecordname}" - # } - - - Write-Output "Checking for health of backend pool" - az network application-gateway show-backend-health ` - --name "$gatewayName" ` - --resource-group "$AKS_PERS_RESOURCE_GROUP" ` - --query "backendAddressPools[0].backendHttpSettingsCollection[0].servers[0].health" - - # set EXTERNAL_IP to be the IP of the Application Gateway - $EXTERNAL_IP = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n "$gatewayipName" --query "ipAddress" -o tsv; -} - -if ($SETUP_DNS -eq "y") { +if ($($config.dns.create_dns_entries)) { SetupDNS -dnsResourceGroup $DNS_RESOURCE_GROUP -dnsrecordname $dnsrecordname -externalIP $EXTERNAL_IP } else { @@ -568,30 +272,4 @@ else { Write-Output "$EXTERNAL_IP dashboard.$dnsrecordname" } -Write-Output "External IP: $EXTERNAL_IP" -if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { - Write-Output "Internal IP: $INTERNAL_IP" -} - -if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { - # Write-Output "Testing internal load balancer" - # Invoke-WebRequest -useb -Headers @{"Host" = "dashboard.$dnsrecordname"} -Uri http://$INTERNAL_IP/ | Select-Object -Expand Content - - Write-Output "To test out the load balancer since the vnet, open Git Bash and run:" - Write-Output "curl -L --verbose --header 'Host: dashboard.$dnsrecordname' 'http://$INTERNAL_IP/' -k" - - Write-Output "To test out the load balancer from one of the whitelist IPs, open Git Bash and run:" - Write-Output "curl -L --verbose --header 'Host: dashboard.$dnsrecordname' 'http://$EXTERNAL_IP/' -k" -} -else { - # Write-Output "Testing load balancer" - # Invoke-WebRequest -useb -Headers @{"Host" = "dashboard.$dnsrecordname"} -Uri http://$EXTERNAL_IP/ | Select-Object -Expand Content - - Write-Output "To test out the load balancer, open Git Bash and run:" - Write-Output "curl -L --verbose --header 'Host: dashboard.$dnsrecordname' 'http://$EXTERNAL_IP/' -k" -} - - - - diff --git a/kubernetes/setup-loadbalancer2.ps1 b/kubernetes/setup-loadbalancer2.ps1 deleted file mode 100644 index 223daea..0000000 --- a/kubernetes/setup-loadbalancer2.ps1 +++ /dev/null @@ -1,275 +0,0 @@ -Write-output "Version 2018.03.27.01" - -# -# This script is meant for quick & easy install via: -# curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/setup-loadbalancer.ps1 | iex; - -$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -# $GITHUB_URL = "C:\Catalyst\git\Installscripts" - -Write-Host "GITHUB_URL: $GITHUB_URL" - -$set = "abcdefghijklmnopqrstuvwxyz0123456789".ToCharArray() -$randomstring += $set | Get-Random - -Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1?f=$randomstring | Invoke-Expression; -# Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; - -Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1?f=$randomstring | Invoke-Expression; -# Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; - -$config = $(ReadConfigFile).Config -Write-Host $config - -$AKS_IP_WHITELIST = "" - -$userInfo = $(GetLoggedInUserInfo) -# $AKS_SUBSCRIPTION_ID = $userInfo.AKS_SUBSCRIPTION_ID -# $IS_CAFE_ENVIRONMENT = $userInfo.IS_CAFE_ENVIRONMENT - -$AKS_PERS_RESOURCE_GROUP = $config.azure.resourceGroup -$AKS_PERS_LOCATION = $config.azure.location - -# Get location name from resource group -$AKS_PERS_LOCATION = az group show --name $AKS_PERS_RESOURCE_GROUP --query "location" -o tsv -Write-Output "Using location: [$AKS_PERS_LOCATION]" - -$customerid = $config.customerid -$customerid = $customerid.ToLower().Trim() -Write-Output "Customer ID: $customerid" - -$ingressExternal = $config.ingress.external -$ingressInternal = $config.ingress.internal -$AKS_IP_WHITELIST = $config.ingress.external_ip_whitelist - -# read the vnet and subnet info from kubernetes secret -$AKS_VNET_NAME = $config.networking.vnet -$AKS_SUBNET_NAME = $config.networking.subnet -$AKS_SUBNET_RESOURCE_GROUP = $config.networking.subnet_resource_group - -Write-Output "Found vnet info from secret: vnet: $AKS_VNET_NAME, subnet: $AKS_SUBNET_NAME, subnetResourceGroup: $AKS_SUBNET_RESOURCE_GROUP" - -if ($ingressExternal -eq "whitelist") { - Write-Output "Whitelist: $AKS_IP_WHITELIST" - - SaveSecretValue -secretname whitelistip -valueName iprange -value "${AKS_IP_WHITELIST}" -} - -Write-Output "Setting up Network Security Group for the subnet" - -# setup network security group -$AKS_PERS_NETWORK_SECURITY_GROUP = "$($AKS_PERS_RESOURCE_GROUP.ToLower())-nsg" - -if ([string]::IsNullOrWhiteSpace($(az network nsg show -g $AKS_PERS_RESOURCE_GROUP -n $AKS_PERS_NETWORK_SECURITY_GROUP))) { - - Write-Output "Creating the Network Security Group for the subnet" - az network nsg create -g $AKS_PERS_RESOURCE_GROUP -n $AKS_PERS_NETWORK_SECURITY_GROUP --query "provisioningState" -} -else { - Write-Output "Network Security Group already exists: $AKS_PERS_NETWORK_SECURITY_GROUP" -} - -if ($($config.network_security_group.create_nsg_rules)) { - Write-Output "Adding or updating rules to Network Security Group for the subnet" - $sourceTagForAdminAccess = "VirtualNetwork" - if($($config.allow_kubectl_from_outside_vnet)){ - $sourceTagForAdminAccess = "Internet" - Write-Output "Enabling admin access to cluster from Internet" - } - - $sourceTagForHttpAccess = "Internet" - if (![string]::IsNullOrWhiteSpace($AKS_IP_WHITELIST)) { - $sourceTagForHttpAccess = $AKS_IP_WHITELIST - } - - DeleteNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP -rulename "HttpPort" - DeleteNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP -rulename "HttpsPort" - - SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` - -rulename "allow_kube_tls" ` - -ruledescription "allow kubectl and HTTPS access from ${sourceTagForAdminAccess}." ` - -sourceTag "${sourceTagForAdminAccess}" -port 443 -priority 100 - - SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` - -rulename "allow_http" ` - -ruledescription "allow HTTP access from ${sourceTagForAdminAccess}." ` - -sourceTag "${sourceTagForAdminAccess}" -port 80 -priority 101 - - SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` - -rulename "allow_ssh" ` - -ruledescription "allow SSH access from ${sourceTagForAdminAccess}." ` - -sourceTag "${sourceTagForAdminAccess}" -port 22 -priority 104 - - SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` - -rulename "allow_mysql" ` - -ruledescription "allow MySQL access from ${sourceTagForAdminAccess}." ` - -sourceTag "${sourceTagForAdminAccess}" -port 3306 -priority 205 - - # if we already have opened the ports for admin access then we're not allowed to add another rule for opening them - if (($sourceTagForHttpAccess -eq "Internet") -and ($sourceTagForAdminAccess -eq "Internet")) { - Write-Output "Since we already have rules open port 80 and 443 to the Internet, we do not need to create separate ones for the Internet" - } - else { - if($($config.ingress.external) -ne "vnetonly"){ - SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` - -rulename "HttpPort" ` - -ruledescription "allow HTTP access from ${sourceTagForHttpAccess}." ` - -sourceTag "${sourceTagForHttpAccess}" -port 80 -priority 500 - - SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` - -rulename "HttpsPort" ` - -ruledescription "allow HTTPS access from ${sourceTagForHttpAccess}." ` - -sourceTag "${sourceTagForHttpAccess}" -port 443 -priority 501 - } - } - - $nsgid = az network nsg list --resource-group ${AKS_PERS_RESOURCE_GROUP} --query "[?name == '${AKS_PERS_NETWORK_SECURITY_GROUP}'].id" -o tsv - Write-Output "Found ID for ${AKS_PERS_NETWORK_SECURITY_GROUP}: $nsgid" - - Write-Output "Setting NSG into subnet" - az network vnet subnet update -n "${AKS_SUBNET_NAME}" -g "${AKS_SUBNET_RESOURCE_GROUP}" --vnet-name "${AKS_VNET_NAME}" --network-security-group "$nsgid" --query "provisioningState" -o tsv -} - -# delete existing containers -kubectl delete 'pods,services,configMaps,deployments,ingress' -l k8s-traefik=traefik -n kube-system --ignore-not-found=true - - -# set Google DNS servers to resolve external urls -# http://blog.kubernetes.io/2017/04/configuring-private-dns-zones-upstream-nameservers-kubernetes.html -kubectl delete -f "$GITHUB_URL/kubernetes/loadbalancer/dns/upstream.yaml" --ignore-not-found=true -Start-Sleep -Seconds 10 -kubectl create -f "$GITHUB_URL/kubernetes/loadbalancer/dns/upstream.yaml" -# to debug dns: https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#inheriting-dns-from-the-node - -kubectl delete ServiceAccount traefik-ingress-controller-serviceaccount -n kube-system --ignore-not-found=true - -if ($($config.ssl) ) { - # if the SSL cert is not set in kube secrets then ask for the files - if ([string]::IsNullOrWhiteSpace($(kubectl get secret traefik-cert-ahmn -o jsonpath='{.data}' -n kube-system --ignore-not-found=true))) { - # ask for tls cert files - Do { $AKS_SSL_CERT_FOLDER = Read-Host "What folder has the tls.crt and tls.key files? (absolute path e.g., c:\temp\certs)"} - while ([string]::IsNullOrWhiteSpace($AKS_SSL_CERT_FOLDER) -or (!(Test-Path -Path "$AKS_SSL_CERT_FOLDER"))) - - $AKS_SSL_CERT_FOLDER_UNIX_PATH = (($AKS_SSL_CERT_FOLDER -replace "\\", "/")).ToLower().Trim("/") - - kubectl delete secret traefik-cert-ahmn -n kube-system --ignore-not-found=true - - Write-Output "Storing TLS certs as kubernetes secret" - kubectl create secret generic traefik-cert-ahmn -n kube-system --from-file="$AKS_SSL_CERT_FOLDER_UNIX_PATH/tls.crt" --from-file="$AKS_SSL_CERT_FOLDER_UNIX_PATH/tls.key" - } -} - -Write-Host "GITHUB_URL: $GITHUB_URL" - -# setting up traefik -# https://github.com/containous/traefik/blob/master/docs/user-guide/kubernetes.md - -Write-Host "Deploying configmaps" -$folder = "kubernetes/loadbalancer/configmaps" -if ($($config.ssl)) { - $files = "config.ssl.yaml" - DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid -} -else { - $files = "config.yaml" - DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid -} - -$kubectlversion = $(kubectl version --short=true)[1] -if ($kubectlversion -match "v1.8") { - Write-Host "Since kubectlversion ($kubectlversion) is less than 1.9 no roles are needed" -} -else { - Write-Host "Deploying roles" - $folder = "kubernetes/loadbalancer/roles" - $files = "ingress-roles.yaml" - DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid -} - -Write-Host "Deploying pods" -$folder = "kubernetes/loadbalancer/pods" - -if ($($config.ingress.internal) -eq "public" ) { - $files = "ingress-azure.both.yaml" - DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid -} -else { - if ($($config.ssl) ) { - $files = "ingress-azure.ssl.yaml ingress-azure.internal.ssl.yaml" - DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid - } - else { - $files = "ingress-azure.yaml ingress-azure.internal.yaml" - DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid - } -} - -Write-Host "Deploying services" -$folder = "kubernetes/loadbalancer/services/cluster" -$files = "dashboard.yaml dashboard-internal.yaml" -DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid - -Write-Host "Deploying ingress" -$folder = "kubernetes/loadbalancer/ingress" - -if ($($config.ssl) ) { - $files = "dashboard.ssl.yaml" - DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid -} -else { - $files = "dashboard.yaml" - DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid -} - -$folder = "kubernetes/loadbalancer/services/external" - -if ("$($config.ingress.external)" -ne "vnetonly") { - Write-Output "Setting up a public load balancer" - - $publicip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --query "ipAddress" -o tsv; - if ([string]::IsNullOrWhiteSpace($publicip)) { - az network public-ip create -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --location $AKS_PERS_LOCATION --allocation-method Static - $publicip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --query "ipAddress" -o tsv; - } - - Write-Host "Using Public IP: [$publicip]" - - Write-Output "Setting up external load balancer" - $files = "loadbalancer.external.yaml" - DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid -public_ip $publicip -} -else { - Write-Output "Setting up an external load balancer" - $files = "loadbalancer.external.restricted.yaml" - DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid -public_ip $publicip -} - -if ($($config.ingress.internal) -ne "public" ) { - Write-Output "Setting up an internal load balancer" - if ("$($config.ingress.internal)" -eq "public") { - $files = "loadbalancer.internal.open.yaml" - } - else { - $files = "loadbalancer.internal.yaml" - - } - DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid -public_ip $publicip -} - -$loadBalancerIPResult = GetLoadBalancerIPs -$EXTERNAL_IP = $loadBalancerIPResult.ExternalIP -$INTERNAL_IP = $loadBalancerIPResult.InternalIP - -FixLoadBalancers -resourceGroup $AKS_PERS_RESOURCE_GROUP - -$dnsrecordname = "$customerid.healthcatalyst.net" - -if ($($config.dns.create_dns_entries)) { - SetupDNS -dnsResourceGroup $DNS_RESOURCE_GROUP -dnsrecordname $dnsrecordname -externalIP $EXTERNAL_IP -} -else { - Write-Output "To access the urls from your browser, add the following entries in your c:\windows\system32\drivers\etc\hosts file" - Write-Output "$EXTERNAL_IP dashboard.$dnsrecordname" -} - - From 0d7d6d1562bd0daabbfcdab7dc806802677c20aa Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 10:50:38 -0700 Subject: [PATCH 386/473] show full path to kubeconfig Signed-off-by: HQCATALYST\imran.qureshi --- azure/main.ps1 | 1 + kubernetes/common-kube.ps1 | 17 ++++++++++++++--- kubernetes/main.sh | 3 ++- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/azure/main.ps1 b/azure/main.ps1 index ab520d6..9626997 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -74,6 +74,7 @@ while ($userinput -ne "q") { } '1' { Invoke-WebRequest -useb $GITHUB_URL/azure/create-acs-cluster.ps1?f=$randomstring | Invoke-Expression; + Invoke-WebRequest -useb $GITHUB_URL/kubernetes/setup-loadbalancer.ps1?f=$randomstring | Invoke-Expression; } '2' { Invoke-WebRequest -useb $GITHUB_URL/kubernetes/setup-loadbalancer.ps1?f=$randomstring | Invoke-Expression; diff --git a/kubernetes/common-kube.ps1 b/kubernetes/common-kube.ps1 index 1313099..4d6abe4 100644 --- a/kubernetes/common-kube.ps1 +++ b/kubernetes/common-kube.ps1 @@ -1,5 +1,5 @@ # this file contains common functions for kubernetes -$versionkubecommon = "2018.02.27.03" +$versionkubecommon = "2018.03.27.01" $set = "abcdefghijklmnopqrstuvwxyz0123456789".ToCharArray() $randomstring += $set | Get-Random @@ -172,6 +172,7 @@ function global:Stop-ProcessByPort( [ValidateNotNullOrEmpty()] [int] $Port ) { function global:CleanOutNamespace([ValidateNotNullOrEmpty()] $namespace) { + [hashtable]$Return = @{} Write-Host "--- Cleaning out any old resources in $namespace ---" @@ -190,14 +191,22 @@ function global:CleanOutNamespace([ValidateNotNullOrEmpty()] $namespace) { } } while (![string]::IsNullOrEmpty($CLEANUP_DONE)) + + return $Return } function global:SwitchToKubCluster([ValidateNotNullOrEmpty()] $kubfolder, [ValidateNotNullOrEmpty()] $clustername) { - $fileToUse = "$kubfolder\$clustername\temp\.kube\config" + + [hashtable]$Return = @{} + + $fileToUse = "${kubfolder}\${clustername}\temp\.kube\config" + + Write-Host "Checking if file exists: $fileToUse" + if (Test-Path -Path $fileToUse) { Write-Host "Switching kube config to this cluster: $clustername" - $userKubeConfigFolder = "$env:userprofile\.kube" + $userKubeConfigFolder = "${env:userprofile}\.kube" If (!(Test-Path $userKubeConfigFolder)) { Write-Output "Creating $userKubeConfigFolder" New-Item -ItemType Directory -Force -Path "$userKubeConfigFolder" @@ -214,6 +223,8 @@ function global:SwitchToKubCluster([ValidateNotNullOrEmpty()] $kubfolder, [Valid else { Write-Error "$fileToUse not found" } + + return $Return } function global:CleanKubConfig() { Write-Host "Clearing out kube config" diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 2fc3f0f..553c9b1 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.03.20.01" +version="2018.03.27.01" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -67,6 +67,7 @@ while [[ "$input" != "q" ]]; do 1) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt?p=$RANDOM | bash curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupmaster.txt?p=$RANDOM | bash curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh?p=$RANDOM | bash + curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/dashboard/setup-kubdashboard.sh?p=$RANDOM | bash ;; 2) echo "Current cluster: $(kubectl config current-context)" kubectl version --short From 1c6449ae8deab9d42d0ebca08f9f509b875bcdd3 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 10:57:27 -0700 Subject: [PATCH 387/473] fix SwitchToKubCluster Signed-off-by: HQCATALYST\imran.qureshi --- azure/create-bare-metal.ps1 | 4 ++-- kubernetes/common-kube.ps1 | 8 +++----- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/azure/create-bare-metal.ps1 b/azure/create-bare-metal.ps1 index 1bc52e6..b1fb473 100644 --- a/azure/create-bare-metal.ps1 +++ b/azure/create-bare-metal.ps1 @@ -1,4 +1,4 @@ -Write-Host "--- create-bare-metal Version 2018.03.23.01 ----" +Write-Host "--- create-bare-metal Version 2018.03.23.02 ----" # # This script is meant for quick & easy install via: @@ -76,7 +76,7 @@ else { $clustername = "${AKS_PERS_RESOURCE_GROUP}" $fileToUse = "$AKS_LOCAL_FOLDER\$clustername\temp\.kube\config" if (Test-Path $fileToUse) { - SwitchToKubCluster -kubfolder $AKS_LOCAL_FOLDER -clustername $clustername + SwitchToKubCluster -folderToUse "${AKS_LOCAL_FOLDER}\${clustername}" } else { CleanKubConfig diff --git a/kubernetes/common-kube.ps1 b/kubernetes/common-kube.ps1 index 4d6abe4..950d3ae 100644 --- a/kubernetes/common-kube.ps1 +++ b/kubernetes/common-kube.ps1 @@ -1,5 +1,5 @@ # this file contains common functions for kubernetes -$versionkubecommon = "2018.03.27.01" +$versionkubecommon = "2018.03.27.02" $set = "abcdefghijklmnopqrstuvwxyz0123456789".ToCharArray() $randomstring += $set | Get-Random @@ -195,17 +195,15 @@ function global:CleanOutNamespace([ValidateNotNullOrEmpty()] $namespace) { return $Return } -function global:SwitchToKubCluster([ValidateNotNullOrEmpty()] $kubfolder, [ValidateNotNullOrEmpty()] $clustername) { +function global:SwitchToKubCluster([ValidateNotNullOrEmpty()] $folderToUse) { [hashtable]$Return = @{} - $fileToUse = "${kubfolder}\${clustername}\temp\.kube\config" + $fileToUse = "${folderToUse}\temp\.kube\config" Write-Host "Checking if file exists: $fileToUse" if (Test-Path -Path $fileToUse) { - Write-Host "Switching kube config to this cluster: $clustername" - $userKubeConfigFolder = "${env:userprofile}\.kube" If (!(Test-Path $userKubeConfigFolder)) { Write-Output "Creating $userKubeConfigFolder" From a0fe9483167b95f9759838e16a59eb2b277a67fc Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 11:34:16 -0700 Subject: [PATCH 388/473] use environment variable for path to configs folder Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 12 +++++++--- azure/create-bare-metal.ps1 | 48 ++++++++++++++++--------------------- deployments/baremetal.json | 46 +++++++++++++++++++++++++++++++++++ 3 files changed, 76 insertions(+), 30 deletions(-) create mode 100644 deployments/baremetal.json diff --git a/azure/common.ps1 b/azure/common.ps1 index d8adb3e..09d1b38 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1451,16 +1451,22 @@ function global:GetConfigFile() { [hashtable]$Return = @{} - $folder = "c:\kubernetes\configs" + $folder = $ENV:CatalystConfigPath + if ([string]::IsNullOrEmpty("$folder")) { + $folder = "c:\kubernetes\configs" + } if (Test-Path -Path $folder -PathType Container) { + Write-Host "Looking in $folder for *.json files" + Write-Host "You can CatalystConfigPath environment variable to use a different path" + $files = Get-ChildItem "$folder" -Filter *.json if ($files.Count -gt 0) { - Write-Output "------ Files in $folder -------" + Write-Host "Choose config file from $folder" for ($i = 1; $i -le $files.count; $i++) { Write-Host "$i. $($($files[$i-1]).Name)" } - Write-Output "------ End Files -------" + Write-Host "-------------" $index = Read-Host "Enter number of file to use (1 - $($files.count))" $Return.FilePath = $($($files[$index - 1]).FullName) return $Return diff --git a/azure/create-bare-metal.ps1 b/azure/create-bare-metal.ps1 index b1fb473..b1bcff6 100644 --- a/azure/create-bare-metal.ps1 +++ b/azure/create-bare-metal.ps1 @@ -1,4 +1,4 @@ -Write-Host "--- create-bare-metal Version 2018.03.23.02 ----" +Write-Host "--- create-bare-metal Version 2018.03.27.01 ----" # # This script is meant for quick & easy install via: @@ -16,44 +16,37 @@ Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1?f=$randomstring Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1?f=$randomstring | Invoke-Expression; # Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; -$AKS_SERVICE_PRINCIPAL_NAME = "" -$AKS_SUPPORT_WINDOWS_CONTAINERS = "n" - DownloadAzCliIfNeeded +$config = $(ReadConfigFile).Config +Write-Host $config + $AKS_SUBSCRIPTION_ID = $(GetLoggedInUserInfo).AKS_SUBSCRIPTION_ID -# ask for customerid -Do { $customerid = Read-Host "Health Catalyst Customer ID (e.g., ahmn)"} -while ([string]::IsNullOrWhiteSpace($customerid)) +$customerid=$($config.customerid) Write-Host "Customer ID: $customerid" -# ask for resource group name to create -$DEFAULT_RESOURCE_GROUP = "Test-Kub-$($customerid.ToUpper())-RG" +$AKS_PERS_RESOURCE_GROUP = $config.azure.resourceGroup +$AKS_PERS_LOCATION = $config.azure.location -$ResourceGroupInfo = GetResourceGroupAndLocation -defaultResourceGroup $DEFAULT_RESOURCE_GROUP -$AKS_PERS_RESOURCE_GROUP = $ResourceGroupInfo.AKS_PERS_RESOURCE_GROUP -$AKS_PERS_LOCATION = $ResourceGroupInfo.AKS_PERS_LOCATION +CreateResourceGroupIfNotExists -resourceGroup $AKS_PERS_RESOURCE_GROUP -location $AKS_PERS_LOCATION -$AKS_SUPPORT_WINDOWS_CONTAINERS = Read-Host "Support Windows containers (y/n) (default: n)" -if ([string]::IsNullOrWhiteSpace($AKS_SUPPORT_WINDOWS_CONTAINERS)) { - $AKS_SUPPORT_WINDOWS_CONTAINERS = "n" -} +$AKS_SUPPORT_WINDOWS_CONTAINERS = $config.azure.create_windows_containers # service account to own the resources -$AKS_SERVICE_PRINCIPAL_NAME = Read-Host "Service account to use (default: ${AKS_PERS_RESOURCE_GROUP}Kubernetes)" +$AKS_SERVICE_PRINCIPAL_NAME = $config.service_principal.name + if ([string]::IsNullOrWhiteSpace($AKS_SERVICE_PRINCIPAL_NAME)) { $AKS_SERVICE_PRINCIPAL_NAME = "${AKS_PERS_RESOURCE_GROUP}Kubernetes" } -# where to store the SSH keys on local machine -$AKS_LOCAL_FOLDER = Read-Host "Folder to store SSH keys (default: c:\kubernetes)" +$AKS_LOCAL_FOLDER = $config.local_folder if ([string]::IsNullOrWhiteSpace($AKS_LOCAL_FOLDER)) {$AKS_LOCAL_FOLDER = "C:\kubernetes"} if (!(Test-Path -Path "$AKS_LOCAL_FOLDER")) { - Write-Host "$AKS_LOCAL_FOLDER does not exist. Creating it..." + Write-Output "$AKS_LOCAL_FOLDER does not exist. Creating it..." New-Item -ItemType directory -Path $AKS_LOCAL_FOLDER } @@ -84,20 +77,21 @@ else { } } +$AKS_PERS_STORAGE_ACCOUNT_NAME = $(CreateStorageIfNotExists -resourceGroup $AKS_PERS_RESOURCE_GROUP -deleteStorageAccountIfExists $config.storage_account.delete_if_exists).AKS_PERS_STORAGE_ACCOUNT_NAME + +$AKS_VNET_NAME = $config.networking.vnet +$AKS_SUBNET_NAME = $config.networking.subnet +$AKS_SUBNET_RESOURCE_GROUP = $config.networking.subnet_resource_group # see if the user wants to use a specific virtual network -$VnetInfo = GetVnet -subscriptionId $AKS_SUBSCRIPTION_ID -$AKS_VNET_NAME = $VnetInfo.AKS_VNET_NAME -$AKS_SUBNET_NAME = $VnetInfo.AKS_SUBNET_NAME -$AKS_SUBNET_RESOURCE_GROUP = $VnetInfo.AKS_SUBNET_RESOURCE_GROUP -$AKS_SUBNET_ID = $VnetInfo.AKS_SUBNET_ID +$VnetInfo = GetVnetInfo -subscriptionId $AKS_SUBSCRIPTION_ID -subnetResourceGroup $AKS_SUBNET_RESOURCE_GROUP -vnetName $AKS_VNET_NAME -subnetName $AKS_SUBNET_NAME +$AKS_FIRST_STATIC_IP = $VnetInfo.AKS_FIRST_STATIC_IP +$AKS_SUBNET_CIDR = $VnetInfo.AKS_SUBNET_CIDR CleanResourceGroup -resourceGroup ${AKS_PERS_RESOURCE_GROUP} -location $AKS_PERS_LOCATION -vnet $AKS_VNET_NAME ` -subnet $AKS_SUBNET_NAME -subnetResourceGroup $AKS_SUBNET_RESOURCE_GROUP ` -storageAccount $AKS_PERS_STORAGE_ACCOUNT_NAME -$AKS_PERS_STORAGE_ACCOUNT_NAME = $(CreateStorageIfNotExists -resourceGroup $AKS_PERS_RESOURCE_GROUP).AKS_PERS_STORAGE_ACCOUNT_NAME - Write-Host "Using Storage Account: $AKS_PERS_STORAGE_ACCOUNT_NAME" CreateShareInStorageAccount -storageAccountName $AKS_PERS_STORAGE_ACCOUNT_NAME -resourceGroup $AKS_PERS_RESOURCE_GROUP -sharename "data" diff --git a/deployments/baremetal.json b/deployments/baremetal.json new file mode 100644 index 0000000..4181565 --- /dev/null +++ b/deployments/baremetal.json @@ -0,0 +1,46 @@ +{ + "kubectl": { + "version": "" + }, + "azcli": { + "version": "2.0.27" + }, + "azure": { + "resourceGroup": "baremetal", + "location": "eastus", + "create_windows_containers": false, + "use_azure_networking": true, + "acs_engine": { + "version": "v0.13.0" + } + }, + "service_principal": { + "name": "", + "delete_if_exists": true + }, + "storage_account": { + "delete_if_exists": false + }, + "local_folder": "c:\\kubernetes", + "customerid": "hcut", + "ssl": false, + "allow_kubectl_from_outside_vnet": true, + "ingress": { + "external": "public", + "internal": "public", + "external_ip_whitelist": "" + }, + "networking": { + "vnet": "baremetal-vnet", + "subnet": "default", + "subnet_resource_group": "Imran" + }, + "network_security_group": { + "name": "", + "create_nsg_rules": false + }, + "dns": { + "create_dns_entries": false, + "dns_resource_group": "dns" + } +} \ No newline at end of file From 84d7adacdd7e9290b512226c8f63d7a9b2f9c74e Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 11:41:41 -0700 Subject: [PATCH 389/473] fix path to kube config Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 2 +- azure/main.ps1 | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index 09d1b38..99f6599 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1457,7 +1457,7 @@ function global:GetConfigFile() { } if (Test-Path -Path $folder -PathType Container) { Write-Host "Looking in $folder for *.json files" - Write-Host "You can CatalystConfigPath environment variable to use a different path" + Write-Host "You can set CatalystConfigPath environment variable to use a different path" $files = Get-ChildItem "$folder" -Filter *.json diff --git a/azure/main.ps1 b/azure/main.ps1 index 9626997..3436a46 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,4 +1,4 @@ -$version = "2018.03.23.02" +$version = "2018.03.27.01" # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; @@ -70,7 +70,7 @@ while ($userinput -ne "q") { $index = Read-Host "Enter number of folder to use (1 - $($folders.count))" $folderToUse = $($folders[$index - 1]) - SwitchToKubCluster -folderToUse $folderToUse + SwitchToKubCluster -folderToUse "C:\kubernetes\$folderToUse" } '1' { Invoke-WebRequest -useb $GITHUB_URL/azure/create-acs-cluster.ps1?f=$randomstring | Invoke-Expression; From 2d0424545a83a9d05f38a2e64e00ab01a2085475 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 12:28:55 -0700 Subject: [PATCH 390/473] create shared functions for installing realtime Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 61 +++++++++++-- azure/create-bare-metal.ps1 | 99 ++++++++++----------- kubernetes/common-kube.ps1 | 38 ++++++-- realtime/installrealtimekubernetes.ps1 | 115 +------------------------ realtime/installyaml.ps1 | 90 +++++++++++++++++++ 5 files changed, 228 insertions(+), 175 deletions(-) create mode 100644 realtime/installyaml.ps1 diff --git a/azure/common.ps1 b/azure/common.ps1 index 99f6599..203cfc6 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.03.27.01" +$versioncommon = "2018.03.27.02" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -8,29 +8,29 @@ function global:GetCommonVersion() { } function global:CreateShareInStorageAccount([ValidateNotNullOrEmpty()] $storageAccountName, [ValidateNotNullOrEmpty()] $resourceGroup, [ValidateNotNullOrEmpty()] $sharename, $deleteExisting) { - $AZURE_STORAGE_CONNECTION_STRING = az storage account show-connection-string -n $storageAccountName -g $resourceGroup -o tsv + $storageAccountConnectionString = az storage account show-connection-string -n $storageAccountName -g $resourceGroup -o tsv - # Write-Host "Storage connection string: $AZURE_STORAGE_CONNECTION_STRING" + # Write-Host "Storage connection string: $storageAccountConnectionString" if ($deleteExisting) { - if ($(az storage share exists -n $sharename --connection-string $AZURE_STORAGE_CONNECTION_STRING --query "exists" -o tsv)) { + if ($(az storage share exists -n $sharename --connection-string $storageAccountConnectionString --query "exists" -o tsv)) { Write-Host "Deleting the file share: $sharename" - az storage share delete -n $sharename --connection-string $AZURE_STORAGE_CONNECTION_STRING + az storage share delete -n $sharename --connection-string $storageAccountConnectionString Write-Host "Waiting for completion of delete for the file share: $sharename" Do { Start-Sleep -Seconds 5 - $SHARE_EXISTS = $(az storage share exists -n $sharename --connection-string $AZURE_STORAGE_CONNECTION_STRING --query "exists" -o tsv) + $SHARE_EXISTS = $(az storage share exists -n $sharename --connection-string $storageAccountConnectionString --query "exists" -o tsv) Write-Host "." } while ($SHARE_EXISTS -ne "false") } } - if ($(az storage share exists -n $sharename --connection-string $AZURE_STORAGE_CONNECTION_STRING --query "exists" -o tsv) -eq "false") { + if ($(az storage share exists -n $sharename --connection-string $storageAccountConnectionString --query "exists" -o tsv) -eq "false") { Write-Host "Creating the file share: $sharename" - az storage share create -n $sharename --connection-string $AZURE_STORAGE_CONNECTION_STRING --quota 512 + az storage share create -n $sharename --connection-string $storageAccountConnectionString --quota 512 } else { Write-Host "File share already exists: $sharename" @@ -1501,5 +1501,50 @@ function global:SaveConfigFile() { return $Return } +function global:GetResourceGroup() { + [hashtable]$Return = @{} + $Return.ResourceGroup = ReadSecretValue -secretname azure-secret -valueName "resourcegroup" + + return $Return +} +function global:CreateAzureStorage([ValidateNotNullOrEmpty()] $namespace) { + [hashtable]$Return = @{} + + if ([string]::IsNullOrWhiteSpace($namespace)) { + Write-Error "no parameter passed to CreateAzureStorage" + exit + } + + $resourceGroup = $(GetResourceGroup).ResourceGroup + + Write-Output "Using resource group: $resourceGroup" + + if ([string]::IsNullOrWhiteSpace($(kubectl get namespace $namespace --ignore-not-found=true))) { + kubectl create namespace $namespace + } + + $shareName = "$namespace" + $storageAccountName = ReadSecretValue -secretname azure-secret -valueName "azurestorageaccountname" + + $storageAccountConnectionString = az storage account show-connection-string -n $storageAccountName -g $resourceGroup -o tsv + + Write-Output "Create the file share: $shareName" + az storage share create -n $shareName --connection-string $storageAccountConnectionString --quota 512 + return $Return +} + +function global:WaitForLoadBalancers([ValidateNotNullOrEmpty()] $resourceGroup) { + $loadBalancerIP = kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' --ignore-not-found=true + if ([string]::IsNullOrWhiteSpace($loadBalancerIP)) { + $loadBalancerIP = kubectl get svc traefik-ingress-service-internal -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' + } + $loadBalancerInternalIP = kubectl get svc traefik-ingress-service-internal -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' + + Write-Host "Sleeping for 10 seconds so kube services get IPs assigned" + Start-Sleep -Seconds 10 + + FixLoadBalancers -resourceGroup $resourceGroup + +} #------------------- Write-Host "end common.ps1 version $versioncommon" diff --git a/azure/create-bare-metal.ps1 b/azure/create-bare-metal.ps1 index b1bcff6..6cbcc89 100644 --- a/azure/create-bare-metal.ps1 +++ b/azure/create-bare-metal.ps1 @@ -1,4 +1,4 @@ -Write-Host "--- create-bare-metal Version 2018.03.27.01 ----" +Write-Host "--- create-bare-metal Version 2018.03.27.02 ----" # # This script is meant for quick & easy install via: @@ -23,7 +23,7 @@ Write-Host $config $AKS_SUBSCRIPTION_ID = $(GetLoggedInUserInfo).AKS_SUBSCRIPTION_ID -$customerid=$($config.customerid) +$customerid = $($config.customerid) Write-Host "Customer ID: $customerid" @@ -85,8 +85,7 @@ $AKS_SUBNET_RESOURCE_GROUP = $config.networking.subnet_resource_group # see if the user wants to use a specific virtual network $VnetInfo = GetVnetInfo -subscriptionId $AKS_SUBSCRIPTION_ID -subnetResourceGroup $AKS_SUBNET_RESOURCE_GROUP -vnetName $AKS_VNET_NAME -subnetName $AKS_SUBNET_NAME -$AKS_FIRST_STATIC_IP = $VnetInfo.AKS_FIRST_STATIC_IP -$AKS_SUBNET_CIDR = $VnetInfo.AKS_SUBNET_CIDR +$AKS_SUBNET_ID=$VnetInfo.AKS_SUBNET_ID CleanResourceGroup -resourceGroup ${AKS_PERS_RESOURCE_GROUP} -location $AKS_PERS_LOCATION -vnet $AKS_VNET_NAME ` -subnet $AKS_SUBNET_NAME -subnetResourceGroup $AKS_SUBNET_RESOURCE_GROUP ` @@ -100,55 +99,57 @@ $NETWORK_SECURITY_GROUP = "cluster-nsg" Write-Host "Creating network security group: $NETWORK_SECURITY_GROUP" $nsg = az network nsg create --name $NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP --query "id" -o tsv -Write-Host "Creating rule: allow_ssh" -az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $NETWORK_SECURITY_GROUP -n allow_ssh --priority 100 ` - --source-address-prefixes "*" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges 22 --access Allow ` - --protocol Tcp --description "allow ssh access." ` - --query "provisioningState" -o tsv - -Write-Host "Creating rule: allow_rdp" -az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $NETWORK_SECURITY_GROUP -n allow_rdp ` - --priority 101 ` - --source-address-prefixes "*" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges 3389 --access Allow ` - --protocol Tcp --description "allow RDP access." ` - --query "provisioningState" -o tsv - -$sourceTagForHttpAccess = "Internet" -if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "HttpPort" --nsg-name $NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { - Write-Host "Creating rule: HttpPort" - az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $NETWORK_SECURITY_GROUP -n HttpPort --priority 500 ` - --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges 80 --access Allow ` - --protocol Tcp --description "allow HTTP access from $sourceTagForHttpAccess." ` +if ($($config.network_security_group.create_nsg_rules)) { + Write-Host "Creating rule: allow_ssh" + az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $NETWORK_SECURITY_GROUP -n allow_ssh --priority 100 ` + --source-address-prefixes "*" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges 22 --access Allow ` + --protocol Tcp --description "allow ssh access." ` --query "provisioningState" -o tsv -} -else { - Write-Host "Updating rule: HttpPort" - az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $NETWORK_SECURITY_GROUP -n HttpPort --priority 500 ` - --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges 80 --access Allow ` - --protocol Tcp --description "allow HTTP access from $sourceTagForHttpAccess." ` - --query "provisioningState" -o tsv -} -if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "HttpsPort" --nsg-name $NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { - Write-Host "Creating rule: HttpsPort" - az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $NETWORK_SECURITY_GROUP -n HttpsPort --priority 501 ` - --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` - --protocol Tcp --description "allow HTTPS access from $sourceTagForHttpAccess." ` + Write-Host "Creating rule: allow_rdp" + az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $NETWORK_SECURITY_GROUP -n allow_rdp ` + --priority 101 ` + --source-address-prefixes "*" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges 3389 --access Allow ` + --protocol Tcp --description "allow RDP access." ` --query "provisioningState" -o tsv + + $sourceTagForHttpAccess = "Internet" + if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "HttpPort" --nsg-name $NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { + Write-Host "Creating rule: HttpPort" + az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $NETWORK_SECURITY_GROUP -n HttpPort --priority 500 ` + --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges 80 --access Allow ` + --protocol Tcp --description "allow HTTP access from $sourceTagForHttpAccess." ` + --query "provisioningState" -o tsv + } + else { + Write-Host "Updating rule: HttpPort" + az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $NETWORK_SECURITY_GROUP -n HttpPort --priority 500 ` + --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges 80 --access Allow ` + --protocol Tcp --description "allow HTTP access from $sourceTagForHttpAccess." ` + --query "provisioningState" -o tsv + } + + if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "HttpsPort" --nsg-name $NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { + Write-Host "Creating rule: HttpsPort" + az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $NETWORK_SECURITY_GROUP -n HttpsPort --priority 501 ` + --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` + --protocol Tcp --description "allow HTTPS access from $sourceTagForHttpAccess." ` + --query "provisioningState" -o tsv + } + else { + Write-Host "Updating rule: HttpsPort" + az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $NETWORK_SECURITY_GROUP -n HttpsPort --priority 501 ` + --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` + --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` + --protocol Tcp --description "allow HTTPS access from $sourceTagForHttpAccess." ` + --query "provisioningState" -o tsv + } } -else { - Write-Host "Updating rule: HttpsPort" - az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $NETWORK_SECURITY_GROUP -n HttpsPort --priority 501 ` - --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` - --protocol Tcp --description "allow HTTPS access from $sourceTagForHttpAccess." ` - --query "provisioningState" -o tsv -} $nsgid = az network nsg list --resource-group ${AKS_PERS_RESOURCE_GROUP} --query "[?name == '${NETWORK_SECURITY_GROUP}'].id" -o tsv Write-Host "Found ID for ${AKS_PERS_NETWORK_SECURITY_GROUP}: $nsgid" diff --git a/kubernetes/common-kube.ps1 b/kubernetes/common-kube.ps1 index 950d3ae..a0d2c76 100644 --- a/kubernetes/common-kube.ps1 +++ b/kubernetes/common-kube.ps1 @@ -1,5 +1,5 @@ # this file contains common functions for kubernetes -$versionkubecommon = "2018.03.27.02" +$versionkubecommon = "2018.03.27.03" $set = "abcdefghijklmnopqrstuvwxyz0123456789".ToCharArray() $randomstring += $set | Get-Random @@ -81,6 +81,24 @@ function global:AskForPassword ([ValidateNotNullOrEmpty()] $secretname, $prompt, } } +function global:GenerateSecretPassword ([ValidateNotNullOrEmpty()] $secretname, $namespace) { + if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} + if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data}' --ignore-not-found=true))) { + + $mysqlrootpassword = "" + # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html + # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script + Do { + $mysqlrootpassword = GeneratePassword + } + while (($mysqlrootpassword -notmatch "^[a-z0-9!.*@\s]+$") -or ($mysqlrootpassword.Length -lt 8 )) + kubectl create secret generic $secretname --namespace=$namespace --from-literal=password=$mysqlrootpassword + } + else { + Write-Host "$secretname secret already set so will reuse it" + } +} + function global:AskForPasswordAnyCharacters ([ValidateNotNullOrEmpty()] $secretname, $prompt, $namespace, $defaultvalue) { if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data}' --ignore-not-found=true))) { @@ -138,18 +156,17 @@ function global:ReadYamlAndReplaceCustomer([ValidateNotNullOrEmpty()] $baseUrl, } # $files is a list of files separated by spaces -function global:DownloadAndDeployYamlFiles([ValidateNotNullOrEmpty()] $folder, [ValidateNotNullOrEmpty()] $files, [ValidateNotNullOrEmpty()] $baseUrl, [ValidateNotNullOrEmpty()] $customerid, $public_ip ){ +function global:DownloadAndDeployYamlFiles([ValidateNotNullOrEmpty()] $folder, [ValidateNotNullOrEmpty()] $files, [ValidateNotNullOrEmpty()] $baseUrl, [ValidateNotNullOrEmpty()] $customerid, $public_ip ) { [hashtable]$Return = @{} foreach ($file in $files.Split(" ")) { - if([string]::IsNullOrEmpty($public_ip)){ + if ([string]::IsNullOrEmpty($public_ip)) { ReadYamlAndReplaceCustomer -baseUrl $baseUrl -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - } - else - { + else { ReadYamlAndReplaceCustomer -baseUrl $baseUrl -templateFile "${folder}/${file}" -customerid $customerid ` - | Foreach-Object {$_ -replace 'PUBLICIP', "$publicip"} ` - | kubectl apply -f - + | Foreach-Object {$_ -replace 'PUBLICIP', "$publicip"} ` + | kubectl apply -f - } } @@ -234,5 +251,12 @@ function global:CleanKubConfig() { [Environment]::SetEnvironmentVariable("KUBECONFIG", "", [EnvironmentVariableTarget]::User) } +function global:CleanSecrets([ValidateNotNullOrEmpty()] $namespace){ + kubectl delete secret mysqlrootpassword -n $namespace --ignore-not-found=true + kubectl delete secret mysqlpassword -n $namespace --ignore-not-found=true + kubectl delete secret certhostname -n $namespace --ignore-not-found=true + kubectl delete secret certpassword -n $namespace --ignore-not-found=true + kubectl delete secret rabbitmqmgmtuipassword -n $namespace --ignore-not-found=true +} # -------------------- Write-Host "end common-kube.ps1 version $versioncommon" \ No newline at end of file diff --git a/realtime/installrealtimekubernetes.ps1 b/realtime/installrealtimekubernetes.ps1 index 55ea59d..7e2955d 100644 --- a/realtime/installrealtimekubernetes.ps1 +++ b/realtime/installrealtimekubernetes.ps1 @@ -1,4 +1,4 @@ -Write-Output "Version 2018.03.23.01" +Write-Output "Version 2018.03.27.01" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.ps1 | iex; @@ -13,118 +13,11 @@ Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; DownloadAzCliIfNeeded $userInfo = $(GetLoggedInUserInfo) -$AKS_SUBSCRIPTION_ID = $userInfo.AKS_SUBSCRIPTION_ID -$IS_CAFE_ENVIRONMENT = $userInfo.IS_CAFE_ENVIRONMENT $namespace = "fabricrealtime" -$AKS_PERS_RESOURCE_GROUP_BASE64 = kubectl get secret azure-secret -o jsonpath='{.data.resourcegroup}' -if (![string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP_BASE64)) { - $AKS_PERS_RESOURCE_GROUP = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($AKS_PERS_RESOURCE_GROUP_BASE64)) -} +CreateAzureStorage -namespace $namespace -if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) { - Do { $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group (e.g., fabricnlp-rg)"} - while ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) -} -else { - Write-Output "Using resource group: $AKS_PERS_RESOURCE_GROUP" -} +Invoke-WebRequest -useb "$GITHUB_URL/realtime/installyaml.ps1?f=$randomstring" | Invoke-Expression; -if ([string]::IsNullOrWhiteSpace($(kubectl get namespace fabricrealtime --ignore-not-found=true))) { - kubectl create namespace fabricrealtime -} -else { - Do { $deleteSecrets = Read-Host "Namespace exists. Do you want to delete passwords and data stored in this namespace? (y/n)"} - while ([string]::IsNullOrWhiteSpace($deleteSecrets)) - - if ($deleteSecrets -eq "y" ) { - kubectl delete secret mysqlrootpassword -n fabricrealtime --ignore-not-found=true - kubectl delete secret mysqlpassword -n fabricrealtime --ignore-not-found=true - kubectl delete secret certhostname -n fabricrealtime --ignore-not-found=true - kubectl delete secret certpassword -n fabricrealtime --ignore-not-found=true - kubectl delete secret rabbitmqmgmtuipassword -n fabricrealtime --ignore-not-found=true - } -} - -AskForPassword -secretname "mysqlrootpassword" -prompt "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -namespace "fabricrealtime" - -AskForPassword -secretname "mysqlpassword" -prompt "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -namespace "fabricrealtime" - -AskForSecretValue -secretname "certhostname" -prompt "Client Certificate hostname" -namespace "fabricrealtime" - -AskForPassword -secretname "certpassword" -prompt "Client Certificate password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -namespace "fabricrealtime" - -AskForPassword -secretname "rabbitmqmgmtuipassword" -prompt "Admin password for RabbitMqMgmt" -namespace "fabricrealtime" - -CleanOutNamespace -namespace $namespace - -$AKS_PERS_SHARE_NAME = "fabricrealtime" -$AKS_PERS_STORAGE_ACCOUNT_NAME_BASE64 = kubectl get secret azure-secret -o jsonpath='{.data.azurestorageaccountname}' -$AKS_PERS_STORAGE_ACCOUNT_NAME = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($AKS_PERS_STORAGE_ACCOUNT_NAME_BASE64)) - -$AZURE_STORAGE_CONNECTION_STRING = az storage account show-connection-string -n $AKS_PERS_STORAGE_ACCOUNT_NAME -g $AKS_PERS_RESOURCE_GROUP -o tsv - -Write-Output "Create the file share: $AKS_PERS_SHARE_NAME" -az storage share create -n $AKS_PERS_SHARE_NAME --connection-string $AZURE_STORAGE_CONNECTION_STRING --quota 512 - -AskForSecretValue -secretname "customerid" -prompt "Health Catalyst Customer ID (e.g., ahmn)" - -$customerid = ReadSecret -secretname customerid -$customerid = $customerid.ToLower().Trim() -Write-Output "Customer ID: $customerid" - -Write-Host "-- Deploying volumes --" -$folder = "volumes" -foreach ($file in "certificateserver.yaml mysqlserver.yaml rabbitmq-cert.yaml rabbitmq.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/${folder}/${file}" -customerid $customerid | kubectl apply -f - -} - -Write-Host "-- Deploying volume claims --" -$folder = "volumeclaims" -foreach ($file in "certificateserver.yaml mysqlserver.yaml rabbitmq-cert.yaml rabbitmq.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/${folder}/${file}" -customerid $customerid | kubectl apply -f - -} - -Write-Host "-- Deploying pods --" -$folder = "pods" -foreach ($file in "certificateserver.yaml mysqlserver.yaml interfaceengine.yaml rabbitmq.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/${folder}/${file}" -customerid $customerid | kubectl apply -f - -} - -Write-Host "-- Deploying cluster services --" -$folder = "services/cluster" -foreach ($file in "certificateserver.yaml mysqlserver.yaml interfaceengine.yaml rabbitmq.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/${folder}/${file}" -customerid $customerid | kubectl apply -f - -} - -Write-Host "-- Deploying external services --" -$folder = "services/external" -foreach ($file in "certificateserver.yaml rabbitmq.yaml interfaceengine.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/${folder}/${file}" -customerid $customerid | kubectl apply -f - -} - -Write-Host "-- Deploying HTTP proxies --" -$folder = "ingress/http" -foreach ($file in "web.yaml rabbitmq.yaml interfaceengine.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/${folder}/${file}" -customerid $customerid | kubectl apply -f - -} - -Write-Host "-- Deploying TCP proxies --" -$folder = "ingress/tcp" -foreach ($file in "mysqlserver.yaml interfaceengine.yaml rabbitmq.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/${folder}/${file}" -customerid $customerid | kubectl apply -f - -} - -kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime -o wide - -$loadBalancerIP = kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' --ignore-not-found=true -if ([string]::IsNullOrWhiteSpace($loadBalancerIP)) { - $loadBalancerIP = kubectl get svc traefik-ingress-service-internal -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' -} -$loadBalancerInternalIP = kubectl get svc traefik-ingress-service-internal -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' - -Write-Host "Sleeping for 10 seconds so kube services get IPs assigned" -Start-Sleep -Seconds 10 - -FixLoadBalancers -resourceGroup $AKS_PERS_RESOURCE_GROUP +WaitForLoadBalancers -resourceGroup $(GetResourceGroup).ResourceGroup \ No newline at end of file diff --git a/realtime/installyaml.ps1 b/realtime/installyaml.ps1 new file mode 100644 index 0000000..ae3934d --- /dev/null +++ b/realtime/installyaml.ps1 @@ -0,0 +1,90 @@ +Write-Output "Version 2018.03.23.01" + +# curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.ps1 | iex; + +$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" +# $GITHUB_URL = "." + +Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1 | Invoke-Expression; +# Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; + +Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; +# Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; + +DownloadAzCliIfNeeded +GetLoggedInUserInfo + +$namespace = "fabricrealtime" + +$AKS_PERS_RESOURCE_GROUP = ReadSecretValue -secretname azure-secret -valueName "resourcegroup" + +if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) { + Write-Error "secret azure-secret not found" + exit +} +Write-Output "Using resource group: $AKS_PERS_RESOURCE_GROUP" + +if ([string]::IsNullOrWhiteSpace($(kubectl get namespace $namespace --ignore-not-found=true))) { + kubectl create namespace $namespace +} + +GenerateSecretPassword -secretname "mysqlrootpassword" -namespace "fabricrealtime" + +GenerateSecretPassword -secretname "mysqlpassword" -namespace "fabricrealtime" + +# read dns +AskForSecretValue -secretname "certhostname" -prompt "Client Certificate hostname" -namespace "fabricrealtime" + +GenerateSecretPassword -secretname "certpassword" -namespace "fabricrealtime" + +GenerateSecretPassword -secretname "rabbitmqmgmtuipassword" -namespace "fabricrealtime" + +CleanOutNamespace -namespace $namespace + +$customerid = ReadSecret -secretname customerid +$customerid = $customerid.ToLower().Trim() +Write-Output "Customer ID: $customerid" + +Write-Host "-- Deploying volumes --" +$folder = "volumes" +foreach ($file in "certificateserver.yaml mysqlserver.yaml rabbitmq-cert.yaml rabbitmq.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/${folder}/${file}" -customerid $customerid | kubectl apply -f - +} + +Write-Host "-- Deploying volume claims --" +$folder = "volumeclaims" +foreach ($file in "certificateserver.yaml mysqlserver.yaml rabbitmq-cert.yaml rabbitmq.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/${folder}/${file}" -customerid $customerid | kubectl apply -f - +} + +Write-Host "-- Deploying pods --" +$folder = "pods" +foreach ($file in "certificateserver.yaml mysqlserver.yaml interfaceengine.yaml rabbitmq.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/${folder}/${file}" -customerid $customerid | kubectl apply -f - +} + +Write-Host "-- Deploying cluster services --" +$folder = "services/cluster" +foreach ($file in "certificateserver.yaml mysqlserver.yaml interfaceengine.yaml rabbitmq.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/${folder}/${file}" -customerid $customerid | kubectl apply -f - +} + +Write-Host "-- Deploying external services --" +$folder = "services/external" +foreach ($file in "certificateserver.yaml rabbitmq.yaml interfaceengine.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/${folder}/${file}" -customerid $customerid | kubectl apply -f - +} + +Write-Host "-- Deploying HTTP proxies --" +$folder = "ingress/http" +foreach ($file in "web.yaml rabbitmq.yaml interfaceengine.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/${folder}/${file}" -customerid $customerid | kubectl apply -f - +} + +Write-Host "-- Deploying TCP proxies --" +$folder = "ingress/tcp" +foreach ($file in "mysqlserver.yaml interfaceengine.yaml rabbitmq.yaml".Split(" ")) { + ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/${folder}/${file}" -customerid $customerid | kubectl apply -f - +} + +kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime -o wide From 6f287fad74dbbcf1d720f320900174ae0480fb26 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 14:49:28 -0700 Subject: [PATCH 391/473] add function to read a config json and setup kubernetes stack Signed-off-by: HQCATALYST\imran.qureshi --- deployments/baremetal.json | 2 +- kubernetes/common-kube.ps1 | 58 +++++++++++++++- kubernetes/setupmaster.txt | 2 +- realtime/index.json | 68 +++++++++++++++++++ realtime/installrealtimekubernetes.ps1 | 4 +- realtime/installrealtimekubernetes.sh | 3 + realtime/installyaml.ps1 | 11 --- .../{ => azure}/certificateserver.yaml | 0 realtime/volumes/{ => azure}/mysqlserver.yaml | 0 .../volumes/{ => azure}/rabbitmq-cert.yaml | 0 realtime/volumes/{ => azure}/rabbitmq.yaml | 0 .../certificateserver.onprem.yaml | 0 .../{ => onprem}/mysqlserver.onprem.yaml | 0 .../{ => onprem}/rabbitmq-cert.onprem.yaml | 0 .../volumes/{ => onprem}/rabbitmq.onprem.yaml | 0 15 files changed, 131 insertions(+), 17 deletions(-) create mode 100644 realtime/index.json rename realtime/volumes/{ => azure}/certificateserver.yaml (100%) rename realtime/volumes/{ => azure}/mysqlserver.yaml (100%) rename realtime/volumes/{ => azure}/rabbitmq-cert.yaml (100%) rename realtime/volumes/{ => azure}/rabbitmq.yaml (100%) rename realtime/volumes/{ => onprem}/certificateserver.onprem.yaml (100%) rename realtime/volumes/{ => onprem}/mysqlserver.onprem.yaml (100%) rename realtime/volumes/{ => onprem}/rabbitmq-cert.onprem.yaml (100%) rename realtime/volumes/{ => onprem}/rabbitmq.onprem.yaml (100%) diff --git a/deployments/baremetal.json b/deployments/baremetal.json index 4181565..e1bf2e5 100644 --- a/deployments/baremetal.json +++ b/deployments/baremetal.json @@ -37,7 +37,7 @@ }, "network_security_group": { "name": "", - "create_nsg_rules": false + "create_nsg_rules": true }, "dns": { "create_dns_entries": false, diff --git a/kubernetes/common-kube.ps1 b/kubernetes/common-kube.ps1 index a0d2c76..cab7bff 100644 --- a/kubernetes/common-kube.ps1 +++ b/kubernetes/common-kube.ps1 @@ -1,5 +1,5 @@ # this file contains common functions for kubernetes -$versionkubecommon = "2018.03.27.03" +$versionkubecommon = "2018.03.27.04" $set = "abcdefghijklmnopqrstuvwxyz0123456789".ToCharArray() $randomstring += $set | Get-Random @@ -251,12 +251,66 @@ function global:CleanKubConfig() { [Environment]::SetEnvironmentVariable("KUBECONFIG", "", [EnvironmentVariableTarget]::User) } -function global:CleanSecrets([ValidateNotNullOrEmpty()] $namespace){ +function global:CleanSecrets([ValidateNotNullOrEmpty()] $namespace) { kubectl delete secret mysqlrootpassword -n $namespace --ignore-not-found=true kubectl delete secret mysqlpassword -n $namespace --ignore-not-found=true kubectl delete secret certhostname -n $namespace --ignore-not-found=true kubectl delete secret certpassword -n $namespace --ignore-not-found=true kubectl delete secret rabbitmqmgmtuipassword -n $namespace --ignore-not-found=true } + +function global:DeployYamlFiles([ValidateNotNullOrEmpty()] $namespace, [ValidateNotNullOrEmpty()] $baseUrl, [ValidateNotNullOrEmpty()] $appfolder, [ValidateNotNullOrEmpty()] $folder, [ValidateNotNullOrEmpty()] $customerid, $resources){ + [hashtable]$Return = @{} + + Write-Host "-- Deploying $folder --" + foreach ($file in $resources) { + ReadYamlAndReplaceCustomer -baseUrl $baseUrl -templateFile "${appfolder}/${folder}/${file}" -customerid $customerid | kubectl apply -f - + } + return $Return +} +function global:LoadStack([ValidateNotNullOrEmpty()] $namespace, [ValidateNotNullOrEmpty()] $baseUrl, [ValidateNotNullOrEmpty()] $appfolder, $isAzure) { + [hashtable]$Return = @{} + + if ([string]::IsNullOrWhiteSpace($(kubectl get namespace $namespace --ignore-not-found=true))) { + Write-Host "namespace $namespace does not exist so creating it" + kubectl create namespace $namespace + } + + # Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; + + $config = $(Get-Content "./$appfolder/index.json" -Raw | ConvertFrom-Json) + + foreach ($secret in $($config.secrets.password)) { + GenerateSecretPassword -secretname "$secret" -namespace "$namespace" + } + foreach ($secret in $($config.secrets.value)) { + AskForSecretValue -secretname "$secret" -prompt "Client Certificate hostname" -namespace "$namespace" + } + + CleanOutNamespace -namespace $namespace + + $customerid = ReadSecret -secretname customerid + $customerid = $customerid.ToLower().Trim() + Write-Output "Customer ID: $customerid" + + if ($isAzure) { + DeployYamlFiles -namespace $namespace -baseUrl $baseUrl -appfolder $appfolder -folder "volumes/azure" -customerid $customerid -resources $($config.resources.volumes.azure) + } + else { + DeployYamlFiles -namespace $namespace -baseUrl $baseUrl -appfolder $appfolder -folder "volumes/onprem" -customerid $customerid -resources $($config.resources.volumes.onprem) + } + + DeployYamlFiles -namespace $namespace -baseUrl $baseUrl -appfolder $appfolder -folder "pods" -customerid $customerid -resources $($config.resources.pods) + + DeployYamlFiles -namespace $namespace -baseUrl $baseUrl -appfolder $appfolder -folder "services/cluster" -customerid $customerid -resources $($config.resources.services.cluster) + + DeployYamlFiles -namespace $namespace -baseUrl $baseUrl -appfolder $appfolder -folder "services/external" -customerid $customerid -resources $($config.resources.services.external) + + DeployYamlFiles -namespace $namespace -baseUrl $baseUrl -appfolder $appfolder -folder "ingress/http" -customerid $customerid -resources $($config.resources.ingress.http) + + DeployYamlFiles -namespace $namespace -baseUrl $baseUrl -appfolder $appfolder -folder "ingress/tcp" -customerid $customerid -resources $($config.resources.ingress.tcp) + + return $Return +} # -------------------- Write-Host "end common-kube.ps1 version $versioncommon" \ No newline at end of file diff --git a/kubernetes/setupmaster.txt b/kubernetes/setupmaster.txt index 6783efd..eb363be 100644 --- a/kubernetes/setupmaster.txt +++ b/kubernetes/setupmaster.txt @@ -63,7 +63,7 @@ sudo chmod -R 777 /mnt/data # curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo # Install PowerShell -# sudo yum install -y powershell +sudo yum install -y powershell # Start PowerShell # pwsh diff --git a/realtime/index.json b/realtime/index.json new file mode 100644 index 0000000..a42935a --- /dev/null +++ b/realtime/index.json @@ -0,0 +1,68 @@ +{ + "name": "Fabric Realtime", + "version": "4.0.0.1", + "secrets": { + "password": [ + "mysqlrootpassword", + "mysqlpassword", + "certpassword", + "rabbitmqmgmtuipassword" + ], + "value": [ + "certhostname" + ] + }, + "resources": { + "volumes": { + "onprem": [ + "certificateserver.yaml", + " mysqlserver.yaml", + "rabbitmq-cert.yaml", + "rabbitmq.yaml" + ], + "azure": [ + "certificateserver.yaml", + " mysqlserver.yaml", + "rabbitmq-cert.yaml", + "rabbitmq.yaml" + ] + }, + "volumeclaims": [ + "certificateserver.yaml", + "mysqlserver.yaml", + "rabbitmq-cert.yaml", + "rabbitmq.yaml" + ], + "pods": [ + "certificateserver.yaml", + "mysqlserver.yaml", + "interfaceengine.yaml", + "rabbitmq.yaml" + ], + "services": { + "cluster": [ + "certificateserver.yaml", + "mysqlserver.yaml", + "interfaceengine.yaml", + "rabbitmq.yaml" + ], + "external": [ + "certificateserver.yaml", + "rabbitmq.yaml", + "interfaceengine.yaml" + ] + }, + "ingress": { + "http": [ + "web.yaml", + "rabbitmq.yaml", + "interfaceengine.yaml" + ], + "tcp": [ + "mysqlserver.yaml", + "interfaceengine.yaml", + "rabbitmq.yaml" + ] + } + } +} \ No newline at end of file diff --git a/realtime/installrealtimekubernetes.ps1 b/realtime/installrealtimekubernetes.ps1 index 7e2955d..31ccaca 100644 --- a/realtime/installrealtimekubernetes.ps1 +++ b/realtime/installrealtimekubernetes.ps1 @@ -1,4 +1,4 @@ -Write-Output "Version 2018.03.27.01" +Write-Output "Version 2018.03.27.02" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.ps1 | iex; @@ -18,6 +18,6 @@ $namespace = "fabricrealtime" CreateAzureStorage -namespace $namespace -Invoke-WebRequest -useb "$GITHUB_URL/realtime/installyaml.ps1?f=$randomstring" | Invoke-Expression; +LoadStack -namespace $namespace -baseUrl $GITHUB_URL -appfolder "realtime" -isAzure $false WaitForLoadBalancers -resourceGroup $(GetResourceGroup).ResourceGroup \ No newline at end of file diff --git a/realtime/installrealtimekubernetes.sh b/realtime/installrealtimekubernetes.sh index 80aa686..73b975b 100644 --- a/realtime/installrealtimekubernetes.sh +++ b/realtime/installrealtimekubernetes.sh @@ -49,6 +49,9 @@ fi sudo mkdir -p /mnt/data/fabricrealtime +# curl -sSL "$GITHUB_URL/realtime/installyaml.ps1" | pwsh + + customerid="$(ReadSecret customerid)" if [[ -z "$customerid" ]]; then echo "customerid not set" diff --git a/realtime/installyaml.ps1 b/realtime/installyaml.ps1 index ae3934d..649dd2a 100644 --- a/realtime/installyaml.ps1 +++ b/realtime/installyaml.ps1 @@ -11,19 +11,8 @@ Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1 | Invoke-Expres Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; # Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; -DownloadAzCliIfNeeded -GetLoggedInUserInfo - $namespace = "fabricrealtime" -$AKS_PERS_RESOURCE_GROUP = ReadSecretValue -secretname azure-secret -valueName "resourcegroup" - -if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) { - Write-Error "secret azure-secret not found" - exit -} -Write-Output "Using resource group: $AKS_PERS_RESOURCE_GROUP" - if ([string]::IsNullOrWhiteSpace($(kubectl get namespace $namespace --ignore-not-found=true))) { kubectl create namespace $namespace } diff --git a/realtime/volumes/certificateserver.yaml b/realtime/volumes/azure/certificateserver.yaml similarity index 100% rename from realtime/volumes/certificateserver.yaml rename to realtime/volumes/azure/certificateserver.yaml diff --git a/realtime/volumes/mysqlserver.yaml b/realtime/volumes/azure/mysqlserver.yaml similarity index 100% rename from realtime/volumes/mysqlserver.yaml rename to realtime/volumes/azure/mysqlserver.yaml diff --git a/realtime/volumes/rabbitmq-cert.yaml b/realtime/volumes/azure/rabbitmq-cert.yaml similarity index 100% rename from realtime/volumes/rabbitmq-cert.yaml rename to realtime/volumes/azure/rabbitmq-cert.yaml diff --git a/realtime/volumes/rabbitmq.yaml b/realtime/volumes/azure/rabbitmq.yaml similarity index 100% rename from realtime/volumes/rabbitmq.yaml rename to realtime/volumes/azure/rabbitmq.yaml diff --git a/realtime/volumes/certificateserver.onprem.yaml b/realtime/volumes/onprem/certificateserver.onprem.yaml similarity index 100% rename from realtime/volumes/certificateserver.onprem.yaml rename to realtime/volumes/onprem/certificateserver.onprem.yaml diff --git a/realtime/volumes/mysqlserver.onprem.yaml b/realtime/volumes/onprem/mysqlserver.onprem.yaml similarity index 100% rename from realtime/volumes/mysqlserver.onprem.yaml rename to realtime/volumes/onprem/mysqlserver.onprem.yaml diff --git a/realtime/volumes/rabbitmq-cert.onprem.yaml b/realtime/volumes/onprem/rabbitmq-cert.onprem.yaml similarity index 100% rename from realtime/volumes/rabbitmq-cert.onprem.yaml rename to realtime/volumes/onprem/rabbitmq-cert.onprem.yaml diff --git a/realtime/volumes/rabbitmq.onprem.yaml b/realtime/volumes/onprem/rabbitmq.onprem.yaml similarity index 100% rename from realtime/volumes/rabbitmq.onprem.yaml rename to realtime/volumes/onprem/rabbitmq.onprem.yaml From 4328d3dffab0d42b3849ff516a9d4cb0de63f954 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 16:26:42 -0700 Subject: [PATCH 392/473] enable setting secret from another secret Signed-off-by: HQCATALYST\imran.qureshi --- deployments/baremetal.json | 1 + deployments/fabrickubernetes.json | 1 + kubernetes/common-kube.ps1 | 19 ++++++++++++++++--- kubernetes/setup-loadbalancer.ps1 | 6 ++++-- realtime/index.json | 12 ++++++++---- realtime/installrealtimekubernetes.ps1 | 2 +- 6 files changed, 31 insertions(+), 10 deletions(-) diff --git a/deployments/baremetal.json b/deployments/baremetal.json index e1bf2e5..9aa2c55 100644 --- a/deployments/baremetal.json +++ b/deployments/baremetal.json @@ -40,6 +40,7 @@ "create_nsg_rules": true }, "dns": { + "name": "baremetal.healthcatalyst.net", "create_dns_entries": false, "dns_resource_group": "dns" } diff --git a/deployments/fabrickubernetes.json b/deployments/fabrickubernetes.json index 2c23783..f9a55ae 100644 --- a/deployments/fabrickubernetes.json +++ b/deployments/fabrickubernetes.json @@ -40,6 +40,7 @@ "create_nsg_rules": false }, "dns": { + "name": "fabrickubernetes.eastus.cloudapp.azure.com", "create_dns_entries": false, "dns_resource_group": "dns" } diff --git a/kubernetes/common-kube.ps1 b/kubernetes/common-kube.ps1 index cab7bff..5e36f84 100644 --- a/kubernetes/common-kube.ps1 +++ b/kubernetes/common-kube.ps1 @@ -1,5 +1,5 @@ # this file contains common functions for kubernetes -$versionkubecommon = "2018.03.27.04" +$versionkubecommon = "2018.03.27.05" $set = "abcdefghijklmnopqrstuvwxyz0123456789".ToCharArray() $randomstring += $set | Get-Random @@ -276,15 +276,28 @@ function global:LoadStack([ValidateNotNullOrEmpty()] $namespace, [ValidateNotNul kubectl create namespace $namespace } + $configpath="./$appfolder/index.json" # Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; - $config = $(Get-Content "./$appfolder/index.json" -Raw | ConvertFrom-Json) + $config = $(Get-Content "$configpath" -Raw | ConvertFrom-Json) + + Write-Host "Installing stack $($config.name) version $($config.version) from $configpath" foreach ($secret in $($config.secrets.password)) { GenerateSecretPassword -secretname "$secret" -namespace "$namespace" } foreach ($secret in $($config.secrets.value)) { - AskForSecretValue -secretname "$secret" -prompt "Client Certificate hostname" -namespace "$namespace" + # AskForSecretValue -secretname "$secret" -prompt "Client Certificate hostname" -namespace "$namespace" + if($secret -is [String]){ + AskForSecretValue -secretname "$secret" -prompt "Client Certificate hostname" -namespace "$namespace" + } + else { + $sourceSecretName = $($secret.valueFromSecret.name) + $sourceSecretNamespace = $($secret.valueFromSecret.namespace) + $value = ReadSecret -secretname $sourceSecretName -namespace $sourceSecretNamespace + Write-Host "Setting secret $($secret.name) to value from $sourceSecretName in namespace $sourceSecretNamespace with value $value" + SaveSecretValue -secretname "$($secret.name)" -valueName "value" -value $value -namespace "$namespace" + } } CleanOutNamespace -namespace $namespace diff --git a/kubernetes/setup-loadbalancer.ps1 b/kubernetes/setup-loadbalancer.ps1 index 223daea..78b80be 100644 --- a/kubernetes/setup-loadbalancer.ps1 +++ b/kubernetes/setup-loadbalancer.ps1 @@ -262,14 +262,16 @@ $INTERNAL_IP = $loadBalancerIPResult.InternalIP FixLoadBalancers -resourceGroup $AKS_PERS_RESOURCE_GROUP -$dnsrecordname = "$customerid.healthcatalyst.net" +$dnsrecordname = $($config.dns.name) + +SaveSecretValue -secretname "dns_name" -valueName "value" -value $dnsrecordname if ($($config.dns.create_dns_entries)) { SetupDNS -dnsResourceGroup $DNS_RESOURCE_GROUP -dnsrecordname $dnsrecordname -externalIP $EXTERNAL_IP } else { Write-Output "To access the urls from your browser, add the following entries in your c:\windows\system32\drivers\etc\hosts file" - Write-Output "$EXTERNAL_IP dashboard.$dnsrecordname" + Write-Output "$EXTERNAL_IP $dnsrecordname" } diff --git a/realtime/index.json b/realtime/index.json index a42935a..1da6f02 100644 --- a/realtime/index.json +++ b/realtime/index.json @@ -1,6 +1,6 @@ { "name": "Fabric Realtime", - "version": "4.0.0.1", + "version": "4.0.0.2", "secrets": { "password": [ "mysqlrootpassword", @@ -8,9 +8,13 @@ "certpassword", "rabbitmqmgmtuipassword" ], - "value": [ - "certhostname" - ] + "value": [{ + "name": "certhostname", + "valueFromSecret": { + "name": "dns_name", + "namespace": "default" + } + }] }, "resources": { "volumes": { diff --git a/realtime/installrealtimekubernetes.ps1 b/realtime/installrealtimekubernetes.ps1 index 31ccaca..fbc20fb 100644 --- a/realtime/installrealtimekubernetes.ps1 +++ b/realtime/installrealtimekubernetes.ps1 @@ -18,6 +18,6 @@ $namespace = "fabricrealtime" CreateAzureStorage -namespace $namespace -LoadStack -namespace $namespace -baseUrl $GITHUB_URL -appfolder "realtime" -isAzure $false +LoadStack -namespace $namespace -baseUrl $GITHUB_URL -appfolder "realtime" -isAzure $true WaitForLoadBalancers -resourceGroup $(GetResourceGroup).ResourceGroup \ No newline at end of file From efb38839c9422679b7a8eb3cdba25c7f75013c0e Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 16:37:30 -0700 Subject: [PATCH 393/473] remove _ from dns_name since secrets don't allow that character Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/common-kube.ps1 | 3 ++- kubernetes/setup-loadbalancer.ps1 | 2 +- realtime/index.json | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/kubernetes/common-kube.ps1 b/kubernetes/common-kube.ps1 index 5e36f84..d218269 100644 --- a/kubernetes/common-kube.ps1 +++ b/kubernetes/common-kube.ps1 @@ -277,7 +277,8 @@ function global:LoadStack([ValidateNotNullOrEmpty()] $namespace, [ValidateNotNul } $configpath="./$appfolder/index.json" - # Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; + # $configpath = "$baseUrl/${appfolder}/index.json" + # $config = $(Invoke-WebRequest -useb $configpath | ConvertFrom-Json) $config = $(Get-Content "$configpath" -Raw | ConvertFrom-Json) diff --git a/kubernetes/setup-loadbalancer.ps1 b/kubernetes/setup-loadbalancer.ps1 index 78b80be..627b9e1 100644 --- a/kubernetes/setup-loadbalancer.ps1 +++ b/kubernetes/setup-loadbalancer.ps1 @@ -264,7 +264,7 @@ FixLoadBalancers -resourceGroup $AKS_PERS_RESOURCE_GROUP $dnsrecordname = $($config.dns.name) -SaveSecretValue -secretname "dns_name" -valueName "value" -value $dnsrecordname +SaveSecretValue -secretname "dnsname" -valueName "value" -value $dnsrecordname if ($($config.dns.create_dns_entries)) { SetupDNS -dnsResourceGroup $DNS_RESOURCE_GROUP -dnsrecordname $dnsrecordname -externalIP $EXTERNAL_IP diff --git a/realtime/index.json b/realtime/index.json index 1da6f02..e80323a 100644 --- a/realtime/index.json +++ b/realtime/index.json @@ -11,7 +11,7 @@ "value": [{ "name": "certhostname", "valueFromSecret": { - "name": "dns_name", + "name": "dnsname", "namespace": "default" } }] From c87d7fb225f3ff31024d8a3997bb8f4cae7f742b Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 16:50:11 -0700 Subject: [PATCH 394/473] fix typo Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/common-kube.ps1 | 10 +++++----- realtime/index.json | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/kubernetes/common-kube.ps1 b/kubernetes/common-kube.ps1 index d218269..e783714 100644 --- a/kubernetes/common-kube.ps1 +++ b/kubernetes/common-kube.ps1 @@ -276,11 +276,11 @@ function global:LoadStack([ValidateNotNullOrEmpty()] $namespace, [ValidateNotNul kubectl create namespace $namespace } - $configpath="./$appfolder/index.json" - # $configpath = "$baseUrl/${appfolder}/index.json" - # $config = $(Invoke-WebRequest -useb $configpath | ConvertFrom-Json) + $configpath = "$baseUrl/${appfolder}/index.json" + $config = $(Invoke-WebRequest -useb $configpath | ConvertFrom-Json) - $config = $(Get-Content "$configpath" -Raw | ConvertFrom-Json) + # $configpath="./$appfolder/index.json" + # $config = $(Get-Content "$configpath" -Raw | ConvertFrom-Json) Write-Host "Installing stack $($config.name) version $($config.version) from $configpath" @@ -296,7 +296,7 @@ function global:LoadStack([ValidateNotNullOrEmpty()] $namespace, [ValidateNotNul $sourceSecretName = $($secret.valueFromSecret.name) $sourceSecretNamespace = $($secret.valueFromSecret.namespace) $value = ReadSecret -secretname $sourceSecretName -namespace $sourceSecretNamespace - Write-Host "Setting secret $($secret.name) to value from $sourceSecretName in namespace $sourceSecretNamespace with value $value" + Write-Host "Setting secret [$($secret.name)] to secret [$sourceSecretName] in namespace [$sourceSecretNamespace] with value [$value]" SaveSecretValue -secretname "$($secret.name)" -valueName "value" -value $value -namespace "$namespace" } } diff --git a/realtime/index.json b/realtime/index.json index e80323a..8dea537 100644 --- a/realtime/index.json +++ b/realtime/index.json @@ -20,13 +20,13 @@ "volumes": { "onprem": [ "certificateserver.yaml", - " mysqlserver.yaml", + "mysqlserver.yaml", "rabbitmq-cert.yaml", "rabbitmq.yaml" ], "azure": [ "certificateserver.yaml", - " mysqlserver.yaml", + "mysqlserver.yaml", "rabbitmq-cert.yaml", "rabbitmq.yaml" ] From b049ba486f8fcfcbb75900c27c805e19ee3c4c10 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 17:01:14 -0700 Subject: [PATCH 395/473] fix typo Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 553c9b1..504e8de 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.03.27.01" +version="2018.03.27.02" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -158,7 +158,6 @@ while [[ "$input" != "q" ]]; do read -n1 -r -p "Press space to continue..." key < /dev/tty done ;; - ;; q) echo "Exiting" ;; *) echo "Menu item $1 is not known" @@ -166,6 +165,9 @@ while [[ "$input" != "q" ]]; do esac echo "" +if [[ "$input" -eq "q" ]]; then + exit +fi read -p "[Press Enter to Continue]" < /dev/tty clear done From cdf4e254be7b9ad11a41e9b56a72c5cf992d924c Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 17:23:46 -0700 Subject: [PATCH 396/473] change dnsname to dnshostname Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 18 ++++++++++++++++++ kubernetes/common-kube.ps1 | 15 +++++++++++++++ kubernetes/setup-loadbalancer.ps1 | 2 +- kubernetes/setupmaster.txt | 6 +++--- realtime/index.json | 2 +- realtime/installrealtime.onprem.ps1 | 18 ++++++++++++++++++ 6 files changed, 56 insertions(+), 5 deletions(-) create mode 100644 realtime/installrealtime.onprem.ps1 diff --git a/azure/common.ps1 b/azure/common.ps1 index 203cfc6..f34541c 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1533,6 +1533,24 @@ function global:CreateAzureStorage([ValidateNotNullOrEmpty()] $namespace) { return $Return } +function global:CreateOnPremStorage([ValidateNotNullOrEmpty()] $namespace) { + [hashtable]$Return = @{} + + if ([string]::IsNullOrWhiteSpace($namespace)) { + Write-Error "no parameter passed to CreateOnPremStorage" + exit + } + + + $shareName = "$namespace" + $sharePath = "/mnt/data/$shareName" + + Write-Output "Create the file share: $sharePath" + + New-Item -ItemType Directory -Force -Path $sharePath + + return $Return +} function global:WaitForLoadBalancers([ValidateNotNullOrEmpty()] $resourceGroup) { $loadBalancerIP = kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' --ignore-not-found=true if ([string]::IsNullOrWhiteSpace($loadBalancerIP)) { diff --git a/kubernetes/common-kube.ps1 b/kubernetes/common-kube.ps1 index e783714..1e30314 100644 --- a/kubernetes/common-kube.ps1 +++ b/kubernetes/common-kube.ps1 @@ -326,5 +326,20 @@ function global:LoadStack([ValidateNotNullOrEmpty()] $namespace, [ValidateNotNul return $Return } + +# from http://www.bricelam.net/2012/09/simple-template-engine-for-powershell.html +function Merge-Tokens($template, $tokens) +{ + return [regex]::Replace( + $template, + '\$(?\w+)\$', + { + param($match) + + $tokenName = $match.Groups['tokenName'].Value + + return $tokens[$tokenName] + }) +} # -------------------- Write-Host "end common-kube.ps1 version $versioncommon" \ No newline at end of file diff --git a/kubernetes/setup-loadbalancer.ps1 b/kubernetes/setup-loadbalancer.ps1 index 627b9e1..f398bb7 100644 --- a/kubernetes/setup-loadbalancer.ps1 +++ b/kubernetes/setup-loadbalancer.ps1 @@ -264,7 +264,7 @@ FixLoadBalancers -resourceGroup $AKS_PERS_RESOURCE_GROUP $dnsrecordname = $($config.dns.name) -SaveSecretValue -secretname "dnsname" -valueName "value" -value $dnsrecordname +SaveSecretValue -secretname "dnshostname" -valueName "value" -value $dnsrecordname if ($($config.dns.create_dns_entries)) { SetupDNS -dnsResourceGroup $DNS_RESOURCE_GROUP -dnsrecordname $dnsrecordname -externalIP $EXTERNAL_IP diff --git a/kubernetes/setupmaster.txt b/kubernetes/setupmaster.txt index eb363be..f60c953 100644 --- a/kubernetes/setupmaster.txt +++ b/kubernetes/setupmaster.txt @@ -56,9 +56,9 @@ sudo chmod -R 777 /mnt/data # kubectl run nginx --image=nginx --port=80 # Register the Microsoft RedHat repository -# sudo yum-config-manager \ -# --add-repo \ -# https://packages.microsoft.com/config/rhel/7/prod.repo +sudo yum-config-manager \ + --add-repo \ + https://packages.microsoft.com/config/rhel/7/prod.repo # curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo diff --git a/realtime/index.json b/realtime/index.json index 8dea537..29d5988 100644 --- a/realtime/index.json +++ b/realtime/index.json @@ -11,7 +11,7 @@ "value": [{ "name": "certhostname", "valueFromSecret": { - "name": "dnsname", + "name": "dnshostname", "namespace": "default" } }] diff --git a/realtime/installrealtime.onprem.ps1 b/realtime/installrealtime.onprem.ps1 new file mode 100644 index 0000000..086d47b --- /dev/null +++ b/realtime/installrealtime.onprem.ps1 @@ -0,0 +1,18 @@ +Write-Output "Version 2018.03.27.02" + +# curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.ps1 | iex; + +$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" +# $GITHUB_URL = "." + +Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1 | Invoke-Expression; +# Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; + +Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; +# Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; + +$namespace = "fabricrealtime" + +CreateOnPremStorage -namespace $namespace + +LoadStack -namespace $namespace -baseUrl $GITHUB_URL -appfolder "realtime" -isAzure $false From c2fea5ea54ad5dba7a0a23f575e1bce87c79628e Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 17:26:44 -0700 Subject: [PATCH 397/473] remove obsolete file Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/setup-loadbalancer.sh | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/kubernetes/setup-loadbalancer.sh b/kubernetes/setup-loadbalancer.sh index b36a0ac..588ba0e 100644 --- a/kubernetes/setup-loadbalancer.sh +++ b/kubernetes/setup-loadbalancer.sh @@ -9,7 +9,7 @@ GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/mast source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh?p=$RANDOM") # source ./kubernetes/common.sh -version="2018.03.20.01" +version="2018.03.27.01" echo "---- setup-loadbalancer.sh version $version ------" @@ -90,11 +90,6 @@ echo "Downloading $GITHUB_URL/$yamlfile" ReadYamlAndReplaceCustomer $GITHUB_URL "$yamlfile" $customerid \ | kubectl apply -f - -yamlfile="kubernetes/loadbalancer/ingress/default-onprem.yaml" -echo "Downloading $GITHUB_URL/$yamlfile" -ReadYamlAndReplaceCustomer $GITHUB_URL "$yamlfile" $customerid \ - | kubectl apply -f - - loadbalancer="traefik-ingress-service-public" loadBalancerIP="$(dig +short myip.opendns.com @resolver1.opendns.com)" echo "My WAN/Public IP address: ${loadBalancerIP}" From b0fd2f193ba6dd9d0a066b597d57bfa1ec02f352 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 17:49:30 -0700 Subject: [PATCH 398/473] pin yum packages for docker and kubernetes so they don't get upgraded Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/setupnode.txt | 5 ++++- kubernetes/setupnode2.txt | 9 ++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/kubernetes/setupnode.txt b/kubernetes/setupnode.txt index 8714668..2e8b113 100644 --- a/kubernetes/setupnode.txt +++ b/kubernetes/setupnode.txt @@ -6,12 +6,14 @@ set -e # # -version="2018.02.15.01" +version="2018.03.27.01" echo "---- setupnode version $version ----" u="$(whoami)" echo "User name: $u" +sudo yum -y install yum-versionlock + sudo yum update -y # remove older versions @@ -25,6 +27,7 @@ sudo yum-config-manager \ sudo yum repolist sudo yum install -y docker-engine-17.03.1.ce-1.el7.centos +sudo yum versionlock docker-engine # https://kubernetes.io/docs/setup/independent/install-kubeadm/ # log rotation for docker: https://docs.docker.com/config/daemon/ diff --git a/kubernetes/setupnode2.txt b/kubernetes/setupnode2.txt index d39e821..22ccdd1 100644 --- a/kubernetes/setupnode2.txt +++ b/kubernetes/setupnode2.txt @@ -6,7 +6,7 @@ set -e # # -version="2018.02.06.01" +version="2018.03.27.01" echo "---- setupnode2 version $version ----" # remove the line from next run @@ -29,7 +29,14 @@ EOF # install kubeadm # https://saurabh-deochake.github.io/posts/2017/07/post-1/ sudo setenforce 0 +sudo systemctl stop kubelet +sudo yum remove -y kubelet-1.9.3-0 kubeadm-1.9.3-0 kubectl-1.9.3-0 kubernetes-cni-0.6.0-0 sudo yum install -y kubelet-1.9.3-0 kubeadm-1.9.3-0 kubectl-1.9.3-0 kubernetes-cni-0.6.0-0 +sudo yum versionlock kubelet +sudo yum versionlock kubeadm +sudo yum versionlock kubectl +sudo yum versionlock kubernetes-cni + sudo systemctl enable kubelet && sudo systemctl start kubelet # Some users on RHEL/CentOS 7 have reported issues with traffic being routed incorrectly due to iptables being bypassed From 28e0f1e1452dd3b3368fc83ffe0acde240ffc50d Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 17:56:00 -0700 Subject: [PATCH 399/473] update kubernetes to 1.9.4 Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/setupmaster.txt | 2 +- kubernetes/setupnode2.txt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/kubernetes/setupmaster.txt b/kubernetes/setupmaster.txt index f60c953..01ac075 100644 --- a/kubernetes/setupmaster.txt +++ b/kubernetes/setupmaster.txt @@ -19,7 +19,7 @@ echo "User name: $u" # sudo kubeadm init --kubernetes-version=v1.9.3 --pod-network-cidr=192.168.0.0/16 # for flannel network plugin -sudo kubeadm init --kubernetes-version=v1.9.3 --pod-network-cidr=10.244.0.0/16 +sudo kubeadm init --kubernetes-version=v1.9.4 --pod-network-cidr=10.244.0.0/16 # which CNI plugin to use: https://chrislovecnm.com/kubernetes/cni/choosing-a-cni-provider/ diff --git a/kubernetes/setupnode2.txt b/kubernetes/setupnode2.txt index 22ccdd1..86b615b 100644 --- a/kubernetes/setupnode2.txt +++ b/kubernetes/setupnode2.txt @@ -30,8 +30,8 @@ EOF # https://saurabh-deochake.github.io/posts/2017/07/post-1/ sudo setenforce 0 sudo systemctl stop kubelet -sudo yum remove -y kubelet-1.9.3-0 kubeadm-1.9.3-0 kubectl-1.9.3-0 kubernetes-cni-0.6.0-0 -sudo yum install -y kubelet-1.9.3-0 kubeadm-1.9.3-0 kubectl-1.9.3-0 kubernetes-cni-0.6.0-0 +sudo yum remove -y kubelet kubeadm kubectl kubernetes-cni +sudo yum install -y kubelet-1.9.4-0 kubeadm-1.9.4-0 kubectl-1.9.4-0 kubernetes-cni-0.6.0-0 sudo yum versionlock kubelet sudo yum versionlock kubeadm sudo yum versionlock kubectl From 01dfd045d094f706964b5e11d10851bf7345b28a Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 17:59:27 -0700 Subject: [PATCH 400/473] remove old docker engine when installing Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/setupnode.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubernetes/setupnode.txt b/kubernetes/setupnode.txt index 2e8b113..08799c1 100644 --- a/kubernetes/setupnode.txt +++ b/kubernetes/setupnode.txt @@ -17,7 +17,7 @@ sudo yum -y install yum-versionlock sudo yum update -y # remove older versions -sudo yum -y remove docker-engine.x86_64 docker-ce docker-engine-selinux.noarch docker-cimprov.x86_64 +sudo yum -y remove docker-engine.x86_64 docker-ce docker-engine-selinux.noarch docker-cimprov.x86_64 docker-engine sudo rm -rf /var/lib/docker sudo yum-config-manager \ From dbc6102a4f2b9cd3d169a90a88f7ae51e92381bd Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 18:06:33 -0700 Subject: [PATCH 401/473] show versions available in yum Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/setupmaster.txt | 2 +- kubernetes/setupnode.txt | 4 ++++ kubernetes/setupnode2.txt | 6 +++++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/kubernetes/setupmaster.txt b/kubernetes/setupmaster.txt index 01ac075..f60c953 100644 --- a/kubernetes/setupmaster.txt +++ b/kubernetes/setupmaster.txt @@ -19,7 +19,7 @@ echo "User name: $u" # sudo kubeadm init --kubernetes-version=v1.9.3 --pod-network-cidr=192.168.0.0/16 # for flannel network plugin -sudo kubeadm init --kubernetes-version=v1.9.4 --pod-network-cidr=10.244.0.0/16 +sudo kubeadm init --kubernetes-version=v1.9.3 --pod-network-cidr=10.244.0.0/16 # which CNI plugin to use: https://chrislovecnm.com/kubernetes/cni/choosing-a-cni-provider/ diff --git a/kubernetes/setupnode.txt b/kubernetes/setupnode.txt index 08799c1..da20064 100644 --- a/kubernetes/setupnode.txt +++ b/kubernetes/setupnode.txt @@ -17,6 +17,7 @@ sudo yum -y install yum-versionlock sudo yum update -y # remove older versions +sudo systemctl stop docker sudo yum -y remove docker-engine.x86_64 docker-ce docker-engine-selinux.noarch docker-cimprov.x86_64 docker-engine sudo rm -rf /var/lib/docker @@ -26,6 +27,9 @@ sudo yum-config-manager \ sudo yum repolist +echo "docker versions available in repo" +sudo yum --showduplicates list docker-engine + sudo yum install -y docker-engine-17.03.1.ce-1.el7.centos sudo yum versionlock docker-engine diff --git a/kubernetes/setupnode2.txt b/kubernetes/setupnode2.txt index 86b615b..2233c2a 100644 --- a/kubernetes/setupnode2.txt +++ b/kubernetes/setupnode2.txt @@ -31,7 +31,11 @@ EOF sudo setenforce 0 sudo systemctl stop kubelet sudo yum remove -y kubelet kubeadm kubectl kubernetes-cni -sudo yum install -y kubelet-1.9.4-0 kubeadm-1.9.4-0 kubectl-1.9.4-0 kubernetes-cni-0.6.0-0 + +echo "kubernetes versions available in repo" +sudo yum --showduplicates list kubelet kubeadm kubectl kubernetes-cni + +sudo yum install -y kubelet-1.9.3-0 kubeadm-1.9.3-0 kubectl-1.9.6-0 kubernetes-cni-0.6.0-0 sudo yum versionlock kubelet sudo yum versionlock kubeadm sudo yum versionlock kubectl From c424b754c3982f19a2a8086b4e40c9aa480065ed Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 18:18:18 -0700 Subject: [PATCH 402/473] remove old docker Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/setupnode.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kubernetes/setupnode.txt b/kubernetes/setupnode.txt index da20064..ac3fc9a 100644 --- a/kubernetes/setupnode.txt +++ b/kubernetes/setupnode.txt @@ -18,7 +18,9 @@ sudo yum update -y # remove older versions sudo systemctl stop docker +sudo yum remove -y kubelet kubeadm kubectl kubernetes-cni sudo yum -y remove docker-engine.x86_64 docker-ce docker-engine-selinux.noarch docker-cimprov.x86_64 docker-engine +sudo yum -y remove docker docker-common docker-selinux docker-engine sudo rm -rf /var/lib/docker sudo yum-config-manager \ @@ -30,7 +32,7 @@ sudo yum repolist echo "docker versions available in repo" sudo yum --showduplicates list docker-engine -sudo yum install -y docker-engine-17.03.1.ce-1.el7.centos +sudo yum install -y docker-engine-selinux-17.03.1.ce-1.el7.centos.noarch docker-engine-17.03.1.ce-1.el7.centos sudo yum versionlock docker-engine # https://kubernetes.io/docs/setup/independent/install-kubeadm/ From a367a77eb8730aa7481299f6dbe6bb3bd82a8160 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 18:28:24 -0700 Subject: [PATCH 403/473] hide error when trying to stop services if they don't exist Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 18 +++++++++--------- kubernetes/setupnode.txt | 2 +- kubernetes/setupnode2.txt | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 504e8de..0d91e9d 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.03.27.02" +version="2018.03.27.03" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -64,10 +64,10 @@ while [[ "$input" != "q" ]]; do read -p "Please make a selection:" -e input < /dev/tty case "$input" in - 1) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt?p=$RANDOM | bash - curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupmaster.txt?p=$RANDOM | bash - curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh?p=$RANDOM | bash - curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/dashboard/setup-kubdashboard.sh?p=$RANDOM | bash + 1) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt?p=$RANDOM | bash 2>&1 | tee ~/setupnode.log + curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupmaster.txt?p=$RANDOM | bash 2>&1 | tee ~/setupmaster.log + curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh?p=$RANDOM | bash 2>&1 | tee ~/setup-loadbalancer.log + curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/dashboard/setup-kubdashboard.sh?p=$RANDOM | bash 2>&1 | tee ~/setup-kubdashboard.log ;; 2) echo "Current cluster: $(kubectl config current-context)" kubectl version --short @@ -80,17 +80,17 @@ while [[ "$input" != "q" ]]; do ;; 5) mountAzureFile ;; - 6) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh?p=$RANDOM | bash + 6) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh?p=$RANDOM | bash 2>&1 | tee ~/setup-loadbalancer.log ;; - 7) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/dashboard/setup-kubdashboard.sh?p=$RANDOM | bash + curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/dashboard/setup-kubdashboard.sh?p=$RANDOM | bash 2>&1 | tee ~/setup-kubdashboard.log ;; - 12) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt?p=$RANDOM | bash + 12) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt?p=$RANDOM | bash 2>&1 | tee ~/setupnode.log ;; 14) mountSMB ;; 15) mountAzureFile ;; - 25) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh?p=$RANDOM | bash + 25) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh?p=$RANDOM | bash 2>&1 | tee ~/installnlpkubernetes.log ;; 31) echo "Current cluster: $(kubectl config current-context)" kubectl version --short diff --git a/kubernetes/setupnode.txt b/kubernetes/setupnode.txt index ac3fc9a..bdd78f7 100644 --- a/kubernetes/setupnode.txt +++ b/kubernetes/setupnode.txt @@ -17,7 +17,7 @@ sudo yum -y install yum-versionlock sudo yum update -y # remove older versions -sudo systemctl stop docker +sudo systemctl stop docker 2>/dev/null sudo yum remove -y kubelet kubeadm kubectl kubernetes-cni sudo yum -y remove docker-engine.x86_64 docker-ce docker-engine-selinux.noarch docker-cimprov.x86_64 docker-engine sudo yum -y remove docker docker-common docker-selinux docker-engine diff --git a/kubernetes/setupnode2.txt b/kubernetes/setupnode2.txt index 2233c2a..080a433 100644 --- a/kubernetes/setupnode2.txt +++ b/kubernetes/setupnode2.txt @@ -29,7 +29,7 @@ EOF # install kubeadm # https://saurabh-deochake.github.io/posts/2017/07/post-1/ sudo setenforce 0 -sudo systemctl stop kubelet +sudo systemctl stop kubelet 2>/dev/null sudo yum remove -y kubelet kubeadm kubectl kubernetes-cni echo "kubernetes versions available in repo" From 4a0ae9a4c823e2f07d10bdd619fc5a962f19e30b Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 18:35:02 -0700 Subject: [PATCH 404/473] add dates to log filenames Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 0d91e9d..46b82c4 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -64,10 +64,10 @@ while [[ "$input" != "q" ]]; do read -p "Please make a selection:" -e input < /dev/tty case "$input" in - 1) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt?p=$RANDOM | bash 2>&1 | tee ~/setupnode.log - curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupmaster.txt?p=$RANDOM | bash 2>&1 | tee ~/setupmaster.log - curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh?p=$RANDOM | bash 2>&1 | tee ~/setup-loadbalancer.log - curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/dashboard/setup-kubdashboard.sh?p=$RANDOM | bash 2>&1 | tee ~/setup-kubdashboard.log + 1) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt?p=$RANDOM | bash 2>&1 | tee ~/setupnode.$(date +"%Y%m%d_%H%M%S").log + curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupmaster.txt?p=$RANDOM | bash 2>&1 | tee ~/setupmaster.$(date +"%Y%m%d_%H%M%S").log + curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh?p=$RANDOM | bash 2>&1 | tee ~/setup-loadbalancer.$(date +"%Y%m%d_%H%M%S").log + curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/dashboard/setup-kubdashboard.sh?p=$RANDOM | bash 2>&1 | tee ~/setup-kubdashboard.$(date +"%Y%m%d_%H%M%S").log ;; 2) echo "Current cluster: $(kubectl config current-context)" kubectl version --short @@ -80,17 +80,17 @@ while [[ "$input" != "q" ]]; do ;; 5) mountAzureFile ;; - 6) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh?p=$RANDOM | bash 2>&1 | tee ~/setup-loadbalancer.log + 6) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh?p=$RANDOM | bash 2>&1 | tee ~/setup-loadbalancer.$(date +"%Y%m%d_%H%M%S").log ;; - curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/dashboard/setup-kubdashboard.sh?p=$RANDOM | bash 2>&1 | tee ~/setup-kubdashboard.log + curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/dashboard/setup-kubdashboard.sh?p=$RANDOM | bash 2>&1 | tee ~/setup-kubdashboard.$(date +"%Y%m%d_%H%M%S").log ;; - 12) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt?p=$RANDOM | bash 2>&1 | tee ~/setupnode.log + 12) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt?p=$RANDOM | bash 2>&1 | tee ~/setupnode.$(date +"%Y%m%d_%H%M%S").log ;; 14) mountSMB ;; 15) mountAzureFile ;; - 25) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh?p=$RANDOM | bash 2>&1 | tee ~/installnlpkubernetes.log + 25) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh?p=$RANDOM | bash 2>&1 | tee ~/installnlpkubernetes.$(date +"%Y%m%d_%H%M%S").log ;; 31) echo "Current cluster: $(kubectl config current-context)" kubectl version --short From 68ac2a17269e5ca75fd1a55cf30d683420a258c5 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 18:37:07 -0700 Subject: [PATCH 405/473] typo Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/common.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/kubernetes/common.sh b/kubernetes/common.sh index 2ba06a9..f1c4102 100644 --- a/kubernetes/common.sh +++ b/kubernetes/common.sh @@ -286,3 +286,4 @@ function CleanOutNamespace(){ fi done } +echo "--- Finished including common.sh version $versioncommon ---" From 817dbc9ea9d86e0f4e90f695fccbc9b78a141569 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 18:39:57 -0700 Subject: [PATCH 406/473] remove a line to see if it is causing issues Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 46b82c4..8c3503e 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.03.27.03" +version="2018.03.27.04" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -80,11 +80,11 @@ while [[ "$input" != "q" ]]; do ;; 5) mountAzureFile ;; - 6) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh?p=$RANDOM | bash 2>&1 | tee ~/setup-loadbalancer.$(date +"%Y%m%d_%H%M%S").log + 6) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh?p=$RANDOM | bash ;; - curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/dashboard/setup-kubdashboard.sh?p=$RANDOM | bash 2>&1 | tee ~/setup-kubdashboard.$(date +"%Y%m%d_%H%M%S").log + curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/dashboard/setup-kubdashboard.sh?p=$RANDOM | bash ;; - 12) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt?p=$RANDOM | bash 2>&1 | tee ~/setupnode.$(date +"%Y%m%d_%H%M%S").log + 12) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt?p=$RANDOM | bash ;; 14) mountSMB ;; From d1c28da8a71ffb9849a41ad99e52a2ec210a4f81 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 18:43:16 -0700 Subject: [PATCH 407/473] revert main.sh to see if it fixes hte issue Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 8c3503e..a28255c 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.03.27.04" +version="2018.03.27.03" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -64,10 +64,10 @@ while [[ "$input" != "q" ]]; do read -p "Please make a selection:" -e input < /dev/tty case "$input" in - 1) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt?p=$RANDOM | bash 2>&1 | tee ~/setupnode.$(date +"%Y%m%d_%H%M%S").log - curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupmaster.txt?p=$RANDOM | bash 2>&1 | tee ~/setupmaster.$(date +"%Y%m%d_%H%M%S").log - curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh?p=$RANDOM | bash 2>&1 | tee ~/setup-loadbalancer.$(date +"%Y%m%d_%H%M%S").log - curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/dashboard/setup-kubdashboard.sh?p=$RANDOM | bash 2>&1 | tee ~/setup-kubdashboard.$(date +"%Y%m%d_%H%M%S").log + 1) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt?p=$RANDOM | bash 2>&1 | tee ~/setupnode.log + curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupmaster.txt?p=$RANDOM | bash 2>&1 | tee ~/setupmaster.log + curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh?p=$RANDOM | bash 2>&1 | tee ~/setup-loadbalancer.log + curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/dashboard/setup-kubdashboard.sh?p=$RANDOM | bash 2>&1 | tee ~/setup-kubdashboard.log ;; 2) echo "Current cluster: $(kubectl config current-context)" kubectl version --short @@ -80,17 +80,17 @@ while [[ "$input" != "q" ]]; do ;; 5) mountAzureFile ;; - 6) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh?p=$RANDOM | bash + 6) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh?p=$RANDOM | bash 2>&1 | tee ~/setup-loadbalancer.log ;; - curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/dashboard/setup-kubdashboard.sh?p=$RANDOM | bash + curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/dashboard/setup-kubdashboard.sh?p=$RANDOM | bash 2>&1 | tee ~/setup-kubdashboard.log ;; - 12) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt?p=$RANDOM | bash + 12) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt?p=$RANDOM | bash 2>&1 | tee ~/setupnode.log ;; 14) mountSMB ;; 15) mountAzureFile ;; - 25) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh?p=$RANDOM | bash 2>&1 | tee ~/installnlpkubernetes.$(date +"%Y%m%d_%H%M%S").log + 25) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh?p=$RANDOM | bash 2>&1 | tee ~/installnlpkubernetes.log ;; 31) echo "Current cluster: $(kubectl config current-context)" kubectl version --short @@ -170,4 +170,4 @@ if [[ "$input" -eq "q" ]]; then fi read -p "[Press Enter to Continue]" < /dev/tty clear -done +done \ No newline at end of file From dd7281de28aea236881df3a1790f6079de4f8aec Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 18:45:46 -0700 Subject: [PATCH 408/473] minor Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index a28255c..ed5c094 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -7,6 +7,8 @@ set -e # version="2018.03.27.03" +echo "main.sh version $version" + GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh?p=$RANDOM") From 046758e2b3d631f7e683c5ea0336c9da633cd0bc Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 18:48:42 -0700 Subject: [PATCH 409/473] revert Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index ed5c094..80c0631 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,9 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.03.27.03" - -echo "main.sh version $version" +version="2018.03.27.02" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -66,10 +64,10 @@ while [[ "$input" != "q" ]]; do read -p "Please make a selection:" -e input < /dev/tty case "$input" in - 1) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt?p=$RANDOM | bash 2>&1 | tee ~/setupnode.log - curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupmaster.txt?p=$RANDOM | bash 2>&1 | tee ~/setupmaster.log - curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh?p=$RANDOM | bash 2>&1 | tee ~/setup-loadbalancer.log - curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/dashboard/setup-kubdashboard.sh?p=$RANDOM | bash 2>&1 | tee ~/setup-kubdashboard.log + 1) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt?p=$RANDOM | bash + curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupmaster.txt?p=$RANDOM | bash + curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh?p=$RANDOM | bash + curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/dashboard/setup-kubdashboard.sh?p=$RANDOM | bash ;; 2) echo "Current cluster: $(kubectl config current-context)" kubectl version --short @@ -82,17 +80,17 @@ while [[ "$input" != "q" ]]; do ;; 5) mountAzureFile ;; - 6) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh?p=$RANDOM | bash 2>&1 | tee ~/setup-loadbalancer.log + 6) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh?p=$RANDOM | bash ;; - curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/dashboard/setup-kubdashboard.sh?p=$RANDOM | bash 2>&1 | tee ~/setup-kubdashboard.log + 7) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/dashboard/setup-kubdashboard.sh?p=$RANDOM | bash ;; - 12) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt?p=$RANDOM | bash 2>&1 | tee ~/setupnode.log + 12) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt?p=$RANDOM | bash ;; 14) mountSMB ;; 15) mountAzureFile ;; - 25) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh?p=$RANDOM | bash 2>&1 | tee ~/installnlpkubernetes.log + 25) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh?p=$RANDOM | bash ;; 31) echo "Current cluster: $(kubectl config current-context)" kubectl version --short From 49e4087cba663661bb48f0ebd21b7cee8b34c9e8 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 18:50:43 -0700 Subject: [PATCH 410/473] don't stop services Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/setupnode.txt | 2 +- kubernetes/setupnode2.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/kubernetes/setupnode.txt b/kubernetes/setupnode.txt index bdd78f7..1071e2f 100644 --- a/kubernetes/setupnode.txt +++ b/kubernetes/setupnode.txt @@ -17,7 +17,7 @@ sudo yum -y install yum-versionlock sudo yum update -y # remove older versions -sudo systemctl stop docker 2>/dev/null +# sudo systemctl stop docker 2>/dev/null sudo yum remove -y kubelet kubeadm kubectl kubernetes-cni sudo yum -y remove docker-engine.x86_64 docker-ce docker-engine-selinux.noarch docker-cimprov.x86_64 docker-engine sudo yum -y remove docker docker-common docker-selinux docker-engine diff --git a/kubernetes/setupnode2.txt b/kubernetes/setupnode2.txt index 080a433..f553855 100644 --- a/kubernetes/setupnode2.txt +++ b/kubernetes/setupnode2.txt @@ -29,7 +29,7 @@ EOF # install kubeadm # https://saurabh-deochake.github.io/posts/2017/07/post-1/ sudo setenforce 0 -sudo systemctl stop kubelet 2>/dev/null +# sudo systemctl stop kubelet 2>/dev/null sudo yum remove -y kubelet kubeadm kubectl kubernetes-cni echo "kubernetes versions available in repo" From 364051b1a89749c538fbc81c49125fd0a02bed35 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 19:00:10 -0700 Subject: [PATCH 411/473] show processes listening on port Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 2 +- kubernetes/setupnode2.txt | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 80c0631..94a5eed 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -16,7 +16,7 @@ mkdir -p $HOME/bin installscript="$HOME/bin/dos" if [[ ! -f "$installscript" ]]; then echo "#!/bin/bash" > $installscript - echo "curl -sSL $GITHUB_URL/kubernetes/main.sh?p=$RANDOM | bash" >> $installscript + echo 'curl -sSL $GITHUB_URL/kubernetes/main.sh?p=$RANDOM | bash' >> $installscript chmod +x $installscript echo "NOTE: Next time just type 'dos' to bring up this menu" diff --git a/kubernetes/setupnode2.txt b/kubernetes/setupnode2.txt index f553855..ada6fb1 100644 --- a/kubernetes/setupnode2.txt +++ b/kubernetes/setupnode2.txt @@ -32,6 +32,9 @@ sudo setenforce 0 # sudo systemctl stop kubelet 2>/dev/null sudo yum remove -y kubelet kubeadm kubectl kubernetes-cni +echo "checking to see if port 10250 is still busy" +sudo lsof -i -P -n | grep LISTEN + echo "kubernetes versions available in repo" sudo yum --showduplicates list kubelet kubeadm kubectl kubernetes-cni From cda7ae11e4606ca3ec9261741b852ac0f6731d8e Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 19:03:18 -0700 Subject: [PATCH 412/473] fix dos command Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 94a5eed..4d92f0c 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -16,7 +16,7 @@ mkdir -p $HOME/bin installscript="$HOME/bin/dos" if [[ ! -f "$installscript" ]]; then echo "#!/bin/bash" > $installscript - echo 'curl -sSL $GITHUB_URL/kubernetes/main.sh?p=$RANDOM | bash' >> $installscript + echo "curl -sSL $GITHUB_URL/"'kubernetes/main.sh?p=$RANDOM | bash' >> $installscript chmod +x $installscript echo "NOTE: Next time just type 'dos' to bring up this menu" From ca19e6456447ac308855780c294fb8c7e772e1ce Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 19:12:16 -0700 Subject: [PATCH 413/473] add menu item to clean Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 4d92f0c..6d139ce 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.03.27.02" +version="2018.03.27.03" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -36,6 +36,7 @@ while [[ "$input" != "q" ]]; do echo "5: Mount Azure Storage as shared folder" echo "6: Setup Load Balancer" echo "7: Setup Kubernetes Dashboard" + echo "8: Uninstall Docker & Kubernetes" echo "------ Worker Node -------" echo "12: Add this VM as Worker" echo "14: Mount shared folder" @@ -84,6 +85,13 @@ while [[ "$input" != "q" ]]; do ;; 7) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/dashboard/setup-kubdashboard.sh?p=$RANDOM | bash ;; + 8) sudo kubeadm reset + sudo docker system prune + sudo yum remove -y kubelet kubeadm kubectl kubernetes-cni + sudo yum -y remove docker-engine.x86_64 docker-ce docker-engine-selinux.noarch docker-cimprov.x86_64 docker-engine + sudo yum -y remove docker docker-common docker-selinux docker-engine + echo "Please restart this computer" + ;; 12) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt?p=$RANDOM | bash ;; 14) mountSMB From 45f3b85ef16718362a882fae601bbd61237e0746 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 19:13:58 -0700 Subject: [PATCH 414/473] add option to clean worker vm Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 6d139ce..2f13fd7 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.03.27.03" +version="2018.03.27.04" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -41,6 +41,7 @@ while [[ "$input" != "q" ]]; do echo "12: Add this VM as Worker" echo "14: Mount shared folder" echo "15: Mount Azure Storage as shared folder" + echo "16: Uninstall Docker & Kubernetes" echo "------ Product Install -------" echo "25: Install NLP" echo "----- Troubleshooting ----" @@ -98,6 +99,12 @@ while [[ "$input" != "q" ]]; do ;; 15) mountAzureFile ;; + 16) sudo docker system prune + sudo yum remove -y kubelet kubeadm kubectl kubernetes-cni + sudo yum -y remove docker-engine.x86_64 docker-ce docker-engine-selinux.noarch docker-cimprov.x86_64 docker-engine + sudo yum -y remove docker docker-common docker-selinux docker-engine + echo "Please restart this computer" + ;; 25) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh?p=$RANDOM | bash ;; 31) echo "Current cluster: $(kubectl config current-context)" From 4905ab4320d0406ac10e52910c51e305742e9b12 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 19:15:52 -0700 Subject: [PATCH 415/473] force docker system prune Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 2f13fd7..0ff663e 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -87,7 +87,7 @@ while [[ "$input" != "q" ]]; do 7) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/dashboard/setup-kubdashboard.sh?p=$RANDOM | bash ;; 8) sudo kubeadm reset - sudo docker system prune + sudo docker system prune -f sudo yum remove -y kubelet kubeadm kubectl kubernetes-cni sudo yum -y remove docker-engine.x86_64 docker-ce docker-engine-selinux.noarch docker-cimprov.x86_64 docker-engine sudo yum -y remove docker docker-common docker-selinux docker-engine @@ -99,7 +99,7 @@ while [[ "$input" != "q" ]]; do ;; 15) mountAzureFile ;; - 16) sudo docker system prune + 16) sudo docker system prune -f sudo yum remove -y kubelet kubeadm kubectl kubernetes-cni sudo yum -y remove docker-engine.x86_64 docker-ce docker-engine-selinux.noarch docker-cimprov.x86_64 docker-engine sudo yum -y remove docker docker-common docker-selinux docker-engine From cb033ad7c2e15310587072dea78c315dd0ebfd18 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 19:25:38 -0700 Subject: [PATCH 416/473] sleep before waiting for pods Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/setupmaster.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/kubernetes/setupmaster.txt b/kubernetes/setupmaster.txt index f60c953..da42fb2 100644 --- a/kubernetes/setupmaster.txt +++ b/kubernetes/setupmaster.txt @@ -9,7 +9,7 @@ set -e GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh") -version="2018.02.15.06" +version="2018.03.27.01" echo "---- setupmaster version $version ----" u="$(whoami)" @@ -44,6 +44,9 @@ kubectl apply -f ${GITHUB_URL}/kubernetes/flannel.yml kubectl get nodes +echo "sleeping 10 secs to wait for pods" +sleep 10 + kubectl get pods -n kube-system -o wide WaitForPodsInNamespace kube-system 5 From 4b4fc5bd5eb69580a57e3b89daf1f1ef15587bbe Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 19:43:24 -0700 Subject: [PATCH 417/473] fix setup-kubdashboard Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/dashboard/setup-kubdashboard.sh | 7 +++++-- kubernetes/main.sh | 2 ++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/kubernetes/dashboard/setup-kubdashboard.sh b/kubernetes/dashboard/setup-kubdashboard.sh index b7eab26..5d26ac6 100644 --- a/kubernetes/dashboard/setup-kubdashboard.sh +++ b/kubernetes/dashboard/setup-kubdashboard.sh @@ -9,15 +9,18 @@ GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/mast source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh?p=$RANDOM") # source ./kubernetes/common.sh -version="2018.03.19.01" +version="2018.03.27.01" echo "---- setup-kubdashboard.sh version $version ------" # enable running pods on master # kubectl taint node mymasternode node-role.kubernetes.io/master:NoSchedule -kubectl -n kube-system delete $(kubectl -n kube-system get pod -o name | grep dashboard) +dashboards=$(kubectl -n kube-system get pod -o name --ignore-not-found=true | grep dashboard) +if [[ ! -z "$dashboards"]]; then + kubectl -n kube-system delete $dashboards +fi # kubectl delete 'pods,services,configMaps,deployments,ingress' -l k8s-traefik=traefik -n kube-system --ignore-not-found=true # kubectl delete ServiceAccount traefik-ingress-controller-serviceaccount -n kube-system --ignore-not-found=true diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 0ff663e..6df32e7 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -89,6 +89,8 @@ while [[ "$input" != "q" ]]; do 8) sudo kubeadm reset sudo docker system prune -f sudo yum remove -y kubelet kubeadm kubectl kubernetes-cni + sudo docker volume rm etcd + sudo rm -rf /var/etcd/backups/* sudo yum -y remove docker-engine.x86_64 docker-ce docker-engine-selinux.noarch docker-cimprov.x86_64 docker-engine sudo yum -y remove docker docker-common docker-selinux docker-engine echo "Please restart this computer" From b75bb4db2d54769eeb4a7de4eb7d2667eb616d3d Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 19:49:31 -0700 Subject: [PATCH 418/473] more logging Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/dashboard/setup-kubdashboard.sh | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/kubernetes/dashboard/setup-kubdashboard.sh b/kubernetes/dashboard/setup-kubdashboard.sh index 5d26ac6..a98ecd5 100644 --- a/kubernetes/dashboard/setup-kubdashboard.sh +++ b/kubernetes/dashboard/setup-kubdashboard.sh @@ -2,24 +2,28 @@ set -e # # This script is meant for quick & easy install via: -# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh | bash +# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/dashboard/setup-kubdashboard.sh | bash # GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh?p=$RANDOM") # source ./kubernetes/common.sh -version="2018.03.27.01" +version="2018.03.27.02" echo "---- setup-kubdashboard.sh version $version ------" # enable running pods on master # kubectl taint node mymasternode node-role.kubernetes.io/master:NoSchedule -dashboards=$(kubectl -n kube-system get pod -o name --ignore-not-found=true | grep dashboard) +echo "checking if there is an existing dashboard" +dashboards="$(kubectl -n kube-system get pod -o name --ignore-not-found=true | grep dashboard)" -if [[ ! -z "$dashboards"]]; then +if [[ ! -z "$dashboards" ]]; then + echo "Deleting existing dashboard" kubectl -n kube-system delete $dashboards +else + echo "No existing dashboard found" fi # kubectl delete 'pods,services,configMaps,deployments,ingress' -l k8s-traefik=traefik -n kube-system --ignore-not-found=true From cbc390b99b099207d7bb7c91a73bc87ba6972d34 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 19:51:33 -0700 Subject: [PATCH 419/473] remove code to delete dashboard Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/dashboard/setup-kubdashboard.sh | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/kubernetes/dashboard/setup-kubdashboard.sh b/kubernetes/dashboard/setup-kubdashboard.sh index a98ecd5..92547a8 100644 --- a/kubernetes/dashboard/setup-kubdashboard.sh +++ b/kubernetes/dashboard/setup-kubdashboard.sh @@ -9,22 +9,23 @@ GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/mast source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh?p=$RANDOM") # source ./kubernetes/common.sh -version="2018.03.27.02" +version="2018.03.27.03" echo "---- setup-kubdashboard.sh version $version ------" # enable running pods on master # kubectl taint node mymasternode node-role.kubernetes.io/master:NoSchedule -echo "checking if there is an existing dashboard" -dashboards="$(kubectl -n kube-system get pod -o name --ignore-not-found=true | grep dashboard)" +# echo "checking if there is an existing dashboard" +# dashboards="$(kubectl -n kube-system get pod -o name --ignore-not-found=true | grep dashboard)" + +# if [[ ! -z "$dashboards" ]]; then +# echo "Deleting existing dashboard" +# kubectl -n kube-system delete $dashboards +# else +# echo "No existing dashboard found" +# fi -if [[ ! -z "$dashboards" ]]; then - echo "Deleting existing dashboard" - kubectl -n kube-system delete $dashboards -else - echo "No existing dashboard found" -fi # kubectl delete 'pods,services,configMaps,deployments,ingress' -l k8s-traefik=traefik -n kube-system --ignore-not-found=true # kubectl delete ServiceAccount traefik-ingress-controller-serviceaccount -n kube-system --ignore-not-found=true From 75b8b41e628cecc93773a6d6711e3f64c1650d6d Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 20:04:00 -0700 Subject: [PATCH 420/473] fix names of onprem volumes --- realtime/installrealtime.onprem.ps1 | 5 ++++- ...{certificateserver.onprem.yaml => certificateserver.yaml} | 0 .../onprem/{mysqlserver.onprem.yaml => mysqlserver.yaml} | 0 .../onprem/{rabbitmq-cert.onprem.yaml => rabbitmq-cert.yaml} | 0 .../volumes/onprem/{rabbitmq.onprem.yaml => rabbitmq.yaml} | 0 5 files changed, 4 insertions(+), 1 deletion(-) rename realtime/volumes/onprem/{certificateserver.onprem.yaml => certificateserver.yaml} (100%) rename realtime/volumes/onprem/{mysqlserver.onprem.yaml => mysqlserver.yaml} (100%) rename realtime/volumes/onprem/{rabbitmq-cert.onprem.yaml => rabbitmq-cert.yaml} (100%) rename realtime/volumes/onprem/{rabbitmq.onprem.yaml => rabbitmq.yaml} (100%) diff --git a/realtime/installrealtime.onprem.ps1 b/realtime/installrealtime.onprem.ps1 index 086d47b..72c95a6 100644 --- a/realtime/installrealtime.onprem.ps1 +++ b/realtime/installrealtime.onprem.ps1 @@ -1,6 +1,6 @@ Write-Output "Version 2018.03.27.02" -# curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.ps1 | iex; +# curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtime.onprem.ps1 | iex; $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" # $GITHUB_URL = "." @@ -16,3 +16,6 @@ $namespace = "fabricrealtime" CreateOnPremStorage -namespace $namespace LoadStack -namespace $namespace -baseUrl $GITHUB_URL -appfolder "realtime" -isAzure $false + +# curl -sSL -o installrealtime.onprem.ps1 https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtime.onprem.ps1 +# pwsh -f installrealtime.onprem.ps1 \ No newline at end of file diff --git a/realtime/volumes/onprem/certificateserver.onprem.yaml b/realtime/volumes/onprem/certificateserver.yaml similarity index 100% rename from realtime/volumes/onprem/certificateserver.onprem.yaml rename to realtime/volumes/onprem/certificateserver.yaml diff --git a/realtime/volumes/onprem/mysqlserver.onprem.yaml b/realtime/volumes/onprem/mysqlserver.yaml similarity index 100% rename from realtime/volumes/onprem/mysqlserver.onprem.yaml rename to realtime/volumes/onprem/mysqlserver.yaml diff --git a/realtime/volumes/onprem/rabbitmq-cert.onprem.yaml b/realtime/volumes/onprem/rabbitmq-cert.yaml similarity index 100% rename from realtime/volumes/onprem/rabbitmq-cert.onprem.yaml rename to realtime/volumes/onprem/rabbitmq-cert.yaml diff --git a/realtime/volumes/onprem/rabbitmq.onprem.yaml b/realtime/volumes/onprem/rabbitmq.yaml similarity index 100% rename from realtime/volumes/onprem/rabbitmq.onprem.yaml rename to realtime/volumes/onprem/rabbitmq.yaml From a23b5c3d98dbef394ae2aa561fc9db485257475b Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 20:11:42 -0700 Subject: [PATCH 421/473] switch to powershell for installing realtime on linux Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 5 ++++- kubernetes/menu-realtime.sh | 5 +++-- realtime/installrealtime.onprem.ps1 | 4 ++-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 6df32e7..1de95ba 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.03.27.04" +version="2018.03.27.05" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -61,6 +61,7 @@ while [[ "$input" != "q" ]]; do echo "45: Show NLP logs" # echo "46: Restart NLP" echo "-----------" + echo "51: Load Fabric Realtime Menu" echo "q: Quit" read -p "Please make a selection:" -e input < /dev/tty @@ -175,6 +176,8 @@ while [[ "$input" != "q" ]]; do read -n1 -r -p "Press space to continue..." key < /dev/tty done ;; + 51) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/menu-realtime.sh | bash + ;; q) echo "Exiting" ;; *) echo "Menu item $1 is not known" diff --git a/kubernetes/menu-realtime.sh b/kubernetes/menu-realtime.sh index 2984b5a..e4691ae 100644 --- a/kubernetes/menu-realtime.sh +++ b/kubernetes/menu-realtime.sh @@ -4,7 +4,7 @@ set -e # This script is meant for quick & easy install via: # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/menu-realtime.sh | bash # -version="2018.03.23.01" +version="2018.03.27.01" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -31,7 +31,8 @@ while [[ "$input" != "q" ]]; do read -p "Please make a selection:" -e input < /dev/tty case "$input" in - 1) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.sh?p=$RANDOM | bash + 1) curl -sSL -o installrealtime.onprem.ps1 https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtime.onprem.ps1?p=$RANDOM + pwsh -f installrealtime.onprem.ps1 -NonInteractive ;; 2) kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime -o wide ;; diff --git a/realtime/installrealtime.onprem.ps1 b/realtime/installrealtime.onprem.ps1 index 72c95a6..f91649d 100644 --- a/realtime/installrealtime.onprem.ps1 +++ b/realtime/installrealtime.onprem.ps1 @@ -17,5 +17,5 @@ CreateOnPremStorage -namespace $namespace LoadStack -namespace $namespace -baseUrl $GITHUB_URL -appfolder "realtime" -isAzure $false -# curl -sSL -o installrealtime.onprem.ps1 https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtime.onprem.ps1 -# pwsh -f installrealtime.onprem.ps1 \ No newline at end of file +# curl -sSL -o installrealtime.onprem.ps1 https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtime.onprem.ps1?p=ff +# pwsh -f installrealtime.onprem.ps1 -NonInteractive \ No newline at end of file From 35eabbb38ca6b46e2676189ca5fefe23f82343d4 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 20:13:27 -0700 Subject: [PATCH 422/473] add random string url Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/main.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 1de95ba..713d7e0 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -5,7 +5,7 @@ set -e # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash # # -version="2018.03.27.05" +version="2018.03.27.06" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -176,7 +176,7 @@ while [[ "$input" != "q" ]]; do read -n1 -r -p "Press space to continue..." key < /dev/tty done ;; - 51) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/menu-realtime.sh | bash + 51) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/menu-realtime.sh?p=$RANDOM | bash ;; q) echo "Exiting" ;; From c8e3625c89b60140beb247ce7bf692ce191c4d4f Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Tue, 27 Mar 2018 20:15:59 -0700 Subject: [PATCH 423/473] remove obsolete files Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/menu-realtime.sh | 1 + realtime/installrealtimekubernetes.sh | 152 -------------------------- realtime/installyaml.ps1 | 79 ------------- 3 files changed, 1 insertion(+), 231 deletions(-) delete mode 100644 realtime/installrealtimekubernetes.sh delete mode 100644 realtime/installyaml.ps1 diff --git a/kubernetes/menu-realtime.sh b/kubernetes/menu-realtime.sh index e4691ae..8a905f9 100644 --- a/kubernetes/menu-realtime.sh +++ b/kubernetes/menu-realtime.sh @@ -32,6 +32,7 @@ while [[ "$input" != "q" ]]; do case "$input" in 1) curl -sSL -o installrealtime.onprem.ps1 https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtime.onprem.ps1?p=$RANDOM + clear pwsh -f installrealtime.onprem.ps1 -NonInteractive ;; 2) kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime -o wide diff --git a/realtime/installrealtimekubernetes.sh b/realtime/installrealtimekubernetes.sh deleted file mode 100644 index 73b975b..0000000 --- a/realtime/installrealtimekubernetes.sh +++ /dev/null @@ -1,152 +0,0 @@ -#!/bin/bash -set -e -# -# This script is meant for quick & easy install via: -# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | bash -# -GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -version="2018.03.21.01" - -echo "---- installrealtimekubernetes.sh version $version ------" - -source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh") - -# source ./kubernetes/common.sh - -namespace="fabricrealtime" - -datafolder="/mnt/data/fabricrealtime" -if [ ! -d "$datafolder" ]; then - sudo mkdir -p $datafolder -fi - -if [[ -z $(kubectl get namespace $namespace --ignore-not-found=true) ]]; then - echo "Creating namespace: $namespace" - # kubectl apply -f $GITHUB_URL/nlp/nlp-namespace.yml - kubectl apply namespace $namespace -else - while : ; do - read -p "Namespace exists. Do you want to delete passwords and ALL data stored in this namespace? (y/n): " deleteSecrets < /dev/tty - if [[ ! -z "$deleteSecrets" ]]; then - break - fi - done - - if [[ $deleteSecrets == "y" ]]; then - echo "Deleting passwords" - kubectl delete secret mysqlrootpassword -n $namespace --ignore-not-found=true - kubectl delete secret mysqlpassword -n $namespace --ignore-not-found=true - kubectl delete secret certhostname -n $namespace --ignore-not-found=true - kubectl delete secret certpassword -n $namespace --ignore-not-found=true - kubectl delete secret rabbitmqmgmtuipassword -n $namespace --ignore-not-found=true - - # have to remove the existing containers before we can delete the files - CleanOutNamespace $namespace - - sudo rm -rf /mnt/data/fabricrealtime - fi -fi - -sudo mkdir -p /mnt/data/fabricrealtime - -# curl -sSL "$GITHUB_URL/realtime/installyaml.ps1" | pwsh - - -customerid="$(ReadSecret customerid)" -if [[ -z "$customerid" ]]; then - echo "customerid not set" -fi -customerid="${customerid,,}" -echo "Customer ID: $customerid" - -AskForPassword "mysqlrootpassword" "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" "$namespace" - -AskForPassword "mysqlpassword" "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" "$namespace" - -dnsrecordname=$(ReadSecret "dnshostname") -if [[ -z "$dnsrecordname" ]]; then - AskForSecretValue "certhostname" "Client Certificate hostname (Should be DNS name used to connect to the master VM)" "$namespace" -else - SaveSecretValue "certhostname" "value" "$dnsrecordname" "$namespace" -fi - -AskForPassword "certpassword" "Client Certificate password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" "$namespace" - -AskForPassword "rabbitmqmgmtuipassword" "Admin password for RabbitMqMgmt" "$namespace" - -CleanOutNamespace $namespace - -echo "-- Deploying volumes --" -folder="volumes" -for fname in "certificateserver.onprem.yaml" "mysqlserver.onprem.yaml" "rabbitmq-cert.onprem.yaml" "rabbitmq.onprem.yaml" -do - echo "Deploying realtime/$folder/$fname" - ReadYamlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl apply -f - -done - -echo "-- Deploying volume claims --" -folder="volumeclaims" -for fname in "certificateserver.yaml" "mysqlserver.yaml" "rabbitmq-cert.yaml" "rabbitmq.yaml" -do - echo "Deploying realtime/$folder/$fname" - ReadYamlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl apply -f - -done - -echo "-- Deploying pods --" -folder="pods" -for fname in "certificateserver.yaml" "mysqlserver.yaml" "interfaceengine.yaml" "rabbitmq.yaml" -do - echo "Deploying realtime/$folder/$fname" - ReadYamlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl apply -f - -done - -echo "-- Deploying cluster services --" -folder="services/cluster" -for fname in "certificateserver.yaml" "mysqlserver.yaml" "interfaceengine.yaml" "rabbitmq.yaml" -do - echo "Deploying realtime/$folder/$fname" - ReadYamlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl apply -f - -done - -echo "-- Deploying external services --" -folder="services/external" -for fname in "certificateserver.yaml" "rabbitmq.yaml" "interfaceengine.yaml" -do - echo "Deploying realtime/$folder/$fname" - ReadYamlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl apply -f - -done - -echo "-- Deploying HTTP proxies --" -folder="ingress/http" -for fname in "web.yaml" "rabbitmq.yaml" "interfaceengine.yaml" -do - echo "Deploying realtime/$folder/$fname" - ReadYamlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl apply -f - -done - -echo "-- Deploying TCP proxies --" -folder="ingress/tcp" -for fname in "mysqlserver.yaml" "interfaceengine.yaml" "rabbitmq.yaml" -do - echo "Deploying realtime/$folder/$fname" - ReadYamlAndReplaceCustomer $GITHUB_URL "realtime/$folder/$fname" $customerid | kubectl apply -f - -done - -kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=$namespace -o wide - -WaitForPodsInNamespace $namespace 5 - -# to get a shell -# kubectl exec -it fabric.nlp.nlpwebserver-85c8cb86b5-gkphh bash --namespace=fabricnlp - -# kubectl apply secret generic azure-secret --namespace=fabricnlp --from-literal=azurestorageaccountname="fabricnlp7storage" --from-literal=azurestorageaccountkey="/bYhXNstTodg3MdOvTMog/vDLSFrQDpxG/Zgkp2MlnjtOWhDBNQ2xOs6zjRoZYNjmJHya34MfzqdfOwXkMDN2A==" - -loadBalancerIP="$(dig +short myip.opendns.com @resolver1.opendns.com)" -echo "My WAN/Public IP address: ${loadBalancerIP}" - -Write-Output "To test out the NLP services, open Git Bash and run:" -Write-Output "curl -L --verbose --header 'Host: certificates.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/client'" - -Write-Output "Connect to interface engine at: $publicip port 6661" - -echo "---- end of installrealtimekubernetes.sh version $version ------" diff --git a/realtime/installyaml.ps1 b/realtime/installyaml.ps1 deleted file mode 100644 index 649dd2a..0000000 --- a/realtime/installyaml.ps1 +++ /dev/null @@ -1,79 +0,0 @@ -Write-Output "Version 2018.03.23.01" - -# curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.ps1 | iex; - -$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -# $GITHUB_URL = "." - -Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1 | Invoke-Expression; -# Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; - -Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; -# Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; - -$namespace = "fabricrealtime" - -if ([string]::IsNullOrWhiteSpace($(kubectl get namespace $namespace --ignore-not-found=true))) { - kubectl create namespace $namespace -} - -GenerateSecretPassword -secretname "mysqlrootpassword" -namespace "fabricrealtime" - -GenerateSecretPassword -secretname "mysqlpassword" -namespace "fabricrealtime" - -# read dns -AskForSecretValue -secretname "certhostname" -prompt "Client Certificate hostname" -namespace "fabricrealtime" - -GenerateSecretPassword -secretname "certpassword" -namespace "fabricrealtime" - -GenerateSecretPassword -secretname "rabbitmqmgmtuipassword" -namespace "fabricrealtime" - -CleanOutNamespace -namespace $namespace - -$customerid = ReadSecret -secretname customerid -$customerid = $customerid.ToLower().Trim() -Write-Output "Customer ID: $customerid" - -Write-Host "-- Deploying volumes --" -$folder = "volumes" -foreach ($file in "certificateserver.yaml mysqlserver.yaml rabbitmq-cert.yaml rabbitmq.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/${folder}/${file}" -customerid $customerid | kubectl apply -f - -} - -Write-Host "-- Deploying volume claims --" -$folder = "volumeclaims" -foreach ($file in "certificateserver.yaml mysqlserver.yaml rabbitmq-cert.yaml rabbitmq.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/${folder}/${file}" -customerid $customerid | kubectl apply -f - -} - -Write-Host "-- Deploying pods --" -$folder = "pods" -foreach ($file in "certificateserver.yaml mysqlserver.yaml interfaceengine.yaml rabbitmq.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/${folder}/${file}" -customerid $customerid | kubectl apply -f - -} - -Write-Host "-- Deploying cluster services --" -$folder = "services/cluster" -foreach ($file in "certificateserver.yaml mysqlserver.yaml interfaceengine.yaml rabbitmq.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/${folder}/${file}" -customerid $customerid | kubectl apply -f - -} - -Write-Host "-- Deploying external services --" -$folder = "services/external" -foreach ($file in "certificateserver.yaml rabbitmq.yaml interfaceengine.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/${folder}/${file}" -customerid $customerid | kubectl apply -f - -} - -Write-Host "-- Deploying HTTP proxies --" -$folder = "ingress/http" -foreach ($file in "web.yaml rabbitmq.yaml interfaceengine.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/${folder}/${file}" -customerid $customerid | kubectl apply -f - -} - -Write-Host "-- Deploying TCP proxies --" -$folder = "ingress/tcp" -foreach ($file in "mysqlserver.yaml interfaceengine.yaml rabbitmq.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "realtime/${folder}/${file}" -customerid $customerid | kubectl apply -f - -} - -kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime -o wide From 28a1428699bfa2a24bce5c847d4bcee4fd25b8c3 Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 28 Mar 2018 09:12:08 -0700 Subject: [PATCH 424/473] create a generic installstack.ps1 to handle both onprem and azure installs Signed-off-by: HQCATALYST\imran.qureshi --- kubernetes/dashboard/index.json | 37 +++++++++++++++ kubernetes/installstack.ps1 | 37 +++++++++++++++ kubernetes/loadbalancer/index.json | 74 ++++++++++++++++++++++++++++++ kubernetes/menu-realtime.sh | 6 +-- kubernetes/templates/index.json | 27 +++++++++++ 5 files changed, 178 insertions(+), 3 deletions(-) create mode 100644 kubernetes/dashboard/index.json create mode 100644 kubernetes/installstack.ps1 create mode 100644 kubernetes/loadbalancer/index.json create mode 100644 kubernetes/templates/index.json diff --git a/kubernetes/dashboard/index.json b/kubernetes/dashboard/index.json new file mode 100644 index 0000000..a999d72 --- /dev/null +++ b/kubernetes/dashboard/index.json @@ -0,0 +1,37 @@ +{ + "name": "Dashboard", + "version": "4.0.0.2", + "secrets": { + "password": [], + "value": [] + }, + "resources": { + "dns": [], + "configmaps": [], + "roles": [ + "heapster-rbac.yaml", + "dashboard-user.yaml" + ], + "volumes": { + "onprem": [], + "azure": [] + }, + "volumeclaims": [], + "pods": [ + "influxdb.yaml", + "grafana.yaml", + "heapster.yaml", + "kubernetes-dashboard.yaml" + ], + "services": { + "cluster": [], + "external": [] + }, + "ingress": { + "http": [ + "dashboard.yaml" + ], + "tcp": [] + } + } +} \ No newline at end of file diff --git a/kubernetes/installstack.ps1 b/kubernetes/installstack.ps1 new file mode 100644 index 0000000..b5062f0 --- /dev/null +++ b/kubernetes/installstack.ps1 @@ -0,0 +1,37 @@ +param([String]$namespace, [String]$appfolder, [int]$isAzure) +# the above MUST be the first line +Write-Host "Received parameters:" +Write-Host "namespace:$namespace" +Write-Host "appfolder:$appfolder" +Write-Host "isAzure:$isAzure" +Write-Host "----" +Write-Host "Version 2018.03.28.01" + +# curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.ps1 | iex; + +$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" +# $GITHUB_URL = "." + +Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1 | Invoke-Expression; +# Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; + +Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; +# Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; + +if ($isAzure) { + DownloadAzCliIfNeeded + $userInfo = $(GetLoggedInUserInfo) +} + +if ($isAzure) { + CreateAzureStorage -namespace $namespace +} +else { + CreateOnPremStorage -namespace $namespace +} + +LoadStack -namespace $namespace -baseUrl $GITHUB_URL -appfolder "$appfolder" -isAzure $isAzure + +if ($isAzure) { + WaitForLoadBalancers -resourceGroup $(GetResourceGroup).ResourceGroup +} \ No newline at end of file diff --git a/kubernetes/loadbalancer/index.json b/kubernetes/loadbalancer/index.json new file mode 100644 index 0000000..6cf9695 --- /dev/null +++ b/kubernetes/loadbalancer/index.json @@ -0,0 +1,74 @@ +{ + "name": "Load Balancer", + "version": "4.0.0.2", + "secrets": { + "password": [], + "value": [] + }, + "resources": { + "dns": [ + "upstream.yaml" + ], + "configmaps": [{ + "name": "config.ssl.yaml", + "ssl": true + }, + { + "name": "config.yml", + "ssl": false + } + ], + "roles": [ + "ingress-roles.yaml" + ], + "volumes": { + "onprem": [], + "azure": [] + }, + "volumeclaims": [], + "pods": [{ + "name": "ingress-azure.both.yaml", + "access": "allpublic" + }, + { + "name": "ingress-azure.ssl.yaml ingress-azure.internal.ssl.yaml", + "ssl": true, + "access": "normal" + }, + { + "name": "ingress-azure.yaml ingress-azure.internal.yaml", + "ssl": false, + "access": "normal" + } + ], + "services": { + "cluster": [ + "dashboard-internal.yaml" + ], + "external": [{ + "name": "loadbalancer.external.yaml" + }, + { + "name": "loadbalancer.internal.yaml" + } { + "name": "loadbalancer.internal.open.yaml" + }, + { + "name": "loadbalancer.external.restricted.yaml" + }, + ] + }, + "ingress": { + "http": [{ + "name": "dashboard.ssl.yaml", + "ssl": true + }, + { + "name": "dashboard.yaml", + "ssl": false + } + ], + "tcp": [] + } + } +} \ No newline at end of file diff --git a/kubernetes/menu-realtime.sh b/kubernetes/menu-realtime.sh index 8a905f9..b85ef02 100644 --- a/kubernetes/menu-realtime.sh +++ b/kubernetes/menu-realtime.sh @@ -4,7 +4,7 @@ set -e # This script is meant for quick & easy install via: # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/menu-realtime.sh | bash # -version="2018.03.27.01" +version="2018.03.28.01" GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" @@ -31,9 +31,9 @@ while [[ "$input" != "q" ]]; do read -p "Please make a selection:" -e input < /dev/tty case "$input" in - 1) curl -sSL -o installrealtime.onprem.ps1 https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtime.onprem.ps1?p=$RANDOM + 1) curl -sSL -o installstack.ps1 https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/installstack.ps1?p=$RANDOM clear - pwsh -f installrealtime.onprem.ps1 -NonInteractive + pwsh -f installrealtime.onprem.ps1 -namespace "fabricrealtime" -appfolder "realtime" -isAzure 0 -NonInteractive ;; 2) kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime -o wide ;; diff --git a/kubernetes/templates/index.json b/kubernetes/templates/index.json new file mode 100644 index 0000000..0821afe --- /dev/null +++ b/kubernetes/templates/index.json @@ -0,0 +1,27 @@ +{ + "name": "Name os stack", + "version": "4.0.0.2", + "secrets": { + "password": [], + "value": [] + }, + "resources": { + "dns": [], + "configmaps": [], + "roles": [], + "volumes": { + "onprem": [], + "azure": [] + }, + "volumeclaims": [], + "pods": [], + "services": { + "cluster": [], + "external": [] + }, + "ingress": { + "http": [], + "tcp": [] + } + } +} \ No newline at end of file From b5b995b1c106793628d6fd5a727d64a41ebae20e Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 28 Mar 2018 09:24:28 -0700 Subject: [PATCH 425/473] remove obsolete scripts for installing realtime Signed-off-by: HQCATALYST\imran.qureshi --- azure/main.ps1 | 2 +- kubernetes/loadbalancer/index.json | 5 +++-- kubernetes/menu-realtime.sh | 2 +- realtime/installrealtime.onprem.ps1 | 21 --------------------- realtime/installrealtimekubernetes.ps1 | 23 ----------------------- 5 files changed, 5 insertions(+), 48 deletions(-) delete mode 100644 realtime/installrealtime.onprem.ps1 delete mode 100644 realtime/installrealtimekubernetes.ps1 diff --git a/azure/main.ps1 b/azure/main.ps1 index 3436a46..c10349c 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -139,7 +139,7 @@ while ($userinput -ne "q") { Invoke-WebRequest -useb $GITHUB_URL/nlp/installnlpkubernetes.ps1?f=$randomstring | Invoke-Expression; } '12' { - Invoke-WebRequest -useb $GITHUB_URL/realtime/installrealtimekubernetes.ps1?f=$randomstring | Invoke-Expression; + Invoke-WebRequest -useb $GITHUB_URL/kubernetes/installstack.ps1?f=$randomstring | Invoke-Expression -namespace "fabricrealtime" -appfolder "realtime" -isAzure 0; } '20' { Write-Host "Current cluster: $(kubectl config current-context)" diff --git a/kubernetes/loadbalancer/index.json b/kubernetes/loadbalancer/index.json index 6cf9695..74a5abc 100644 --- a/kubernetes/loadbalancer/index.json +++ b/kubernetes/loadbalancer/index.json @@ -50,12 +50,13 @@ }, { "name": "loadbalancer.internal.yaml" - } { + }, + { "name": "loadbalancer.internal.open.yaml" }, { "name": "loadbalancer.external.restricted.yaml" - }, + } ] }, "ingress": { diff --git a/kubernetes/menu-realtime.sh b/kubernetes/menu-realtime.sh index b85ef02..d2b2ff2 100644 --- a/kubernetes/menu-realtime.sh +++ b/kubernetes/menu-realtime.sh @@ -33,7 +33,7 @@ while [[ "$input" != "q" ]]; do case "$input" in 1) curl -sSL -o installstack.ps1 https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/installstack.ps1?p=$RANDOM clear - pwsh -f installrealtime.onprem.ps1 -namespace "fabricrealtime" -appfolder "realtime" -isAzure 0 -NonInteractive + pwsh -f installstack.ps1 -namespace "fabricrealtime" -appfolder "realtime" -isAzure 0 -NonInteractive | tee ./installstack.log ;; 2) kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime -o wide ;; diff --git a/realtime/installrealtime.onprem.ps1 b/realtime/installrealtime.onprem.ps1 deleted file mode 100644 index f91649d..0000000 --- a/realtime/installrealtime.onprem.ps1 +++ /dev/null @@ -1,21 +0,0 @@ -Write-Output "Version 2018.03.27.02" - -# curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtime.onprem.ps1 | iex; - -$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -# $GITHUB_URL = "." - -Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1 | Invoke-Expression; -# Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; - -Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; -# Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; - -$namespace = "fabricrealtime" - -CreateOnPremStorage -namespace $namespace - -LoadStack -namespace $namespace -baseUrl $GITHUB_URL -appfolder "realtime" -isAzure $false - -# curl -sSL -o installrealtime.onprem.ps1 https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtime.onprem.ps1?p=ff -# pwsh -f installrealtime.onprem.ps1 -NonInteractive \ No newline at end of file diff --git a/realtime/installrealtimekubernetes.ps1 b/realtime/installrealtimekubernetes.ps1 deleted file mode 100644 index fbc20fb..0000000 --- a/realtime/installrealtimekubernetes.ps1 +++ /dev/null @@ -1,23 +0,0 @@ -Write-Output "Version 2018.03.27.02" - -# curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.ps1 | iex; - -$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -# $GITHUB_URL = "." - -Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1 | Invoke-Expression; -# Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; - -Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; -# Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; - -DownloadAzCliIfNeeded -$userInfo = $(GetLoggedInUserInfo) - -$namespace = "fabricrealtime" - -CreateAzureStorage -namespace $namespace - -LoadStack -namespace $namespace -baseUrl $GITHUB_URL -appfolder "realtime" -isAzure $true - -WaitForLoadBalancers -resourceGroup $(GetResourceGroup).ResourceGroup \ No newline at end of file From a8ef2926370b777f164276d8860d11ee7c94be1e Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 28 Mar 2018 09:29:55 -0700 Subject: [PATCH 426/473] move code to install a stack into common.ps1 Signed-off-by: HQCATALYST\imran.qureshi --- azure/common.ps1 | 22 +++++++++++++++++++++- azure/main.ps1 | 2 +- kubernetes/installstack.ps1 | 20 ++------------------ 3 files changed, 24 insertions(+), 20 deletions(-) diff --git a/azure/common.ps1 b/azure/common.ps1 index f34541c..a35fb3b 100644 --- a/azure/common.ps1 +++ b/azure/common.ps1 @@ -1,6 +1,6 @@ # This file contains common functions for Azure # -$versioncommon = "2018.03.27.02" +$versioncommon = "2018.03.28.01" Write-Host "---- Including common.ps1 version $versioncommon -----" function global:GetCommonVersion() { @@ -1564,5 +1564,25 @@ function global:WaitForLoadBalancers([ValidateNotNullOrEmpty()] $resourceGroup) FixLoadBalancers -resourceGroup $resourceGroup } + +function global:InstallStack([ValidateNotNullOrEmpty()] $baseUrl, [ValidateNotNullOrEmpty()] $namespace, [ValidateNotNullOrEmpty()] $appfolder, $isAzure ) { + if ($isAzure) { + DownloadAzCliIfNeeded + $userInfo = $(GetLoggedInUserInfo) + } + + if ($isAzure) { + CreateAzureStorage -namespace $namespace + } + else { + CreateOnPremStorage -namespace $namespace + } + + LoadStack -namespace $namespace -baseUrl $baseUrl -appfolder "$appfolder" -isAzure $isAzure + + if ($isAzure) { + WaitForLoadBalancers -resourceGroup $(GetResourceGroup).ResourceGroup + } +} #------------------- Write-Host "end common.ps1 version $versioncommon" diff --git a/azure/main.ps1 b/azure/main.ps1 index c10349c..3d0bc15 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -139,7 +139,7 @@ while ($userinput -ne "q") { Invoke-WebRequest -useb $GITHUB_URL/nlp/installnlpkubernetes.ps1?f=$randomstring | Invoke-Expression; } '12' { - Invoke-WebRequest -useb $GITHUB_URL/kubernetes/installstack.ps1?f=$randomstring | Invoke-Expression -namespace "fabricrealtime" -appfolder "realtime" -isAzure 0; + InstallStack -namespace "fabricrealtime" -baseUrl $GITHUB_URL -appfolder "realtime" -isAzure 1 } '20' { Write-Host "Current cluster: $(kubectl config current-context)" diff --git a/kubernetes/installstack.ps1 b/kubernetes/installstack.ps1 index b5062f0..357cfea 100644 --- a/kubernetes/installstack.ps1 +++ b/kubernetes/installstack.ps1 @@ -5,7 +5,7 @@ Write-Host "namespace:$namespace" Write-Host "appfolder:$appfolder" Write-Host "isAzure:$isAzure" Write-Host "----" -Write-Host "Version 2018.03.28.01" +Write-Host "Version 2018.03.28.02" # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.ps1 | iex; @@ -18,20 +18,4 @@ Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1 | Invoke-Expres Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; # Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; -if ($isAzure) { - DownloadAzCliIfNeeded - $userInfo = $(GetLoggedInUserInfo) -} - -if ($isAzure) { - CreateAzureStorage -namespace $namespace -} -else { - CreateOnPremStorage -namespace $namespace -} - -LoadStack -namespace $namespace -baseUrl $GITHUB_URL -appfolder "$appfolder" -isAzure $isAzure - -if ($isAzure) { - WaitForLoadBalancers -resourceGroup $(GetResourceGroup).ResourceGroup -} \ No newline at end of file +InstallStack -namespace $namespace -baseUrl $GITHUB_URL -appfolder "$appfolder" -isAzure $isAzure From e163f74a5fc6f2b465cf13fe62283b343ecee2fd Mon Sep 17 00:00:00 2001 From: "HQCATALYST\\imran.qureshi" Date: Wed, 28 Mar 2018 18:12:52 -0700 Subject: [PATCH 427/473] remove files that have now been incorporated into dos.install project Signed-off-by: HQCATALYST\imran.qureshi --- azure/_output/fabricnlp9/apimodel.json | 138 - azure/_output/fabricnlp9/apiserver.crt | 69 - azure/_output/fabricnlp9/apiserver.key | 51 - azure/_output/fabricnlp9/azuredeploy.json | 2491 ----------------- .../fabricnlp9/azuredeploy.parameters.json | 294 -- azure/_output/fabricnlp9/ca.crt | 28 - azure/_output/fabricnlp9/ca.key | 51 - azure/_output/fabricnlp9/client.crt | 29 - azure/_output/fabricnlp9/client.key | 51 - .../kubeconfig/kubeconfig.australiaeast.json | 29 - .../kubeconfig.australiasoutheast.json | 29 - .../kubeconfig/kubeconfig.brazilsouth.json | 29 - .../kubeconfig/kubeconfig.canadacentral.json | 29 - .../kubeconfig/kubeconfig.canadaeast.json | 29 - .../kubeconfig/kubeconfig.centralindia.json | 29 - .../kubeconfig/kubeconfig.centralus.json | 29 - .../kubeconfig/kubeconfig.centraluseuap.json | 29 - .../kubeconfig/kubeconfig.chinaeast.json | 29 - .../kubeconfig/kubeconfig.chinanorth.json | 29 - .../kubeconfig/kubeconfig.eastasia.json | 29 - .../kubeconfig/kubeconfig.eastus.json | 29 - .../kubeconfig/kubeconfig.eastus2.json | 29 - .../kubeconfig/kubeconfig.eastus2euap.json | 29 - .../kubeconfig/kubeconfig.germanycentral.json | 29 - .../kubeconfig.germanynortheast.json | 29 - .../kubeconfig/kubeconfig.japaneast.json | 29 - .../kubeconfig/kubeconfig.japanwest.json | 29 - .../kubeconfig/kubeconfig.koreacentral.json | 29 - .../kubeconfig/kubeconfig.koreasouth.json | 29 - .../kubeconfig/kubeconfig.northcentralus.json | 29 - .../kubeconfig/kubeconfig.northeurope.json | 29 - .../kubeconfig/kubeconfig.southcentralus.json | 29 - .../kubeconfig/kubeconfig.southeastasia.json | 29 - .../kubeconfig/kubeconfig.southindia.json | 29 - .../kubeconfig/kubeconfig.uksouth.json | 29 - .../kubeconfig/kubeconfig.ukwest.json | 29 - .../kubeconfig/kubeconfig.usgovarizona.json | 29 - .../kubeconfig/kubeconfig.usgoviowa.json | 29 - .../kubeconfig/kubeconfig.usgovtexas.json | 29 - .../kubeconfig/kubeconfig.usgovvirginia.json | 29 - .../kubeconfig/kubeconfig.westcentralus.json | 29 - .../kubeconfig/kubeconfig.westeurope.json | 29 - .../kubeconfig/kubeconfig.westindia.json | 29 - .../kubeconfig/kubeconfig.westus.json | 29 - .../kubeconfig/kubeconfig.westus2.json | 29 - azure/_output/fabricnlp9/kubectlClient.crt | 29 - azure/_output/fabricnlp9/kubectlClient.key | 51 - azure/acs.json | 36 - azure/acs.template.azurenetwork.json | 41 - azure/acs.template.calico.json | 40 - azure/acs.template.json | 40 - azure/acs.template.linuxwindows.json | 58 - azure/acs.template.nosubnet.json | 53 - azure/common.ps1 | 1588 ----------- azure/config.json | 14 - azure/copyfileshare.ps1 | 42 - azure/create-acs-cluster-old.ps1 | 475 ---- azure/create-acs-cluster.ps1 | 463 +-- azure/create-acs-cluster.txt | 245 -- azure/create-aks-cluster.txt | 206 -- azure/create-bare-metal.ps1 | 225 +- azure/dos.ps1 | 4 +- azure/file.txt | 1 - azure/ingress-nginx.yml | 83 - azure/kube-dns-patch.yml | 15 - azure/kube-dns.yml | 277 -- azure/main.ps1 | 376 +-- azure/oldfile.txt | 1784 ------------ azure/oldnewfile.txt | Bin 80907721 -> 0 bytes azure/restartkubedns.txt | 24 - azure/setup-coredns.ps1 | 163 -- azure/simple.json | 33 - azure/testfileshare-pod.yml | 17 - .../en_US/LC_MESSAGES/acsengine.mo | Bin 2658 -> 0 bytes .../en_US/LC_MESSAGES/acsengine.po | 121 - deployments/baremetal.json | 47 - deployments/fabrickubernetes.json | 47 - deployments/sample.json | 46 - kubernetes/busybox.yml | 22 - kubernetes/calico.yaml | 448 --- kubernetes/cleannode.sh | 8 - kubernetes/common-kube.ps1 | 345 --- kubernetes/common.sh | 289 -- kubernetes/dashboard/index.json | 37 - .../dashboard/ingress/http/dashboard.yaml | 19 - kubernetes/dashboard/pods/grafana.yaml | 72 - kubernetes/dashboard/pods/heapster.yaml | 46 - kubernetes/dashboard/pods/influxdb.yaml | 40 - .../dashboard/pods/kubernetes-dashboard.yaml | 168 -- .../dashboard/roles/dashboard-user.yaml | 20 - kubernetes/dashboard/roles/heapster-rbac.yaml | 12 - kubernetes/dashboard/setup-kubdashboard.sh | 59 - kubernetes/flannel.yml | 159 -- kubernetes/inputrc | 13 - kubernetes/installstack.ps1 | 21 - .../loadbalancer/configmaps/config.ssl.yaml | 31 - .../loadbalancer/configmaps/config.yaml | 22 - kubernetes/loadbalancer/dns/upstream.yaml | 9 - kubernetes/loadbalancer/index.json | 75 - .../loadbalancer/ingress/dashboard.ssl.yaml | 20 - .../loadbalancer/ingress/dashboard.yaml | 20 - .../loadbalancer/pods/ingress-azure.both.yaml | 48 - .../pods/ingress-azure.internal.ssl.yaml | 58 - .../pods/ingress-azure.internal.yaml | 50 - .../loadbalancer/pods/ingress-azure.ssl.yaml | 59 - .../loadbalancer/pods/ingress-azure.yaml | 48 - .../loadbalancer/pods/ingress-onprem.yaml | 65 - .../loadbalancer/roles/ingress-roles.yaml | 132 - .../services/cluster/dashboard-internal.yaml | 13 - .../services/cluster/dashboard-onprem.yaml | 13 - .../services/cluster/dashboard.yaml | 13 - .../loadbalancer.external.restricted.yaml | 27 - .../external/loadbalancer.external.yaml | 28 - .../external/loadbalancer.internal.open.yaml | 21 - .../external/loadbalancer.internal.yaml | 25 - .../external/loadbalancer.onprem.yaml | 19 - kubernetes/loadbalancer/traefik-cmdline.txt | 356 --- kubernetes/main.sh | 192 +- kubernetes/menu-realtime.sh | 95 +- kubernetes/setup-loadbalancer-old.ps1 | 597 ---- kubernetes/setup-loadbalancer.ps1 | 277 -- kubernetes/setup-loadbalancer.sh | 100 - kubernetes/setupmaster.txt | 74 - kubernetes/setupnode.txt | 70 - kubernetes/setupnode2.txt | 56 - kubernetes/setupwindows.ps1 | 112 - kubernetes/templates/index.json | 27 - kubernetes/test.ps1 | 7 - kubernetes/testwindowsnanoserver.yml | 20 - kubernetes/testwindowswebserver.yml | 42 - kubernetes/testwindowswebserver1709.yml | 42 - kubernetes/windows/AddRoutes.ps1 | 59 - kubernetes/windows/start-kubelet.ps1 | 220 -- kubernetes/windows/start-kubeproxy.ps1 | 2 - nlp/ingress/http/solr.ssl.yaml | 22 - nlp/ingress/http/solr.yaml | 18 - nlp/ingress/http/web.internal.yaml | 24 - nlp/ingress/http/web.onprem.yaml | 25 - nlp/ingress/http/web.ssl.internal.yaml | 30 - nlp/ingress/http/web.ssl.yaml | 30 - nlp/ingress/http/web.yaml | 24 - nlp/ingress/tcp/mysqlserver.internal.yaml | 18 - nlp/ingress/tcp/mysqlserver.onprem.yaml | 48 - nlp/ingress/tcp/mysqlserver.public.yaml | 20 - nlp/installnlpkubernetes.ps1 | 191 +- nlp/installnlpkubernetes.sh | 151 - nlp/jobs/mysqlserver-backup-cron.yaml | 47 - nlp/jobs/mysqlserver-backup-manual.yaml | 42 - nlp/jobs/mysqlserver-restore-manual.yaml | 49 - nlp/nlp-kubernetes-storage-onprem.yml | 75 - nlp/nlp-namespace.yml | 6 - nlp/pods/jobserver.yaml | 61 - nlp/pods/mysqlclient.yaml | 58 - nlp/pods/mysqlserver.yaml | 63 - nlp/pods/nlpwebserver.yaml | 53 - nlp/pods/smtpserver.yaml | 44 - nlp/pods/solrserver.yaml | 45 - nlp/services/cluster/jobserver.yaml | 15 - nlp/services/cluster/mysqlserver.yaml | 20 - nlp/services/cluster/nlpwebserver.yaml | 20 - nlp/services/cluster/smtpserver.yaml | 14 - nlp/services/cluster/solrserver.yaml | 16 - nlp/services/external/jobserver.yaml | 11 - nlp/services/external/nlpwebserver.yaml | 11 - nlp/services/external/solrserver.yaml | 11 - nlp/test.yml | 238 -- nlp/volumeclaims/jobserver.yaml | 12 - nlp/volumeclaims/mysqlbackup.yaml | 12 - nlp/volumeclaims/mysqlserver.yaml | 12 - nlp/volumeclaims/solrserver.yaml | 12 - nlp/volumes/jobserver.onprem.yaml | 20 - nlp/volumes/jobserver.yaml | 27 - nlp/volumes/mysqlbackup.onprem.yaml | 20 - nlp/volumes/mysqlbackup.yaml | 40 - nlp/volumes/mysqlserver.onprem.yaml | 19 - nlp/volumes/mysqlserver.yaml | 40 - nlp/volumes/solrserver.onprem.yaml | 20 - nlp/volumes/solrserver.yaml | 28 - realtime/index.json | 72 - realtime/ingress/http/interfaceengine.yaml | 26 - realtime/ingress/http/rabbitmq.yaml | 26 - realtime/ingress/http/web.yaml | 25 - realtime/ingress/tcp/interfaceengine.yaml | 48 - realtime/ingress/tcp/mysqlserver.yaml | 48 - realtime/ingress/tcp/rabbitmq.yaml | 48 - realtime/pods/certificateserver.yaml | 66 - realtime/pods/interfaceengine.yaml | 59 - realtime/pods/mysqlserver.yaml | 63 - realtime/pods/rabbitmq.yaml | 76 - .../services/cluster/certificateserver.yaml | 20 - .../services/cluster/interfaceengine.yaml | 31 - realtime/services/cluster/mysqlserver.yaml | 20 - realtime/services/cluster/rabbitmq.yaml | 31 - .../services/external/certificateserver.yaml | 14 - .../services/external/interfaceengine.yaml | 18 - realtime/services/external/rabbitmq.yaml | 14 - realtime/volumeclaims/certificateserver.yaml | 11 - realtime/volumeclaims/mysqlserver.yaml | 11 - realtime/volumeclaims/rabbitmq-cert.yaml | 11 - realtime/volumeclaims/rabbitmq.yaml | 11 - realtime/volumes/azure/certificateserver.yaml | 24 - realtime/volumes/azure/mysqlserver.yaml | 40 - realtime/volumes/azure/rabbitmq-cert.yaml | 24 - realtime/volumes/azure/rabbitmq.yaml | 42 - .../volumes/onprem/certificateserver.yaml | 20 - realtime/volumes/onprem/mysqlserver.yaml | 20 - realtime/volumes/onprem/rabbitmq-cert.yaml | 20 - realtime/volumes/onprem/rabbitmq.yaml | 20 - 208 files changed, 7 insertions(+), 18526 deletions(-) delete mode 100644 azure/_output/fabricnlp9/apimodel.json delete mode 100644 azure/_output/fabricnlp9/apiserver.crt delete mode 100644 azure/_output/fabricnlp9/apiserver.key delete mode 100644 azure/_output/fabricnlp9/azuredeploy.json delete mode 100644 azure/_output/fabricnlp9/azuredeploy.parameters.json delete mode 100644 azure/_output/fabricnlp9/ca.crt delete mode 100644 azure/_output/fabricnlp9/ca.key delete mode 100644 azure/_output/fabricnlp9/client.crt delete mode 100644 azure/_output/fabricnlp9/client.key delete mode 100644 azure/_output/fabricnlp9/kubeconfig/kubeconfig.australiaeast.json delete mode 100644 azure/_output/fabricnlp9/kubeconfig/kubeconfig.australiasoutheast.json delete mode 100644 azure/_output/fabricnlp9/kubeconfig/kubeconfig.brazilsouth.json delete mode 100644 azure/_output/fabricnlp9/kubeconfig/kubeconfig.canadacentral.json delete mode 100644 azure/_output/fabricnlp9/kubeconfig/kubeconfig.canadaeast.json delete mode 100644 azure/_output/fabricnlp9/kubeconfig/kubeconfig.centralindia.json delete mode 100644 azure/_output/fabricnlp9/kubeconfig/kubeconfig.centralus.json delete mode 100644 azure/_output/fabricnlp9/kubeconfig/kubeconfig.centraluseuap.json delete mode 100644 azure/_output/fabricnlp9/kubeconfig/kubeconfig.chinaeast.json delete mode 100644 azure/_output/fabricnlp9/kubeconfig/kubeconfig.chinanorth.json delete mode 100644 azure/_output/fabricnlp9/kubeconfig/kubeconfig.eastasia.json delete mode 100644 azure/_output/fabricnlp9/kubeconfig/kubeconfig.eastus.json delete mode 100644 azure/_output/fabricnlp9/kubeconfig/kubeconfig.eastus2.json delete mode 100644 azure/_output/fabricnlp9/kubeconfig/kubeconfig.eastus2euap.json delete mode 100644 azure/_output/fabricnlp9/kubeconfig/kubeconfig.germanycentral.json delete mode 100644 azure/_output/fabricnlp9/kubeconfig/kubeconfig.germanynortheast.json delete mode 100644 azure/_output/fabricnlp9/kubeconfig/kubeconfig.japaneast.json delete mode 100644 azure/_output/fabricnlp9/kubeconfig/kubeconfig.japanwest.json delete mode 100644 azure/_output/fabricnlp9/kubeconfig/kubeconfig.koreacentral.json delete mode 100644 azure/_output/fabricnlp9/kubeconfig/kubeconfig.koreasouth.json delete mode 100644 azure/_output/fabricnlp9/kubeconfig/kubeconfig.northcentralus.json delete mode 100644 azure/_output/fabricnlp9/kubeconfig/kubeconfig.northeurope.json delete mode 100644 azure/_output/fabricnlp9/kubeconfig/kubeconfig.southcentralus.json delete mode 100644 azure/_output/fabricnlp9/kubeconfig/kubeconfig.southeastasia.json delete mode 100644 azure/_output/fabricnlp9/kubeconfig/kubeconfig.southindia.json delete mode 100644 azure/_output/fabricnlp9/kubeconfig/kubeconfig.uksouth.json delete mode 100644 azure/_output/fabricnlp9/kubeconfig/kubeconfig.ukwest.json delete mode 100644 azure/_output/fabricnlp9/kubeconfig/kubeconfig.usgovarizona.json delete mode 100644 azure/_output/fabricnlp9/kubeconfig/kubeconfig.usgoviowa.json delete mode 100644 azure/_output/fabricnlp9/kubeconfig/kubeconfig.usgovtexas.json delete mode 100644 azure/_output/fabricnlp9/kubeconfig/kubeconfig.usgovvirginia.json delete mode 100644 azure/_output/fabricnlp9/kubeconfig/kubeconfig.westcentralus.json delete mode 100644 azure/_output/fabricnlp9/kubeconfig/kubeconfig.westeurope.json delete mode 100644 azure/_output/fabricnlp9/kubeconfig/kubeconfig.westindia.json delete mode 100644 azure/_output/fabricnlp9/kubeconfig/kubeconfig.westus.json delete mode 100644 azure/_output/fabricnlp9/kubeconfig/kubeconfig.westus2.json delete mode 100644 azure/_output/fabricnlp9/kubectlClient.crt delete mode 100644 azure/_output/fabricnlp9/kubectlClient.key delete mode 100644 azure/acs.json delete mode 100644 azure/acs.template.azurenetwork.json delete mode 100644 azure/acs.template.calico.json delete mode 100644 azure/acs.template.json delete mode 100644 azure/acs.template.linuxwindows.json delete mode 100644 azure/acs.template.nosubnet.json delete mode 100644 azure/common.ps1 delete mode 100644 azure/config.json delete mode 100644 azure/copyfileshare.ps1 delete mode 100644 azure/create-acs-cluster-old.ps1 delete mode 100644 azure/create-acs-cluster.txt delete mode 100644 azure/create-aks-cluster.txt delete mode 100644 azure/file.txt delete mode 100644 azure/ingress-nginx.yml delete mode 100644 azure/kube-dns-patch.yml delete mode 100644 azure/kube-dns.yml delete mode 100644 azure/oldfile.txt delete mode 100644 azure/oldnewfile.txt delete mode 100644 azure/restartkubedns.txt delete mode 100644 azure/setup-coredns.ps1 delete mode 100644 azure/simple.json delete mode 100644 azure/testfileshare-pod.yml delete mode 100644 azure/translations/en_US/LC_MESSAGES/acsengine.mo delete mode 100644 azure/translations/en_US/LC_MESSAGES/acsengine.po delete mode 100644 deployments/baremetal.json delete mode 100644 deployments/fabrickubernetes.json delete mode 100644 deployments/sample.json delete mode 100644 kubernetes/busybox.yml delete mode 100644 kubernetes/calico.yaml delete mode 100644 kubernetes/cleannode.sh delete mode 100644 kubernetes/common-kube.ps1 delete mode 100644 kubernetes/common.sh delete mode 100644 kubernetes/dashboard/index.json delete mode 100644 kubernetes/dashboard/ingress/http/dashboard.yaml delete mode 100644 kubernetes/dashboard/pods/grafana.yaml delete mode 100644 kubernetes/dashboard/pods/heapster.yaml delete mode 100644 kubernetes/dashboard/pods/influxdb.yaml delete mode 100644 kubernetes/dashboard/pods/kubernetes-dashboard.yaml delete mode 100644 kubernetes/dashboard/roles/dashboard-user.yaml delete mode 100644 kubernetes/dashboard/roles/heapster-rbac.yaml delete mode 100644 kubernetes/dashboard/setup-kubdashboard.sh delete mode 100644 kubernetes/flannel.yml delete mode 100644 kubernetes/inputrc delete mode 100644 kubernetes/installstack.ps1 delete mode 100644 kubernetes/loadbalancer/configmaps/config.ssl.yaml delete mode 100644 kubernetes/loadbalancer/configmaps/config.yaml delete mode 100644 kubernetes/loadbalancer/dns/upstream.yaml delete mode 100644 kubernetes/loadbalancer/index.json delete mode 100644 kubernetes/loadbalancer/ingress/dashboard.ssl.yaml delete mode 100644 kubernetes/loadbalancer/ingress/dashboard.yaml delete mode 100644 kubernetes/loadbalancer/pods/ingress-azure.both.yaml delete mode 100644 kubernetes/loadbalancer/pods/ingress-azure.internal.ssl.yaml delete mode 100644 kubernetes/loadbalancer/pods/ingress-azure.internal.yaml delete mode 100644 kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml delete mode 100644 kubernetes/loadbalancer/pods/ingress-azure.yaml delete mode 100644 kubernetes/loadbalancer/pods/ingress-onprem.yaml delete mode 100644 kubernetes/loadbalancer/roles/ingress-roles.yaml delete mode 100644 kubernetes/loadbalancer/services/cluster/dashboard-internal.yaml delete mode 100644 kubernetes/loadbalancer/services/cluster/dashboard-onprem.yaml delete mode 100644 kubernetes/loadbalancer/services/cluster/dashboard.yaml delete mode 100644 kubernetes/loadbalancer/services/external/loadbalancer.external.restricted.yaml delete mode 100644 kubernetes/loadbalancer/services/external/loadbalancer.external.yaml delete mode 100644 kubernetes/loadbalancer/services/external/loadbalancer.internal.open.yaml delete mode 100644 kubernetes/loadbalancer/services/external/loadbalancer.internal.yaml delete mode 100644 kubernetes/loadbalancer/services/external/loadbalancer.onprem.yaml delete mode 100644 kubernetes/loadbalancer/traefik-cmdline.txt delete mode 100644 kubernetes/setup-loadbalancer-old.ps1 delete mode 100644 kubernetes/setup-loadbalancer.ps1 delete mode 100644 kubernetes/setup-loadbalancer.sh delete mode 100644 kubernetes/setupmaster.txt delete mode 100644 kubernetes/setupnode.txt delete mode 100644 kubernetes/setupnode2.txt delete mode 100644 kubernetes/setupwindows.ps1 delete mode 100644 kubernetes/templates/index.json delete mode 100644 kubernetes/test.ps1 delete mode 100644 kubernetes/testwindowsnanoserver.yml delete mode 100644 kubernetes/testwindowswebserver.yml delete mode 100644 kubernetes/testwindowswebserver1709.yml delete mode 100644 kubernetes/windows/AddRoutes.ps1 delete mode 100644 kubernetes/windows/start-kubelet.ps1 delete mode 100644 kubernetes/windows/start-kubeproxy.ps1 delete mode 100644 nlp/ingress/http/solr.ssl.yaml delete mode 100644 nlp/ingress/http/solr.yaml delete mode 100644 nlp/ingress/http/web.internal.yaml delete mode 100644 nlp/ingress/http/web.onprem.yaml delete mode 100644 nlp/ingress/http/web.ssl.internal.yaml delete mode 100644 nlp/ingress/http/web.ssl.yaml delete mode 100644 nlp/ingress/http/web.yaml delete mode 100644 nlp/ingress/tcp/mysqlserver.internal.yaml delete mode 100644 nlp/ingress/tcp/mysqlserver.onprem.yaml delete mode 100644 nlp/ingress/tcp/mysqlserver.public.yaml delete mode 100644 nlp/installnlpkubernetes.sh delete mode 100644 nlp/jobs/mysqlserver-backup-cron.yaml delete mode 100644 nlp/jobs/mysqlserver-backup-manual.yaml delete mode 100644 nlp/jobs/mysqlserver-restore-manual.yaml delete mode 100644 nlp/nlp-kubernetes-storage-onprem.yml delete mode 100644 nlp/nlp-namespace.yml delete mode 100644 nlp/pods/jobserver.yaml delete mode 100644 nlp/pods/mysqlclient.yaml delete mode 100644 nlp/pods/mysqlserver.yaml delete mode 100644 nlp/pods/nlpwebserver.yaml delete mode 100644 nlp/pods/smtpserver.yaml delete mode 100644 nlp/pods/solrserver.yaml delete mode 100644 nlp/services/cluster/jobserver.yaml delete mode 100644 nlp/services/cluster/mysqlserver.yaml delete mode 100644 nlp/services/cluster/nlpwebserver.yaml delete mode 100644 nlp/services/cluster/smtpserver.yaml delete mode 100644 nlp/services/cluster/solrserver.yaml delete mode 100644 nlp/services/external/jobserver.yaml delete mode 100644 nlp/services/external/nlpwebserver.yaml delete mode 100644 nlp/services/external/solrserver.yaml delete mode 100644 nlp/test.yml delete mode 100644 nlp/volumeclaims/jobserver.yaml delete mode 100644 nlp/volumeclaims/mysqlbackup.yaml delete mode 100644 nlp/volumeclaims/mysqlserver.yaml delete mode 100644 nlp/volumeclaims/solrserver.yaml delete mode 100644 nlp/volumes/jobserver.onprem.yaml delete mode 100644 nlp/volumes/jobserver.yaml delete mode 100644 nlp/volumes/mysqlbackup.onprem.yaml delete mode 100644 nlp/volumes/mysqlbackup.yaml delete mode 100644 nlp/volumes/mysqlserver.onprem.yaml delete mode 100644 nlp/volumes/mysqlserver.yaml delete mode 100644 nlp/volumes/solrserver.onprem.yaml delete mode 100644 nlp/volumes/solrserver.yaml delete mode 100644 realtime/index.json delete mode 100644 realtime/ingress/http/interfaceengine.yaml delete mode 100644 realtime/ingress/http/rabbitmq.yaml delete mode 100644 realtime/ingress/http/web.yaml delete mode 100644 realtime/ingress/tcp/interfaceengine.yaml delete mode 100644 realtime/ingress/tcp/mysqlserver.yaml delete mode 100644 realtime/ingress/tcp/rabbitmq.yaml delete mode 100644 realtime/pods/certificateserver.yaml delete mode 100644 realtime/pods/interfaceengine.yaml delete mode 100644 realtime/pods/mysqlserver.yaml delete mode 100644 realtime/pods/rabbitmq.yaml delete mode 100644 realtime/services/cluster/certificateserver.yaml delete mode 100644 realtime/services/cluster/interfaceengine.yaml delete mode 100644 realtime/services/cluster/mysqlserver.yaml delete mode 100644 realtime/services/cluster/rabbitmq.yaml delete mode 100644 realtime/services/external/certificateserver.yaml delete mode 100644 realtime/services/external/interfaceengine.yaml delete mode 100644 realtime/services/external/rabbitmq.yaml delete mode 100644 realtime/volumeclaims/certificateserver.yaml delete mode 100644 realtime/volumeclaims/mysqlserver.yaml delete mode 100644 realtime/volumeclaims/rabbitmq-cert.yaml delete mode 100644 realtime/volumeclaims/rabbitmq.yaml delete mode 100644 realtime/volumes/azure/certificateserver.yaml delete mode 100644 realtime/volumes/azure/mysqlserver.yaml delete mode 100644 realtime/volumes/azure/rabbitmq-cert.yaml delete mode 100644 realtime/volumes/azure/rabbitmq.yaml delete mode 100644 realtime/volumes/onprem/certificateserver.yaml delete mode 100644 realtime/volumes/onprem/mysqlserver.yaml delete mode 100644 realtime/volumes/onprem/rabbitmq-cert.yaml delete mode 100644 realtime/volumes/onprem/rabbitmq.yaml diff --git a/azure/_output/fabricnlp9/apimodel.json b/azure/_output/fabricnlp9/apimodel.json deleted file mode 100644 index a10f422..0000000 --- a/azure/_output/fabricnlp9/apimodel.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "apiVersion": "vlabs", - "properties": { - "orchestratorProfile": { - "orchestratorType": "Kubernetes", - "orchestratorRelease": "1.8", - "orchestratorVersion": "1.8.4", - "kubernetesConfig": { - "kubernetesImageBase": "gcrio.azureedge.net/google_containers/", - "clusterSubnet": "10.244.0.0/16", - "dnsServiceIP": "10.0.0.10", - "serviceCidr": "10.0.0.0/16", - "networkPolicy": "none", - "nonMasqueradeCidr": "10.0.0.0/8", - "maxPods": 110, - "dockerBridgeSubnet": "172.17.0.1/16", - "nodeStatusUpdateFrequency": "10s", - "hardEvictionThreshold": "memory.available<100Mi,nodefs.available<10%,nodefs.inodesFree<5%", - "ctrlMgrNodeMonitorGracePeriod": "40s", - "ctrlMgrPodEvictionTimeout": "5m0s", - "ctrlMgrRouteReconciliationPeriod": "10s", - "gchighthreshold": 85, - "gclowthreshold": 80, - "etcdVersion": "2.3.8", - "etcdDiskSizeGB": "128", - "addons": [ - { - "name": "tiller", - "enabled": true, - "containers": [ - { - "name": "tiller", - "cpuRequests": "50m", - "memoryRequests": "150Mi", - "cpuLimits": "50m", - "memoryLimits": "150Mi" - } - ] - }, - { - "name": "aci-connector", - "enabled": false, - "containers": [ - { - "name": "aci-connector", - "cpuRequests": "50m", - "memoryRequests": "150Mi", - "cpuLimits": "50m", - "memoryLimits": "150Mi" - } - ], - "config": { - "region": "westus" - } - }, - { - "name": "kubernetes-dashboard", - "enabled": true, - "containers": [ - { - "name": "kubernetes-dashboard", - "cpuRequests": "300m", - "memoryRequests": "150Mi", - "cpuLimits": "300m", - "memoryLimits": "150Mi" - } - ] - }, - { - "name": "rescheduler", - "enabled": false, - "containers": [ - { - "name": "rescheduler", - "cpuRequests": "10m", - "memoryRequests": "100Mi", - "cpuLimits": "10m", - "memoryLimits": "100Mi" - } - ] - } - ] - } - }, - "masterProfile": { - "count": 1, - "dnsPrefix": "fabricnlp9", - "vmSize": "Standard_D2_v2", - "vnetSubnetID": "/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet", - "vnetCidr": "10.239.0.0/16", - "firstConsecutiveStaticIP": "10.239.255.239", - "storageProfile": "ManagedDisks", - "oauthEnabled": false, - "preProvisionExtension": null, - "extensions": [], - "distro": "ubuntu" - }, - "agentPoolProfiles": [ - { - "name": "linuxagent", - "count": 2, - "vmSize": "Standard_D2_v2", - "osType": "Linux", - "availabilityProfile": "AvailabilitySet", - "storageProfile": "StorageAccount", - "vnetSubnetID": "/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet", - "distro": "ubuntu", - "fqdn": "", - "preProvisionExtension": null, - "extensions": [] - } - ], - "linuxProfile": { - "adminUsername": "azureuser", - "ssh": { - "publicKeys": [ - { - "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDQEvG8bij5/eXWZFiU9KA9DpC980e/UgoMSij7nq+8M5ODBv/G8Bd3dssMNSj0RQKbyNiPz4EngFG62coGXK3ogJZEl/ABDDJAFEPB5J4BK8VCaVcmJpfPYVXd+DLv3A5Pk95SlgPeb1vbZnoOhy8F2rfjZBRCnsF2jN6Agk96c7JsGLamAaE2iU/+Wz/Z+x2nrV+Py+IVa2XKU/veqkY6/yDBQdO/BdXl8afdMHdqhjYwd7cp0Mec9r9iYmXKy8meUr125lMiayXIqeoU9qfcgnBlIcYkJtZjQd1F58o9KgHZXkkdEUqRyuiCgnJtNgY9xNu/Bgz2naiEU6NuKzKr azureuser@linuxvm" - } - ] - } - }, - "servicePrincipalProfile": { - "clientId": "5a53ea0c-f45a-40fa-b481-ed2734c93727", - "secret": "7cf86474-af55-492f-a460-201d0cd3a8d7" - }, - "certificateProfile": { - "caCertificate": "-----BEGIN CERTIFICATE-----\nMIIExzCCAq+gAwIBAgIQVFl1Mld09/LTk2Q2NIXmFDANBgkqhkiG9w0BAQsFADAN\nMQswCQYDVQQDEwJjYTAeFw0xNzEyMTAwNDAxNDZaFw0xOTEyMTAwNDAxNDZaMA0x\nCzAJBgNVBAMTAmNhMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsflF\ncod+p10xDGT3fWZmv+mNataSl80P359+CrEXF98v3hwlC+zxjEExidGGJGAqjHst\ntYNDH9ho5lwRY4NjbJqBIgw/p6yEpyXh51YbDP6t7zlzwQS2F9I+2yhm6MgwWwRM\ndNlGoZsjaklRnq0VmvzyY8XeBV/8NYQoD34MNuVWV6tGGZyfit1EOv2t+jNsKupQ\nn1DhxDbd4OKOxoh/fwXg/KGSX0ZTrQF5yExsUNhWrBw+BvtCkptw6iMaOUaoKUh9\ns5kM07rXBcLfSangAATvS1d35ffhCYBllxixJMuAaLpSKhyszDvgPDWggR7/EVYP\nZH9LJX0/m/OnCpYvyDdPM3xHKwJonGXKKf1mTLNFR16oF1SszBVVdSWsQRHsBNGU\nc2dF/F6Jh0DWBPgjH6rC8hE5agBf5gOhkXIVrpez8pkbRdSjjDmjWXY0291ciHEe\nuyBXXz2UhxBzsf9BeERnKM0gClKxKbwGFN4esWcO0DpHe6mX+zgKvoK+HPyUs8gP\nd9Op1OsedHCCJXYxNR2ql48UArjD4f2pv1cfEzJNEjcoQpmypJkpQ4cmFV2tDv8a\nK+KSXj2o4Ep7WITPDUknSye7zOjcOxSfLoWyketg2f6gIejzaIRoWmSd2Tt8ypEL\n9PdqsJUicny39sOqCKalLy4ku8VgQP0uZt1OaoECAwEAAaMjMCEwDgYDVR0PAQH/\nBAQDAgKkMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggIBAFmNMnXk\n3zbHGxSME4to2lYbmBfuxaibRabritLY2q3RJW4Hq5ERd/4nn7NdKZvAlHxeuvM6\nKR1Y5uTjwb9YrJtUB8x9WGl9GTaW3ae9QddycTG0HzkZ0XaDpjxdLVreeYF/FPSC\nzv5cjxCS+jkp33WFZogOftJ9u6Or+3YWcUxPSWRKy6SJeI7jgXyg3XafOEnb5lRC\nKRF+vtY8qhlOmnZtR3PZL7lXcCdhjdZQCfvy7ZYZfj20rLI0VU9khLRUIkv07IwA\nhL0fDWEPgzOh3RA8Mg2+rOA/RbATN9SHB0F3esikez9Lfz/6B5KN+jG+uM+Df1qK\n5BZRbw5jSlAOpggAo2al9AQQHzGiD4lBzls/pTTEApDEUjzjGZ66ZXnq5kL0cSLf\nhpB3Ol68rWrITqD3R+gId6WDdVmSzAqqbrUDsPUuc5l/pPz1aAJ4+JXuhWv35WIx\nY4ls/FcuNFK9mxTKGNxWlZxzizl+KJzr+OOXhp3BHZLZpDQnvb8bzmf4q6anliuI\nlZiQlI8QJzqdiTKMa2xvC1NnSKVM4zHJfEXIbCZm2y1AshBDAH1hs02r/puyl3t0\n7JqT7ceCjvDK/nF47EFusksWGP1BiEyN4LqlRVypw0P52Ql02nDqYnysIvqKNuDb\nBBviCwj33PhBJWeZ3h6PdhsNmF6IQ06271Zx\n-----END CERTIFICATE-----\n", - "caPrivateKey": "-----BEGIN RSA PRIVATE KEY-----\n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\n-----END RSA PRIVATE KEY-----\n", - "apiServerCertificate": "-----BEGIN CERTIFICATE-----\nMIIMYzCCCkugAwIBAgIRAOgfj4zTXjHizqRc28qoRvowDQYJKoZIhvcNAQELBQAw\nDTELMAkGA1UEAxMCY2EwHhcNMTcxMjEwMDQwMTQ4WhcNMTkxMjEwMDQwMTQ4WjAU\nMRIwEAYDVQQDEwlhcGlzZXJ2ZXIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK\nAoICAQC282+Mr3ibfvXJcp5ZkAh/1wiqqujNmoGQbCNBTy1Gmkr//Zrfx4/UvLph\n/hM4sWYA0x+i+xe6OigyGqfPubxh+VW81xDX3/yHym3A2SeaV30qE5SdPE8bratf\nrZSl/eP89EoJ2hsMddWmEeU8mvNRPNGotkvyJXcWJYnoriYnO/pVoPQfCrHXyg3D\nZz0vQuJyTnO0n8jBGg7uJi/xe95Vjgs2uVOy7ucwldnLEht21UlhM1cfhxNk1qKY\nbwHEnuiFsWmqn+2dDjQt8lgIO7hmf1PHpVAIecY6yYkJvzaSN1hyktms6V7BUsjZ\nNFBh9t1Onr4Ko3ZzVcJvX21l0Ma9ezRPnPf9LV7byXLmCs5bqEtYt7FE633haHXD\n90lsncxZkdBR+Eky22lMbZ6lEa+KwGWwA/c/g2g9IqWPOUd7tHFQaz2qC3ZMRpqG\n76Hsv+DHiqX5/UTdQSx7WuhD1Djp81czKrIaulr243y/+vDMoMFVJrwDCitloobT\nyqiClrZF510BC0zY/hhimdX+A8F0brTbQgxJU5DS0sEBScWaZPoPPLdi+mAorpGu\nzm9voiIExFhJxfjluyrkkuG9TpPxe1djuLxzALqaCRhnZ+cHJxckDdxSvaQoZIS2\n3RIIq+gzam+r2sRLfFzm+E10BACEsE1bVzRleClFsdaCUG8+XQIDAQABo4IHtTCC\nB7EwDgYDVR0PAQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB\n/wQCMAAwggd6BgNVHREEggdxMIIHbYIrZmFicmljbmxwOS5hdXN0cmFsaWFlYXN0\nLmNsb3VkYXBwLmF6dXJlLmNvbYIwZmFicmljbmxwOS5hdXN0cmFsaWFzb3V0aGVh\nc3QuY2xvdWRhcHAuYXp1cmUuY29tgilmYWJyaWNubHA5LmJyYXppbHNvdXRoLmNs\nb3VkYXBwLmF6dXJlLmNvbYIrZmFicmljbmxwOS5jYW5hZGFjZW50cmFsLmNsb3Vk\nYXBwLmF6dXJlLmNvbYIoZmFicmljbmxwOS5jYW5hZGFlYXN0LmNsb3VkYXBwLmF6\ndXJlLmNvbYIqZmFicmljbmxwOS5jZW50cmFsaW5kaWEuY2xvdWRhcHAuYXp1cmUu\nY29tgidmYWJyaWNubHA5LmNlbnRyYWx1cy5jbG91ZGFwcC5henVyZS5jb22CK2Zh\nYnJpY25scDkuY2VudHJhbHVzZXVhcC5jbG91ZGFwcC5henVyZS5jb22CLmZhYnJp\nY25scDkuY2hpbmFlYXN0LmNsb3VkYXBwLmNoaW5hY2xvdWRhcGkuY26CL2ZhYnJp\nY25scDkuY2hpbmFub3J0aC5jbG91ZGFwcC5jaGluYWNsb3VkYXBpLmNugiZmYWJy\naWNubHA5LmVhc3Rhc2lhLmNsb3VkYXBwLmF6dXJlLmNvbYIkZmFicmljbmxwOS5l\nYXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tgiVmYWJyaWNubHA5LmVhc3R1czIuY2xv\ndWRhcHAuYXp1cmUuY29tgilmYWJyaWNubHA5LmVhc3R1czJldWFwLmNsb3VkYXBw\nLmF6dXJlLmNvbYInZmFicmljbmxwOS5qYXBhbmVhc3QuY2xvdWRhcHAuYXp1cmUu\nY29tgidmYWJyaWNubHA5LmphcGFud2VzdC5jbG91ZGFwcC5henVyZS5jb22CKmZh\nYnJpY25scDkua29yZWFjZW50cmFsLmNsb3VkYXBwLmF6dXJlLmNvbYIoZmFicmlj\nbmxwOS5rb3JlYXNvdXRoLmNsb3VkYXBwLmF6dXJlLmNvbYIsZmFicmljbmxwOS5u\nb3J0aGNlbnRyYWx1cy5jbG91ZGFwcC5henVyZS5jb22CKWZhYnJpY25scDkubm9y\ndGhldXJvcGUuY2xvdWRhcHAuYXp1cmUuY29tgixmYWJyaWNubHA5LnNvdXRoY2Vu\ndHJhbHVzLmNsb3VkYXBwLmF6dXJlLmNvbYIrZmFicmljbmxwOS5zb3V0aGVhc3Rh\nc2lhLmNsb3VkYXBwLmF6dXJlLmNvbYIoZmFicmljbmxwOS5zb3V0aGluZGlhLmNs\nb3VkYXBwLmF6dXJlLmNvbYIlZmFicmljbmxwOS51a3NvdXRoLmNsb3VkYXBwLmF6\ndXJlLmNvbYIkZmFicmljbmxwOS51a3dlc3QuY2xvdWRhcHAuYXp1cmUuY29tgitm\nYWJyaWNubHA5Lndlc3RjZW50cmFsdXMuY2xvdWRhcHAuYXp1cmUuY29tgihmYWJy\naWNubHA5Lndlc3RldXJvcGUuY2xvdWRhcHAuYXp1cmUuY29tgidmYWJyaWNubHA5\nLndlc3RpbmRpYS5jbG91ZGFwcC5henVyZS5jb22CJGZhYnJpY25scDkud2VzdHVz\nLmNsb3VkYXBwLmF6dXJlLmNvbYIlZmFicmljbmxwOS53ZXN0dXMyLmNsb3VkYXBw\nLmF6dXJlLmNvbYIuZmFicmljbmxwOS5jaGluYWVhc3QuY2xvdWRhcHAuY2hpbmFj\nbG91ZGFwaS5jboIvZmFicmljbmxwOS5jaGluYW5vcnRoLmNsb3VkYXBwLmNoaW5h\nY2xvdWRhcGkuY26CNGZhYnJpY25scDkuZ2VybWFueWNlbnRyYWwuY2xvdWRhcHAu\nbWljcm9zb2Z0YXp1cmUuZGWCNmZhYnJpY25scDkuZ2VybWFueW5vcnRoZWFzdC5j\nbG91ZGFwcC5taWNyb3NvZnRhenVyZS5kZYIzZmFicmljbmxwOS51c2dvdnZpcmdp\nbmlhLmNsb3VkYXBwLnVzZ292Y2xvdWRhcGkubmV0gi9mYWJyaWNubHA5LnVzZ292\naW93YS5jbG91ZGFwcC51c2dvdmNsb3VkYXBpLm5ldIIyZmFicmljbmxwOS51c2dv\ndmFyaXpvbmEuY2xvdWRhcHAudXNnb3ZjbG91ZGFwaS5uZXSCMGZhYnJpY25scDku\ndXNnb3Z0ZXhhcy5jbG91ZGFwcC51c2dvdmNsb3VkYXBpLm5ldIIKa3ViZXJuZXRl\nc4ISa3ViZXJuZXRlcy5kZWZhdWx0ghZrdWJlcm5ldGVzLmRlZmF1bHQuc3ZjgiRr\ndWJlcm5ldGVzLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWyCFmt1YmVybmV0ZXMu\na3ViZS1zeXN0ZW2CGmt1YmVybmV0ZXMua3ViZS1zeXN0ZW0uc3ZjgihrdWJlcm5l\ndGVzLmt1YmUtc3lzdGVtLnN2Yy5jbHVzdGVyLmxvY2FshwQK7//vhwQK7//5hwQK\nAAABMA0GCSqGSIb3DQEBCwUAA4ICAQCdXIGpDYf3Sia3P+8yDXpHApPkqiyR2aMX\nwbd1OcbCBGKGAEMIg/yW1EtQYjK2r0xgAR7sDKiHdlEou7uPGcSTYRkm3e8Ug3qY\nmun2B+kvbvGWVs//aTRf8Cpj+4ZBjFMyoFqGeZPD+1PfTdHL/mF+NEsbVbc0wqdU\nO6UURzKjOo/gHLHtlzE0quHc3eSagmAwAcyY5jxcsZ+ZYKeS2IZEARMx4Km0Zjie\n9ZqMaI11E3By5d6fcd2aMlK5GehmEVnC7IwnoZmT48Dl7voZChskxTQI+kTYMH1R\neXF8eg541M+xX3CMIAMhsbzrVTYglfMG2C+VPM184I4VYsmNjVFd+xsRxNSQ0rhA\nGiC9otspqBjgqBpsyKoz/bck1a1Hsf3yu2jLAv6h4WnThyQN2hQyzH/HECPyTxMw\nEveIBeH8XIwQm9vCHLbLg1dH05oBHx0Ivww0t+Nsns3+NAJ6bA3c30XrHpktsUwz\n01O30D81UkLqtdiFCpI/7tCzzz/9poGQKtEAmlxRTk2GUhXHi4dR1RO2qhwPbIO1\n8MIgJNTmSGxGc5p7Qt0CJruXfrPFrMiDD6/kyWjDTyijUjt7WN/W6tiHbym5sNnR\nN1xy5Y9krPxqUCbRUSrIy6YyAwjzAtejzoqUwxCDNW8AP+GSSHg0rTsjk8r4lJrU\nVxWENZk3Aw==\n-----END CERTIFICATE-----\n", - "apiServerPrivateKey": "-----BEGIN RSA PRIVATE KEY-----\nMIIJKAIBAAKCAgEAtvNvjK94m371yXKeWZAIf9cIqqrozZqBkGwjQU8tRppK//2a\n38eP1Ly6Yf4TOLFmANMfovsXujooMhqnz7m8YflVvNcQ19/8h8ptwNknmld9KhOU\nnTxPG62rX62Upf3j/PRKCdobDHXVphHlPJrzUTzRqLZL8iV3FiWJ6K4mJzv6VaD0\nHwqx18oNw2c9L0Lick5ztJ/IwRoO7iYv8XveVY4LNrlTsu7nMJXZyxIbdtVJYTNX\nH4cTZNaimG8BxJ7ohbFpqp/tnQ40LfJYCDu4Zn9Tx6VQCHnGOsmJCb82kjdYcpLZ\nrOlewVLI2TRQYfbdTp6+CqN2c1XCb19tZdDGvXs0T5z3/S1e28ly5grOW6hLWLex\nROt94Wh1w/dJbJ3MWZHQUfhJMttpTG2epRGvisBlsAP3P4NoPSKljzlHe7RxUGs9\nqgt2TEaahu+h7L/gx4ql+f1E3UEse1roQ9Q46fNXMyqyGrpa9uN8v/rwzKDBVSa8\nAworZaKG08qogpa2ReddAQtM2P4YYpnV/gPBdG6020IMSVOQ0tLBAUnFmmT6Dzy3\nYvpgKK6Rrs5vb6IiBMRYScX45bsq5JLhvU6T8XtXY7i8cwC6mgkYZ2fnBycXJA3c\nUr2kKGSEtt0SCKvoM2pvq9rES3xc5vhNdAQAhLBNW1c0ZXgpRbHWglBvPl0CAwEA\nAQKCAgBXOD9aBt2s5B4xZ99uO2iR6eZL1ycdvic+vw8ft6uSGUTgPftz7CP5+++v\nf/2R7aD/i6dtf9+T/N3k5ShTs+zHmKLzYGS7RiGSa0NfySdEQal+Qc98FqBwRZ+K\nAar4Z84lbiFOCRkUG6k7fxSWjBisBh6+HAqg6pOXj1XsA/pUgheacx1vHx4iDkX5\nfmKBAZYLgLNQzUxcIxwzFSmOKsuYZhuaf0gT6il11Dr8wSkuwgg1utAyS6dHT7w8\nh8+D+W5JLod9vLj/QyJFNWAarL4Av3sllv5MzCFhLWuTpgFSO+iC1tfHw4pVCC6Q\nvowD6DkhnjRjxgJWgfAsQIZbH+le5bvIwPE4TiE6VRZL1WIDIT5tPrtY0s++TUFF\nQrcQztAiJBYvTPJWitRSfBf5w518Gz2zB49gZzL8I5OLsumHvFdegd0XAbytz9Xf\nWFYn2jXdkxHB5BnemwDRVBh4hQrS4xyUA0Jr8kdFj7hjj3apAIKRXpax2euESFm5\nslfqRbUbaNr1EQxE1lKUKO2g4cva8ynuQB88Oyj3nKlwbaWnY20CmOltbg4zybX9\nqiEyS9OBJy7IGZ2skRr06f6Kx0ABqk2C5+vcdybHgwRefGlKV2JuLwii/MHS8Lsd\nQAQOHVN39C8Qxgsml621w6TNKwlX/Kwib4XKdwuj49e6QYYSAQKCAQEA0IUUy5+D\ncN5EF4VA7pRrPOCjZYOc2YvqPNUHf8iyS7itPsUbVvdcfWiTiD8CMztETswKOow1\nCeJpZeKN8aun2RMQpOnEJn3r3Wf66pfgO6uti72FjXA8hla9x1aKhiHiF3KNS0OC\nMXthjvHazCGlAPsJT/WUVXquRqVoxISt0UDYnYy1d8dZib1tz5xARsVpZcGmTuui\nhFfZSrrH7xlM5EWoh2A72EBLpeNOAwLCyki7FR0aHa3neR0mI2mMJqVztjFfXZxa\nac8LnkFQD/bN3fy2YbXgpQeZ2bBn17SzP0RcB0gKBget6G0XwPTuisHBvmEWlFgi\nGzNEsQVUIF+rPQKCAQEA4JvnwwHPYYIhEN7KaPf11V0FYQ2S+oHFHatmZtFsCkse\nkuKtNvQjzaQwjTDJWW3ztypLc1VHclFDNuoDKRX0pg09kZjhesBWFTMT+2yRHkPq\n02wJJr7xHjYYH9QWNS/XZxcHedgzfFwo42woqpRamE46hlBPbyHNYmLcGEA9zLT3\nlGvb6gjf41V2apNUzLXNOw4BLqqQHCqx+MJfUHaTwxHCMszb40Qx64e+CVgwECPo\nKLF5djtoU1zHaGULpcMXM09FGzFdbHNqrbvHI2+P5wlGTG0XKzh/1qb3MWcM2cxX\nA2V4KnEyWZiV0TubmPudb0iZ4PpmMgJmvSQuNdORoQKCAQBxt7IwnkyTmFOwNBbG\nRiD5sVTK/uziY4CaLl+Jm81IqG2q5tnTItHI/ug+jIZJpE/LXVFSvrYKLvTmAJkC\nrGe8Zb5VAbvcdh3UwGlB2RQL1sOtiu0zxnrrlJCpDpQ7NG1V9j4CRs3Q6IW67EEz\nxEF1eHKKrdZ4i5BRrNGnIuicTu4TdfJdYVV+XdVuPLt9HRouyV5GehFGdZZmP9jb\nl4OsliSjt6LLe70FuiIIWFAc+28zw4xDlVzAW1o6Q8yQIvko6mIk7ikMvUKLyvi7\nzBBXuQNJ5GOf/LY11xO6uqxqm4BI5Eu7ICMCt8QVkj4pZCOiDNbAjhQDm4EhvVM0\n2JfNAoIBAQDOZnZTfRZVRH+eQR0/2JzPtOt8hDzMdvPsj9VKJqhhzSYLVMJX/YHp\nNzhmhq6Av8l2SCeNlJBTPNnHXMQKvWJUNVaetR5+7sAsOwPhx6KTbVYdcun18QEi\nAhOpK/w8Y/pNgZwdG9A0N3xbgMjd9/ZIf5rIUoSsWyOhhbc7kc04kBPzECrGpeEX\nxzFKPpluhKJT4kqz14kWWSWysutjxZODbo5GoHpwHfrBtbusWp3QNy7gNjanr2/v\nKxMTm8dYTC7Ft9KJapOvVWByxlv49EwIwz0WfikMTp8rYcNGYqwseNp9BIGoft0F\n+HG0FFKoApBp8w108KV4zzwaE2VjkUgBAoIBADfE6eaoGCuVIpOr2wH0YxKi9eD5\nw7ClxesJ6deYEWnJhWpA0OPhZ0Cd73sCrQ4gJ7o7hGxR/xTTJy5r0AqDu5Pi8/Wx\nQMSGFz3TPrWFp4HHATjyonNxiLpz+T1z5+fQ7uH93oJBrBraG83vVpv0D3iaQ2/E\n1DGa4JMOTRRYZnqpMIq+fPMHOZbRKxUdx38OU61YWYPVDXyP/lZ7xgL0U+tWYfto\n7ghHSXCev23QXZRy/4EzXVuWNUeLWu+vLxoXuoe6JIBDNAmW7uaVzlKUaFVtU1LJ\n4NnVc1D8Vn+vArQNUEgZFlad5XNOlJqVVQisJ6iV4vB5I/0BpfPOtqsO+0g=\n-----END RSA PRIVATE KEY-----\n", - "clientCertificate": "-----BEGIN CERTIFICATE-----\nMIIE9jCCAt6gAwIBAgIQMDo6x/IjkaJbVKxUnqTrvDANBgkqhkiG9w0BAQsFADAN\nMQswCQYDVQQDEwJjYTAeFw0xNzEyMTAwNDAxNDhaFw0xOTEyMTAwNDAxNDhaMCox\nFzAVBgNVBAoTDnN5c3RlbTptYXN0ZXJzMQ8wDQYDVQQDEwZjbGllbnQwggIiMA0G\nCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC3/P6t2u5xDlsLdSmQpGhH9qpRr93a\nFml5+V9f2LQX9wXD+jfNtqmGJge8351eeNr6CGzHFmiTYzA+/1cXdJaUjJ8ULOwL\nzlbWxkV4FBvtNPQRsFWgD580RKlULmFmTpC0DG3/cwbhjILBanrFIZ2kUFxbdEOm\nu5Gkmj9tjCV6UWGCDFzhG3LywVRoTP/HydC9NeLjTUL8A/9QMkjbQWmEdvGIi/pN\nRFx+OTpvPz/bAQnPpI3cK8+4ICklrXOm0ionxdNkkrn89zDlv9kBM3v8wRqqmqM7\nSJ9RIIn36LWrsRvz1zEthggoZptBPQZwouvh8gd3m1IHH7HDDlV4DLpksuEhPWTW\nHdLBimtBuldO7GL4b3rbiF3UfBv9B5UlEmq7hUapyu7FYUtidxEx4NEUTQG1r2Qh\nBOlo7vbnvseaNHDs1OMF140zGyIMr6FrFB85wGSXtHafSUu+CvDAh6d6i14xHuBh\nwB+mOKUpg5aUdqBElMpyM7zZOGvcmHE/Oo0XCM9/YDZu9vfN7wBe2P9oaJpLkp03\nR72njrwDYPpAuCD4KJNRjkdR64XmSREiF+yQk8KddtzCsSSBVOp9QZRdHkcdG4A5\nreYU09RGhWHSSdjNo5GEBojW+PN2ZX2YnOCGotA8NIxIYEHeQ8YafMQEziGosef/\nqbrG3dETE0rJBwIDAQABozUwMzAOBgNVHQ8BAf8EBAMCBaAwEwYDVR0lBAwwCgYI\nKwYBBQUHAwIwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAgEAETBkdDrJ\nzkYdZMcz2zEijphya8HaBQVwuyN/B4lDESmyyEgsT77fd9oWDPDE+R8VU840WeAC\nNaGmhZ/38p4xqwlpSPJu57IJHFr1iHMdHkNFDyaX6yq9KZv8oxZ/5Wz40f8bn4/3\nO1132q6JwFawtVxvU3InflJQlJT5mFpkkFjaIiD8vS2y0UCw2SlcrLu2tt2CzfvT\nUxuYVK5tQt7OVzFtixFuerR3xvHeq1zoRY5dhbXhN1EKvHELCWLZ/NI8H+U4So1A\n1hjTPzUmx84khvk+gfWD+oLPF6f18OjdoCNjZrQXYVLiGY6samJAGQOxHtFToMGs\nfdPD1NK4rH3ZPj3r7650hp1ARsIoVMf6pHibq92NJ+419TlbgIM1UTl8iNZmUGe/\n+AuXH6WW1xaBaYL2PemZCMb5Dwiv338hpNOvNq3SIDjCHYdX3AxfYt67Rhm5g7ao\nME6xdZs69QOJub+AurMo3Oxf6x2sCeSYrvR6UaJ6mr4k+AJsukxVoISWaMtd/cyH\nCTsYYuG6MBusIsCVn/Z8hQtk5MlreUw2gQeTNuFuwBYfYbkDSp1Hs/LOkfwjc5eS\nn1klHrfOfY6nOBUETXJNa9A7yDhm9rRbt8yL9YFnUkN8XmzMeqvxbzZltVbaryY2\n6Mxmj/G01rm1lMhDc/gRMbPauac5yMTROxs=\n-----END CERTIFICATE-----\n", - "clientPrivateKey": "-----BEGIN RSA PRIVATE KEY-----\n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\n-----END RSA PRIVATE KEY-----\n", - "kubeConfigCertificate": "-----BEGIN CERTIFICATE-----\nMIIE9zCCAt+gAwIBAgIRAL4mjw2cB1Jz/w1kNfyv8K4wDQYJKoZIhvcNAQELBQAw\nDTELMAkGA1UEAxMCY2EwHhcNMTcxMjEwMDQwMTQ4WhcNMTkxMjEwMDQwMTQ4WjAq\nMRcwFQYDVQQKEw5zeXN0ZW06bWFzdGVyczEPMA0GA1UEAxMGY2xpZW50MIICIjAN\nBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAyZD+rIDAznu5IWzFUn1nCo3DtDu0\nUdmpV9WxnfK3+KGHQurhFhKUkhuRsLRzm1Ru/eV3lG3pyyytg1NxGmd2wNSS0K/D\nP69Q/DdhiYCQL2rIgcFhfZMMC8UapX9JQ3sTi1XmZ3310aVEFjK1FTtcY2Z5O8/F\nfLH6tdl6kS+wwpXsfyrwZDsel4J5ZbllNiycRNsUJA48K4VvqFONindTA/47VHL7\ncGem/qNojDzSDuh/lscr1SQvldzy2g2yIPRa8J+eKvQ8EZqsrPc/lWBgCTJ0pY1C\n9dUjAwS//w1m0wm85D40jimUsL76coMToXCwtXGaZyPN2YQSaDpElsABo1dmsKFB\nv0ogit3qqdnzuLVZnlXrL62aK8CYBqcrlAnQn+3G7FzokM+DYipLgIPzDTrimN2I\nPWmb/tRzvtXdY+2o1DhdvDu8fc7eFgzfBqFgYZC9yHJ0dko/crmI2LiynwFpjO6R\nBOm8ppVK88Lrx9lw18xdLdFIdd8+Q8IxqUtBsIRbcjRUUrRPWZqW63BCSS+vclNi\ny7CnMbEJGF+/ogIcUbqNoKCDg6CE5/urdCFpG510Yz5odwqnRqghTs19Q/W29bmB\nUIrRhNt+OF0QaVgUVaJOOjnb/KPoIo++deFcJ7IdY89QDbAXpJBB095tlbGMSpI5\nOM4psc64jGyDWncCAwEAAaM1MDMwDgYDVR0PAQH/BAQDAgWgMBMGA1UdJQQMMAoG\nCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBAEdDjfNF\ncDWxwZ2m6bpwNgHRESvO4YXaJx6Z9Jl4HxhE12I8ZXIgVzd5dqfNNxHI/81WXwl/\n7FgDJ0f+/BklZxKCyeiwgp8t/D0KtT67/gu34Bp1XJU2rhFG3DFaGfKRTYW6eQqg\nqNDzZHZJcBnPB5Z7qVEO8iAJNOK2jd3Wpd2rxnQbASHimuHsN/QQ/SO8zJMHFYT+\ngIM3CBGH3QT7wRRkxqXHd9X+NEmgjf/YZRmFL3+GxFsCYs8srd9/0B9thP0AL8sD\nV6MrleAUvUtN5uBPGPCImkiP6wlMd7rjhfiHVe3rXAoNfpZ+Fgx99BnTpLQqaa6L\nWIC3MmzIfeGe3ndLG814V/5aOWxNwW1/dP318e+GvtCGyCRaGA6tlM8dtkISYbrh\nb2VUigxB98eLKJSuO+H7YDCKldWZzXyOV83Xek0VViX9uMTrYT4MMx3VSwlAIw7V\nvynToebBW68DgWAW24hGQCVgvXzgP0IvZlRXf0fWEjJZIPtqgnzwmZfnAuZHJpcY\n76yEI135YxywUO8dyHBl0AHrWoeflcFm69hFOsfMRtlUMHCyXVtqpEzwtV/UfAUM\nhJt/joDBSAA5pqnwB6H+i6JX8iTpkxHKxRsVhNBATdzSy0DOz8OVm5rYJZyjBXQl\nW/vNP5eLepvOqRn3DPjw/vJAG0izwOLU6UYH\n-----END CERTIFICATE-----\n", - "kubeConfigPrivateKey": "-----BEGIN RSA PRIVATE KEY-----\n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\n-----END RSA PRIVATE KEY-----\n" - } - } -} diff --git a/azure/_output/fabricnlp9/apiserver.crt b/azure/_output/fabricnlp9/apiserver.crt deleted file mode 100644 index 2465759..0000000 --- a/azure/_output/fabricnlp9/apiserver.crt +++ /dev/null @@ -1,69 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIMYzCCCkugAwIBAgIRAOgfj4zTXjHizqRc28qoRvowDQYJKoZIhvcNAQELBQAw -DTELMAkGA1UEAxMCY2EwHhcNMTcxMjEwMDQwMTQ4WhcNMTkxMjEwMDQwMTQ4WjAU -MRIwEAYDVQQDEwlhcGlzZXJ2ZXIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK -AoICAQC282+Mr3ibfvXJcp5ZkAh/1wiqqujNmoGQbCNBTy1Gmkr//Zrfx4/UvLph -/hM4sWYA0x+i+xe6OigyGqfPubxh+VW81xDX3/yHym3A2SeaV30qE5SdPE8bratf -rZSl/eP89EoJ2hsMddWmEeU8mvNRPNGotkvyJXcWJYnoriYnO/pVoPQfCrHXyg3D -Zz0vQuJyTnO0n8jBGg7uJi/xe95Vjgs2uVOy7ucwldnLEht21UlhM1cfhxNk1qKY -bwHEnuiFsWmqn+2dDjQt8lgIO7hmf1PHpVAIecY6yYkJvzaSN1hyktms6V7BUsjZ -NFBh9t1Onr4Ko3ZzVcJvX21l0Ma9ezRPnPf9LV7byXLmCs5bqEtYt7FE633haHXD -90lsncxZkdBR+Eky22lMbZ6lEa+KwGWwA/c/g2g9IqWPOUd7tHFQaz2qC3ZMRpqG -76Hsv+DHiqX5/UTdQSx7WuhD1Djp81czKrIaulr243y/+vDMoMFVJrwDCitloobT -yqiClrZF510BC0zY/hhimdX+A8F0brTbQgxJU5DS0sEBScWaZPoPPLdi+mAorpGu -zm9voiIExFhJxfjluyrkkuG9TpPxe1djuLxzALqaCRhnZ+cHJxckDdxSvaQoZIS2 -3RIIq+gzam+r2sRLfFzm+E10BACEsE1bVzRleClFsdaCUG8+XQIDAQABo4IHtTCC -B7EwDgYDVR0PAQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB -/wQCMAAwggd6BgNVHREEggdxMIIHbYIrZmFicmljbmxwOS5hdXN0cmFsaWFlYXN0 -LmNsb3VkYXBwLmF6dXJlLmNvbYIwZmFicmljbmxwOS5hdXN0cmFsaWFzb3V0aGVh -c3QuY2xvdWRhcHAuYXp1cmUuY29tgilmYWJyaWNubHA5LmJyYXppbHNvdXRoLmNs -b3VkYXBwLmF6dXJlLmNvbYIrZmFicmljbmxwOS5jYW5hZGFjZW50cmFsLmNsb3Vk -YXBwLmF6dXJlLmNvbYIoZmFicmljbmxwOS5jYW5hZGFlYXN0LmNsb3VkYXBwLmF6 -dXJlLmNvbYIqZmFicmljbmxwOS5jZW50cmFsaW5kaWEuY2xvdWRhcHAuYXp1cmUu -Y29tgidmYWJyaWNubHA5LmNlbnRyYWx1cy5jbG91ZGFwcC5henVyZS5jb22CK2Zh -YnJpY25scDkuY2VudHJhbHVzZXVhcC5jbG91ZGFwcC5henVyZS5jb22CLmZhYnJp -Y25scDkuY2hpbmFlYXN0LmNsb3VkYXBwLmNoaW5hY2xvdWRhcGkuY26CL2ZhYnJp -Y25scDkuY2hpbmFub3J0aC5jbG91ZGFwcC5jaGluYWNsb3VkYXBpLmNugiZmYWJy -aWNubHA5LmVhc3Rhc2lhLmNsb3VkYXBwLmF6dXJlLmNvbYIkZmFicmljbmxwOS5l -YXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tgiVmYWJyaWNubHA5LmVhc3R1czIuY2xv -dWRhcHAuYXp1cmUuY29tgilmYWJyaWNubHA5LmVhc3R1czJldWFwLmNsb3VkYXBw -LmF6dXJlLmNvbYInZmFicmljbmxwOS5qYXBhbmVhc3QuY2xvdWRhcHAuYXp1cmUu -Y29tgidmYWJyaWNubHA5LmphcGFud2VzdC5jbG91ZGFwcC5henVyZS5jb22CKmZh -YnJpY25scDkua29yZWFjZW50cmFsLmNsb3VkYXBwLmF6dXJlLmNvbYIoZmFicmlj -bmxwOS5rb3JlYXNvdXRoLmNsb3VkYXBwLmF6dXJlLmNvbYIsZmFicmljbmxwOS5u -b3J0aGNlbnRyYWx1cy5jbG91ZGFwcC5henVyZS5jb22CKWZhYnJpY25scDkubm9y -dGhldXJvcGUuY2xvdWRhcHAuYXp1cmUuY29tgixmYWJyaWNubHA5LnNvdXRoY2Vu -dHJhbHVzLmNsb3VkYXBwLmF6dXJlLmNvbYIrZmFicmljbmxwOS5zb3V0aGVhc3Rh -c2lhLmNsb3VkYXBwLmF6dXJlLmNvbYIoZmFicmljbmxwOS5zb3V0aGluZGlhLmNs -b3VkYXBwLmF6dXJlLmNvbYIlZmFicmljbmxwOS51a3NvdXRoLmNsb3VkYXBwLmF6 -dXJlLmNvbYIkZmFicmljbmxwOS51a3dlc3QuY2xvdWRhcHAuYXp1cmUuY29tgitm -YWJyaWNubHA5Lndlc3RjZW50cmFsdXMuY2xvdWRhcHAuYXp1cmUuY29tgihmYWJy -aWNubHA5Lndlc3RldXJvcGUuY2xvdWRhcHAuYXp1cmUuY29tgidmYWJyaWNubHA5 -Lndlc3RpbmRpYS5jbG91ZGFwcC5henVyZS5jb22CJGZhYnJpY25scDkud2VzdHVz -LmNsb3VkYXBwLmF6dXJlLmNvbYIlZmFicmljbmxwOS53ZXN0dXMyLmNsb3VkYXBw -LmF6dXJlLmNvbYIuZmFicmljbmxwOS5jaGluYWVhc3QuY2xvdWRhcHAuY2hpbmFj -bG91ZGFwaS5jboIvZmFicmljbmxwOS5jaGluYW5vcnRoLmNsb3VkYXBwLmNoaW5h -Y2xvdWRhcGkuY26CNGZhYnJpY25scDkuZ2VybWFueWNlbnRyYWwuY2xvdWRhcHAu -bWljcm9zb2Z0YXp1cmUuZGWCNmZhYnJpY25scDkuZ2VybWFueW5vcnRoZWFzdC5j -bG91ZGFwcC5taWNyb3NvZnRhenVyZS5kZYIzZmFicmljbmxwOS51c2dvdnZpcmdp -bmlhLmNsb3VkYXBwLnVzZ292Y2xvdWRhcGkubmV0gi9mYWJyaWNubHA5LnVzZ292 -aW93YS5jbG91ZGFwcC51c2dvdmNsb3VkYXBpLm5ldIIyZmFicmljbmxwOS51c2dv -dmFyaXpvbmEuY2xvdWRhcHAudXNnb3ZjbG91ZGFwaS5uZXSCMGZhYnJpY25scDku -dXNnb3Z0ZXhhcy5jbG91ZGFwcC51c2dvdmNsb3VkYXBpLm5ldIIKa3ViZXJuZXRl -c4ISa3ViZXJuZXRlcy5kZWZhdWx0ghZrdWJlcm5ldGVzLmRlZmF1bHQuc3ZjgiRr -dWJlcm5ldGVzLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWyCFmt1YmVybmV0ZXMu -a3ViZS1zeXN0ZW2CGmt1YmVybmV0ZXMua3ViZS1zeXN0ZW0uc3ZjgihrdWJlcm5l -dGVzLmt1YmUtc3lzdGVtLnN2Yy5jbHVzdGVyLmxvY2FshwQK7//vhwQK7//5hwQK -AAABMA0GCSqGSIb3DQEBCwUAA4ICAQCdXIGpDYf3Sia3P+8yDXpHApPkqiyR2aMX -wbd1OcbCBGKGAEMIg/yW1EtQYjK2r0xgAR7sDKiHdlEou7uPGcSTYRkm3e8Ug3qY -mun2B+kvbvGWVs//aTRf8Cpj+4ZBjFMyoFqGeZPD+1PfTdHL/mF+NEsbVbc0wqdU -O6UURzKjOo/gHLHtlzE0quHc3eSagmAwAcyY5jxcsZ+ZYKeS2IZEARMx4Km0Zjie -9ZqMaI11E3By5d6fcd2aMlK5GehmEVnC7IwnoZmT48Dl7voZChskxTQI+kTYMH1R -eXF8eg541M+xX3CMIAMhsbzrVTYglfMG2C+VPM184I4VYsmNjVFd+xsRxNSQ0rhA -GiC9otspqBjgqBpsyKoz/bck1a1Hsf3yu2jLAv6h4WnThyQN2hQyzH/HECPyTxMw -EveIBeH8XIwQm9vCHLbLg1dH05oBHx0Ivww0t+Nsns3+NAJ6bA3c30XrHpktsUwz -01O30D81UkLqtdiFCpI/7tCzzz/9poGQKtEAmlxRTk2GUhXHi4dR1RO2qhwPbIO1 -8MIgJNTmSGxGc5p7Qt0CJruXfrPFrMiDD6/kyWjDTyijUjt7WN/W6tiHbym5sNnR -N1xy5Y9krPxqUCbRUSrIy6YyAwjzAtejzoqUwxCDNW8AP+GSSHg0rTsjk8r4lJrU -VxWENZk3Aw== ------END CERTIFICATE----- diff --git a/azure/_output/fabricnlp9/apiserver.key b/azure/_output/fabricnlp9/apiserver.key deleted file mode 100644 index 8f28839..0000000 --- a/azure/_output/fabricnlp9/apiserver.key +++ /dev/null @@ -1,51 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIJKAIBAAKCAgEAtvNvjK94m371yXKeWZAIf9cIqqrozZqBkGwjQU8tRppK//2a -38eP1Ly6Yf4TOLFmANMfovsXujooMhqnz7m8YflVvNcQ19/8h8ptwNknmld9KhOU -nTxPG62rX62Upf3j/PRKCdobDHXVphHlPJrzUTzRqLZL8iV3FiWJ6K4mJzv6VaD0 -Hwqx18oNw2c9L0Lick5ztJ/IwRoO7iYv8XveVY4LNrlTsu7nMJXZyxIbdtVJYTNX -H4cTZNaimG8BxJ7ohbFpqp/tnQ40LfJYCDu4Zn9Tx6VQCHnGOsmJCb82kjdYcpLZ -rOlewVLI2TRQYfbdTp6+CqN2c1XCb19tZdDGvXs0T5z3/S1e28ly5grOW6hLWLex -ROt94Wh1w/dJbJ3MWZHQUfhJMttpTG2epRGvisBlsAP3P4NoPSKljzlHe7RxUGs9 -qgt2TEaahu+h7L/gx4ql+f1E3UEse1roQ9Q46fNXMyqyGrpa9uN8v/rwzKDBVSa8 -AworZaKG08qogpa2ReddAQtM2P4YYpnV/gPBdG6020IMSVOQ0tLBAUnFmmT6Dzy3 -YvpgKK6Rrs5vb6IiBMRYScX45bsq5JLhvU6T8XtXY7i8cwC6mgkYZ2fnBycXJA3c -Ur2kKGSEtt0SCKvoM2pvq9rES3xc5vhNdAQAhLBNW1c0ZXgpRbHWglBvPl0CAwEA -AQKCAgBXOD9aBt2s5B4xZ99uO2iR6eZL1ycdvic+vw8ft6uSGUTgPftz7CP5+++v -f/2R7aD/i6dtf9+T/N3k5ShTs+zHmKLzYGS7RiGSa0NfySdEQal+Qc98FqBwRZ+K -Aar4Z84lbiFOCRkUG6k7fxSWjBisBh6+HAqg6pOXj1XsA/pUgheacx1vHx4iDkX5 -fmKBAZYLgLNQzUxcIxwzFSmOKsuYZhuaf0gT6il11Dr8wSkuwgg1utAyS6dHT7w8 -h8+D+W5JLod9vLj/QyJFNWAarL4Av3sllv5MzCFhLWuTpgFSO+iC1tfHw4pVCC6Q -vowD6DkhnjRjxgJWgfAsQIZbH+le5bvIwPE4TiE6VRZL1WIDIT5tPrtY0s++TUFF -QrcQztAiJBYvTPJWitRSfBf5w518Gz2zB49gZzL8I5OLsumHvFdegd0XAbytz9Xf -WFYn2jXdkxHB5BnemwDRVBh4hQrS4xyUA0Jr8kdFj7hjj3apAIKRXpax2euESFm5 -slfqRbUbaNr1EQxE1lKUKO2g4cva8ynuQB88Oyj3nKlwbaWnY20CmOltbg4zybX9 -qiEyS9OBJy7IGZ2skRr06f6Kx0ABqk2C5+vcdybHgwRefGlKV2JuLwii/MHS8Lsd -QAQOHVN39C8Qxgsml621w6TNKwlX/Kwib4XKdwuj49e6QYYSAQKCAQEA0IUUy5+D -cN5EF4VA7pRrPOCjZYOc2YvqPNUHf8iyS7itPsUbVvdcfWiTiD8CMztETswKOow1 -CeJpZeKN8aun2RMQpOnEJn3r3Wf66pfgO6uti72FjXA8hla9x1aKhiHiF3KNS0OC -MXthjvHazCGlAPsJT/WUVXquRqVoxISt0UDYnYy1d8dZib1tz5xARsVpZcGmTuui -hFfZSrrH7xlM5EWoh2A72EBLpeNOAwLCyki7FR0aHa3neR0mI2mMJqVztjFfXZxa -ac8LnkFQD/bN3fy2YbXgpQeZ2bBn17SzP0RcB0gKBget6G0XwPTuisHBvmEWlFgi -GzNEsQVUIF+rPQKCAQEA4JvnwwHPYYIhEN7KaPf11V0FYQ2S+oHFHatmZtFsCkse -kuKtNvQjzaQwjTDJWW3ztypLc1VHclFDNuoDKRX0pg09kZjhesBWFTMT+2yRHkPq -02wJJr7xHjYYH9QWNS/XZxcHedgzfFwo42woqpRamE46hlBPbyHNYmLcGEA9zLT3 -lGvb6gjf41V2apNUzLXNOw4BLqqQHCqx+MJfUHaTwxHCMszb40Qx64e+CVgwECPo -KLF5djtoU1zHaGULpcMXM09FGzFdbHNqrbvHI2+P5wlGTG0XKzh/1qb3MWcM2cxX -A2V4KnEyWZiV0TubmPudb0iZ4PpmMgJmvSQuNdORoQKCAQBxt7IwnkyTmFOwNBbG -RiD5sVTK/uziY4CaLl+Jm81IqG2q5tnTItHI/ug+jIZJpE/LXVFSvrYKLvTmAJkC -rGe8Zb5VAbvcdh3UwGlB2RQL1sOtiu0zxnrrlJCpDpQ7NG1V9j4CRs3Q6IW67EEz -xEF1eHKKrdZ4i5BRrNGnIuicTu4TdfJdYVV+XdVuPLt9HRouyV5GehFGdZZmP9jb -l4OsliSjt6LLe70FuiIIWFAc+28zw4xDlVzAW1o6Q8yQIvko6mIk7ikMvUKLyvi7 -zBBXuQNJ5GOf/LY11xO6uqxqm4BI5Eu7ICMCt8QVkj4pZCOiDNbAjhQDm4EhvVM0 -2JfNAoIBAQDOZnZTfRZVRH+eQR0/2JzPtOt8hDzMdvPsj9VKJqhhzSYLVMJX/YHp -Nzhmhq6Av8l2SCeNlJBTPNnHXMQKvWJUNVaetR5+7sAsOwPhx6KTbVYdcun18QEi -AhOpK/w8Y/pNgZwdG9A0N3xbgMjd9/ZIf5rIUoSsWyOhhbc7kc04kBPzECrGpeEX -xzFKPpluhKJT4kqz14kWWSWysutjxZODbo5GoHpwHfrBtbusWp3QNy7gNjanr2/v -KxMTm8dYTC7Ft9KJapOvVWByxlv49EwIwz0WfikMTp8rYcNGYqwseNp9BIGoft0F -+HG0FFKoApBp8w108KV4zzwaE2VjkUgBAoIBADfE6eaoGCuVIpOr2wH0YxKi9eD5 -w7ClxesJ6deYEWnJhWpA0OPhZ0Cd73sCrQ4gJ7o7hGxR/xTTJy5r0AqDu5Pi8/Wx -QMSGFz3TPrWFp4HHATjyonNxiLpz+T1z5+fQ7uH93oJBrBraG83vVpv0D3iaQ2/E -1DGa4JMOTRRYZnqpMIq+fPMHOZbRKxUdx38OU61YWYPVDXyP/lZ7xgL0U+tWYfto -7ghHSXCev23QXZRy/4EzXVuWNUeLWu+vLxoXuoe6JIBDNAmW7uaVzlKUaFVtU1LJ -4NnVc1D8Vn+vArQNUEgZFlad5XNOlJqVVQisJ6iV4vB5I/0BpfPOtqsO+0g= ------END RSA PRIVATE KEY----- diff --git a/azure/_output/fabricnlp9/azuredeploy.json b/azure/_output/fabricnlp9/azuredeploy.json deleted file mode 100644 index 104a666..0000000 --- a/azure/_output/fabricnlp9/azuredeploy.json +++ /dev/null @@ -1,2491 +0,0 @@ -{ - "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "parameters": { - "apiServerCertificate": { - "metadata": { - "description": "The base 64 server certificate used on the master" - }, - "type": "string" - }, - "apiServerPrivateKey": { - "metadata": { - "description": "The base 64 server private key used on the master." - }, - "type": "securestring" - }, - "caCertificate": { - "metadata": { - "description": "The base 64 certificate authority certificate" - }, - "type": "string" - }, - "caPrivateKey": { - "defaultValue": "", - "metadata": { - "description": "The base 64 CA private key used on the master." - }, - "type": "securestring" - }, - "clientCertificate": { - "metadata": { - "description": "The base 64 client certificate used to communicate with the master" - }, - "type": "string" - }, - "clientPrivateKey": { - "metadata": { - "description": "The base 64 client private key used to communicate with the master" - }, - "type": "securestring" - }, - "cloudProviderBackoff": { - "defaultValue": "", - "metadata": { - "description": "Enable cloudprovider backoff?" - }, - "type": "string" - }, - "cloudProviderBackoffDuration": { - "defaultValue": "", - "metadata": { - "description": "If backoff enabled, how long until timeout" - }, - "type": "string" - }, - "cloudProviderBackoffExponent": { - "defaultValue": "", - "metadata": { - "description": "If backoff enabled, retry exponent" - }, - "type": "string" - }, - "cloudProviderBackoffJitter": { - "defaultValue": "", - "metadata": { - "description": "If backoff enabled, jitter factor between retries" - }, - "type": "string" - }, - "cloudProviderBackoffRetries": { - "defaultValue": "", - "metadata": { - "description": "If backoff enabled, how many times to retry" - }, - "type": "string" - }, - "cloudProviderRatelimit": { - "defaultValue": "", - "metadata": { - "description": "Enable cloudprovider rate limiting?" - }, - "type": "string" - }, - "cloudProviderRatelimitBucket": { - "defaultValue": "", - "metadata": { - "description": "If rate limiting enabled, bucket size" - }, - "type": "string" - }, - "cloudProviderRatelimitQPS": { - "defaultValue": "", - "metadata": { - "description": "If rate limiting enabled, target maximum QPS" - }, - "type": "string" - }, - "cniPluginsURL": { - "defaultValue": "https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-latest.tgz", - "type": "string" - }, - "dockerBridgeCidr": { - "defaultValue": "", - "metadata": { - "description": "Docker bridge network IP address and subnet" - }, - "type": "string" - }, - "dockerEngineDownloadRepo": { - "defaultValue": "https://aptdocker.azureedge.net/repo", - "metadata": { - "description": "The docker engine download url for kubernetes." - }, - "type": "string" - }, - "etcdDiskSizeGB": { - "defaultValue": "", - "metadata": { - "description": "Size in GB to allocate for etcd volume" - }, - "type": "string" - }, - "etcdDownloadURLBase": { - "defaultValue": "", - "metadata": { - "description": "etcd image base URL" - }, - "type": "string" - }, - "etcdVersion": { - "defaultValue": "", - "metadata": { - "description": "etcd version" - }, - "type": "string" - }, - "firstConsecutiveStaticIP": { - "defaultValue": "10.239.255.239", - "metadata": { - "description": "Sets the static IP of the first master" - }, - "type": "string" - }, - "fqdnEndpointSuffix": { - "defaultValue": "cloudapp.azure.com", - "metadata": { - "description": "Endpoint of FQDN." - }, - "type": "string" - }, - "gcHighThreshold": { - "defaultValue": 85, - "metadata": { - "description": "High Threshold for Image Garbage collection on each node" - }, - "type": "int" - }, - "gcLowThreshold": { - "defaultValue": 80, - "metadata": { - "description": "Low Threshold for Image Garbage collection on each node." - }, - "type": "int" - }, - "generatorCode": { - "defaultValue": "", - "metadata": { - "description": "The generator code used to identify the generator" - }, - "type": "string" - }, - "kubeClusterCidr": { - "defaultValue": "", - "metadata": { - "description": "Kubernetes cluster subnet" - }, - "type": "string" - }, - "kubeConfigCertificate": { - "metadata": { - "description": "The base 64 certificate used by cli to communicate with the master" - }, - "type": "string" - }, - "kubeConfigPrivateKey": { - "metadata": { - "description": "The base 64 private key used by cli to communicate with the master" - }, - "type": "securestring" - }, - "kubeDNSServiceIP": { - "defaultValue": "", - "metadata": { - "description": "Kubernetes DNS IP" - }, - "type": "string" - }, - "kubeServiceCidr": { - "defaultValue": "", - "metadata": { - "description": "Kubernetes service address space" - }, - "type": "string" - }, - "kubernetesACIConnectorCPULimit": { - "defaultValue": "", - "metadata": { - "description": "ACI Connector CPU Limit" - }, - "type": "string" - }, - "kubernetesACIConnectorCPURequests": { - "defaultValue": "", - "metadata": { - "description": "ACI Connector CPU Requests" - }, - "type": "string" - }, - "kubernetesACIConnectorClientId": { - "defaultValue": "", - "metadata": { - "description": "Client id for ACI Connector." - }, - "type": "string" - }, - "kubernetesACIConnectorClientKey": { - "defaultValue": "", - "metadata": { - "description": "Client key for ACI Connector." - }, - "type": "string" - }, - "kubernetesACIConnectorMemoryLimit": { - "defaultValue": "", - "metadata": { - "description": "ACI Connector Memory Limit" - }, - "type": "string" - }, - "kubernetesACIConnectorMemoryRequests": { - "defaultValue": "", - "metadata": { - "description": "ACI Connector Memory Requests" - }, - "type": "string" - }, - "kubernetesACIConnectorRegion": { - "defaultValue": "", - "metadata": { - "description": "Region for ACI Connector." - }, - "type": "string" - }, - "kubernetesACIConnectorResourceGroup": { - "defaultValue": "", - "metadata": { - "description": "Resource group for ACI Connector." - }, - "type": "string" - }, - "kubernetesACIConnectorSpec": { - "defaultValue": "", - "metadata": { - "description": "The container spec for ACI Connector." - }, - "type": "string" - }, - "kubernetesACIConnectorSubscriptionId": { - "defaultValue": "", - "metadata": { - "description": "Subscription id for ACI Connector." - }, - "type": "string" - }, - "kubernetesACIConnectorTenantId": { - "defaultValue": "", - "metadata": { - "description": "Tenant id for ACI Connector." - }, - "type": "string" - }, - "kubernetesAddonManagerSpec": { - "defaultValue": "", - "metadata": { - "description": "The container spec for hyperkube." - }, - "type": "string" - }, - "kubernetesAddonResizerSpec": { - "defaultValue": "", - "metadata": { - "description": "The container spec for addon-resizer." - }, - "type": "string" - }, - "kubernetesCcmImageSpec": { - "defaultValue": "", - "metadata": { - "description": "The container spec for cloud-controller-manager." - }, - "type": "string" - }, - "kubernetesCtrlMgrNodeMonitorGracePeriod": { - "defaultValue": "", - "metadata": { - "description": "Kubernetes controller manager grace period for node status updates." - }, - "type": "string" - }, - "kubernetesCtrlMgrPodEvictionTimeout": { - "defaultValue": "", - "metadata": { - "description": "Kubernetes controller manager pod eviction timeout." - }, - "type": "string" - }, - "kubernetesCtrlMgrRouteReconciliationPeriod": { - "defaultValue": "", - "metadata": { - "description": "Kubernetes controller manager route reconciliation period." - }, - "type": "string" - }, - "kubernetesDNSMasqSpec": { - "defaultValue": "", - "metadata": { - "description": "The container spec for kube-dnsmasq-amd64." - }, - "type": "string" - }, - "kubernetesDashboardCPULimit": { - "defaultValue": "", - "metadata": { - "description": "Dashboard CPU Limit." - }, - "type": "string" - }, - "kubernetesDashboardCPURequests": { - "defaultValue": "", - "metadata": { - "description": "Dashboard CPU Requests." - }, - "type": "string" - }, - "kubernetesDashboardMemoryLimit": { - "defaultValue": "", - "metadata": { - "description": "Dashboard Memory Limit." - }, - "type": "string" - }, - "kubernetesDashboardMemoryRequests": { - "defaultValue": "", - "metadata": { - "description": "Dashboard Memory Requests." - }, - "type": "string" - }, - "kubernetesDashboardSpec": { - "defaultValue": "", - "metadata": { - "description": "The container spec for kubernetes-dashboard-amd64." - }, - "type": "string" - }, - "kubernetesExecHealthzSpec": { - "defaultValue": "", - "metadata": { - "description": "The container spec for exechealthz-amd64." - }, - "type": "string" - }, - "kubernetesHardEvictionThreshold": { - "defaultValue": "", - "metadata": { - "description": "Kubelet Hard Eviction threshold." - }, - "type": "string" - }, - "kubernetesHeapsterSpec": { - "defaultValue": "", - "metadata": { - "description": "The container spec for heapster." - }, - "type": "string" - }, - "kubernetesHyperkubeSpec": { - "defaultValue": "", - "metadata": { - "description": "The container spec for hyperkube." - }, - "type": "string" - }, - "kubernetesKubeDNSSpec": { - "defaultValue": "", - "metadata": { - "description": "The container spec for kubedns-amd64." - }, - "type": "string" - }, - "kubernetesNodeStatusUpdateFrequency": { - "defaultValue": "", - "metadata": { - "description": "Kubelet config for node status update frequency interval." - }, - "type": "string" - }, - "kubernetesNonMasqueradeCidr": { - "metadata": { - "description": "kubernetesNonMasqueradeCidr cluster subnet" - }, - "type": "string" - }, - "kubernetesPodInfraContainerSpec": { - "defaultValue": "", - "metadata": { - "description": "The container spec for pod infra." - }, - "type": "string" - }, - "kubernetesReschedulerCPULimit": { - "defaultValue": "", - "metadata": { - "description": "Rescheduler CPU Limit." - }, - "type": "string" - }, - "kubernetesReschedulerCPURequests": { - "defaultValue": "", - "metadata": { - "description": "Rescheduler CPU Requests." - }, - "type": "string" - }, - "kubernetesReschedulerMemoryLimit": { - "defaultValue": "", - "metadata": { - "description": "Rescheduler Memory Limit." - }, - "type": "string" - }, - "kubernetesReschedulerMemoryRequests": { - "defaultValue": "", - "metadata": { - "description": "Rescheduler Memory Requests." - }, - "type": "string" - }, - "kubernetesReschedulerSpec": { - "defaultValue": "", - "metadata": { - "description": "The container spec for rescheduler." - }, - "type": "string" - }, - "kubernetesTillerCPULimit": { - "defaultValue": "", - "metadata": { - "description": "Helm Tiller CPU Limit." - }, - "type": "string" - }, - "kubernetesTillerCPURequests": { - "defaultValue": "", - "metadata": { - "description": "Helm Tiller CPU Requests." - }, - "type": "string" - }, - "kubernetesTillerMemoryLimit": { - "defaultValue": "", - "metadata": { - "description": "Helm Tiller Memory Limit." - }, - "type": "string" - }, - "kubernetesTillerMemoryRequests": { - "defaultValue": "", - "metadata": { - "description": "Helm Tiller Memory Requests." - }, - "type": "string" - }, - "kubernetesTillerSpec": { - "defaultValue": "", - "metadata": { - "description": "The container spec for Helm Tiller." - }, - "type": "string" - }, - "linuxAdminUsername": { - "metadata": { - "description": "User name for the Linux Virtual Machines (SSH or Password)." - }, - "type": "string" - }, - "linuxagentCount": { - "allowedValues": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100 - ], - "defaultValue": 2, - "metadata": { - "description": "The number of agents for the cluster. This value can be from 1 to 100" - }, - "type": "int" - }, - "linuxagentOffset": { - "allowedValues": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99 - ], - "defaultValue": 0, - "metadata": { - "description": "The offset into the agent pool where to start creating agents. This value can be from 0 to 99, but must be less than agentCount" - }, - "type": "int" - }, - "linuxagentVMSize": { - "allowedValues": [ - "Standard_A0", - "Standard_A1", - "Standard_A10", - "Standard_A11", - "Standard_A1_v2", - "Standard_A2", - "Standard_A2_v2", - "Standard_A2m_v2", - "Standard_A3", - "Standard_A4", - "Standard_A4_v2", - "Standard_A4m_v2", - "Standard_A5", - "Standard_A6", - "Standard_A7", - "Standard_A8", - "Standard_A8_v2", - "Standard_A8m_v2", - "Standard_A9", - "Standard_B1ms", - "Standard_B1s", - "Standard_B2ms", - "Standard_B2s", - "Standard_B4ms", - "Standard_B8ms", - "Standard_D1", - "Standard_D11", - "Standard_D11_v2", - "Standard_D11_v2_Promo", - "Standard_D12", - "Standard_D12_v2", - "Standard_D12_v2_Promo", - "Standard_D13", - "Standard_D13_v2", - "Standard_D13_v2_Promo", - "Standard_D14", - "Standard_D14_v2", - "Standard_D14_v2_Promo", - "Standard_D15_v2", - "Standard_D16_v3", - "Standard_D16s_v3", - "Standard_D1_v2", - "Standard_D2", - "Standard_D2_v2", - "Standard_D2_v2_Promo", - "Standard_D2_v3", - "Standard_D2s_v3", - "Standard_D3", - "Standard_D32_v3", - "Standard_D32s_v3", - "Standard_D3_v2", - "Standard_D3_v2_Promo", - "Standard_D4", - "Standard_D4_v2", - "Standard_D4_v2_Promo", - "Standard_D4_v3", - "Standard_D4s_v3", - "Standard_D5_v2", - "Standard_D5_v2_Promo", - "Standard_D64_v3", - "Standard_D64s_v3", - "Standard_D8_v3", - "Standard_D8s_v3", - "Standard_DS1", - "Standard_DS11", - "Standard_DS11_v2", - "Standard_DS11_v2_Promo", - "Standard_DS12", - "Standard_DS12_v2", - "Standard_DS12_v2_Promo", - "Standard_DS13", - "Standard_DS13-2_v2", - "Standard_DS13-4_v2", - "Standard_DS13_v2", - "Standard_DS13_v2_Promo", - "Standard_DS14", - "Standard_DS14-4_v2", - "Standard_DS14-8_v2", - "Standard_DS14_v2", - "Standard_DS14_v2_Promo", - "Standard_DS15_v2", - "Standard_DS1_v2", - "Standard_DS2", - "Standard_DS2_v2", - "Standard_DS2_v2_Promo", - "Standard_DS3", - "Standard_DS3_v2", - "Standard_DS3_v2_Promo", - "Standard_DS4", - "Standard_DS4_v2", - "Standard_DS4_v2_Promo", - "Standard_DS5_v2", - "Standard_DS5_v2_Promo", - "Standard_E16_v3", - "Standard_E16s_v3", - "Standard_E2_v3", - "Standard_E2s_v3", - "Standard_E32-16s_v3", - "Standard_E32-8s_v3", - "Standard_E32_v3", - "Standard_E32s_v3", - "Standard_E4_v3", - "Standard_E4s_v3", - "Standard_E64-16s_v3", - "Standard_E64-32s_v3", - "Standard_E64_v3", - "Standard_E64s_v3", - "Standard_E8_v3", - "Standard_E8s_v3", - "Standard_F1", - "Standard_F16", - "Standard_F16s", - "Standard_F16s_v2", - "Standard_F1s", - "Standard_F2", - "Standard_F2s", - "Standard_F2s_v2", - "Standard_F32s_v2", - "Standard_F4", - "Standard_F4s", - "Standard_F4s_v2", - "Standard_F64s_v2", - "Standard_F72s_v2", - "Standard_F8", - "Standard_F8s", - "Standard_F8s_v2", - "Standard_G1", - "Standard_G2", - "Standard_G3", - "Standard_G4", - "Standard_G5", - "Standard_GS1", - "Standard_GS2", - "Standard_GS3", - "Standard_GS4", - "Standard_GS4-4", - "Standard_GS4-8", - "Standard_GS5", - "Standard_GS5-16", - "Standard_GS5-8", - "Standard_H16", - "Standard_H16m", - "Standard_H16mr", - "Standard_H16r", - "Standard_H8", - "Standard_H8m", - "Standard_L16s", - "Standard_L32s", - "Standard_L4s", - "Standard_L8s", - "Standard_M128-32ms", - "Standard_M128-64ms", - "Standard_M128ms", - "Standard_M128s", - "Standard_M64-16ms", - "Standard_M64-32ms", - "Standard_M64ms", - "Standard_M64s", - "Standard_NC12", - "Standard_NC12s_v2", - "Standard_NC24", - "Standard_NC24r", - "Standard_NC24rs_v2", - "Standard_NC24s_v2", - "Standard_NC6", - "Standard_NC6s_v2", - "Standard_ND12s", - "Standard_ND24rs", - "Standard_ND24s", - "Standard_ND6s", - "Standard_NV12", - "Standard_NV24", - "Standard_NV6" - ], - "defaultValue": "Standard_D2_v2", - "metadata": { - "description": "The size of the Virtual Machine." - }, - "type": "string" - }, - "linuxagentVnetSubnetID": { - "metadata": { - "description": "Sets the vnet subnet of agent pool 'linuxagent'." - }, - "type": "string" - }, - "linuxagentosImageOffer": { - "defaultValue": "UbuntuServer", - "metadata": { - "description": "Linux OS image type." - }, - "type": "string" - }, - "linuxagentosImagePublisher": { - "defaultValue": "Canonical", - "metadata": { - "description": "OS image publisher." - }, - "type": "string" - }, - "linuxagentosImageSKU": { - "defaultValue": "16.04-LTS", - "metadata": { - "description": "OS image SKU." - }, - "type": "string" - }, - "linuxagentosImageVersion": { - "defaultValue": "16.04.201711211", - "metadata": { - "description": "OS image version." - }, - "type": "string" - }, - "location": { - "defaultValue": "", - "metadata": { - "description": "Sets the location for all resources in the cluster" - }, - "type": "string" - }, - "masterEndpointDNSNamePrefix": { - "metadata": { - "description": "Sets the Domain name label for the master IP Address. The concatenation of the domain name label and the regional DNS zone make up the fully qualified domain name associated with the public IP address." - }, - "type": "string" - }, - "masterOffset": { - "allowedValues": [ - 0, - 1, - 2, - 3, - 4 - ], - "defaultValue": 0, - "metadata": { - "description": "The offset into the master pool where to start creating master VMs. This value can be from 0 to 4, but must be less than masterCount." - }, - "type": "int" - }, - "masterVMSize": { - "allowedValues": [ - "Standard_A10", - "Standard_A11", - "Standard_A2", - "Standard_A2_v2", - "Standard_A2m_v2", - "Standard_A3", - "Standard_A4", - "Standard_A4_v2", - "Standard_A4m_v2", - "Standard_A5", - "Standard_A6", - "Standard_A7", - "Standard_A8", - "Standard_A8_v2", - "Standard_A8m_v2", - "Standard_A9", - "Standard_B2ms", - "Standard_B2s", - "Standard_B4ms", - "Standard_B8ms", - "Standard_D11", - "Standard_D11_v2", - "Standard_D11_v2_Promo", - "Standard_D12", - "Standard_D12_v2", - "Standard_D12_v2_Promo", - "Standard_D13", - "Standard_D13_v2", - "Standard_D13_v2_Promo", - "Standard_D14", - "Standard_D14_v2", - "Standard_D14_v2_Promo", - "Standard_D15_v2", - "Standard_D16_v3", - "Standard_D16s_v3", - "Standard_D2", - "Standard_D2_v2", - "Standard_D2_v2_Promo", - "Standard_D2_v3", - "Standard_D2s_v3", - "Standard_D3", - "Standard_D32_v3", - "Standard_D32s_v3", - "Standard_D3_v2", - "Standard_D3_v2_Promo", - "Standard_D4", - "Standard_D4_v2", - "Standard_D4_v2_Promo", - "Standard_D4_v3", - "Standard_D4s_v3", - "Standard_D5_v2", - "Standard_D5_v2_Promo", - "Standard_D64_v3", - "Standard_D64s_v3", - "Standard_D8_v3", - "Standard_D8s_v3", - "Standard_DS11", - "Standard_DS11_v2", - "Standard_DS11_v2_Promo", - "Standard_DS12", - "Standard_DS12_v2", - "Standard_DS12_v2_Promo", - "Standard_DS13", - "Standard_DS13-2_v2", - "Standard_DS13-4_v2", - "Standard_DS13_v2", - "Standard_DS13_v2_Promo", - "Standard_DS14", - "Standard_DS14-4_v2", - "Standard_DS14-8_v2", - "Standard_DS14_v2", - "Standard_DS14_v2_Promo", - "Standard_DS15_v2", - "Standard_DS2", - "Standard_DS2_v2", - "Standard_DS2_v2_Promo", - "Standard_DS3", - "Standard_DS3_v2", - "Standard_DS3_v2_Promo", - "Standard_DS4", - "Standard_DS4_v2", - "Standard_DS4_v2_Promo", - "Standard_DS5_v2", - "Standard_DS5_v2_Promo", - "Standard_E16_v3", - "Standard_E16s_v3", - "Standard_E2_v3", - "Standard_E2s_v3", - "Standard_E32-16s_v3", - "Standard_E32-8s_v3", - "Standard_E32_v3", - "Standard_E32s_v3", - "Standard_E4_v3", - "Standard_E4s_v3", - "Standard_E64-16s_v3", - "Standard_E64-32s_v3", - "Standard_E64_v3", - "Standard_E64s_v3", - "Standard_E8_v3", - "Standard_E8s_v3", - "Standard_F16", - "Standard_F16s", - "Standard_F16s_v2", - "Standard_F2", - "Standard_F2s", - "Standard_F2s_v2", - "Standard_F32s_v2", - "Standard_F4", - "Standard_F4s", - "Standard_F4s_v2", - "Standard_F64s_v2", - "Standard_F72s_v2", - "Standard_F8", - "Standard_F8s", - "Standard_F8s_v2", - "Standard_G1", - "Standard_G2", - "Standard_G3", - "Standard_G4", - "Standard_G5", - "Standard_GS1", - "Standard_GS2", - "Standard_GS3", - "Standard_GS4", - "Standard_GS4-4", - "Standard_GS4-8", - "Standard_GS5", - "Standard_GS5-16", - "Standard_GS5-8", - "Standard_H16", - "Standard_H16m", - "Standard_H16mr", - "Standard_H16r", - "Standard_H8", - "Standard_H8m", - "Standard_L16s", - "Standard_L32s", - "Standard_L4s", - "Standard_L8s", - "Standard_M128-32ms", - "Standard_M128-64ms", - "Standard_M128ms", - "Standard_M128s", - "Standard_M64-16ms", - "Standard_M64-32ms", - "Standard_M64ms", - "Standard_M64s", - "Standard_NC12", - "Standard_NC12s_v2", - "Standard_NC24", - "Standard_NC24r", - "Standard_NC24rs_v2", - "Standard_NC24s_v2", - "Standard_NC6", - "Standard_NC6s_v2", - "Standard_ND12s", - "Standard_ND24rs", - "Standard_ND24s", - "Standard_ND6s", - "Standard_NV12", - "Standard_NV24", - "Standard_NV6" - ], - "metadata": { - "description": "The size of the Virtual Machine." - }, - "type": "string" - }, - "masterVnetSubnetID": { - "metadata": { - "description": "Sets the vnet subnet of the master." - }, - "type": "string" - }, - "maxPods": { - "defaultValue": 110, - "metadata": { - "description": "The maximum number of pods per node." - }, - "type": "int" - }, - "nameSuffix": { - "defaultValue": "18897408", - "metadata": { - "description": "A string hash of the master DNS name to uniquely identify the cluster." - }, - "type": "string" - }, - "networkPolicy": { - "allowedValues": [ - "none", - "azure", - "calico" - ], - "defaultValue": "none", - "metadata": { - "description": "The network policy enforcement to use (none|azure|calico)" - }, - "type": "string" - }, - "orchestratorName": { - "defaultValue": "", - "maxLength": 3, - "metadata": { - "description": "The orchestrator name used to identify the orchestrator. This must be no more than 3 digits in length, otherwise it will exceed Windows Naming" - }, - "minLength": 3, - "type": "string" - }, - "osImageOffer": { - "defaultValue": "UbuntuServer", - "metadata": { - "description": "Linux OS image type." - }, - "type": "string" - }, - "osImagePublisher": { - "defaultValue": "Canonical", - "metadata": { - "description": "OS image publisher." - }, - "type": "string" - }, - "osImageSKU": { - "defaultValue": "16.04-LTS", - "metadata": { - "description": "OS image SKU." - }, - "type": "string" - }, - "osImageVersion": { - "defaultValue": "16.04.201711211", - "metadata": { - "description": "OS image version." - }, - "type": "string" - }, - "servicePrincipalClientId": { - "metadata": { - "description": "Client ID (used by cloudprovider)" - }, - "type": "securestring" - }, - "servicePrincipalClientSecret": { - "metadata": { - "description": "The Service Principal Client Secret." - }, - "type": "securestring" - }, - "sshRSAPublicKey": { - "metadata": { - "description": "SSH public key used for auth to all Linux machines. Not Required. If not set, you must provide a password key." - }, - "type": "string" - }, - "targetEnvironment": { - "defaultValue": "AzurePublicCloud", - "metadata": { - "description": "The azure deploy environment. Currently support: AzurePublicCloud, AzureChinaCloud" - }, - "type": "string" - }, - "vnetCidr": { - "defaultValue": "10.0.0.0/8", - "metadata": { - "description": "Cluster vnet cidr" - }, - "type": "string" - }, - "vnetCniLinuxPluginsURL": { - "defaultValue": "https://acs-mirror.azureedge.net/cni/azure-vnet-cni-linux-amd64-latest.tgz", - "type": "string" - }, - "vnetCniWindowsPluginsURL": { - "defaultValue": "https://acs-mirror.azureedge.net/cni/azure-vnet-cni-windows-amd64-latest.zip", - "type": "string" - } - }, - "variables": { - "allocateNodeCidrs": true, - "apiServerCertificate": "[parameters('apiServerCertificate')]", - "apiServerPrivateKey": "[parameters('apiServerPrivateKey')]", - "apiVersionDefault": "2016-03-30", - "apiVersionLinkDefault": "2015-01-01", - "apiVersionStorage": "2015-06-15", - "apiVersionStorageManagedDisks": "2016-04-30-preview", - "caCertificate": "[parameters('caCertificate')]", - "caPrivateKey": "[parameters('caPrivateKey')]", - "clientCertificate": "[parameters('clientCertificate')]", - "clientPrivateKey": "[parameters('clientPrivateKey')]", - "cloudProviderBackoff": "[parameters('cloudProviderBackoff')]", - "cloudProviderBackoffDuration": "[parameters('cloudProviderBackoffDuration')]", - "cloudProviderBackoffExponent": "[parameters('cloudProviderBackoffExponent')]", - "cloudProviderBackoffJitter": "[parameters('cloudProviderBackoffJitter')]", - "cloudProviderBackoffRetries": "[parameters('cloudProviderBackoffRetries')]", - "cloudProviderRatelimit": "[parameters('cloudProviderRatelimit')]", - "cloudProviderRatelimitBucket": "[parameters('cloudProviderRatelimitBucket')]", - "cloudProviderRatelimitQPS": "[parameters('cloudProviderRatelimitQPS')]", - "cniPluginsURL": "[parameters('cniPluginsURL')]", - "contributorRoleDefinitionId": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Authorization/roleDefinitions/', 'b24988ac-6180-42a0-ab88-20f7382dd24c')]", - "dataStorageAccountPrefixSeed": 97, - "dockerBridgeCidr": "[parameters('dockerBridgeCidr')]", - "dockerEngineDownloadRepo": "[parameters('dockerEngineDownloadRepo')]", - "dockerEngineVersion": "1.12.*", - "etcdDiskSizeGB": "[parameters('etcdDiskSizeGB')]", - "etcdDownloadURLBase": "[parameters('etcdDownloadURLBase')]", - "etcdVersion": "[parameters('etcdVersion')]", - "fqdnEndpointSuffix": "[parameters('fqdnEndpointSuffix')]", - "gcHighThreshold": "[parameters('gcHighThreshold')]", - "gcLowThreshold": "[parameters('gcLowThreshold')]", - "generateProxyCertsScript": "H4sIAAAAAAAA/5RWYW/bNhT8rl9xjY06AarJTpo0TeBthqqhQbq2UzxgwTYItPRscZYoh6TrGG3++0DZliVHUrd8ish3947vjoQ7L5wJF86EqdiyPvuf/rgP3FFw690Pj7pfy99XQ0enC2chs8e1HSachLZD9sOc1k9HO6A/LqH8cQMklHoP+XDjfRwf9CvWagiqDTeV7p3/DO3e+XXoUMln6IrqYq0WnSv3xu67wPd++927G7/3Ru88v4CNDFPb/tVwwxiS1MqR9LAkpWNiEcn9hOwpT2jXaKvL26g8WKrSVQdNUtcQbSddXWmhmdN6x3J7eRcUiXD9cfDLzQfv82j83hA2bl4NHdKhM19OSArSpJxKl10c9vhb776BubzTSrsNSUlTs9r/KnWr0+pgRoIk0wSZZRruyMoWJJRKzIZUDHa21OiW7w5O+68vizJJD7AFrWA/nvffwo7YWmFweXoBM+0DZIXMH8NWy8k/6Dnux2Euy81tcke9sjBDbqS3KituWZO6sph9cQ2He+eXdbHZTNKM6Uw6n4ZqrTSlVylTmqTqFW02R8+b5ed/c9aHzUUdszuqDMAd1UxJkQ4USc4S9E9rNfpjy5Kk5TpMo4BPgynjyVLS8Qm+YppJcHCBAU5xhtc4xwXe4BJvMehfI8rQ/fkaf6L7E2x6QB/4Gy9fYiKJzfHtG1RCtMBZXioI13iyrJXkmoI8QIHOgoiruellAQDpMAq1sUWj2/Zc4Ed0G29WA1VxV6rg8uVpRZp35aDvYdMOfEqzL4RVzDWpBQsJCxZFXMzANCY040KYj2yKgdJIuKAcqCiCzdEbKOcv5Ti9ltM1CWg9UxinWYSLfr+xqt6ZYMV1HOTxKExqDQUGAwxOjd95rfmroS32vhed87zShMcI7GCSZOEcS6F5ApYkuVfgCpJYtK6LceFmmCzNTbNjYomOrQ5+ZfPNLua0Vq+wswkJsfy/kocTCtlSbctXmehpsDCkhQbDF5ZAxzt3FczEwNCzeziO14uYxMkLi08LIen8O9E+Qvc4ZBqlHwxPJ0fX0DGJSkALpn2yn2GL9+np5KgNnIe7Ab0RsMlpyZX2uFgd3EyN5rzjpmGYpSkTEYw3FL3ajC0lJlReaJ4vluRWgh650sqiRNH/bTzl/wYAAP//es/k7bwJAAA=", - "generatorCode": "[parameters('generatorCode')]", - "kubeClusterCidr": "[parameters('kubeClusterCidr')]", - "kubeConfigCertificate": "[parameters('kubeConfigCertificate')]", - "kubeConfigPrivateKey": "[parameters('kubeConfigPrivateKey')]", - "kubeDNSServiceIP": "[parameters('kubeDNSServiceIP')]", - "kubeServiceCidr": "[parameters('kubeServiceCidr')]", - "kubernetesACIConnectorCPULimit": "[parameters('kubernetesACIConnectorCPULimit')]", - "kubernetesACIConnectorCPURequests": "[parameters('kubernetesACIConnectorCPURequests')]", - "kubernetesACIConnectorClientId": "[parameters('kubernetesACIConnectorClientId')]", - "kubernetesACIConnectorClientKey": "[parameters('kubernetesACIConnectorClientKey')]", - "kubernetesACIConnectorMemoryLimit": "[parameters('kubernetesACIConnectorMemoryLimit')]", - "kubernetesACIConnectorMemoryRequests": "[parameters('kubernetesACIConnectorMemoryRequests')]", - "kubernetesACIConnectorRegion": "[parameters('kubernetesACIConnectorRegion')]", - "kubernetesACIConnectorResourceGroup": "[parameters('kubernetesACIConnectorResourceGroup')]", - "kubernetesACIConnectorSpec": "[parameters('kubernetesACIConnectorSpec')]", - "kubernetesACIConnectorSubscriptionId": "[parameters('kubernetesACIConnectorSubscriptionId')]", - "kubernetesACIConnectorTenantId": "[parameters('kubernetesACIConnectorTenantId')]", - "kubernetesAPIServerIP": "[parameters('firstConsecutiveStaticIP')]", - "kubernetesAddonManagerSpec": "[parameters('kubernetesAddonManagerSpec')]", - "kubernetesAddonResizerSpec": "[parameters('kubernetesAddonResizerSpec')]", - "kubernetesCcmImageSpec": "[parameters('kubernetesCcmImageSpec')]", - "kubernetesCtrlMgrNodeMonitorGracePeriod": "[parameters('kubernetesCtrlMgrNodeMonitorGracePeriod')]", - "kubernetesCtrlMgrPodEvictionTimeout": "[parameters('kubernetesCtrlMgrPodEvictionTimeout')]", - "kubernetesCtrlMgrRouteReconciliationPeriod": "[parameters('kubernetesCtrlMgrRouteReconciliationPeriod')]", - "kubernetesDNSMasqSpec": "[parameters('kubernetesDNSMasqSpec')]", - "kubernetesDashboardCPULimit": "[parameters('kubernetesDashboardCPULimit')]", - "kubernetesDashboardCPURequests": "[parameters('kubernetesDashboardCPURequests')]", - "kubernetesDashboardMemoryLimit": "[parameters('kubernetesDashboardMemoryLimit')]", - "kubernetesDashboardMemoryRequests": "[parameters('kubernetesDashboardMemoryRequests')]", - "kubernetesDashboardSpec": "[parameters('kubernetesDashboardSpec')]", - "kubernetesExecHealthzSpec": "[parameters('kubernetesExecHealthzSpec')]", - "kubernetesHardEvictionThreshold": "[parameters('kubernetesHardEvictionThreshold')]", - "kubernetesHeapsterSpec": "[parameters('kubernetesHeapsterSpec')]", - "kubernetesHyperkubeSpec": "[parameters('kubernetesHyperkubeSpec')]", - "kubernetesKubeDNSSpec": "[parameters('kubernetesKubeDNSSpec')]", - "kubernetesNodeStatusUpdateFrequency": "[parameters('kubernetesNodeStatusUpdateFrequency')]", - "kubernetesNonMasqueradeCidr": "[parameters('kubernetesNonMasqueradeCidr')]", - "kubernetesPodInfraContainerSpec": "[parameters('kubernetesPodInfraContainerSpec')]", - "kubernetesReschedulerCPULimit": "[parameters('kubernetesReschedulerCPULimit')]", - "kubernetesReschedulerCPURequests": "[parameters('kubernetesReschedulerCPURequests')]", - "kubernetesReschedulerMemoryLimit": "[parameters('kubernetesReschedulerMemoryLimit')]", - "kubernetesReschedulerMemoryRequests": "[parameters('kubernetesReschedulerMemoryRequests')]", - "kubernetesReschedulerSpec": "[parameters('kubernetesReschedulerSpec')]", - "kubernetesTillerCPULimit": "[parameters('kubernetesTillerCPULimit')]", - "kubernetesTillerCPURequests": "[parameters('kubernetesTillerCPURequests')]", - "kubernetesTillerMemoryLimit": "[parameters('kubernetesTillerMemoryLimit')]", - "kubernetesTillerMemoryRequests": "[parameters('kubernetesTillerMemoryRequests')]", - "kubernetesTillerSpec": "[parameters('kubernetesTillerSpec')]", - "labelResourceGroup": "[if(or(or(endsWith(variables('truncatedResourceGroup'), '-'), endsWith(variables('truncatedResourceGroup'), '_')), endsWith(variables('truncatedResourceGroup'), '.')), concat(take(variables('truncatedResourceGroup'), 62), 'z'), variables('truncatedResourceGroup'))]", - "linuxagentAccountName": "[concat(variables('storageAccountBaseName'), 'agnt0')]", - "linuxagentAvailabilitySet": "[concat('linuxagent-availabilitySet-', variables('nameSuffix'))]", - "linuxagentCount": "[parameters('linuxagentCount')]", - "linuxagentIndex": 0, - "linuxagentOffset": "[parameters('linuxagentOffset')]", - "linuxagentStorageAccountOffset": "[mul(variables('maxStorageAccountsPerAgent'),variables('linuxagentIndex'))]", - "linuxagentStorageAccountsCount": "[add(div(variables('linuxagentCount'), variables('maxVMsPerStorageAccount')), mod(add(mod(variables('linuxagentCount'), variables('maxVMsPerStorageAccount')),2), add(mod(variables('linuxagentCount'), variables('maxVMsPerStorageAccount')),1)))]", - "linuxagentSubnetName": "[parameters('linuxagentVnetSubnetID')]", - "linuxagentVMNamePrefix": "[concat(variables('orchestratorName'), '-linuxagent-', variables('nameSuffix'), '-')]", - "linuxagentVMSize": "[parameters('linuxagentVMSize')]", - "linuxagentVnetParts": "[split(parameters('linuxagentVnetSubnetID'),'/subnets/')]", - "linuxagentVnetSubnetID": "[parameters('linuxagentVnetSubnetID')]", - "linuxagentosImageOffer": "[parameters('linuxagentosImageOffer')]", - "linuxagentosImagePublisher": "[parameters('linuxagentosImagePublisher')]", - "linuxagentosImageSKU": "[parameters('linuxagentosImageSKU')]", - "linuxagentosImageVersion": "[parameters('linuxagentosImageVersion')]", - "location": "[variables('locations')[mod(add(2,length(parameters('location'))),add(1,length(parameters('location'))))]]", - "locations": [ - "[resourceGroup().location]", - "[parameters('location')]" - ], - "masterAvailabilitySet": "[concat('master-availabilityset-', variables('nameSuffix'))]", - "masterCount": 1, - "masterEtcdClientPort": 2379, - "masterEtcdClientURLs": [ - "[concat('http://', variables('masterPrivateIpAddrs')[0], ':', variables('masterEtcdClientPort'))]", - "[concat('http://', variables('masterPrivateIpAddrs')[1], ':', variables('masterEtcdClientPort'))]", - "[concat('http://', variables('masterPrivateIpAddrs')[2], ':', variables('masterEtcdClientPort'))]", - "[concat('http://', variables('masterPrivateIpAddrs')[3], ':', variables('masterEtcdClientPort'))]", - "[concat('http://', variables('masterPrivateIpAddrs')[4], ':', variables('masterEtcdClientPort'))]" - ], - "masterEtcdClusterStates": [ - "[concat(variables('masterVMNames')[0], '=', variables('masterEtcdPeerURLs')[0])]", - "[concat(variables('masterVMNames')[0], '=', variables('masterEtcdPeerURLs')[0], ',', variables('masterVMNames')[1], '=', variables('masterEtcdPeerURLs')[1], ',', variables('masterVMNames')[2], '=', variables('masterEtcdPeerURLs')[2])]", - "[concat(variables('masterVMNames')[0], '=', variables('masterEtcdPeerURLs')[0], ',', variables('masterVMNames')[1], '=', variables('masterEtcdPeerURLs')[1], ',', variables('masterVMNames')[2], '=', variables('masterEtcdPeerURLs')[2], ',', variables('masterVMNames')[3], '=', variables('masterEtcdPeerURLs')[3], ',', variables('masterVMNames')[4], '=', variables('masterEtcdPeerURLs')[4])]" - ], - "masterEtcdPeerURLs": [ - "[concat('http://', variables('masterPrivateIpAddrs')[0], ':', variables('masterEtcdServerPort'))]", - "[concat('http://', variables('masterPrivateIpAddrs')[1], ':', variables('masterEtcdServerPort'))]", - "[concat('http://', variables('masterPrivateIpAddrs')[2], ':', variables('masterEtcdServerPort'))]", - "[concat('http://', variables('masterPrivateIpAddrs')[3], ':', variables('masterEtcdServerPort'))]", - "[concat('http://', variables('masterPrivateIpAddrs')[4], ':', variables('masterEtcdServerPort'))]" - ], - "masterEtcdServerPort": 2380, - "masterFirstAddrComment": "these MasterFirstAddrComment are used to place multiple masters consecutively in the address space", - "masterFirstAddrOctet4": "[variables('masterFirstAddrOctets')[3]]", - "masterFirstAddrOctets": "[split(parameters('firstConsecutiveStaticIP'),'.')]", - "masterFirstAddrPrefix": "[concat(variables('masterFirstAddrOctets')[0],'.',variables('masterFirstAddrOctets')[1],'.',variables('masterFirstAddrOctets')[2],'.')]", - "masterFqdnPrefix": "[tolower(parameters('masterEndpointDNSNamePrefix'))]", - "masterLbBackendPoolName": "[concat(variables('orchestratorName'), '-master-pool-', variables('nameSuffix'))]", - "masterLbID": "[resourceId('Microsoft.Network/loadBalancers',variables('masterLbName'))]", - "masterLbIPConfigID": "[concat(variables('masterLbID'),'/frontendIPConfigurations/', variables('masterLbIPConfigName'))]", - "masterLbIPConfigName": "[concat(variables('orchestratorName'), '-master-lbFrontEnd-', variables('nameSuffix'))]", - "masterLbName": "[concat(variables('orchestratorName'), '-master-lb-', variables('nameSuffix'))]", - "masterOffset": "[parameters('masterOffset')]", - "masterPrivateIp": "[parameters('firstConsecutiveStaticIP')]", - "masterPrivateIpAddrs": [ - "[concat(variables('masterFirstAddrPrefix'), add(0, int(variables('masterFirstAddrOctet4'))))]", - "[concat(variables('masterFirstAddrPrefix'), add(1, int(variables('masterFirstAddrOctet4'))))]", - "[concat(variables('masterFirstAddrPrefix'), add(2, int(variables('masterFirstAddrOctet4'))))]", - "[concat(variables('masterFirstAddrPrefix'), add(3, int(variables('masterFirstAddrOctet4'))))]", - "[concat(variables('masterFirstAddrPrefix'), add(4, int(variables('masterFirstAddrOctet4'))))]" - ], - "masterPublicIPAddressName": "[concat(variables('orchestratorName'), '-master-ip-', variables('masterFqdnPrefix'), '-', variables('nameSuffix'))]", - "masterVMNamePrefix": "[concat(variables('orchestratorName'), '-master-', variables('nameSuffix'), '-')]", - "masterVMNames": [ - "[concat(variables('masterVMNamePrefix'), '0')]", - "[concat(variables('masterVMNamePrefix'), '1')]", - "[concat(variables('masterVMNamePrefix'), '2')]", - "[concat(variables('masterVMNamePrefix'), '3')]", - "[concat(variables('masterVMNamePrefix'), '4')]" - ], - "masterVMSize": "[parameters('masterVMSize')]", - "maxPods": "[parameters('maxPods')]", - "maxStorageAccountsPerAgent": "[div(variables('maxVMsPerPool'),variables('maxVMsPerStorageAccount'))]", - "maxVMsPerPool": 100, - "maxVMsPerStorageAccount": 20, - "mountetcdScript": "H4sIAAAAAAAA/3RSUW8TPRB896+YL8nb14uTgioVKUWVACmCNhWEJ4Qqn713Z+LYx3ndpgX+O/IlTQ8J7uXkHe/M7HjH/8nSelmq2IgxrkLybH0NG2GCJzTUEayPTMogVCDWBiVplSLlc5lqNMxtfCVlmeo4dSp53bTKTD2x1C4kU1hvWf5fplrOz85PZ+cvxBgrrwncUM9gIyq7I3OCjlqnnhBy4R73lpv+2HMhc0E3ytcUn27n6tFFbblJ5VSHrbx8TB1JpWNBvraeZJuck2dn86mIxCh24s3y0/uFNHQno9Hi5vLjerlerq4Xkx8Z+TUXV6vP1+ub1fJ6vZB3qpPOljJnYGzciGToTpktIjE7EtuNsR2KFpPnLrHNieIn6o7+BGyFL5i8RkHfMcNXwQ15AQCkm4BRFsi5KNeRMg/oeciM9ld2ljETlRVjVNY5ZE+yiqxK0QuNnmaaj4bYUdPT3zQnxwCw/wZ+DxWVOOS/oUolx/HEh0pZd0Bnh//pCBcXQ+HeqW5Ib2ArtKpjyzb4PEjkKFzEs/a/XY4HnSZQhA+8p+hhGfMmx7qPrig83WOOSX7IAbzdVHFKO345UETxoV/s233nOxRv4dTjw61lVTq6zTu3mJ/0pW8hdV65Qy0Ptn/hQVS/AwAA//8o5bmvUwMAAA==", - "nameSuffix": "[parameters('nameSuffix')]", - "networkPolicy": "[parameters('networkPolicy')]", - "nsgID": "[resourceId('Microsoft.Network/networkSecurityGroups',variables('nsgName'))]", - "nsgName": "[concat(variables('masterVMNamePrefix'), 'nsg')]", - "orchestratorName": "[parameters('orchestratorName')]", - "orchestratorNameVersionTag": "Kubernetes:1.8.4", - "osImageOffer": "[parameters('osImageOffer')]", - "osImagePublisher": "[parameters('osImagePublisher')]", - "osImageSKU": "[parameters('osImageSKU')]", - "osImageVersion": "[parameters('osImageVersion')]", - "primaryAvailabilitySetName": "[concat('linuxagent-availabilitySet-',variables('nameSuffix'))]", - "provisionScript": "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", - "provisionScriptParametersCommon": "[concat('TENANT_ID=',variables('tenantID'),' APISERVER_PUBLIC_KEY=',variables('apiserverCertificate'),' SUBSCRIPTION_ID=',variables('subscriptionId'),' RESOURCE_GROUP=',variables('resourceGroup'),' LOCATION=',variables('location'),' SUBNET=',variables('subnetName'),' NETWORK_SECURITY_GROUP=',variables('nsgName'),' VIRTUAL_NETWORK=',variables('virtualNetworkName'),' VIRTUAL_NETWORK_RESOURCE_GROUP=',variables('virtualNetworkResourceGroupName'),' ROUTE_TABLE=',variables('routeTableName'),' PRIMARY_AVAILABILITY_SET=',variables('primaryAvailabilitySetName'),' SERVICE_PRINCIPAL_CLIENT_ID=',variables('servicePrincipalClientId'),' SERVICE_PRINCIPAL_CLIENT_SECRET=',variables('servicePrincipalClientSecret'),' KUBELET_PRIVATE_KEY=',variables('clientPrivateKey'),' TARGET_ENVIRONMENT=',variables('targetEnvironment'),' NETWORK_POLICY=',variables('networkPolicy'),' FQDNSuffix=',variables('fqdnEndpointSuffix'),' VNET_CNI_PLUGINS_URL=',variables('vnetCniLinuxPluginsURL'),' CNI_PLUGINS_URL=',variables('cniPluginsURL'),' MAX_PODS=',variables('maxPods'),' CLOUDPROVIDER_BACKOFF=',variables('cloudProviderBackoff'),' CLOUDPROVIDER_BACKOFF_RETRIES=',variables('cloudProviderBackoffRetries'),' CLOUDPROVIDER_BACKOFF_EXPONENT=',variables('cloudProviderBackoffExponent'),' CLOUDPROVIDER_BACKOFF_DURATION=',variables('cloudProviderBackoffDuration'),' CLOUDPROVIDER_BACKOFF_JITTER=',variables('cloudProviderBackoffJitter'),' CLOUDPROVIDER_RATELIMIT=',variables('cloudProviderRatelimit'),' CLOUDPROVIDER_RATELIMIT_QPS=',variables('cloudProviderRatelimitQPS'),' CLOUDPROVIDER_RATELIMIT_BUCKET=',variables('cloudProviderRatelimitBucket'),' USE_MANAGED_IDENTITY_EXTENSION=',variables('useManagedIdentityExtension'),' USE_INSTANCE_METADATA=',variables('useInstanceMetadata'))]", - "provisionScriptParametersMaster": "[concat('APISERVER_PRIVATE_KEY=',variables('apiServerPrivateKey'),' CA_CERTIFICATE=',variables('caCertificate'),' CA_PRIVATE_KEY=',variables('caPrivateKey'),' MASTER_FQDN=',variables('masterFqdnPrefix'),' KUBECONFIG_CERTIFICATE=',variables('kubeConfigCertificate'),' KUBECONFIG_KEY=',variables('kubeConfigPrivateKey'),' ADMINUSER=',variables('username'))]", - "readerRoleDefinitionId": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Authorization/roleDefinitions/', 'acdd72a7-3385-48ef-bd42-f606fba81ae7')]", - "registerWithTaints": "node-role.kubernetes.io/master=true:NoSchedule", - "resourceGroup": "[resourceGroup().name]", - "routeTableID": "[resourceId('Microsoft.Network/routeTables', variables('routeTableName'))]", - "routeTableName": "[concat(variables('masterVMNamePrefix'),'routetable')]", - "scope": "[resourceGroup().id]", - "servicePrincipalClientId": "[parameters('servicePrincipalClientId')]", - "servicePrincipalClientSecret": "[parameters('servicePrincipalClientSecret')]", - "sshKeyPath": "[concat('/home/',variables('username'),'/.ssh/authorized_keys')]", - "sshNatPorts": [ - 22, - 2201, - 2202, - 2203, - 2204 - ], - "sshPublicKeyData": "[parameters('sshRSAPublicKey')]", - "storageAccountBaseName": "[uniqueString(concat(variables('masterFqdnPrefix'),variables('location')))]", - "storageAccountPrefixes": [ - "0", - "6", - "c", - "i", - "o", - "u", - "1", - "7", - "d", - "j", - "p", - "v", - "2", - "8", - "e", - "k", - "q", - "w", - "3", - "9", - "f", - "l", - "r", - "x", - "4", - "a", - "g", - "m", - "s", - "y", - "5", - "b", - "h", - "n", - "t", - "z" - ], - "storageAccountPrefixesCount": "[length(variables('storageAccountPrefixes'))]", - "subnetName": "[split(parameters('masterVnetSubnetID'), '/')[variables('subnetNameResourceSegmentIndex')]]", - "subnetNameResourceSegmentIndex": 10, - "subscriptionId": "[subscription().subscriptionId]", - "targetEnvironment": "[parameters('targetEnvironment')]", - "tenantId": "[subscription().tenantId]", - "truncatedResourceGroup": "[take(replace(replace(resourceGroup().name, '(', '-'), ')', '-'), 63)]", - "useInstanceMetadata": "true", - "useManagedIdentityExtension": "false", - "username": "[parameters('linuxAdminUsername')]", - "virtualNetworkName": "[split(parameters('masterVnetSubnetID'), '/')[variables('vnetNameResourceSegmentIndex')]]", - "virtualNetworkResourceGroupName": "[split(parameters('masterVnetSubnetID'), '/')[variables('vnetResourceGroupNameResourceSegmentIndex')]]", - "vmSizesMap": { - "Standard_A0": { - "storageAccountType": "Standard_LRS" - }, - "Standard_A1": { - "storageAccountType": "Standard_LRS" - }, - "Standard_A10": { - "storageAccountType": "Standard_LRS" - }, - "Standard_A11": { - "storageAccountType": "Standard_LRS" - }, - "Standard_A1_v2": { - "storageAccountType": "Standard_LRS" - }, - "Standard_A2": { - "storageAccountType": "Standard_LRS" - }, - "Standard_A2_v2": { - "storageAccountType": "Standard_LRS" - }, - "Standard_A2m_v2": { - "storageAccountType": "Standard_LRS" - }, - "Standard_A3": { - "storageAccountType": "Standard_LRS" - }, - "Standard_A4": { - "storageAccountType": "Standard_LRS" - }, - "Standard_A4_v2": { - "storageAccountType": "Standard_LRS" - }, - "Standard_A4m_v2": { - "storageAccountType": "Standard_LRS" - }, - "Standard_A5": { - "storageAccountType": "Standard_LRS" - }, - "Standard_A6": { - "storageAccountType": "Standard_LRS" - }, - "Standard_A7": { - "storageAccountType": "Standard_LRS" - }, - "Standard_A8": { - "storageAccountType": "Standard_LRS" - }, - "Standard_A8_v2": { - "storageAccountType": "Standard_LRS" - }, - "Standard_A8m_v2": { - "storageAccountType": "Standard_LRS" - }, - "Standard_A9": { - "storageAccountType": "Standard_LRS" - }, - "Standard_B1ms": { - "storageAccountType": "Premium_LRS" - }, - "Standard_B1s": { - "storageAccountType": "Premium_LRS" - }, - "Standard_B2ms": { - "storageAccountType": "Premium_LRS" - }, - "Standard_B2s": { - "storageAccountType": "Premium_LRS" - }, - "Standard_B4ms": { - "storageAccountType": "Premium_LRS" - }, - "Standard_B8ms": { - "storageAccountType": "Premium_LRS" - }, - "Standard_D1": { - "storageAccountType": "Standard_LRS" - }, - "Standard_D11": { - "storageAccountType": "Standard_LRS" - }, - "Standard_D11_v2": { - "storageAccountType": "Standard_LRS" - }, - "Standard_D11_v2_Promo": { - "storageAccountType": "Standard_LRS" - }, - "Standard_D12": { - "storageAccountType": "Standard_LRS" - }, - "Standard_D12_v2": { - "storageAccountType": "Standard_LRS" - }, - "Standard_D12_v2_Promo": { - "storageAccountType": "Standard_LRS" - }, - "Standard_D13": { - "storageAccountType": "Standard_LRS" - }, - "Standard_D13_v2": { - "storageAccountType": "Standard_LRS" - }, - "Standard_D13_v2_Promo": { - "storageAccountType": "Standard_LRS" - }, - "Standard_D14": { - "storageAccountType": "Standard_LRS" - }, - "Standard_D14_v2": { - "storageAccountType": "Standard_LRS" - }, - "Standard_D14_v2_Promo": { - "storageAccountType": "Standard_LRS" - }, - "Standard_D15_v2": { - "storageAccountType": "Standard_LRS" - }, - "Standard_D16_v3": { - "storageAccountType": "Standard_LRS" - }, - "Standard_D16s_v3": { - "storageAccountType": "Premium_LRS" - }, - "Standard_D1_v2": { - "storageAccountType": "Standard_LRS" - }, - "Standard_D2": { - "storageAccountType": "Standard_LRS" - }, - "Standard_D2_v2": { - "storageAccountType": "Standard_LRS" - }, - "Standard_D2_v2_Promo": { - "storageAccountType": "Standard_LRS" - }, - "Standard_D2_v3": { - "storageAccountType": "Standard_LRS" - }, - "Standard_D2s_v3": { - "storageAccountType": "Premium_LRS" - }, - "Standard_D3": { - "storageAccountType": "Standard_LRS" - }, - "Standard_D32_v3": { - "storageAccountType": "Standard_LRS" - }, - "Standard_D32s_v3": { - "storageAccountType": "Premium_LRS" - }, - "Standard_D3_v2": { - "storageAccountType": "Standard_LRS" - }, - "Standard_D3_v2_Promo": { - "storageAccountType": "Standard_LRS" - }, - "Standard_D4": { - "storageAccountType": "Standard_LRS" - }, - "Standard_D4_v2": { - "storageAccountType": "Standard_LRS" - }, - "Standard_D4_v2_Promo": { - "storageAccountType": "Standard_LRS" - }, - "Standard_D4_v3": { - "storageAccountType": "Standard_LRS" - }, - "Standard_D4s_v3": { - "storageAccountType": "Premium_LRS" - }, - "Standard_D5_v2": { - "storageAccountType": "Standard_LRS" - }, - "Standard_D5_v2_Promo": { - "storageAccountType": "Standard_LRS" - }, - "Standard_D64_v3": { - "storageAccountType": "Standard_LRS" - }, - "Standard_D64s_v3": { - "storageAccountType": "Premium_LRS" - }, - "Standard_D8_v3": { - "storageAccountType": "Standard_LRS" - }, - "Standard_D8s_v3": { - "storageAccountType": "Premium_LRS" - }, - "Standard_DS1": { - "storageAccountType": "Premium_LRS" - }, - "Standard_DS11": { - "storageAccountType": "Premium_LRS" - }, - "Standard_DS11_v2": { - "storageAccountType": "Premium_LRS" - }, - "Standard_DS11_v2_Promo": { - "storageAccountType": "Premium_LRS" - }, - "Standard_DS12": { - "storageAccountType": "Premium_LRS" - }, - "Standard_DS12_v2": { - "storageAccountType": "Premium_LRS" - }, - "Standard_DS12_v2_Promo": { - "storageAccountType": "Premium_LRS" - }, - "Standard_DS13": { - "storageAccountType": "Premium_LRS" - }, - "Standard_DS13-2_v2": { - "storageAccountType": "Premium_LRS" - }, - "Standard_DS13-4_v2": { - "storageAccountType": "Premium_LRS" - }, - "Standard_DS13_v2": { - "storageAccountType": "Premium_LRS" - }, - "Standard_DS13_v2_Promo": { - "storageAccountType": "Premium_LRS" - }, - "Standard_DS14": { - "storageAccountType": "Premium_LRS" - }, - "Standard_DS14-4_v2": { - "storageAccountType": "Premium_LRS" - }, - "Standard_DS14-8_v2": { - "storageAccountType": "Premium_LRS" - }, - "Standard_DS14_v2": { - "storageAccountType": "Premium_LRS" - }, - "Standard_DS14_v2_Promo": { - "storageAccountType": "Premium_LRS" - }, - "Standard_DS15_v2": { - "storageAccountType": "Premium_LRS" - }, - "Standard_DS1_v2": { - "storageAccountType": "Premium_LRS" - }, - "Standard_DS2": { - "storageAccountType": "Premium_LRS" - }, - "Standard_DS2_v2": { - "storageAccountType": "Premium_LRS" - }, - "Standard_DS2_v2_Promo": { - "storageAccountType": "Premium_LRS" - }, - "Standard_DS3": { - "storageAccountType": "Premium_LRS" - }, - "Standard_DS3_v2": { - "storageAccountType": "Premium_LRS" - }, - "Standard_DS3_v2_Promo": { - "storageAccountType": "Premium_LRS" - }, - "Standard_DS4": { - "storageAccountType": "Premium_LRS" - }, - "Standard_DS4_v2": { - "storageAccountType": "Premium_LRS" - }, - "Standard_DS4_v2_Promo": { - "storageAccountType": "Premium_LRS" - }, - "Standard_DS5_v2": { - "storageAccountType": "Premium_LRS" - }, - "Standard_DS5_v2_Promo": { - "storageAccountType": "Premium_LRS" - }, - "Standard_E16_v3": { - "storageAccountType": "Standard_LRS" - }, - "Standard_E16s_v3": { - "storageAccountType": "Premium_LRS" - }, - "Standard_E2_v3": { - "storageAccountType": "Standard_LRS" - }, - "Standard_E2s_v3": { - "storageAccountType": "Premium_LRS" - }, - "Standard_E32-16s_v3": { - "storageAccountType": "Premium_LRS" - }, - "Standard_E32-8s_v3": { - "storageAccountType": "Premium_LRS" - }, - "Standard_E32_v3": { - "storageAccountType": "Standard_LRS" - }, - "Standard_E32s_v3": { - "storageAccountType": "Premium_LRS" - }, - "Standard_E4_v3": { - "storageAccountType": "Standard_LRS" - }, - "Standard_E4s_v3": { - "storageAccountType": "Premium_LRS" - }, - "Standard_E64-16s_v3": { - "storageAccountType": "Premium_LRS" - }, - "Standard_E64-32s_v3": { - "storageAccountType": "Premium_LRS" - }, - "Standard_E64_v3": { - "storageAccountType": "Standard_LRS" - }, - "Standard_E64s_v3": { - "storageAccountType": "Premium_LRS" - }, - "Standard_E8_v3": { - "storageAccountType": "Standard_LRS" - }, - "Standard_E8s_v3": { - "storageAccountType": "Premium_LRS" - }, - "Standard_F1": { - "storageAccountType": "Standard_LRS" - }, - "Standard_F16": { - "storageAccountType": "Standard_LRS" - }, - "Standard_F16s": { - "storageAccountType": "Premium_LRS" - }, - "Standard_F16s_v2": { - "storageAccountType": "Premium_LRS" - }, - "Standard_F1s": { - "storageAccountType": "Premium_LRS" - }, - "Standard_F2": { - "storageAccountType": "Standard_LRS" - }, - "Standard_F2s": { - "storageAccountType": "Premium_LRS" - }, - "Standard_F2s_v2": { - "storageAccountType": "Premium_LRS" - }, - "Standard_F32s_v2": { - "storageAccountType": "Premium_LRS" - }, - "Standard_F4": { - "storageAccountType": "Standard_LRS" - }, - "Standard_F4s": { - "storageAccountType": "Premium_LRS" - }, - "Standard_F4s_v2": { - "storageAccountType": "Premium_LRS" - }, - "Standard_F64s_v2": { - "storageAccountType": "Premium_LRS" - }, - "Standard_F72s_v2": { - "storageAccountType": "Premium_LRS" - }, - "Standard_F8": { - "storageAccountType": "Standard_LRS" - }, - "Standard_F8s": { - "storageAccountType": "Premium_LRS" - }, - "Standard_F8s_v2": { - "storageAccountType": "Premium_LRS" - }, - "Standard_G1": { - "storageAccountType": "Standard_LRS" - }, - "Standard_G2": { - "storageAccountType": "Standard_LRS" - }, - "Standard_G3": { - "storageAccountType": "Standard_LRS" - }, - "Standard_G4": { - "storageAccountType": "Standard_LRS" - }, - "Standard_G5": { - "storageAccountType": "Standard_LRS" - }, - "Standard_GS1": { - "storageAccountType": "Premium_LRS" - }, - "Standard_GS2": { - "storageAccountType": "Premium_LRS" - }, - "Standard_GS3": { - "storageAccountType": "Premium_LRS" - }, - "Standard_GS4": { - "storageAccountType": "Premium_LRS" - }, - "Standard_GS4-4": { - "storageAccountType": "Premium_LRS" - }, - "Standard_GS4-8": { - "storageAccountType": "Premium_LRS" - }, - "Standard_GS5": { - "storageAccountType": "Premium_LRS" - }, - "Standard_GS5-16": { - "storageAccountType": "Premium_LRS" - }, - "Standard_GS5-8": { - "storageAccountType": "Premium_LRS" - }, - "Standard_H16": { - "storageAccountType": "Standard_LRS" - }, - "Standard_H16m": { - "storageAccountType": "Standard_LRS" - }, - "Standard_H16mr": { - "storageAccountType": "Standard_LRS" - }, - "Standard_H16r": { - "storageAccountType": "Standard_LRS" - }, - "Standard_H8": { - "storageAccountType": "Standard_LRS" - }, - "Standard_H8m": { - "storageAccountType": "Standard_LRS" - }, - "Standard_L16s": { - "storageAccountType": "Premium_LRS" - }, - "Standard_L32s": { - "storageAccountType": "Premium_LRS" - }, - "Standard_L4s": { - "storageAccountType": "Premium_LRS" - }, - "Standard_L8s": { - "storageAccountType": "Premium_LRS" - }, - "Standard_M128-32ms": { - "storageAccountType": "Premium_LRS" - }, - "Standard_M128-64ms": { - "storageAccountType": "Premium_LRS" - }, - "Standard_M128ms": { - "storageAccountType": "Premium_LRS" - }, - "Standard_M128s": { - "storageAccountType": "Premium_LRS" - }, - "Standard_M64-16ms": { - "storageAccountType": "Premium_LRS" - }, - "Standard_M64-32ms": { - "storageAccountType": "Premium_LRS" - }, - "Standard_M64ms": { - "storageAccountType": "Premium_LRS" - }, - "Standard_M64s": { - "storageAccountType": "Premium_LRS" - }, - "Standard_NC12": { - "storageAccountType": "Standard_LRS" - }, - "Standard_NC12s_v2": { - "storageAccountType": "Premium_LRS" - }, - "Standard_NC24": { - "storageAccountType": "Standard_LRS" - }, - "Standard_NC24r": { - "storageAccountType": "Standard_LRS" - }, - "Standard_NC24rs_v2": { - "storageAccountType": "Premium_LRS" - }, - "Standard_NC24s_v2": { - "storageAccountType": "Premium_LRS" - }, - "Standard_NC6": { - "storageAccountType": "Standard_LRS" - }, - "Standard_NC6s_v2": { - "storageAccountType": "Premium_LRS" - }, - "Standard_ND12s": { - "storageAccountType": "Premium_LRS" - }, - "Standard_ND24rs": { - "storageAccountType": "Premium_LRS" - }, - "Standard_ND24s": { - "storageAccountType": "Premium_LRS" - }, - "Standard_ND6s": { - "storageAccountType": "Premium_LRS" - }, - "Standard_NV12": { - "storageAccountType": "Standard_LRS" - }, - "Standard_NV24": { - "storageAccountType": "Standard_LRS" - }, - "Standard_NV6": { - "storageAccountType": "Standard_LRS" - } - }, - "vmsPerStorageAccount": 20, - "vnetCidr": "[parameters('vnetCidr')]", - "vnetCniLinuxPluginsURL": "[parameters('vnetCniLinuxPluginsURL')]", - "vnetCniWindowsPluginsURL": "[parameters('vnetCniWindowsPluginsURL')]", - "vnetNameResourceSegmentIndex": 8, - "vnetResourceGroupNameResourceSegmentIndex": 4, - "vnetSubnetID": "[parameters('masterVnetSubnetID')]" - }, - "resources": [ - { - "apiVersion": "[variables('apiVersionDefault')]", - "copy": { - "count": "[sub(variables('linuxagentCount'), variables('linuxagentOffset'))]", - "name": "loop" - }, - "dependsOn": [ - "[variables('nsgID')]" - ], - "location": "[variables('location')]", - "name": "[concat(variables('linuxagentVMNamePrefix'), 'nic-', copyIndex(variables('linuxagentOffset')))]", - "properties": { - "enableIPForwarding": true, - "ipConfigurations": [ - { - "name": "ipconfig1", - "properties": { - "primary": true, - "privateIPAllocationMethod": "Dynamic", - "subnet": { - "id": "[variables('linuxagentVnetSubnetID')]" - } - } - } - ], - "networkSecurityGroup": { - "id": "[variables('nsgID')]" - } - }, - "type": "Microsoft.Network/networkInterfaces" - }, - { - "apiVersion": "[variables('apiVersionStorage')]", - "copy": { - "count": "[variables('linuxagentStorageAccountsCount')]", - "name": "loop" - }, - "dependsOn": [ - "[concat('Microsoft.Network/publicIPAddresses/', variables('masterPublicIPAddressName'))]" - ], - "location": "[variables('location')]", - "name": "[concat(variables('storageAccountPrefixes')[mod(add(copyIndex(),variables('linuxagentStorageAccountOffset')),variables('storageAccountPrefixesCount'))],variables('storageAccountPrefixes')[div(add(copyIndex(),variables('linuxagentStorageAccountOffset')),variables('storageAccountPrefixesCount'))],variables('linuxagentAccountName'))]", - "properties": { - "accountType": "[variables('vmSizesMap')[variables('linuxagentVMSize')].storageAccountType]" - }, - "type": "Microsoft.Storage/storageAccounts" - }, - { - "apiVersion": "[variables('apiVersionDefault')]", - "location": "[variables('location')]", - "name": "[variables('linuxagentAvailabilitySet')]", - "properties": {}, - "type": "Microsoft.Compute/availabilitySets" - }, - { - "apiVersion": "[variables('apiVersionDefault')]", - "copy": { - "count": "[sub(variables('linuxagentCount'), variables('linuxagentOffset'))]", - "name": "vmLoopNode" - }, - "dependsOn": [ - "[concat('Microsoft.Storage/storageAccounts/',variables('storageAccountPrefixes')[mod(add(div(copyIndex(variables('linuxagentOffset')),variables('maxVMsPerStorageAccount')),variables('linuxagentStorageAccountOffset')),variables('storageAccountPrefixesCount'))],variables('storageAccountPrefixes')[div(add(div(copyIndex(variables('linuxagentOffset')),variables('maxVMsPerStorageAccount')),variables('linuxagentStorageAccountOffset')),variables('storageAccountPrefixesCount'))],variables('linuxagentAccountName'))]", - "[concat('Microsoft.Network/networkInterfaces/', variables('linuxagentVMNamePrefix'), 'nic-', copyIndex(variables('linuxagentOffset')))]", - "[concat('Microsoft.Compute/availabilitySets/', variables('linuxagentAvailabilitySet'))]" - ], - "location": "[variables('location')]", - "name": "[concat(variables('linuxagentVMNamePrefix'), copyIndex(variables('linuxagentOffset')))]", - "properties": { - "availabilitySet": { - "id": "[resourceId('Microsoft.Compute/availabilitySets',variables('linuxagentAvailabilitySet'))]" - }, - "hardwareProfile": { - "vmSize": "[variables('linuxagentVMSize')]" - }, - "networkProfile": { - "networkInterfaces": [ - { - "id": "[resourceId('Microsoft.Network/networkInterfaces',concat(variables('linuxagentVMNamePrefix'), 'nic-', copyIndex(variables('linuxagentOffset'))))]" - } - ] - }, - "osProfile": { - "adminUsername": "[variables('username')]", - "computername": "[concat(variables('linuxagentVMNamePrefix'), copyIndex(variables('linuxagentOffset')))]", - "customData": "[base64(concat('#cloud-config\n\nwrite_files:\n\n- path: \"/etc/systemd/system/docker.service.d/clear_mount_propagation_flags.conf\"\n permissions: \"0644\"\n owner: \"root\"\n content: |\n [Service]\n MountFlags=shared\n\n- path: \"/etc/systemd/system/docker.service.d/exec_start.conf\"\n permissions: \"0644\"\n owner: \"root\"\n content: |\n [Service]\n ExecStart=\n ExecStart=/usr/bin/docker daemon -H fd:// --storage-driver=overlay2 --bip=',variables('dockerBridgeCidr'),'\n\n- path: \"/etc/docker/daemon.json\"\n permissions: \"0644\"\n owner: \"root\"\n content: |\n {\n \"live-restore\": true,\n \"log-driver\": \"json-file\",\n \"log-opts\": {\n \"max-size\": \"50m\",\n \"max-file\": \"5\"\n }\n }\n\n- path: \"/etc/kubernetes/certs/ca.crt\"\n permissions: \"0644\"\n encoding: \"base64\"\n owner: \"root\"\n content: |\n ',variables('caCertificate'),'\n\n- path: \"/etc/kubernetes/certs/client.crt\"\n permissions: \"0644\"\n encoding: \"base64\"\n owner: \"root\"\n content: |\n ',variables('clientCertificate'),'\n\n- path: \"/var/lib/kubelet/kubeconfig\"\n permissions: \"0644\"\n owner: \"root\"\n content: |\n apiVersion: v1\n kind: Config\n clusters:\n - name: localcluster\n cluster:\n certificate-authority: /etc/kubernetes/certs/ca.crt\n server: https://',variables('kubernetesAPIServerIP'),':443\n users:\n - name: client\n user:\n client-certificate: /etc/kubernetes/certs/client.crt\n client-key: /etc/kubernetes/certs/client.key\n contexts:\n - context:\n cluster: localcluster\n user: client\n name: localclustercontext\n current-context: localclustercontext\n\n- path: \"/etc/systemd/system/kubectl-extract.service\"\n permissions: \"0644\"\n owner: \"root\"\n content: |\n [Unit]\n Description=Kubectl extraction\n Requires=docker.service\n After=docker.service\n\n ConditionPathExists=!/usr/local/bin/kubectl\n\n\n [Service]\n TimeoutStartSec=0\n Restart=on-failure\n RestartSec=5s\n ExecStartPre=/bin/mkdir -p /tmp/kubectldir\n ExecStartPre=/usr/bin/docker pull ',variables('kubernetesHyperkubeSpec'),'\n ExecStartPre=/usr/bin/docker run --rm -v /tmp/kubectldir:/opt/kubectldir ',variables('kubernetesHyperkubeSpec'),' /bin/bash -c \"cp /hyperkube /opt/kubectldir/\"\n \n ExecStartPre=/bin/mv /tmp/kubectldir/hyperkube /usr/local/bin/kubectl\n ExecStart=/bin/chmod a+x /usr/local/bin/kubectl\n\n\n [Install]\n WantedBy=multi-user.target\n\n- path: \"/etc/default/kubelet\"\n permissions: \"0644\"\n owner: \"root\"\n content: |\n KUBELET_CLUSTER_DNS=',variables('kubeDNSServiceIP'),'\n KUBELET_API_SERVERS=https://',variables('kubernetesAPIServerIP'),':443\n KUBELET_IMAGE=',variables('kubernetesHyperkubeSpec'),'\n KUBELET_NETWORK_PLUGIN=kubenet\n KUBELET_MAX_PODS=110\n DOCKER_OPTS=\n CUSTOM_CMD=/bin/true\n KUBELET_REGISTER_SCHEDULABLE=true\n KUBELET_NODE_LABELS=kubernetes.io/role=agent,agentpool=linuxagent,kubernetes.azure.com/cluster=',variables('labelResourceGroup'),'\n KUBELET_POD_INFRA_CONTAINER_IMAGE=',variables('kubernetesPodInfraContainerSpec'),'\n KUBELET_HARD_EVICTION_THRESHOLD=',variables('kubernetesHardEvictionThreshold'),'\n KUBELET_NODE_STATUS_UPDATE_FREQUENCY=',variables('kubernetesNodeStatusUpdateFrequency'),'\n KUBE_CTRL_MGR_NODE_MONITOR_GRACE_PERIOD=',variables('kubernetesCtrlMgrNodeMonitorGracePeriod'),'\n KUBE_CTRL_MGR_POD_EVICTION_TIMEOUT=',variables('kubernetesCtrlMgrPodEvictionTimeout'),'\n KUBE_CTRL_MGR_ROUTE_RECONCILIATION_PERIOD=',variables('kubernetesCtrlMgrRouteReconciliationPeriod'),'\n KUBELET_IMAGE_GC_HIGH_THRESHOLD=',variables('gchighthreshold'),'\n KUBELET_IMAGE_GC_LOW_THRESHOLD=',variables('gclowthreshold'),'\n\n KUBELET_NON_MASQUERADE_CIDR=--non-masquerade-cidr=',variables('kubernetesNonMasqueradeCidr'),'\n KUBELET_FEATURE_GATES=--feature-gates=Accelerators=true\n \n\n\n CLOUD_PROVIDER=azure\n\n\n- path: \"/etc/systemd/system/kubelet.service\"\n permissions: \"0644\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n H4sIAAAAAAAA/5RWX2/bNhB/16cg0jxsD7SaP1g7F3pwbSUR4tipJDcd0kCgpbPEhSI18mTXa/3dB9pOYslOtyGAQd7d7/787k7M/URyfHAGYFLNK+RKetf1FASgE8JfNddgvEylj6A7BvScp+D0Zgi6LXTuo83pwQnBINPoMbFgS+P4cs61kiVIvOACPBcwdTOYsVqg+7iNFdVpCsb43zhGyLA23sn5meN/gzSyvm41eO6US3fKTEFcVaHL/q41uKmSyLgEbZ5cdUxxAFc+ZlwTWhF3zrQr+PQ58isxaEqO+Izck+NfSlVLJD9IrqEiX4/aHr4ekR9kkRIqfiVUAHlLHsgHggVIsgm9hlM65TLbC78v+EBm/OhQBVs3JXsEagqmYd+b84bEBTeEG8JIxTRyJshC6UemVS0zgoqg1deVQQ2sJLbVWgKCxZgaus4bQgrEynRdN+dY1NNOqsq1/43d7nENMe75ye8nv71ZX1JV2j7Ts5PT89P3785OWoUYW4lZmhQFoQsiATu8mp93MK0SDag5mFPvfRNENyiYIpsKMIQikcwyIbjBg6a8+rmp59ZGr0ndDDHRtSRfHUIolYBeoQxurxXPGlfN51xADtlWoMvtYa5EXYLnZjDv2p+W2CxNd/2jVUtjO6hr2X0+6MUBC9vjTa5utyV4HbAdih3EVtLdjs8BmMq7z4c9x3Zxd9rfbQn2izN63gQ0BRZwPBj3r/0wGd/G0St1LBjLQaJ7wyTLIQsykMhxSSNA5DI33f9uuc2QkOPv15OP/tCPk+Cmd+mvtmJC3GJZgbY5kqeNfFLZ3KwsVXLG832eX3QNiN58Rukr6kpllMuZZvT5W0Z5yXLwjl6SvB0PkmB0EfaS/ngU94KRH24TP2o4Y1mmwRjvbWf919QJoRY7I+yhrmHH4iXaRfAlOT979/Y8OVn9i8Hp6pD0bNWIDNKuI7VPBei94ksm+QwM0ophsTdkT1rTwKWiNgiaZtJ4Lwn0h5Mo9sNkMIpWh81Vybj0tteOUCkTDUOpMqCCTUGYXfpH44GfDHsf/WHUIjwVqs5opdWcZ6C94+/94XgySG7D8edg4IftNKzx0/i0Cl2/Z50/jZLNrlnxzmhoyLlBvfyfbiSgfQdoJeqcyx3ORn58Nw6vk9vh5DIYNfMt2TfboV2Kb3pf7DC2+IU5T+2/DrRgOtsl7qoXDhL/c9CPg/Eoia9CP7oaDwctEtesm/WzT+sqYwh0ZrcGZLr0Wl2I4l48iZLJ7aAX+8lF6H+a+KP+H8181vtD85QWPC8oFhpMoUTmtbY+uewnV8Hl1U5ih93Yxfmpl+H47jUnc+90d3P8XjwJ/eSyF/vR4eUajUfJTS/6NPHD3sBP+sEgPGwY+pfBet4tMatDirsgvkrs5yKOVo5zH0iDTIgH545JhOzj0itrgZzWBnQHmc4BnX8CAAD//xUDyGUQCgAA\n\n- path: \"/opt/azure/containers/kubelet.sh\"\n permissions: \"0755\"\n owner: \"root\"\n content: |\n #!/bin/bash\n\n\n\n exit 0\n\n- path: \"/opt/azure/containers/provision.sh\"\n permissions: \"0744\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n ',variables('provisionScript'),'\n\n\nruncmd:\n- echo `date`,`hostname`, startruncmd>>/opt/m \n- apt-mark hold walinuxagent\n- echo `date`,`hostname`, preaptupdate>>/opt/m \n- apt-get update\n- echo `date`,`hostname`, postaptupdate>>/opt/m \n- apt-get install -y apt-transport-https ca-certificates nfs-common\n- echo `date`,`hostname`, aptinstall>>/opt/m \n- systemctl enable rpcbind\n- systemctl enable rpc-statd\n- systemctl start rpcbind\n- systemctl start rpc-statd\n- echo `date`,`hostname`, predockerinstall>>/opt/m\n- for i in 1 2 3 4 5; do curl --max-time 60 -fsSL https://aptdocker.azureedge.net/gpg | apt-key add -; [ $? -eq 0 ] && break || sleep 5; done\n- echo \"deb ',variables('dockerEngineDownloadRepo'),' ubuntu-xenial main\" | sudo tee /etc/apt/sources.list.d/docker.list\n- \"echo \\\"Package: docker-engine\\nPin: version ',variables('dockerEngineVersion'),'\\nPin-Priority: 550\\n\\\" > /etc/apt/preferences.d/docker.pref\"\n- apt-get update\n- apt-get install -y ebtables\n- apt-get install -y docker-engine\n- echo `date`,`hostname`, postdockerinstall>>/opt/m\n- systemctl restart docker\n- mkdir -p /etc/kubernetes/manifests\n- usermod -aG docker ',variables('username'),'\n\n- echo `date`,`hostname`, PRE-APT-SYSTEMD-DAILY>>/opt/m\n- /usr/lib/apt/apt.systemd.daily\n- echo `date`,`hostname`, POST-APT-SYSTEMD-DAILY>>/opt/m\n- apt-mark unhold walinuxagent\n- mkdir -p /opt/azure/containers && touch /opt/azure/containers/runcmd.complete\n- echo `date`,`hostname`, endruncmd>>/opt/m \n\n'))]", - "linuxConfiguration": { - "disablePasswordAuthentication": "true", - "ssh": { - "publicKeys": [ - { - "keyData": "[parameters('sshRSAPublicKey')]", - "path": "[variables('sshKeyPath')]" - } - ] - } - } - }, - "storageProfile": { - "imageReference": { - "offer": "[variables('linuxagentosImageOffer')]", - "publisher": "[variables('linuxagentosImagePublisher')]", - "sku": "[variables('linuxagentosImageSKU')]", - "version": "[variables('linuxagentosImageVersion')]" - }, - "osDisk": { - "caching": "ReadWrite", - "createOption": "FromImage", - "name": "[concat(variables('linuxagentVMNamePrefix'), copyIndex(variables('linuxagentOffset')),'-osdisk')]", - "vhd": { - "uri": "[concat(reference(concat('Microsoft.Storage/storageAccounts/',variables('storageAccountPrefixes')[mod(add(div(copyIndex(variables('linuxagentOffset')),variables('maxVMsPerStorageAccount')),variables('linuxagentStorageAccountOffset')),variables('storageAccountPrefixesCount'))],variables('storageAccountPrefixes')[div(add(div(copyIndex(variables('linuxagentOffset')),variables('maxVMsPerStorageAccount')),variables('linuxagentStorageAccountOffset')),variables('storageAccountPrefixesCount'))],variables('linuxagentAccountName')),variables('apiVersionStorage')).primaryEndpoints.blob,'osdisk/', variables('linuxagentVMNamePrefix'), copyIndex(variables('linuxagentOffset')), '-osdisk.vhd')]" - } - } - } - }, - "tags": { - "creationSource": "[concat(variables('generatorCode'), '-', variables('linuxagentVMNamePrefix'), copyIndex(variables('linuxagentOffset')))]", - "orchestrator": "[variables('orchestratorNameVersionTag')]", - "poolName": "linuxagent", - "resourceNameSuffix": "[variables('nameSuffix')]" - }, - "type": "Microsoft.Compute/virtualMachines" - }, - { - "apiVersion": "[variables('apiVersionDefault')]", - "copy": { - "count": "[sub(variables('linuxagentCount'), variables('linuxagentOffset'))]", - "name": "vmLoopNode" - }, - "dependsOn": [ - "[concat('Microsoft.Compute/virtualMachines/', variables('linuxagentVMNamePrefix'), copyIndex(variables('linuxagentOffset')))]" - ], - "location": "[variables('location')]", - "name": "[concat(variables('linuxagentVMNamePrefix'), copyIndex(variables('linuxagentOffset')),'/cse', copyIndex(variables('linuxagentOffset')))]", - "properties": { - "autoUpgradeMinorVersion": true, - "protectedSettings": { - "commandToExecute": "[concat(variables('provisionScriptParametersCommon'),' /usr/bin/nohup /bin/bash -c \"/bin/bash /opt/azure/containers/provision.sh >> /var/log/azure/cluster-provision.log 2>&1 &\" &')]" - }, - "publisher": "Microsoft.Azure.Extensions", - "settings": {}, - "type": "CustomScript", - "typeHandlerVersion": "2.0" - }, - "type": "Microsoft.Compute/virtualMachines/extensions" - }, - { - "apiVersion": "[variables('apiVersionStorageManagedDisks')]", - "location": "[variables('location')]", - "name": "[variables('masterAvailabilitySet')]", - "properties": { - "managed": "true", - "platformFaultDomainCount": "2", - "platformUpdateDomainCount": "3" - }, - "type": "Microsoft.Compute/availabilitySets" - }, - { - "apiVersion": "[variables('apiVersionDefault')]", - "location": "[variables('location')]", - "name": "[variables('nsgName')]", - "properties": { - "securityRules": [ - { - "name": "allow_ssh", - "properties": { - "access": "Allow", - "description": "Allow SSH traffic to master", - "destinationAddressPrefix": "*", - "destinationPortRange": "22-22", - "direction": "Inbound", - "priority": 101, - "protocol": "Tcp", - "sourceAddressPrefix": "*", - "sourcePortRange": "*" - } - }, - { - "name": "allow_kube_tls", - "properties": { - "access": "Allow", - "description": "Allow kube-apiserver (tls) traffic to master", - "destinationAddressPrefix": "*", - "destinationPortRange": "443-443", - "direction": "Inbound", - "priority": 100, - "protocol": "Tcp", - "sourceAddressPrefix": "*", - "sourcePortRange": "*" - } - } - ] - }, - "type": "Microsoft.Network/networkSecurityGroups" - }, - { - "apiVersion": "[variables('apiVersionDefault')]", - "location": "[variables('location')]", - "name": "[variables('routeTableName')]", - "type": "Microsoft.Network/routeTables" - }, - { - "apiVersion": "[variables('apiVersionDefault')]", - "dependsOn": [ - "[concat('Microsoft.Network/publicIPAddresses/', variables('masterPublicIPAddressName'))]" - ], - "location": "[variables('location')]", - "name": "[variables('masterLbName')]", - "properties": { - "backendAddressPools": [ - { - "name": "[variables('masterLbBackendPoolName')]" - } - ], - "frontendIPConfigurations": [ - { - "name": "[variables('masterLbIPConfigName')]", - "properties": { - "publicIPAddress": { - "id": "[resourceId('Microsoft.Network/publicIPAddresses',variables('masterPublicIPAddressName'))]" - } - } - } - ], - "loadBalancingRules": [ - { - "name": "LBRuleHTTPS", - "properties": { - "backendAddressPool": { - "id": "[concat(variables('masterLbID'), '/backendAddressPools/', variables('masterLbBackendPoolName'))]" - }, - "backendPort": 443, - "enableFloatingIP": false, - "frontendIPConfiguration": { - "id": "[variables('masterLbIPConfigID')]" - }, - "frontendPort": 443, - "idleTimeoutInMinutes": 5, - "loadDistribution": "Default", - "probe": { - "id": "[concat(variables('masterLbID'),'/probes/tcpHTTPSProbe')]" - }, - "protocol": "tcp" - } - } - ], - "probes": [ - { - "name": "tcpHTTPSProbe", - "properties": { - "intervalInSeconds": "5", - "numberOfProbes": "2", - "port": 443, - "protocol": "tcp" - } - } - ] - }, - "type": "Microsoft.Network/loadBalancers" - }, - { - "apiVersion": "[variables('apiVersionDefault')]", - "location": "[variables('location')]", - "name": "[variables('masterPublicIPAddressName')]", - "properties": { - "dnsSettings": { - "domainNameLabel": "[variables('masterFqdnPrefix')]" - }, - "publicIPAllocationMethod": "Dynamic" - }, - "type": "Microsoft.Network/publicIPAddresses" - }, - { - "apiVersion": "[variables('apiVersionDefault')]", - "copy": { - "count": "[sub(variables('masterCount'), variables('masterOffset'))]", - "name": "masterLbLoopNode" - }, - "dependsOn": [ - "[variables('masterLbID')]" - ], - "location": "[variables('location')]", - "name": "[concat(variables('masterLbName'), '/', 'SSH-', variables('masterVMNamePrefix'), copyIndex(variables('masterOffset')))]", - "properties": { - "backendPort": 22, - "enableFloatingIP": false, - "frontendIPConfiguration": { - "id": "[variables('masterLbIPConfigID')]" - }, - "frontendPort": "[variables('sshNatPorts')[copyIndex(variables('masterOffset'))]]", - "protocol": "tcp" - }, - "type": "Microsoft.Network/loadBalancers/inboundNatRules" - }, - { - "apiVersion": "[variables('apiVersionDefault')]", - "copy": { - "count": "[sub(variables('masterCount'), variables('masterOffset'))]", - "name": "nicLoopNode" - }, - "dependsOn": [ - "[variables('nsgID')]", - "[concat(variables('masterLbID'),'/inboundNatRules/SSH-',variables('masterVMNamePrefix'),copyIndex(variables('masterOffset')))]" - ], - "location": "[variables('location')]", - "name": "[concat(variables('masterVMNamePrefix'), 'nic-', copyIndex(variables('masterOffset')))]", - "properties": { - "enableIPForwarding": true, - "ipConfigurations": [ - { - "name": "ipconfig1", - "properties": { - "loadBalancerBackendAddressPools": [ - { - "id": "[concat(variables('masterLbID'), '/backendAddressPools/', variables('masterLbBackendPoolName'))]" - } - ], - "loadBalancerInboundNatRules": [ - { - "id": "[concat(variables('masterLbID'),'/inboundNatRules/SSH-',variables('masterVMNamePrefix'),copyIndex(variables('masterOffset')))]" - } - ], - "primary": true, - "privateIPAddress": "[variables('masterPrivateIpAddrs')[copyIndex(variables('masterOffset'))]]", - "privateIPAllocationMethod": "Static", - "subnet": { - "id": "[variables('vnetSubnetID')]" - } - } - } - ], - "networkSecurityGroup": { - "id": "[variables('nsgID')]" - } - }, - "type": "Microsoft.Network/networkInterfaces" - }, - { - "apiVersion": "[variables('apiVersionStorageManagedDisks')]", - "copy": { - "count": "[sub(variables('masterCount'), variables('masterOffset'))]", - "name": "vmLoopNode" - }, - "dependsOn": [ - "[concat('Microsoft.Network/networkInterfaces/', variables('masterVMNamePrefix'), 'nic-', copyIndex(variables('masterOffset')))]", - "[concat('Microsoft.Compute/availabilitySets/',variables('masterAvailabilitySet'))]" - ], - "location": "[variables('location')]", - "name": "[concat(variables('masterVMNamePrefix'), copyIndex(variables('masterOffset')))]", - "properties": { - "availabilitySet": { - "id": "[resourceId('Microsoft.Compute/availabilitySets',variables('masterAvailabilitySet'))]" - }, - "hardwareProfile": { - "vmSize": "[variables('masterVMSize')]" - }, - "networkProfile": { - "networkInterfaces": [ - { - "id": "[resourceId('Microsoft.Network/networkInterfaces',concat(variables('masterVMNamePrefix'),'nic-', copyIndex(variables('masterOffset'))))]" - } - ] - }, - "osProfile": { - "adminUsername": "[variables('username')]", - "computername": "[concat(variables('masterVMNamePrefix'), copyIndex(variables('masterOffset')))]", - "customData": "[base64(concat('#cloud-config\n\n\npackages:\n - jq\n - traceroute\n\n\nwrite_files:\n\n- path: \"/etc/systemd/system/docker.service.d/clear_mount_propagation_flags.conf\"\n permissions: \"0644\"\n owner: \"root\"\n content: |\n [Service]\n MountFlags=shared\n\n\n- path: \"/etc/systemd/system/docker.service.d/exec_start.conf\"\n permissions: \"0644\"\n owner: \"root\"\n content: |\n [Service]\n ExecStart=\n\n ExecStart=/usr/bin/docker daemon -H fd:// --storage-driver=overlay2 --bip=',variables('dockerBridgeCidr'),'\n\n- path: \"/etc/docker/daemon.json\"\n permissions: \"0644\"\n owner: \"root\"\n content: |\n {\n \"live-restore\": true,\n \"log-driver\": \"json-file\",\n \"log-opts\": {\n \"max-size\": \"50m\",\n \"max-file\": \"5\"\n }\n }\n\n- path: \"/etc/kubernetes/certs/ca.crt\"\n permissions: \"0644\"\n encoding: \"base64\"\n owner: \"root\"\n content: |\n ',variables('caCertificate'),'\n\n- path: \"/etc/kubernetes/certs/client.crt\"\n permissions: \"0644\"\n encoding: \"base64\"\n owner: \"root\"\n content: |\n ',variables('clientCertificate'),'\n\n\n\n- path: \"/var/lib/kubelet/kubeconfig\"\n permissions: \"0644\"\n owner: \"root\"\n content: |\n apiVersion: v1\n kind: Config\n clusters:\n - name: localcluster\n cluster:\n certificate-authority: /etc/kubernetes/certs/ca.crt\n server: ',concat('https://', variables('masterPrivateIpAddrs')[copyIndex(variables('masterOffset'))], ':443'),'\n users:\n - name: client\n user:\n client-certificate: /etc/kubernetes/certs/client.crt\n client-key: /etc/kubernetes/certs/client.key\n contexts:\n - context:\n cluster: localcluster\n user: client\n name: localclustercontext\n current-context: localclustercontext\n\n- path: /etc/kubernetes/manifests/kube-apiserver.yaml\n permissions: \"0644\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n H4sIAAAAAAAA/6SVT2/jNhDF7/kUgs5htGkDdCFECwRp0AbY3boxWvQ6Jsf21BSpDIdK3E9fUP4vKXGAtU/i4/uRehwNoaG/kQN5V2Z5e51frMiZMssn3uQXNQoYECgvssxBjWWWr+IMFTQUkFvkfCuEBvReDesgWCfJwgxtSO4sE0IuM+2dsLeqseCwG9e+brxDJ2V2yr4IDerkXfog31FePK/KTDgmX+IAOeQtXb29v/SjGhZJvU0yOxQMv68b5PQ4bVB/2U3Uvq4hBbB9TuS8WO7m5sfDg1W6UaXA1BRSomr7ttX3XURfaY56rS1efqWa5AncAvlyitySxjutfXRy+SvOIVqZimdY4L2FEC6fMPjIGv+MXmCwnmEMofp01f37qrX+RTVMLVlcoOnJ5ALqyKgaz1J9/vS57z+Wb25+7qna+mhUw74lg1zBf5FxdIr2bk6LqkDRxeEQis5w9W/wbrBsl4nSNgZBVtQoTmlV3RFuE7snw196RhRt1OZcQrUUacqiuP7ply6b6/K2hoR7EG3uLaGTiWcZRTxHz7FWjGCqVHSD0FtkoYD7+I9q627yOO128Djps8UGpZFFzcniII6khGJfWFeaZcSfDhME1QrXH8OscD04lPTySsN7AA0jG2B8jhhkiWCQP8Zp2L+u1ShtK20pZ3LpJp+DnAllwxgGsqs32HyEP5KtJ6N3uyFTjakUQkRWke2oHANy6mdKW6C68tT/asOmN6gZ6BU6U92mkr3bt/J+0bXVzcnIUak+OJhZfJqB7ptOD7prI2hU1+37mz6diq/CoDYPqVhxTq/VP+oJay+oHjr1XcCCfWx2gIPztzT8rnGf28D7Vzi06dbbWOO3dMzb2yM7vkFQtDrkc1gvy+pkmYAsyyzvlUU+5LTAytKsY1mUN0EtcGFpVgzm7Ul1oLPuF4AFOim+gYMFmkeDTkjWaooi5BYn75F62h/Orve36SaR/lU6HkS6jbvF98DmnUTOpfE2bTSWHa4O9GHA+WT+DwAA//8/0OMbBAkAAA==\n\n- path: /etc/kubernetes/manifests/kube-controller-manager.yaml\n permissions: \"0644\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n H4sIAAAAAAAA/6SUTW/bPAyA7/kVhu+q8b5Ho+6l6PtxSBe0w+6MxLpaJNGjaHfZrx/oJE3jxMuA+Wbq4UOJ+oDOf0HOnlJdlMNf5WLjk6uLckWuXEQUcCBQL4oiQcS6KDf9Go2lJEwhIJsICVrkck/kDuw7lrdZMOpQgDWGrJqiEI9cF3uF6QIkHOOWYkcJk9TFTJFF7tCq5JWyPKK8EW/qQrhXgeLgE/K+jPmNGevnI7SK3SrHCQXzf9sOWX+fO7R3B9BSjKC92f9ribJ6PbDlx/B8uXHYGM2wlF5821QDcBX8utJYQKmOY5MkCIEsCJpEDo31jnNzewg+ksN7Dd1NsmzosyCPfDOu8n4XUXoO1t41txH0559vLq0YX/z3c5p6ZzqmwTvkBn70jBeRw1JRbHXsczUm3HzNlCZZTCTGgnnxAc+yLLLkysKNZZmZfvZt8qk1iv6xZIPbK44NbieOjDx4iwaspT6J6dgPunNXXNB5zUS+oAwIDtlgQCuNHvqT8Q/H9yHBOuDTGux0v4bm70lkPEmRkhdi0zJYNB2yJ9d8EN4Lh2XLesKWO/RfJVcjOK3RkTM4eCuekhEfkXq5IFuRe9hTn3fQVMTUCxrWq2B98DAKZyf3pPTTCTyZ30Chj7jU7cgnl3j/TqBYc9QeJ1MUUXNWIK91UU72rTz3DMAm+LXZX+dZ0eTan5ti9tdy3wBaTFItx0fG/e8wiZeteUYRn9qTVTCC+5TC9v3F3DVk+lxeboO+uGPxd2H3i35c68W87WJTzhtyXXC9Mz8DAAD//8PhLmf6BgAA\n\n\n\n- path: /etc/kubernetes/manifests/kube-scheduler.yaml\n permissions: \"0644\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n H4sIAAAAAAAA/4SSQY/bIBCF7/kViDtC7RE1PbeHbVdaqfcxTG0UGBCMvfK/r0ideOMka988b97HzNNA9n+wVJ/ICDl9kYeTJ2eEfE1OHiIyOGAwByEIIhohT2OHqtoB3RiwyEWoGeyqzpUxNilAh6E2txDssRhhE3FJQeUAhOe6TTEnQmIjbtmHmtE275Aq/0J+T+VkBJex+RoHPGFZ6Or5fO3zEfqmfmtyIWSsP+aMpf2+ZbTfL402xQjkzPLbwFIPl1b5sXz3yLmqVGu0if76/qgnKDr4TrdaQNartjEFBIdFYUDLx7bjRp+OXy+VKYUx4ksaievHOZcAkK1at1wxQsRmeQUejJAa2epHbVfOBEUF36ll9KegzYr3pFj9nvcdoEdi/QIEPbqfDok9z+oNmT31N1sUBPebwnw9hf95bO/gcQztlM6PX4H5kzz2snhOexjKfSD7gP1k/gUAAP//FKERJ8EDAAA=\n\n- path: /etc/kubernetes/manifests/kube-addon-manager.yaml\n permissions: \"0644\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n H4sIAAAAAAAA/4yRsW7zMAyEdz8Fkd3w/w9ZhKJAxw5pAwTozkiEIySiXJFy4LcvZMdOWjRtR5LH43cSdv6NkvjIBvr/1dGzM7CNrgqk6FDRVACMgQwc855qdC5yHZCxpXQZSYd2nssgSqEC6G9cpSNbfA5R9IX0HNPRgKZMFYCNrOiZkhRF/dMtAB+wJQMPZZyYlOSpaDaTZNeRfRx1iSTmZGn0nBrvmUSXGsB22cA6LHWgENNgYP1v48dmH0850CZmntdmuJFLLpuhCLaoBwOrhtQ2V7ZmEq4WBnSvfBqW6FfHIP47ux5Tc/L75ozYEmsz5XTPjli9DvWOVD239y9MGT697A18+Y7x1GW9+y3FV9x7Bn/n/ggAAP//ovMbJ38CAAA=\n\n- path: /etc/kubernetes/addons/kube-dns-deployment.yaml\n permissions: \"0644\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n H4sIAAAAAAAA/8xYS2/jNhC++1cQ7ll+JMhuINQBgnXQDbZJjTrtfUKOJcIUyfDhxvvrC0qyLEq2Y+dQ1DdxXh/nm4dk0PxvNJYrmZLNdLDmkqVkiWbDKd5Tqrx0gwIdMHCQDgiRUGBK1v4VEyZtfWA10N2p3VqHxYAQAa8obLAhpcRIdGhHXI2p8NahSWwVJiVDZzwOS01gTMkCJGRoRrFZoRim5E+kSlIucJAkyeAU/Ah3hObWJqB1dI1LMMaaVUZ++FecPy8vyJDVSAOeOtLjIiW/risv9QUeF3cDQrQyrgSe1K53gIMgJTfX1YNRTlElUvLXfBErJ47qUwYv34KBRYHUKXMsRd1sg9Z2vJm+ooNd3ueohdoW2CmZzxXCYZI2DdlXk16uk/3hiXwb1IJTsCm56l27AEfz31t4j+HoIXFYaAEOaz+t65dVLaVy4LiSjV9CLM2ReYFmBELn0Kl2arjjFESiFUvJcFibiQjccXiXpPrAdQjZpauEv1pxyd12H1Yrdi8dv+8JQmHhCo1BNveGy2xZ3ZLL7DGTqjl+eEfqQ0Lapgn5B3mWu5RMJ5PWeRWvjvWCpkgjYZ2VZURl+1fS+vCuDVobc7CPvMZtustmT0yI0mggOCeP8oB4A8LjAb+l5y4z1c8prYTKtj/KwBFZubIuVPFgpylC8DbyGu+3ukjuw9S0f0ixHfQBP7xz65qyVcIX2PLTaSGq5IpnjZfq8Ql0+2q9CbePGUCCSEkorkHjwgGXaFpBwWStZCVkmCRMFcDlrK7TkVAUxGjY0ZE2CUNsNp1Mbq47ws3sqnNSgU8YN7Nx54J7TV5AhvXorRioR/lSI71r1ATfoERrF0a9YjsZK+DCG3zJDdpcCZaSm5Y0d07/hi4uDA0uT8lwnCMIl/9MQmgm7bBT8WFY305u40YIQyNk//vLy6IlCJ3BQcxRwHYZNiSzKfnSNrWeUrS2hXPakjpeoPKuMd3fYU92m+tmKe3S3bC8KHGXBPVKJuS/JDYaF/Hiutiho/qE02q5VT+DwPhBEk/S1JgdIWj6aYKuJ2dRYNAqb2g8XwQvuOtMnAILZbYpmX6dPPGWxOCbR9vVptqXeS0O+ohcVFPjKbwNRqyfHh6EFMFiUeax24EnZkGvk4XKnLKOoTGxoHI1P9ngQc+gdWDcXNoC7NssXn3lrIgf191JAjTHxPKfGEbPpCOVKgRQYtM5D7sWzWx69XU0GU1G018Oja1aacxlAoyZERgN4zNN9Jdz1IXKkhVQLrjbzpJTk2/+vHwC+xZPvqbTQurOHgCHm/Xyvj/e9B+2+7Gi/bgoSW/JfVy0CS3YTFqh1Nrr9j5nuAIv3Mhu6CjabqShjdyNGW7G0gvR4c4bMWv2RM1BtzY/Hzcty+XM6L0tVaqU6zhsqc75m+foTtVaeAH8Xrn+7zZtL4Pkf7dpa6hnN1oH97HNd+EGublggRzeHy0PTNqFEpxuwydiWZS1wEb/Mzwfeq2UimH/xT58dXa+l5RNieDSvw/+DQAA//9hDItW0xAAAA==\n\n- path: /etc/kubernetes/addons/kube-proxy-daemonset.yaml\n permissions: \"0644\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n H4sIAAAAAAAA/5RUy27bMBC8+ysI3RklVyEuULgBemkawEDva2psE+ZDWS5d++8LSrUtOYmb8kTMLoczswSps7/AycbQKBwEoWxTvX9YQehhtrOhbdQ3go9hCZl5CLUk1MyUcrSCS2Wn1C6vwAGCdGdjbVxOAtYJvLcGjaqEM6q+00TfxYAgTX9IdxwPx74iFtyoEFvMlArkcdVRoNSROeHpmAR+ljqYIkLgO0eCQdBYaFljsbdlvJGi1OmKvhQdmKSkdIK02uE4tGuODnfTNDyVMM7csSvnIzfq6TWTO+N7cnkaVVlYr2GkUc9xabZos8PsZCAI2QAeyTDRewrtxaVWVb09duCiqBrBU7taVVqXFhPD2m7m9Z64dnZVF8xB6kutmh46TdrYluePpW0xIAvb8per5jVIMkNvSJDmT4cObD2CkFuwFWvIvcT2awhR+nzn0ySsp03J5/GS7veTtWUHM7rtncczLEaKmQ1GD6GArxlJJphSpsuNeri/92c0wWS2clzEIDjIuL1ju7cOG7SNKqovQ40ue/yIOYz5tfIFeSHZNqqqIaZOydUGLKka0Q4+UnK6L+ltTDIRTu3P4I5Xd77DfonsLT3E6Ev9v+k/81TGExlq/7qmOH2G/I68m+BDnqMnXxp7KeNp/JWWE9dpS4zaUJ+gXVtDkxBuJHyb+zO2PzB9m/ijcd0YVvl4lnAw5Vc5Hygf+NVPFFOjnA35MPsTAAD//zcsf+33BQAA\n\n\n- path: /etc/kubernetes/addons/kubernetes-dashboard-deployment.yaml\n permissions: \"0644\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n H4sIAAAAAAAA/8xUTW8bOQy9z68gfB87wV4SYTdANgFyyQaGve2d1rC2ao2oihw37q8vNPHHTOI4TtEA1Ung5+PTozC6z5TEcTCwOi+WLlQGppRWztK1tdwELWpSrFDRFAAeZ+Ql3wCWF1JijAaWzYxSICUpK5TFjDFVTxE7x9DxyPpGlFIpT+UNDDQ1NGgjsao41BhwTmnYT6u5IgMTshys81QABKzp1a7ZKRHtJqKUtSjVRVmWRXfYNEM7xEYXnNwPVMdhuLxo+63OZ6S45eLmCfSEPf3rQuXCvMfHUSh/AFmJPU3oS8aA0d0lbuKR2QuAF1Pvhtwiwqp2oZBm9pWsiilKOKia3/NMzzX5uhhPZu+tl/gV2BLJZhyRk7aAyvZq4OKs7amY5qTj1nR5dpmNQp6scjpNHrqOZOCBK8pFXtBEj0ohX+WZfG8pel7XdGyNP2ZJP5boRNE7i2Lg/AWXNapd3HcmPIFeqqNHpU2BDlP5+F6tU3Z5CzMfy0HRBUq7CiVgmouBXcESynJBGFvmFyz6z0I1mtFoaxx2ODAbTeXjapyTgb/3QG63OKaR7FU/cNx4P2bv7NrAtf+Oa9n5vVtRIJFx4hntJwXIQO5IuyaAiLowMBgN+tauvHeNg1OH/pY8rqdZHpUY+Ksboa4mbvSQ86hC9k07T1Pu6R4fghMTK1v2Bv6/Ge/siYSbZEm6Yyb61pCo9Ee3sTnM983402STcdXLqKnmtD6c9F/rO5TnXe3e0/s+x7+3cS9Jev/3w1vUB65o2tu7fPLf8+xrYDHgXWgeofgZAAD//9s29QduCAAA\n\n\n- path: /etc/kubernetes/addons/kube-heapster-deployment.yaml\n permissions: \"0644\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n H4sIAAAAAAAA/8xWW2tjNxB+P79C+F1ep92AK+pCmk3bh2Y3JFAoLISxNOujWrfq4rX31xfpHNvnYgcTNlC9WGdGo2/mm4sMTv6FPkhrGNlcVWtpBCNP6DeS4w3nNplYaYwgIAKrCDGgkZEawYWIvhUEBxwZWacl0rALEXVFiIIlqpBtSNF4gxHDVNp3XKVsTEMDw8gk+oSTchKEsEaDgRX6ad9MW4GMPCK3hkuFFaW06rrvl8CnkGJtvfwGUVozXc+L5eZqiRH20d028I9W4YnQGv/ZPkL6VcaaGjBm93Yx3ZmQPN5tZYih8klhYBUl4OTv3iZX8CjBbUSTIw3lE5zLG4/BJs+xPSTQKbvTaGJWbtAvW8UKY/lVMjSbrxB5XXbJCYhYtq4IR9CTyRgJNy0IPZZA+2lFu3NWXObGd0jlr9IIaVb/y4xahY/4JYPsiX0hxIqQcZ1eEEtIy3+Qx1I6J9v48uYdpmM4GHokv47B/snGsT/6jl3iaXDIM7SzPrYllreMzGcFJoJfYXxoRfMfKkICKuTR+tbjeaDgXAcrB99E++HQTD02jo14qMazfIxuf8s6e2EYD/jc0+bRKckhMHI1YkbnzvyzE8zpcCJqpyBia9QhIi/Vsz9HCCFgjI2lCzqHA69RJIV+CsrVMCCAexklB0WdFawZUYTsAyu5twp9/05K1rhj5LY1vcn0hk9G7Q6Y1mUb6xk5kFru7bXSx2F15sWtiSAN+g6a1LBCRn4+er6v8SeH/JcDKrdagxHH0CmZvNvfP+lKKW2m8KJDRkhag989g5Ps8+Tz5GgwaqNm9Ub5UfhvwhB7MkK4S7lzdE+oUVu/Y+Tq/exedjRKavnqC06xVRL0iEF+u4gxZ8VzGYYDyrhLi/lMD6S4jR6Kbja9HiobDxfFwZN27YH3I3WsPYbaKrG4HmiOj/PiTG4PNXTugLNKUYdeWrH4cZbX0LkQpc4FvMCtswZNlKDOFcThFXxdWVyfyepPF1bFRfZoNt0kb0Al/M1b3b/vi0Ql2jd2JH+AWLPDaJpmDjrHGkru/35++PTh+ePN/d33Rysj+SXIp4eb2z1u/vv01JvEeeV3ZjAAbWBESZO21X8BAAD//0SxZ2rFCwAA\n\n\n\n- path: /etc/kubernetes/addons/azure-storage-classes.yaml\n permissions: \"0644\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n H4sIAAAAAAAA/8yQT0sDMRDF7/kUQ+9Z6U1y9aoiFrzKdDMtYfNnmZkU9NPLZuvCavFkxXPy3rzfD8fwQiyhZAeihfFI3XArXSg3p+2eFLdmCNk72M2PdxFFTCJFj4rOAGRM5MDTAWtUA4A5F0UNJcv0DJ+1/ZTspspuqHviTErtThB7Ttv2x8FGudLGAETcUzzXrEN9rKLEVohPoaclM3I5hQmH2H2J4Htlsj7IYKy15rfIE2Y8krcjUwo1fTdwLYgRGRMpceuetz7MY8xiHfu+1Kz6NpKDp3ni6/3z7ioKRDF7ZP+fHezOGxcJFwh/9HKBvw06hEh/At4OrcFlqI9tyYruIwAA//+8TAl83AMAAA==\n\n\n- path: /etc/kubernetes/addons/kube-tiller-deployment.yaml\n permissions: \"0644\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n H4sIAAAAAAAA/9RUXWvbMBR9968QfXdKWAdDjELXhlJoS0i6vY4b+SzRqq9JV6HZrx92Gtd2spI+dDA9WdK5Oh+6FgX9DTFp76RYj4tH7Sop5ohrrXChlM+OCwumiphkIYQjCylYG4P4PE2BFKR4zAuUaZMYthDC0AIm1RWi2YkOjDTS/lSZnBixTFsSKU44Zpw0SKoq7yw5WiKO+mXWVzV24lKOmDzpxOmkKMuy6DqIC1IjyrzyUf8m1t6NHj815evxAkw7g5dbDTNv8EW7Srvlayb/jZfoDWb4UdNQ0NfR5/CKoUKIPSut8p0sqqx2RcqLn1CcZFGKg/d77K0O0x72Sy/DbmgUghQrGNvMBmTvmWmfrKwQjN/83WAKULXi4CM30st9sfWeFGdn4w9nzZwpLsHTZrWFJRgo9vEI+7wJaG/xZroXMp4Yrv5Mgx6+asxYDH7Q/zl3hg2GGFv1XVf16Drbd3fQ4e7g5rvX9PdDqBDKOybtEFuOUsCtXwh33fBwc3s7mX2/v7ibzKcXl5MWIMSaTN57C7dDW1pCis8v8T007PMAdd6ijF7DIaVp9AvIzskr5nAN7i4JEYhXUpzuivp7baN+7Kxrp1mTuYKhzRzKuypJMe4AWFv4zAf29tLdsaRuRG2K08GP8sohEVTpN7tuq97XdkTyOSqkroiIXxmJU1+YCvnABV9Ov86e4ec9uIX1cXOg4q7ZOFRktNVHs97W4DdR9iqcrzDvPWT1qJ+gwRPgkxRGu/xU/AkAAP//Gh4NlE4IAAA=\n\n\n\n\n\n\n- path: \"/etc/systemd/system/kubectl-extract.service\"\n permissions: \"0644\"\n owner: \"root\"\n content: |\n [Unit]\n Description=Kubectl extraction\n Requires=docker.service\n After=docker.service\n\n ConditionPathExists=!/usr/local/bin/kubectl\n\n\n [Service]\n TimeoutStartSec=0\n Restart=on-failure\n RestartSec=5s\n ExecStartPre=/bin/mkdir -p /tmp/kubectldir\n ExecStartPre=/usr/bin/docker pull ',variables('kubernetesHyperkubeSpec'),'\n ExecStartPre=/usr/bin/docker run --rm -v /tmp/kubectldir:/opt/kubectldir ',variables('kubernetesHyperkubeSpec'),' /bin/bash -c \"cp /hyperkube /opt/kubectldir/\"\n\n ExecStartPre=/bin/mv /tmp/kubectldir/hyperkube /usr/local/bin/kubectl\n ExecStart=/bin/chmod a+x /usr/local/bin/kubectl\n\n\n [Install]\n WantedBy=multi-user.target\n\n- path: \"/etc/default/kubelet\"\n permissions: \"0644\"\n owner: \"root\"\n content: |\n KUBELET_CLUSTER_DNS=',variables('kubeDNSServiceIP'),'\n KUBELET_API_SERVERS=',concat('https://', variables('masterPrivateIpAddrs')[copyIndex(variables('masterOffset'))], ':443'),'\n KUBELET_IMAGE=',variables('kubernetesHyperkubeSpec'),'\n KUBELET_NETWORK_PLUGIN=\n KUBELET_MAX_PODS=110\n DOCKER_OPTS=\n KUBELET_NODE_LABELS=kubernetes.io/role=master,kubernetes.azure.com/cluster=',variables('labelResourceGroup'),'\n KUBELET_POD_INFRA_CONTAINER_IMAGE=',variables('kubernetesPodInfraContainerSpec'),'\n KUBELET_HARD_EVICTION_THRESHOLD=',variables('kubernetesHardEvictionThreshold'),'\n KUBELET_NODE_STATUS_UPDATE_FREQUENCY=',variables('kubernetesNodeStatusUpdateFrequency'),'\n KUBE_CTRL_MGR_NODE_MONITOR_GRACE_PERIOD=',variables('kubernetesCtrlMgrNodeMonitorGracePeriod'),'\n KUBE_CTRL_MGR_POD_EVICTION_TIMEOUT=',variables('kubernetesCtrlMgrPodEvictionTimeout'),'\n KUBE_CTRL_MGR_ROUTE_RECONCILIATION_PERIOD=',variables('kubernetesCtrlMgrRouteReconciliationPeriod'),'\n KUBELET_IMAGE_GC_HIGH_THRESHOLD=',variables('gchighthreshold'),'\n KUBELET_IMAGE_GC_LOW_THRESHOLD=',variables('gclowthreshold'),'\n\n \n KUBELET_NON_MASQUERADE_CIDR=--non-masquerade-cidr=',variables('kubernetesNonMasqueradeCidr'),'\n KUBELET_REGISTER_NODE=--register-node=true\n KUBELET_REGISTER_WITH_TAINTS=--register-with-taints=',variables('registerWithTaints'),'\n \n \n\n\n CLOUD_PROVIDER=azure\n\n\n- path: \"/etc/systemd/system/kubelet.service\"\n permissions: \"0644\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n H4sIAAAAAAAA/5RWX2/bNhB/16cg0jxsD7SaP1g7F3pwbSUR4tipJDcd0kCgpbPEhSI18mTXa/3dB9pOYslOtyGAQd7d7/787k7M/URyfHAGYFLNK+RKetf1FASgE8JfNddgvEylj6A7BvScp+D0Zgi6LXTuo83pwQnBINPoMbFgS+P4cs61kiVIvOACPBcwdTOYsVqg+7iNFdVpCsb43zhGyLA23sn5meN/gzSyvm41eO6US3fKTEFcVaHL/q41uKmSyLgEbZ5cdUxxAFc+ZlwTWhF3zrQr+PQ58isxaEqO+Izck+NfSlVLJD9IrqEiX4/aHr4ekR9kkRIqfiVUAHlLHsgHggVIsgm9hlM65TLbC78v+EBm/OhQBVs3JXsEagqmYd+b84bEBTeEG8JIxTRyJshC6UemVS0zgoqg1deVQQ2sJLbVWgKCxZgaus4bQgrEynRdN+dY1NNOqsq1/43d7nENMe75ye8nv71ZX1JV2j7Ts5PT89P3785OWoUYW4lZmhQFoQsiATu8mp93MK0SDag5mFPvfRNENyiYIpsKMIQikcwyIbjBg6a8+rmp59ZGr0ndDDHRtSRfHUIolYBeoQxurxXPGlfN51xADtlWoMvtYa5EXYLnZjDv2p+W2CxNd/2jVUtjO6hr2X0+6MUBC9vjTa5utyV4HbAdih3EVtLdjs8BmMq7z4c9x3Zxd9rfbQn2izN63gQ0BRZwPBj3r/0wGd/G0St1LBjLQaJ7wyTLIQsykMhxSSNA5DI33f9uuc2QkOPv15OP/tCPk+Cmd+mvtmJC3GJZgbY5kqeNfFLZ3KwsVXLG832eX3QNiN58Rukr6kpllMuZZvT5W0Z5yXLwjl6SvB0PkmB0EfaS/ngU94KRH24TP2o4Y1mmwRjvbWf919QJoRY7I+yhrmHH4iXaRfAlOT979/Y8OVn9i8Hp6pD0bNWIDNKuI7VPBei94ksm+QwM0ophsTdkT1rTwKWiNgiaZtJ4Lwn0h5Mo9sNkMIpWh81Vybj0tteOUCkTDUOpMqCCTUGYXfpH44GfDHsf/WHUIjwVqs5opdWcZ6C94+/94XgySG7D8edg4IftNKzx0/i0Cl2/Z50/jZLNrlnxzmhoyLlBvfyfbiSgfQdoJeqcyx3ORn58Nw6vk9vh5DIYNfMt2TfboV2Kb3pf7DC2+IU5T+2/DrRgOtsl7qoXDhL/c9CPg/Eoia9CP7oaDwctEtesm/WzT+sqYwh0ZrcGZLr0Wl2I4l48iZLJ7aAX+8lF6H+a+KP+H8181vtD85QWPC8oFhpMoUTmtbY+uewnV8Hl1U5ih93Yxfmpl+H47jUnc+90d3P8XjwJ/eSyF/vR4eUajUfJTS/6NPHD3sBP+sEgPGwY+pfBet4tMatDirsgvkrs5yKOVo5zH0iDTIgH545JhOzj0itrgZzWBnQHmc4BnX8CAAD//xUDyGUQCgAA\n\n- path: \"/opt/azure/containers/kubelet.sh\"\n permissions: \"0755\"\n owner: \"root\"\n content: |\n #!/bin/bash\n set -e\n\n\n\n\n\n\n sed -i \"/--oidc-client-id\\|--oidc-issuer-url\\|--oidc-username-claim/d\" \"/etc/kubernetes/manifests/kube-apiserver.yaml\"\n\n sed -i \"s||',variables('kubernetesAddonManagerSpec'),'|g\" \"/etc/kubernetes/manifests/kube-addon-manager.yaml\"\n sed -i \"s||',variables('kubernetesHyperkubeSpec'),'|g; s||',variables('kubeServiceCidr'),'|g; s||',variables('masterEtcdClientPort'),'|g; s||',variables('kubernetesAPIServerIP'),'|g\" \"/etc/kubernetes/manifests/kube-apiserver.yaml\"\n sed -i \"s||',variables('kubernetesHyperkubeSpec'),'|g; s||',variables('masterFqdnPrefix'),'|g; s||',variables('allocateNodeCidrs'),'|g; s||',variables('kubeClusterCidr'),'|g; s||',variables('kubernetesCtrlMgrNodeMonitorGracePeriod'),'|g; s||',variables('kubernetesCtrlMgrPodEvictionTimeout'),'|g; s||',variables('kubernetesCtrlMgrRouteReconciliationPeriod'),'|g\" \"/etc/kubernetes/manifests/kube-controller-manager.yaml\"\n sed -i \"s||',variables('kubernetesHyperkubeSpec'),'|g\" \"/etc/kubernetes/manifests/kube-scheduler.yaml\"\n sed -i \"s||',variables('kubernetesHyperkubeSpec'),'|g; s||',variables('kubeClusterCidr'),'|g\" \"/etc/kubernetes/addons/kube-proxy-daemonset.yaml\"\n sed -i \"s||',variables('kubernetesKubeDNSSpec'),'|g; s||',variables('kubernetesDNSMasqSpec'),'|g; s||',variables('kubernetesExecHealthzSpec'),'|g\" \"/etc/kubernetes/addons/kube-dns-deployment.yaml\"\n sed -i \"s||',variables('kubernetesHeapsterSpec'),'|g; s||',variables('kubernetesAddonResizerSpec'),'|g\" \"/etc/kubernetes/addons/kube-heapster-deployment.yaml\"\n sed -i \"s||',variables('kubeDNSServiceIP'),'|g\" \"/etc/kubernetes/addons/kube-dns-deployment.yaml\"\n\n\n sed -i \"s||',variables('kubernetesDashboardSpec'),'|g\" \"/etc/kubernetes/addons/kubernetes-dashboard-deployment.yaml\"\n sed -i \"s||',variables('kubernetesDashboardCPURequests'),'|g\" \"/etc/kubernetes/addons/kubernetes-dashboard-deployment.yaml\"\n sed -i \"s||',variables('kubernetesDashboardMemoryRequests'),'|g\" \"/etc/kubernetes/addons/kubernetes-dashboard-deployment.yaml\"\n sed -i \"s||',variables('kubernetesDashboardCPULimit'),'|g\" \"/etc/kubernetes/addons/kubernetes-dashboard-deployment.yaml\"\n sed -i \"s||',variables('kubernetesDashboardMemoryLimit'),'|g\" \"/etc/kubernetes/addons/kubernetes-dashboard-deployment.yaml\"\n\n\n\n sed -i \"s||',variables('kubernetesTillerSpec'),'|g\" \"/etc/kubernetes/addons/kube-tiller-deployment.yaml\"\n sed -i \"s||',variables('kubernetesTillerCPURequests'),'|g\" \"/etc/kubernetes/addons/kube-tiller-deployment.yaml\"\n sed -i \"s||',variables('kubernetesTillerMemoryRequests'),'|g\" \"/etc/kubernetes/addons/kube-tiller-deployment.yaml\"\n sed -i \"s||',variables('kubernetesTillerCPULimit'),'|g\" \"/etc/kubernetes/addons/kube-tiller-deployment.yaml\"\n sed -i \"s||',variables('kubernetesTillerMemoryLimit'),'|g\" \"/etc/kubernetes/addons/kube-tiller-deployment.yaml\"\n\n\n\n\n\n\n\n sed -i \"//d\" \"/etc/kubernetes/manifests/kube-apiserver.yaml\"\n sed -i \"//d\" \"/etc/kubernetes/manifests/kube-controller-manager.yaml\"\n\n\n\n\n\n sed -i \"/requestheader-client-ca-file/d\" \"/etc/kubernetes/manifests/kube-apiserver.yaml\"\n sed -i \"/proxy-client-cert-file/d\" \"/etc/kubernetes/manifests/kube-apiserver.yaml\"\n sed -i \"/proxy-client-key-file/d\" \"/etc/kubernetes/manifests/kube-apiserver.yaml\"\n sed -i \"/requestheader-allowed-names/d\" \"/etc/kubernetes/manifests/kube-apiserver.yaml\"\n sed -i \"/requestheader-extra-headers-prefix/d\" \"/etc/kubernetes/manifests/kube-apiserver.yaml\"\n sed -i \"/requestheader-group-headers/d\" \"/etc/kubernetes/manifests/kube-apiserver.yaml\"\n sed -i \"/requestheader-username-headers/d\" \"/etc/kubernetes/manifests/kube-apiserver.yaml\"\n\n sed -i \"s||etcd2|g\" \"/etc/kubernetes/manifests/kube-apiserver.yaml\"\n\n\n\n- path: \"/opt/azure/containers/provision.sh\"\n permissions: \"0744\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n ',variables('provisionScript'),'\n\n- path: \"/opt/azure/containers/mountetcd.sh\"\n permissions: \"0744\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n ',variables('mountetcdScript'),'\n\n- path: \"/etc/systemd/system/etcd.service\"\n permissions: \"0644\"\n owner: \"root\"\n content: |\n [Unit]\n Description=etcd - highly-available key value store\n Documentation=https://github.com/coreos/etcd\n Documentation=man:etcd\n After=network.target\n Wants=network-online.target\n [Service]\n Environment=DAEMON_ARGS=\n Environment=ETCD_NAME=%H\n Environment=ETCD_DATA_DIR=/var/lib/etcd/default\n EnvironmentFile=-/etc/default/%p\n Type=notify\n User=etcd\n PermissionsStartOnly=true\n ExecStart=/usr/bin/etcd $DAEMON_ARGS\n Restart=always\n [Install]\n WantedBy=multi-user.target\n Alias=etcd.service\n\n- path: \"/opt/azure/containers/setup-etcd.sh\"\n permissions: \"0744\"\n owner: \"root\"\n content: |\n #!/bin/bash\n set -x\n ETCD_VER=v',variables('etcdVersion'),'\n DOWNLOAD_URL=',variables('etcdDownloadURLBase'),'\n mkdir -p /tmp/etcd-download\n curl -L ${DOWNLOAD_URL}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz\n tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /usr/bin/ --strip-components=1\n useradd -U \"etcd\"\n usermod -p \"$(head -c 32 /dev/urandom | base64)\" \"etcd\"\n passwd -u \"$etcd\" > /dev/null\n systemctl daemon-reload\n systemctl enable etcd.service\n\n\nruncmd:\n- /opt/azure/containers/setup-etcd.sh\n- apt-mark hold walinuxagent \n- /bin/echo DAEMON_ARGS=--name \"',variables('masterVMNames')[copyIndex(variables('masterOffset'))],'\" --initial-advertise-peer-urls \"',variables('masterEtcdPeerURLs')[copyIndex(variables('masterOffset'))],'\" --listen-peer-urls \"',variables('masterEtcdPeerURLs')[copyIndex(variables('masterOffset'))],'\" --advertise-client-urls \"',variables('masterEtcdClientURLs')[copyIndex(variables('masterOffset'))],'\" --listen-client-urls \"',concat(variables('masterEtcdClientURLs')[copyIndex(variables('masterOffset'))], ',http://127.0.0.1:', variables('masterEtcdClientPort')),'\" --initial-cluster-token \"k8s-etcd-cluster\" --initial-cluster \"',variables('masterEtcdClusterStates')[div(variables('masterCount'), 2)],' --data-dir \"/var/lib/etcddisk\"\" --initial-cluster-state \"new\" | tee -a /etc/default/etcd\n- sudo /bin/chown -R etcd:etcd /var/lib/etcd/default\n- /opt/azure/containers/mountetcd.sh\n- sudo /bin/chown -R etcd:etcd /var/lib/etcddisk\n- systemctl stop etcd\n- sudo -u etcd rm -rf /var/lib/etcd/default\n- sudo /bin/sed -i s/Restart=on-abnormal/Restart=always/g /lib/systemd/system/etcd.service\n- systemctl daemon-reload\n- systemctl restart etcd\n- for i in $(seq 1 20); do curl --max-time 60 http://127.0.0.1:2379/v2/machines; [ $? -eq 0 ] && break || sleep 5; done\n- retrycmd_if_failure() { for i in 1 2 3 4 5; do $@; [ $? -eq 0 ] && break || sleep 5; done ; }\n- retrycmd_if_failure apt-get update\n- retrycmd_if_failure apt-get install -y apt-transport-https ca-certificates\n- retrycmd_if_failure curl --max-time 60 -fsSL https://aptdocker.azureedge.net/gpg | apt-key add -\n- echo \"deb ',variables('dockerEngineDownloadRepo'),' ubuntu-xenial main\" | sudo tee /etc/apt/sources.list.d/docker.list\n- \"echo \\\"Package: docker-engine\\nPin: version ',variables('dockerEngineVersion'),'\\nPin-Priority: 550\\n\\\" > /etc/apt/preferences.d/docker.pref\"\n- retrycmd_if_failure apt-get update\n- retrycmd_if_failure apt-get install -y ebtables\n- retrycmd_if_failure apt-get install -y docker-engine\n- systemctl restart docker\n- mkdir -p /etc/kubernetes/manifests\n- usermod -aG docker ',variables('username'),'\n- /usr/lib/apt/apt.systemd.daily\n\n- apt-mark unhold walinuxagent\n- touch /opt/azure/containers/runcmd.complete\n'))]", - "linuxConfiguration": { - "disablePasswordAuthentication": "true", - "ssh": { - "publicKeys": [ - { - "keyData": "[variables('sshPublicKeyData')]", - "path": "[variables('sshKeyPath')]" - } - ] - } - } - }, - "storageProfile": { - "dataDisks": [ - { - "createOption": "Empty", - "diskSizeGB": "[variables('etcdDiskSizeGB')]", - "lun": 0, - "name": "[concat(variables('masterVMNamePrefix'), copyIndex(variables('masterOffset')),'-etcddisk')]" - } - ], - "imageReference": { - "offer": "[variables('osImageOffer')]", - "publisher": "[variables('osImagePublisher')]", - "sku": "[variables('osImageSku')]", - "version": "[variables('osImageVersion')]" - }, - "osDisk": { - "caching": "ReadWrite", - "createOption": "FromImage" - } - } - }, - "tags": { - "creationSource": "[concat(variables('generatorCode'), '-', variables('masterVMNamePrefix'), copyIndex(variables('masterOffset')))]", - "orchestrator": "[variables('orchestratorNameVersionTag')]", - "poolName": "master", - "resourceNameSuffix": "[variables('nameSuffix')]" - }, - "type": "Microsoft.Compute/virtualMachines" - }, - { - "apiVersion": "[variables('apiVersionDefault')]", - "copy": { - "count": "[sub(variables('masterCount'), variables('masterOffset'))]", - "name": "vmLoopNode" - }, - "dependsOn": [ - "[concat('Microsoft.Compute/virtualMachines/', variables('masterVMNamePrefix'), copyIndex(variables('masterOffset')))]" - ], - "location": "[variables('location')]", - "name": "[concat(variables('masterVMNamePrefix'), copyIndex(variables('masterOffset')),'/cse', copyIndex(variables('masterOffset')))]", - "properties": { - "autoUpgradeMinorVersion": true, - "protectedSettings": { - "commandToExecute": "[concat(variables('provisionScriptParametersCommon'),' ',variables('provisionScriptParametersMaster'),' /usr/bin/nohup /bin/bash -c \"stat /opt/azure/containers/provision.complete || /bin/bash /opt/azure/containers/provision.sh >> /var/log/azure/cluster-provision.log 2>&1\"')]" - }, - "publisher": "Microsoft.Azure.Extensions", - "settings": {}, - "type": "CustomScript", - "typeHandlerVersion": "2.0" - }, - "type": "Microsoft.Compute/virtualMachines/extensions" - } - ], - "outputs": { - "agentStorageAccountPrefixes": { - "type": "array", - "value": "[variables('storageAccountPrefixes')]" - }, - "agentStorageAccountSuffix": { - "type": "string", - "value": "[variables('storageAccountBaseName')]" - }, - "linuxagentStorageAccountCount": { - "type": "int", - "value": "[variables('linuxagentStorageAccountsCount')]" - }, - "linuxagentStorageAccountOffset": { - "type": "int", - "value": "[variables('linuxagentStorageAccountOffset')]" - }, - "linuxagentSubnetName": { - "type": "string", - "value": "[variables('linuxagentSubnetName')]" - }, - "masterFQDN": { - "type": "string", - "value": "[reference(concat('Microsoft.Network/publicIPAddresses/', variables('masterPublicIPAddressName'))).dnsSettings.fqdn]" - }, - "primaryAvailabilitySetName": { - "type": "string", - "value": "[variables('primaryAvailabilitySetName')]" - }, - "resourceGroup": { - "type": "string", - "value": "[variables('resourceGroup')]" - }, - "routeTableName": { - "type": "string", - "value": "[variables('routeTableName')]" - }, - "securityGroupName": { - "type": "string", - "value": "[variables('nsgName')]" - }, - "subnetName": { - "type": "string", - "value": "[variables('subnetName')]" - }, - "virtualNetworkName": { - "type": "string", - "value": "[variables('virtualNetworkName')]" - } - } -} diff --git a/azure/_output/fabricnlp9/azuredeploy.parameters.json b/azure/_output/fabricnlp9/azuredeploy.parameters.json deleted file mode 100644 index 73f5b91..0000000 --- a/azure/_output/fabricnlp9/azuredeploy.parameters.json +++ /dev/null @@ -1,294 +0,0 @@ -{ - "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#", - "contentVersion": "1.0.0.0", - "parameters": { - "apiServerCertificate": { - "value": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSU1ZekNDQ2t1Z0F3SUJBZ0lSQU9nZmo0elRYakhpenFSYzI4cW9Sdm93RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qRXdNRFF3TVRRNFdoY05NVGt4TWpFd01EUXdNVFE0V2pBVQpNUkl3RUFZRFZRUURFd2xoY0dselpYSjJaWEl3Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXdnZ0lLCkFvSUNBUUMyODIrTXIzaWJmdlhKY3A1WmtBaC8xd2lxcXVqTm1vR1FiQ05CVHkxR21rci8vWnJmeDQvVXZMcGgKL2hNNHNXWUEweCtpK3hlNk9pZ3lHcWZQdWJ4aCtWVzgxeERYMy95SHltM0EyU2VhVjMwcUU1U2RQRThicmF0ZgpyWlNsL2VQODlFb0oyaHNNZGRXbUVlVThtdk5SUE5Hb3RrdnlKWGNXSllub3JpWW5PL3BWb1BRZkNySFh5ZzNEClp6MHZRdUp5VG5PMG44akJHZzd1SmkveGU5NVZqZ3MydVZPeTd1Y3dsZG5MRWh0MjFVbGhNMWNmaHhOazFxS1kKYndIRW51aUZzV21xbisyZERqUXQ4bGdJTzdobWYxUEhwVkFJZWNZNnlZa0p2emFTTjFoeWt0bXM2VjdCVXNqWgpORkJoOXQxT25yNEtvM1p6VmNKdlgyMWwwTWE5ZXpSUG5QZjlMVjdieVhMbUNzNWJxRXRZdDdGRTYzM2hhSFhECjkwbHNuY3haa2RCUitFa3kyMmxNYlo2bEVhK0t3R1d3QS9jL2cyZzlJcVdQT1VkN3RIRlFhejJxQzNaTVJwcUcKNzZIc3YrREhpcVg1L1VUZFFTeDdXdWhEMURqcDgxY3pLcklhdWxyMjQzeS8rdkRNb01GVkpyd0RDaXRsb29iVAp5cWlDbHJaRjUxMEJDMHpZL2hoaW1kWCtBOEYwYnJUYlFneEpVNURTMHNFQlNjV2FaUG9QUExkaSttQW9ycEd1CnptOXZvaUlFeEZoSnhmamx1eXJra3VHOVRwUHhlMWRqdUx4ekFMcWFDUmhuWitjSEp4Y2tEZHhTdmFRb1pJUzIKM1JJSXErZ3phbStyMnNSTGZGem0rRTEwQkFDRXNFMWJWelJsZUNsRnNkYUNVRzgrWFFJREFRQUJvNElIdFRDQwpCN0V3RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HQ0NzR0FRVUZCd01CTUF3R0ExVWRFd0VCCi93UUNNQUF3Z2dkNkJnTlZIUkVFZ2dkeE1JSUhiWUlyWm1GaWNtbGpibXh3T1M1aGRYTjBjbUZzYVdGbFlYTjAKTG1Oc2IzVmtZWEJ3TG1GNmRYSmxMbU52YllJd1ptRmljbWxqYm14d09TNWhkWE4wY21Gc2FXRnpiM1YwYUdWaApjM1F1WTJ4dmRXUmhjSEF1WVhwMWNtVXVZMjl0Z2lsbVlXSnlhV051YkhBNUxtSnlZWHBwYkhOdmRYUm9MbU5zCmIzVmtZWEJ3TG1GNmRYSmxMbU52YllJclptRmljbWxqYm14d09TNWpZVzVoWkdGalpXNTBjbUZzTG1Oc2IzVmsKWVhCd0xtRjZkWEpsTG1OdmJZSW9abUZpY21samJteHdPUzVqWVc1aFpHRmxZWE4wTG1Oc2IzVmtZWEJ3TG1GNgpkWEpsTG1OdmJZSXFabUZpY21samJteHdPUzVqWlc1MGNtRnNhVzVrYVdFdVkyeHZkV1JoY0hBdVlYcDFjbVV1ClkyOXRnaWRtWVdKeWFXTnViSEE1TG1ObGJuUnlZV3gxY3k1amJHOTFaR0Z3Y0M1aGVuVnlaUzVqYjIyQ0syWmgKWW5KcFkyNXNjRGt1WTJWdWRISmhiSFZ6WlhWaGNDNWpiRzkxWkdGd2NDNWhlblZ5WlM1amIyMkNMbVpoWW5KcApZMjVzY0RrdVkyaHBibUZsWVhOMExtTnNiM1ZrWVhCd0xtTm9hVzVoWTJ4dmRXUmhjR2t1WTI2Q0wyWmhZbkpwClkyNXNjRGt1WTJocGJtRnViM0owYUM1amJHOTFaR0Z3Y0M1amFHbHVZV05zYjNWa1lYQnBMbU51Z2labVlXSnkKYVdOdWJIQTVMbVZoYzNSaGMybGhMbU5zYjNWa1lYQndMbUY2ZFhKbExtTnZiWUlrWm1GaWNtbGpibXh3T1M1bApZWE4wZFhNdVkyeHZkV1JoY0hBdVlYcDFjbVV1WTI5dGdpVm1ZV0p5YVdOdWJIQTVMbVZoYzNSMWN6SXVZMnh2CmRXUmhjSEF1WVhwMWNtVXVZMjl0Z2lsbVlXSnlhV051YkhBNUxtVmhjM1IxY3pKbGRXRndMbU5zYjNWa1lYQncKTG1GNmRYSmxMbU52YllJblptRmljbWxqYm14d09TNXFZWEJoYm1WaGMzUXVZMnh2ZFdSaGNIQXVZWHAxY21VdQpZMjl0Z2lkbVlXSnlhV051YkhBNUxtcGhjR0Z1ZDJWemRDNWpiRzkxWkdGd2NDNWhlblZ5WlM1amIyMkNLbVpoClluSnBZMjVzY0RrdWEyOXlaV0ZqWlc1MGNtRnNMbU5zYjNWa1lYQndMbUY2ZFhKbExtTnZiWUlvWm1GaWNtbGoKYm14d09TNXJiM0psWVhOdmRYUm9MbU5zYjNWa1lYQndMbUY2ZFhKbExtTnZiWUlzWm1GaWNtbGpibXh3T1M1dQpiM0owYUdObGJuUnlZV3gxY3k1amJHOTFaR0Z3Y0M1aGVuVnlaUzVqYjIyQ0tXWmhZbkpwWTI1c2NEa3VibTl5CmRHaGxkWEp2Y0dVdVkyeHZkV1JoY0hBdVlYcDFjbVV1WTI5dGdpeG1ZV0p5YVdOdWJIQTVMbk52ZFhSb1kyVnUKZEhKaGJIVnpMbU5zYjNWa1lYQndMbUY2ZFhKbExtTnZiWUlyWm1GaWNtbGpibXh3T1M1emIzVjBhR1ZoYzNSaApjMmxoTG1Oc2IzVmtZWEJ3TG1GNmRYSmxMbU52YllJb1ptRmljbWxqYm14d09TNXpiM1YwYUdsdVpHbGhMbU5zCmIzVmtZWEJ3TG1GNmRYSmxMbU52YllJbFptRmljbWxqYm14d09TNTFhM052ZFhSb0xtTnNiM1ZrWVhCd0xtRjYKZFhKbExtTnZiWUlrWm1GaWNtbGpibXh3T1M1MWEzZGxjM1F1WTJ4dmRXUmhjSEF1WVhwMWNtVXVZMjl0Z2l0bQpZV0p5YVdOdWJIQTVMbmRsYzNSalpXNTBjbUZzZFhNdVkyeHZkV1JoY0hBdVlYcDFjbVV1WTI5dGdpaG1ZV0p5CmFXTnViSEE1TG5kbGMzUmxkWEp2Y0dVdVkyeHZkV1JoY0hBdVlYcDFjbVV1WTI5dGdpZG1ZV0p5YVdOdWJIQTUKTG5kbGMzUnBibVJwWVM1amJHOTFaR0Z3Y0M1aGVuVnlaUzVqYjIyQ0pHWmhZbkpwWTI1c2NEa3VkMlZ6ZEhWegpMbU5zYjNWa1lYQndMbUY2ZFhKbExtTnZiWUlsWm1GaWNtbGpibXh3T1M1M1pYTjBkWE15TG1Oc2IzVmtZWEJ3CkxtRjZkWEpsTG1OdmJZSXVabUZpY21samJteHdPUzVqYUdsdVlXVmhjM1F1WTJ4dmRXUmhjSEF1WTJocGJtRmoKYkc5MVpHRndhUzVqYm9JdlptRmljbWxqYm14d09TNWphR2x1WVc1dmNuUm9MbU5zYjNWa1lYQndMbU5vYVc1aApZMnh2ZFdSaGNHa3VZMjZDTkdaaFluSnBZMjVzY0RrdVoyVnliV0Z1ZVdObGJuUnlZV3d1WTJ4dmRXUmhjSEF1CmJXbGpjbTl6YjJaMFlYcDFjbVV1WkdXQ05tWmhZbkpwWTI1c2NEa3VaMlZ5YldGdWVXNXZjblJvWldGemRDNWoKYkc5MVpHRndjQzV0YVdOeWIzTnZablJoZW5WeVpTNWtaWUl6Wm1GaWNtbGpibXh3T1M1MWMyZHZkblpwY21kcApibWxoTG1Oc2IzVmtZWEJ3TG5WeloyOTJZMnh2ZFdSaGNHa3VibVYwZ2k5bVlXSnlhV051YkhBNUxuVnpaMjkyCmFXOTNZUzVqYkc5MVpHRndjQzUxYzJkdmRtTnNiM1ZrWVhCcExtNWxkSUl5Wm1GaWNtbGpibXh3T1M1MWMyZHYKZG1GeWFYcHZibUV1WTJ4dmRXUmhjSEF1ZFhObmIzWmpiRzkxWkdGd2FTNXVaWFNDTUdaaFluSnBZMjVzY0RrdQpkWE5uYjNaMFpYaGhjeTVqYkc5MVpHRndjQzUxYzJkdmRtTnNiM1ZrWVhCcExtNWxkSUlLYTNWaVpYSnVaWFJsCmM0SVNhM1ZpWlhKdVpYUmxjeTVrWldaaGRXeDBnaFpyZFdKbGNtNWxkR1Z6TG1SbFptRjFiSFF1YzNaamdpUnIKZFdKbGNtNWxkR1Z6TG1SbFptRjFiSFF1YzNaakxtTnNkWE4wWlhJdWJHOWpZV3lDRm10MVltVnlibVYwWlhNdQphM1ZpWlMxemVYTjBaVzJDR210MVltVnlibVYwWlhNdWEzVmlaUzF6ZVhOMFpXMHVjM1pqZ2locmRXSmxjbTVsCmRHVnpMbXQxWW1VdGMzbHpkR1Z0TG5OMll5NWpiSFZ6ZEdWeUxteHZZMkZzaHdRSzcvL3Zod1FLNy8vNWh3UUsKQUFBQk1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQ0FRQ2RYSUdwRFlmM1NpYTNQKzh5RFhwSEFwUGtxaXlSMmFNWAp3YmQxT2NiQ0JHS0dBRU1JZy95VzFFdFFZaksycjB4Z0FSN3NES2lIZGxFb3U3dVBHY1NUWVJrbTNlOFVnM3FZCm11bjJCK2t2YnZHV1ZzLy9hVFJmOENwais0WkJqRk15b0ZxR2VaUEQrMVBmVGRITC9tRitORXNiVmJjMHdxZFUKTzZVVVJ6S2pPby9nSExIdGx6RTBxdUhjM2VTYWdtQXdBY3lZNWp4Y3NaK1pZS2VTMklaRUFSTXg0S20wWmppZQo5WnFNYUkxMUUzQnk1ZDZmY2QyYU1sSzVHZWhtRVZuQzdJd25vWm1UNDhEbDd2b1pDaHNreFRRSStrVFlNSDFSCmVYRjhlZzU0MU0reFgzQ01JQU1oc2J6clZUWWdsZk1HMkMrVlBNMTg0STRWWXNtTmpWRmQreHNSeE5TUTByaEEKR2lDOW90c3BxQmpncUJwc3lLb3ovYmNrMWExSHNmM3l1MmpMQXY2aDRXblRoeVFOMmhReXpIL0hFQ1B5VHhNdwpFdmVJQmVIOFhJd1FtOXZDSExiTGcxZEgwNW9CSHgwSXZ3dzB0K05zbnMzK05BSjZiQTNjMzBYckhwa3RzVXd6CjAxTzMwRDgxVWtMcXRkaUZDcEkvN3RDenp6Lzlwb0dRS3RFQW1seFJUazJHVWhYSGk0ZFIxUk8ycWh3UGJJTzEKOE1JZ0pOVG1TR3hHYzVwN1F0MENKcnVYZnJQRnJNaURENi9reVdqRFR5aWpVanQ3V04vVzZ0aUhieW01c05uUgpOMXh5NVk5a3JQeHFVQ2JSVVNySXk2WXlBd2p6QXRlanpvcVV3eENETlc4QVArR1NTSGcwclRzams4cjRsSnJVClZ4V0VOWmszQXc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" - }, - "apiServerPrivateKey": { - "value": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS0FJQkFBS0NBZ0VBdHZOdmpLOTRtMzcxeVhLZVdaQUlmOWNJcXFyb3pacUJrR3dqUVU4dFJwcEsvLzJhCjM4ZVAxTHk2WWY0VE9MRm1BTk1mb3ZzWHVqb29NaHFuejdtOFlmbFZ2TmNRMTkvOGg4cHR3TmtubWxkOUtoT1UKblR4UEc2MnJYNjJVcGYzai9QUktDZG9iREhYVnBoSGxQSnJ6VVR6UnFMWkw4aVYzRmlXSjZLNG1KenY2VmFEMApId3F4MThvTncyYzlMMExpY2s1enRKL0l3Um9PN2lZdjhYdmVWWTRMTnJsVHN1N25NSlhaeXhJYmR0VkpZVE5YCkg0Y1RaTmFpbUc4QnhKN29oYkZwcXAvdG5RNDBMZkpZQ0R1NFpuOVR4NlZRQ0huR09zbUpDYjgya2pkWWNwTFoKck9sZXdWTEkyVFJRWWZiZFRwNitDcU4yYzFYQ2IxOXRaZERHdlhzMFQ1ejMvUzFlMjhseTVnck9XNmhMV0xleApST3Q5NFdoMXcvZEpiSjNNV1pIUVVmaEpNdHRwVEcyZXBSR3Zpc0Jsc0FQM1A0Tm9QU0tsanpsSGU3UnhVR3M5CnFndDJURWFhaHUraDdML2d4NHFsK2YxRTNVRXNlMXJvUTlRNDZmTlhNeXF5R3JwYTl1Tjh2L3J3ektEQlZTYTgKQXdvclphS0cwOHFvZ3BhMlJlZGRBUXRNMlA0WVlwblYvZ1BCZEc2MDIwSU1TVk9RMHRMQkFVbkZtbVQ2RHp5MwpZdnBnS0s2UnJzNXZiNklpQk1SWVNjWDQ1YnNxNUpMaHZVNlQ4WHRYWTdpOGN3QzZtZ2tZWjJmbkJ5Y1hKQTNjClVyMmtLR1NFdHQwU0NLdm9NMnB2cTlyRVMzeGM1dmhOZEFRQWhMQk5XMWMwWlhncFJiSFdnbEJ2UGwwQ0F3RUEKQVFLQ0FnQlhPRDlhQnQyczVCNHhaOTl1TzJpUjZlWkwxeWNkdmljK3Z3OGZ0NnVTR1VUZ1BmdHo3Q1A1KysrdgpmLzJSN2FEL2k2ZHRmOStUL04zazVTaFRzK3pIbUtMellHUzdSaUdTYTBOZnlTZEVRYWwrUWM5OEZxQndSWitLCkFhcjRaODRsYmlGT0NSa1VHNms3ZnhTV2pCaXNCaDYrSEFxZzZwT1hqMVhzQS9wVWdoZWFjeDF2SHg0aURrWDUKZm1LQkFaWUxnTE5RelV4Y0l4d3pGU21PS3N1WVpodWFmMGdUNmlsMTFEcjh3U2t1d2dnMXV0QXlTNmRIVDd3OApoOCtEK1c1SkxvZDl2TGovUXlKRk5XQWFyTDRBdjNzbGx2NU16Q0ZoTFd1VHBnRlNPK2lDMXRmSHc0cFZDQzZRCnZvd0Q2RGtobmpSanhnSldnZkFzUUlaYkgrbGU1YnZJd1BFNFRpRTZWUlpMMVdJRElUNXRQcnRZMHMrK1RVRkYKUXJjUXp0QWlKQll2VFBKV2l0UlNmQmY1dzUxOEd6MnpCNDlnWnpMOEk1T0xzdW1IdkZkZWdkMFhBYnl0ejlYZgpXRlluMmpYZGt4SEI1Qm5lbXdEUlZCaDRoUXJTNHh5VUEwSnI4a2RGajdoamozYXBBSUtSWHBheDJldUVTRm01CnNsZnFSYlViYU5yMUVReEUxbEtVS08yZzRjdmE4eW51UUI4OE95ajNuS2x3YmFXblkyMENtT2x0Ymc0enliWDkKcWlFeVM5T0JKeTdJR1oyc2tScjA2ZjZLeDBBQnFrMkM1K3ZjZHliSGd3UmVmR2xLVjJKdUx3aWkvTUhTOExzZApRQVFPSFZOMzlDOFF4Z3NtbDYyMXc2VE5Ld2xYL0t3aWI0WEtkd3VqNDllNlFZWVNBUUtDQVFFQTBJVVV5NStECmNONUVGNFZBN3BSclBPQ2paWU9jMll2cVBOVUhmOGl5UzdpdFBzVWJWdmRjZldpVGlEOENNenRFVHN3S09vdzEKQ2VKcFplS044YXVuMlJNUXBPbkVKbjNyM1dmNjZwZmdPNnV0aTcyRmpYQThobGE5eDFhS2hpSGlGM0tOUzBPQwpNWHRoanZIYXpDR2xBUHNKVC9XVVZYcXVScVZveElTdDBVRFluWXkxZDhkWmliMXR6NXhBUnNWcFpjR21UdXVpCmhGZlpTcnJIN3hsTTVFV29oMkE3MkVCTHBlTk9Bd0xDeWtpN0ZSMGFIYTNuZVIwbUkybU1KcVZ6dGpGZlhaeGEKYWM4TG5rRlFEL2JOM2Z5MlliWGdwUWVaMmJCbjE3U3pQMFJjQjBnS0JnZXQ2RzBYd1BUdWlzSEJ2bUVXbEZnaQpHek5Fc1FWVUlGK3JQUUtDQVFFQTRKdm53d0hQWVlJaEVON0thUGYxMVYwRllRMlMrb0hGSGF0bVp0RnNDa3NlCmt1S3ROdlFqemFRd2pUREpXVzN6dHlwTGMxVkhjbEZETnVvREtSWDBwZzA5a1pqaGVzQldGVE1UKzJ5UkhrUHEKMDJ3SkpyN3hIallZSDlRV05TL1haeGNIZWRnemZGd280MndvcXBSYW1FNDZobEJQYnlITlltTGNHRUE5ekxUMwpsR3ZiNmdqZjQxVjJhcE5VekxYTk93NEJMcXFRSENxeCtNSmZVSGFUd3hIQ01zemI0MFF4NjRlK0NWZ3dFQ1BvCktMRjVkanRvVTF6SGFHVUxwY01YTTA5Rkd6RmRiSE5xcmJ2SEkyK1A1d2xHVEcwWEt6aC8xcWIzTVdjTTJjeFgKQTJWNEtuRXlXWmlWMFR1Ym1QdWRiMGlaNFBwbU1nSm12U1F1TmRPUm9RS0NBUUJ4dDdJd25reVRtRk93TkJiRwpSaUQ1c1ZUSy91emlZNENhTGwrSm04MUlxRzJxNXRuVEl0SEkvdWcraklaSnBFL0xYVkZTdnJZS0x2VG1BSmtDCnJHZThaYjVWQWJ2Y2RoM1V3R2xCMlJRTDFzT3RpdTB6eG5ycmxKQ3BEcFE3TkcxVjlqNENSczNRNklXNjdFRXoKeEVGMWVIS0tyZFo0aTVCUnJOR25JdWljVHU0VGRmSmRZVlYrWGRWdVBMdDlIUm91eVY1R2VoRkdkWlptUDlqYgpsNE9zbGlTanQ2TExlNzBGdWlJSVdGQWMrMjh6dzR4RGxWekFXMW82UTh5UUl2a282bUlrN2lrTXZVS0x5dmk3CnpCQlh1UU5KNUdPZi9MWTExeE82dXF4cW00Qkk1RXU3SUNNQ3Q4UVZrajRwWkNPaUROYkFqaFFEbTRFaHZWTTAKMkpmTkFvSUJBUURPWm5aVGZSWlZSSCtlUVIwLzJKelB0T3Q4aER6TWR2UHNqOVZLSnFoaHpTWUxWTUpYL1lIcApOemhtaHE2QXY4bDJTQ2VObEpCVFBObkhYTVFLdldKVU5WYWV0UjUrN3NBc093UGh4NktUYlZZZGN1bjE4UUVpCkFoT3BLL3c4WS9wTmdad2RHOUEwTjN4YmdNamQ5L1pJZjVySVVvU3NXeU9oaGJjN2tjMDRrQlB6RUNyR3BlRVgKeHpGS1BwbHVoS0pUNGtxejE0a1dXU1d5c3V0anhaT0RibzVHb0hwd0hmckJ0YnVzV3AzUU55N2dOamFucjIvdgpLeE1UbThkWVRDN0Z0OUtKYXBPdlZXQnl4bHY0OUV3SXd6MFdmaWtNVHA4clljTkdZcXdzZU5wOUJJR29mdDBGCitIRzBGRktvQXBCcDh3MTA4S1Y0enp3YUUyVmprVWdCQW9JQkFEZkU2ZWFvR0N1VklwT3Iyd0gwWXhLaTllRDUKdzdDbHhlc0o2ZGVZRVduSmhXcEEwT1BoWjBDZDczc0NyUTRnSjdvN2hHeFIveFRUSnk1cjBBcUR1NVBpOC9XeApRTVNHRnozVFByV0ZwNEhIQVRqeW9uTnhpTHB6K1QxejUrZlE3dUg5M29KQnJCcmFHODN2VnB2MEQzaWFRMi9FCjFER2E0Sk1PVFJSWVpucXBNSXErZlBNSE9aYlJLeFVkeDM4T1U2MVlXWVBWRFh5UC9sWjd4Z0wwVSt0V1lmdG8KN2doSFNYQ2V2MjNRWFpSeS80RXpYVnVXTlVlTFd1K3ZMeG9YdW9lNkpJQkROQW1XN3VhVnpsS1VhRlZ0VTFMSgo0Tm5WYzFEOFZuK3ZBclFOVUVnWkZsYWQ1WE5PbEpxVlZRaXNKNmlWNHZCNUkvMEJwZlBPdHFzTyswZz0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K" - }, - "caCertificate": { - "value": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRVkZsMU1sZDA5L0xUazJRMk5JWG1GREFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1UQXdOREF4TkRaYUZ3MHhPVEV5TVRBd05EQXhORFphTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFzZmxGCmNvZCtwMTB4REdUM2ZXWm12K21OYXRhU2w4MFAzNTkrQ3JFWEY5OHYzaHdsQyt6eGpFRXhpZEdHSkdBcWpIc3QKdFlOREg5aG81bHdSWTROamJKcUJJZ3cvcDZ5RXB5WGg1MVliRFA2dDd6bHp3UVMyRjlJKzJ5aG02TWd3V3dSTQpkTmxHb1pzamFrbFJucTBWbXZ6eVk4WGVCVi84TllRb0QzNE1OdVZXVjZ0R0daeWZpdDFFT3YydCtqTnNLdXBRCm4xRGh4RGJkNE9LT3hvaC9md1hnL0tHU1gwWlRyUUY1eUV4c1VOaFdyQncrQnZ0Q2twdHc2aU1hT1Vhb0tVaDkKczVrTTA3clhCY0xmU2FuZ0FBVHZTMWQzNWZmaENZQmxseGl4Sk11QWFMcFNLaHlzekR2Z1BEV2dnUjcvRVZZUApaSDlMSlgwL20vT25DcFl2eURkUE0zeEhLd0pvbkdYS0tmMW1UTE5GUjE2b0YxU3N6QlZWZFNXc1FSSHNCTkdVCmMyZEYvRjZKaDBEV0JQZ2pINnJDOGhFNWFnQmY1Z09oa1hJVnJwZXo4cGtiUmRTampEbWpXWFkwMjkxY2lIRWUKdXlCWFh6MlVoeEJ6c2Y5QmVFUm5LTTBnQ2xLeEtid0dGTjRlc1djTzBEcEhlNm1YK3pnS3ZvSytIUHlVczhnUApkOU9wMU9zZWRIQ0NKWFl4TlIycWw0OFVBcmpENGYycHYxY2ZFekpORWpjb1FwbXlwSmtwUTRjbUZWMnREdjhhCksrS1NYajJvNEVwN1dJVFBEVWtuU3llN3pPamNPeFNmTG9XeWtldGcyZjZnSWVqemFJUm9XbVNkMlR0OHlwRUwKOVBkcXNKVWljbnkzOXNPcUNLYWxMeTRrdThWZ1FQMHVadDFPYW9FQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFGbU5NblhrCjN6YkhHeFNNRTR0bzJsWWJtQmZ1eGFpYlJhYnJpdExZMnEzUkpXNEhxNUVSZC80bm43TmRLWnZBbEh4ZXV2TTYKS1IxWTV1VGp3YjlZckp0VUI4eDlXR2w5R1RhVzNhZTlRZGR5Y1RHMEh6a1owWGFEcGp4ZExWcmVlWUYvRlBTQwp6djVjanhDUytqa3AzM1dGWm9nT2Z0Sjl1Nk9yKzNZV2NVeFBTV1JLeTZTSmVJN2pnWHlnM1hhZk9FbmI1bFJDCktSRit2dFk4cWhsT21uWnRSM1BaTDdsWGNDZGhqZFpRQ2Z2eTdaWVpmajIwckxJMFZVOWtoTFJVSWt2MDdJd0EKaEwwZkRXRVBnek9oM1JBOE1nMityT0EvUmJBVE45U0hCMEYzZXNpa2V6OUxmei82QjVLTitqRyt1TStEZjFxSwo1QlpSYnc1alNsQU9wZ2dBbzJhbDlBUVFIekdpRDRsQnpscy9wVFRFQXBERVVqempHWjY2WlhucTVrTDBjU0xmCmhwQjNPbDY4cldySVRxRDNSK2dJZDZXRGRWbVN6QXFxYnJVRHNQVXVjNWwvcFB6MWFBSjQrSlh1aFd2MzVXSXgKWTRscy9GY3VORks5bXhUS0dOeFdsWnh6aXpsK0tKenIrT09YaHAzQkhaTFpwRFFudmI4YnptZjRxNmFubGl1SQpsWmlRbEk4UUp6cWRpVEtNYTJ4dkMxTm5TS1ZNNHpISmZFWEliQ1ptMnkxQXNoQkRBSDFoczAyci9wdXlsM3QwCjdKcVQ3Y2VDanZESy9uRjQ3RUZ1c2tzV0dQMUJpRXlONExxbFJWeXB3MFA1MlFsMDJuRHFZbnlzSXZxS051RGIKQkJ2aUN3ajMzUGhCSldlWjNoNlBkaHNObUY2SVEwNjI3MVp4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" - }, - "caPrivateKey": { - "value": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS3dJQkFBS0NBZ0VBc2ZsRmNvZCtwMTB4REdUM2ZXWm12K21OYXRhU2w4MFAzNTkrQ3JFWEY5OHYzaHdsCkMrenhqRUV4aWRHR0pHQXFqSHN0dFlOREg5aG81bHdSWTROamJKcUJJZ3cvcDZ5RXB5WGg1MVliRFA2dDd6bHoKd1FTMkY5SSsyeWhtNk1nd1d3Uk1kTmxHb1pzamFrbFJucTBWbXZ6eVk4WGVCVi84TllRb0QzNE1OdVZXVjZ0RwpHWnlmaXQxRU92MnQrak5zS3VwUW4xRGh4RGJkNE9LT3hvaC9md1hnL0tHU1gwWlRyUUY1eUV4c1VOaFdyQncrCkJ2dENrcHR3NmlNYU9VYW9LVWg5czVrTTA3clhCY0xmU2FuZ0FBVHZTMWQzNWZmaENZQmxseGl4Sk11QWFMcFMKS2h5c3pEdmdQRFdnZ1I3L0VWWVBaSDlMSlgwL20vT25DcFl2eURkUE0zeEhLd0pvbkdYS0tmMW1UTE5GUjE2bwpGMVNzekJWVmRTV3NRUkhzQk5HVWMyZEYvRjZKaDBEV0JQZ2pINnJDOGhFNWFnQmY1Z09oa1hJVnJwZXo4cGtiClJkU2pqRG1qV1hZMDI5MWNpSEVldXlCWFh6MlVoeEJ6c2Y5QmVFUm5LTTBnQ2xLeEtid0dGTjRlc1djTzBEcEgKZTZtWCt6Z0t2b0srSFB5VXM4Z1BkOU9wMU9zZWRIQ0NKWFl4TlIycWw0OFVBcmpENGYycHYxY2ZFekpORWpjbwpRcG15cEprcFE0Y21GVjJ0RHY4YUsrS1NYajJvNEVwN1dJVFBEVWtuU3llN3pPamNPeFNmTG9XeWtldGcyZjZnCkllanphSVJvV21TZDJUdDh5cEVMOVBkcXNKVWljbnkzOXNPcUNLYWxMeTRrdThWZ1FQMHVadDFPYW9FQ0F3RUEKQVFLQ0FnRUFtdFY2amNGRGR1ZWtuRnZhMU1ZWjdpeUtVOENKbUhkV3IvNVo4WU5QeS96bjhCd2NQdHZNNlhCdQpZTEJnTzVWT2J4bGJFdWMzcHFUbjNrR0svMEIzWnl5ajI3TThUZXZSSEhuZ3B4cEtQbXZ6ZG9STktFZXBBK0J0CnZzelBld1Z1ekVCWkkrOURlNlUwa210bkR0MFdSdGg1S0VRa2ZCaWRteEYycU1QSWJKbnBIQ3h0dUNxQ3dwVHQKbjBURDcwQjlnbmlIMjVMS1Y2SkVOam5rYk9Tanh5YWVMaXVDNUZDU3k1alZFbVVxZHNzLzNFeFZ5azBlQmQ0bAp4Z3p6NjVDRkRDVjg5cHJZaGZ1dXhkeGIxZ0pzVnBmMGQxK0plQkRIUHpUdExSN1dQbVN0T20rZXUvUm1nT2cyCmxTc3lrQ01mVlQzQjluU29NOTFiVVpvUVlTMTRNd3Y2bVJYZWRaaW41emh5MXdDK0dmNWh4WUl0Z2lkMlZlQ0IKS2MySm4wU0pablFNdE1kMVJubUdZN2p4MlJZQ1pibUZySW1TT2ZFZVVIaE9Tc3QreHBJOG84RVhRb1VMdncyWQpZVkY2UGMwdEpDMkdaM0Y4cGVTR2ZCa0xVYWVXSjNXQ1ZsNC9IZ0c3WTZDd0QvRUZCS3VxRXE0elRtRHorQ3d2Cm1KV2VITWhYZzY4WFA5di8vV1A5L2dIUk1WOG9zeXVHekdmdk42RFB1bHRyWnQvcTFWeFRNQTk0YWJLcHd2NDcKOS9BMEIrbDVMQlJ6R2FSZ2YyM2dBRHhpUEJtQU5jNmpYZkwxOGVqTFFHSGd0amNqenplbGZCRC94a0F6NEFyaApHZVlpN0hzRW5URng4VFFIU2ZFZlBXMVNySGoreWg1a1Z6RTVtR0pNSHVUZmtmdGJBT0VDZ2dFQkFONEd6TTRJCjNrQlhKdy95Y2RwdFE4WHZ3RGJqWk1qTDdwbXk2L2k0cmdHOWU1Z0pUek11UExkU29uckRWMnBoWTduS0ZVYy8KWW9TdmE4S1FoT0l0MkVSdnU5ZGl0TXpadWQxK1k4TjE4YXY0RHJRZE9UaFFkSkwwOWFvTTVDa3VxTS9vN2dZNQpZTW0rajF4U1hZTUNEVmp3QTA2MENtNHpkd0k3cjdxYmVHYXBrV2ZCK0M5V043TWdYbDFGWGZ0c2ROL1kxR1Q0Ck1GSENaQkdyTzd0U3Rtb05CY043V0JoUkJhS3hrRVowRkFzMnVNYjg2dlBuR1lFcjExVVFpZW9xVkMvcGVsb0kKMjJ4NG9Md3dlOXUwQ0RoQ01xa0xNc3ZQbkZNWmcwMW1HZmk1UXZySVY5c2o0bnRwTkZSMlQ1WFZVbFZRcWcycQpjdkI3VXdVS0tYQk0wTmNDZ2dFQkFNMDAxb2habm9Qd01ueXkxUWt5QnZlZ1M1NWNubFpSNFhCMzJsTDVuNUpRCjVkWmEzSStTTlZUbWhJTUZqdUVBeXQzR2xXSklMTUM1MkhFaC9VQ1dlRDgxZGJ2MTFGTWVyb0dLRkNaYS9VVFoKQjI0QnZKQlVIR2o2Y1M2ZTd6cUJoUERwTjVQVm5nQTdHZFd1aW55L0ZJMS9Vd0hrSWlkTmp3VjJQaUx5UDR6aQpJdUtrYmRqWGlvWEhqUlAremFmN2NqMmhoYjlXeEtVZEsvbUx4ckVYVGFDOGEwU2VVODdxb1I0ekVOZEF5UjV5CkVzWEpFUHRXemRsb0I4b2ZjZng0TDRmNkRPZWRsY25ZUTlQaU55TC9zZGVxT0ptOWZhUzZNVWEvTml4MTZaVmYKME1PaWQwS1p5ZTZVSk92TmxwcUNaL1FXNUlFMHZKVmVNSFBJd2V1c1BHY0NnZ0VCQUpVbXlFclkxa1V1eHdVRgpmOHFXZ0dMbURxQlEzaEd1UGRsdXd1clJWY1BCZ05lLzJUNnVud2NnTWhwNlE2MHBRNDg1M0ZXQ2xUSkJqZ2lrCmdVQllQK0twbE95NldHOE5ETGxwQUtmOEFaL2ZBakdwT0JsR295bGQrZktFdW5tWDZMdlM1S08xdy9tRFZGZFcKMVk3K3YreXhQK2VOTnp5VXdpdno0TGRoWGQ3SnB1Nm05WTBIUkYvSExOMUhqajBxdk5Ecm5yTTlyMmdkU0pBKwpFZUJqVGp1c0IrVXNaUi9ndmdKdmVsWjZBRVVRTzgwaGRzem13TkZ2bkRaKzU4Y3hMR0VMWGJCQ0p2V1ZpNVVnCmxQUWcyeXkvKzd4bjAzWHJRRDdxOHJQNkZSUnJrRDFjZlBpd0FLT2JKeFplYkZSaGUrL29RblR2dmtzaTdjQ0MKOVJlRjR2MENnZ0VCQUlDajZ3azNCVVE0dzYyZ2ZpUnhsQ1NQL0ZlZVFEUmt5Q3ExTjh4a2FFQlZMb0FlSGI1egpMYk8zZnNLVUxXbW9FWVRPQkwvRDl5b3FWeUUwNllvZnllbjJIWVJqSzJPZ0RFMXd2Z2o5YVdCTG5YaTg1ZlNrCmhkclpoVEp3dUErNU9obThXZmIzSjBHRnkwQkZWdE8xQmJGZWJDNzNVT0hLb1NvUFlneU9TSUNORXNsNXd0TDQKN0FISmd3dFI1S0sxNG52NFVkd05ET0ZsVkRmd0EvTG9aT1dxdUtRZmpQSmQ2L3Ira0VRZ2ZQUDFGd2VlY0dMZgptOVA2ZjBlYVJ0NjZpVEY0ODdZTzkrTzlDMmc4bTh2NDl3ZjMwZHV2Q3FERmlEYU5qK3gzVHFNeG1iSEttM0RJCjcrbjhQTmtGM0srbnFIdEFEcWRnNUFmUE1CaWxkY3ZFQVdrQ2dnRUJBTUQ0QTkvTjFuRGdZZzg5bXRIdW02YTAKa2xjR1RSNlJtak5BeDlId3M1M0ltZDZkQXM0aU5lazRuMGJ1a2pDS2hEdXJBZmNXeGdvbTd3K05SSDkzcHR2YwpsSTJtcC9ZbjVZcWNYSURpSkdyZno0emxXTkhqTFRPMCtTMGNWM0d4b3JSWll0Y1FRd2lwYzB6Nm96MTdzZ0RrCmh5dmpBUU9xOEtIaHhxeXJCaGdIYTkvQk9TNmRJa2hxU2Y0Y1EyMnQxSnVPY29NMVA0emNoK0xyY1FiWlpaZVMKZGVYUTY5OFZrdVpLOUhjQ21wY1lZSlJGTmZrcWszMWNvK05YeXN3ZGRIQld2U25kUTBXaWFneHVoeE9lT005bQpwYmErbWF6K2JjN0VIZTdJandnL1ZLbFJuMjUrcVc2dW4zQ3BtOWswOXJnbmMxbU1SUlJwcVVHTjJ6VUx0K1E9Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==" - }, - "clientCertificate": { - "value": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5akNDQXQ2Z0F3SUJBZ0lRTURvNngvSWprYUpiVkt4VW5xVHJ2REFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1UQXdOREF4TkRoYUZ3MHhPVEV5TVRBd05EQXhORGhhTUNveApGekFWQmdOVkJBb1REbk41YzNSbGJUcHRZWE4wWlhKek1ROHdEUVlEVlFRREV3WmpiR2xsYm5Rd2dnSWlNQTBHCkNTcUdTSWIzRFFFQkFRVUFBNElDRHdBd2dnSUtBb0lDQVFDMy9QNnQydTV4RGxzTGRTbVFwR2hIOXFwUnI5M2EKRm1sNStWOWYyTFFYOXdYRCtqZk50cW1HSmdlODM1MWVlTnI2Q0d6SEZtaVRZekErLzFjWGRKYVVqSjhVTE93TAp6bGJXeGtWNEZCdnROUFFSc0ZXZ0Q1ODBSS2xVTG1GbVRwQzBERzMvY3diaGpJTEJhbnJGSVoya1VGeGJkRU9tCnU1R2ttajl0akNWNlVXR0NERnpoRzNMeXdWUm9UUC9IeWRDOU5lTGpUVUw4QS85UU1ramJRV21FZHZHSWkvcE4KUkZ4K09UcHZQei9iQVFuUHBJM2NLOCs0SUNrbHJYT20waW9ueGROa2tybjg5ekRsdjlrQk0zdjh3UnFxbXFNNwpTSjlSSUluMzZMV3JzUnZ6MXpFdGhnZ29acHRCUFFad291dmg4Z2QzbTFJSEg3SEREbFY0RExwa3N1RWhQV1RXCkhkTEJpbXRCdWxkTzdHTDRiM3JiaUYzVWZCdjlCNVVsRW1xN2hVYXB5dTdGWVV0aWR4RXg0TkVVVFFHMXIyUWgKQk9sbzd2Ym52c2VhTkhEczFPTUYxNDB6R3lJTXI2RnJGQjg1d0dTWHRIYWZTVXUrQ3ZEQWg2ZDZpMTR4SHVCaAp3QittT0tVcGc1YVVkcUJFbE1weU03elpPR3ZjbUhFL09vMFhDTTkvWURadTl2Zk43d0JlMlA5b2FKcExrcDAzClI3Mm5qcndEWVBwQXVDRDRLSk5SamtkUjY0WG1TUkVpRit5UWs4S2RkdHpDc1NTQlZPcDlRWlJkSGtjZEc0QTUKcmVZVTA5UkdoV0hTU2RqTm81R0VCb2pXK1BOMlpYMlluT0NHb3RBOE5JeElZRUhlUThZYWZNUUV6aUdvc2VmLwpxYnJHM2RFVEUwckpCd0lEQVFBQm96VXdNekFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJCkt3WUJCUVVIQXdJd0RBWURWUjBUQVFIL0JBSXdBREFOQmdrcWhraUc5dzBCQVFzRkFBT0NBZ0VBRVRCa2REckoKemtZZFpNY3oyekVpanBoeWE4SGFCUVZ3dXlOL0I0bERFU215eUVnc1Q3N2ZkOW9XRFBERStSOFZVODQwV2VBQwpOYUdtaFovMzhwNHhxd2xwU1BKdTU3SUpIRnIxaUhNZEhrTkZEeWFYNnlxOUtadjhveFovNVd6NDBmOGJuNC8zCk8xMTMycTZKd0Zhd3RWeHZVM0luZmxKUWxKVDVtRnBra0ZqYUlpRDh2UzJ5MFVDdzJTbGNyTHUydHQyQ3pmdlQKVXh1WVZLNXRRdDdPVnpGdGl4RnVlclIzeHZIZXExem9SWTVkaGJYaE4xRUt2SEVMQ1dMWi9OSThIK1U0U28xQQoxaGpUUHpVbXg4NGtodmsrZ2ZXRCtvTFBGNmYxOE9qZG9DTmpaclFYWVZMaUdZNnNhbUpBR1FPeEh0RlRvTUdzCmZkUEQxTks0ckgzWlBqM3I3NjUwaHAxQVJzSW9WTWY2cEhpYnE5Mk5KKzQxOVRsYmdJTTFVVGw4aU5abVVHZS8KK0F1WEg2V1cxeGFCYVlMMlBlbVpDTWI1RHdpdjMzOGhwTk92TnEzU0lEakNIWWRYM0F4Zll0NjdSaG01ZzdhbwpNRTZ4ZFpzNjlRT0p1YitBdXJNbzNPeGY2eDJzQ2VTWXJ2UjZVYUo2bXI0aytBSnN1a3hWb0lTV2FNdGQvY3lICkNUc1lZdUc2TUJ1c0lzQ1ZuL1o4aFF0azVNbHJlVXcyZ1FlVE51RnV3QllmWWJrRFNwMUhzL0xPa2Z3amM1ZVMKbjFrbEhyZk9mWTZuT0JVRVRYSk5hOUE3eURobTlyUmJ0OHlMOVlGblVrTjhYbXpNZXF2eGJ6Wmx0VmJhcnlZMgo2TXhtai9HMDFybTFsTWhEYy9nUk1iUGF1YWM1eU1UUk94cz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=" - }, - "clientPrivateKey": { - "value": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS1FJQkFBS0NBZ0VBdC96K3JkcnVjUTViQzNVcGtLUm9SL2FxVWEvZDJoWnBlZmxmWDlpMEYvY0Z3L28zCnpiYXBoaVlIdk4rZFhuamErZ2hzeHhab2syTXdQdjlYRjNTV2xJeWZGQ3pzQzg1VzFzWkZlQlFiN1RUMEViQlYKb0ErZk5FU3BWQzVoWms2UXRBeHQvM01HNFl5Q3dXcDZ4U0dkcEZCY1czUkRwcnVScEpvL2JZd2xlbEZoZ2d4Ywo0UnR5OHNGVWFFei94OG5RdlRYaTQwMUMvQVAvVURKSTIwRnBoSGJ4aUl2NlRVUmNmams2Yno4LzJ3RUp6NlNOCjNDdlB1Q0FwSmExenB0SXFKOFhUWkpLNS9QY3c1Yi9aQVRONy9NRWFxcHFqTzBpZlVTQ0o5K2kxcTdFYjg5Y3gKTFlZSUtHYWJRVDBHY0tMcjRmSUhkNXRTQngreHd3NVZlQXk2WkxMaElUMWsxaDNTd1lwclFicFhUdXhpK0c5NgoyNGhkMUh3Yi9RZVZKUkpxdTRWR3FjcnV4V0ZMWW5jUk1lRFJGRTBCdGE5a0lRVHBhTzcyNTc3SG1qUnc3TlRqCkJkZU5NeHNpREsraGF4UWZPY0JrbDdSMm4wbEx2Z3J3d0llbmVvdGVNUjdnWWNBZnBqaWxLWU9XbEhhZ1JKVEsKY2pPODJUaHIzSmh4UHpxTkZ3alBmMkEyYnZiM3plOEFYdGovYUdpYVM1S2ROMGU5cDQ2OEEyRDZRTGdnK0NpVApVWTVIVWV1RjVra1JJaGZza0pQQ25YYmN3ckVrZ1ZUcWZVR1VYUjVISFJ1QU9hM21GTlBVUm9WaDBrbll6YU9SCmhBYUkxdmp6ZG1WOW1KemdocUxRUERTTVNHQkIza1BHR256RUJNNGhxTEhuLzZtNnh0M1JFeE5LeVFjQ0F3RUEKQVFLQ0FnRUF0VjUwUURXOUx6MlRpbXZvbVdrNFV4aFpOVVZFVVNRZXZkcVJwZzRkR2pLc1FGQjhpaEV5YzhjeApnWUo5d3c4bjdhbzRjTmtxSllCMW91UmFtZ2lZRjcrM1lWQVhNRndyUm5VVkxoWEVvY1M5aEdKclJlbWdhd24wClVjT1d5QjlTamVwaTFKb3pna3ZjNllWcG1NSldnQStudTQrVTBOdTk2cUVUUFk0VnM4cGRjTEYzTFlDOWc0Z0oKQ1BnK2ZGZjVxVXRoYWVoVHk5SzA3LzFoektGaXZ1M3hrMFZKYkxtaTQ5ck9PN1FCNG9YWGdoVVlzcDJObWxnNQp0NmFRaHpaTnovODNMOEZrRG5ZdWdZenBBa0lhUzBLZ1l1VWxXOTl2RGE0aDAzeFcrZlVSTlFKQXZEdVA5eU9PCmtIVHowRDBLZ2lUd0wzdXhGTXl0a3phaUVrR1p5dFh0MkJ2MGVrbEdQb3ZVV1J3UFVDKzRZeFRhWFkzc01DNEcKOVI3cVRqb0RqOEJENFd5RklSZkZSWlJnT2I3UnBtSWc3ekFBaUNiUkFRMkZWZVdnUGxTQ1VKMEtwNzhBZlN0OAoySjRPNmdqR2I1dURiS1MrRWk3cTdROEN1Q1RrUk5OVGJtVkFhVmxqZjZlTVNFQlpnbThlcFVqRlBndlpmeU5RCkZPckNEaFhMRzlvMjk0S0JENnBCT3ZMTk16ZjRLa2xoUUpOUnFpNXNXdThOUmhhdFcwcXdEZnFFWjgyRFl1NlMKRGszQ0U1OUdCWkt2QWN0cytzWDJORFVmNWdNb0lqRVJvRzN3UmVIb0ttdXVzQnh6aHBTdHNDZWRnYVpMQW9iTgpIYlVta3dnYlY2UENsWHBrdEVudktjc1NOb1FsWERKVzdjSWQxM3BQLy9kQU45SkpINkVDZ2dFQkFNMDVrUHYvCm5helRudDJzRjNCZmNPVHd5LzFyUGw5ZjhJV0Q2dWJMWnFHc091cGdUbDAydUZBVUpWaDVBYUI5b0VhTHBCd3AKTTIwdGM5bVJxUXZrbnpudGtFTDJnUGU3Qm1YeWltdFBQdzQ5UmV6SHRmdFNDM3ExU21xblFrVk1wQUlPaEFNLwp5OHU0dFgrb1VoRCtPV29yY3NldUZJeVpCd1BuSFZRclFNZFhpcmxKaFJGaTZhRmgvLzRjZ21renpmaFRQUkl5CmtGdThVQkdYaHU2Q0Jqd3RzaGtiK3ZEMlNGdklkNVdTVTBwUUFVNDFBWUE5bFNYMVJQNkQraktKNFBLc1h0ZHoKamJmZzRRR0c1ZGorWVptYUVnNE9PS2JLT3pLSXJDQVc5eEZsNFlWQlRRTkdqbW1PYXZZeC9nUlRHTi9HOWkrZgo5dFdRUWN4YnlFVkpleTBDZ2dFQkFPV0NXc0RRaE5WYi9PVWhpNE9FOTNrTEtxSTVnMHFHT2paaEp3c1BOalJ4CkxWUGtOZXpJRmRRMnlpSlQrY3NFL1NuejlwZ1EwQjBRTSt1aTAzbVFKWFJtZGp3QWNKeGtkUmkvK0JaYlRTcmMKR2lVcXdoWExLMkZyNk1UU3VycmxSTXNmQWpUQlFrNFFoUTMyUTdRVkFoUHE1MHZ6bm40YTRxKzJCbkNNTlRySwo5cUZFd3lpVHNzL1YrbDZiSmJGU3lGSEVjUWFJcnNCc0l1NWtsS2Fpc3lNb3E4dEVxOVdtOGQrSytpTlJpSmlxCkoreVpMWnBvc1ByQWJzYXpQMGxBUXBqTWRjU0x4dUhadVRRTUgwOUkyTmM0VzRxTnZCNW9FKzRMYW9xZVdESEIKbjhjRnFqVWxwb0U0U3pWZi9SLzI3M3VWdlZ5L3l6dkVObE9KcmZSNFpZTUNnZ0VBQjRzcktpZ3VPcEVZME5zbgpqV2prdEhXcGVlbzhRN002R3g1TFB5cVEzalovZitnRVdXYk9oWnNIK0dXU1NyenpiRVJyeHVFNDA3V05BWjFhCkVtYlg5NEFsQW1FZlFudnNjMGprRDZlOUVKL3Q5eE1zUEUyNndFcnpybEh4bkt5Qmh0WFR3bTdRNWU4bk5NY1MKSlMvREdvVDRWaUN1L3JBTlV2Wm0zSll1Ym1Wb1l3RXgwLzdIeWJmWmVoVEFNbS9HRFcrNTJmWmoyZ3RsQWhDSQoxREdSV3hydTVmOWlUUU13aTdjbHRpakh5UDZCM2NjVEJBeS9jOEs5UTRIRWE2RW4xS1BEWkxZSnFvMm9sNjdHCnVpQTNwRGJHblIrbXMzTFJsRHp6M3NZWlZObGkzY3dWc1o0aFUvMzVMbzJONGNqUUxFR2JBUXNuUHBocjRzQW8KNzJzUkRRS0NBUUFFQUxVQ2ZlQ0ROQnFDQ0lhOVlYbExkQ1ZuTk9lVVNpa0R2OGdGaWx0Z3FNU29uT2RQM09GOApsUVFMZXpsMUQvNDJXQm5wNXdrcUtKa3ZOK1RHVHZ4SVBtMDdlS3ArSDhabkN4b1JrY0FUeWtqdWN3TjFpOWlTCjEyWDA0TlArNUhiQnNDWENzOGdyUW1CL3NOYlhjakphRkpPNklHS1lRbkhIckw0S0FuZi9NWUVCcVFoYVVkRWgKak5MVUNaS3J1QXprV0MrOGRHL1B6Vk1DbzJCd1U1QWFRZUJWS0RweS9IbGxjN0FQSTZIbFA3cDRodWRqdFFXNQpLZGdFd1NXT2FuOSsyTG9KRm9MK2QyU2lncitkQzJFMHg3ZlkvOFhUSmUrTERFbnNadnlVeVpLMnp1TjhEODhLCm0rZTc0NU92bGdmeE9OaFhvTVN6b3lWcmFaQk9IamR2QW9JQkFRREs5eVQzZ1R5WmpTYUZkTHUzTld4NlhxVi8KREc3ZjlaSHFTdDNwTGpCdFBuNEVGaVBVbWlnWHArV2RGUHpDNDFqNGRPaW9YUlRSMEhEWkdNdWVxdzA1eGJWcAoxMTZVVlJqQmVFeWdxakN5VVlZQkxmU2hhSlJadTR2UW9rOVVCOGJYWmE0YlpSbEVyYVFweWtBOWhyR253UTI0CkhQaGZoNnRyWkNmUTJ4aERUVVFpZmpLbW03K2N3L1BsY2N0S2h4aThSOE1zQm9STmJrUzhXUlM5V3NhL1lLL0kKSm9aK3BkS29ocGlxL04wdTZyNXVnYVF1UHFURDYvdExxVExSUG5hOTJiWHRSVHZ2SENkZHB4K01xWmFBUUdCeApoa3I2a0NqQWY4MytOUm1kVzlab0x3WVF0VTlHc3B3V1JLTzlrVC9VUWg1bDZzaTVNOVBZZ0R1N1BOdWwKLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K" - }, - "cloudProviderBackoff": { - "value": "false" - }, - "cloudProviderBackoffDuration": { - "value": "0" - }, - "cloudProviderBackoffExponent": { - "value": "0" - }, - "cloudProviderBackoffJitter": { - "value": "0" - }, - "cloudProviderBackoffRetries": { - "value": "0" - }, - "cloudProviderRatelimit": { - "value": "false" - }, - "cloudProviderRatelimitBucket": { - "value": "0" - }, - "cloudProviderRatelimitQPS": { - "value": "0" - }, - "cniPluginsURL": { - "value": "https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-latest.tgz" - }, - "dockerBridgeCidr": { - "value": "172.17.0.1/16" - }, - "dockerEngineDownloadRepo": { - "value": "https://aptdocker.azureedge.net/repo" - }, - "etcdDiskSizeGB": { - "value": "128" - }, - "etcdDownloadURLBase": { - "value": "https://acs-mirror.azureedge.net/github-coreos" - }, - "etcdVersion": { - "value": "2.3.8" - }, - "firstConsecutiveStaticIP": { - "value": "10.239.255.239" - }, - "fqdnEndpointSuffix": { - "value": "cloudapp.azure.com" - }, - "gchighthreshold": { - "value": 85 - }, - "gclowthreshold": { - "value": 80 - }, - "generatorCode": { - "value": "acsengine" - }, - "kubeClusterCidr": { - "value": "10.244.0.0/16" - }, - "kubeConfigCertificate": { - "value": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUw0bWp3MmNCMUp6L3cxa05meXY4SzR3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qRXdNRFF3TVRRNFdoY05NVGt4TWpFd01EUXdNVFE0V2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXlaRCtySURBem51NUlXekZVbjFuQ28zRHREdTAKVWRtcFY5V3huZkszK0tHSFF1cmhGaEtVa2h1UnNMUnptMVJ1L2VWM2xHM3B5eXl0ZzFOeEdtZDJ3TlNTMEsvRApQNjlRL0RkaGlZQ1FMMnJJZ2NGaGZaTU1DOFVhcFg5SlEzc1RpMVhtWjMzMTBhVkVGaksxRlR0Y1kyWjVPOC9GCmZMSDZ0ZGw2a1Mrd3dwWHNmeXJ3WkRzZWw0SjVaYmxsTml5Y1JOc1VKQTQ4SzRWdnFGT05pbmRUQS80N1ZITDcKY0dlbS9xTm9qRHpTRHVoL2xzY3IxU1F2bGR6eTJnMnlJUFJhOEorZUt2UThFWnFzclBjL2xXQmdDVEowcFkxQwo5ZFVqQXdTLy93MW0wd204NUQ0MGppbVVzTDc2Y29NVG9YQ3d0WEdhWnlQTjJZUVNhRHBFbHNBQm8xZG1zS0ZCCnYwb2dpdDNxcWRuenVMVlpubFhyTDYyYUs4Q1lCcWNybEFuUW4rM0c3Rnpva00rRFlpcExnSVB6RFRyaW1OMkkKUFdtYi90Unp2dFhkWSsybzFEaGR2RHU4ZmM3ZUZnemZCcUZnWVpDOXlISjBka28vY3JtSTJMaXlud0Zwak82UgpCT204cHBWSzg4THJ4OWx3MTh4ZExkRklkZDgrUThJeHFVdEJzSVJiY2pSVVVyUlBXWnFXNjNCQ1NTK3ZjbE5pCnk3Q25NYkVKR0YrL29nSWNVYnFOb0tDRGc2Q0U1L3VyZENGcEc1MTBZejVvZHdxblJxZ2hUczE5US9XMjlibUIKVUlyUmhOdCtPRjBRYVZnVVZhSk9Pam5iL0tQb0lvKytkZUZjSjdJZFk4OVFEYkFYcEpCQjA5NXRsYkdNU3BJNQpPTTRwc2M2NGpHeURXbmNDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVkRGpmTkYKY0RXeHdaMm02YnB3TmdIUkVTdk80WVhhSng2WjlKbDRIeGhFMTJJOFpYSWdWemQ1ZHFmTk54SEkvODFXWHdsLwo3RmdESjBmKy9Ca2xaeEtDeWVpd2dwOHQvRDBLdFQ2Ny9ndTM0QnAxWEpVMnJoRkczREZhR2ZLUlRZVzZlUXFnCnFORHpaSFpKY0JuUEI1WjdxVkVPOGlBSk5PSzJqZDNXcGQycnhuUWJBU0hpbXVIc04vUVEvU084ekpNSEZZVCsKZ0lNM0NCR0gzUVQ3d1JSa3hxWEhkOVgrTkVtZ2pmL1laUm1GTDMrR3hGc0NZczhzcmQ5LzBCOXRoUDBBTDhzRApWNk1ybGVBVXZVdE41dUJQR1BDSW1raVA2d2xNZDdyamhmaUhWZTNyWEFvTmZwWitGZ3g5OUJuVHBMUXFhYTZMCldJQzNNbXpJZmVHZTNuZExHODE0Vi81YU9XeE53VzEvZFAzMThlK0d2dENHeUNSYUdBNnRsTThkdGtJU1licmgKYjJWVWlneEI5OGVMS0pTdU8rSDdZRENLbGRXWnpYeU9WODNYZWswVlZpWDl1TVRyWVQ0TU14M1ZTd2xBSXc3Vgp2eW5Ub2ViQlc2OERnV0FXMjRoR1FDVmd2WHpnUDBJdlpsUlhmMGZXRWpKWklQdHFnbnp3bVpmbkF1WkhKcGNZCjc2eUVJMTM1WXh5d1VPOGR5SEJsMEFIcldvZWZsY0ZtNjloRk9zZk1SdGxVTUhDeVhWdHFwRXp3dFYvVWZBVU0KaEp0L2pvREJTQUE1cHFud0I2SCtpNkpYOGlUcGt4SEt4UnNWaE5CQVRkelN5MERPejhPVm01cllKWnlqQlhRbApXL3ZOUDVlTGVwdk9xUm4zRFBqdy92SkFHMGl6d09MVTZVWUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=" - }, - "kubeConfigPrivateKey": { - "value": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeVpEK3JJREF6bnU1SVd6RlVuMW5DbzNEdER1MFVkbXBWOVd4bmZLMytLR0hRdXJoCkZoS1VraHVSc0xSem0xUnUvZVYzbEczcHl5eXRnMU54R21kMndOU1MwSy9EUDY5US9EZGhpWUNRTDJySWdjRmgKZlpNTUM4VWFwWDlKUTNzVGkxWG1aMzMxMGFWRUZqSzFGVHRjWTJaNU84L0ZmTEg2dGRsNmtTK3d3cFhzZnlydwpaRHNlbDRKNVpibGxOaXljUk5zVUpBNDhLNFZ2cUZPTmluZFRBLzQ3VkhMN2NHZW0vcU5vakR6U0R1aC9sc2NyCjFTUXZsZHp5MmcyeUlQUmE4SitlS3ZROEVacXNyUGMvbFdCZ0NUSjBwWTFDOWRVakF3Uy8vdzFtMHdtODVENDAKamltVXNMNzZjb01Ub1hDd3RYR2FaeVBOMllRU2FEcEVsc0FCbzFkbXNLRkJ2MG9naXQzcXFkbnp1TFZabmxYcgpMNjJhSzhDWUJxY3JsQW5RbiszRzdGem9rTStEWWlwTGdJUHpEVHJpbU4ySVBXbWIvdFJ6dnRYZFkrMm8xRGhkCnZEdThmYzdlRmd6ZkJxRmdZWkM5eUhKMGRrby9jcm1JMkxpeW53RnBqTzZSQk9tOHBwVks4OExyeDlsdzE4eGQKTGRGSWRkOCtROEl4cVV0QnNJUmJjalJVVXJSUFdacVc2M0JDU1MrdmNsTml5N0NuTWJFSkdGKy9vZ0ljVWJxTgpvS0NEZzZDRTUvdXJkQ0ZwRzUxMFl6NW9kd3FuUnFnaFRzMTlRL1cyOWJtQlVJclJoTnQrT0YwUWFWZ1VWYUpPCk9qbmIvS1BvSW8rK2RlRmNKN0lkWTg5UURiQVhwSkJCMDk1dGxiR01TcEk1T000cHNjNjRqR3lEV25jQ0F3RUEKQVFLQ0FnRUFqOVpQVm13ZXFucHh0dDkyeEJIRzZTb1c0TlBHTHE2RGdMRjJxVDdlZDZkVTdiVE00TUpya1FQcAphRTZ0UE1mNDJHZmFlR29pN3lDM3hVSlRNTU5xWTlxTjFpdkd5ZmhpYzBsVjZoaDdTOHNJd0VkdU9YMG9tSEdVClBVdGl6YXZUVzVmMTdoNWR2N2dPcVVTUUlsR1U4VDNiLzRtWjVRemcyc29TQSs4alZRaEZsczNlYzdnWWNZZmkKOTJ0Z1JWTjZSRXlOeDlqOHFSWDBnd3Iwc3ozSldNMGdLM2hONDMya0Zvd25mQU9lNXBLVkVkU1plK1R4ckNEYQprQzQ3MGZadHVzNDh3V3crUFZYQ0tUL2ErTTZvV1lmTzQ2QzFpdFlJd1F1dnN1TXVZQ1RQelpSeVRveHZsZDBDCnZacTU5SGVGTWtXYUtFWE5qSTRKMEtUYjh6T2JObDZ0ajhVYnl6eFNKRVlVNWc4ajNNdEFXalRqUzhNWHpsNlgKakN3aEFGNnNUOTFZeW5Mc3Z1RVZSbTBsZHB0UkIwcExHMjgwci94ODhaSFlDR0YwdnI4TGRLei80MDBhdFFMWQprZGI5RUNDa2pPbVdIdmZVVlZPMjZBeVljWnA1b0k0clhYdGlEVHU4V0dVakhzUzBWc3ljZERqRXRBbzlYYndtCnpONGxMQmE5VFdvRDI5TlNmaUdlYTd1bzFlZ0h3WDlXbWdyUU5rdkM5cmJSTTZ6Z2xzbzRkWCtkQW9uaFRNbVMKQmRLYVhybzUrdFVSK09SditFUG5tZHpYb01uaGlibWRZYVZoc0xTY2FsaSs4MmZZdGJGQllCd1RtWHdZL0NzUAoxSW04Vkx2VDZQVkRUZ2Fjc2JMRVRZemhoNmhFMXQ3Y1F6TE83Zk4xbjJURnJjcEhKZGtDZ2dFQkFQS1ptbnBnClB1VWJubi9OK3R5clh2SGYvNUhHTUdwaTUvME56SnJDSG11ZmN4Q2lUVUgyekNqNE50T0VkRGgzaDZrUkFmc2MKc2xLZGZuWTdxM3lDdDdQRFNiaVY0WSttTndsU0pqM3czOGcxSW9YTkJFbG5rak5aM2hYd3FNSDNsMmZ4bDdHSgpwMUNxUWlHcXZQeEFERzVQREtYalFEUm5hRXBQWUVVem5vTjR3ZUlVeFZWTzhUSnNZaS9XTlNhSSsydThqZWtsCm1yMHVaZlhhaFZZcWtYdjM4QkZFSWtZcWtjTHBycWdPQ2JTQi9OTG14RTcyNTM4OFlHM1JHU1doa1d4ZmNYUFQKUmZkblIxcEErYUhrZkNOTFF0K0lGNzl6MzBQUEJjcmdYR0E4ZUhrRisvenhqRHV1SVdGMGMzb0lKbFZBclRjKwprd2dka3BUSk1CNko0d3NDZ2dFQkFOU3pLNkRDdWFLUTh2VUFHbks4ekZsYk8xZHpmQVhJdmtOWW1JVUV1RDQ4ClRtcGZheE96aVRSWEFWbjhZY3lReTdCbnFpRU95cTltYmZBOUhFSUkxS2hxSEV6MzYxUllXS200S1pmOUk0YjUKVTRsVUJ4bjhBaXNqWHk3bldGRnk4dGZwQ21ic1pjaGJxOStBNTAwQm52dEszWkE5SVU4ZWwxNThncXUrdnQrcQpZdjlONVhMcUVhTHNudDY1NU5iU2RZbmhjZGZTRDE1WlptL2dtR2JHVmx5VHUranAxMHkyZFVDQ3VHdzRIOENHClAxOHpBc1c2TjlCNlJCWk1LLzNNSHVkQi9IblJQUUZ5TkgvVFNQbFlFaTFxeWIzTXU3SU94MHdlUXBSMlVtNjcKdHdpTUN2VHNGOUpOSDNEcElHR0djUzliNlFoRVh6a3BTYmZvRVBIc3ljVUNnZ0VCQU45L3hZS0NrczhOdjlycwpqL1dtWjhVYjRWNlNJTjZTR2puVzhhMk5zdXJocmVjZ0wxN2JHTUdSMHlqUXVTV2djVG0vc254K3RvWklGRTZtCnNGajRNSGVMTGFyQllsbXQvcncyazRhekYrZGhsRm1DUkRYQUZqLzZ4aENlYzBxbmFEUlpyYS9oS21TMVJsR3YKODRYTkYrYTBLdW5WVDd3M25Dd0JycVp5Wk5Hb2VhNW9CbGlPYnNWT2RyS3RmSy93dVBoTGNNM2ZXQXg3NTNFMQpqV3VSc2hCc25oMjZFSDFtRUgxcVBmOFRWN3VWbWE5TzdJSDNFOVR6Y2I4YVNUbVMvTi9EbWtqajFteVVHSGM4CnJ2NkgraG1sNTRqNTN5OEJlQ29IV3NYS0p6Qjk1VnRSdVJJU0VtaVZCcW02MS93UDhBalFtZ1B3UVJMVDg4dmgKQWRUUW9Yc0NnZ0VBUmFiS2thRlNrdGF1aU9aWXd0dnFleFJ5RVVnakErM2h5RUg1NkExTW5DeTViUUlFR1hhQQpacUJiTS9GK3dUTmxVRVlTSXpNcDBsaFRoZ2tzK0w3VmpMVDZ3WVdxRFh2RXhRY21yN3ZZWjNtOERrdHk2K0puCmYyTGM1NG9nbE1OMG5KbVdxMitjUVFrcjlrdks4cCttUlJvV0JnYk9vbzhjK0hjRGYyUStNeFlqeHdEbU0wUk4KTkRJU01GTmxpYWR2a0JCQWJIRkFVU0FyZUZWdThyRGVWUUNYMTBURUdUM2lsWlo0K0E5RTdwSEhyTkFTaDFkYwpzYXRvSW5rZEtzWXVGSUs2UDlYeUNVZ3h3dTRZaG5aOXRWdXo1ckJsZ29CdWFSRzdzY3d4WUV1ZU8zRklvVDJ5CjYwNFFEclI0d3hiNGQ0NjhkOVdUN1M4RkVmRXZvMWxzRlFLQ0FRRUFrNmlpMFlmTGkvNnk4TVQ5dDgrZ1FqazYKTkhWZkRzYnc5c1hKWXZWWGswb0tUN1lBTVBmcnlkS0F0akZ5YlBBcGFDS3dPQlpqcFBySGh0Vy9HdkVub3VpRworQkVIM2x2S0NOUzBlQUVUVC8rNzlNTmVRRjBOazZhb2ZGNFRBei8yaWduMTJESXY5c1Y4NFJVc1VMVmw5bHlGCkpmdktLb1E1ZEg4WnhPQW9HVEVRRDhJdG0ra0FqdmppYnM4RFlnREp2VVRGZnFYcUtxOVJTK2VLS1VZWUM3VGYKejRub0Mvb0c3ZlA1cEpna0dlNU1EbFhHb05GUFNXZzJKVzRPbU1YZmV3WW80MmNOQnhsc0ROUXFYSnFSdXAyRwplT2xNaXU2SmRsak9CRFc5RG8xbHhVaG9JOG9SdW5JRVVGdEN5MUdFWHpYaWdOQ21vbE1qQjUveDJYTzFvZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==" - }, - "kubeDNSServiceIP": { - "value": "10.0.0.10" - }, - "kubeServiceCidr": { - "value": "10.0.0.0/16" - }, - "kubernetesACIConnectorCPULimit": { - "value": "50m" - }, - "kubernetesACIConnectorCPURequests": { - "value": "50m" - }, - "kubernetesACIConnectorClientId": { - "value": "" - }, - "kubernetesACIConnectorClientKey": { - "value": "" - }, - "kubernetesACIConnectorMemoryLimit": { - "value": "150Mi" - }, - "kubernetesACIConnectorMemoryRequests": { - "value": "150Mi" - }, - "kubernetesACIConnectorRegion": { - "value": "westus" - }, - "kubernetesACIConnectorResourceGroup": { - "value": "" - }, - "kubernetesACIConnectorSpec": { - "value": "microsoft/" - }, - "kubernetesACIConnectorSubscriptionId": { - "value": "" - }, - "kubernetesACIConnectorTenantId": { - "value": "" - }, - "kubernetesAddonManagerSpec": { - "value": "gcrio.azureedge.net/google_containers/kube-addon-manager-amd64:v6.4-beta.2" - }, - "kubernetesAddonResizerSpec": { - "value": "gcrio.azureedge.net/google_containers/addon-resizer:1.7" - }, - "kubernetesCtrlMgrNodeMonitorGracePeriod": { - "value": "40s" - }, - "kubernetesCtrlMgrPodEvictionTimeout": { - "value": "5m0s" - }, - "kubernetesCtrlMgrRouteReconciliationPeriod": { - "value": "10s" - }, - "kubernetesDNSMasqSpec": { - "value": "gcrio.azureedge.net/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.5" - }, - "kubernetesDashboardCPULimit": { - "value": "300m" - }, - "kubernetesDashboardCPURequests": { - "value": "300m" - }, - "kubernetesDashboardMemoryLimit": { - "value": "150Mi" - }, - "kubernetesDashboardMemoryRequests": { - "value": "150Mi" - }, - "kubernetesDashboardSpec": { - "value": "gcrio.azureedge.net/google_containers/kubernetes-dashboard-amd64:v1.8.0" - }, - "kubernetesExecHealthzSpec": { - "value": "gcrio.azureedge.net/google_containers/exechealthz-amd64:1.2" - }, - "kubernetesHardEvictionThreshold": { - "value": "memory.available<100Mi,nodefs.available<10%,nodefs.inodesFree<5%" - }, - "kubernetesHeapsterSpec": { - "value": "gcrio.azureedge.net/google_containers/heapster-amd64:v1.4.2" - }, - "kubernetesHyperkubeSpec": { - "value": "gcrio.azureedge.net/google_containers/hyperkube-amd64:v1.8.4" - }, - "kubernetesKubeDNSSpec": { - "value": "gcrio.azureedge.net/google_containers/k8s-dns-kube-dns-amd64:1.14.5" - }, - "kubernetesNodeStatusUpdateFrequency": { - "value": "10s" - }, - "kubernetesNonMasqueradeCidr": { - "value": "10.0.0.0/8" - }, - "kubernetesPodInfraContainerSpec": { - "value": "gcrio.azureedge.net/google_containers/pause-amd64:3.0" - }, - "kubernetesReschedulerCPULimit": { - "value": "10m" - }, - "kubernetesReschedulerCPURequests": { - "value": "10m" - }, - "kubernetesReschedulerMemoryLimit": { - "value": "100Mi" - }, - "kubernetesReschedulerMemoryRequests": { - "value": "100Mi" - }, - "kubernetesReschedulerSpec": { - "value": "gcrio.azureedge.net/google_containers/rescheduler:v0.3.1" - }, - "kubernetesTillerCPULimit": { - "value": "50m" - }, - "kubernetesTillerCPURequests": { - "value": "50m" - }, - "kubernetesTillerMemoryLimit": { - "value": "150Mi" - }, - "kubernetesTillerMemoryRequests": { - "value": "150Mi" - }, - "kubernetesTillerSpec": { - "value": "gcrio.azureedge.net/kubernetes-helm/tiller:v2.6.2" - }, - "linuxAdminUsername": { - "value": "azureuser" - }, - "linuxagentCount": { - "value": 2 - }, - "linuxagentVMSize": { - "value": "Standard_D2_v2" - }, - "linuxagentVnetSubnetID": { - "value": "/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet" - }, - "linuxagentosImageOffer": { - "value": "UbuntuServer" - }, - "linuxagentosImagePublisher": { - "value": "Canonical" - }, - "linuxagentosImageSKU": { - "value": "16.04-LTS" - }, - "linuxagentosImageVersion": { - "value": "16.04.201711211" - }, - "location": { - "value": "" - }, - "masterEndpointDNSNamePrefix": { - "value": "fabricnlp9" - }, - "masterVMSize": { - "value": "Standard_D2_v2" - }, - "masterVnetSubnetID": { - "value": "/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet" - }, - "maxPods": { - "value": 110 - }, - "networkPolicy": { - "value": "none" - }, - "orchestratorName": { - "value": "k8s" - }, - "osImageOffer": { - "value": "UbuntuServer" - }, - "osImagePublisher": { - "value": "Canonical" - }, - "osImageSKU": { - "value": "16.04-LTS" - }, - "osImageVersion": { - "value": "16.04.201711211" - }, - "servicePrincipalClientId": { - "value": "5a53ea0c-f45a-40fa-b481-ed2734c93727" - }, - "servicePrincipalClientSecret": { - "value": "7cf86474-af55-492f-a460-201d0cd3a8d7" - }, - "sshRSAPublicKey": { - "value": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDQEvG8bij5/eXWZFiU9KA9DpC980e/UgoMSij7nq+8M5ODBv/G8Bd3dssMNSj0RQKbyNiPz4EngFG62coGXK3ogJZEl/ABDDJAFEPB5J4BK8VCaVcmJpfPYVXd+DLv3A5Pk95SlgPeb1vbZnoOhy8F2rfjZBRCnsF2jN6Agk96c7JsGLamAaE2iU/+Wz/Z+x2nrV+Py+IVa2XKU/veqkY6/yDBQdO/BdXl8afdMHdqhjYwd7cp0Mec9r9iYmXKy8meUr125lMiayXIqeoU9qfcgnBlIcYkJtZjQd1F58o9KgHZXkkdEUqRyuiCgnJtNgY9xNu/Bgz2naiEU6NuKzKr azureuser@linuxvm" - }, - "targetEnvironment": { - "value": "AzurePublicCloud" - }, - "vnetCidr": { - "value": "10.239.0.0/16" - }, - "vnetCniLinuxPluginsURL": { - "value": "https://acs-mirror.azureedge.net/cni/azure-vnet-cni-linux-amd64-v0.91.tgz" - }, - "vnetCniWindowsPluginsURL": { - "value": "https://acs-mirror.azureedge.net/cni/azure-vnet-cni-windows-amd64-v0.91.zip" - } - } -} diff --git a/azure/_output/fabricnlp9/ca.crt b/azure/_output/fabricnlp9/ca.crt deleted file mode 100644 index e5ac2ef..0000000 --- a/azure/_output/fabricnlp9/ca.crt +++ /dev/null @@ -1,28 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIExzCCAq+gAwIBAgIQVFl1Mld09/LTk2Q2NIXmFDANBgkqhkiG9w0BAQsFADAN -MQswCQYDVQQDEwJjYTAeFw0xNzEyMTAwNDAxNDZaFw0xOTEyMTAwNDAxNDZaMA0x -CzAJBgNVBAMTAmNhMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsflF -cod+p10xDGT3fWZmv+mNataSl80P359+CrEXF98v3hwlC+zxjEExidGGJGAqjHst -tYNDH9ho5lwRY4NjbJqBIgw/p6yEpyXh51YbDP6t7zlzwQS2F9I+2yhm6MgwWwRM -dNlGoZsjaklRnq0VmvzyY8XeBV/8NYQoD34MNuVWV6tGGZyfit1EOv2t+jNsKupQ -n1DhxDbd4OKOxoh/fwXg/KGSX0ZTrQF5yExsUNhWrBw+BvtCkptw6iMaOUaoKUh9 -s5kM07rXBcLfSangAATvS1d35ffhCYBllxixJMuAaLpSKhyszDvgPDWggR7/EVYP -ZH9LJX0/m/OnCpYvyDdPM3xHKwJonGXKKf1mTLNFR16oF1SszBVVdSWsQRHsBNGU -c2dF/F6Jh0DWBPgjH6rC8hE5agBf5gOhkXIVrpez8pkbRdSjjDmjWXY0291ciHEe -uyBXXz2UhxBzsf9BeERnKM0gClKxKbwGFN4esWcO0DpHe6mX+zgKvoK+HPyUs8gP -d9Op1OsedHCCJXYxNR2ql48UArjD4f2pv1cfEzJNEjcoQpmypJkpQ4cmFV2tDv8a -K+KSXj2o4Ep7WITPDUknSye7zOjcOxSfLoWyketg2f6gIejzaIRoWmSd2Tt8ypEL -9PdqsJUicny39sOqCKalLy4ku8VgQP0uZt1OaoECAwEAAaMjMCEwDgYDVR0PAQH/ -BAQDAgKkMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggIBAFmNMnXk -3zbHGxSME4to2lYbmBfuxaibRabritLY2q3RJW4Hq5ERd/4nn7NdKZvAlHxeuvM6 -KR1Y5uTjwb9YrJtUB8x9WGl9GTaW3ae9QddycTG0HzkZ0XaDpjxdLVreeYF/FPSC -zv5cjxCS+jkp33WFZogOftJ9u6Or+3YWcUxPSWRKy6SJeI7jgXyg3XafOEnb5lRC -KRF+vtY8qhlOmnZtR3PZL7lXcCdhjdZQCfvy7ZYZfj20rLI0VU9khLRUIkv07IwA -hL0fDWEPgzOh3RA8Mg2+rOA/RbATN9SHB0F3esikez9Lfz/6B5KN+jG+uM+Df1qK -5BZRbw5jSlAOpggAo2al9AQQHzGiD4lBzls/pTTEApDEUjzjGZ66ZXnq5kL0cSLf -hpB3Ol68rWrITqD3R+gId6WDdVmSzAqqbrUDsPUuc5l/pPz1aAJ4+JXuhWv35WIx -Y4ls/FcuNFK9mxTKGNxWlZxzizl+KJzr+OOXhp3BHZLZpDQnvb8bzmf4q6anliuI -lZiQlI8QJzqdiTKMa2xvC1NnSKVM4zHJfEXIbCZm2y1AshBDAH1hs02r/puyl3t0 -7JqT7ceCjvDK/nF47EFusksWGP1BiEyN4LqlRVypw0P52Ql02nDqYnysIvqKNuDb -BBviCwj33PhBJWeZ3h6PdhsNmF6IQ06271Zx ------END CERTIFICATE----- diff --git a/azure/_output/fabricnlp9/ca.key b/azure/_output/fabricnlp9/ca.key deleted file mode 100644 index a16e1d5..0000000 --- a/azure/_output/fabricnlp9/ca.key +++ /dev/null @@ -1,51 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -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 ------END RSA PRIVATE KEY----- diff --git a/azure/_output/fabricnlp9/client.crt b/azure/_output/fabricnlp9/client.crt deleted file mode 100644 index 1ca54d5..0000000 --- a/azure/_output/fabricnlp9/client.crt +++ /dev/null @@ -1,29 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIE9jCCAt6gAwIBAgIQMDo6x/IjkaJbVKxUnqTrvDANBgkqhkiG9w0BAQsFADAN -MQswCQYDVQQDEwJjYTAeFw0xNzEyMTAwNDAxNDhaFw0xOTEyMTAwNDAxNDhaMCox -FzAVBgNVBAoTDnN5c3RlbTptYXN0ZXJzMQ8wDQYDVQQDEwZjbGllbnQwggIiMA0G -CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC3/P6t2u5xDlsLdSmQpGhH9qpRr93a -Fml5+V9f2LQX9wXD+jfNtqmGJge8351eeNr6CGzHFmiTYzA+/1cXdJaUjJ8ULOwL -zlbWxkV4FBvtNPQRsFWgD580RKlULmFmTpC0DG3/cwbhjILBanrFIZ2kUFxbdEOm -u5Gkmj9tjCV6UWGCDFzhG3LywVRoTP/HydC9NeLjTUL8A/9QMkjbQWmEdvGIi/pN -RFx+OTpvPz/bAQnPpI3cK8+4ICklrXOm0ionxdNkkrn89zDlv9kBM3v8wRqqmqM7 -SJ9RIIn36LWrsRvz1zEthggoZptBPQZwouvh8gd3m1IHH7HDDlV4DLpksuEhPWTW -HdLBimtBuldO7GL4b3rbiF3UfBv9B5UlEmq7hUapyu7FYUtidxEx4NEUTQG1r2Qh -BOlo7vbnvseaNHDs1OMF140zGyIMr6FrFB85wGSXtHafSUu+CvDAh6d6i14xHuBh -wB+mOKUpg5aUdqBElMpyM7zZOGvcmHE/Oo0XCM9/YDZu9vfN7wBe2P9oaJpLkp03 -R72njrwDYPpAuCD4KJNRjkdR64XmSREiF+yQk8KddtzCsSSBVOp9QZRdHkcdG4A5 -reYU09RGhWHSSdjNo5GEBojW+PN2ZX2YnOCGotA8NIxIYEHeQ8YafMQEziGosef/ -qbrG3dETE0rJBwIDAQABozUwMzAOBgNVHQ8BAf8EBAMCBaAwEwYDVR0lBAwwCgYI -KwYBBQUHAwIwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAgEAETBkdDrJ -zkYdZMcz2zEijphya8HaBQVwuyN/B4lDESmyyEgsT77fd9oWDPDE+R8VU840WeAC -NaGmhZ/38p4xqwlpSPJu57IJHFr1iHMdHkNFDyaX6yq9KZv8oxZ/5Wz40f8bn4/3 -O1132q6JwFawtVxvU3InflJQlJT5mFpkkFjaIiD8vS2y0UCw2SlcrLu2tt2CzfvT -UxuYVK5tQt7OVzFtixFuerR3xvHeq1zoRY5dhbXhN1EKvHELCWLZ/NI8H+U4So1A -1hjTPzUmx84khvk+gfWD+oLPF6f18OjdoCNjZrQXYVLiGY6samJAGQOxHtFToMGs -fdPD1NK4rH3ZPj3r7650hp1ARsIoVMf6pHibq92NJ+419TlbgIM1UTl8iNZmUGe/ -+AuXH6WW1xaBaYL2PemZCMb5Dwiv338hpNOvNq3SIDjCHYdX3AxfYt67Rhm5g7ao -ME6xdZs69QOJub+AurMo3Oxf6x2sCeSYrvR6UaJ6mr4k+AJsukxVoISWaMtd/cyH -CTsYYuG6MBusIsCVn/Z8hQtk5MlreUw2gQeTNuFuwBYfYbkDSp1Hs/LOkfwjc5eS -n1klHrfOfY6nOBUETXJNa9A7yDhm9rRbt8yL9YFnUkN8XmzMeqvxbzZltVbaryY2 -6Mxmj/G01rm1lMhDc/gRMbPauac5yMTROxs= ------END CERTIFICATE----- diff --git a/azure/_output/fabricnlp9/client.key b/azure/_output/fabricnlp9/client.key deleted file mode 100644 index 568a761..0000000 --- a/azure/_output/fabricnlp9/client.key +++ /dev/null @@ -1,51 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -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 ------END RSA PRIVATE KEY----- diff --git a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.australiaeast.json b/azure/_output/fabricnlp9/kubeconfig/kubeconfig.australiaeast.json deleted file mode 100644 index 86634d8..0000000 --- a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.australiaeast.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "apiVersion": "v1", - "clusters": [ - { - "cluster": { - "certificate-authority-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRVkZsMU1sZDA5L0xUazJRMk5JWG1GREFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1UQXdOREF4TkRaYUZ3MHhPVEV5TVRBd05EQXhORFphTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFzZmxGCmNvZCtwMTB4REdUM2ZXWm12K21OYXRhU2w4MFAzNTkrQ3JFWEY5OHYzaHdsQyt6eGpFRXhpZEdHSkdBcWpIc3QKdFlOREg5aG81bHdSWTROamJKcUJJZ3cvcDZ5RXB5WGg1MVliRFA2dDd6bHp3UVMyRjlJKzJ5aG02TWd3V3dSTQpkTmxHb1pzamFrbFJucTBWbXZ6eVk4WGVCVi84TllRb0QzNE1OdVZXVjZ0R0daeWZpdDFFT3YydCtqTnNLdXBRCm4xRGh4RGJkNE9LT3hvaC9md1hnL0tHU1gwWlRyUUY1eUV4c1VOaFdyQncrQnZ0Q2twdHc2aU1hT1Vhb0tVaDkKczVrTTA3clhCY0xmU2FuZ0FBVHZTMWQzNWZmaENZQmxseGl4Sk11QWFMcFNLaHlzekR2Z1BEV2dnUjcvRVZZUApaSDlMSlgwL20vT25DcFl2eURkUE0zeEhLd0pvbkdYS0tmMW1UTE5GUjE2b0YxU3N6QlZWZFNXc1FSSHNCTkdVCmMyZEYvRjZKaDBEV0JQZ2pINnJDOGhFNWFnQmY1Z09oa1hJVnJwZXo4cGtiUmRTampEbWpXWFkwMjkxY2lIRWUKdXlCWFh6MlVoeEJ6c2Y5QmVFUm5LTTBnQ2xLeEtid0dGTjRlc1djTzBEcEhlNm1YK3pnS3ZvSytIUHlVczhnUApkOU9wMU9zZWRIQ0NKWFl4TlIycWw0OFVBcmpENGYycHYxY2ZFekpORWpjb1FwbXlwSmtwUTRjbUZWMnREdjhhCksrS1NYajJvNEVwN1dJVFBEVWtuU3llN3pPamNPeFNmTG9XeWtldGcyZjZnSWVqemFJUm9XbVNkMlR0OHlwRUwKOVBkcXNKVWljbnkzOXNPcUNLYWxMeTRrdThWZ1FQMHVadDFPYW9FQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFGbU5NblhrCjN6YkhHeFNNRTR0bzJsWWJtQmZ1eGFpYlJhYnJpdExZMnEzUkpXNEhxNUVSZC80bm43TmRLWnZBbEh4ZXV2TTYKS1IxWTV1VGp3YjlZckp0VUI4eDlXR2w5R1RhVzNhZTlRZGR5Y1RHMEh6a1owWGFEcGp4ZExWcmVlWUYvRlBTQwp6djVjanhDUytqa3AzM1dGWm9nT2Z0Sjl1Nk9yKzNZV2NVeFBTV1JLeTZTSmVJN2pnWHlnM1hhZk9FbmI1bFJDCktSRit2dFk4cWhsT21uWnRSM1BaTDdsWGNDZGhqZFpRQ2Z2eTdaWVpmajIwckxJMFZVOWtoTFJVSWt2MDdJd0EKaEwwZkRXRVBnek9oM1JBOE1nMityT0EvUmJBVE45U0hCMEYzZXNpa2V6OUxmei82QjVLTitqRyt1TStEZjFxSwo1QlpSYnc1alNsQU9wZ2dBbzJhbDlBUVFIekdpRDRsQnpscy9wVFRFQXBERVVqempHWjY2WlhucTVrTDBjU0xmCmhwQjNPbDY4cldySVRxRDNSK2dJZDZXRGRWbVN6QXFxYnJVRHNQVXVjNWwvcFB6MWFBSjQrSlh1aFd2MzVXSXgKWTRscy9GY3VORks5bXhUS0dOeFdsWnh6aXpsK0tKenIrT09YaHAzQkhaTFpwRFFudmI4YnptZjRxNmFubGl1SQpsWmlRbEk4UUp6cWRpVEtNYTJ4dkMxTm5TS1ZNNHpISmZFWEliQ1ptMnkxQXNoQkRBSDFoczAyci9wdXlsM3QwCjdKcVQ3Y2VDanZESy9uRjQ3RUZ1c2tzV0dQMUJpRXlONExxbFJWeXB3MFA1MlFsMDJuRHFZbnlzSXZxS051RGIKQkJ2aUN3ajMzUGhCSldlWjNoNlBkaHNObUY2SVEwNjI3MVp4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", - "server": "https://fabricnlp9.australiaeast.cloudapp.azure.com" - }, - "name": "fabricnlp9" - } - ], - "contexts": [ - { - "context": { - "cluster": "fabricnlp9", - "user": "fabricnlp9-admin" - }, - "name": "fabricnlp9" - } - ], - "current-context": "fabricnlp9", - "kind": "Config", - "users": [ - { - "name": "fabricnlp9-admin", - "user": {"client-certificate-data":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUw0bWp3MmNCMUp6L3cxa05meXY4SzR3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qRXdNRFF3TVRRNFdoY05NVGt4TWpFd01EUXdNVFE0V2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXlaRCtySURBem51NUlXekZVbjFuQ28zRHREdTAKVWRtcFY5V3huZkszK0tHSFF1cmhGaEtVa2h1UnNMUnptMVJ1L2VWM2xHM3B5eXl0ZzFOeEdtZDJ3TlNTMEsvRApQNjlRL0RkaGlZQ1FMMnJJZ2NGaGZaTU1DOFVhcFg5SlEzc1RpMVhtWjMzMTBhVkVGaksxRlR0Y1kyWjVPOC9GCmZMSDZ0ZGw2a1Mrd3dwWHNmeXJ3WkRzZWw0SjVaYmxsTml5Y1JOc1VKQTQ4SzRWdnFGT05pbmRUQS80N1ZITDcKY0dlbS9xTm9qRHpTRHVoL2xzY3IxU1F2bGR6eTJnMnlJUFJhOEorZUt2UThFWnFzclBjL2xXQmdDVEowcFkxQwo5ZFVqQXdTLy93MW0wd204NUQ0MGppbVVzTDc2Y29NVG9YQ3d0WEdhWnlQTjJZUVNhRHBFbHNBQm8xZG1zS0ZCCnYwb2dpdDNxcWRuenVMVlpubFhyTDYyYUs4Q1lCcWNybEFuUW4rM0c3Rnpva00rRFlpcExnSVB6RFRyaW1OMkkKUFdtYi90Unp2dFhkWSsybzFEaGR2RHU4ZmM3ZUZnemZCcUZnWVpDOXlISjBka28vY3JtSTJMaXlud0Zwak82UgpCT204cHBWSzg4THJ4OWx3MTh4ZExkRklkZDgrUThJeHFVdEJzSVJiY2pSVVVyUlBXWnFXNjNCQ1NTK3ZjbE5pCnk3Q25NYkVKR0YrL29nSWNVYnFOb0tDRGc2Q0U1L3VyZENGcEc1MTBZejVvZHdxblJxZ2hUczE5US9XMjlibUIKVUlyUmhOdCtPRjBRYVZnVVZhSk9Pam5iL0tQb0lvKytkZUZjSjdJZFk4OVFEYkFYcEpCQjA5NXRsYkdNU3BJNQpPTTRwc2M2NGpHeURXbmNDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVkRGpmTkYKY0RXeHdaMm02YnB3TmdIUkVTdk80WVhhSng2WjlKbDRIeGhFMTJJOFpYSWdWemQ1ZHFmTk54SEkvODFXWHdsLwo3RmdESjBmKy9Ca2xaeEtDeWVpd2dwOHQvRDBLdFQ2Ny9ndTM0QnAxWEpVMnJoRkczREZhR2ZLUlRZVzZlUXFnCnFORHpaSFpKY0JuUEI1WjdxVkVPOGlBSk5PSzJqZDNXcGQycnhuUWJBU0hpbXVIc04vUVEvU084ekpNSEZZVCsKZ0lNM0NCR0gzUVQ3d1JSa3hxWEhkOVgrTkVtZ2pmL1laUm1GTDMrR3hGc0NZczhzcmQ5LzBCOXRoUDBBTDhzRApWNk1ybGVBVXZVdE41dUJQR1BDSW1raVA2d2xNZDdyamhmaUhWZTNyWEFvTmZwWitGZ3g5OUJuVHBMUXFhYTZMCldJQzNNbXpJZmVHZTNuZExHODE0Vi81YU9XeE53VzEvZFAzMThlK0d2dENHeUNSYUdBNnRsTThkdGtJU1licmgKYjJWVWlneEI5OGVMS0pTdU8rSDdZRENLbGRXWnpYeU9WODNYZWswVlZpWDl1TVRyWVQ0TU14M1ZTd2xBSXc3Vgp2eW5Ub2ViQlc2OERnV0FXMjRoR1FDVmd2WHpnUDBJdlpsUlhmMGZXRWpKWklQdHFnbnp3bVpmbkF1WkhKcGNZCjc2eUVJMTM1WXh5d1VPOGR5SEJsMEFIcldvZWZsY0ZtNjloRk9zZk1SdGxVTUhDeVhWdHFwRXp3dFYvVWZBVU0KaEp0L2pvREJTQUE1cHFud0I2SCtpNkpYOGlUcGt4SEt4UnNWaE5CQVRkelN5MERPejhPVm01cllKWnlqQlhRbApXL3ZOUDVlTGVwdk9xUm4zRFBqdy92SkFHMGl6d09MVTZVWUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=","client-key-data":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeVpEK3JJREF6bnU1SVd6RlVuMW5DbzNEdER1MFVkbXBWOVd4bmZLMytLR0hRdXJoCkZoS1VraHVSc0xSem0xUnUvZVYzbEczcHl5eXRnMU54R21kMndOU1MwSy9EUDY5US9EZGhpWUNRTDJySWdjRmgKZlpNTUM4VWFwWDlKUTNzVGkxWG1aMzMxMGFWRUZqSzFGVHRjWTJaNU84L0ZmTEg2dGRsNmtTK3d3cFhzZnlydwpaRHNlbDRKNVpibGxOaXljUk5zVUpBNDhLNFZ2cUZPTmluZFRBLzQ3VkhMN2NHZW0vcU5vakR6U0R1aC9sc2NyCjFTUXZsZHp5MmcyeUlQUmE4SitlS3ZROEVacXNyUGMvbFdCZ0NUSjBwWTFDOWRVakF3Uy8vdzFtMHdtODVENDAKamltVXNMNzZjb01Ub1hDd3RYR2FaeVBOMllRU2FEcEVsc0FCbzFkbXNLRkJ2MG9naXQzcXFkbnp1TFZabmxYcgpMNjJhSzhDWUJxY3JsQW5RbiszRzdGem9rTStEWWlwTGdJUHpEVHJpbU4ySVBXbWIvdFJ6dnRYZFkrMm8xRGhkCnZEdThmYzdlRmd6ZkJxRmdZWkM5eUhKMGRrby9jcm1JMkxpeW53RnBqTzZSQk9tOHBwVks4OExyeDlsdzE4eGQKTGRGSWRkOCtROEl4cVV0QnNJUmJjalJVVXJSUFdacVc2M0JDU1MrdmNsTml5N0NuTWJFSkdGKy9vZ0ljVWJxTgpvS0NEZzZDRTUvdXJkQ0ZwRzUxMFl6NW9kd3FuUnFnaFRzMTlRL1cyOWJtQlVJclJoTnQrT0YwUWFWZ1VWYUpPCk9qbmIvS1BvSW8rK2RlRmNKN0lkWTg5UURiQVhwSkJCMDk1dGxiR01TcEk1T000cHNjNjRqR3lEV25jQ0F3RUEKQVFLQ0FnRUFqOVpQVm13ZXFucHh0dDkyeEJIRzZTb1c0TlBHTHE2RGdMRjJxVDdlZDZkVTdiVE00TUpya1FQcAphRTZ0UE1mNDJHZmFlR29pN3lDM3hVSlRNTU5xWTlxTjFpdkd5ZmhpYzBsVjZoaDdTOHNJd0VkdU9YMG9tSEdVClBVdGl6YXZUVzVmMTdoNWR2N2dPcVVTUUlsR1U4VDNiLzRtWjVRemcyc29TQSs4alZRaEZsczNlYzdnWWNZZmkKOTJ0Z1JWTjZSRXlOeDlqOHFSWDBnd3Iwc3ozSldNMGdLM2hONDMya0Zvd25mQU9lNXBLVkVkU1plK1R4ckNEYQprQzQ3MGZadHVzNDh3V3crUFZYQ0tUL2ErTTZvV1lmTzQ2QzFpdFlJd1F1dnN1TXVZQ1RQelpSeVRveHZsZDBDCnZacTU5SGVGTWtXYUtFWE5qSTRKMEtUYjh6T2JObDZ0ajhVYnl6eFNKRVlVNWc4ajNNdEFXalRqUzhNWHpsNlgKakN3aEFGNnNUOTFZeW5Mc3Z1RVZSbTBsZHB0UkIwcExHMjgwci94ODhaSFlDR0YwdnI4TGRLei80MDBhdFFMWQprZGI5RUNDa2pPbVdIdmZVVlZPMjZBeVljWnA1b0k0clhYdGlEVHU4V0dVakhzUzBWc3ljZERqRXRBbzlYYndtCnpONGxMQmE5VFdvRDI5TlNmaUdlYTd1bzFlZ0h3WDlXbWdyUU5rdkM5cmJSTTZ6Z2xzbzRkWCtkQW9uaFRNbVMKQmRLYVhybzUrdFVSK09SditFUG5tZHpYb01uaGlibWRZYVZoc0xTY2FsaSs4MmZZdGJGQllCd1RtWHdZL0NzUAoxSW04Vkx2VDZQVkRUZ2Fjc2JMRVRZemhoNmhFMXQ3Y1F6TE83Zk4xbjJURnJjcEhKZGtDZ2dFQkFQS1ptbnBnClB1VWJubi9OK3R5clh2SGYvNUhHTUdwaTUvME56SnJDSG11ZmN4Q2lUVUgyekNqNE50T0VkRGgzaDZrUkFmc2MKc2xLZGZuWTdxM3lDdDdQRFNiaVY0WSttTndsU0pqM3czOGcxSW9YTkJFbG5rak5aM2hYd3FNSDNsMmZ4bDdHSgpwMUNxUWlHcXZQeEFERzVQREtYalFEUm5hRXBQWUVVem5vTjR3ZUlVeFZWTzhUSnNZaS9XTlNhSSsydThqZWtsCm1yMHVaZlhhaFZZcWtYdjM4QkZFSWtZcWtjTHBycWdPQ2JTQi9OTG14RTcyNTM4OFlHM1JHU1doa1d4ZmNYUFQKUmZkblIxcEErYUhrZkNOTFF0K0lGNzl6MzBQUEJjcmdYR0E4ZUhrRisvenhqRHV1SVdGMGMzb0lKbFZBclRjKwprd2dka3BUSk1CNko0d3NDZ2dFQkFOU3pLNkRDdWFLUTh2VUFHbks4ekZsYk8xZHpmQVhJdmtOWW1JVUV1RDQ4ClRtcGZheE96aVRSWEFWbjhZY3lReTdCbnFpRU95cTltYmZBOUhFSUkxS2hxSEV6MzYxUllXS200S1pmOUk0YjUKVTRsVUJ4bjhBaXNqWHk3bldGRnk4dGZwQ21ic1pjaGJxOStBNTAwQm52dEszWkE5SVU4ZWwxNThncXUrdnQrcQpZdjlONVhMcUVhTHNudDY1NU5iU2RZbmhjZGZTRDE1WlptL2dtR2JHVmx5VHUranAxMHkyZFVDQ3VHdzRIOENHClAxOHpBc1c2TjlCNlJCWk1LLzNNSHVkQi9IblJQUUZ5TkgvVFNQbFlFaTFxeWIzTXU3SU94MHdlUXBSMlVtNjcKdHdpTUN2VHNGOUpOSDNEcElHR0djUzliNlFoRVh6a3BTYmZvRVBIc3ljVUNnZ0VCQU45L3hZS0NrczhOdjlycwpqL1dtWjhVYjRWNlNJTjZTR2puVzhhMk5zdXJocmVjZ0wxN2JHTUdSMHlqUXVTV2djVG0vc254K3RvWklGRTZtCnNGajRNSGVMTGFyQllsbXQvcncyazRhekYrZGhsRm1DUkRYQUZqLzZ4aENlYzBxbmFEUlpyYS9oS21TMVJsR3YKODRYTkYrYTBLdW5WVDd3M25Dd0JycVp5Wk5Hb2VhNW9CbGlPYnNWT2RyS3RmSy93dVBoTGNNM2ZXQXg3NTNFMQpqV3VSc2hCc25oMjZFSDFtRUgxcVBmOFRWN3VWbWE5TzdJSDNFOVR6Y2I4YVNUbVMvTi9EbWtqajFteVVHSGM4CnJ2NkgraG1sNTRqNTN5OEJlQ29IV3NYS0p6Qjk1VnRSdVJJU0VtaVZCcW02MS93UDhBalFtZ1B3UVJMVDg4dmgKQWRUUW9Yc0NnZ0VBUmFiS2thRlNrdGF1aU9aWXd0dnFleFJ5RVVnakErM2h5RUg1NkExTW5DeTViUUlFR1hhQQpacUJiTS9GK3dUTmxVRVlTSXpNcDBsaFRoZ2tzK0w3VmpMVDZ3WVdxRFh2RXhRY21yN3ZZWjNtOERrdHk2K0puCmYyTGM1NG9nbE1OMG5KbVdxMitjUVFrcjlrdks4cCttUlJvV0JnYk9vbzhjK0hjRGYyUStNeFlqeHdEbU0wUk4KTkRJU01GTmxpYWR2a0JCQWJIRkFVU0FyZUZWdThyRGVWUUNYMTBURUdUM2lsWlo0K0E5RTdwSEhyTkFTaDFkYwpzYXRvSW5rZEtzWXVGSUs2UDlYeUNVZ3h3dTRZaG5aOXRWdXo1ckJsZ29CdWFSRzdzY3d4WUV1ZU8zRklvVDJ5CjYwNFFEclI0d3hiNGQ0NjhkOVdUN1M4RkVmRXZvMWxzRlFLQ0FRRUFrNmlpMFlmTGkvNnk4TVQ5dDgrZ1FqazYKTkhWZkRzYnc5c1hKWXZWWGswb0tUN1lBTVBmcnlkS0F0akZ5YlBBcGFDS3dPQlpqcFBySGh0Vy9HdkVub3VpRworQkVIM2x2S0NOUzBlQUVUVC8rNzlNTmVRRjBOazZhb2ZGNFRBei8yaWduMTJESXY5c1Y4NFJVc1VMVmw5bHlGCkpmdktLb1E1ZEg4WnhPQW9HVEVRRDhJdG0ra0FqdmppYnM4RFlnREp2VVRGZnFYcUtxOVJTK2VLS1VZWUM3VGYKejRub0Mvb0c3ZlA1cEpna0dlNU1EbFhHb05GUFNXZzJKVzRPbU1YZmV3WW80MmNOQnhsc0ROUXFYSnFSdXAyRwplT2xNaXU2SmRsak9CRFc5RG8xbHhVaG9JOG9SdW5JRVVGdEN5MUdFWHpYaWdOQ21vbE1qQjUveDJYTzFvZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="} - } - ] -} diff --git a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.australiasoutheast.json b/azure/_output/fabricnlp9/kubeconfig/kubeconfig.australiasoutheast.json deleted file mode 100644 index 2ebb6a7..0000000 --- a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.australiasoutheast.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "apiVersion": "v1", - "clusters": [ - { - "cluster": { - "certificate-authority-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRVkZsMU1sZDA5L0xUazJRMk5JWG1GREFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1UQXdOREF4TkRaYUZ3MHhPVEV5TVRBd05EQXhORFphTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFzZmxGCmNvZCtwMTB4REdUM2ZXWm12K21OYXRhU2w4MFAzNTkrQ3JFWEY5OHYzaHdsQyt6eGpFRXhpZEdHSkdBcWpIc3QKdFlOREg5aG81bHdSWTROamJKcUJJZ3cvcDZ5RXB5WGg1MVliRFA2dDd6bHp3UVMyRjlJKzJ5aG02TWd3V3dSTQpkTmxHb1pzamFrbFJucTBWbXZ6eVk4WGVCVi84TllRb0QzNE1OdVZXVjZ0R0daeWZpdDFFT3YydCtqTnNLdXBRCm4xRGh4RGJkNE9LT3hvaC9md1hnL0tHU1gwWlRyUUY1eUV4c1VOaFdyQncrQnZ0Q2twdHc2aU1hT1Vhb0tVaDkKczVrTTA3clhCY0xmU2FuZ0FBVHZTMWQzNWZmaENZQmxseGl4Sk11QWFMcFNLaHlzekR2Z1BEV2dnUjcvRVZZUApaSDlMSlgwL20vT25DcFl2eURkUE0zeEhLd0pvbkdYS0tmMW1UTE5GUjE2b0YxU3N6QlZWZFNXc1FSSHNCTkdVCmMyZEYvRjZKaDBEV0JQZ2pINnJDOGhFNWFnQmY1Z09oa1hJVnJwZXo4cGtiUmRTampEbWpXWFkwMjkxY2lIRWUKdXlCWFh6MlVoeEJ6c2Y5QmVFUm5LTTBnQ2xLeEtid0dGTjRlc1djTzBEcEhlNm1YK3pnS3ZvSytIUHlVczhnUApkOU9wMU9zZWRIQ0NKWFl4TlIycWw0OFVBcmpENGYycHYxY2ZFekpORWpjb1FwbXlwSmtwUTRjbUZWMnREdjhhCksrS1NYajJvNEVwN1dJVFBEVWtuU3llN3pPamNPeFNmTG9XeWtldGcyZjZnSWVqemFJUm9XbVNkMlR0OHlwRUwKOVBkcXNKVWljbnkzOXNPcUNLYWxMeTRrdThWZ1FQMHVadDFPYW9FQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFGbU5NblhrCjN6YkhHeFNNRTR0bzJsWWJtQmZ1eGFpYlJhYnJpdExZMnEzUkpXNEhxNUVSZC80bm43TmRLWnZBbEh4ZXV2TTYKS1IxWTV1VGp3YjlZckp0VUI4eDlXR2w5R1RhVzNhZTlRZGR5Y1RHMEh6a1owWGFEcGp4ZExWcmVlWUYvRlBTQwp6djVjanhDUytqa3AzM1dGWm9nT2Z0Sjl1Nk9yKzNZV2NVeFBTV1JLeTZTSmVJN2pnWHlnM1hhZk9FbmI1bFJDCktSRit2dFk4cWhsT21uWnRSM1BaTDdsWGNDZGhqZFpRQ2Z2eTdaWVpmajIwckxJMFZVOWtoTFJVSWt2MDdJd0EKaEwwZkRXRVBnek9oM1JBOE1nMityT0EvUmJBVE45U0hCMEYzZXNpa2V6OUxmei82QjVLTitqRyt1TStEZjFxSwo1QlpSYnc1alNsQU9wZ2dBbzJhbDlBUVFIekdpRDRsQnpscy9wVFRFQXBERVVqempHWjY2WlhucTVrTDBjU0xmCmhwQjNPbDY4cldySVRxRDNSK2dJZDZXRGRWbVN6QXFxYnJVRHNQVXVjNWwvcFB6MWFBSjQrSlh1aFd2MzVXSXgKWTRscy9GY3VORks5bXhUS0dOeFdsWnh6aXpsK0tKenIrT09YaHAzQkhaTFpwRFFudmI4YnptZjRxNmFubGl1SQpsWmlRbEk4UUp6cWRpVEtNYTJ4dkMxTm5TS1ZNNHpISmZFWEliQ1ptMnkxQXNoQkRBSDFoczAyci9wdXlsM3QwCjdKcVQ3Y2VDanZESy9uRjQ3RUZ1c2tzV0dQMUJpRXlONExxbFJWeXB3MFA1MlFsMDJuRHFZbnlzSXZxS051RGIKQkJ2aUN3ajMzUGhCSldlWjNoNlBkaHNObUY2SVEwNjI3MVp4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", - "server": "https://fabricnlp9.australiasoutheast.cloudapp.azure.com" - }, - "name": "fabricnlp9" - } - ], - "contexts": [ - { - "context": { - "cluster": "fabricnlp9", - "user": "fabricnlp9-admin" - }, - "name": "fabricnlp9" - } - ], - "current-context": "fabricnlp9", - "kind": "Config", - "users": [ - { - "name": "fabricnlp9-admin", - "user": {"client-certificate-data":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUw0bWp3MmNCMUp6L3cxa05meXY4SzR3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qRXdNRFF3TVRRNFdoY05NVGt4TWpFd01EUXdNVFE0V2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXlaRCtySURBem51NUlXekZVbjFuQ28zRHREdTAKVWRtcFY5V3huZkszK0tHSFF1cmhGaEtVa2h1UnNMUnptMVJ1L2VWM2xHM3B5eXl0ZzFOeEdtZDJ3TlNTMEsvRApQNjlRL0RkaGlZQ1FMMnJJZ2NGaGZaTU1DOFVhcFg5SlEzc1RpMVhtWjMzMTBhVkVGaksxRlR0Y1kyWjVPOC9GCmZMSDZ0ZGw2a1Mrd3dwWHNmeXJ3WkRzZWw0SjVaYmxsTml5Y1JOc1VKQTQ4SzRWdnFGT05pbmRUQS80N1ZITDcKY0dlbS9xTm9qRHpTRHVoL2xzY3IxU1F2bGR6eTJnMnlJUFJhOEorZUt2UThFWnFzclBjL2xXQmdDVEowcFkxQwo5ZFVqQXdTLy93MW0wd204NUQ0MGppbVVzTDc2Y29NVG9YQ3d0WEdhWnlQTjJZUVNhRHBFbHNBQm8xZG1zS0ZCCnYwb2dpdDNxcWRuenVMVlpubFhyTDYyYUs4Q1lCcWNybEFuUW4rM0c3Rnpva00rRFlpcExnSVB6RFRyaW1OMkkKUFdtYi90Unp2dFhkWSsybzFEaGR2RHU4ZmM3ZUZnemZCcUZnWVpDOXlISjBka28vY3JtSTJMaXlud0Zwak82UgpCT204cHBWSzg4THJ4OWx3MTh4ZExkRklkZDgrUThJeHFVdEJzSVJiY2pSVVVyUlBXWnFXNjNCQ1NTK3ZjbE5pCnk3Q25NYkVKR0YrL29nSWNVYnFOb0tDRGc2Q0U1L3VyZENGcEc1MTBZejVvZHdxblJxZ2hUczE5US9XMjlibUIKVUlyUmhOdCtPRjBRYVZnVVZhSk9Pam5iL0tQb0lvKytkZUZjSjdJZFk4OVFEYkFYcEpCQjA5NXRsYkdNU3BJNQpPTTRwc2M2NGpHeURXbmNDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVkRGpmTkYKY0RXeHdaMm02YnB3TmdIUkVTdk80WVhhSng2WjlKbDRIeGhFMTJJOFpYSWdWemQ1ZHFmTk54SEkvODFXWHdsLwo3RmdESjBmKy9Ca2xaeEtDeWVpd2dwOHQvRDBLdFQ2Ny9ndTM0QnAxWEpVMnJoRkczREZhR2ZLUlRZVzZlUXFnCnFORHpaSFpKY0JuUEI1WjdxVkVPOGlBSk5PSzJqZDNXcGQycnhuUWJBU0hpbXVIc04vUVEvU084ekpNSEZZVCsKZ0lNM0NCR0gzUVQ3d1JSa3hxWEhkOVgrTkVtZ2pmL1laUm1GTDMrR3hGc0NZczhzcmQ5LzBCOXRoUDBBTDhzRApWNk1ybGVBVXZVdE41dUJQR1BDSW1raVA2d2xNZDdyamhmaUhWZTNyWEFvTmZwWitGZ3g5OUJuVHBMUXFhYTZMCldJQzNNbXpJZmVHZTNuZExHODE0Vi81YU9XeE53VzEvZFAzMThlK0d2dENHeUNSYUdBNnRsTThkdGtJU1licmgKYjJWVWlneEI5OGVMS0pTdU8rSDdZRENLbGRXWnpYeU9WODNYZWswVlZpWDl1TVRyWVQ0TU14M1ZTd2xBSXc3Vgp2eW5Ub2ViQlc2OERnV0FXMjRoR1FDVmd2WHpnUDBJdlpsUlhmMGZXRWpKWklQdHFnbnp3bVpmbkF1WkhKcGNZCjc2eUVJMTM1WXh5d1VPOGR5SEJsMEFIcldvZWZsY0ZtNjloRk9zZk1SdGxVTUhDeVhWdHFwRXp3dFYvVWZBVU0KaEp0L2pvREJTQUE1cHFud0I2SCtpNkpYOGlUcGt4SEt4UnNWaE5CQVRkelN5MERPejhPVm01cllKWnlqQlhRbApXL3ZOUDVlTGVwdk9xUm4zRFBqdy92SkFHMGl6d09MVTZVWUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=","client-key-data":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeVpEK3JJREF6bnU1SVd6RlVuMW5DbzNEdER1MFVkbXBWOVd4bmZLMytLR0hRdXJoCkZoS1VraHVSc0xSem0xUnUvZVYzbEczcHl5eXRnMU54R21kMndOU1MwSy9EUDY5US9EZGhpWUNRTDJySWdjRmgKZlpNTUM4VWFwWDlKUTNzVGkxWG1aMzMxMGFWRUZqSzFGVHRjWTJaNU84L0ZmTEg2dGRsNmtTK3d3cFhzZnlydwpaRHNlbDRKNVpibGxOaXljUk5zVUpBNDhLNFZ2cUZPTmluZFRBLzQ3VkhMN2NHZW0vcU5vakR6U0R1aC9sc2NyCjFTUXZsZHp5MmcyeUlQUmE4SitlS3ZROEVacXNyUGMvbFdCZ0NUSjBwWTFDOWRVakF3Uy8vdzFtMHdtODVENDAKamltVXNMNzZjb01Ub1hDd3RYR2FaeVBOMllRU2FEcEVsc0FCbzFkbXNLRkJ2MG9naXQzcXFkbnp1TFZabmxYcgpMNjJhSzhDWUJxY3JsQW5RbiszRzdGem9rTStEWWlwTGdJUHpEVHJpbU4ySVBXbWIvdFJ6dnRYZFkrMm8xRGhkCnZEdThmYzdlRmd6ZkJxRmdZWkM5eUhKMGRrby9jcm1JMkxpeW53RnBqTzZSQk9tOHBwVks4OExyeDlsdzE4eGQKTGRGSWRkOCtROEl4cVV0QnNJUmJjalJVVXJSUFdacVc2M0JDU1MrdmNsTml5N0NuTWJFSkdGKy9vZ0ljVWJxTgpvS0NEZzZDRTUvdXJkQ0ZwRzUxMFl6NW9kd3FuUnFnaFRzMTlRL1cyOWJtQlVJclJoTnQrT0YwUWFWZ1VWYUpPCk9qbmIvS1BvSW8rK2RlRmNKN0lkWTg5UURiQVhwSkJCMDk1dGxiR01TcEk1T000cHNjNjRqR3lEV25jQ0F3RUEKQVFLQ0FnRUFqOVpQVm13ZXFucHh0dDkyeEJIRzZTb1c0TlBHTHE2RGdMRjJxVDdlZDZkVTdiVE00TUpya1FQcAphRTZ0UE1mNDJHZmFlR29pN3lDM3hVSlRNTU5xWTlxTjFpdkd5ZmhpYzBsVjZoaDdTOHNJd0VkdU9YMG9tSEdVClBVdGl6YXZUVzVmMTdoNWR2N2dPcVVTUUlsR1U4VDNiLzRtWjVRemcyc29TQSs4alZRaEZsczNlYzdnWWNZZmkKOTJ0Z1JWTjZSRXlOeDlqOHFSWDBnd3Iwc3ozSldNMGdLM2hONDMya0Zvd25mQU9lNXBLVkVkU1plK1R4ckNEYQprQzQ3MGZadHVzNDh3V3crUFZYQ0tUL2ErTTZvV1lmTzQ2QzFpdFlJd1F1dnN1TXVZQ1RQelpSeVRveHZsZDBDCnZacTU5SGVGTWtXYUtFWE5qSTRKMEtUYjh6T2JObDZ0ajhVYnl6eFNKRVlVNWc4ajNNdEFXalRqUzhNWHpsNlgKakN3aEFGNnNUOTFZeW5Mc3Z1RVZSbTBsZHB0UkIwcExHMjgwci94ODhaSFlDR0YwdnI4TGRLei80MDBhdFFMWQprZGI5RUNDa2pPbVdIdmZVVlZPMjZBeVljWnA1b0k0clhYdGlEVHU4V0dVakhzUzBWc3ljZERqRXRBbzlYYndtCnpONGxMQmE5VFdvRDI5TlNmaUdlYTd1bzFlZ0h3WDlXbWdyUU5rdkM5cmJSTTZ6Z2xzbzRkWCtkQW9uaFRNbVMKQmRLYVhybzUrdFVSK09SditFUG5tZHpYb01uaGlibWRZYVZoc0xTY2FsaSs4MmZZdGJGQllCd1RtWHdZL0NzUAoxSW04Vkx2VDZQVkRUZ2Fjc2JMRVRZemhoNmhFMXQ3Y1F6TE83Zk4xbjJURnJjcEhKZGtDZ2dFQkFQS1ptbnBnClB1VWJubi9OK3R5clh2SGYvNUhHTUdwaTUvME56SnJDSG11ZmN4Q2lUVUgyekNqNE50T0VkRGgzaDZrUkFmc2MKc2xLZGZuWTdxM3lDdDdQRFNiaVY0WSttTndsU0pqM3czOGcxSW9YTkJFbG5rak5aM2hYd3FNSDNsMmZ4bDdHSgpwMUNxUWlHcXZQeEFERzVQREtYalFEUm5hRXBQWUVVem5vTjR3ZUlVeFZWTzhUSnNZaS9XTlNhSSsydThqZWtsCm1yMHVaZlhhaFZZcWtYdjM4QkZFSWtZcWtjTHBycWdPQ2JTQi9OTG14RTcyNTM4OFlHM1JHU1doa1d4ZmNYUFQKUmZkblIxcEErYUhrZkNOTFF0K0lGNzl6MzBQUEJjcmdYR0E4ZUhrRisvenhqRHV1SVdGMGMzb0lKbFZBclRjKwprd2dka3BUSk1CNko0d3NDZ2dFQkFOU3pLNkRDdWFLUTh2VUFHbks4ekZsYk8xZHpmQVhJdmtOWW1JVUV1RDQ4ClRtcGZheE96aVRSWEFWbjhZY3lReTdCbnFpRU95cTltYmZBOUhFSUkxS2hxSEV6MzYxUllXS200S1pmOUk0YjUKVTRsVUJ4bjhBaXNqWHk3bldGRnk4dGZwQ21ic1pjaGJxOStBNTAwQm52dEszWkE5SVU4ZWwxNThncXUrdnQrcQpZdjlONVhMcUVhTHNudDY1NU5iU2RZbmhjZGZTRDE1WlptL2dtR2JHVmx5VHUranAxMHkyZFVDQ3VHdzRIOENHClAxOHpBc1c2TjlCNlJCWk1LLzNNSHVkQi9IblJQUUZ5TkgvVFNQbFlFaTFxeWIzTXU3SU94MHdlUXBSMlVtNjcKdHdpTUN2VHNGOUpOSDNEcElHR0djUzliNlFoRVh6a3BTYmZvRVBIc3ljVUNnZ0VCQU45L3hZS0NrczhOdjlycwpqL1dtWjhVYjRWNlNJTjZTR2puVzhhMk5zdXJocmVjZ0wxN2JHTUdSMHlqUXVTV2djVG0vc254K3RvWklGRTZtCnNGajRNSGVMTGFyQllsbXQvcncyazRhekYrZGhsRm1DUkRYQUZqLzZ4aENlYzBxbmFEUlpyYS9oS21TMVJsR3YKODRYTkYrYTBLdW5WVDd3M25Dd0JycVp5Wk5Hb2VhNW9CbGlPYnNWT2RyS3RmSy93dVBoTGNNM2ZXQXg3NTNFMQpqV3VSc2hCc25oMjZFSDFtRUgxcVBmOFRWN3VWbWE5TzdJSDNFOVR6Y2I4YVNUbVMvTi9EbWtqajFteVVHSGM4CnJ2NkgraG1sNTRqNTN5OEJlQ29IV3NYS0p6Qjk1VnRSdVJJU0VtaVZCcW02MS93UDhBalFtZ1B3UVJMVDg4dmgKQWRUUW9Yc0NnZ0VBUmFiS2thRlNrdGF1aU9aWXd0dnFleFJ5RVVnakErM2h5RUg1NkExTW5DeTViUUlFR1hhQQpacUJiTS9GK3dUTmxVRVlTSXpNcDBsaFRoZ2tzK0w3VmpMVDZ3WVdxRFh2RXhRY21yN3ZZWjNtOERrdHk2K0puCmYyTGM1NG9nbE1OMG5KbVdxMitjUVFrcjlrdks4cCttUlJvV0JnYk9vbzhjK0hjRGYyUStNeFlqeHdEbU0wUk4KTkRJU01GTmxpYWR2a0JCQWJIRkFVU0FyZUZWdThyRGVWUUNYMTBURUdUM2lsWlo0K0E5RTdwSEhyTkFTaDFkYwpzYXRvSW5rZEtzWXVGSUs2UDlYeUNVZ3h3dTRZaG5aOXRWdXo1ckJsZ29CdWFSRzdzY3d4WUV1ZU8zRklvVDJ5CjYwNFFEclI0d3hiNGQ0NjhkOVdUN1M4RkVmRXZvMWxzRlFLQ0FRRUFrNmlpMFlmTGkvNnk4TVQ5dDgrZ1FqazYKTkhWZkRzYnc5c1hKWXZWWGswb0tUN1lBTVBmcnlkS0F0akZ5YlBBcGFDS3dPQlpqcFBySGh0Vy9HdkVub3VpRworQkVIM2x2S0NOUzBlQUVUVC8rNzlNTmVRRjBOazZhb2ZGNFRBei8yaWduMTJESXY5c1Y4NFJVc1VMVmw5bHlGCkpmdktLb1E1ZEg4WnhPQW9HVEVRRDhJdG0ra0FqdmppYnM4RFlnREp2VVRGZnFYcUtxOVJTK2VLS1VZWUM3VGYKejRub0Mvb0c3ZlA1cEpna0dlNU1EbFhHb05GUFNXZzJKVzRPbU1YZmV3WW80MmNOQnhsc0ROUXFYSnFSdXAyRwplT2xNaXU2SmRsak9CRFc5RG8xbHhVaG9JOG9SdW5JRVVGdEN5MUdFWHpYaWdOQ21vbE1qQjUveDJYTzFvZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="} - } - ] -} diff --git a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.brazilsouth.json b/azure/_output/fabricnlp9/kubeconfig/kubeconfig.brazilsouth.json deleted file mode 100644 index 01121b8..0000000 --- a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.brazilsouth.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "apiVersion": "v1", - "clusters": [ - { - "cluster": { - "certificate-authority-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRVkZsMU1sZDA5L0xUazJRMk5JWG1GREFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1UQXdOREF4TkRaYUZ3MHhPVEV5TVRBd05EQXhORFphTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFzZmxGCmNvZCtwMTB4REdUM2ZXWm12K21OYXRhU2w4MFAzNTkrQ3JFWEY5OHYzaHdsQyt6eGpFRXhpZEdHSkdBcWpIc3QKdFlOREg5aG81bHdSWTROamJKcUJJZ3cvcDZ5RXB5WGg1MVliRFA2dDd6bHp3UVMyRjlJKzJ5aG02TWd3V3dSTQpkTmxHb1pzamFrbFJucTBWbXZ6eVk4WGVCVi84TllRb0QzNE1OdVZXVjZ0R0daeWZpdDFFT3YydCtqTnNLdXBRCm4xRGh4RGJkNE9LT3hvaC9md1hnL0tHU1gwWlRyUUY1eUV4c1VOaFdyQncrQnZ0Q2twdHc2aU1hT1Vhb0tVaDkKczVrTTA3clhCY0xmU2FuZ0FBVHZTMWQzNWZmaENZQmxseGl4Sk11QWFMcFNLaHlzekR2Z1BEV2dnUjcvRVZZUApaSDlMSlgwL20vT25DcFl2eURkUE0zeEhLd0pvbkdYS0tmMW1UTE5GUjE2b0YxU3N6QlZWZFNXc1FSSHNCTkdVCmMyZEYvRjZKaDBEV0JQZ2pINnJDOGhFNWFnQmY1Z09oa1hJVnJwZXo4cGtiUmRTampEbWpXWFkwMjkxY2lIRWUKdXlCWFh6MlVoeEJ6c2Y5QmVFUm5LTTBnQ2xLeEtid0dGTjRlc1djTzBEcEhlNm1YK3pnS3ZvSytIUHlVczhnUApkOU9wMU9zZWRIQ0NKWFl4TlIycWw0OFVBcmpENGYycHYxY2ZFekpORWpjb1FwbXlwSmtwUTRjbUZWMnREdjhhCksrS1NYajJvNEVwN1dJVFBEVWtuU3llN3pPamNPeFNmTG9XeWtldGcyZjZnSWVqemFJUm9XbVNkMlR0OHlwRUwKOVBkcXNKVWljbnkzOXNPcUNLYWxMeTRrdThWZ1FQMHVadDFPYW9FQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFGbU5NblhrCjN6YkhHeFNNRTR0bzJsWWJtQmZ1eGFpYlJhYnJpdExZMnEzUkpXNEhxNUVSZC80bm43TmRLWnZBbEh4ZXV2TTYKS1IxWTV1VGp3YjlZckp0VUI4eDlXR2w5R1RhVzNhZTlRZGR5Y1RHMEh6a1owWGFEcGp4ZExWcmVlWUYvRlBTQwp6djVjanhDUytqa3AzM1dGWm9nT2Z0Sjl1Nk9yKzNZV2NVeFBTV1JLeTZTSmVJN2pnWHlnM1hhZk9FbmI1bFJDCktSRit2dFk4cWhsT21uWnRSM1BaTDdsWGNDZGhqZFpRQ2Z2eTdaWVpmajIwckxJMFZVOWtoTFJVSWt2MDdJd0EKaEwwZkRXRVBnek9oM1JBOE1nMityT0EvUmJBVE45U0hCMEYzZXNpa2V6OUxmei82QjVLTitqRyt1TStEZjFxSwo1QlpSYnc1alNsQU9wZ2dBbzJhbDlBUVFIekdpRDRsQnpscy9wVFRFQXBERVVqempHWjY2WlhucTVrTDBjU0xmCmhwQjNPbDY4cldySVRxRDNSK2dJZDZXRGRWbVN6QXFxYnJVRHNQVXVjNWwvcFB6MWFBSjQrSlh1aFd2MzVXSXgKWTRscy9GY3VORks5bXhUS0dOeFdsWnh6aXpsK0tKenIrT09YaHAzQkhaTFpwRFFudmI4YnptZjRxNmFubGl1SQpsWmlRbEk4UUp6cWRpVEtNYTJ4dkMxTm5TS1ZNNHpISmZFWEliQ1ptMnkxQXNoQkRBSDFoczAyci9wdXlsM3QwCjdKcVQ3Y2VDanZESy9uRjQ3RUZ1c2tzV0dQMUJpRXlONExxbFJWeXB3MFA1MlFsMDJuRHFZbnlzSXZxS051RGIKQkJ2aUN3ajMzUGhCSldlWjNoNlBkaHNObUY2SVEwNjI3MVp4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", - "server": "https://fabricnlp9.brazilsouth.cloudapp.azure.com" - }, - "name": "fabricnlp9" - } - ], - "contexts": [ - { - "context": { - "cluster": "fabricnlp9", - "user": "fabricnlp9-admin" - }, - "name": "fabricnlp9" - } - ], - "current-context": "fabricnlp9", - "kind": "Config", - "users": [ - { - "name": "fabricnlp9-admin", - "user": {"client-certificate-data":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUw0bWp3MmNCMUp6L3cxa05meXY4SzR3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qRXdNRFF3TVRRNFdoY05NVGt4TWpFd01EUXdNVFE0V2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXlaRCtySURBem51NUlXekZVbjFuQ28zRHREdTAKVWRtcFY5V3huZkszK0tHSFF1cmhGaEtVa2h1UnNMUnptMVJ1L2VWM2xHM3B5eXl0ZzFOeEdtZDJ3TlNTMEsvRApQNjlRL0RkaGlZQ1FMMnJJZ2NGaGZaTU1DOFVhcFg5SlEzc1RpMVhtWjMzMTBhVkVGaksxRlR0Y1kyWjVPOC9GCmZMSDZ0ZGw2a1Mrd3dwWHNmeXJ3WkRzZWw0SjVaYmxsTml5Y1JOc1VKQTQ4SzRWdnFGT05pbmRUQS80N1ZITDcKY0dlbS9xTm9qRHpTRHVoL2xzY3IxU1F2bGR6eTJnMnlJUFJhOEorZUt2UThFWnFzclBjL2xXQmdDVEowcFkxQwo5ZFVqQXdTLy93MW0wd204NUQ0MGppbVVzTDc2Y29NVG9YQ3d0WEdhWnlQTjJZUVNhRHBFbHNBQm8xZG1zS0ZCCnYwb2dpdDNxcWRuenVMVlpubFhyTDYyYUs4Q1lCcWNybEFuUW4rM0c3Rnpva00rRFlpcExnSVB6RFRyaW1OMkkKUFdtYi90Unp2dFhkWSsybzFEaGR2RHU4ZmM3ZUZnemZCcUZnWVpDOXlISjBka28vY3JtSTJMaXlud0Zwak82UgpCT204cHBWSzg4THJ4OWx3MTh4ZExkRklkZDgrUThJeHFVdEJzSVJiY2pSVVVyUlBXWnFXNjNCQ1NTK3ZjbE5pCnk3Q25NYkVKR0YrL29nSWNVYnFOb0tDRGc2Q0U1L3VyZENGcEc1MTBZejVvZHdxblJxZ2hUczE5US9XMjlibUIKVUlyUmhOdCtPRjBRYVZnVVZhSk9Pam5iL0tQb0lvKytkZUZjSjdJZFk4OVFEYkFYcEpCQjA5NXRsYkdNU3BJNQpPTTRwc2M2NGpHeURXbmNDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVkRGpmTkYKY0RXeHdaMm02YnB3TmdIUkVTdk80WVhhSng2WjlKbDRIeGhFMTJJOFpYSWdWemQ1ZHFmTk54SEkvODFXWHdsLwo3RmdESjBmKy9Ca2xaeEtDeWVpd2dwOHQvRDBLdFQ2Ny9ndTM0QnAxWEpVMnJoRkczREZhR2ZLUlRZVzZlUXFnCnFORHpaSFpKY0JuUEI1WjdxVkVPOGlBSk5PSzJqZDNXcGQycnhuUWJBU0hpbXVIc04vUVEvU084ekpNSEZZVCsKZ0lNM0NCR0gzUVQ3d1JSa3hxWEhkOVgrTkVtZ2pmL1laUm1GTDMrR3hGc0NZczhzcmQ5LzBCOXRoUDBBTDhzRApWNk1ybGVBVXZVdE41dUJQR1BDSW1raVA2d2xNZDdyamhmaUhWZTNyWEFvTmZwWitGZ3g5OUJuVHBMUXFhYTZMCldJQzNNbXpJZmVHZTNuZExHODE0Vi81YU9XeE53VzEvZFAzMThlK0d2dENHeUNSYUdBNnRsTThkdGtJU1licmgKYjJWVWlneEI5OGVMS0pTdU8rSDdZRENLbGRXWnpYeU9WODNYZWswVlZpWDl1TVRyWVQ0TU14M1ZTd2xBSXc3Vgp2eW5Ub2ViQlc2OERnV0FXMjRoR1FDVmd2WHpnUDBJdlpsUlhmMGZXRWpKWklQdHFnbnp3bVpmbkF1WkhKcGNZCjc2eUVJMTM1WXh5d1VPOGR5SEJsMEFIcldvZWZsY0ZtNjloRk9zZk1SdGxVTUhDeVhWdHFwRXp3dFYvVWZBVU0KaEp0L2pvREJTQUE1cHFud0I2SCtpNkpYOGlUcGt4SEt4UnNWaE5CQVRkelN5MERPejhPVm01cllKWnlqQlhRbApXL3ZOUDVlTGVwdk9xUm4zRFBqdy92SkFHMGl6d09MVTZVWUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=","client-key-data":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeVpEK3JJREF6bnU1SVd6RlVuMW5DbzNEdER1MFVkbXBWOVd4bmZLMytLR0hRdXJoCkZoS1VraHVSc0xSem0xUnUvZVYzbEczcHl5eXRnMU54R21kMndOU1MwSy9EUDY5US9EZGhpWUNRTDJySWdjRmgKZlpNTUM4VWFwWDlKUTNzVGkxWG1aMzMxMGFWRUZqSzFGVHRjWTJaNU84L0ZmTEg2dGRsNmtTK3d3cFhzZnlydwpaRHNlbDRKNVpibGxOaXljUk5zVUpBNDhLNFZ2cUZPTmluZFRBLzQ3VkhMN2NHZW0vcU5vakR6U0R1aC9sc2NyCjFTUXZsZHp5MmcyeUlQUmE4SitlS3ZROEVacXNyUGMvbFdCZ0NUSjBwWTFDOWRVakF3Uy8vdzFtMHdtODVENDAKamltVXNMNzZjb01Ub1hDd3RYR2FaeVBOMllRU2FEcEVsc0FCbzFkbXNLRkJ2MG9naXQzcXFkbnp1TFZabmxYcgpMNjJhSzhDWUJxY3JsQW5RbiszRzdGem9rTStEWWlwTGdJUHpEVHJpbU4ySVBXbWIvdFJ6dnRYZFkrMm8xRGhkCnZEdThmYzdlRmd6ZkJxRmdZWkM5eUhKMGRrby9jcm1JMkxpeW53RnBqTzZSQk9tOHBwVks4OExyeDlsdzE4eGQKTGRGSWRkOCtROEl4cVV0QnNJUmJjalJVVXJSUFdacVc2M0JDU1MrdmNsTml5N0NuTWJFSkdGKy9vZ0ljVWJxTgpvS0NEZzZDRTUvdXJkQ0ZwRzUxMFl6NW9kd3FuUnFnaFRzMTlRL1cyOWJtQlVJclJoTnQrT0YwUWFWZ1VWYUpPCk9qbmIvS1BvSW8rK2RlRmNKN0lkWTg5UURiQVhwSkJCMDk1dGxiR01TcEk1T000cHNjNjRqR3lEV25jQ0F3RUEKQVFLQ0FnRUFqOVpQVm13ZXFucHh0dDkyeEJIRzZTb1c0TlBHTHE2RGdMRjJxVDdlZDZkVTdiVE00TUpya1FQcAphRTZ0UE1mNDJHZmFlR29pN3lDM3hVSlRNTU5xWTlxTjFpdkd5ZmhpYzBsVjZoaDdTOHNJd0VkdU9YMG9tSEdVClBVdGl6YXZUVzVmMTdoNWR2N2dPcVVTUUlsR1U4VDNiLzRtWjVRemcyc29TQSs4alZRaEZsczNlYzdnWWNZZmkKOTJ0Z1JWTjZSRXlOeDlqOHFSWDBnd3Iwc3ozSldNMGdLM2hONDMya0Zvd25mQU9lNXBLVkVkU1plK1R4ckNEYQprQzQ3MGZadHVzNDh3V3crUFZYQ0tUL2ErTTZvV1lmTzQ2QzFpdFlJd1F1dnN1TXVZQ1RQelpSeVRveHZsZDBDCnZacTU5SGVGTWtXYUtFWE5qSTRKMEtUYjh6T2JObDZ0ajhVYnl6eFNKRVlVNWc4ajNNdEFXalRqUzhNWHpsNlgKakN3aEFGNnNUOTFZeW5Mc3Z1RVZSbTBsZHB0UkIwcExHMjgwci94ODhaSFlDR0YwdnI4TGRLei80MDBhdFFMWQprZGI5RUNDa2pPbVdIdmZVVlZPMjZBeVljWnA1b0k0clhYdGlEVHU4V0dVakhzUzBWc3ljZERqRXRBbzlYYndtCnpONGxMQmE5VFdvRDI5TlNmaUdlYTd1bzFlZ0h3WDlXbWdyUU5rdkM5cmJSTTZ6Z2xzbzRkWCtkQW9uaFRNbVMKQmRLYVhybzUrdFVSK09SditFUG5tZHpYb01uaGlibWRZYVZoc0xTY2FsaSs4MmZZdGJGQllCd1RtWHdZL0NzUAoxSW04Vkx2VDZQVkRUZ2Fjc2JMRVRZemhoNmhFMXQ3Y1F6TE83Zk4xbjJURnJjcEhKZGtDZ2dFQkFQS1ptbnBnClB1VWJubi9OK3R5clh2SGYvNUhHTUdwaTUvME56SnJDSG11ZmN4Q2lUVUgyekNqNE50T0VkRGgzaDZrUkFmc2MKc2xLZGZuWTdxM3lDdDdQRFNiaVY0WSttTndsU0pqM3czOGcxSW9YTkJFbG5rak5aM2hYd3FNSDNsMmZ4bDdHSgpwMUNxUWlHcXZQeEFERzVQREtYalFEUm5hRXBQWUVVem5vTjR3ZUlVeFZWTzhUSnNZaS9XTlNhSSsydThqZWtsCm1yMHVaZlhhaFZZcWtYdjM4QkZFSWtZcWtjTHBycWdPQ2JTQi9OTG14RTcyNTM4OFlHM1JHU1doa1d4ZmNYUFQKUmZkblIxcEErYUhrZkNOTFF0K0lGNzl6MzBQUEJjcmdYR0E4ZUhrRisvenhqRHV1SVdGMGMzb0lKbFZBclRjKwprd2dka3BUSk1CNko0d3NDZ2dFQkFOU3pLNkRDdWFLUTh2VUFHbks4ekZsYk8xZHpmQVhJdmtOWW1JVUV1RDQ4ClRtcGZheE96aVRSWEFWbjhZY3lReTdCbnFpRU95cTltYmZBOUhFSUkxS2hxSEV6MzYxUllXS200S1pmOUk0YjUKVTRsVUJ4bjhBaXNqWHk3bldGRnk4dGZwQ21ic1pjaGJxOStBNTAwQm52dEszWkE5SVU4ZWwxNThncXUrdnQrcQpZdjlONVhMcUVhTHNudDY1NU5iU2RZbmhjZGZTRDE1WlptL2dtR2JHVmx5VHUranAxMHkyZFVDQ3VHdzRIOENHClAxOHpBc1c2TjlCNlJCWk1LLzNNSHVkQi9IblJQUUZ5TkgvVFNQbFlFaTFxeWIzTXU3SU94MHdlUXBSMlVtNjcKdHdpTUN2VHNGOUpOSDNEcElHR0djUzliNlFoRVh6a3BTYmZvRVBIc3ljVUNnZ0VCQU45L3hZS0NrczhOdjlycwpqL1dtWjhVYjRWNlNJTjZTR2puVzhhMk5zdXJocmVjZ0wxN2JHTUdSMHlqUXVTV2djVG0vc254K3RvWklGRTZtCnNGajRNSGVMTGFyQllsbXQvcncyazRhekYrZGhsRm1DUkRYQUZqLzZ4aENlYzBxbmFEUlpyYS9oS21TMVJsR3YKODRYTkYrYTBLdW5WVDd3M25Dd0JycVp5Wk5Hb2VhNW9CbGlPYnNWT2RyS3RmSy93dVBoTGNNM2ZXQXg3NTNFMQpqV3VSc2hCc25oMjZFSDFtRUgxcVBmOFRWN3VWbWE5TzdJSDNFOVR6Y2I4YVNUbVMvTi9EbWtqajFteVVHSGM4CnJ2NkgraG1sNTRqNTN5OEJlQ29IV3NYS0p6Qjk1VnRSdVJJU0VtaVZCcW02MS93UDhBalFtZ1B3UVJMVDg4dmgKQWRUUW9Yc0NnZ0VBUmFiS2thRlNrdGF1aU9aWXd0dnFleFJ5RVVnakErM2h5RUg1NkExTW5DeTViUUlFR1hhQQpacUJiTS9GK3dUTmxVRVlTSXpNcDBsaFRoZ2tzK0w3VmpMVDZ3WVdxRFh2RXhRY21yN3ZZWjNtOERrdHk2K0puCmYyTGM1NG9nbE1OMG5KbVdxMitjUVFrcjlrdks4cCttUlJvV0JnYk9vbzhjK0hjRGYyUStNeFlqeHdEbU0wUk4KTkRJU01GTmxpYWR2a0JCQWJIRkFVU0FyZUZWdThyRGVWUUNYMTBURUdUM2lsWlo0K0E5RTdwSEhyTkFTaDFkYwpzYXRvSW5rZEtzWXVGSUs2UDlYeUNVZ3h3dTRZaG5aOXRWdXo1ckJsZ29CdWFSRzdzY3d4WUV1ZU8zRklvVDJ5CjYwNFFEclI0d3hiNGQ0NjhkOVdUN1M4RkVmRXZvMWxzRlFLQ0FRRUFrNmlpMFlmTGkvNnk4TVQ5dDgrZ1FqazYKTkhWZkRzYnc5c1hKWXZWWGswb0tUN1lBTVBmcnlkS0F0akZ5YlBBcGFDS3dPQlpqcFBySGh0Vy9HdkVub3VpRworQkVIM2x2S0NOUzBlQUVUVC8rNzlNTmVRRjBOazZhb2ZGNFRBei8yaWduMTJESXY5c1Y4NFJVc1VMVmw5bHlGCkpmdktLb1E1ZEg4WnhPQW9HVEVRRDhJdG0ra0FqdmppYnM4RFlnREp2VVRGZnFYcUtxOVJTK2VLS1VZWUM3VGYKejRub0Mvb0c3ZlA1cEpna0dlNU1EbFhHb05GUFNXZzJKVzRPbU1YZmV3WW80MmNOQnhsc0ROUXFYSnFSdXAyRwplT2xNaXU2SmRsak9CRFc5RG8xbHhVaG9JOG9SdW5JRVVGdEN5MUdFWHpYaWdOQ21vbE1qQjUveDJYTzFvZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="} - } - ] -} diff --git a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.canadacentral.json b/azure/_output/fabricnlp9/kubeconfig/kubeconfig.canadacentral.json deleted file mode 100644 index d1f782e..0000000 --- a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.canadacentral.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "apiVersion": "v1", - "clusters": [ - { - "cluster": { - "certificate-authority-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRVkZsMU1sZDA5L0xUazJRMk5JWG1GREFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1UQXdOREF4TkRaYUZ3MHhPVEV5TVRBd05EQXhORFphTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFzZmxGCmNvZCtwMTB4REdUM2ZXWm12K21OYXRhU2w4MFAzNTkrQ3JFWEY5OHYzaHdsQyt6eGpFRXhpZEdHSkdBcWpIc3QKdFlOREg5aG81bHdSWTROamJKcUJJZ3cvcDZ5RXB5WGg1MVliRFA2dDd6bHp3UVMyRjlJKzJ5aG02TWd3V3dSTQpkTmxHb1pzamFrbFJucTBWbXZ6eVk4WGVCVi84TllRb0QzNE1OdVZXVjZ0R0daeWZpdDFFT3YydCtqTnNLdXBRCm4xRGh4RGJkNE9LT3hvaC9md1hnL0tHU1gwWlRyUUY1eUV4c1VOaFdyQncrQnZ0Q2twdHc2aU1hT1Vhb0tVaDkKczVrTTA3clhCY0xmU2FuZ0FBVHZTMWQzNWZmaENZQmxseGl4Sk11QWFMcFNLaHlzekR2Z1BEV2dnUjcvRVZZUApaSDlMSlgwL20vT25DcFl2eURkUE0zeEhLd0pvbkdYS0tmMW1UTE5GUjE2b0YxU3N6QlZWZFNXc1FSSHNCTkdVCmMyZEYvRjZKaDBEV0JQZ2pINnJDOGhFNWFnQmY1Z09oa1hJVnJwZXo4cGtiUmRTampEbWpXWFkwMjkxY2lIRWUKdXlCWFh6MlVoeEJ6c2Y5QmVFUm5LTTBnQ2xLeEtid0dGTjRlc1djTzBEcEhlNm1YK3pnS3ZvSytIUHlVczhnUApkOU9wMU9zZWRIQ0NKWFl4TlIycWw0OFVBcmpENGYycHYxY2ZFekpORWpjb1FwbXlwSmtwUTRjbUZWMnREdjhhCksrS1NYajJvNEVwN1dJVFBEVWtuU3llN3pPamNPeFNmTG9XeWtldGcyZjZnSWVqemFJUm9XbVNkMlR0OHlwRUwKOVBkcXNKVWljbnkzOXNPcUNLYWxMeTRrdThWZ1FQMHVadDFPYW9FQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFGbU5NblhrCjN6YkhHeFNNRTR0bzJsWWJtQmZ1eGFpYlJhYnJpdExZMnEzUkpXNEhxNUVSZC80bm43TmRLWnZBbEh4ZXV2TTYKS1IxWTV1VGp3YjlZckp0VUI4eDlXR2w5R1RhVzNhZTlRZGR5Y1RHMEh6a1owWGFEcGp4ZExWcmVlWUYvRlBTQwp6djVjanhDUytqa3AzM1dGWm9nT2Z0Sjl1Nk9yKzNZV2NVeFBTV1JLeTZTSmVJN2pnWHlnM1hhZk9FbmI1bFJDCktSRit2dFk4cWhsT21uWnRSM1BaTDdsWGNDZGhqZFpRQ2Z2eTdaWVpmajIwckxJMFZVOWtoTFJVSWt2MDdJd0EKaEwwZkRXRVBnek9oM1JBOE1nMityT0EvUmJBVE45U0hCMEYzZXNpa2V6OUxmei82QjVLTitqRyt1TStEZjFxSwo1QlpSYnc1alNsQU9wZ2dBbzJhbDlBUVFIekdpRDRsQnpscy9wVFRFQXBERVVqempHWjY2WlhucTVrTDBjU0xmCmhwQjNPbDY4cldySVRxRDNSK2dJZDZXRGRWbVN6QXFxYnJVRHNQVXVjNWwvcFB6MWFBSjQrSlh1aFd2MzVXSXgKWTRscy9GY3VORks5bXhUS0dOeFdsWnh6aXpsK0tKenIrT09YaHAzQkhaTFpwRFFudmI4YnptZjRxNmFubGl1SQpsWmlRbEk4UUp6cWRpVEtNYTJ4dkMxTm5TS1ZNNHpISmZFWEliQ1ptMnkxQXNoQkRBSDFoczAyci9wdXlsM3QwCjdKcVQ3Y2VDanZESy9uRjQ3RUZ1c2tzV0dQMUJpRXlONExxbFJWeXB3MFA1MlFsMDJuRHFZbnlzSXZxS051RGIKQkJ2aUN3ajMzUGhCSldlWjNoNlBkaHNObUY2SVEwNjI3MVp4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", - "server": "https://fabricnlp9.canadacentral.cloudapp.azure.com" - }, - "name": "fabricnlp9" - } - ], - "contexts": [ - { - "context": { - "cluster": "fabricnlp9", - "user": "fabricnlp9-admin" - }, - "name": "fabricnlp9" - } - ], - "current-context": "fabricnlp9", - "kind": "Config", - "users": [ - { - "name": "fabricnlp9-admin", - "user": {"client-certificate-data":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUw0bWp3MmNCMUp6L3cxa05meXY4SzR3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qRXdNRFF3TVRRNFdoY05NVGt4TWpFd01EUXdNVFE0V2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXlaRCtySURBem51NUlXekZVbjFuQ28zRHREdTAKVWRtcFY5V3huZkszK0tHSFF1cmhGaEtVa2h1UnNMUnptMVJ1L2VWM2xHM3B5eXl0ZzFOeEdtZDJ3TlNTMEsvRApQNjlRL0RkaGlZQ1FMMnJJZ2NGaGZaTU1DOFVhcFg5SlEzc1RpMVhtWjMzMTBhVkVGaksxRlR0Y1kyWjVPOC9GCmZMSDZ0ZGw2a1Mrd3dwWHNmeXJ3WkRzZWw0SjVaYmxsTml5Y1JOc1VKQTQ4SzRWdnFGT05pbmRUQS80N1ZITDcKY0dlbS9xTm9qRHpTRHVoL2xzY3IxU1F2bGR6eTJnMnlJUFJhOEorZUt2UThFWnFzclBjL2xXQmdDVEowcFkxQwo5ZFVqQXdTLy93MW0wd204NUQ0MGppbVVzTDc2Y29NVG9YQ3d0WEdhWnlQTjJZUVNhRHBFbHNBQm8xZG1zS0ZCCnYwb2dpdDNxcWRuenVMVlpubFhyTDYyYUs4Q1lCcWNybEFuUW4rM0c3Rnpva00rRFlpcExnSVB6RFRyaW1OMkkKUFdtYi90Unp2dFhkWSsybzFEaGR2RHU4ZmM3ZUZnemZCcUZnWVpDOXlISjBka28vY3JtSTJMaXlud0Zwak82UgpCT204cHBWSzg4THJ4OWx3MTh4ZExkRklkZDgrUThJeHFVdEJzSVJiY2pSVVVyUlBXWnFXNjNCQ1NTK3ZjbE5pCnk3Q25NYkVKR0YrL29nSWNVYnFOb0tDRGc2Q0U1L3VyZENGcEc1MTBZejVvZHdxblJxZ2hUczE5US9XMjlibUIKVUlyUmhOdCtPRjBRYVZnVVZhSk9Pam5iL0tQb0lvKytkZUZjSjdJZFk4OVFEYkFYcEpCQjA5NXRsYkdNU3BJNQpPTTRwc2M2NGpHeURXbmNDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVkRGpmTkYKY0RXeHdaMm02YnB3TmdIUkVTdk80WVhhSng2WjlKbDRIeGhFMTJJOFpYSWdWemQ1ZHFmTk54SEkvODFXWHdsLwo3RmdESjBmKy9Ca2xaeEtDeWVpd2dwOHQvRDBLdFQ2Ny9ndTM0QnAxWEpVMnJoRkczREZhR2ZLUlRZVzZlUXFnCnFORHpaSFpKY0JuUEI1WjdxVkVPOGlBSk5PSzJqZDNXcGQycnhuUWJBU0hpbXVIc04vUVEvU084ekpNSEZZVCsKZ0lNM0NCR0gzUVQ3d1JSa3hxWEhkOVgrTkVtZ2pmL1laUm1GTDMrR3hGc0NZczhzcmQ5LzBCOXRoUDBBTDhzRApWNk1ybGVBVXZVdE41dUJQR1BDSW1raVA2d2xNZDdyamhmaUhWZTNyWEFvTmZwWitGZ3g5OUJuVHBMUXFhYTZMCldJQzNNbXpJZmVHZTNuZExHODE0Vi81YU9XeE53VzEvZFAzMThlK0d2dENHeUNSYUdBNnRsTThkdGtJU1licmgKYjJWVWlneEI5OGVMS0pTdU8rSDdZRENLbGRXWnpYeU9WODNYZWswVlZpWDl1TVRyWVQ0TU14M1ZTd2xBSXc3Vgp2eW5Ub2ViQlc2OERnV0FXMjRoR1FDVmd2WHpnUDBJdlpsUlhmMGZXRWpKWklQdHFnbnp3bVpmbkF1WkhKcGNZCjc2eUVJMTM1WXh5d1VPOGR5SEJsMEFIcldvZWZsY0ZtNjloRk9zZk1SdGxVTUhDeVhWdHFwRXp3dFYvVWZBVU0KaEp0L2pvREJTQUE1cHFud0I2SCtpNkpYOGlUcGt4SEt4UnNWaE5CQVRkelN5MERPejhPVm01cllKWnlqQlhRbApXL3ZOUDVlTGVwdk9xUm4zRFBqdy92SkFHMGl6d09MVTZVWUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=","client-key-data":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeVpEK3JJREF6bnU1SVd6RlVuMW5DbzNEdER1MFVkbXBWOVd4bmZLMytLR0hRdXJoCkZoS1VraHVSc0xSem0xUnUvZVYzbEczcHl5eXRnMU54R21kMndOU1MwSy9EUDY5US9EZGhpWUNRTDJySWdjRmgKZlpNTUM4VWFwWDlKUTNzVGkxWG1aMzMxMGFWRUZqSzFGVHRjWTJaNU84L0ZmTEg2dGRsNmtTK3d3cFhzZnlydwpaRHNlbDRKNVpibGxOaXljUk5zVUpBNDhLNFZ2cUZPTmluZFRBLzQ3VkhMN2NHZW0vcU5vakR6U0R1aC9sc2NyCjFTUXZsZHp5MmcyeUlQUmE4SitlS3ZROEVacXNyUGMvbFdCZ0NUSjBwWTFDOWRVakF3Uy8vdzFtMHdtODVENDAKamltVXNMNzZjb01Ub1hDd3RYR2FaeVBOMllRU2FEcEVsc0FCbzFkbXNLRkJ2MG9naXQzcXFkbnp1TFZabmxYcgpMNjJhSzhDWUJxY3JsQW5RbiszRzdGem9rTStEWWlwTGdJUHpEVHJpbU4ySVBXbWIvdFJ6dnRYZFkrMm8xRGhkCnZEdThmYzdlRmd6ZkJxRmdZWkM5eUhKMGRrby9jcm1JMkxpeW53RnBqTzZSQk9tOHBwVks4OExyeDlsdzE4eGQKTGRGSWRkOCtROEl4cVV0QnNJUmJjalJVVXJSUFdacVc2M0JDU1MrdmNsTml5N0NuTWJFSkdGKy9vZ0ljVWJxTgpvS0NEZzZDRTUvdXJkQ0ZwRzUxMFl6NW9kd3FuUnFnaFRzMTlRL1cyOWJtQlVJclJoTnQrT0YwUWFWZ1VWYUpPCk9qbmIvS1BvSW8rK2RlRmNKN0lkWTg5UURiQVhwSkJCMDk1dGxiR01TcEk1T000cHNjNjRqR3lEV25jQ0F3RUEKQVFLQ0FnRUFqOVpQVm13ZXFucHh0dDkyeEJIRzZTb1c0TlBHTHE2RGdMRjJxVDdlZDZkVTdiVE00TUpya1FQcAphRTZ0UE1mNDJHZmFlR29pN3lDM3hVSlRNTU5xWTlxTjFpdkd5ZmhpYzBsVjZoaDdTOHNJd0VkdU9YMG9tSEdVClBVdGl6YXZUVzVmMTdoNWR2N2dPcVVTUUlsR1U4VDNiLzRtWjVRemcyc29TQSs4alZRaEZsczNlYzdnWWNZZmkKOTJ0Z1JWTjZSRXlOeDlqOHFSWDBnd3Iwc3ozSldNMGdLM2hONDMya0Zvd25mQU9lNXBLVkVkU1plK1R4ckNEYQprQzQ3MGZadHVzNDh3V3crUFZYQ0tUL2ErTTZvV1lmTzQ2QzFpdFlJd1F1dnN1TXVZQ1RQelpSeVRveHZsZDBDCnZacTU5SGVGTWtXYUtFWE5qSTRKMEtUYjh6T2JObDZ0ajhVYnl6eFNKRVlVNWc4ajNNdEFXalRqUzhNWHpsNlgKakN3aEFGNnNUOTFZeW5Mc3Z1RVZSbTBsZHB0UkIwcExHMjgwci94ODhaSFlDR0YwdnI4TGRLei80MDBhdFFMWQprZGI5RUNDa2pPbVdIdmZVVlZPMjZBeVljWnA1b0k0clhYdGlEVHU4V0dVakhzUzBWc3ljZERqRXRBbzlYYndtCnpONGxMQmE5VFdvRDI5TlNmaUdlYTd1bzFlZ0h3WDlXbWdyUU5rdkM5cmJSTTZ6Z2xzbzRkWCtkQW9uaFRNbVMKQmRLYVhybzUrdFVSK09SditFUG5tZHpYb01uaGlibWRZYVZoc0xTY2FsaSs4MmZZdGJGQllCd1RtWHdZL0NzUAoxSW04Vkx2VDZQVkRUZ2Fjc2JMRVRZemhoNmhFMXQ3Y1F6TE83Zk4xbjJURnJjcEhKZGtDZ2dFQkFQS1ptbnBnClB1VWJubi9OK3R5clh2SGYvNUhHTUdwaTUvME56SnJDSG11ZmN4Q2lUVUgyekNqNE50T0VkRGgzaDZrUkFmc2MKc2xLZGZuWTdxM3lDdDdQRFNiaVY0WSttTndsU0pqM3czOGcxSW9YTkJFbG5rak5aM2hYd3FNSDNsMmZ4bDdHSgpwMUNxUWlHcXZQeEFERzVQREtYalFEUm5hRXBQWUVVem5vTjR3ZUlVeFZWTzhUSnNZaS9XTlNhSSsydThqZWtsCm1yMHVaZlhhaFZZcWtYdjM4QkZFSWtZcWtjTHBycWdPQ2JTQi9OTG14RTcyNTM4OFlHM1JHU1doa1d4ZmNYUFQKUmZkblIxcEErYUhrZkNOTFF0K0lGNzl6MzBQUEJjcmdYR0E4ZUhrRisvenhqRHV1SVdGMGMzb0lKbFZBclRjKwprd2dka3BUSk1CNko0d3NDZ2dFQkFOU3pLNkRDdWFLUTh2VUFHbks4ekZsYk8xZHpmQVhJdmtOWW1JVUV1RDQ4ClRtcGZheE96aVRSWEFWbjhZY3lReTdCbnFpRU95cTltYmZBOUhFSUkxS2hxSEV6MzYxUllXS200S1pmOUk0YjUKVTRsVUJ4bjhBaXNqWHk3bldGRnk4dGZwQ21ic1pjaGJxOStBNTAwQm52dEszWkE5SVU4ZWwxNThncXUrdnQrcQpZdjlONVhMcUVhTHNudDY1NU5iU2RZbmhjZGZTRDE1WlptL2dtR2JHVmx5VHUranAxMHkyZFVDQ3VHdzRIOENHClAxOHpBc1c2TjlCNlJCWk1LLzNNSHVkQi9IblJQUUZ5TkgvVFNQbFlFaTFxeWIzTXU3SU94MHdlUXBSMlVtNjcKdHdpTUN2VHNGOUpOSDNEcElHR0djUzliNlFoRVh6a3BTYmZvRVBIc3ljVUNnZ0VCQU45L3hZS0NrczhOdjlycwpqL1dtWjhVYjRWNlNJTjZTR2puVzhhMk5zdXJocmVjZ0wxN2JHTUdSMHlqUXVTV2djVG0vc254K3RvWklGRTZtCnNGajRNSGVMTGFyQllsbXQvcncyazRhekYrZGhsRm1DUkRYQUZqLzZ4aENlYzBxbmFEUlpyYS9oS21TMVJsR3YKODRYTkYrYTBLdW5WVDd3M25Dd0JycVp5Wk5Hb2VhNW9CbGlPYnNWT2RyS3RmSy93dVBoTGNNM2ZXQXg3NTNFMQpqV3VSc2hCc25oMjZFSDFtRUgxcVBmOFRWN3VWbWE5TzdJSDNFOVR6Y2I4YVNUbVMvTi9EbWtqajFteVVHSGM4CnJ2NkgraG1sNTRqNTN5OEJlQ29IV3NYS0p6Qjk1VnRSdVJJU0VtaVZCcW02MS93UDhBalFtZ1B3UVJMVDg4dmgKQWRUUW9Yc0NnZ0VBUmFiS2thRlNrdGF1aU9aWXd0dnFleFJ5RVVnakErM2h5RUg1NkExTW5DeTViUUlFR1hhQQpacUJiTS9GK3dUTmxVRVlTSXpNcDBsaFRoZ2tzK0w3VmpMVDZ3WVdxRFh2RXhRY21yN3ZZWjNtOERrdHk2K0puCmYyTGM1NG9nbE1OMG5KbVdxMitjUVFrcjlrdks4cCttUlJvV0JnYk9vbzhjK0hjRGYyUStNeFlqeHdEbU0wUk4KTkRJU01GTmxpYWR2a0JCQWJIRkFVU0FyZUZWdThyRGVWUUNYMTBURUdUM2lsWlo0K0E5RTdwSEhyTkFTaDFkYwpzYXRvSW5rZEtzWXVGSUs2UDlYeUNVZ3h3dTRZaG5aOXRWdXo1ckJsZ29CdWFSRzdzY3d4WUV1ZU8zRklvVDJ5CjYwNFFEclI0d3hiNGQ0NjhkOVdUN1M4RkVmRXZvMWxzRlFLQ0FRRUFrNmlpMFlmTGkvNnk4TVQ5dDgrZ1FqazYKTkhWZkRzYnc5c1hKWXZWWGswb0tUN1lBTVBmcnlkS0F0akZ5YlBBcGFDS3dPQlpqcFBySGh0Vy9HdkVub3VpRworQkVIM2x2S0NOUzBlQUVUVC8rNzlNTmVRRjBOazZhb2ZGNFRBei8yaWduMTJESXY5c1Y4NFJVc1VMVmw5bHlGCkpmdktLb1E1ZEg4WnhPQW9HVEVRRDhJdG0ra0FqdmppYnM4RFlnREp2VVRGZnFYcUtxOVJTK2VLS1VZWUM3VGYKejRub0Mvb0c3ZlA1cEpna0dlNU1EbFhHb05GUFNXZzJKVzRPbU1YZmV3WW80MmNOQnhsc0ROUXFYSnFSdXAyRwplT2xNaXU2SmRsak9CRFc5RG8xbHhVaG9JOG9SdW5JRVVGdEN5MUdFWHpYaWdOQ21vbE1qQjUveDJYTzFvZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="} - } - ] -} diff --git a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.canadaeast.json b/azure/_output/fabricnlp9/kubeconfig/kubeconfig.canadaeast.json deleted file mode 100644 index 9519ce4..0000000 --- a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.canadaeast.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "apiVersion": "v1", - "clusters": [ - { - "cluster": { - "certificate-authority-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRVkZsMU1sZDA5L0xUazJRMk5JWG1GREFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1UQXdOREF4TkRaYUZ3MHhPVEV5TVRBd05EQXhORFphTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFzZmxGCmNvZCtwMTB4REdUM2ZXWm12K21OYXRhU2w4MFAzNTkrQ3JFWEY5OHYzaHdsQyt6eGpFRXhpZEdHSkdBcWpIc3QKdFlOREg5aG81bHdSWTROamJKcUJJZ3cvcDZ5RXB5WGg1MVliRFA2dDd6bHp3UVMyRjlJKzJ5aG02TWd3V3dSTQpkTmxHb1pzamFrbFJucTBWbXZ6eVk4WGVCVi84TllRb0QzNE1OdVZXVjZ0R0daeWZpdDFFT3YydCtqTnNLdXBRCm4xRGh4RGJkNE9LT3hvaC9md1hnL0tHU1gwWlRyUUY1eUV4c1VOaFdyQncrQnZ0Q2twdHc2aU1hT1Vhb0tVaDkKczVrTTA3clhCY0xmU2FuZ0FBVHZTMWQzNWZmaENZQmxseGl4Sk11QWFMcFNLaHlzekR2Z1BEV2dnUjcvRVZZUApaSDlMSlgwL20vT25DcFl2eURkUE0zeEhLd0pvbkdYS0tmMW1UTE5GUjE2b0YxU3N6QlZWZFNXc1FSSHNCTkdVCmMyZEYvRjZKaDBEV0JQZ2pINnJDOGhFNWFnQmY1Z09oa1hJVnJwZXo4cGtiUmRTampEbWpXWFkwMjkxY2lIRWUKdXlCWFh6MlVoeEJ6c2Y5QmVFUm5LTTBnQ2xLeEtid0dGTjRlc1djTzBEcEhlNm1YK3pnS3ZvSytIUHlVczhnUApkOU9wMU9zZWRIQ0NKWFl4TlIycWw0OFVBcmpENGYycHYxY2ZFekpORWpjb1FwbXlwSmtwUTRjbUZWMnREdjhhCksrS1NYajJvNEVwN1dJVFBEVWtuU3llN3pPamNPeFNmTG9XeWtldGcyZjZnSWVqemFJUm9XbVNkMlR0OHlwRUwKOVBkcXNKVWljbnkzOXNPcUNLYWxMeTRrdThWZ1FQMHVadDFPYW9FQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFGbU5NblhrCjN6YkhHeFNNRTR0bzJsWWJtQmZ1eGFpYlJhYnJpdExZMnEzUkpXNEhxNUVSZC80bm43TmRLWnZBbEh4ZXV2TTYKS1IxWTV1VGp3YjlZckp0VUI4eDlXR2w5R1RhVzNhZTlRZGR5Y1RHMEh6a1owWGFEcGp4ZExWcmVlWUYvRlBTQwp6djVjanhDUytqa3AzM1dGWm9nT2Z0Sjl1Nk9yKzNZV2NVeFBTV1JLeTZTSmVJN2pnWHlnM1hhZk9FbmI1bFJDCktSRit2dFk4cWhsT21uWnRSM1BaTDdsWGNDZGhqZFpRQ2Z2eTdaWVpmajIwckxJMFZVOWtoTFJVSWt2MDdJd0EKaEwwZkRXRVBnek9oM1JBOE1nMityT0EvUmJBVE45U0hCMEYzZXNpa2V6OUxmei82QjVLTitqRyt1TStEZjFxSwo1QlpSYnc1alNsQU9wZ2dBbzJhbDlBUVFIekdpRDRsQnpscy9wVFRFQXBERVVqempHWjY2WlhucTVrTDBjU0xmCmhwQjNPbDY4cldySVRxRDNSK2dJZDZXRGRWbVN6QXFxYnJVRHNQVXVjNWwvcFB6MWFBSjQrSlh1aFd2MzVXSXgKWTRscy9GY3VORks5bXhUS0dOeFdsWnh6aXpsK0tKenIrT09YaHAzQkhaTFpwRFFudmI4YnptZjRxNmFubGl1SQpsWmlRbEk4UUp6cWRpVEtNYTJ4dkMxTm5TS1ZNNHpISmZFWEliQ1ptMnkxQXNoQkRBSDFoczAyci9wdXlsM3QwCjdKcVQ3Y2VDanZESy9uRjQ3RUZ1c2tzV0dQMUJpRXlONExxbFJWeXB3MFA1MlFsMDJuRHFZbnlzSXZxS051RGIKQkJ2aUN3ajMzUGhCSldlWjNoNlBkaHNObUY2SVEwNjI3MVp4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", - "server": "https://fabricnlp9.canadaeast.cloudapp.azure.com" - }, - "name": "fabricnlp9" - } - ], - "contexts": [ - { - "context": { - "cluster": "fabricnlp9", - "user": "fabricnlp9-admin" - }, - "name": "fabricnlp9" - } - ], - "current-context": "fabricnlp9", - "kind": "Config", - "users": [ - { - "name": "fabricnlp9-admin", - "user": {"client-certificate-data":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUw0bWp3MmNCMUp6L3cxa05meXY4SzR3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qRXdNRFF3TVRRNFdoY05NVGt4TWpFd01EUXdNVFE0V2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXlaRCtySURBem51NUlXekZVbjFuQ28zRHREdTAKVWRtcFY5V3huZkszK0tHSFF1cmhGaEtVa2h1UnNMUnptMVJ1L2VWM2xHM3B5eXl0ZzFOeEdtZDJ3TlNTMEsvRApQNjlRL0RkaGlZQ1FMMnJJZ2NGaGZaTU1DOFVhcFg5SlEzc1RpMVhtWjMzMTBhVkVGaksxRlR0Y1kyWjVPOC9GCmZMSDZ0ZGw2a1Mrd3dwWHNmeXJ3WkRzZWw0SjVaYmxsTml5Y1JOc1VKQTQ4SzRWdnFGT05pbmRUQS80N1ZITDcKY0dlbS9xTm9qRHpTRHVoL2xzY3IxU1F2bGR6eTJnMnlJUFJhOEorZUt2UThFWnFzclBjL2xXQmdDVEowcFkxQwo5ZFVqQXdTLy93MW0wd204NUQ0MGppbVVzTDc2Y29NVG9YQ3d0WEdhWnlQTjJZUVNhRHBFbHNBQm8xZG1zS0ZCCnYwb2dpdDNxcWRuenVMVlpubFhyTDYyYUs4Q1lCcWNybEFuUW4rM0c3Rnpva00rRFlpcExnSVB6RFRyaW1OMkkKUFdtYi90Unp2dFhkWSsybzFEaGR2RHU4ZmM3ZUZnemZCcUZnWVpDOXlISjBka28vY3JtSTJMaXlud0Zwak82UgpCT204cHBWSzg4THJ4OWx3MTh4ZExkRklkZDgrUThJeHFVdEJzSVJiY2pSVVVyUlBXWnFXNjNCQ1NTK3ZjbE5pCnk3Q25NYkVKR0YrL29nSWNVYnFOb0tDRGc2Q0U1L3VyZENGcEc1MTBZejVvZHdxblJxZ2hUczE5US9XMjlibUIKVUlyUmhOdCtPRjBRYVZnVVZhSk9Pam5iL0tQb0lvKytkZUZjSjdJZFk4OVFEYkFYcEpCQjA5NXRsYkdNU3BJNQpPTTRwc2M2NGpHeURXbmNDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVkRGpmTkYKY0RXeHdaMm02YnB3TmdIUkVTdk80WVhhSng2WjlKbDRIeGhFMTJJOFpYSWdWemQ1ZHFmTk54SEkvODFXWHdsLwo3RmdESjBmKy9Ca2xaeEtDeWVpd2dwOHQvRDBLdFQ2Ny9ndTM0QnAxWEpVMnJoRkczREZhR2ZLUlRZVzZlUXFnCnFORHpaSFpKY0JuUEI1WjdxVkVPOGlBSk5PSzJqZDNXcGQycnhuUWJBU0hpbXVIc04vUVEvU084ekpNSEZZVCsKZ0lNM0NCR0gzUVQ3d1JSa3hxWEhkOVgrTkVtZ2pmL1laUm1GTDMrR3hGc0NZczhzcmQ5LzBCOXRoUDBBTDhzRApWNk1ybGVBVXZVdE41dUJQR1BDSW1raVA2d2xNZDdyamhmaUhWZTNyWEFvTmZwWitGZ3g5OUJuVHBMUXFhYTZMCldJQzNNbXpJZmVHZTNuZExHODE0Vi81YU9XeE53VzEvZFAzMThlK0d2dENHeUNSYUdBNnRsTThkdGtJU1licmgKYjJWVWlneEI5OGVMS0pTdU8rSDdZRENLbGRXWnpYeU9WODNYZWswVlZpWDl1TVRyWVQ0TU14M1ZTd2xBSXc3Vgp2eW5Ub2ViQlc2OERnV0FXMjRoR1FDVmd2WHpnUDBJdlpsUlhmMGZXRWpKWklQdHFnbnp3bVpmbkF1WkhKcGNZCjc2eUVJMTM1WXh5d1VPOGR5SEJsMEFIcldvZWZsY0ZtNjloRk9zZk1SdGxVTUhDeVhWdHFwRXp3dFYvVWZBVU0KaEp0L2pvREJTQUE1cHFud0I2SCtpNkpYOGlUcGt4SEt4UnNWaE5CQVRkelN5MERPejhPVm01cllKWnlqQlhRbApXL3ZOUDVlTGVwdk9xUm4zRFBqdy92SkFHMGl6d09MVTZVWUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=","client-key-data":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeVpEK3JJREF6bnU1SVd6RlVuMW5DbzNEdER1MFVkbXBWOVd4bmZLMytLR0hRdXJoCkZoS1VraHVSc0xSem0xUnUvZVYzbEczcHl5eXRnMU54R21kMndOU1MwSy9EUDY5US9EZGhpWUNRTDJySWdjRmgKZlpNTUM4VWFwWDlKUTNzVGkxWG1aMzMxMGFWRUZqSzFGVHRjWTJaNU84L0ZmTEg2dGRsNmtTK3d3cFhzZnlydwpaRHNlbDRKNVpibGxOaXljUk5zVUpBNDhLNFZ2cUZPTmluZFRBLzQ3VkhMN2NHZW0vcU5vakR6U0R1aC9sc2NyCjFTUXZsZHp5MmcyeUlQUmE4SitlS3ZROEVacXNyUGMvbFdCZ0NUSjBwWTFDOWRVakF3Uy8vdzFtMHdtODVENDAKamltVXNMNzZjb01Ub1hDd3RYR2FaeVBOMllRU2FEcEVsc0FCbzFkbXNLRkJ2MG9naXQzcXFkbnp1TFZabmxYcgpMNjJhSzhDWUJxY3JsQW5RbiszRzdGem9rTStEWWlwTGdJUHpEVHJpbU4ySVBXbWIvdFJ6dnRYZFkrMm8xRGhkCnZEdThmYzdlRmd6ZkJxRmdZWkM5eUhKMGRrby9jcm1JMkxpeW53RnBqTzZSQk9tOHBwVks4OExyeDlsdzE4eGQKTGRGSWRkOCtROEl4cVV0QnNJUmJjalJVVXJSUFdacVc2M0JDU1MrdmNsTml5N0NuTWJFSkdGKy9vZ0ljVWJxTgpvS0NEZzZDRTUvdXJkQ0ZwRzUxMFl6NW9kd3FuUnFnaFRzMTlRL1cyOWJtQlVJclJoTnQrT0YwUWFWZ1VWYUpPCk9qbmIvS1BvSW8rK2RlRmNKN0lkWTg5UURiQVhwSkJCMDk1dGxiR01TcEk1T000cHNjNjRqR3lEV25jQ0F3RUEKQVFLQ0FnRUFqOVpQVm13ZXFucHh0dDkyeEJIRzZTb1c0TlBHTHE2RGdMRjJxVDdlZDZkVTdiVE00TUpya1FQcAphRTZ0UE1mNDJHZmFlR29pN3lDM3hVSlRNTU5xWTlxTjFpdkd5ZmhpYzBsVjZoaDdTOHNJd0VkdU9YMG9tSEdVClBVdGl6YXZUVzVmMTdoNWR2N2dPcVVTUUlsR1U4VDNiLzRtWjVRemcyc29TQSs4alZRaEZsczNlYzdnWWNZZmkKOTJ0Z1JWTjZSRXlOeDlqOHFSWDBnd3Iwc3ozSldNMGdLM2hONDMya0Zvd25mQU9lNXBLVkVkU1plK1R4ckNEYQprQzQ3MGZadHVzNDh3V3crUFZYQ0tUL2ErTTZvV1lmTzQ2QzFpdFlJd1F1dnN1TXVZQ1RQelpSeVRveHZsZDBDCnZacTU5SGVGTWtXYUtFWE5qSTRKMEtUYjh6T2JObDZ0ajhVYnl6eFNKRVlVNWc4ajNNdEFXalRqUzhNWHpsNlgKakN3aEFGNnNUOTFZeW5Mc3Z1RVZSbTBsZHB0UkIwcExHMjgwci94ODhaSFlDR0YwdnI4TGRLei80MDBhdFFMWQprZGI5RUNDa2pPbVdIdmZVVlZPMjZBeVljWnA1b0k0clhYdGlEVHU4V0dVakhzUzBWc3ljZERqRXRBbzlYYndtCnpONGxMQmE5VFdvRDI5TlNmaUdlYTd1bzFlZ0h3WDlXbWdyUU5rdkM5cmJSTTZ6Z2xzbzRkWCtkQW9uaFRNbVMKQmRLYVhybzUrdFVSK09SditFUG5tZHpYb01uaGlibWRZYVZoc0xTY2FsaSs4MmZZdGJGQllCd1RtWHdZL0NzUAoxSW04Vkx2VDZQVkRUZ2Fjc2JMRVRZemhoNmhFMXQ3Y1F6TE83Zk4xbjJURnJjcEhKZGtDZ2dFQkFQS1ptbnBnClB1VWJubi9OK3R5clh2SGYvNUhHTUdwaTUvME56SnJDSG11ZmN4Q2lUVUgyekNqNE50T0VkRGgzaDZrUkFmc2MKc2xLZGZuWTdxM3lDdDdQRFNiaVY0WSttTndsU0pqM3czOGcxSW9YTkJFbG5rak5aM2hYd3FNSDNsMmZ4bDdHSgpwMUNxUWlHcXZQeEFERzVQREtYalFEUm5hRXBQWUVVem5vTjR3ZUlVeFZWTzhUSnNZaS9XTlNhSSsydThqZWtsCm1yMHVaZlhhaFZZcWtYdjM4QkZFSWtZcWtjTHBycWdPQ2JTQi9OTG14RTcyNTM4OFlHM1JHU1doa1d4ZmNYUFQKUmZkblIxcEErYUhrZkNOTFF0K0lGNzl6MzBQUEJjcmdYR0E4ZUhrRisvenhqRHV1SVdGMGMzb0lKbFZBclRjKwprd2dka3BUSk1CNko0d3NDZ2dFQkFOU3pLNkRDdWFLUTh2VUFHbks4ekZsYk8xZHpmQVhJdmtOWW1JVUV1RDQ4ClRtcGZheE96aVRSWEFWbjhZY3lReTdCbnFpRU95cTltYmZBOUhFSUkxS2hxSEV6MzYxUllXS200S1pmOUk0YjUKVTRsVUJ4bjhBaXNqWHk3bldGRnk4dGZwQ21ic1pjaGJxOStBNTAwQm52dEszWkE5SVU4ZWwxNThncXUrdnQrcQpZdjlONVhMcUVhTHNudDY1NU5iU2RZbmhjZGZTRDE1WlptL2dtR2JHVmx5VHUranAxMHkyZFVDQ3VHdzRIOENHClAxOHpBc1c2TjlCNlJCWk1LLzNNSHVkQi9IblJQUUZ5TkgvVFNQbFlFaTFxeWIzTXU3SU94MHdlUXBSMlVtNjcKdHdpTUN2VHNGOUpOSDNEcElHR0djUzliNlFoRVh6a3BTYmZvRVBIc3ljVUNnZ0VCQU45L3hZS0NrczhOdjlycwpqL1dtWjhVYjRWNlNJTjZTR2puVzhhMk5zdXJocmVjZ0wxN2JHTUdSMHlqUXVTV2djVG0vc254K3RvWklGRTZtCnNGajRNSGVMTGFyQllsbXQvcncyazRhekYrZGhsRm1DUkRYQUZqLzZ4aENlYzBxbmFEUlpyYS9oS21TMVJsR3YKODRYTkYrYTBLdW5WVDd3M25Dd0JycVp5Wk5Hb2VhNW9CbGlPYnNWT2RyS3RmSy93dVBoTGNNM2ZXQXg3NTNFMQpqV3VSc2hCc25oMjZFSDFtRUgxcVBmOFRWN3VWbWE5TzdJSDNFOVR6Y2I4YVNUbVMvTi9EbWtqajFteVVHSGM4CnJ2NkgraG1sNTRqNTN5OEJlQ29IV3NYS0p6Qjk1VnRSdVJJU0VtaVZCcW02MS93UDhBalFtZ1B3UVJMVDg4dmgKQWRUUW9Yc0NnZ0VBUmFiS2thRlNrdGF1aU9aWXd0dnFleFJ5RVVnakErM2h5RUg1NkExTW5DeTViUUlFR1hhQQpacUJiTS9GK3dUTmxVRVlTSXpNcDBsaFRoZ2tzK0w3VmpMVDZ3WVdxRFh2RXhRY21yN3ZZWjNtOERrdHk2K0puCmYyTGM1NG9nbE1OMG5KbVdxMitjUVFrcjlrdks4cCttUlJvV0JnYk9vbzhjK0hjRGYyUStNeFlqeHdEbU0wUk4KTkRJU01GTmxpYWR2a0JCQWJIRkFVU0FyZUZWdThyRGVWUUNYMTBURUdUM2lsWlo0K0E5RTdwSEhyTkFTaDFkYwpzYXRvSW5rZEtzWXVGSUs2UDlYeUNVZ3h3dTRZaG5aOXRWdXo1ckJsZ29CdWFSRzdzY3d4WUV1ZU8zRklvVDJ5CjYwNFFEclI0d3hiNGQ0NjhkOVdUN1M4RkVmRXZvMWxzRlFLQ0FRRUFrNmlpMFlmTGkvNnk4TVQ5dDgrZ1FqazYKTkhWZkRzYnc5c1hKWXZWWGswb0tUN1lBTVBmcnlkS0F0akZ5YlBBcGFDS3dPQlpqcFBySGh0Vy9HdkVub3VpRworQkVIM2x2S0NOUzBlQUVUVC8rNzlNTmVRRjBOazZhb2ZGNFRBei8yaWduMTJESXY5c1Y4NFJVc1VMVmw5bHlGCkpmdktLb1E1ZEg4WnhPQW9HVEVRRDhJdG0ra0FqdmppYnM4RFlnREp2VVRGZnFYcUtxOVJTK2VLS1VZWUM3VGYKejRub0Mvb0c3ZlA1cEpna0dlNU1EbFhHb05GUFNXZzJKVzRPbU1YZmV3WW80MmNOQnhsc0ROUXFYSnFSdXAyRwplT2xNaXU2SmRsak9CRFc5RG8xbHhVaG9JOG9SdW5JRVVGdEN5MUdFWHpYaWdOQ21vbE1qQjUveDJYTzFvZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="} - } - ] -} diff --git a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.centralindia.json b/azure/_output/fabricnlp9/kubeconfig/kubeconfig.centralindia.json deleted file mode 100644 index f2f4163..0000000 --- a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.centralindia.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "apiVersion": "v1", - "clusters": [ - { - "cluster": { - "certificate-authority-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRVkZsMU1sZDA5L0xUazJRMk5JWG1GREFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1UQXdOREF4TkRaYUZ3MHhPVEV5TVRBd05EQXhORFphTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFzZmxGCmNvZCtwMTB4REdUM2ZXWm12K21OYXRhU2w4MFAzNTkrQ3JFWEY5OHYzaHdsQyt6eGpFRXhpZEdHSkdBcWpIc3QKdFlOREg5aG81bHdSWTROamJKcUJJZ3cvcDZ5RXB5WGg1MVliRFA2dDd6bHp3UVMyRjlJKzJ5aG02TWd3V3dSTQpkTmxHb1pzamFrbFJucTBWbXZ6eVk4WGVCVi84TllRb0QzNE1OdVZXVjZ0R0daeWZpdDFFT3YydCtqTnNLdXBRCm4xRGh4RGJkNE9LT3hvaC9md1hnL0tHU1gwWlRyUUY1eUV4c1VOaFdyQncrQnZ0Q2twdHc2aU1hT1Vhb0tVaDkKczVrTTA3clhCY0xmU2FuZ0FBVHZTMWQzNWZmaENZQmxseGl4Sk11QWFMcFNLaHlzekR2Z1BEV2dnUjcvRVZZUApaSDlMSlgwL20vT25DcFl2eURkUE0zeEhLd0pvbkdYS0tmMW1UTE5GUjE2b0YxU3N6QlZWZFNXc1FSSHNCTkdVCmMyZEYvRjZKaDBEV0JQZ2pINnJDOGhFNWFnQmY1Z09oa1hJVnJwZXo4cGtiUmRTampEbWpXWFkwMjkxY2lIRWUKdXlCWFh6MlVoeEJ6c2Y5QmVFUm5LTTBnQ2xLeEtid0dGTjRlc1djTzBEcEhlNm1YK3pnS3ZvSytIUHlVczhnUApkOU9wMU9zZWRIQ0NKWFl4TlIycWw0OFVBcmpENGYycHYxY2ZFekpORWpjb1FwbXlwSmtwUTRjbUZWMnREdjhhCksrS1NYajJvNEVwN1dJVFBEVWtuU3llN3pPamNPeFNmTG9XeWtldGcyZjZnSWVqemFJUm9XbVNkMlR0OHlwRUwKOVBkcXNKVWljbnkzOXNPcUNLYWxMeTRrdThWZ1FQMHVadDFPYW9FQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFGbU5NblhrCjN6YkhHeFNNRTR0bzJsWWJtQmZ1eGFpYlJhYnJpdExZMnEzUkpXNEhxNUVSZC80bm43TmRLWnZBbEh4ZXV2TTYKS1IxWTV1VGp3YjlZckp0VUI4eDlXR2w5R1RhVzNhZTlRZGR5Y1RHMEh6a1owWGFEcGp4ZExWcmVlWUYvRlBTQwp6djVjanhDUytqa3AzM1dGWm9nT2Z0Sjl1Nk9yKzNZV2NVeFBTV1JLeTZTSmVJN2pnWHlnM1hhZk9FbmI1bFJDCktSRit2dFk4cWhsT21uWnRSM1BaTDdsWGNDZGhqZFpRQ2Z2eTdaWVpmajIwckxJMFZVOWtoTFJVSWt2MDdJd0EKaEwwZkRXRVBnek9oM1JBOE1nMityT0EvUmJBVE45U0hCMEYzZXNpa2V6OUxmei82QjVLTitqRyt1TStEZjFxSwo1QlpSYnc1alNsQU9wZ2dBbzJhbDlBUVFIekdpRDRsQnpscy9wVFRFQXBERVVqempHWjY2WlhucTVrTDBjU0xmCmhwQjNPbDY4cldySVRxRDNSK2dJZDZXRGRWbVN6QXFxYnJVRHNQVXVjNWwvcFB6MWFBSjQrSlh1aFd2MzVXSXgKWTRscy9GY3VORks5bXhUS0dOeFdsWnh6aXpsK0tKenIrT09YaHAzQkhaTFpwRFFudmI4YnptZjRxNmFubGl1SQpsWmlRbEk4UUp6cWRpVEtNYTJ4dkMxTm5TS1ZNNHpISmZFWEliQ1ptMnkxQXNoQkRBSDFoczAyci9wdXlsM3QwCjdKcVQ3Y2VDanZESy9uRjQ3RUZ1c2tzV0dQMUJpRXlONExxbFJWeXB3MFA1MlFsMDJuRHFZbnlzSXZxS051RGIKQkJ2aUN3ajMzUGhCSldlWjNoNlBkaHNObUY2SVEwNjI3MVp4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", - "server": "https://fabricnlp9.centralindia.cloudapp.azure.com" - }, - "name": "fabricnlp9" - } - ], - "contexts": [ - { - "context": { - "cluster": "fabricnlp9", - "user": "fabricnlp9-admin" - }, - "name": "fabricnlp9" - } - ], - "current-context": "fabricnlp9", - "kind": "Config", - "users": [ - { - "name": "fabricnlp9-admin", - "user": {"client-certificate-data":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUw0bWp3MmNCMUp6L3cxa05meXY4SzR3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qRXdNRFF3TVRRNFdoY05NVGt4TWpFd01EUXdNVFE0V2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXlaRCtySURBem51NUlXekZVbjFuQ28zRHREdTAKVWRtcFY5V3huZkszK0tHSFF1cmhGaEtVa2h1UnNMUnptMVJ1L2VWM2xHM3B5eXl0ZzFOeEdtZDJ3TlNTMEsvRApQNjlRL0RkaGlZQ1FMMnJJZ2NGaGZaTU1DOFVhcFg5SlEzc1RpMVhtWjMzMTBhVkVGaksxRlR0Y1kyWjVPOC9GCmZMSDZ0ZGw2a1Mrd3dwWHNmeXJ3WkRzZWw0SjVaYmxsTml5Y1JOc1VKQTQ4SzRWdnFGT05pbmRUQS80N1ZITDcKY0dlbS9xTm9qRHpTRHVoL2xzY3IxU1F2bGR6eTJnMnlJUFJhOEorZUt2UThFWnFzclBjL2xXQmdDVEowcFkxQwo5ZFVqQXdTLy93MW0wd204NUQ0MGppbVVzTDc2Y29NVG9YQ3d0WEdhWnlQTjJZUVNhRHBFbHNBQm8xZG1zS0ZCCnYwb2dpdDNxcWRuenVMVlpubFhyTDYyYUs4Q1lCcWNybEFuUW4rM0c3Rnpva00rRFlpcExnSVB6RFRyaW1OMkkKUFdtYi90Unp2dFhkWSsybzFEaGR2RHU4ZmM3ZUZnemZCcUZnWVpDOXlISjBka28vY3JtSTJMaXlud0Zwak82UgpCT204cHBWSzg4THJ4OWx3MTh4ZExkRklkZDgrUThJeHFVdEJzSVJiY2pSVVVyUlBXWnFXNjNCQ1NTK3ZjbE5pCnk3Q25NYkVKR0YrL29nSWNVYnFOb0tDRGc2Q0U1L3VyZENGcEc1MTBZejVvZHdxblJxZ2hUczE5US9XMjlibUIKVUlyUmhOdCtPRjBRYVZnVVZhSk9Pam5iL0tQb0lvKytkZUZjSjdJZFk4OVFEYkFYcEpCQjA5NXRsYkdNU3BJNQpPTTRwc2M2NGpHeURXbmNDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVkRGpmTkYKY0RXeHdaMm02YnB3TmdIUkVTdk80WVhhSng2WjlKbDRIeGhFMTJJOFpYSWdWemQ1ZHFmTk54SEkvODFXWHdsLwo3RmdESjBmKy9Ca2xaeEtDeWVpd2dwOHQvRDBLdFQ2Ny9ndTM0QnAxWEpVMnJoRkczREZhR2ZLUlRZVzZlUXFnCnFORHpaSFpKY0JuUEI1WjdxVkVPOGlBSk5PSzJqZDNXcGQycnhuUWJBU0hpbXVIc04vUVEvU084ekpNSEZZVCsKZ0lNM0NCR0gzUVQ3d1JSa3hxWEhkOVgrTkVtZ2pmL1laUm1GTDMrR3hGc0NZczhzcmQ5LzBCOXRoUDBBTDhzRApWNk1ybGVBVXZVdE41dUJQR1BDSW1raVA2d2xNZDdyamhmaUhWZTNyWEFvTmZwWitGZ3g5OUJuVHBMUXFhYTZMCldJQzNNbXpJZmVHZTNuZExHODE0Vi81YU9XeE53VzEvZFAzMThlK0d2dENHeUNSYUdBNnRsTThkdGtJU1licmgKYjJWVWlneEI5OGVMS0pTdU8rSDdZRENLbGRXWnpYeU9WODNYZWswVlZpWDl1TVRyWVQ0TU14M1ZTd2xBSXc3Vgp2eW5Ub2ViQlc2OERnV0FXMjRoR1FDVmd2WHpnUDBJdlpsUlhmMGZXRWpKWklQdHFnbnp3bVpmbkF1WkhKcGNZCjc2eUVJMTM1WXh5d1VPOGR5SEJsMEFIcldvZWZsY0ZtNjloRk9zZk1SdGxVTUhDeVhWdHFwRXp3dFYvVWZBVU0KaEp0L2pvREJTQUE1cHFud0I2SCtpNkpYOGlUcGt4SEt4UnNWaE5CQVRkelN5MERPejhPVm01cllKWnlqQlhRbApXL3ZOUDVlTGVwdk9xUm4zRFBqdy92SkFHMGl6d09MVTZVWUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=","client-key-data":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeVpEK3JJREF6bnU1SVd6RlVuMW5DbzNEdER1MFVkbXBWOVd4bmZLMytLR0hRdXJoCkZoS1VraHVSc0xSem0xUnUvZVYzbEczcHl5eXRnMU54R21kMndOU1MwSy9EUDY5US9EZGhpWUNRTDJySWdjRmgKZlpNTUM4VWFwWDlKUTNzVGkxWG1aMzMxMGFWRUZqSzFGVHRjWTJaNU84L0ZmTEg2dGRsNmtTK3d3cFhzZnlydwpaRHNlbDRKNVpibGxOaXljUk5zVUpBNDhLNFZ2cUZPTmluZFRBLzQ3VkhMN2NHZW0vcU5vakR6U0R1aC9sc2NyCjFTUXZsZHp5MmcyeUlQUmE4SitlS3ZROEVacXNyUGMvbFdCZ0NUSjBwWTFDOWRVakF3Uy8vdzFtMHdtODVENDAKamltVXNMNzZjb01Ub1hDd3RYR2FaeVBOMllRU2FEcEVsc0FCbzFkbXNLRkJ2MG9naXQzcXFkbnp1TFZabmxYcgpMNjJhSzhDWUJxY3JsQW5RbiszRzdGem9rTStEWWlwTGdJUHpEVHJpbU4ySVBXbWIvdFJ6dnRYZFkrMm8xRGhkCnZEdThmYzdlRmd6ZkJxRmdZWkM5eUhKMGRrby9jcm1JMkxpeW53RnBqTzZSQk9tOHBwVks4OExyeDlsdzE4eGQKTGRGSWRkOCtROEl4cVV0QnNJUmJjalJVVXJSUFdacVc2M0JDU1MrdmNsTml5N0NuTWJFSkdGKy9vZ0ljVWJxTgpvS0NEZzZDRTUvdXJkQ0ZwRzUxMFl6NW9kd3FuUnFnaFRzMTlRL1cyOWJtQlVJclJoTnQrT0YwUWFWZ1VWYUpPCk9qbmIvS1BvSW8rK2RlRmNKN0lkWTg5UURiQVhwSkJCMDk1dGxiR01TcEk1T000cHNjNjRqR3lEV25jQ0F3RUEKQVFLQ0FnRUFqOVpQVm13ZXFucHh0dDkyeEJIRzZTb1c0TlBHTHE2RGdMRjJxVDdlZDZkVTdiVE00TUpya1FQcAphRTZ0UE1mNDJHZmFlR29pN3lDM3hVSlRNTU5xWTlxTjFpdkd5ZmhpYzBsVjZoaDdTOHNJd0VkdU9YMG9tSEdVClBVdGl6YXZUVzVmMTdoNWR2N2dPcVVTUUlsR1U4VDNiLzRtWjVRemcyc29TQSs4alZRaEZsczNlYzdnWWNZZmkKOTJ0Z1JWTjZSRXlOeDlqOHFSWDBnd3Iwc3ozSldNMGdLM2hONDMya0Zvd25mQU9lNXBLVkVkU1plK1R4ckNEYQprQzQ3MGZadHVzNDh3V3crUFZYQ0tUL2ErTTZvV1lmTzQ2QzFpdFlJd1F1dnN1TXVZQ1RQelpSeVRveHZsZDBDCnZacTU5SGVGTWtXYUtFWE5qSTRKMEtUYjh6T2JObDZ0ajhVYnl6eFNKRVlVNWc4ajNNdEFXalRqUzhNWHpsNlgKakN3aEFGNnNUOTFZeW5Mc3Z1RVZSbTBsZHB0UkIwcExHMjgwci94ODhaSFlDR0YwdnI4TGRLei80MDBhdFFMWQprZGI5RUNDa2pPbVdIdmZVVlZPMjZBeVljWnA1b0k0clhYdGlEVHU4V0dVakhzUzBWc3ljZERqRXRBbzlYYndtCnpONGxMQmE5VFdvRDI5TlNmaUdlYTd1bzFlZ0h3WDlXbWdyUU5rdkM5cmJSTTZ6Z2xzbzRkWCtkQW9uaFRNbVMKQmRLYVhybzUrdFVSK09SditFUG5tZHpYb01uaGlibWRZYVZoc0xTY2FsaSs4MmZZdGJGQllCd1RtWHdZL0NzUAoxSW04Vkx2VDZQVkRUZ2Fjc2JMRVRZemhoNmhFMXQ3Y1F6TE83Zk4xbjJURnJjcEhKZGtDZ2dFQkFQS1ptbnBnClB1VWJubi9OK3R5clh2SGYvNUhHTUdwaTUvME56SnJDSG11ZmN4Q2lUVUgyekNqNE50T0VkRGgzaDZrUkFmc2MKc2xLZGZuWTdxM3lDdDdQRFNiaVY0WSttTndsU0pqM3czOGcxSW9YTkJFbG5rak5aM2hYd3FNSDNsMmZ4bDdHSgpwMUNxUWlHcXZQeEFERzVQREtYalFEUm5hRXBQWUVVem5vTjR3ZUlVeFZWTzhUSnNZaS9XTlNhSSsydThqZWtsCm1yMHVaZlhhaFZZcWtYdjM4QkZFSWtZcWtjTHBycWdPQ2JTQi9OTG14RTcyNTM4OFlHM1JHU1doa1d4ZmNYUFQKUmZkblIxcEErYUhrZkNOTFF0K0lGNzl6MzBQUEJjcmdYR0E4ZUhrRisvenhqRHV1SVdGMGMzb0lKbFZBclRjKwprd2dka3BUSk1CNko0d3NDZ2dFQkFOU3pLNkRDdWFLUTh2VUFHbks4ekZsYk8xZHpmQVhJdmtOWW1JVUV1RDQ4ClRtcGZheE96aVRSWEFWbjhZY3lReTdCbnFpRU95cTltYmZBOUhFSUkxS2hxSEV6MzYxUllXS200S1pmOUk0YjUKVTRsVUJ4bjhBaXNqWHk3bldGRnk4dGZwQ21ic1pjaGJxOStBNTAwQm52dEszWkE5SVU4ZWwxNThncXUrdnQrcQpZdjlONVhMcUVhTHNudDY1NU5iU2RZbmhjZGZTRDE1WlptL2dtR2JHVmx5VHUranAxMHkyZFVDQ3VHdzRIOENHClAxOHpBc1c2TjlCNlJCWk1LLzNNSHVkQi9IblJQUUZ5TkgvVFNQbFlFaTFxeWIzTXU3SU94MHdlUXBSMlVtNjcKdHdpTUN2VHNGOUpOSDNEcElHR0djUzliNlFoRVh6a3BTYmZvRVBIc3ljVUNnZ0VCQU45L3hZS0NrczhOdjlycwpqL1dtWjhVYjRWNlNJTjZTR2puVzhhMk5zdXJocmVjZ0wxN2JHTUdSMHlqUXVTV2djVG0vc254K3RvWklGRTZtCnNGajRNSGVMTGFyQllsbXQvcncyazRhekYrZGhsRm1DUkRYQUZqLzZ4aENlYzBxbmFEUlpyYS9oS21TMVJsR3YKODRYTkYrYTBLdW5WVDd3M25Dd0JycVp5Wk5Hb2VhNW9CbGlPYnNWT2RyS3RmSy93dVBoTGNNM2ZXQXg3NTNFMQpqV3VSc2hCc25oMjZFSDFtRUgxcVBmOFRWN3VWbWE5TzdJSDNFOVR6Y2I4YVNUbVMvTi9EbWtqajFteVVHSGM4CnJ2NkgraG1sNTRqNTN5OEJlQ29IV3NYS0p6Qjk1VnRSdVJJU0VtaVZCcW02MS93UDhBalFtZ1B3UVJMVDg4dmgKQWRUUW9Yc0NnZ0VBUmFiS2thRlNrdGF1aU9aWXd0dnFleFJ5RVVnakErM2h5RUg1NkExTW5DeTViUUlFR1hhQQpacUJiTS9GK3dUTmxVRVlTSXpNcDBsaFRoZ2tzK0w3VmpMVDZ3WVdxRFh2RXhRY21yN3ZZWjNtOERrdHk2K0puCmYyTGM1NG9nbE1OMG5KbVdxMitjUVFrcjlrdks4cCttUlJvV0JnYk9vbzhjK0hjRGYyUStNeFlqeHdEbU0wUk4KTkRJU01GTmxpYWR2a0JCQWJIRkFVU0FyZUZWdThyRGVWUUNYMTBURUdUM2lsWlo0K0E5RTdwSEhyTkFTaDFkYwpzYXRvSW5rZEtzWXVGSUs2UDlYeUNVZ3h3dTRZaG5aOXRWdXo1ckJsZ29CdWFSRzdzY3d4WUV1ZU8zRklvVDJ5CjYwNFFEclI0d3hiNGQ0NjhkOVdUN1M4RkVmRXZvMWxzRlFLQ0FRRUFrNmlpMFlmTGkvNnk4TVQ5dDgrZ1FqazYKTkhWZkRzYnc5c1hKWXZWWGswb0tUN1lBTVBmcnlkS0F0akZ5YlBBcGFDS3dPQlpqcFBySGh0Vy9HdkVub3VpRworQkVIM2x2S0NOUzBlQUVUVC8rNzlNTmVRRjBOazZhb2ZGNFRBei8yaWduMTJESXY5c1Y4NFJVc1VMVmw5bHlGCkpmdktLb1E1ZEg4WnhPQW9HVEVRRDhJdG0ra0FqdmppYnM4RFlnREp2VVRGZnFYcUtxOVJTK2VLS1VZWUM3VGYKejRub0Mvb0c3ZlA1cEpna0dlNU1EbFhHb05GUFNXZzJKVzRPbU1YZmV3WW80MmNOQnhsc0ROUXFYSnFSdXAyRwplT2xNaXU2SmRsak9CRFc5RG8xbHhVaG9JOG9SdW5JRVVGdEN5MUdFWHpYaWdOQ21vbE1qQjUveDJYTzFvZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="} - } - ] -} diff --git a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.centralus.json b/azure/_output/fabricnlp9/kubeconfig/kubeconfig.centralus.json deleted file mode 100644 index 44c7e4d..0000000 --- a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.centralus.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "apiVersion": "v1", - "clusters": [ - { - "cluster": { - "certificate-authority-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRVkZsMU1sZDA5L0xUazJRMk5JWG1GREFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1UQXdOREF4TkRaYUZ3MHhPVEV5TVRBd05EQXhORFphTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFzZmxGCmNvZCtwMTB4REdUM2ZXWm12K21OYXRhU2w4MFAzNTkrQ3JFWEY5OHYzaHdsQyt6eGpFRXhpZEdHSkdBcWpIc3QKdFlOREg5aG81bHdSWTROamJKcUJJZ3cvcDZ5RXB5WGg1MVliRFA2dDd6bHp3UVMyRjlJKzJ5aG02TWd3V3dSTQpkTmxHb1pzamFrbFJucTBWbXZ6eVk4WGVCVi84TllRb0QzNE1OdVZXVjZ0R0daeWZpdDFFT3YydCtqTnNLdXBRCm4xRGh4RGJkNE9LT3hvaC9md1hnL0tHU1gwWlRyUUY1eUV4c1VOaFdyQncrQnZ0Q2twdHc2aU1hT1Vhb0tVaDkKczVrTTA3clhCY0xmU2FuZ0FBVHZTMWQzNWZmaENZQmxseGl4Sk11QWFMcFNLaHlzekR2Z1BEV2dnUjcvRVZZUApaSDlMSlgwL20vT25DcFl2eURkUE0zeEhLd0pvbkdYS0tmMW1UTE5GUjE2b0YxU3N6QlZWZFNXc1FSSHNCTkdVCmMyZEYvRjZKaDBEV0JQZ2pINnJDOGhFNWFnQmY1Z09oa1hJVnJwZXo4cGtiUmRTampEbWpXWFkwMjkxY2lIRWUKdXlCWFh6MlVoeEJ6c2Y5QmVFUm5LTTBnQ2xLeEtid0dGTjRlc1djTzBEcEhlNm1YK3pnS3ZvSytIUHlVczhnUApkOU9wMU9zZWRIQ0NKWFl4TlIycWw0OFVBcmpENGYycHYxY2ZFekpORWpjb1FwbXlwSmtwUTRjbUZWMnREdjhhCksrS1NYajJvNEVwN1dJVFBEVWtuU3llN3pPamNPeFNmTG9XeWtldGcyZjZnSWVqemFJUm9XbVNkMlR0OHlwRUwKOVBkcXNKVWljbnkzOXNPcUNLYWxMeTRrdThWZ1FQMHVadDFPYW9FQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFGbU5NblhrCjN6YkhHeFNNRTR0bzJsWWJtQmZ1eGFpYlJhYnJpdExZMnEzUkpXNEhxNUVSZC80bm43TmRLWnZBbEh4ZXV2TTYKS1IxWTV1VGp3YjlZckp0VUI4eDlXR2w5R1RhVzNhZTlRZGR5Y1RHMEh6a1owWGFEcGp4ZExWcmVlWUYvRlBTQwp6djVjanhDUytqa3AzM1dGWm9nT2Z0Sjl1Nk9yKzNZV2NVeFBTV1JLeTZTSmVJN2pnWHlnM1hhZk9FbmI1bFJDCktSRit2dFk4cWhsT21uWnRSM1BaTDdsWGNDZGhqZFpRQ2Z2eTdaWVpmajIwckxJMFZVOWtoTFJVSWt2MDdJd0EKaEwwZkRXRVBnek9oM1JBOE1nMityT0EvUmJBVE45U0hCMEYzZXNpa2V6OUxmei82QjVLTitqRyt1TStEZjFxSwo1QlpSYnc1alNsQU9wZ2dBbzJhbDlBUVFIekdpRDRsQnpscy9wVFRFQXBERVVqempHWjY2WlhucTVrTDBjU0xmCmhwQjNPbDY4cldySVRxRDNSK2dJZDZXRGRWbVN6QXFxYnJVRHNQVXVjNWwvcFB6MWFBSjQrSlh1aFd2MzVXSXgKWTRscy9GY3VORks5bXhUS0dOeFdsWnh6aXpsK0tKenIrT09YaHAzQkhaTFpwRFFudmI4YnptZjRxNmFubGl1SQpsWmlRbEk4UUp6cWRpVEtNYTJ4dkMxTm5TS1ZNNHpISmZFWEliQ1ptMnkxQXNoQkRBSDFoczAyci9wdXlsM3QwCjdKcVQ3Y2VDanZESy9uRjQ3RUZ1c2tzV0dQMUJpRXlONExxbFJWeXB3MFA1MlFsMDJuRHFZbnlzSXZxS051RGIKQkJ2aUN3ajMzUGhCSldlWjNoNlBkaHNObUY2SVEwNjI3MVp4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", - "server": "https://fabricnlp9.centralus.cloudapp.azure.com" - }, - "name": "fabricnlp9" - } - ], - "contexts": [ - { - "context": { - "cluster": "fabricnlp9", - "user": "fabricnlp9-admin" - }, - "name": "fabricnlp9" - } - ], - "current-context": "fabricnlp9", - "kind": "Config", - "users": [ - { - "name": "fabricnlp9-admin", - "user": {"client-certificate-data":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUw0bWp3MmNCMUp6L3cxa05meXY4SzR3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qRXdNRFF3TVRRNFdoY05NVGt4TWpFd01EUXdNVFE0V2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXlaRCtySURBem51NUlXekZVbjFuQ28zRHREdTAKVWRtcFY5V3huZkszK0tHSFF1cmhGaEtVa2h1UnNMUnptMVJ1L2VWM2xHM3B5eXl0ZzFOeEdtZDJ3TlNTMEsvRApQNjlRL0RkaGlZQ1FMMnJJZ2NGaGZaTU1DOFVhcFg5SlEzc1RpMVhtWjMzMTBhVkVGaksxRlR0Y1kyWjVPOC9GCmZMSDZ0ZGw2a1Mrd3dwWHNmeXJ3WkRzZWw0SjVaYmxsTml5Y1JOc1VKQTQ4SzRWdnFGT05pbmRUQS80N1ZITDcKY0dlbS9xTm9qRHpTRHVoL2xzY3IxU1F2bGR6eTJnMnlJUFJhOEorZUt2UThFWnFzclBjL2xXQmdDVEowcFkxQwo5ZFVqQXdTLy93MW0wd204NUQ0MGppbVVzTDc2Y29NVG9YQ3d0WEdhWnlQTjJZUVNhRHBFbHNBQm8xZG1zS0ZCCnYwb2dpdDNxcWRuenVMVlpubFhyTDYyYUs4Q1lCcWNybEFuUW4rM0c3Rnpva00rRFlpcExnSVB6RFRyaW1OMkkKUFdtYi90Unp2dFhkWSsybzFEaGR2RHU4ZmM3ZUZnemZCcUZnWVpDOXlISjBka28vY3JtSTJMaXlud0Zwak82UgpCT204cHBWSzg4THJ4OWx3MTh4ZExkRklkZDgrUThJeHFVdEJzSVJiY2pSVVVyUlBXWnFXNjNCQ1NTK3ZjbE5pCnk3Q25NYkVKR0YrL29nSWNVYnFOb0tDRGc2Q0U1L3VyZENGcEc1MTBZejVvZHdxblJxZ2hUczE5US9XMjlibUIKVUlyUmhOdCtPRjBRYVZnVVZhSk9Pam5iL0tQb0lvKytkZUZjSjdJZFk4OVFEYkFYcEpCQjA5NXRsYkdNU3BJNQpPTTRwc2M2NGpHeURXbmNDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVkRGpmTkYKY0RXeHdaMm02YnB3TmdIUkVTdk80WVhhSng2WjlKbDRIeGhFMTJJOFpYSWdWemQ1ZHFmTk54SEkvODFXWHdsLwo3RmdESjBmKy9Ca2xaeEtDeWVpd2dwOHQvRDBLdFQ2Ny9ndTM0QnAxWEpVMnJoRkczREZhR2ZLUlRZVzZlUXFnCnFORHpaSFpKY0JuUEI1WjdxVkVPOGlBSk5PSzJqZDNXcGQycnhuUWJBU0hpbXVIc04vUVEvU084ekpNSEZZVCsKZ0lNM0NCR0gzUVQ3d1JSa3hxWEhkOVgrTkVtZ2pmL1laUm1GTDMrR3hGc0NZczhzcmQ5LzBCOXRoUDBBTDhzRApWNk1ybGVBVXZVdE41dUJQR1BDSW1raVA2d2xNZDdyamhmaUhWZTNyWEFvTmZwWitGZ3g5OUJuVHBMUXFhYTZMCldJQzNNbXpJZmVHZTNuZExHODE0Vi81YU9XeE53VzEvZFAzMThlK0d2dENHeUNSYUdBNnRsTThkdGtJU1licmgKYjJWVWlneEI5OGVMS0pTdU8rSDdZRENLbGRXWnpYeU9WODNYZWswVlZpWDl1TVRyWVQ0TU14M1ZTd2xBSXc3Vgp2eW5Ub2ViQlc2OERnV0FXMjRoR1FDVmd2WHpnUDBJdlpsUlhmMGZXRWpKWklQdHFnbnp3bVpmbkF1WkhKcGNZCjc2eUVJMTM1WXh5d1VPOGR5SEJsMEFIcldvZWZsY0ZtNjloRk9zZk1SdGxVTUhDeVhWdHFwRXp3dFYvVWZBVU0KaEp0L2pvREJTQUE1cHFud0I2SCtpNkpYOGlUcGt4SEt4UnNWaE5CQVRkelN5MERPejhPVm01cllKWnlqQlhRbApXL3ZOUDVlTGVwdk9xUm4zRFBqdy92SkFHMGl6d09MVTZVWUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=","client-key-data":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeVpEK3JJREF6bnU1SVd6RlVuMW5DbzNEdER1MFVkbXBWOVd4bmZLMytLR0hRdXJoCkZoS1VraHVSc0xSem0xUnUvZVYzbEczcHl5eXRnMU54R21kMndOU1MwSy9EUDY5US9EZGhpWUNRTDJySWdjRmgKZlpNTUM4VWFwWDlKUTNzVGkxWG1aMzMxMGFWRUZqSzFGVHRjWTJaNU84L0ZmTEg2dGRsNmtTK3d3cFhzZnlydwpaRHNlbDRKNVpibGxOaXljUk5zVUpBNDhLNFZ2cUZPTmluZFRBLzQ3VkhMN2NHZW0vcU5vakR6U0R1aC9sc2NyCjFTUXZsZHp5MmcyeUlQUmE4SitlS3ZROEVacXNyUGMvbFdCZ0NUSjBwWTFDOWRVakF3Uy8vdzFtMHdtODVENDAKamltVXNMNzZjb01Ub1hDd3RYR2FaeVBOMllRU2FEcEVsc0FCbzFkbXNLRkJ2MG9naXQzcXFkbnp1TFZabmxYcgpMNjJhSzhDWUJxY3JsQW5RbiszRzdGem9rTStEWWlwTGdJUHpEVHJpbU4ySVBXbWIvdFJ6dnRYZFkrMm8xRGhkCnZEdThmYzdlRmd6ZkJxRmdZWkM5eUhKMGRrby9jcm1JMkxpeW53RnBqTzZSQk9tOHBwVks4OExyeDlsdzE4eGQKTGRGSWRkOCtROEl4cVV0QnNJUmJjalJVVXJSUFdacVc2M0JDU1MrdmNsTml5N0NuTWJFSkdGKy9vZ0ljVWJxTgpvS0NEZzZDRTUvdXJkQ0ZwRzUxMFl6NW9kd3FuUnFnaFRzMTlRL1cyOWJtQlVJclJoTnQrT0YwUWFWZ1VWYUpPCk9qbmIvS1BvSW8rK2RlRmNKN0lkWTg5UURiQVhwSkJCMDk1dGxiR01TcEk1T000cHNjNjRqR3lEV25jQ0F3RUEKQVFLQ0FnRUFqOVpQVm13ZXFucHh0dDkyeEJIRzZTb1c0TlBHTHE2RGdMRjJxVDdlZDZkVTdiVE00TUpya1FQcAphRTZ0UE1mNDJHZmFlR29pN3lDM3hVSlRNTU5xWTlxTjFpdkd5ZmhpYzBsVjZoaDdTOHNJd0VkdU9YMG9tSEdVClBVdGl6YXZUVzVmMTdoNWR2N2dPcVVTUUlsR1U4VDNiLzRtWjVRemcyc29TQSs4alZRaEZsczNlYzdnWWNZZmkKOTJ0Z1JWTjZSRXlOeDlqOHFSWDBnd3Iwc3ozSldNMGdLM2hONDMya0Zvd25mQU9lNXBLVkVkU1plK1R4ckNEYQprQzQ3MGZadHVzNDh3V3crUFZYQ0tUL2ErTTZvV1lmTzQ2QzFpdFlJd1F1dnN1TXVZQ1RQelpSeVRveHZsZDBDCnZacTU5SGVGTWtXYUtFWE5qSTRKMEtUYjh6T2JObDZ0ajhVYnl6eFNKRVlVNWc4ajNNdEFXalRqUzhNWHpsNlgKakN3aEFGNnNUOTFZeW5Mc3Z1RVZSbTBsZHB0UkIwcExHMjgwci94ODhaSFlDR0YwdnI4TGRLei80MDBhdFFMWQprZGI5RUNDa2pPbVdIdmZVVlZPMjZBeVljWnA1b0k0clhYdGlEVHU4V0dVakhzUzBWc3ljZERqRXRBbzlYYndtCnpONGxMQmE5VFdvRDI5TlNmaUdlYTd1bzFlZ0h3WDlXbWdyUU5rdkM5cmJSTTZ6Z2xzbzRkWCtkQW9uaFRNbVMKQmRLYVhybzUrdFVSK09SditFUG5tZHpYb01uaGlibWRZYVZoc0xTY2FsaSs4MmZZdGJGQllCd1RtWHdZL0NzUAoxSW04Vkx2VDZQVkRUZ2Fjc2JMRVRZemhoNmhFMXQ3Y1F6TE83Zk4xbjJURnJjcEhKZGtDZ2dFQkFQS1ptbnBnClB1VWJubi9OK3R5clh2SGYvNUhHTUdwaTUvME56SnJDSG11ZmN4Q2lUVUgyekNqNE50T0VkRGgzaDZrUkFmc2MKc2xLZGZuWTdxM3lDdDdQRFNiaVY0WSttTndsU0pqM3czOGcxSW9YTkJFbG5rak5aM2hYd3FNSDNsMmZ4bDdHSgpwMUNxUWlHcXZQeEFERzVQREtYalFEUm5hRXBQWUVVem5vTjR3ZUlVeFZWTzhUSnNZaS9XTlNhSSsydThqZWtsCm1yMHVaZlhhaFZZcWtYdjM4QkZFSWtZcWtjTHBycWdPQ2JTQi9OTG14RTcyNTM4OFlHM1JHU1doa1d4ZmNYUFQKUmZkblIxcEErYUhrZkNOTFF0K0lGNzl6MzBQUEJjcmdYR0E4ZUhrRisvenhqRHV1SVdGMGMzb0lKbFZBclRjKwprd2dka3BUSk1CNko0d3NDZ2dFQkFOU3pLNkRDdWFLUTh2VUFHbks4ekZsYk8xZHpmQVhJdmtOWW1JVUV1RDQ4ClRtcGZheE96aVRSWEFWbjhZY3lReTdCbnFpRU95cTltYmZBOUhFSUkxS2hxSEV6MzYxUllXS200S1pmOUk0YjUKVTRsVUJ4bjhBaXNqWHk3bldGRnk4dGZwQ21ic1pjaGJxOStBNTAwQm52dEszWkE5SVU4ZWwxNThncXUrdnQrcQpZdjlONVhMcUVhTHNudDY1NU5iU2RZbmhjZGZTRDE1WlptL2dtR2JHVmx5VHUranAxMHkyZFVDQ3VHdzRIOENHClAxOHpBc1c2TjlCNlJCWk1LLzNNSHVkQi9IblJQUUZ5TkgvVFNQbFlFaTFxeWIzTXU3SU94MHdlUXBSMlVtNjcKdHdpTUN2VHNGOUpOSDNEcElHR0djUzliNlFoRVh6a3BTYmZvRVBIc3ljVUNnZ0VCQU45L3hZS0NrczhOdjlycwpqL1dtWjhVYjRWNlNJTjZTR2puVzhhMk5zdXJocmVjZ0wxN2JHTUdSMHlqUXVTV2djVG0vc254K3RvWklGRTZtCnNGajRNSGVMTGFyQllsbXQvcncyazRhekYrZGhsRm1DUkRYQUZqLzZ4aENlYzBxbmFEUlpyYS9oS21TMVJsR3YKODRYTkYrYTBLdW5WVDd3M25Dd0JycVp5Wk5Hb2VhNW9CbGlPYnNWT2RyS3RmSy93dVBoTGNNM2ZXQXg3NTNFMQpqV3VSc2hCc25oMjZFSDFtRUgxcVBmOFRWN3VWbWE5TzdJSDNFOVR6Y2I4YVNUbVMvTi9EbWtqajFteVVHSGM4CnJ2NkgraG1sNTRqNTN5OEJlQ29IV3NYS0p6Qjk1VnRSdVJJU0VtaVZCcW02MS93UDhBalFtZ1B3UVJMVDg4dmgKQWRUUW9Yc0NnZ0VBUmFiS2thRlNrdGF1aU9aWXd0dnFleFJ5RVVnakErM2h5RUg1NkExTW5DeTViUUlFR1hhQQpacUJiTS9GK3dUTmxVRVlTSXpNcDBsaFRoZ2tzK0w3VmpMVDZ3WVdxRFh2RXhRY21yN3ZZWjNtOERrdHk2K0puCmYyTGM1NG9nbE1OMG5KbVdxMitjUVFrcjlrdks4cCttUlJvV0JnYk9vbzhjK0hjRGYyUStNeFlqeHdEbU0wUk4KTkRJU01GTmxpYWR2a0JCQWJIRkFVU0FyZUZWdThyRGVWUUNYMTBURUdUM2lsWlo0K0E5RTdwSEhyTkFTaDFkYwpzYXRvSW5rZEtzWXVGSUs2UDlYeUNVZ3h3dTRZaG5aOXRWdXo1ckJsZ29CdWFSRzdzY3d4WUV1ZU8zRklvVDJ5CjYwNFFEclI0d3hiNGQ0NjhkOVdUN1M4RkVmRXZvMWxzRlFLQ0FRRUFrNmlpMFlmTGkvNnk4TVQ5dDgrZ1FqazYKTkhWZkRzYnc5c1hKWXZWWGswb0tUN1lBTVBmcnlkS0F0akZ5YlBBcGFDS3dPQlpqcFBySGh0Vy9HdkVub3VpRworQkVIM2x2S0NOUzBlQUVUVC8rNzlNTmVRRjBOazZhb2ZGNFRBei8yaWduMTJESXY5c1Y4NFJVc1VMVmw5bHlGCkpmdktLb1E1ZEg4WnhPQW9HVEVRRDhJdG0ra0FqdmppYnM4RFlnREp2VVRGZnFYcUtxOVJTK2VLS1VZWUM3VGYKejRub0Mvb0c3ZlA1cEpna0dlNU1EbFhHb05GUFNXZzJKVzRPbU1YZmV3WW80MmNOQnhsc0ROUXFYSnFSdXAyRwplT2xNaXU2SmRsak9CRFc5RG8xbHhVaG9JOG9SdW5JRVVGdEN5MUdFWHpYaWdOQ21vbE1qQjUveDJYTzFvZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="} - } - ] -} diff --git a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.centraluseuap.json b/azure/_output/fabricnlp9/kubeconfig/kubeconfig.centraluseuap.json deleted file mode 100644 index 972c8ab..0000000 --- a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.centraluseuap.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "apiVersion": "v1", - "clusters": [ - { - "cluster": { - "certificate-authority-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRVkZsMU1sZDA5L0xUazJRMk5JWG1GREFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1UQXdOREF4TkRaYUZ3MHhPVEV5TVRBd05EQXhORFphTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFzZmxGCmNvZCtwMTB4REdUM2ZXWm12K21OYXRhU2w4MFAzNTkrQ3JFWEY5OHYzaHdsQyt6eGpFRXhpZEdHSkdBcWpIc3QKdFlOREg5aG81bHdSWTROamJKcUJJZ3cvcDZ5RXB5WGg1MVliRFA2dDd6bHp3UVMyRjlJKzJ5aG02TWd3V3dSTQpkTmxHb1pzamFrbFJucTBWbXZ6eVk4WGVCVi84TllRb0QzNE1OdVZXVjZ0R0daeWZpdDFFT3YydCtqTnNLdXBRCm4xRGh4RGJkNE9LT3hvaC9md1hnL0tHU1gwWlRyUUY1eUV4c1VOaFdyQncrQnZ0Q2twdHc2aU1hT1Vhb0tVaDkKczVrTTA3clhCY0xmU2FuZ0FBVHZTMWQzNWZmaENZQmxseGl4Sk11QWFMcFNLaHlzekR2Z1BEV2dnUjcvRVZZUApaSDlMSlgwL20vT25DcFl2eURkUE0zeEhLd0pvbkdYS0tmMW1UTE5GUjE2b0YxU3N6QlZWZFNXc1FSSHNCTkdVCmMyZEYvRjZKaDBEV0JQZ2pINnJDOGhFNWFnQmY1Z09oa1hJVnJwZXo4cGtiUmRTampEbWpXWFkwMjkxY2lIRWUKdXlCWFh6MlVoeEJ6c2Y5QmVFUm5LTTBnQ2xLeEtid0dGTjRlc1djTzBEcEhlNm1YK3pnS3ZvSytIUHlVczhnUApkOU9wMU9zZWRIQ0NKWFl4TlIycWw0OFVBcmpENGYycHYxY2ZFekpORWpjb1FwbXlwSmtwUTRjbUZWMnREdjhhCksrS1NYajJvNEVwN1dJVFBEVWtuU3llN3pPamNPeFNmTG9XeWtldGcyZjZnSWVqemFJUm9XbVNkMlR0OHlwRUwKOVBkcXNKVWljbnkzOXNPcUNLYWxMeTRrdThWZ1FQMHVadDFPYW9FQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFGbU5NblhrCjN6YkhHeFNNRTR0bzJsWWJtQmZ1eGFpYlJhYnJpdExZMnEzUkpXNEhxNUVSZC80bm43TmRLWnZBbEh4ZXV2TTYKS1IxWTV1VGp3YjlZckp0VUI4eDlXR2w5R1RhVzNhZTlRZGR5Y1RHMEh6a1owWGFEcGp4ZExWcmVlWUYvRlBTQwp6djVjanhDUytqa3AzM1dGWm9nT2Z0Sjl1Nk9yKzNZV2NVeFBTV1JLeTZTSmVJN2pnWHlnM1hhZk9FbmI1bFJDCktSRit2dFk4cWhsT21uWnRSM1BaTDdsWGNDZGhqZFpRQ2Z2eTdaWVpmajIwckxJMFZVOWtoTFJVSWt2MDdJd0EKaEwwZkRXRVBnek9oM1JBOE1nMityT0EvUmJBVE45U0hCMEYzZXNpa2V6OUxmei82QjVLTitqRyt1TStEZjFxSwo1QlpSYnc1alNsQU9wZ2dBbzJhbDlBUVFIekdpRDRsQnpscy9wVFRFQXBERVVqempHWjY2WlhucTVrTDBjU0xmCmhwQjNPbDY4cldySVRxRDNSK2dJZDZXRGRWbVN6QXFxYnJVRHNQVXVjNWwvcFB6MWFBSjQrSlh1aFd2MzVXSXgKWTRscy9GY3VORks5bXhUS0dOeFdsWnh6aXpsK0tKenIrT09YaHAzQkhaTFpwRFFudmI4YnptZjRxNmFubGl1SQpsWmlRbEk4UUp6cWRpVEtNYTJ4dkMxTm5TS1ZNNHpISmZFWEliQ1ptMnkxQXNoQkRBSDFoczAyci9wdXlsM3QwCjdKcVQ3Y2VDanZESy9uRjQ3RUZ1c2tzV0dQMUJpRXlONExxbFJWeXB3MFA1MlFsMDJuRHFZbnlzSXZxS051RGIKQkJ2aUN3ajMzUGhCSldlWjNoNlBkaHNObUY2SVEwNjI3MVp4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", - "server": "https://fabricnlp9.centraluseuap.cloudapp.azure.com" - }, - "name": "fabricnlp9" - } - ], - "contexts": [ - { - "context": { - "cluster": "fabricnlp9", - "user": "fabricnlp9-admin" - }, - "name": "fabricnlp9" - } - ], - "current-context": "fabricnlp9", - "kind": "Config", - "users": [ - { - "name": "fabricnlp9-admin", - "user": {"client-certificate-data":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUw0bWp3MmNCMUp6L3cxa05meXY4SzR3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qRXdNRFF3TVRRNFdoY05NVGt4TWpFd01EUXdNVFE0V2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXlaRCtySURBem51NUlXekZVbjFuQ28zRHREdTAKVWRtcFY5V3huZkszK0tHSFF1cmhGaEtVa2h1UnNMUnptMVJ1L2VWM2xHM3B5eXl0ZzFOeEdtZDJ3TlNTMEsvRApQNjlRL0RkaGlZQ1FMMnJJZ2NGaGZaTU1DOFVhcFg5SlEzc1RpMVhtWjMzMTBhVkVGaksxRlR0Y1kyWjVPOC9GCmZMSDZ0ZGw2a1Mrd3dwWHNmeXJ3WkRzZWw0SjVaYmxsTml5Y1JOc1VKQTQ4SzRWdnFGT05pbmRUQS80N1ZITDcKY0dlbS9xTm9qRHpTRHVoL2xzY3IxU1F2bGR6eTJnMnlJUFJhOEorZUt2UThFWnFzclBjL2xXQmdDVEowcFkxQwo5ZFVqQXdTLy93MW0wd204NUQ0MGppbVVzTDc2Y29NVG9YQ3d0WEdhWnlQTjJZUVNhRHBFbHNBQm8xZG1zS0ZCCnYwb2dpdDNxcWRuenVMVlpubFhyTDYyYUs4Q1lCcWNybEFuUW4rM0c3Rnpva00rRFlpcExnSVB6RFRyaW1OMkkKUFdtYi90Unp2dFhkWSsybzFEaGR2RHU4ZmM3ZUZnemZCcUZnWVpDOXlISjBka28vY3JtSTJMaXlud0Zwak82UgpCT204cHBWSzg4THJ4OWx3MTh4ZExkRklkZDgrUThJeHFVdEJzSVJiY2pSVVVyUlBXWnFXNjNCQ1NTK3ZjbE5pCnk3Q25NYkVKR0YrL29nSWNVYnFOb0tDRGc2Q0U1L3VyZENGcEc1MTBZejVvZHdxblJxZ2hUczE5US9XMjlibUIKVUlyUmhOdCtPRjBRYVZnVVZhSk9Pam5iL0tQb0lvKytkZUZjSjdJZFk4OVFEYkFYcEpCQjA5NXRsYkdNU3BJNQpPTTRwc2M2NGpHeURXbmNDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVkRGpmTkYKY0RXeHdaMm02YnB3TmdIUkVTdk80WVhhSng2WjlKbDRIeGhFMTJJOFpYSWdWemQ1ZHFmTk54SEkvODFXWHdsLwo3RmdESjBmKy9Ca2xaeEtDeWVpd2dwOHQvRDBLdFQ2Ny9ndTM0QnAxWEpVMnJoRkczREZhR2ZLUlRZVzZlUXFnCnFORHpaSFpKY0JuUEI1WjdxVkVPOGlBSk5PSzJqZDNXcGQycnhuUWJBU0hpbXVIc04vUVEvU084ekpNSEZZVCsKZ0lNM0NCR0gzUVQ3d1JSa3hxWEhkOVgrTkVtZ2pmL1laUm1GTDMrR3hGc0NZczhzcmQ5LzBCOXRoUDBBTDhzRApWNk1ybGVBVXZVdE41dUJQR1BDSW1raVA2d2xNZDdyamhmaUhWZTNyWEFvTmZwWitGZ3g5OUJuVHBMUXFhYTZMCldJQzNNbXpJZmVHZTNuZExHODE0Vi81YU9XeE53VzEvZFAzMThlK0d2dENHeUNSYUdBNnRsTThkdGtJU1licmgKYjJWVWlneEI5OGVMS0pTdU8rSDdZRENLbGRXWnpYeU9WODNYZWswVlZpWDl1TVRyWVQ0TU14M1ZTd2xBSXc3Vgp2eW5Ub2ViQlc2OERnV0FXMjRoR1FDVmd2WHpnUDBJdlpsUlhmMGZXRWpKWklQdHFnbnp3bVpmbkF1WkhKcGNZCjc2eUVJMTM1WXh5d1VPOGR5SEJsMEFIcldvZWZsY0ZtNjloRk9zZk1SdGxVTUhDeVhWdHFwRXp3dFYvVWZBVU0KaEp0L2pvREJTQUE1cHFud0I2SCtpNkpYOGlUcGt4SEt4UnNWaE5CQVRkelN5MERPejhPVm01cllKWnlqQlhRbApXL3ZOUDVlTGVwdk9xUm4zRFBqdy92SkFHMGl6d09MVTZVWUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=","client-key-data":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeVpEK3JJREF6bnU1SVd6RlVuMW5DbzNEdER1MFVkbXBWOVd4bmZLMytLR0hRdXJoCkZoS1VraHVSc0xSem0xUnUvZVYzbEczcHl5eXRnMU54R21kMndOU1MwSy9EUDY5US9EZGhpWUNRTDJySWdjRmgKZlpNTUM4VWFwWDlKUTNzVGkxWG1aMzMxMGFWRUZqSzFGVHRjWTJaNU84L0ZmTEg2dGRsNmtTK3d3cFhzZnlydwpaRHNlbDRKNVpibGxOaXljUk5zVUpBNDhLNFZ2cUZPTmluZFRBLzQ3VkhMN2NHZW0vcU5vakR6U0R1aC9sc2NyCjFTUXZsZHp5MmcyeUlQUmE4SitlS3ZROEVacXNyUGMvbFdCZ0NUSjBwWTFDOWRVakF3Uy8vdzFtMHdtODVENDAKamltVXNMNzZjb01Ub1hDd3RYR2FaeVBOMllRU2FEcEVsc0FCbzFkbXNLRkJ2MG9naXQzcXFkbnp1TFZabmxYcgpMNjJhSzhDWUJxY3JsQW5RbiszRzdGem9rTStEWWlwTGdJUHpEVHJpbU4ySVBXbWIvdFJ6dnRYZFkrMm8xRGhkCnZEdThmYzdlRmd6ZkJxRmdZWkM5eUhKMGRrby9jcm1JMkxpeW53RnBqTzZSQk9tOHBwVks4OExyeDlsdzE4eGQKTGRGSWRkOCtROEl4cVV0QnNJUmJjalJVVXJSUFdacVc2M0JDU1MrdmNsTml5N0NuTWJFSkdGKy9vZ0ljVWJxTgpvS0NEZzZDRTUvdXJkQ0ZwRzUxMFl6NW9kd3FuUnFnaFRzMTlRL1cyOWJtQlVJclJoTnQrT0YwUWFWZ1VWYUpPCk9qbmIvS1BvSW8rK2RlRmNKN0lkWTg5UURiQVhwSkJCMDk1dGxiR01TcEk1T000cHNjNjRqR3lEV25jQ0F3RUEKQVFLQ0FnRUFqOVpQVm13ZXFucHh0dDkyeEJIRzZTb1c0TlBHTHE2RGdMRjJxVDdlZDZkVTdiVE00TUpya1FQcAphRTZ0UE1mNDJHZmFlR29pN3lDM3hVSlRNTU5xWTlxTjFpdkd5ZmhpYzBsVjZoaDdTOHNJd0VkdU9YMG9tSEdVClBVdGl6YXZUVzVmMTdoNWR2N2dPcVVTUUlsR1U4VDNiLzRtWjVRemcyc29TQSs4alZRaEZsczNlYzdnWWNZZmkKOTJ0Z1JWTjZSRXlOeDlqOHFSWDBnd3Iwc3ozSldNMGdLM2hONDMya0Zvd25mQU9lNXBLVkVkU1plK1R4ckNEYQprQzQ3MGZadHVzNDh3V3crUFZYQ0tUL2ErTTZvV1lmTzQ2QzFpdFlJd1F1dnN1TXVZQ1RQelpSeVRveHZsZDBDCnZacTU5SGVGTWtXYUtFWE5qSTRKMEtUYjh6T2JObDZ0ajhVYnl6eFNKRVlVNWc4ajNNdEFXalRqUzhNWHpsNlgKakN3aEFGNnNUOTFZeW5Mc3Z1RVZSbTBsZHB0UkIwcExHMjgwci94ODhaSFlDR0YwdnI4TGRLei80MDBhdFFMWQprZGI5RUNDa2pPbVdIdmZVVlZPMjZBeVljWnA1b0k0clhYdGlEVHU4V0dVakhzUzBWc3ljZERqRXRBbzlYYndtCnpONGxMQmE5VFdvRDI5TlNmaUdlYTd1bzFlZ0h3WDlXbWdyUU5rdkM5cmJSTTZ6Z2xzbzRkWCtkQW9uaFRNbVMKQmRLYVhybzUrdFVSK09SditFUG5tZHpYb01uaGlibWRZYVZoc0xTY2FsaSs4MmZZdGJGQllCd1RtWHdZL0NzUAoxSW04Vkx2VDZQVkRUZ2Fjc2JMRVRZemhoNmhFMXQ3Y1F6TE83Zk4xbjJURnJjcEhKZGtDZ2dFQkFQS1ptbnBnClB1VWJubi9OK3R5clh2SGYvNUhHTUdwaTUvME56SnJDSG11ZmN4Q2lUVUgyekNqNE50T0VkRGgzaDZrUkFmc2MKc2xLZGZuWTdxM3lDdDdQRFNiaVY0WSttTndsU0pqM3czOGcxSW9YTkJFbG5rak5aM2hYd3FNSDNsMmZ4bDdHSgpwMUNxUWlHcXZQeEFERzVQREtYalFEUm5hRXBQWUVVem5vTjR3ZUlVeFZWTzhUSnNZaS9XTlNhSSsydThqZWtsCm1yMHVaZlhhaFZZcWtYdjM4QkZFSWtZcWtjTHBycWdPQ2JTQi9OTG14RTcyNTM4OFlHM1JHU1doa1d4ZmNYUFQKUmZkblIxcEErYUhrZkNOTFF0K0lGNzl6MzBQUEJjcmdYR0E4ZUhrRisvenhqRHV1SVdGMGMzb0lKbFZBclRjKwprd2dka3BUSk1CNko0d3NDZ2dFQkFOU3pLNkRDdWFLUTh2VUFHbks4ekZsYk8xZHpmQVhJdmtOWW1JVUV1RDQ4ClRtcGZheE96aVRSWEFWbjhZY3lReTdCbnFpRU95cTltYmZBOUhFSUkxS2hxSEV6MzYxUllXS200S1pmOUk0YjUKVTRsVUJ4bjhBaXNqWHk3bldGRnk4dGZwQ21ic1pjaGJxOStBNTAwQm52dEszWkE5SVU4ZWwxNThncXUrdnQrcQpZdjlONVhMcUVhTHNudDY1NU5iU2RZbmhjZGZTRDE1WlptL2dtR2JHVmx5VHUranAxMHkyZFVDQ3VHdzRIOENHClAxOHpBc1c2TjlCNlJCWk1LLzNNSHVkQi9IblJQUUZ5TkgvVFNQbFlFaTFxeWIzTXU3SU94MHdlUXBSMlVtNjcKdHdpTUN2VHNGOUpOSDNEcElHR0djUzliNlFoRVh6a3BTYmZvRVBIc3ljVUNnZ0VCQU45L3hZS0NrczhOdjlycwpqL1dtWjhVYjRWNlNJTjZTR2puVzhhMk5zdXJocmVjZ0wxN2JHTUdSMHlqUXVTV2djVG0vc254K3RvWklGRTZtCnNGajRNSGVMTGFyQllsbXQvcncyazRhekYrZGhsRm1DUkRYQUZqLzZ4aENlYzBxbmFEUlpyYS9oS21TMVJsR3YKODRYTkYrYTBLdW5WVDd3M25Dd0JycVp5Wk5Hb2VhNW9CbGlPYnNWT2RyS3RmSy93dVBoTGNNM2ZXQXg3NTNFMQpqV3VSc2hCc25oMjZFSDFtRUgxcVBmOFRWN3VWbWE5TzdJSDNFOVR6Y2I4YVNUbVMvTi9EbWtqajFteVVHSGM4CnJ2NkgraG1sNTRqNTN5OEJlQ29IV3NYS0p6Qjk1VnRSdVJJU0VtaVZCcW02MS93UDhBalFtZ1B3UVJMVDg4dmgKQWRUUW9Yc0NnZ0VBUmFiS2thRlNrdGF1aU9aWXd0dnFleFJ5RVVnakErM2h5RUg1NkExTW5DeTViUUlFR1hhQQpacUJiTS9GK3dUTmxVRVlTSXpNcDBsaFRoZ2tzK0w3VmpMVDZ3WVdxRFh2RXhRY21yN3ZZWjNtOERrdHk2K0puCmYyTGM1NG9nbE1OMG5KbVdxMitjUVFrcjlrdks4cCttUlJvV0JnYk9vbzhjK0hjRGYyUStNeFlqeHdEbU0wUk4KTkRJU01GTmxpYWR2a0JCQWJIRkFVU0FyZUZWdThyRGVWUUNYMTBURUdUM2lsWlo0K0E5RTdwSEhyTkFTaDFkYwpzYXRvSW5rZEtzWXVGSUs2UDlYeUNVZ3h3dTRZaG5aOXRWdXo1ckJsZ29CdWFSRzdzY3d4WUV1ZU8zRklvVDJ5CjYwNFFEclI0d3hiNGQ0NjhkOVdUN1M4RkVmRXZvMWxzRlFLQ0FRRUFrNmlpMFlmTGkvNnk4TVQ5dDgrZ1FqazYKTkhWZkRzYnc5c1hKWXZWWGswb0tUN1lBTVBmcnlkS0F0akZ5YlBBcGFDS3dPQlpqcFBySGh0Vy9HdkVub3VpRworQkVIM2x2S0NOUzBlQUVUVC8rNzlNTmVRRjBOazZhb2ZGNFRBei8yaWduMTJESXY5c1Y4NFJVc1VMVmw5bHlGCkpmdktLb1E1ZEg4WnhPQW9HVEVRRDhJdG0ra0FqdmppYnM4RFlnREp2VVRGZnFYcUtxOVJTK2VLS1VZWUM3VGYKejRub0Mvb0c3ZlA1cEpna0dlNU1EbFhHb05GUFNXZzJKVzRPbU1YZmV3WW80MmNOQnhsc0ROUXFYSnFSdXAyRwplT2xNaXU2SmRsak9CRFc5RG8xbHhVaG9JOG9SdW5JRVVGdEN5MUdFWHpYaWdOQ21vbE1qQjUveDJYTzFvZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="} - } - ] -} diff --git a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.chinaeast.json b/azure/_output/fabricnlp9/kubeconfig/kubeconfig.chinaeast.json deleted file mode 100644 index b388579..0000000 --- a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.chinaeast.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "apiVersion": "v1", - "clusters": [ - { - "cluster": { - "certificate-authority-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRVkZsMU1sZDA5L0xUazJRMk5JWG1GREFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1UQXdOREF4TkRaYUZ3MHhPVEV5TVRBd05EQXhORFphTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFzZmxGCmNvZCtwMTB4REdUM2ZXWm12K21OYXRhU2w4MFAzNTkrQ3JFWEY5OHYzaHdsQyt6eGpFRXhpZEdHSkdBcWpIc3QKdFlOREg5aG81bHdSWTROamJKcUJJZ3cvcDZ5RXB5WGg1MVliRFA2dDd6bHp3UVMyRjlJKzJ5aG02TWd3V3dSTQpkTmxHb1pzamFrbFJucTBWbXZ6eVk4WGVCVi84TllRb0QzNE1OdVZXVjZ0R0daeWZpdDFFT3YydCtqTnNLdXBRCm4xRGh4RGJkNE9LT3hvaC9md1hnL0tHU1gwWlRyUUY1eUV4c1VOaFdyQncrQnZ0Q2twdHc2aU1hT1Vhb0tVaDkKczVrTTA3clhCY0xmU2FuZ0FBVHZTMWQzNWZmaENZQmxseGl4Sk11QWFMcFNLaHlzekR2Z1BEV2dnUjcvRVZZUApaSDlMSlgwL20vT25DcFl2eURkUE0zeEhLd0pvbkdYS0tmMW1UTE5GUjE2b0YxU3N6QlZWZFNXc1FSSHNCTkdVCmMyZEYvRjZKaDBEV0JQZ2pINnJDOGhFNWFnQmY1Z09oa1hJVnJwZXo4cGtiUmRTampEbWpXWFkwMjkxY2lIRWUKdXlCWFh6MlVoeEJ6c2Y5QmVFUm5LTTBnQ2xLeEtid0dGTjRlc1djTzBEcEhlNm1YK3pnS3ZvSytIUHlVczhnUApkOU9wMU9zZWRIQ0NKWFl4TlIycWw0OFVBcmpENGYycHYxY2ZFekpORWpjb1FwbXlwSmtwUTRjbUZWMnREdjhhCksrS1NYajJvNEVwN1dJVFBEVWtuU3llN3pPamNPeFNmTG9XeWtldGcyZjZnSWVqemFJUm9XbVNkMlR0OHlwRUwKOVBkcXNKVWljbnkzOXNPcUNLYWxMeTRrdThWZ1FQMHVadDFPYW9FQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFGbU5NblhrCjN6YkhHeFNNRTR0bzJsWWJtQmZ1eGFpYlJhYnJpdExZMnEzUkpXNEhxNUVSZC80bm43TmRLWnZBbEh4ZXV2TTYKS1IxWTV1VGp3YjlZckp0VUI4eDlXR2w5R1RhVzNhZTlRZGR5Y1RHMEh6a1owWGFEcGp4ZExWcmVlWUYvRlBTQwp6djVjanhDUytqa3AzM1dGWm9nT2Z0Sjl1Nk9yKzNZV2NVeFBTV1JLeTZTSmVJN2pnWHlnM1hhZk9FbmI1bFJDCktSRit2dFk4cWhsT21uWnRSM1BaTDdsWGNDZGhqZFpRQ2Z2eTdaWVpmajIwckxJMFZVOWtoTFJVSWt2MDdJd0EKaEwwZkRXRVBnek9oM1JBOE1nMityT0EvUmJBVE45U0hCMEYzZXNpa2V6OUxmei82QjVLTitqRyt1TStEZjFxSwo1QlpSYnc1alNsQU9wZ2dBbzJhbDlBUVFIekdpRDRsQnpscy9wVFRFQXBERVVqempHWjY2WlhucTVrTDBjU0xmCmhwQjNPbDY4cldySVRxRDNSK2dJZDZXRGRWbVN6QXFxYnJVRHNQVXVjNWwvcFB6MWFBSjQrSlh1aFd2MzVXSXgKWTRscy9GY3VORks5bXhUS0dOeFdsWnh6aXpsK0tKenIrT09YaHAzQkhaTFpwRFFudmI4YnptZjRxNmFubGl1SQpsWmlRbEk4UUp6cWRpVEtNYTJ4dkMxTm5TS1ZNNHpISmZFWEliQ1ptMnkxQXNoQkRBSDFoczAyci9wdXlsM3QwCjdKcVQ3Y2VDanZESy9uRjQ3RUZ1c2tzV0dQMUJpRXlONExxbFJWeXB3MFA1MlFsMDJuRHFZbnlzSXZxS051RGIKQkJ2aUN3ajMzUGhCSldlWjNoNlBkaHNObUY2SVEwNjI3MVp4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", - "server": "https://fabricnlp9.chinaeast.cloudapp.chinacloudapi.cn" - }, - "name": "fabricnlp9" - } - ], - "contexts": [ - { - "context": { - "cluster": "fabricnlp9", - "user": "fabricnlp9-admin" - }, - "name": "fabricnlp9" - } - ], - "current-context": "fabricnlp9", - "kind": "Config", - "users": [ - { - "name": "fabricnlp9-admin", - "user": {"client-certificate-data":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUw0bWp3MmNCMUp6L3cxa05meXY4SzR3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qRXdNRFF3TVRRNFdoY05NVGt4TWpFd01EUXdNVFE0V2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXlaRCtySURBem51NUlXekZVbjFuQ28zRHREdTAKVWRtcFY5V3huZkszK0tHSFF1cmhGaEtVa2h1UnNMUnptMVJ1L2VWM2xHM3B5eXl0ZzFOeEdtZDJ3TlNTMEsvRApQNjlRL0RkaGlZQ1FMMnJJZ2NGaGZaTU1DOFVhcFg5SlEzc1RpMVhtWjMzMTBhVkVGaksxRlR0Y1kyWjVPOC9GCmZMSDZ0ZGw2a1Mrd3dwWHNmeXJ3WkRzZWw0SjVaYmxsTml5Y1JOc1VKQTQ4SzRWdnFGT05pbmRUQS80N1ZITDcKY0dlbS9xTm9qRHpTRHVoL2xzY3IxU1F2bGR6eTJnMnlJUFJhOEorZUt2UThFWnFzclBjL2xXQmdDVEowcFkxQwo5ZFVqQXdTLy93MW0wd204NUQ0MGppbVVzTDc2Y29NVG9YQ3d0WEdhWnlQTjJZUVNhRHBFbHNBQm8xZG1zS0ZCCnYwb2dpdDNxcWRuenVMVlpubFhyTDYyYUs4Q1lCcWNybEFuUW4rM0c3Rnpva00rRFlpcExnSVB6RFRyaW1OMkkKUFdtYi90Unp2dFhkWSsybzFEaGR2RHU4ZmM3ZUZnemZCcUZnWVpDOXlISjBka28vY3JtSTJMaXlud0Zwak82UgpCT204cHBWSzg4THJ4OWx3MTh4ZExkRklkZDgrUThJeHFVdEJzSVJiY2pSVVVyUlBXWnFXNjNCQ1NTK3ZjbE5pCnk3Q25NYkVKR0YrL29nSWNVYnFOb0tDRGc2Q0U1L3VyZENGcEc1MTBZejVvZHdxblJxZ2hUczE5US9XMjlibUIKVUlyUmhOdCtPRjBRYVZnVVZhSk9Pam5iL0tQb0lvKytkZUZjSjdJZFk4OVFEYkFYcEpCQjA5NXRsYkdNU3BJNQpPTTRwc2M2NGpHeURXbmNDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVkRGpmTkYKY0RXeHdaMm02YnB3TmdIUkVTdk80WVhhSng2WjlKbDRIeGhFMTJJOFpYSWdWemQ1ZHFmTk54SEkvODFXWHdsLwo3RmdESjBmKy9Ca2xaeEtDeWVpd2dwOHQvRDBLdFQ2Ny9ndTM0QnAxWEpVMnJoRkczREZhR2ZLUlRZVzZlUXFnCnFORHpaSFpKY0JuUEI1WjdxVkVPOGlBSk5PSzJqZDNXcGQycnhuUWJBU0hpbXVIc04vUVEvU084ekpNSEZZVCsKZ0lNM0NCR0gzUVQ3d1JSa3hxWEhkOVgrTkVtZ2pmL1laUm1GTDMrR3hGc0NZczhzcmQ5LzBCOXRoUDBBTDhzRApWNk1ybGVBVXZVdE41dUJQR1BDSW1raVA2d2xNZDdyamhmaUhWZTNyWEFvTmZwWitGZ3g5OUJuVHBMUXFhYTZMCldJQzNNbXpJZmVHZTNuZExHODE0Vi81YU9XeE53VzEvZFAzMThlK0d2dENHeUNSYUdBNnRsTThkdGtJU1licmgKYjJWVWlneEI5OGVMS0pTdU8rSDdZRENLbGRXWnpYeU9WODNYZWswVlZpWDl1TVRyWVQ0TU14M1ZTd2xBSXc3Vgp2eW5Ub2ViQlc2OERnV0FXMjRoR1FDVmd2WHpnUDBJdlpsUlhmMGZXRWpKWklQdHFnbnp3bVpmbkF1WkhKcGNZCjc2eUVJMTM1WXh5d1VPOGR5SEJsMEFIcldvZWZsY0ZtNjloRk9zZk1SdGxVTUhDeVhWdHFwRXp3dFYvVWZBVU0KaEp0L2pvREJTQUE1cHFud0I2SCtpNkpYOGlUcGt4SEt4UnNWaE5CQVRkelN5MERPejhPVm01cllKWnlqQlhRbApXL3ZOUDVlTGVwdk9xUm4zRFBqdy92SkFHMGl6d09MVTZVWUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=","client-key-data":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeVpEK3JJREF6bnU1SVd6RlVuMW5DbzNEdER1MFVkbXBWOVd4bmZLMytLR0hRdXJoCkZoS1VraHVSc0xSem0xUnUvZVYzbEczcHl5eXRnMU54R21kMndOU1MwSy9EUDY5US9EZGhpWUNRTDJySWdjRmgKZlpNTUM4VWFwWDlKUTNzVGkxWG1aMzMxMGFWRUZqSzFGVHRjWTJaNU84L0ZmTEg2dGRsNmtTK3d3cFhzZnlydwpaRHNlbDRKNVpibGxOaXljUk5zVUpBNDhLNFZ2cUZPTmluZFRBLzQ3VkhMN2NHZW0vcU5vakR6U0R1aC9sc2NyCjFTUXZsZHp5MmcyeUlQUmE4SitlS3ZROEVacXNyUGMvbFdCZ0NUSjBwWTFDOWRVakF3Uy8vdzFtMHdtODVENDAKamltVXNMNzZjb01Ub1hDd3RYR2FaeVBOMllRU2FEcEVsc0FCbzFkbXNLRkJ2MG9naXQzcXFkbnp1TFZabmxYcgpMNjJhSzhDWUJxY3JsQW5RbiszRzdGem9rTStEWWlwTGdJUHpEVHJpbU4ySVBXbWIvdFJ6dnRYZFkrMm8xRGhkCnZEdThmYzdlRmd6ZkJxRmdZWkM5eUhKMGRrby9jcm1JMkxpeW53RnBqTzZSQk9tOHBwVks4OExyeDlsdzE4eGQKTGRGSWRkOCtROEl4cVV0QnNJUmJjalJVVXJSUFdacVc2M0JDU1MrdmNsTml5N0NuTWJFSkdGKy9vZ0ljVWJxTgpvS0NEZzZDRTUvdXJkQ0ZwRzUxMFl6NW9kd3FuUnFnaFRzMTlRL1cyOWJtQlVJclJoTnQrT0YwUWFWZ1VWYUpPCk9qbmIvS1BvSW8rK2RlRmNKN0lkWTg5UURiQVhwSkJCMDk1dGxiR01TcEk1T000cHNjNjRqR3lEV25jQ0F3RUEKQVFLQ0FnRUFqOVpQVm13ZXFucHh0dDkyeEJIRzZTb1c0TlBHTHE2RGdMRjJxVDdlZDZkVTdiVE00TUpya1FQcAphRTZ0UE1mNDJHZmFlR29pN3lDM3hVSlRNTU5xWTlxTjFpdkd5ZmhpYzBsVjZoaDdTOHNJd0VkdU9YMG9tSEdVClBVdGl6YXZUVzVmMTdoNWR2N2dPcVVTUUlsR1U4VDNiLzRtWjVRemcyc29TQSs4alZRaEZsczNlYzdnWWNZZmkKOTJ0Z1JWTjZSRXlOeDlqOHFSWDBnd3Iwc3ozSldNMGdLM2hONDMya0Zvd25mQU9lNXBLVkVkU1plK1R4ckNEYQprQzQ3MGZadHVzNDh3V3crUFZYQ0tUL2ErTTZvV1lmTzQ2QzFpdFlJd1F1dnN1TXVZQ1RQelpSeVRveHZsZDBDCnZacTU5SGVGTWtXYUtFWE5qSTRKMEtUYjh6T2JObDZ0ajhVYnl6eFNKRVlVNWc4ajNNdEFXalRqUzhNWHpsNlgKakN3aEFGNnNUOTFZeW5Mc3Z1RVZSbTBsZHB0UkIwcExHMjgwci94ODhaSFlDR0YwdnI4TGRLei80MDBhdFFMWQprZGI5RUNDa2pPbVdIdmZVVlZPMjZBeVljWnA1b0k0clhYdGlEVHU4V0dVakhzUzBWc3ljZERqRXRBbzlYYndtCnpONGxMQmE5VFdvRDI5TlNmaUdlYTd1bzFlZ0h3WDlXbWdyUU5rdkM5cmJSTTZ6Z2xzbzRkWCtkQW9uaFRNbVMKQmRLYVhybzUrdFVSK09SditFUG5tZHpYb01uaGlibWRZYVZoc0xTY2FsaSs4MmZZdGJGQllCd1RtWHdZL0NzUAoxSW04Vkx2VDZQVkRUZ2Fjc2JMRVRZemhoNmhFMXQ3Y1F6TE83Zk4xbjJURnJjcEhKZGtDZ2dFQkFQS1ptbnBnClB1VWJubi9OK3R5clh2SGYvNUhHTUdwaTUvME56SnJDSG11ZmN4Q2lUVUgyekNqNE50T0VkRGgzaDZrUkFmc2MKc2xLZGZuWTdxM3lDdDdQRFNiaVY0WSttTndsU0pqM3czOGcxSW9YTkJFbG5rak5aM2hYd3FNSDNsMmZ4bDdHSgpwMUNxUWlHcXZQeEFERzVQREtYalFEUm5hRXBQWUVVem5vTjR3ZUlVeFZWTzhUSnNZaS9XTlNhSSsydThqZWtsCm1yMHVaZlhhaFZZcWtYdjM4QkZFSWtZcWtjTHBycWdPQ2JTQi9OTG14RTcyNTM4OFlHM1JHU1doa1d4ZmNYUFQKUmZkblIxcEErYUhrZkNOTFF0K0lGNzl6MzBQUEJjcmdYR0E4ZUhrRisvenhqRHV1SVdGMGMzb0lKbFZBclRjKwprd2dka3BUSk1CNko0d3NDZ2dFQkFOU3pLNkRDdWFLUTh2VUFHbks4ekZsYk8xZHpmQVhJdmtOWW1JVUV1RDQ4ClRtcGZheE96aVRSWEFWbjhZY3lReTdCbnFpRU95cTltYmZBOUhFSUkxS2hxSEV6MzYxUllXS200S1pmOUk0YjUKVTRsVUJ4bjhBaXNqWHk3bldGRnk4dGZwQ21ic1pjaGJxOStBNTAwQm52dEszWkE5SVU4ZWwxNThncXUrdnQrcQpZdjlONVhMcUVhTHNudDY1NU5iU2RZbmhjZGZTRDE1WlptL2dtR2JHVmx5VHUranAxMHkyZFVDQ3VHdzRIOENHClAxOHpBc1c2TjlCNlJCWk1LLzNNSHVkQi9IblJQUUZ5TkgvVFNQbFlFaTFxeWIzTXU3SU94MHdlUXBSMlVtNjcKdHdpTUN2VHNGOUpOSDNEcElHR0djUzliNlFoRVh6a3BTYmZvRVBIc3ljVUNnZ0VCQU45L3hZS0NrczhOdjlycwpqL1dtWjhVYjRWNlNJTjZTR2puVzhhMk5zdXJocmVjZ0wxN2JHTUdSMHlqUXVTV2djVG0vc254K3RvWklGRTZtCnNGajRNSGVMTGFyQllsbXQvcncyazRhekYrZGhsRm1DUkRYQUZqLzZ4aENlYzBxbmFEUlpyYS9oS21TMVJsR3YKODRYTkYrYTBLdW5WVDd3M25Dd0JycVp5Wk5Hb2VhNW9CbGlPYnNWT2RyS3RmSy93dVBoTGNNM2ZXQXg3NTNFMQpqV3VSc2hCc25oMjZFSDFtRUgxcVBmOFRWN3VWbWE5TzdJSDNFOVR6Y2I4YVNUbVMvTi9EbWtqajFteVVHSGM4CnJ2NkgraG1sNTRqNTN5OEJlQ29IV3NYS0p6Qjk1VnRSdVJJU0VtaVZCcW02MS93UDhBalFtZ1B3UVJMVDg4dmgKQWRUUW9Yc0NnZ0VBUmFiS2thRlNrdGF1aU9aWXd0dnFleFJ5RVVnakErM2h5RUg1NkExTW5DeTViUUlFR1hhQQpacUJiTS9GK3dUTmxVRVlTSXpNcDBsaFRoZ2tzK0w3VmpMVDZ3WVdxRFh2RXhRY21yN3ZZWjNtOERrdHk2K0puCmYyTGM1NG9nbE1OMG5KbVdxMitjUVFrcjlrdks4cCttUlJvV0JnYk9vbzhjK0hjRGYyUStNeFlqeHdEbU0wUk4KTkRJU01GTmxpYWR2a0JCQWJIRkFVU0FyZUZWdThyRGVWUUNYMTBURUdUM2lsWlo0K0E5RTdwSEhyTkFTaDFkYwpzYXRvSW5rZEtzWXVGSUs2UDlYeUNVZ3h3dTRZaG5aOXRWdXo1ckJsZ29CdWFSRzdzY3d4WUV1ZU8zRklvVDJ5CjYwNFFEclI0d3hiNGQ0NjhkOVdUN1M4RkVmRXZvMWxzRlFLQ0FRRUFrNmlpMFlmTGkvNnk4TVQ5dDgrZ1FqazYKTkhWZkRzYnc5c1hKWXZWWGswb0tUN1lBTVBmcnlkS0F0akZ5YlBBcGFDS3dPQlpqcFBySGh0Vy9HdkVub3VpRworQkVIM2x2S0NOUzBlQUVUVC8rNzlNTmVRRjBOazZhb2ZGNFRBei8yaWduMTJESXY5c1Y4NFJVc1VMVmw5bHlGCkpmdktLb1E1ZEg4WnhPQW9HVEVRRDhJdG0ra0FqdmppYnM4RFlnREp2VVRGZnFYcUtxOVJTK2VLS1VZWUM3VGYKejRub0Mvb0c3ZlA1cEpna0dlNU1EbFhHb05GUFNXZzJKVzRPbU1YZmV3WW80MmNOQnhsc0ROUXFYSnFSdXAyRwplT2xNaXU2SmRsak9CRFc5RG8xbHhVaG9JOG9SdW5JRVVGdEN5MUdFWHpYaWdOQ21vbE1qQjUveDJYTzFvZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="} - } - ] -} diff --git a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.chinanorth.json b/azure/_output/fabricnlp9/kubeconfig/kubeconfig.chinanorth.json deleted file mode 100644 index a37c6eb..0000000 --- a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.chinanorth.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "apiVersion": "v1", - "clusters": [ - { - "cluster": { - "certificate-authority-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRVkZsMU1sZDA5L0xUazJRMk5JWG1GREFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1UQXdOREF4TkRaYUZ3MHhPVEV5TVRBd05EQXhORFphTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFzZmxGCmNvZCtwMTB4REdUM2ZXWm12K21OYXRhU2w4MFAzNTkrQ3JFWEY5OHYzaHdsQyt6eGpFRXhpZEdHSkdBcWpIc3QKdFlOREg5aG81bHdSWTROamJKcUJJZ3cvcDZ5RXB5WGg1MVliRFA2dDd6bHp3UVMyRjlJKzJ5aG02TWd3V3dSTQpkTmxHb1pzamFrbFJucTBWbXZ6eVk4WGVCVi84TllRb0QzNE1OdVZXVjZ0R0daeWZpdDFFT3YydCtqTnNLdXBRCm4xRGh4RGJkNE9LT3hvaC9md1hnL0tHU1gwWlRyUUY1eUV4c1VOaFdyQncrQnZ0Q2twdHc2aU1hT1Vhb0tVaDkKczVrTTA3clhCY0xmU2FuZ0FBVHZTMWQzNWZmaENZQmxseGl4Sk11QWFMcFNLaHlzekR2Z1BEV2dnUjcvRVZZUApaSDlMSlgwL20vT25DcFl2eURkUE0zeEhLd0pvbkdYS0tmMW1UTE5GUjE2b0YxU3N6QlZWZFNXc1FSSHNCTkdVCmMyZEYvRjZKaDBEV0JQZ2pINnJDOGhFNWFnQmY1Z09oa1hJVnJwZXo4cGtiUmRTampEbWpXWFkwMjkxY2lIRWUKdXlCWFh6MlVoeEJ6c2Y5QmVFUm5LTTBnQ2xLeEtid0dGTjRlc1djTzBEcEhlNm1YK3pnS3ZvSytIUHlVczhnUApkOU9wMU9zZWRIQ0NKWFl4TlIycWw0OFVBcmpENGYycHYxY2ZFekpORWpjb1FwbXlwSmtwUTRjbUZWMnREdjhhCksrS1NYajJvNEVwN1dJVFBEVWtuU3llN3pPamNPeFNmTG9XeWtldGcyZjZnSWVqemFJUm9XbVNkMlR0OHlwRUwKOVBkcXNKVWljbnkzOXNPcUNLYWxMeTRrdThWZ1FQMHVadDFPYW9FQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFGbU5NblhrCjN6YkhHeFNNRTR0bzJsWWJtQmZ1eGFpYlJhYnJpdExZMnEzUkpXNEhxNUVSZC80bm43TmRLWnZBbEh4ZXV2TTYKS1IxWTV1VGp3YjlZckp0VUI4eDlXR2w5R1RhVzNhZTlRZGR5Y1RHMEh6a1owWGFEcGp4ZExWcmVlWUYvRlBTQwp6djVjanhDUytqa3AzM1dGWm9nT2Z0Sjl1Nk9yKzNZV2NVeFBTV1JLeTZTSmVJN2pnWHlnM1hhZk9FbmI1bFJDCktSRit2dFk4cWhsT21uWnRSM1BaTDdsWGNDZGhqZFpRQ2Z2eTdaWVpmajIwckxJMFZVOWtoTFJVSWt2MDdJd0EKaEwwZkRXRVBnek9oM1JBOE1nMityT0EvUmJBVE45U0hCMEYzZXNpa2V6OUxmei82QjVLTitqRyt1TStEZjFxSwo1QlpSYnc1alNsQU9wZ2dBbzJhbDlBUVFIekdpRDRsQnpscy9wVFRFQXBERVVqempHWjY2WlhucTVrTDBjU0xmCmhwQjNPbDY4cldySVRxRDNSK2dJZDZXRGRWbVN6QXFxYnJVRHNQVXVjNWwvcFB6MWFBSjQrSlh1aFd2MzVXSXgKWTRscy9GY3VORks5bXhUS0dOeFdsWnh6aXpsK0tKenIrT09YaHAzQkhaTFpwRFFudmI4YnptZjRxNmFubGl1SQpsWmlRbEk4UUp6cWRpVEtNYTJ4dkMxTm5TS1ZNNHpISmZFWEliQ1ptMnkxQXNoQkRBSDFoczAyci9wdXlsM3QwCjdKcVQ3Y2VDanZESy9uRjQ3RUZ1c2tzV0dQMUJpRXlONExxbFJWeXB3MFA1MlFsMDJuRHFZbnlzSXZxS051RGIKQkJ2aUN3ajMzUGhCSldlWjNoNlBkaHNObUY2SVEwNjI3MVp4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", - "server": "https://fabricnlp9.chinanorth.cloudapp.chinacloudapi.cn" - }, - "name": "fabricnlp9" - } - ], - "contexts": [ - { - "context": { - "cluster": "fabricnlp9", - "user": "fabricnlp9-admin" - }, - "name": "fabricnlp9" - } - ], - "current-context": "fabricnlp9", - "kind": "Config", - "users": [ - { - "name": "fabricnlp9-admin", - "user": {"client-certificate-data":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUw0bWp3MmNCMUp6L3cxa05meXY4SzR3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qRXdNRFF3TVRRNFdoY05NVGt4TWpFd01EUXdNVFE0V2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXlaRCtySURBem51NUlXekZVbjFuQ28zRHREdTAKVWRtcFY5V3huZkszK0tHSFF1cmhGaEtVa2h1UnNMUnptMVJ1L2VWM2xHM3B5eXl0ZzFOeEdtZDJ3TlNTMEsvRApQNjlRL0RkaGlZQ1FMMnJJZ2NGaGZaTU1DOFVhcFg5SlEzc1RpMVhtWjMzMTBhVkVGaksxRlR0Y1kyWjVPOC9GCmZMSDZ0ZGw2a1Mrd3dwWHNmeXJ3WkRzZWw0SjVaYmxsTml5Y1JOc1VKQTQ4SzRWdnFGT05pbmRUQS80N1ZITDcKY0dlbS9xTm9qRHpTRHVoL2xzY3IxU1F2bGR6eTJnMnlJUFJhOEorZUt2UThFWnFzclBjL2xXQmdDVEowcFkxQwo5ZFVqQXdTLy93MW0wd204NUQ0MGppbVVzTDc2Y29NVG9YQ3d0WEdhWnlQTjJZUVNhRHBFbHNBQm8xZG1zS0ZCCnYwb2dpdDNxcWRuenVMVlpubFhyTDYyYUs4Q1lCcWNybEFuUW4rM0c3Rnpva00rRFlpcExnSVB6RFRyaW1OMkkKUFdtYi90Unp2dFhkWSsybzFEaGR2RHU4ZmM3ZUZnemZCcUZnWVpDOXlISjBka28vY3JtSTJMaXlud0Zwak82UgpCT204cHBWSzg4THJ4OWx3MTh4ZExkRklkZDgrUThJeHFVdEJzSVJiY2pSVVVyUlBXWnFXNjNCQ1NTK3ZjbE5pCnk3Q25NYkVKR0YrL29nSWNVYnFOb0tDRGc2Q0U1L3VyZENGcEc1MTBZejVvZHdxblJxZ2hUczE5US9XMjlibUIKVUlyUmhOdCtPRjBRYVZnVVZhSk9Pam5iL0tQb0lvKytkZUZjSjdJZFk4OVFEYkFYcEpCQjA5NXRsYkdNU3BJNQpPTTRwc2M2NGpHeURXbmNDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVkRGpmTkYKY0RXeHdaMm02YnB3TmdIUkVTdk80WVhhSng2WjlKbDRIeGhFMTJJOFpYSWdWemQ1ZHFmTk54SEkvODFXWHdsLwo3RmdESjBmKy9Ca2xaeEtDeWVpd2dwOHQvRDBLdFQ2Ny9ndTM0QnAxWEpVMnJoRkczREZhR2ZLUlRZVzZlUXFnCnFORHpaSFpKY0JuUEI1WjdxVkVPOGlBSk5PSzJqZDNXcGQycnhuUWJBU0hpbXVIc04vUVEvU084ekpNSEZZVCsKZ0lNM0NCR0gzUVQ3d1JSa3hxWEhkOVgrTkVtZ2pmL1laUm1GTDMrR3hGc0NZczhzcmQ5LzBCOXRoUDBBTDhzRApWNk1ybGVBVXZVdE41dUJQR1BDSW1raVA2d2xNZDdyamhmaUhWZTNyWEFvTmZwWitGZ3g5OUJuVHBMUXFhYTZMCldJQzNNbXpJZmVHZTNuZExHODE0Vi81YU9XeE53VzEvZFAzMThlK0d2dENHeUNSYUdBNnRsTThkdGtJU1licmgKYjJWVWlneEI5OGVMS0pTdU8rSDdZRENLbGRXWnpYeU9WODNYZWswVlZpWDl1TVRyWVQ0TU14M1ZTd2xBSXc3Vgp2eW5Ub2ViQlc2OERnV0FXMjRoR1FDVmd2WHpnUDBJdlpsUlhmMGZXRWpKWklQdHFnbnp3bVpmbkF1WkhKcGNZCjc2eUVJMTM1WXh5d1VPOGR5SEJsMEFIcldvZWZsY0ZtNjloRk9zZk1SdGxVTUhDeVhWdHFwRXp3dFYvVWZBVU0KaEp0L2pvREJTQUE1cHFud0I2SCtpNkpYOGlUcGt4SEt4UnNWaE5CQVRkelN5MERPejhPVm01cllKWnlqQlhRbApXL3ZOUDVlTGVwdk9xUm4zRFBqdy92SkFHMGl6d09MVTZVWUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=","client-key-data":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeVpEK3JJREF6bnU1SVd6RlVuMW5DbzNEdER1MFVkbXBWOVd4bmZLMytLR0hRdXJoCkZoS1VraHVSc0xSem0xUnUvZVYzbEczcHl5eXRnMU54R21kMndOU1MwSy9EUDY5US9EZGhpWUNRTDJySWdjRmgKZlpNTUM4VWFwWDlKUTNzVGkxWG1aMzMxMGFWRUZqSzFGVHRjWTJaNU84L0ZmTEg2dGRsNmtTK3d3cFhzZnlydwpaRHNlbDRKNVpibGxOaXljUk5zVUpBNDhLNFZ2cUZPTmluZFRBLzQ3VkhMN2NHZW0vcU5vakR6U0R1aC9sc2NyCjFTUXZsZHp5MmcyeUlQUmE4SitlS3ZROEVacXNyUGMvbFdCZ0NUSjBwWTFDOWRVakF3Uy8vdzFtMHdtODVENDAKamltVXNMNzZjb01Ub1hDd3RYR2FaeVBOMllRU2FEcEVsc0FCbzFkbXNLRkJ2MG9naXQzcXFkbnp1TFZabmxYcgpMNjJhSzhDWUJxY3JsQW5RbiszRzdGem9rTStEWWlwTGdJUHpEVHJpbU4ySVBXbWIvdFJ6dnRYZFkrMm8xRGhkCnZEdThmYzdlRmd6ZkJxRmdZWkM5eUhKMGRrby9jcm1JMkxpeW53RnBqTzZSQk9tOHBwVks4OExyeDlsdzE4eGQKTGRGSWRkOCtROEl4cVV0QnNJUmJjalJVVXJSUFdacVc2M0JDU1MrdmNsTml5N0NuTWJFSkdGKy9vZ0ljVWJxTgpvS0NEZzZDRTUvdXJkQ0ZwRzUxMFl6NW9kd3FuUnFnaFRzMTlRL1cyOWJtQlVJclJoTnQrT0YwUWFWZ1VWYUpPCk9qbmIvS1BvSW8rK2RlRmNKN0lkWTg5UURiQVhwSkJCMDk1dGxiR01TcEk1T000cHNjNjRqR3lEV25jQ0F3RUEKQVFLQ0FnRUFqOVpQVm13ZXFucHh0dDkyeEJIRzZTb1c0TlBHTHE2RGdMRjJxVDdlZDZkVTdiVE00TUpya1FQcAphRTZ0UE1mNDJHZmFlR29pN3lDM3hVSlRNTU5xWTlxTjFpdkd5ZmhpYzBsVjZoaDdTOHNJd0VkdU9YMG9tSEdVClBVdGl6YXZUVzVmMTdoNWR2N2dPcVVTUUlsR1U4VDNiLzRtWjVRemcyc29TQSs4alZRaEZsczNlYzdnWWNZZmkKOTJ0Z1JWTjZSRXlOeDlqOHFSWDBnd3Iwc3ozSldNMGdLM2hONDMya0Zvd25mQU9lNXBLVkVkU1plK1R4ckNEYQprQzQ3MGZadHVzNDh3V3crUFZYQ0tUL2ErTTZvV1lmTzQ2QzFpdFlJd1F1dnN1TXVZQ1RQelpSeVRveHZsZDBDCnZacTU5SGVGTWtXYUtFWE5qSTRKMEtUYjh6T2JObDZ0ajhVYnl6eFNKRVlVNWc4ajNNdEFXalRqUzhNWHpsNlgKakN3aEFGNnNUOTFZeW5Mc3Z1RVZSbTBsZHB0UkIwcExHMjgwci94ODhaSFlDR0YwdnI4TGRLei80MDBhdFFMWQprZGI5RUNDa2pPbVdIdmZVVlZPMjZBeVljWnA1b0k0clhYdGlEVHU4V0dVakhzUzBWc3ljZERqRXRBbzlYYndtCnpONGxMQmE5VFdvRDI5TlNmaUdlYTd1bzFlZ0h3WDlXbWdyUU5rdkM5cmJSTTZ6Z2xzbzRkWCtkQW9uaFRNbVMKQmRLYVhybzUrdFVSK09SditFUG5tZHpYb01uaGlibWRZYVZoc0xTY2FsaSs4MmZZdGJGQllCd1RtWHdZL0NzUAoxSW04Vkx2VDZQVkRUZ2Fjc2JMRVRZemhoNmhFMXQ3Y1F6TE83Zk4xbjJURnJjcEhKZGtDZ2dFQkFQS1ptbnBnClB1VWJubi9OK3R5clh2SGYvNUhHTUdwaTUvME56SnJDSG11ZmN4Q2lUVUgyekNqNE50T0VkRGgzaDZrUkFmc2MKc2xLZGZuWTdxM3lDdDdQRFNiaVY0WSttTndsU0pqM3czOGcxSW9YTkJFbG5rak5aM2hYd3FNSDNsMmZ4bDdHSgpwMUNxUWlHcXZQeEFERzVQREtYalFEUm5hRXBQWUVVem5vTjR3ZUlVeFZWTzhUSnNZaS9XTlNhSSsydThqZWtsCm1yMHVaZlhhaFZZcWtYdjM4QkZFSWtZcWtjTHBycWdPQ2JTQi9OTG14RTcyNTM4OFlHM1JHU1doa1d4ZmNYUFQKUmZkblIxcEErYUhrZkNOTFF0K0lGNzl6MzBQUEJjcmdYR0E4ZUhrRisvenhqRHV1SVdGMGMzb0lKbFZBclRjKwprd2dka3BUSk1CNko0d3NDZ2dFQkFOU3pLNkRDdWFLUTh2VUFHbks4ekZsYk8xZHpmQVhJdmtOWW1JVUV1RDQ4ClRtcGZheE96aVRSWEFWbjhZY3lReTdCbnFpRU95cTltYmZBOUhFSUkxS2hxSEV6MzYxUllXS200S1pmOUk0YjUKVTRsVUJ4bjhBaXNqWHk3bldGRnk4dGZwQ21ic1pjaGJxOStBNTAwQm52dEszWkE5SVU4ZWwxNThncXUrdnQrcQpZdjlONVhMcUVhTHNudDY1NU5iU2RZbmhjZGZTRDE1WlptL2dtR2JHVmx5VHUranAxMHkyZFVDQ3VHdzRIOENHClAxOHpBc1c2TjlCNlJCWk1LLzNNSHVkQi9IblJQUUZ5TkgvVFNQbFlFaTFxeWIzTXU3SU94MHdlUXBSMlVtNjcKdHdpTUN2VHNGOUpOSDNEcElHR0djUzliNlFoRVh6a3BTYmZvRVBIc3ljVUNnZ0VCQU45L3hZS0NrczhOdjlycwpqL1dtWjhVYjRWNlNJTjZTR2puVzhhMk5zdXJocmVjZ0wxN2JHTUdSMHlqUXVTV2djVG0vc254K3RvWklGRTZtCnNGajRNSGVMTGFyQllsbXQvcncyazRhekYrZGhsRm1DUkRYQUZqLzZ4aENlYzBxbmFEUlpyYS9oS21TMVJsR3YKODRYTkYrYTBLdW5WVDd3M25Dd0JycVp5Wk5Hb2VhNW9CbGlPYnNWT2RyS3RmSy93dVBoTGNNM2ZXQXg3NTNFMQpqV3VSc2hCc25oMjZFSDFtRUgxcVBmOFRWN3VWbWE5TzdJSDNFOVR6Y2I4YVNUbVMvTi9EbWtqajFteVVHSGM4CnJ2NkgraG1sNTRqNTN5OEJlQ29IV3NYS0p6Qjk1VnRSdVJJU0VtaVZCcW02MS93UDhBalFtZ1B3UVJMVDg4dmgKQWRUUW9Yc0NnZ0VBUmFiS2thRlNrdGF1aU9aWXd0dnFleFJ5RVVnakErM2h5RUg1NkExTW5DeTViUUlFR1hhQQpacUJiTS9GK3dUTmxVRVlTSXpNcDBsaFRoZ2tzK0w3VmpMVDZ3WVdxRFh2RXhRY21yN3ZZWjNtOERrdHk2K0puCmYyTGM1NG9nbE1OMG5KbVdxMitjUVFrcjlrdks4cCttUlJvV0JnYk9vbzhjK0hjRGYyUStNeFlqeHdEbU0wUk4KTkRJU01GTmxpYWR2a0JCQWJIRkFVU0FyZUZWdThyRGVWUUNYMTBURUdUM2lsWlo0K0E5RTdwSEhyTkFTaDFkYwpzYXRvSW5rZEtzWXVGSUs2UDlYeUNVZ3h3dTRZaG5aOXRWdXo1ckJsZ29CdWFSRzdzY3d4WUV1ZU8zRklvVDJ5CjYwNFFEclI0d3hiNGQ0NjhkOVdUN1M4RkVmRXZvMWxzRlFLQ0FRRUFrNmlpMFlmTGkvNnk4TVQ5dDgrZ1FqazYKTkhWZkRzYnc5c1hKWXZWWGswb0tUN1lBTVBmcnlkS0F0akZ5YlBBcGFDS3dPQlpqcFBySGh0Vy9HdkVub3VpRworQkVIM2x2S0NOUzBlQUVUVC8rNzlNTmVRRjBOazZhb2ZGNFRBei8yaWduMTJESXY5c1Y4NFJVc1VMVmw5bHlGCkpmdktLb1E1ZEg4WnhPQW9HVEVRRDhJdG0ra0FqdmppYnM4RFlnREp2VVRGZnFYcUtxOVJTK2VLS1VZWUM3VGYKejRub0Mvb0c3ZlA1cEpna0dlNU1EbFhHb05GUFNXZzJKVzRPbU1YZmV3WW80MmNOQnhsc0ROUXFYSnFSdXAyRwplT2xNaXU2SmRsak9CRFc5RG8xbHhVaG9JOG9SdW5JRVVGdEN5MUdFWHpYaWdOQ21vbE1qQjUveDJYTzFvZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="} - } - ] -} diff --git a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.eastasia.json b/azure/_output/fabricnlp9/kubeconfig/kubeconfig.eastasia.json deleted file mode 100644 index 4c28efe..0000000 --- a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.eastasia.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "apiVersion": "v1", - "clusters": [ - { - "cluster": { - "certificate-authority-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRVkZsMU1sZDA5L0xUazJRMk5JWG1GREFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1UQXdOREF4TkRaYUZ3MHhPVEV5TVRBd05EQXhORFphTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFzZmxGCmNvZCtwMTB4REdUM2ZXWm12K21OYXRhU2w4MFAzNTkrQ3JFWEY5OHYzaHdsQyt6eGpFRXhpZEdHSkdBcWpIc3QKdFlOREg5aG81bHdSWTROamJKcUJJZ3cvcDZ5RXB5WGg1MVliRFA2dDd6bHp3UVMyRjlJKzJ5aG02TWd3V3dSTQpkTmxHb1pzamFrbFJucTBWbXZ6eVk4WGVCVi84TllRb0QzNE1OdVZXVjZ0R0daeWZpdDFFT3YydCtqTnNLdXBRCm4xRGh4RGJkNE9LT3hvaC9md1hnL0tHU1gwWlRyUUY1eUV4c1VOaFdyQncrQnZ0Q2twdHc2aU1hT1Vhb0tVaDkKczVrTTA3clhCY0xmU2FuZ0FBVHZTMWQzNWZmaENZQmxseGl4Sk11QWFMcFNLaHlzekR2Z1BEV2dnUjcvRVZZUApaSDlMSlgwL20vT25DcFl2eURkUE0zeEhLd0pvbkdYS0tmMW1UTE5GUjE2b0YxU3N6QlZWZFNXc1FSSHNCTkdVCmMyZEYvRjZKaDBEV0JQZ2pINnJDOGhFNWFnQmY1Z09oa1hJVnJwZXo4cGtiUmRTampEbWpXWFkwMjkxY2lIRWUKdXlCWFh6MlVoeEJ6c2Y5QmVFUm5LTTBnQ2xLeEtid0dGTjRlc1djTzBEcEhlNm1YK3pnS3ZvSytIUHlVczhnUApkOU9wMU9zZWRIQ0NKWFl4TlIycWw0OFVBcmpENGYycHYxY2ZFekpORWpjb1FwbXlwSmtwUTRjbUZWMnREdjhhCksrS1NYajJvNEVwN1dJVFBEVWtuU3llN3pPamNPeFNmTG9XeWtldGcyZjZnSWVqemFJUm9XbVNkMlR0OHlwRUwKOVBkcXNKVWljbnkzOXNPcUNLYWxMeTRrdThWZ1FQMHVadDFPYW9FQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFGbU5NblhrCjN6YkhHeFNNRTR0bzJsWWJtQmZ1eGFpYlJhYnJpdExZMnEzUkpXNEhxNUVSZC80bm43TmRLWnZBbEh4ZXV2TTYKS1IxWTV1VGp3YjlZckp0VUI4eDlXR2w5R1RhVzNhZTlRZGR5Y1RHMEh6a1owWGFEcGp4ZExWcmVlWUYvRlBTQwp6djVjanhDUytqa3AzM1dGWm9nT2Z0Sjl1Nk9yKzNZV2NVeFBTV1JLeTZTSmVJN2pnWHlnM1hhZk9FbmI1bFJDCktSRit2dFk4cWhsT21uWnRSM1BaTDdsWGNDZGhqZFpRQ2Z2eTdaWVpmajIwckxJMFZVOWtoTFJVSWt2MDdJd0EKaEwwZkRXRVBnek9oM1JBOE1nMityT0EvUmJBVE45U0hCMEYzZXNpa2V6OUxmei82QjVLTitqRyt1TStEZjFxSwo1QlpSYnc1alNsQU9wZ2dBbzJhbDlBUVFIekdpRDRsQnpscy9wVFRFQXBERVVqempHWjY2WlhucTVrTDBjU0xmCmhwQjNPbDY4cldySVRxRDNSK2dJZDZXRGRWbVN6QXFxYnJVRHNQVXVjNWwvcFB6MWFBSjQrSlh1aFd2MzVXSXgKWTRscy9GY3VORks5bXhUS0dOeFdsWnh6aXpsK0tKenIrT09YaHAzQkhaTFpwRFFudmI4YnptZjRxNmFubGl1SQpsWmlRbEk4UUp6cWRpVEtNYTJ4dkMxTm5TS1ZNNHpISmZFWEliQ1ptMnkxQXNoQkRBSDFoczAyci9wdXlsM3QwCjdKcVQ3Y2VDanZESy9uRjQ3RUZ1c2tzV0dQMUJpRXlONExxbFJWeXB3MFA1MlFsMDJuRHFZbnlzSXZxS051RGIKQkJ2aUN3ajMzUGhCSldlWjNoNlBkaHNObUY2SVEwNjI3MVp4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", - "server": "https://fabricnlp9.eastasia.cloudapp.azure.com" - }, - "name": "fabricnlp9" - } - ], - "contexts": [ - { - "context": { - "cluster": "fabricnlp9", - "user": "fabricnlp9-admin" - }, - "name": "fabricnlp9" - } - ], - "current-context": "fabricnlp9", - "kind": "Config", - "users": [ - { - "name": "fabricnlp9-admin", - "user": {"client-certificate-data":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUw0bWp3MmNCMUp6L3cxa05meXY4SzR3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qRXdNRFF3TVRRNFdoY05NVGt4TWpFd01EUXdNVFE0V2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXlaRCtySURBem51NUlXekZVbjFuQ28zRHREdTAKVWRtcFY5V3huZkszK0tHSFF1cmhGaEtVa2h1UnNMUnptMVJ1L2VWM2xHM3B5eXl0ZzFOeEdtZDJ3TlNTMEsvRApQNjlRL0RkaGlZQ1FMMnJJZ2NGaGZaTU1DOFVhcFg5SlEzc1RpMVhtWjMzMTBhVkVGaksxRlR0Y1kyWjVPOC9GCmZMSDZ0ZGw2a1Mrd3dwWHNmeXJ3WkRzZWw0SjVaYmxsTml5Y1JOc1VKQTQ4SzRWdnFGT05pbmRUQS80N1ZITDcKY0dlbS9xTm9qRHpTRHVoL2xzY3IxU1F2bGR6eTJnMnlJUFJhOEorZUt2UThFWnFzclBjL2xXQmdDVEowcFkxQwo5ZFVqQXdTLy93MW0wd204NUQ0MGppbVVzTDc2Y29NVG9YQ3d0WEdhWnlQTjJZUVNhRHBFbHNBQm8xZG1zS0ZCCnYwb2dpdDNxcWRuenVMVlpubFhyTDYyYUs4Q1lCcWNybEFuUW4rM0c3Rnpva00rRFlpcExnSVB6RFRyaW1OMkkKUFdtYi90Unp2dFhkWSsybzFEaGR2RHU4ZmM3ZUZnemZCcUZnWVpDOXlISjBka28vY3JtSTJMaXlud0Zwak82UgpCT204cHBWSzg4THJ4OWx3MTh4ZExkRklkZDgrUThJeHFVdEJzSVJiY2pSVVVyUlBXWnFXNjNCQ1NTK3ZjbE5pCnk3Q25NYkVKR0YrL29nSWNVYnFOb0tDRGc2Q0U1L3VyZENGcEc1MTBZejVvZHdxblJxZ2hUczE5US9XMjlibUIKVUlyUmhOdCtPRjBRYVZnVVZhSk9Pam5iL0tQb0lvKytkZUZjSjdJZFk4OVFEYkFYcEpCQjA5NXRsYkdNU3BJNQpPTTRwc2M2NGpHeURXbmNDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVkRGpmTkYKY0RXeHdaMm02YnB3TmdIUkVTdk80WVhhSng2WjlKbDRIeGhFMTJJOFpYSWdWemQ1ZHFmTk54SEkvODFXWHdsLwo3RmdESjBmKy9Ca2xaeEtDeWVpd2dwOHQvRDBLdFQ2Ny9ndTM0QnAxWEpVMnJoRkczREZhR2ZLUlRZVzZlUXFnCnFORHpaSFpKY0JuUEI1WjdxVkVPOGlBSk5PSzJqZDNXcGQycnhuUWJBU0hpbXVIc04vUVEvU084ekpNSEZZVCsKZ0lNM0NCR0gzUVQ3d1JSa3hxWEhkOVgrTkVtZ2pmL1laUm1GTDMrR3hGc0NZczhzcmQ5LzBCOXRoUDBBTDhzRApWNk1ybGVBVXZVdE41dUJQR1BDSW1raVA2d2xNZDdyamhmaUhWZTNyWEFvTmZwWitGZ3g5OUJuVHBMUXFhYTZMCldJQzNNbXpJZmVHZTNuZExHODE0Vi81YU9XeE53VzEvZFAzMThlK0d2dENHeUNSYUdBNnRsTThkdGtJU1licmgKYjJWVWlneEI5OGVMS0pTdU8rSDdZRENLbGRXWnpYeU9WODNYZWswVlZpWDl1TVRyWVQ0TU14M1ZTd2xBSXc3Vgp2eW5Ub2ViQlc2OERnV0FXMjRoR1FDVmd2WHpnUDBJdlpsUlhmMGZXRWpKWklQdHFnbnp3bVpmbkF1WkhKcGNZCjc2eUVJMTM1WXh5d1VPOGR5SEJsMEFIcldvZWZsY0ZtNjloRk9zZk1SdGxVTUhDeVhWdHFwRXp3dFYvVWZBVU0KaEp0L2pvREJTQUE1cHFud0I2SCtpNkpYOGlUcGt4SEt4UnNWaE5CQVRkelN5MERPejhPVm01cllKWnlqQlhRbApXL3ZOUDVlTGVwdk9xUm4zRFBqdy92SkFHMGl6d09MVTZVWUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=","client-key-data":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeVpEK3JJREF6bnU1SVd6RlVuMW5DbzNEdER1MFVkbXBWOVd4bmZLMytLR0hRdXJoCkZoS1VraHVSc0xSem0xUnUvZVYzbEczcHl5eXRnMU54R21kMndOU1MwSy9EUDY5US9EZGhpWUNRTDJySWdjRmgKZlpNTUM4VWFwWDlKUTNzVGkxWG1aMzMxMGFWRUZqSzFGVHRjWTJaNU84L0ZmTEg2dGRsNmtTK3d3cFhzZnlydwpaRHNlbDRKNVpibGxOaXljUk5zVUpBNDhLNFZ2cUZPTmluZFRBLzQ3VkhMN2NHZW0vcU5vakR6U0R1aC9sc2NyCjFTUXZsZHp5MmcyeUlQUmE4SitlS3ZROEVacXNyUGMvbFdCZ0NUSjBwWTFDOWRVakF3Uy8vdzFtMHdtODVENDAKamltVXNMNzZjb01Ub1hDd3RYR2FaeVBOMllRU2FEcEVsc0FCbzFkbXNLRkJ2MG9naXQzcXFkbnp1TFZabmxYcgpMNjJhSzhDWUJxY3JsQW5RbiszRzdGem9rTStEWWlwTGdJUHpEVHJpbU4ySVBXbWIvdFJ6dnRYZFkrMm8xRGhkCnZEdThmYzdlRmd6ZkJxRmdZWkM5eUhKMGRrby9jcm1JMkxpeW53RnBqTzZSQk9tOHBwVks4OExyeDlsdzE4eGQKTGRGSWRkOCtROEl4cVV0QnNJUmJjalJVVXJSUFdacVc2M0JDU1MrdmNsTml5N0NuTWJFSkdGKy9vZ0ljVWJxTgpvS0NEZzZDRTUvdXJkQ0ZwRzUxMFl6NW9kd3FuUnFnaFRzMTlRL1cyOWJtQlVJclJoTnQrT0YwUWFWZ1VWYUpPCk9qbmIvS1BvSW8rK2RlRmNKN0lkWTg5UURiQVhwSkJCMDk1dGxiR01TcEk1T000cHNjNjRqR3lEV25jQ0F3RUEKQVFLQ0FnRUFqOVpQVm13ZXFucHh0dDkyeEJIRzZTb1c0TlBHTHE2RGdMRjJxVDdlZDZkVTdiVE00TUpya1FQcAphRTZ0UE1mNDJHZmFlR29pN3lDM3hVSlRNTU5xWTlxTjFpdkd5ZmhpYzBsVjZoaDdTOHNJd0VkdU9YMG9tSEdVClBVdGl6YXZUVzVmMTdoNWR2N2dPcVVTUUlsR1U4VDNiLzRtWjVRemcyc29TQSs4alZRaEZsczNlYzdnWWNZZmkKOTJ0Z1JWTjZSRXlOeDlqOHFSWDBnd3Iwc3ozSldNMGdLM2hONDMya0Zvd25mQU9lNXBLVkVkU1plK1R4ckNEYQprQzQ3MGZadHVzNDh3V3crUFZYQ0tUL2ErTTZvV1lmTzQ2QzFpdFlJd1F1dnN1TXVZQ1RQelpSeVRveHZsZDBDCnZacTU5SGVGTWtXYUtFWE5qSTRKMEtUYjh6T2JObDZ0ajhVYnl6eFNKRVlVNWc4ajNNdEFXalRqUzhNWHpsNlgKakN3aEFGNnNUOTFZeW5Mc3Z1RVZSbTBsZHB0UkIwcExHMjgwci94ODhaSFlDR0YwdnI4TGRLei80MDBhdFFMWQprZGI5RUNDa2pPbVdIdmZVVlZPMjZBeVljWnA1b0k0clhYdGlEVHU4V0dVakhzUzBWc3ljZERqRXRBbzlYYndtCnpONGxMQmE5VFdvRDI5TlNmaUdlYTd1bzFlZ0h3WDlXbWdyUU5rdkM5cmJSTTZ6Z2xzbzRkWCtkQW9uaFRNbVMKQmRLYVhybzUrdFVSK09SditFUG5tZHpYb01uaGlibWRZYVZoc0xTY2FsaSs4MmZZdGJGQllCd1RtWHdZL0NzUAoxSW04Vkx2VDZQVkRUZ2Fjc2JMRVRZemhoNmhFMXQ3Y1F6TE83Zk4xbjJURnJjcEhKZGtDZ2dFQkFQS1ptbnBnClB1VWJubi9OK3R5clh2SGYvNUhHTUdwaTUvME56SnJDSG11ZmN4Q2lUVUgyekNqNE50T0VkRGgzaDZrUkFmc2MKc2xLZGZuWTdxM3lDdDdQRFNiaVY0WSttTndsU0pqM3czOGcxSW9YTkJFbG5rak5aM2hYd3FNSDNsMmZ4bDdHSgpwMUNxUWlHcXZQeEFERzVQREtYalFEUm5hRXBQWUVVem5vTjR3ZUlVeFZWTzhUSnNZaS9XTlNhSSsydThqZWtsCm1yMHVaZlhhaFZZcWtYdjM4QkZFSWtZcWtjTHBycWdPQ2JTQi9OTG14RTcyNTM4OFlHM1JHU1doa1d4ZmNYUFQKUmZkblIxcEErYUhrZkNOTFF0K0lGNzl6MzBQUEJjcmdYR0E4ZUhrRisvenhqRHV1SVdGMGMzb0lKbFZBclRjKwprd2dka3BUSk1CNko0d3NDZ2dFQkFOU3pLNkRDdWFLUTh2VUFHbks4ekZsYk8xZHpmQVhJdmtOWW1JVUV1RDQ4ClRtcGZheE96aVRSWEFWbjhZY3lReTdCbnFpRU95cTltYmZBOUhFSUkxS2hxSEV6MzYxUllXS200S1pmOUk0YjUKVTRsVUJ4bjhBaXNqWHk3bldGRnk4dGZwQ21ic1pjaGJxOStBNTAwQm52dEszWkE5SVU4ZWwxNThncXUrdnQrcQpZdjlONVhMcUVhTHNudDY1NU5iU2RZbmhjZGZTRDE1WlptL2dtR2JHVmx5VHUranAxMHkyZFVDQ3VHdzRIOENHClAxOHpBc1c2TjlCNlJCWk1LLzNNSHVkQi9IblJQUUZ5TkgvVFNQbFlFaTFxeWIzTXU3SU94MHdlUXBSMlVtNjcKdHdpTUN2VHNGOUpOSDNEcElHR0djUzliNlFoRVh6a3BTYmZvRVBIc3ljVUNnZ0VCQU45L3hZS0NrczhOdjlycwpqL1dtWjhVYjRWNlNJTjZTR2puVzhhMk5zdXJocmVjZ0wxN2JHTUdSMHlqUXVTV2djVG0vc254K3RvWklGRTZtCnNGajRNSGVMTGFyQllsbXQvcncyazRhekYrZGhsRm1DUkRYQUZqLzZ4aENlYzBxbmFEUlpyYS9oS21TMVJsR3YKODRYTkYrYTBLdW5WVDd3M25Dd0JycVp5Wk5Hb2VhNW9CbGlPYnNWT2RyS3RmSy93dVBoTGNNM2ZXQXg3NTNFMQpqV3VSc2hCc25oMjZFSDFtRUgxcVBmOFRWN3VWbWE5TzdJSDNFOVR6Y2I4YVNUbVMvTi9EbWtqajFteVVHSGM4CnJ2NkgraG1sNTRqNTN5OEJlQ29IV3NYS0p6Qjk1VnRSdVJJU0VtaVZCcW02MS93UDhBalFtZ1B3UVJMVDg4dmgKQWRUUW9Yc0NnZ0VBUmFiS2thRlNrdGF1aU9aWXd0dnFleFJ5RVVnakErM2h5RUg1NkExTW5DeTViUUlFR1hhQQpacUJiTS9GK3dUTmxVRVlTSXpNcDBsaFRoZ2tzK0w3VmpMVDZ3WVdxRFh2RXhRY21yN3ZZWjNtOERrdHk2K0puCmYyTGM1NG9nbE1OMG5KbVdxMitjUVFrcjlrdks4cCttUlJvV0JnYk9vbzhjK0hjRGYyUStNeFlqeHdEbU0wUk4KTkRJU01GTmxpYWR2a0JCQWJIRkFVU0FyZUZWdThyRGVWUUNYMTBURUdUM2lsWlo0K0E5RTdwSEhyTkFTaDFkYwpzYXRvSW5rZEtzWXVGSUs2UDlYeUNVZ3h3dTRZaG5aOXRWdXo1ckJsZ29CdWFSRzdzY3d4WUV1ZU8zRklvVDJ5CjYwNFFEclI0d3hiNGQ0NjhkOVdUN1M4RkVmRXZvMWxzRlFLQ0FRRUFrNmlpMFlmTGkvNnk4TVQ5dDgrZ1FqazYKTkhWZkRzYnc5c1hKWXZWWGswb0tUN1lBTVBmcnlkS0F0akZ5YlBBcGFDS3dPQlpqcFBySGh0Vy9HdkVub3VpRworQkVIM2x2S0NOUzBlQUVUVC8rNzlNTmVRRjBOazZhb2ZGNFRBei8yaWduMTJESXY5c1Y4NFJVc1VMVmw5bHlGCkpmdktLb1E1ZEg4WnhPQW9HVEVRRDhJdG0ra0FqdmppYnM4RFlnREp2VVRGZnFYcUtxOVJTK2VLS1VZWUM3VGYKejRub0Mvb0c3ZlA1cEpna0dlNU1EbFhHb05GUFNXZzJKVzRPbU1YZmV3WW80MmNOQnhsc0ROUXFYSnFSdXAyRwplT2xNaXU2SmRsak9CRFc5RG8xbHhVaG9JOG9SdW5JRVVGdEN5MUdFWHpYaWdOQ21vbE1qQjUveDJYTzFvZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="} - } - ] -} diff --git a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.eastus.json b/azure/_output/fabricnlp9/kubeconfig/kubeconfig.eastus.json deleted file mode 100644 index ae06672..0000000 --- a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.eastus.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "apiVersion": "v1", - "clusters": [ - { - "cluster": { - "certificate-authority-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRVkZsMU1sZDA5L0xUazJRMk5JWG1GREFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1UQXdOREF4TkRaYUZ3MHhPVEV5TVRBd05EQXhORFphTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFzZmxGCmNvZCtwMTB4REdUM2ZXWm12K21OYXRhU2w4MFAzNTkrQ3JFWEY5OHYzaHdsQyt6eGpFRXhpZEdHSkdBcWpIc3QKdFlOREg5aG81bHdSWTROamJKcUJJZ3cvcDZ5RXB5WGg1MVliRFA2dDd6bHp3UVMyRjlJKzJ5aG02TWd3V3dSTQpkTmxHb1pzamFrbFJucTBWbXZ6eVk4WGVCVi84TllRb0QzNE1OdVZXVjZ0R0daeWZpdDFFT3YydCtqTnNLdXBRCm4xRGh4RGJkNE9LT3hvaC9md1hnL0tHU1gwWlRyUUY1eUV4c1VOaFdyQncrQnZ0Q2twdHc2aU1hT1Vhb0tVaDkKczVrTTA3clhCY0xmU2FuZ0FBVHZTMWQzNWZmaENZQmxseGl4Sk11QWFMcFNLaHlzekR2Z1BEV2dnUjcvRVZZUApaSDlMSlgwL20vT25DcFl2eURkUE0zeEhLd0pvbkdYS0tmMW1UTE5GUjE2b0YxU3N6QlZWZFNXc1FSSHNCTkdVCmMyZEYvRjZKaDBEV0JQZ2pINnJDOGhFNWFnQmY1Z09oa1hJVnJwZXo4cGtiUmRTampEbWpXWFkwMjkxY2lIRWUKdXlCWFh6MlVoeEJ6c2Y5QmVFUm5LTTBnQ2xLeEtid0dGTjRlc1djTzBEcEhlNm1YK3pnS3ZvSytIUHlVczhnUApkOU9wMU9zZWRIQ0NKWFl4TlIycWw0OFVBcmpENGYycHYxY2ZFekpORWpjb1FwbXlwSmtwUTRjbUZWMnREdjhhCksrS1NYajJvNEVwN1dJVFBEVWtuU3llN3pPamNPeFNmTG9XeWtldGcyZjZnSWVqemFJUm9XbVNkMlR0OHlwRUwKOVBkcXNKVWljbnkzOXNPcUNLYWxMeTRrdThWZ1FQMHVadDFPYW9FQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFGbU5NblhrCjN6YkhHeFNNRTR0bzJsWWJtQmZ1eGFpYlJhYnJpdExZMnEzUkpXNEhxNUVSZC80bm43TmRLWnZBbEh4ZXV2TTYKS1IxWTV1VGp3YjlZckp0VUI4eDlXR2w5R1RhVzNhZTlRZGR5Y1RHMEh6a1owWGFEcGp4ZExWcmVlWUYvRlBTQwp6djVjanhDUytqa3AzM1dGWm9nT2Z0Sjl1Nk9yKzNZV2NVeFBTV1JLeTZTSmVJN2pnWHlnM1hhZk9FbmI1bFJDCktSRit2dFk4cWhsT21uWnRSM1BaTDdsWGNDZGhqZFpRQ2Z2eTdaWVpmajIwckxJMFZVOWtoTFJVSWt2MDdJd0EKaEwwZkRXRVBnek9oM1JBOE1nMityT0EvUmJBVE45U0hCMEYzZXNpa2V6OUxmei82QjVLTitqRyt1TStEZjFxSwo1QlpSYnc1alNsQU9wZ2dBbzJhbDlBUVFIekdpRDRsQnpscy9wVFRFQXBERVVqempHWjY2WlhucTVrTDBjU0xmCmhwQjNPbDY4cldySVRxRDNSK2dJZDZXRGRWbVN6QXFxYnJVRHNQVXVjNWwvcFB6MWFBSjQrSlh1aFd2MzVXSXgKWTRscy9GY3VORks5bXhUS0dOeFdsWnh6aXpsK0tKenIrT09YaHAzQkhaTFpwRFFudmI4YnptZjRxNmFubGl1SQpsWmlRbEk4UUp6cWRpVEtNYTJ4dkMxTm5TS1ZNNHpISmZFWEliQ1ptMnkxQXNoQkRBSDFoczAyci9wdXlsM3QwCjdKcVQ3Y2VDanZESy9uRjQ3RUZ1c2tzV0dQMUJpRXlONExxbFJWeXB3MFA1MlFsMDJuRHFZbnlzSXZxS051RGIKQkJ2aUN3ajMzUGhCSldlWjNoNlBkaHNObUY2SVEwNjI3MVp4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", - "server": "https://fabricnlp9.eastus.cloudapp.azure.com" - }, - "name": "fabricnlp9" - } - ], - "contexts": [ - { - "context": { - "cluster": "fabricnlp9", - "user": "fabricnlp9-admin" - }, - "name": "fabricnlp9" - } - ], - "current-context": "fabricnlp9", - "kind": "Config", - "users": [ - { - "name": "fabricnlp9-admin", - "user": {"client-certificate-data":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUw0bWp3MmNCMUp6L3cxa05meXY4SzR3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qRXdNRFF3TVRRNFdoY05NVGt4TWpFd01EUXdNVFE0V2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXlaRCtySURBem51NUlXekZVbjFuQ28zRHREdTAKVWRtcFY5V3huZkszK0tHSFF1cmhGaEtVa2h1UnNMUnptMVJ1L2VWM2xHM3B5eXl0ZzFOeEdtZDJ3TlNTMEsvRApQNjlRL0RkaGlZQ1FMMnJJZ2NGaGZaTU1DOFVhcFg5SlEzc1RpMVhtWjMzMTBhVkVGaksxRlR0Y1kyWjVPOC9GCmZMSDZ0ZGw2a1Mrd3dwWHNmeXJ3WkRzZWw0SjVaYmxsTml5Y1JOc1VKQTQ4SzRWdnFGT05pbmRUQS80N1ZITDcKY0dlbS9xTm9qRHpTRHVoL2xzY3IxU1F2bGR6eTJnMnlJUFJhOEorZUt2UThFWnFzclBjL2xXQmdDVEowcFkxQwo5ZFVqQXdTLy93MW0wd204NUQ0MGppbVVzTDc2Y29NVG9YQ3d0WEdhWnlQTjJZUVNhRHBFbHNBQm8xZG1zS0ZCCnYwb2dpdDNxcWRuenVMVlpubFhyTDYyYUs4Q1lCcWNybEFuUW4rM0c3Rnpva00rRFlpcExnSVB6RFRyaW1OMkkKUFdtYi90Unp2dFhkWSsybzFEaGR2RHU4ZmM3ZUZnemZCcUZnWVpDOXlISjBka28vY3JtSTJMaXlud0Zwak82UgpCT204cHBWSzg4THJ4OWx3MTh4ZExkRklkZDgrUThJeHFVdEJzSVJiY2pSVVVyUlBXWnFXNjNCQ1NTK3ZjbE5pCnk3Q25NYkVKR0YrL29nSWNVYnFOb0tDRGc2Q0U1L3VyZENGcEc1MTBZejVvZHdxblJxZ2hUczE5US9XMjlibUIKVUlyUmhOdCtPRjBRYVZnVVZhSk9Pam5iL0tQb0lvKytkZUZjSjdJZFk4OVFEYkFYcEpCQjA5NXRsYkdNU3BJNQpPTTRwc2M2NGpHeURXbmNDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVkRGpmTkYKY0RXeHdaMm02YnB3TmdIUkVTdk80WVhhSng2WjlKbDRIeGhFMTJJOFpYSWdWemQ1ZHFmTk54SEkvODFXWHdsLwo3RmdESjBmKy9Ca2xaeEtDeWVpd2dwOHQvRDBLdFQ2Ny9ndTM0QnAxWEpVMnJoRkczREZhR2ZLUlRZVzZlUXFnCnFORHpaSFpKY0JuUEI1WjdxVkVPOGlBSk5PSzJqZDNXcGQycnhuUWJBU0hpbXVIc04vUVEvU084ekpNSEZZVCsKZ0lNM0NCR0gzUVQ3d1JSa3hxWEhkOVgrTkVtZ2pmL1laUm1GTDMrR3hGc0NZczhzcmQ5LzBCOXRoUDBBTDhzRApWNk1ybGVBVXZVdE41dUJQR1BDSW1raVA2d2xNZDdyamhmaUhWZTNyWEFvTmZwWitGZ3g5OUJuVHBMUXFhYTZMCldJQzNNbXpJZmVHZTNuZExHODE0Vi81YU9XeE53VzEvZFAzMThlK0d2dENHeUNSYUdBNnRsTThkdGtJU1licmgKYjJWVWlneEI5OGVMS0pTdU8rSDdZRENLbGRXWnpYeU9WODNYZWswVlZpWDl1TVRyWVQ0TU14M1ZTd2xBSXc3Vgp2eW5Ub2ViQlc2OERnV0FXMjRoR1FDVmd2WHpnUDBJdlpsUlhmMGZXRWpKWklQdHFnbnp3bVpmbkF1WkhKcGNZCjc2eUVJMTM1WXh5d1VPOGR5SEJsMEFIcldvZWZsY0ZtNjloRk9zZk1SdGxVTUhDeVhWdHFwRXp3dFYvVWZBVU0KaEp0L2pvREJTQUE1cHFud0I2SCtpNkpYOGlUcGt4SEt4UnNWaE5CQVRkelN5MERPejhPVm01cllKWnlqQlhRbApXL3ZOUDVlTGVwdk9xUm4zRFBqdy92SkFHMGl6d09MVTZVWUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=","client-key-data":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeVpEK3JJREF6bnU1SVd6RlVuMW5DbzNEdER1MFVkbXBWOVd4bmZLMytLR0hRdXJoCkZoS1VraHVSc0xSem0xUnUvZVYzbEczcHl5eXRnMU54R21kMndOU1MwSy9EUDY5US9EZGhpWUNRTDJySWdjRmgKZlpNTUM4VWFwWDlKUTNzVGkxWG1aMzMxMGFWRUZqSzFGVHRjWTJaNU84L0ZmTEg2dGRsNmtTK3d3cFhzZnlydwpaRHNlbDRKNVpibGxOaXljUk5zVUpBNDhLNFZ2cUZPTmluZFRBLzQ3VkhMN2NHZW0vcU5vakR6U0R1aC9sc2NyCjFTUXZsZHp5MmcyeUlQUmE4SitlS3ZROEVacXNyUGMvbFdCZ0NUSjBwWTFDOWRVakF3Uy8vdzFtMHdtODVENDAKamltVXNMNzZjb01Ub1hDd3RYR2FaeVBOMllRU2FEcEVsc0FCbzFkbXNLRkJ2MG9naXQzcXFkbnp1TFZabmxYcgpMNjJhSzhDWUJxY3JsQW5RbiszRzdGem9rTStEWWlwTGdJUHpEVHJpbU4ySVBXbWIvdFJ6dnRYZFkrMm8xRGhkCnZEdThmYzdlRmd6ZkJxRmdZWkM5eUhKMGRrby9jcm1JMkxpeW53RnBqTzZSQk9tOHBwVks4OExyeDlsdzE4eGQKTGRGSWRkOCtROEl4cVV0QnNJUmJjalJVVXJSUFdacVc2M0JDU1MrdmNsTml5N0NuTWJFSkdGKy9vZ0ljVWJxTgpvS0NEZzZDRTUvdXJkQ0ZwRzUxMFl6NW9kd3FuUnFnaFRzMTlRL1cyOWJtQlVJclJoTnQrT0YwUWFWZ1VWYUpPCk9qbmIvS1BvSW8rK2RlRmNKN0lkWTg5UURiQVhwSkJCMDk1dGxiR01TcEk1T000cHNjNjRqR3lEV25jQ0F3RUEKQVFLQ0FnRUFqOVpQVm13ZXFucHh0dDkyeEJIRzZTb1c0TlBHTHE2RGdMRjJxVDdlZDZkVTdiVE00TUpya1FQcAphRTZ0UE1mNDJHZmFlR29pN3lDM3hVSlRNTU5xWTlxTjFpdkd5ZmhpYzBsVjZoaDdTOHNJd0VkdU9YMG9tSEdVClBVdGl6YXZUVzVmMTdoNWR2N2dPcVVTUUlsR1U4VDNiLzRtWjVRemcyc29TQSs4alZRaEZsczNlYzdnWWNZZmkKOTJ0Z1JWTjZSRXlOeDlqOHFSWDBnd3Iwc3ozSldNMGdLM2hONDMya0Zvd25mQU9lNXBLVkVkU1plK1R4ckNEYQprQzQ3MGZadHVzNDh3V3crUFZYQ0tUL2ErTTZvV1lmTzQ2QzFpdFlJd1F1dnN1TXVZQ1RQelpSeVRveHZsZDBDCnZacTU5SGVGTWtXYUtFWE5qSTRKMEtUYjh6T2JObDZ0ajhVYnl6eFNKRVlVNWc4ajNNdEFXalRqUzhNWHpsNlgKakN3aEFGNnNUOTFZeW5Mc3Z1RVZSbTBsZHB0UkIwcExHMjgwci94ODhaSFlDR0YwdnI4TGRLei80MDBhdFFMWQprZGI5RUNDa2pPbVdIdmZVVlZPMjZBeVljWnA1b0k0clhYdGlEVHU4V0dVakhzUzBWc3ljZERqRXRBbzlYYndtCnpONGxMQmE5VFdvRDI5TlNmaUdlYTd1bzFlZ0h3WDlXbWdyUU5rdkM5cmJSTTZ6Z2xzbzRkWCtkQW9uaFRNbVMKQmRLYVhybzUrdFVSK09SditFUG5tZHpYb01uaGlibWRZYVZoc0xTY2FsaSs4MmZZdGJGQllCd1RtWHdZL0NzUAoxSW04Vkx2VDZQVkRUZ2Fjc2JMRVRZemhoNmhFMXQ3Y1F6TE83Zk4xbjJURnJjcEhKZGtDZ2dFQkFQS1ptbnBnClB1VWJubi9OK3R5clh2SGYvNUhHTUdwaTUvME56SnJDSG11ZmN4Q2lUVUgyekNqNE50T0VkRGgzaDZrUkFmc2MKc2xLZGZuWTdxM3lDdDdQRFNiaVY0WSttTndsU0pqM3czOGcxSW9YTkJFbG5rak5aM2hYd3FNSDNsMmZ4bDdHSgpwMUNxUWlHcXZQeEFERzVQREtYalFEUm5hRXBQWUVVem5vTjR3ZUlVeFZWTzhUSnNZaS9XTlNhSSsydThqZWtsCm1yMHVaZlhhaFZZcWtYdjM4QkZFSWtZcWtjTHBycWdPQ2JTQi9OTG14RTcyNTM4OFlHM1JHU1doa1d4ZmNYUFQKUmZkblIxcEErYUhrZkNOTFF0K0lGNzl6MzBQUEJjcmdYR0E4ZUhrRisvenhqRHV1SVdGMGMzb0lKbFZBclRjKwprd2dka3BUSk1CNko0d3NDZ2dFQkFOU3pLNkRDdWFLUTh2VUFHbks4ekZsYk8xZHpmQVhJdmtOWW1JVUV1RDQ4ClRtcGZheE96aVRSWEFWbjhZY3lReTdCbnFpRU95cTltYmZBOUhFSUkxS2hxSEV6MzYxUllXS200S1pmOUk0YjUKVTRsVUJ4bjhBaXNqWHk3bldGRnk4dGZwQ21ic1pjaGJxOStBNTAwQm52dEszWkE5SVU4ZWwxNThncXUrdnQrcQpZdjlONVhMcUVhTHNudDY1NU5iU2RZbmhjZGZTRDE1WlptL2dtR2JHVmx5VHUranAxMHkyZFVDQ3VHdzRIOENHClAxOHpBc1c2TjlCNlJCWk1LLzNNSHVkQi9IblJQUUZ5TkgvVFNQbFlFaTFxeWIzTXU3SU94MHdlUXBSMlVtNjcKdHdpTUN2VHNGOUpOSDNEcElHR0djUzliNlFoRVh6a3BTYmZvRVBIc3ljVUNnZ0VCQU45L3hZS0NrczhOdjlycwpqL1dtWjhVYjRWNlNJTjZTR2puVzhhMk5zdXJocmVjZ0wxN2JHTUdSMHlqUXVTV2djVG0vc254K3RvWklGRTZtCnNGajRNSGVMTGFyQllsbXQvcncyazRhekYrZGhsRm1DUkRYQUZqLzZ4aENlYzBxbmFEUlpyYS9oS21TMVJsR3YKODRYTkYrYTBLdW5WVDd3M25Dd0JycVp5Wk5Hb2VhNW9CbGlPYnNWT2RyS3RmSy93dVBoTGNNM2ZXQXg3NTNFMQpqV3VSc2hCc25oMjZFSDFtRUgxcVBmOFRWN3VWbWE5TzdJSDNFOVR6Y2I4YVNUbVMvTi9EbWtqajFteVVHSGM4CnJ2NkgraG1sNTRqNTN5OEJlQ29IV3NYS0p6Qjk1VnRSdVJJU0VtaVZCcW02MS93UDhBalFtZ1B3UVJMVDg4dmgKQWRUUW9Yc0NnZ0VBUmFiS2thRlNrdGF1aU9aWXd0dnFleFJ5RVVnakErM2h5RUg1NkExTW5DeTViUUlFR1hhQQpacUJiTS9GK3dUTmxVRVlTSXpNcDBsaFRoZ2tzK0w3VmpMVDZ3WVdxRFh2RXhRY21yN3ZZWjNtOERrdHk2K0puCmYyTGM1NG9nbE1OMG5KbVdxMitjUVFrcjlrdks4cCttUlJvV0JnYk9vbzhjK0hjRGYyUStNeFlqeHdEbU0wUk4KTkRJU01GTmxpYWR2a0JCQWJIRkFVU0FyZUZWdThyRGVWUUNYMTBURUdUM2lsWlo0K0E5RTdwSEhyTkFTaDFkYwpzYXRvSW5rZEtzWXVGSUs2UDlYeUNVZ3h3dTRZaG5aOXRWdXo1ckJsZ29CdWFSRzdzY3d4WUV1ZU8zRklvVDJ5CjYwNFFEclI0d3hiNGQ0NjhkOVdUN1M4RkVmRXZvMWxzRlFLQ0FRRUFrNmlpMFlmTGkvNnk4TVQ5dDgrZ1FqazYKTkhWZkRzYnc5c1hKWXZWWGswb0tUN1lBTVBmcnlkS0F0akZ5YlBBcGFDS3dPQlpqcFBySGh0Vy9HdkVub3VpRworQkVIM2x2S0NOUzBlQUVUVC8rNzlNTmVRRjBOazZhb2ZGNFRBei8yaWduMTJESXY5c1Y4NFJVc1VMVmw5bHlGCkpmdktLb1E1ZEg4WnhPQW9HVEVRRDhJdG0ra0FqdmppYnM4RFlnREp2VVRGZnFYcUtxOVJTK2VLS1VZWUM3VGYKejRub0Mvb0c3ZlA1cEpna0dlNU1EbFhHb05GUFNXZzJKVzRPbU1YZmV3WW80MmNOQnhsc0ROUXFYSnFSdXAyRwplT2xNaXU2SmRsak9CRFc5RG8xbHhVaG9JOG9SdW5JRVVGdEN5MUdFWHpYaWdOQ21vbE1qQjUveDJYTzFvZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="} - } - ] -} diff --git a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.eastus2.json b/azure/_output/fabricnlp9/kubeconfig/kubeconfig.eastus2.json deleted file mode 100644 index 19e4637..0000000 --- a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.eastus2.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "apiVersion": "v1", - "clusters": [ - { - "cluster": { - "certificate-authority-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRVkZsMU1sZDA5L0xUazJRMk5JWG1GREFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1UQXdOREF4TkRaYUZ3MHhPVEV5TVRBd05EQXhORFphTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFzZmxGCmNvZCtwMTB4REdUM2ZXWm12K21OYXRhU2w4MFAzNTkrQ3JFWEY5OHYzaHdsQyt6eGpFRXhpZEdHSkdBcWpIc3QKdFlOREg5aG81bHdSWTROamJKcUJJZ3cvcDZ5RXB5WGg1MVliRFA2dDd6bHp3UVMyRjlJKzJ5aG02TWd3V3dSTQpkTmxHb1pzamFrbFJucTBWbXZ6eVk4WGVCVi84TllRb0QzNE1OdVZXVjZ0R0daeWZpdDFFT3YydCtqTnNLdXBRCm4xRGh4RGJkNE9LT3hvaC9md1hnL0tHU1gwWlRyUUY1eUV4c1VOaFdyQncrQnZ0Q2twdHc2aU1hT1Vhb0tVaDkKczVrTTA3clhCY0xmU2FuZ0FBVHZTMWQzNWZmaENZQmxseGl4Sk11QWFMcFNLaHlzekR2Z1BEV2dnUjcvRVZZUApaSDlMSlgwL20vT25DcFl2eURkUE0zeEhLd0pvbkdYS0tmMW1UTE5GUjE2b0YxU3N6QlZWZFNXc1FSSHNCTkdVCmMyZEYvRjZKaDBEV0JQZ2pINnJDOGhFNWFnQmY1Z09oa1hJVnJwZXo4cGtiUmRTampEbWpXWFkwMjkxY2lIRWUKdXlCWFh6MlVoeEJ6c2Y5QmVFUm5LTTBnQ2xLeEtid0dGTjRlc1djTzBEcEhlNm1YK3pnS3ZvSytIUHlVczhnUApkOU9wMU9zZWRIQ0NKWFl4TlIycWw0OFVBcmpENGYycHYxY2ZFekpORWpjb1FwbXlwSmtwUTRjbUZWMnREdjhhCksrS1NYajJvNEVwN1dJVFBEVWtuU3llN3pPamNPeFNmTG9XeWtldGcyZjZnSWVqemFJUm9XbVNkMlR0OHlwRUwKOVBkcXNKVWljbnkzOXNPcUNLYWxMeTRrdThWZ1FQMHVadDFPYW9FQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFGbU5NblhrCjN6YkhHeFNNRTR0bzJsWWJtQmZ1eGFpYlJhYnJpdExZMnEzUkpXNEhxNUVSZC80bm43TmRLWnZBbEh4ZXV2TTYKS1IxWTV1VGp3YjlZckp0VUI4eDlXR2w5R1RhVzNhZTlRZGR5Y1RHMEh6a1owWGFEcGp4ZExWcmVlWUYvRlBTQwp6djVjanhDUytqa3AzM1dGWm9nT2Z0Sjl1Nk9yKzNZV2NVeFBTV1JLeTZTSmVJN2pnWHlnM1hhZk9FbmI1bFJDCktSRit2dFk4cWhsT21uWnRSM1BaTDdsWGNDZGhqZFpRQ2Z2eTdaWVpmajIwckxJMFZVOWtoTFJVSWt2MDdJd0EKaEwwZkRXRVBnek9oM1JBOE1nMityT0EvUmJBVE45U0hCMEYzZXNpa2V6OUxmei82QjVLTitqRyt1TStEZjFxSwo1QlpSYnc1alNsQU9wZ2dBbzJhbDlBUVFIekdpRDRsQnpscy9wVFRFQXBERVVqempHWjY2WlhucTVrTDBjU0xmCmhwQjNPbDY4cldySVRxRDNSK2dJZDZXRGRWbVN6QXFxYnJVRHNQVXVjNWwvcFB6MWFBSjQrSlh1aFd2MzVXSXgKWTRscy9GY3VORks5bXhUS0dOeFdsWnh6aXpsK0tKenIrT09YaHAzQkhaTFpwRFFudmI4YnptZjRxNmFubGl1SQpsWmlRbEk4UUp6cWRpVEtNYTJ4dkMxTm5TS1ZNNHpISmZFWEliQ1ptMnkxQXNoQkRBSDFoczAyci9wdXlsM3QwCjdKcVQ3Y2VDanZESy9uRjQ3RUZ1c2tzV0dQMUJpRXlONExxbFJWeXB3MFA1MlFsMDJuRHFZbnlzSXZxS051RGIKQkJ2aUN3ajMzUGhCSldlWjNoNlBkaHNObUY2SVEwNjI3MVp4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", - "server": "https://fabricnlp9.eastus2.cloudapp.azure.com" - }, - "name": "fabricnlp9" - } - ], - "contexts": [ - { - "context": { - "cluster": "fabricnlp9", - "user": "fabricnlp9-admin" - }, - "name": "fabricnlp9" - } - ], - "current-context": "fabricnlp9", - "kind": "Config", - "users": [ - { - "name": "fabricnlp9-admin", - "user": {"client-certificate-data":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUw0bWp3MmNCMUp6L3cxa05meXY4SzR3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qRXdNRFF3TVRRNFdoY05NVGt4TWpFd01EUXdNVFE0V2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXlaRCtySURBem51NUlXekZVbjFuQ28zRHREdTAKVWRtcFY5V3huZkszK0tHSFF1cmhGaEtVa2h1UnNMUnptMVJ1L2VWM2xHM3B5eXl0ZzFOeEdtZDJ3TlNTMEsvRApQNjlRL0RkaGlZQ1FMMnJJZ2NGaGZaTU1DOFVhcFg5SlEzc1RpMVhtWjMzMTBhVkVGaksxRlR0Y1kyWjVPOC9GCmZMSDZ0ZGw2a1Mrd3dwWHNmeXJ3WkRzZWw0SjVaYmxsTml5Y1JOc1VKQTQ4SzRWdnFGT05pbmRUQS80N1ZITDcKY0dlbS9xTm9qRHpTRHVoL2xzY3IxU1F2bGR6eTJnMnlJUFJhOEorZUt2UThFWnFzclBjL2xXQmdDVEowcFkxQwo5ZFVqQXdTLy93MW0wd204NUQ0MGppbVVzTDc2Y29NVG9YQ3d0WEdhWnlQTjJZUVNhRHBFbHNBQm8xZG1zS0ZCCnYwb2dpdDNxcWRuenVMVlpubFhyTDYyYUs4Q1lCcWNybEFuUW4rM0c3Rnpva00rRFlpcExnSVB6RFRyaW1OMkkKUFdtYi90Unp2dFhkWSsybzFEaGR2RHU4ZmM3ZUZnemZCcUZnWVpDOXlISjBka28vY3JtSTJMaXlud0Zwak82UgpCT204cHBWSzg4THJ4OWx3MTh4ZExkRklkZDgrUThJeHFVdEJzSVJiY2pSVVVyUlBXWnFXNjNCQ1NTK3ZjbE5pCnk3Q25NYkVKR0YrL29nSWNVYnFOb0tDRGc2Q0U1L3VyZENGcEc1MTBZejVvZHdxblJxZ2hUczE5US9XMjlibUIKVUlyUmhOdCtPRjBRYVZnVVZhSk9Pam5iL0tQb0lvKytkZUZjSjdJZFk4OVFEYkFYcEpCQjA5NXRsYkdNU3BJNQpPTTRwc2M2NGpHeURXbmNDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVkRGpmTkYKY0RXeHdaMm02YnB3TmdIUkVTdk80WVhhSng2WjlKbDRIeGhFMTJJOFpYSWdWemQ1ZHFmTk54SEkvODFXWHdsLwo3RmdESjBmKy9Ca2xaeEtDeWVpd2dwOHQvRDBLdFQ2Ny9ndTM0QnAxWEpVMnJoRkczREZhR2ZLUlRZVzZlUXFnCnFORHpaSFpKY0JuUEI1WjdxVkVPOGlBSk5PSzJqZDNXcGQycnhuUWJBU0hpbXVIc04vUVEvU084ekpNSEZZVCsKZ0lNM0NCR0gzUVQ3d1JSa3hxWEhkOVgrTkVtZ2pmL1laUm1GTDMrR3hGc0NZczhzcmQ5LzBCOXRoUDBBTDhzRApWNk1ybGVBVXZVdE41dUJQR1BDSW1raVA2d2xNZDdyamhmaUhWZTNyWEFvTmZwWitGZ3g5OUJuVHBMUXFhYTZMCldJQzNNbXpJZmVHZTNuZExHODE0Vi81YU9XeE53VzEvZFAzMThlK0d2dENHeUNSYUdBNnRsTThkdGtJU1licmgKYjJWVWlneEI5OGVMS0pTdU8rSDdZRENLbGRXWnpYeU9WODNYZWswVlZpWDl1TVRyWVQ0TU14M1ZTd2xBSXc3Vgp2eW5Ub2ViQlc2OERnV0FXMjRoR1FDVmd2WHpnUDBJdlpsUlhmMGZXRWpKWklQdHFnbnp3bVpmbkF1WkhKcGNZCjc2eUVJMTM1WXh5d1VPOGR5SEJsMEFIcldvZWZsY0ZtNjloRk9zZk1SdGxVTUhDeVhWdHFwRXp3dFYvVWZBVU0KaEp0L2pvREJTQUE1cHFud0I2SCtpNkpYOGlUcGt4SEt4UnNWaE5CQVRkelN5MERPejhPVm01cllKWnlqQlhRbApXL3ZOUDVlTGVwdk9xUm4zRFBqdy92SkFHMGl6d09MVTZVWUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=","client-key-data":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeVpEK3JJREF6bnU1SVd6RlVuMW5DbzNEdER1MFVkbXBWOVd4bmZLMytLR0hRdXJoCkZoS1VraHVSc0xSem0xUnUvZVYzbEczcHl5eXRnMU54R21kMndOU1MwSy9EUDY5US9EZGhpWUNRTDJySWdjRmgKZlpNTUM4VWFwWDlKUTNzVGkxWG1aMzMxMGFWRUZqSzFGVHRjWTJaNU84L0ZmTEg2dGRsNmtTK3d3cFhzZnlydwpaRHNlbDRKNVpibGxOaXljUk5zVUpBNDhLNFZ2cUZPTmluZFRBLzQ3VkhMN2NHZW0vcU5vakR6U0R1aC9sc2NyCjFTUXZsZHp5MmcyeUlQUmE4SitlS3ZROEVacXNyUGMvbFdCZ0NUSjBwWTFDOWRVakF3Uy8vdzFtMHdtODVENDAKamltVXNMNzZjb01Ub1hDd3RYR2FaeVBOMllRU2FEcEVsc0FCbzFkbXNLRkJ2MG9naXQzcXFkbnp1TFZabmxYcgpMNjJhSzhDWUJxY3JsQW5RbiszRzdGem9rTStEWWlwTGdJUHpEVHJpbU4ySVBXbWIvdFJ6dnRYZFkrMm8xRGhkCnZEdThmYzdlRmd6ZkJxRmdZWkM5eUhKMGRrby9jcm1JMkxpeW53RnBqTzZSQk9tOHBwVks4OExyeDlsdzE4eGQKTGRGSWRkOCtROEl4cVV0QnNJUmJjalJVVXJSUFdacVc2M0JDU1MrdmNsTml5N0NuTWJFSkdGKy9vZ0ljVWJxTgpvS0NEZzZDRTUvdXJkQ0ZwRzUxMFl6NW9kd3FuUnFnaFRzMTlRL1cyOWJtQlVJclJoTnQrT0YwUWFWZ1VWYUpPCk9qbmIvS1BvSW8rK2RlRmNKN0lkWTg5UURiQVhwSkJCMDk1dGxiR01TcEk1T000cHNjNjRqR3lEV25jQ0F3RUEKQVFLQ0FnRUFqOVpQVm13ZXFucHh0dDkyeEJIRzZTb1c0TlBHTHE2RGdMRjJxVDdlZDZkVTdiVE00TUpya1FQcAphRTZ0UE1mNDJHZmFlR29pN3lDM3hVSlRNTU5xWTlxTjFpdkd5ZmhpYzBsVjZoaDdTOHNJd0VkdU9YMG9tSEdVClBVdGl6YXZUVzVmMTdoNWR2N2dPcVVTUUlsR1U4VDNiLzRtWjVRemcyc29TQSs4alZRaEZsczNlYzdnWWNZZmkKOTJ0Z1JWTjZSRXlOeDlqOHFSWDBnd3Iwc3ozSldNMGdLM2hONDMya0Zvd25mQU9lNXBLVkVkU1plK1R4ckNEYQprQzQ3MGZadHVzNDh3V3crUFZYQ0tUL2ErTTZvV1lmTzQ2QzFpdFlJd1F1dnN1TXVZQ1RQelpSeVRveHZsZDBDCnZacTU5SGVGTWtXYUtFWE5qSTRKMEtUYjh6T2JObDZ0ajhVYnl6eFNKRVlVNWc4ajNNdEFXalRqUzhNWHpsNlgKakN3aEFGNnNUOTFZeW5Mc3Z1RVZSbTBsZHB0UkIwcExHMjgwci94ODhaSFlDR0YwdnI4TGRLei80MDBhdFFMWQprZGI5RUNDa2pPbVdIdmZVVlZPMjZBeVljWnA1b0k0clhYdGlEVHU4V0dVakhzUzBWc3ljZERqRXRBbzlYYndtCnpONGxMQmE5VFdvRDI5TlNmaUdlYTd1bzFlZ0h3WDlXbWdyUU5rdkM5cmJSTTZ6Z2xzbzRkWCtkQW9uaFRNbVMKQmRLYVhybzUrdFVSK09SditFUG5tZHpYb01uaGlibWRZYVZoc0xTY2FsaSs4MmZZdGJGQllCd1RtWHdZL0NzUAoxSW04Vkx2VDZQVkRUZ2Fjc2JMRVRZemhoNmhFMXQ3Y1F6TE83Zk4xbjJURnJjcEhKZGtDZ2dFQkFQS1ptbnBnClB1VWJubi9OK3R5clh2SGYvNUhHTUdwaTUvME56SnJDSG11ZmN4Q2lUVUgyekNqNE50T0VkRGgzaDZrUkFmc2MKc2xLZGZuWTdxM3lDdDdQRFNiaVY0WSttTndsU0pqM3czOGcxSW9YTkJFbG5rak5aM2hYd3FNSDNsMmZ4bDdHSgpwMUNxUWlHcXZQeEFERzVQREtYalFEUm5hRXBQWUVVem5vTjR3ZUlVeFZWTzhUSnNZaS9XTlNhSSsydThqZWtsCm1yMHVaZlhhaFZZcWtYdjM4QkZFSWtZcWtjTHBycWdPQ2JTQi9OTG14RTcyNTM4OFlHM1JHU1doa1d4ZmNYUFQKUmZkblIxcEErYUhrZkNOTFF0K0lGNzl6MzBQUEJjcmdYR0E4ZUhrRisvenhqRHV1SVdGMGMzb0lKbFZBclRjKwprd2dka3BUSk1CNko0d3NDZ2dFQkFOU3pLNkRDdWFLUTh2VUFHbks4ekZsYk8xZHpmQVhJdmtOWW1JVUV1RDQ4ClRtcGZheE96aVRSWEFWbjhZY3lReTdCbnFpRU95cTltYmZBOUhFSUkxS2hxSEV6MzYxUllXS200S1pmOUk0YjUKVTRsVUJ4bjhBaXNqWHk3bldGRnk4dGZwQ21ic1pjaGJxOStBNTAwQm52dEszWkE5SVU4ZWwxNThncXUrdnQrcQpZdjlONVhMcUVhTHNudDY1NU5iU2RZbmhjZGZTRDE1WlptL2dtR2JHVmx5VHUranAxMHkyZFVDQ3VHdzRIOENHClAxOHpBc1c2TjlCNlJCWk1LLzNNSHVkQi9IblJQUUZ5TkgvVFNQbFlFaTFxeWIzTXU3SU94MHdlUXBSMlVtNjcKdHdpTUN2VHNGOUpOSDNEcElHR0djUzliNlFoRVh6a3BTYmZvRVBIc3ljVUNnZ0VCQU45L3hZS0NrczhOdjlycwpqL1dtWjhVYjRWNlNJTjZTR2puVzhhMk5zdXJocmVjZ0wxN2JHTUdSMHlqUXVTV2djVG0vc254K3RvWklGRTZtCnNGajRNSGVMTGFyQllsbXQvcncyazRhekYrZGhsRm1DUkRYQUZqLzZ4aENlYzBxbmFEUlpyYS9oS21TMVJsR3YKODRYTkYrYTBLdW5WVDd3M25Dd0JycVp5Wk5Hb2VhNW9CbGlPYnNWT2RyS3RmSy93dVBoTGNNM2ZXQXg3NTNFMQpqV3VSc2hCc25oMjZFSDFtRUgxcVBmOFRWN3VWbWE5TzdJSDNFOVR6Y2I4YVNUbVMvTi9EbWtqajFteVVHSGM4CnJ2NkgraG1sNTRqNTN5OEJlQ29IV3NYS0p6Qjk1VnRSdVJJU0VtaVZCcW02MS93UDhBalFtZ1B3UVJMVDg4dmgKQWRUUW9Yc0NnZ0VBUmFiS2thRlNrdGF1aU9aWXd0dnFleFJ5RVVnakErM2h5RUg1NkExTW5DeTViUUlFR1hhQQpacUJiTS9GK3dUTmxVRVlTSXpNcDBsaFRoZ2tzK0w3VmpMVDZ3WVdxRFh2RXhRY21yN3ZZWjNtOERrdHk2K0puCmYyTGM1NG9nbE1OMG5KbVdxMitjUVFrcjlrdks4cCttUlJvV0JnYk9vbzhjK0hjRGYyUStNeFlqeHdEbU0wUk4KTkRJU01GTmxpYWR2a0JCQWJIRkFVU0FyZUZWdThyRGVWUUNYMTBURUdUM2lsWlo0K0E5RTdwSEhyTkFTaDFkYwpzYXRvSW5rZEtzWXVGSUs2UDlYeUNVZ3h3dTRZaG5aOXRWdXo1ckJsZ29CdWFSRzdzY3d4WUV1ZU8zRklvVDJ5CjYwNFFEclI0d3hiNGQ0NjhkOVdUN1M4RkVmRXZvMWxzRlFLQ0FRRUFrNmlpMFlmTGkvNnk4TVQ5dDgrZ1FqazYKTkhWZkRzYnc5c1hKWXZWWGswb0tUN1lBTVBmcnlkS0F0akZ5YlBBcGFDS3dPQlpqcFBySGh0Vy9HdkVub3VpRworQkVIM2x2S0NOUzBlQUVUVC8rNzlNTmVRRjBOazZhb2ZGNFRBei8yaWduMTJESXY5c1Y4NFJVc1VMVmw5bHlGCkpmdktLb1E1ZEg4WnhPQW9HVEVRRDhJdG0ra0FqdmppYnM4RFlnREp2VVRGZnFYcUtxOVJTK2VLS1VZWUM3VGYKejRub0Mvb0c3ZlA1cEpna0dlNU1EbFhHb05GUFNXZzJKVzRPbU1YZmV3WW80MmNOQnhsc0ROUXFYSnFSdXAyRwplT2xNaXU2SmRsak9CRFc5RG8xbHhVaG9JOG9SdW5JRVVGdEN5MUdFWHpYaWdOQ21vbE1qQjUveDJYTzFvZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="} - } - ] -} diff --git a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.eastus2euap.json b/azure/_output/fabricnlp9/kubeconfig/kubeconfig.eastus2euap.json deleted file mode 100644 index 191df08..0000000 --- a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.eastus2euap.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "apiVersion": "v1", - "clusters": [ - { - "cluster": { - "certificate-authority-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRVkZsMU1sZDA5L0xUazJRMk5JWG1GREFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1UQXdOREF4TkRaYUZ3MHhPVEV5TVRBd05EQXhORFphTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFzZmxGCmNvZCtwMTB4REdUM2ZXWm12K21OYXRhU2w4MFAzNTkrQ3JFWEY5OHYzaHdsQyt6eGpFRXhpZEdHSkdBcWpIc3QKdFlOREg5aG81bHdSWTROamJKcUJJZ3cvcDZ5RXB5WGg1MVliRFA2dDd6bHp3UVMyRjlJKzJ5aG02TWd3V3dSTQpkTmxHb1pzamFrbFJucTBWbXZ6eVk4WGVCVi84TllRb0QzNE1OdVZXVjZ0R0daeWZpdDFFT3YydCtqTnNLdXBRCm4xRGh4RGJkNE9LT3hvaC9md1hnL0tHU1gwWlRyUUY1eUV4c1VOaFdyQncrQnZ0Q2twdHc2aU1hT1Vhb0tVaDkKczVrTTA3clhCY0xmU2FuZ0FBVHZTMWQzNWZmaENZQmxseGl4Sk11QWFMcFNLaHlzekR2Z1BEV2dnUjcvRVZZUApaSDlMSlgwL20vT25DcFl2eURkUE0zeEhLd0pvbkdYS0tmMW1UTE5GUjE2b0YxU3N6QlZWZFNXc1FSSHNCTkdVCmMyZEYvRjZKaDBEV0JQZ2pINnJDOGhFNWFnQmY1Z09oa1hJVnJwZXo4cGtiUmRTampEbWpXWFkwMjkxY2lIRWUKdXlCWFh6MlVoeEJ6c2Y5QmVFUm5LTTBnQ2xLeEtid0dGTjRlc1djTzBEcEhlNm1YK3pnS3ZvSytIUHlVczhnUApkOU9wMU9zZWRIQ0NKWFl4TlIycWw0OFVBcmpENGYycHYxY2ZFekpORWpjb1FwbXlwSmtwUTRjbUZWMnREdjhhCksrS1NYajJvNEVwN1dJVFBEVWtuU3llN3pPamNPeFNmTG9XeWtldGcyZjZnSWVqemFJUm9XbVNkMlR0OHlwRUwKOVBkcXNKVWljbnkzOXNPcUNLYWxMeTRrdThWZ1FQMHVadDFPYW9FQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFGbU5NblhrCjN6YkhHeFNNRTR0bzJsWWJtQmZ1eGFpYlJhYnJpdExZMnEzUkpXNEhxNUVSZC80bm43TmRLWnZBbEh4ZXV2TTYKS1IxWTV1VGp3YjlZckp0VUI4eDlXR2w5R1RhVzNhZTlRZGR5Y1RHMEh6a1owWGFEcGp4ZExWcmVlWUYvRlBTQwp6djVjanhDUytqa3AzM1dGWm9nT2Z0Sjl1Nk9yKzNZV2NVeFBTV1JLeTZTSmVJN2pnWHlnM1hhZk9FbmI1bFJDCktSRit2dFk4cWhsT21uWnRSM1BaTDdsWGNDZGhqZFpRQ2Z2eTdaWVpmajIwckxJMFZVOWtoTFJVSWt2MDdJd0EKaEwwZkRXRVBnek9oM1JBOE1nMityT0EvUmJBVE45U0hCMEYzZXNpa2V6OUxmei82QjVLTitqRyt1TStEZjFxSwo1QlpSYnc1alNsQU9wZ2dBbzJhbDlBUVFIekdpRDRsQnpscy9wVFRFQXBERVVqempHWjY2WlhucTVrTDBjU0xmCmhwQjNPbDY4cldySVRxRDNSK2dJZDZXRGRWbVN6QXFxYnJVRHNQVXVjNWwvcFB6MWFBSjQrSlh1aFd2MzVXSXgKWTRscy9GY3VORks5bXhUS0dOeFdsWnh6aXpsK0tKenIrT09YaHAzQkhaTFpwRFFudmI4YnptZjRxNmFubGl1SQpsWmlRbEk4UUp6cWRpVEtNYTJ4dkMxTm5TS1ZNNHpISmZFWEliQ1ptMnkxQXNoQkRBSDFoczAyci9wdXlsM3QwCjdKcVQ3Y2VDanZESy9uRjQ3RUZ1c2tzV0dQMUJpRXlONExxbFJWeXB3MFA1MlFsMDJuRHFZbnlzSXZxS051RGIKQkJ2aUN3ajMzUGhCSldlWjNoNlBkaHNObUY2SVEwNjI3MVp4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", - "server": "https://fabricnlp9.eastus2euap.cloudapp.azure.com" - }, - "name": "fabricnlp9" - } - ], - "contexts": [ - { - "context": { - "cluster": "fabricnlp9", - "user": "fabricnlp9-admin" - }, - "name": "fabricnlp9" - } - ], - "current-context": "fabricnlp9", - "kind": "Config", - "users": [ - { - "name": "fabricnlp9-admin", - "user": {"client-certificate-data":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUw0bWp3MmNCMUp6L3cxa05meXY4SzR3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qRXdNRFF3TVRRNFdoY05NVGt4TWpFd01EUXdNVFE0V2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXlaRCtySURBem51NUlXekZVbjFuQ28zRHREdTAKVWRtcFY5V3huZkszK0tHSFF1cmhGaEtVa2h1UnNMUnptMVJ1L2VWM2xHM3B5eXl0ZzFOeEdtZDJ3TlNTMEsvRApQNjlRL0RkaGlZQ1FMMnJJZ2NGaGZaTU1DOFVhcFg5SlEzc1RpMVhtWjMzMTBhVkVGaksxRlR0Y1kyWjVPOC9GCmZMSDZ0ZGw2a1Mrd3dwWHNmeXJ3WkRzZWw0SjVaYmxsTml5Y1JOc1VKQTQ4SzRWdnFGT05pbmRUQS80N1ZITDcKY0dlbS9xTm9qRHpTRHVoL2xzY3IxU1F2bGR6eTJnMnlJUFJhOEorZUt2UThFWnFzclBjL2xXQmdDVEowcFkxQwo5ZFVqQXdTLy93MW0wd204NUQ0MGppbVVzTDc2Y29NVG9YQ3d0WEdhWnlQTjJZUVNhRHBFbHNBQm8xZG1zS0ZCCnYwb2dpdDNxcWRuenVMVlpubFhyTDYyYUs4Q1lCcWNybEFuUW4rM0c3Rnpva00rRFlpcExnSVB6RFRyaW1OMkkKUFdtYi90Unp2dFhkWSsybzFEaGR2RHU4ZmM3ZUZnemZCcUZnWVpDOXlISjBka28vY3JtSTJMaXlud0Zwak82UgpCT204cHBWSzg4THJ4OWx3MTh4ZExkRklkZDgrUThJeHFVdEJzSVJiY2pSVVVyUlBXWnFXNjNCQ1NTK3ZjbE5pCnk3Q25NYkVKR0YrL29nSWNVYnFOb0tDRGc2Q0U1L3VyZENGcEc1MTBZejVvZHdxblJxZ2hUczE5US9XMjlibUIKVUlyUmhOdCtPRjBRYVZnVVZhSk9Pam5iL0tQb0lvKytkZUZjSjdJZFk4OVFEYkFYcEpCQjA5NXRsYkdNU3BJNQpPTTRwc2M2NGpHeURXbmNDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVkRGpmTkYKY0RXeHdaMm02YnB3TmdIUkVTdk80WVhhSng2WjlKbDRIeGhFMTJJOFpYSWdWemQ1ZHFmTk54SEkvODFXWHdsLwo3RmdESjBmKy9Ca2xaeEtDeWVpd2dwOHQvRDBLdFQ2Ny9ndTM0QnAxWEpVMnJoRkczREZhR2ZLUlRZVzZlUXFnCnFORHpaSFpKY0JuUEI1WjdxVkVPOGlBSk5PSzJqZDNXcGQycnhuUWJBU0hpbXVIc04vUVEvU084ekpNSEZZVCsKZ0lNM0NCR0gzUVQ3d1JSa3hxWEhkOVgrTkVtZ2pmL1laUm1GTDMrR3hGc0NZczhzcmQ5LzBCOXRoUDBBTDhzRApWNk1ybGVBVXZVdE41dUJQR1BDSW1raVA2d2xNZDdyamhmaUhWZTNyWEFvTmZwWitGZ3g5OUJuVHBMUXFhYTZMCldJQzNNbXpJZmVHZTNuZExHODE0Vi81YU9XeE53VzEvZFAzMThlK0d2dENHeUNSYUdBNnRsTThkdGtJU1licmgKYjJWVWlneEI5OGVMS0pTdU8rSDdZRENLbGRXWnpYeU9WODNYZWswVlZpWDl1TVRyWVQ0TU14M1ZTd2xBSXc3Vgp2eW5Ub2ViQlc2OERnV0FXMjRoR1FDVmd2WHpnUDBJdlpsUlhmMGZXRWpKWklQdHFnbnp3bVpmbkF1WkhKcGNZCjc2eUVJMTM1WXh5d1VPOGR5SEJsMEFIcldvZWZsY0ZtNjloRk9zZk1SdGxVTUhDeVhWdHFwRXp3dFYvVWZBVU0KaEp0L2pvREJTQUE1cHFud0I2SCtpNkpYOGlUcGt4SEt4UnNWaE5CQVRkelN5MERPejhPVm01cllKWnlqQlhRbApXL3ZOUDVlTGVwdk9xUm4zRFBqdy92SkFHMGl6d09MVTZVWUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=","client-key-data":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeVpEK3JJREF6bnU1SVd6RlVuMW5DbzNEdER1MFVkbXBWOVd4bmZLMytLR0hRdXJoCkZoS1VraHVSc0xSem0xUnUvZVYzbEczcHl5eXRnMU54R21kMndOU1MwSy9EUDY5US9EZGhpWUNRTDJySWdjRmgKZlpNTUM4VWFwWDlKUTNzVGkxWG1aMzMxMGFWRUZqSzFGVHRjWTJaNU84L0ZmTEg2dGRsNmtTK3d3cFhzZnlydwpaRHNlbDRKNVpibGxOaXljUk5zVUpBNDhLNFZ2cUZPTmluZFRBLzQ3VkhMN2NHZW0vcU5vakR6U0R1aC9sc2NyCjFTUXZsZHp5MmcyeUlQUmE4SitlS3ZROEVacXNyUGMvbFdCZ0NUSjBwWTFDOWRVakF3Uy8vdzFtMHdtODVENDAKamltVXNMNzZjb01Ub1hDd3RYR2FaeVBOMllRU2FEcEVsc0FCbzFkbXNLRkJ2MG9naXQzcXFkbnp1TFZabmxYcgpMNjJhSzhDWUJxY3JsQW5RbiszRzdGem9rTStEWWlwTGdJUHpEVHJpbU4ySVBXbWIvdFJ6dnRYZFkrMm8xRGhkCnZEdThmYzdlRmd6ZkJxRmdZWkM5eUhKMGRrby9jcm1JMkxpeW53RnBqTzZSQk9tOHBwVks4OExyeDlsdzE4eGQKTGRGSWRkOCtROEl4cVV0QnNJUmJjalJVVXJSUFdacVc2M0JDU1MrdmNsTml5N0NuTWJFSkdGKy9vZ0ljVWJxTgpvS0NEZzZDRTUvdXJkQ0ZwRzUxMFl6NW9kd3FuUnFnaFRzMTlRL1cyOWJtQlVJclJoTnQrT0YwUWFWZ1VWYUpPCk9qbmIvS1BvSW8rK2RlRmNKN0lkWTg5UURiQVhwSkJCMDk1dGxiR01TcEk1T000cHNjNjRqR3lEV25jQ0F3RUEKQVFLQ0FnRUFqOVpQVm13ZXFucHh0dDkyeEJIRzZTb1c0TlBHTHE2RGdMRjJxVDdlZDZkVTdiVE00TUpya1FQcAphRTZ0UE1mNDJHZmFlR29pN3lDM3hVSlRNTU5xWTlxTjFpdkd5ZmhpYzBsVjZoaDdTOHNJd0VkdU9YMG9tSEdVClBVdGl6YXZUVzVmMTdoNWR2N2dPcVVTUUlsR1U4VDNiLzRtWjVRemcyc29TQSs4alZRaEZsczNlYzdnWWNZZmkKOTJ0Z1JWTjZSRXlOeDlqOHFSWDBnd3Iwc3ozSldNMGdLM2hONDMya0Zvd25mQU9lNXBLVkVkU1plK1R4ckNEYQprQzQ3MGZadHVzNDh3V3crUFZYQ0tUL2ErTTZvV1lmTzQ2QzFpdFlJd1F1dnN1TXVZQ1RQelpSeVRveHZsZDBDCnZacTU5SGVGTWtXYUtFWE5qSTRKMEtUYjh6T2JObDZ0ajhVYnl6eFNKRVlVNWc4ajNNdEFXalRqUzhNWHpsNlgKakN3aEFGNnNUOTFZeW5Mc3Z1RVZSbTBsZHB0UkIwcExHMjgwci94ODhaSFlDR0YwdnI4TGRLei80MDBhdFFMWQprZGI5RUNDa2pPbVdIdmZVVlZPMjZBeVljWnA1b0k0clhYdGlEVHU4V0dVakhzUzBWc3ljZERqRXRBbzlYYndtCnpONGxMQmE5VFdvRDI5TlNmaUdlYTd1bzFlZ0h3WDlXbWdyUU5rdkM5cmJSTTZ6Z2xzbzRkWCtkQW9uaFRNbVMKQmRLYVhybzUrdFVSK09SditFUG5tZHpYb01uaGlibWRZYVZoc0xTY2FsaSs4MmZZdGJGQllCd1RtWHdZL0NzUAoxSW04Vkx2VDZQVkRUZ2Fjc2JMRVRZemhoNmhFMXQ3Y1F6TE83Zk4xbjJURnJjcEhKZGtDZ2dFQkFQS1ptbnBnClB1VWJubi9OK3R5clh2SGYvNUhHTUdwaTUvME56SnJDSG11ZmN4Q2lUVUgyekNqNE50T0VkRGgzaDZrUkFmc2MKc2xLZGZuWTdxM3lDdDdQRFNiaVY0WSttTndsU0pqM3czOGcxSW9YTkJFbG5rak5aM2hYd3FNSDNsMmZ4bDdHSgpwMUNxUWlHcXZQeEFERzVQREtYalFEUm5hRXBQWUVVem5vTjR3ZUlVeFZWTzhUSnNZaS9XTlNhSSsydThqZWtsCm1yMHVaZlhhaFZZcWtYdjM4QkZFSWtZcWtjTHBycWdPQ2JTQi9OTG14RTcyNTM4OFlHM1JHU1doa1d4ZmNYUFQKUmZkblIxcEErYUhrZkNOTFF0K0lGNzl6MzBQUEJjcmdYR0E4ZUhrRisvenhqRHV1SVdGMGMzb0lKbFZBclRjKwprd2dka3BUSk1CNko0d3NDZ2dFQkFOU3pLNkRDdWFLUTh2VUFHbks4ekZsYk8xZHpmQVhJdmtOWW1JVUV1RDQ4ClRtcGZheE96aVRSWEFWbjhZY3lReTdCbnFpRU95cTltYmZBOUhFSUkxS2hxSEV6MzYxUllXS200S1pmOUk0YjUKVTRsVUJ4bjhBaXNqWHk3bldGRnk4dGZwQ21ic1pjaGJxOStBNTAwQm52dEszWkE5SVU4ZWwxNThncXUrdnQrcQpZdjlONVhMcUVhTHNudDY1NU5iU2RZbmhjZGZTRDE1WlptL2dtR2JHVmx5VHUranAxMHkyZFVDQ3VHdzRIOENHClAxOHpBc1c2TjlCNlJCWk1LLzNNSHVkQi9IblJQUUZ5TkgvVFNQbFlFaTFxeWIzTXU3SU94MHdlUXBSMlVtNjcKdHdpTUN2VHNGOUpOSDNEcElHR0djUzliNlFoRVh6a3BTYmZvRVBIc3ljVUNnZ0VCQU45L3hZS0NrczhOdjlycwpqL1dtWjhVYjRWNlNJTjZTR2puVzhhMk5zdXJocmVjZ0wxN2JHTUdSMHlqUXVTV2djVG0vc254K3RvWklGRTZtCnNGajRNSGVMTGFyQllsbXQvcncyazRhekYrZGhsRm1DUkRYQUZqLzZ4aENlYzBxbmFEUlpyYS9oS21TMVJsR3YKODRYTkYrYTBLdW5WVDd3M25Dd0JycVp5Wk5Hb2VhNW9CbGlPYnNWT2RyS3RmSy93dVBoTGNNM2ZXQXg3NTNFMQpqV3VSc2hCc25oMjZFSDFtRUgxcVBmOFRWN3VWbWE5TzdJSDNFOVR6Y2I4YVNUbVMvTi9EbWtqajFteVVHSGM4CnJ2NkgraG1sNTRqNTN5OEJlQ29IV3NYS0p6Qjk1VnRSdVJJU0VtaVZCcW02MS93UDhBalFtZ1B3UVJMVDg4dmgKQWRUUW9Yc0NnZ0VBUmFiS2thRlNrdGF1aU9aWXd0dnFleFJ5RVVnakErM2h5RUg1NkExTW5DeTViUUlFR1hhQQpacUJiTS9GK3dUTmxVRVlTSXpNcDBsaFRoZ2tzK0w3VmpMVDZ3WVdxRFh2RXhRY21yN3ZZWjNtOERrdHk2K0puCmYyTGM1NG9nbE1OMG5KbVdxMitjUVFrcjlrdks4cCttUlJvV0JnYk9vbzhjK0hjRGYyUStNeFlqeHdEbU0wUk4KTkRJU01GTmxpYWR2a0JCQWJIRkFVU0FyZUZWdThyRGVWUUNYMTBURUdUM2lsWlo0K0E5RTdwSEhyTkFTaDFkYwpzYXRvSW5rZEtzWXVGSUs2UDlYeUNVZ3h3dTRZaG5aOXRWdXo1ckJsZ29CdWFSRzdzY3d4WUV1ZU8zRklvVDJ5CjYwNFFEclI0d3hiNGQ0NjhkOVdUN1M4RkVmRXZvMWxzRlFLQ0FRRUFrNmlpMFlmTGkvNnk4TVQ5dDgrZ1FqazYKTkhWZkRzYnc5c1hKWXZWWGswb0tUN1lBTVBmcnlkS0F0akZ5YlBBcGFDS3dPQlpqcFBySGh0Vy9HdkVub3VpRworQkVIM2x2S0NOUzBlQUVUVC8rNzlNTmVRRjBOazZhb2ZGNFRBei8yaWduMTJESXY5c1Y4NFJVc1VMVmw5bHlGCkpmdktLb1E1ZEg4WnhPQW9HVEVRRDhJdG0ra0FqdmppYnM4RFlnREp2VVRGZnFYcUtxOVJTK2VLS1VZWUM3VGYKejRub0Mvb0c3ZlA1cEpna0dlNU1EbFhHb05GUFNXZzJKVzRPbU1YZmV3WW80MmNOQnhsc0ROUXFYSnFSdXAyRwplT2xNaXU2SmRsak9CRFc5RG8xbHhVaG9JOG9SdW5JRVVGdEN5MUdFWHpYaWdOQ21vbE1qQjUveDJYTzFvZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="} - } - ] -} diff --git a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.germanycentral.json b/azure/_output/fabricnlp9/kubeconfig/kubeconfig.germanycentral.json deleted file mode 100644 index 929aca7..0000000 --- a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.germanycentral.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "apiVersion": "v1", - "clusters": [ - { - "cluster": { - "certificate-authority-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRVkZsMU1sZDA5L0xUazJRMk5JWG1GREFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1UQXdOREF4TkRaYUZ3MHhPVEV5TVRBd05EQXhORFphTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFzZmxGCmNvZCtwMTB4REdUM2ZXWm12K21OYXRhU2w4MFAzNTkrQ3JFWEY5OHYzaHdsQyt6eGpFRXhpZEdHSkdBcWpIc3QKdFlOREg5aG81bHdSWTROamJKcUJJZ3cvcDZ5RXB5WGg1MVliRFA2dDd6bHp3UVMyRjlJKzJ5aG02TWd3V3dSTQpkTmxHb1pzamFrbFJucTBWbXZ6eVk4WGVCVi84TllRb0QzNE1OdVZXVjZ0R0daeWZpdDFFT3YydCtqTnNLdXBRCm4xRGh4RGJkNE9LT3hvaC9md1hnL0tHU1gwWlRyUUY1eUV4c1VOaFdyQncrQnZ0Q2twdHc2aU1hT1Vhb0tVaDkKczVrTTA3clhCY0xmU2FuZ0FBVHZTMWQzNWZmaENZQmxseGl4Sk11QWFMcFNLaHlzekR2Z1BEV2dnUjcvRVZZUApaSDlMSlgwL20vT25DcFl2eURkUE0zeEhLd0pvbkdYS0tmMW1UTE5GUjE2b0YxU3N6QlZWZFNXc1FSSHNCTkdVCmMyZEYvRjZKaDBEV0JQZ2pINnJDOGhFNWFnQmY1Z09oa1hJVnJwZXo4cGtiUmRTampEbWpXWFkwMjkxY2lIRWUKdXlCWFh6MlVoeEJ6c2Y5QmVFUm5LTTBnQ2xLeEtid0dGTjRlc1djTzBEcEhlNm1YK3pnS3ZvSytIUHlVczhnUApkOU9wMU9zZWRIQ0NKWFl4TlIycWw0OFVBcmpENGYycHYxY2ZFekpORWpjb1FwbXlwSmtwUTRjbUZWMnREdjhhCksrS1NYajJvNEVwN1dJVFBEVWtuU3llN3pPamNPeFNmTG9XeWtldGcyZjZnSWVqemFJUm9XbVNkMlR0OHlwRUwKOVBkcXNKVWljbnkzOXNPcUNLYWxMeTRrdThWZ1FQMHVadDFPYW9FQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFGbU5NblhrCjN6YkhHeFNNRTR0bzJsWWJtQmZ1eGFpYlJhYnJpdExZMnEzUkpXNEhxNUVSZC80bm43TmRLWnZBbEh4ZXV2TTYKS1IxWTV1VGp3YjlZckp0VUI4eDlXR2w5R1RhVzNhZTlRZGR5Y1RHMEh6a1owWGFEcGp4ZExWcmVlWUYvRlBTQwp6djVjanhDUytqa3AzM1dGWm9nT2Z0Sjl1Nk9yKzNZV2NVeFBTV1JLeTZTSmVJN2pnWHlnM1hhZk9FbmI1bFJDCktSRit2dFk4cWhsT21uWnRSM1BaTDdsWGNDZGhqZFpRQ2Z2eTdaWVpmajIwckxJMFZVOWtoTFJVSWt2MDdJd0EKaEwwZkRXRVBnek9oM1JBOE1nMityT0EvUmJBVE45U0hCMEYzZXNpa2V6OUxmei82QjVLTitqRyt1TStEZjFxSwo1QlpSYnc1alNsQU9wZ2dBbzJhbDlBUVFIekdpRDRsQnpscy9wVFRFQXBERVVqempHWjY2WlhucTVrTDBjU0xmCmhwQjNPbDY4cldySVRxRDNSK2dJZDZXRGRWbVN6QXFxYnJVRHNQVXVjNWwvcFB6MWFBSjQrSlh1aFd2MzVXSXgKWTRscy9GY3VORks5bXhUS0dOeFdsWnh6aXpsK0tKenIrT09YaHAzQkhaTFpwRFFudmI4YnptZjRxNmFubGl1SQpsWmlRbEk4UUp6cWRpVEtNYTJ4dkMxTm5TS1ZNNHpISmZFWEliQ1ptMnkxQXNoQkRBSDFoczAyci9wdXlsM3QwCjdKcVQ3Y2VDanZESy9uRjQ3RUZ1c2tzV0dQMUJpRXlONExxbFJWeXB3MFA1MlFsMDJuRHFZbnlzSXZxS051RGIKQkJ2aUN3ajMzUGhCSldlWjNoNlBkaHNObUY2SVEwNjI3MVp4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", - "server": "https://fabricnlp9.germanycentral.cloudapp.microsoftazure.de" - }, - "name": "fabricnlp9" - } - ], - "contexts": [ - { - "context": { - "cluster": "fabricnlp9", - "user": "fabricnlp9-admin" - }, - "name": "fabricnlp9" - } - ], - "current-context": "fabricnlp9", - "kind": "Config", - "users": [ - { - "name": "fabricnlp9-admin", - "user": {"client-certificate-data":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUw0bWp3MmNCMUp6L3cxa05meXY4SzR3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qRXdNRFF3TVRRNFdoY05NVGt4TWpFd01EUXdNVFE0V2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXlaRCtySURBem51NUlXekZVbjFuQ28zRHREdTAKVWRtcFY5V3huZkszK0tHSFF1cmhGaEtVa2h1UnNMUnptMVJ1L2VWM2xHM3B5eXl0ZzFOeEdtZDJ3TlNTMEsvRApQNjlRL0RkaGlZQ1FMMnJJZ2NGaGZaTU1DOFVhcFg5SlEzc1RpMVhtWjMzMTBhVkVGaksxRlR0Y1kyWjVPOC9GCmZMSDZ0ZGw2a1Mrd3dwWHNmeXJ3WkRzZWw0SjVaYmxsTml5Y1JOc1VKQTQ4SzRWdnFGT05pbmRUQS80N1ZITDcKY0dlbS9xTm9qRHpTRHVoL2xzY3IxU1F2bGR6eTJnMnlJUFJhOEorZUt2UThFWnFzclBjL2xXQmdDVEowcFkxQwo5ZFVqQXdTLy93MW0wd204NUQ0MGppbVVzTDc2Y29NVG9YQ3d0WEdhWnlQTjJZUVNhRHBFbHNBQm8xZG1zS0ZCCnYwb2dpdDNxcWRuenVMVlpubFhyTDYyYUs4Q1lCcWNybEFuUW4rM0c3Rnpva00rRFlpcExnSVB6RFRyaW1OMkkKUFdtYi90Unp2dFhkWSsybzFEaGR2RHU4ZmM3ZUZnemZCcUZnWVpDOXlISjBka28vY3JtSTJMaXlud0Zwak82UgpCT204cHBWSzg4THJ4OWx3MTh4ZExkRklkZDgrUThJeHFVdEJzSVJiY2pSVVVyUlBXWnFXNjNCQ1NTK3ZjbE5pCnk3Q25NYkVKR0YrL29nSWNVYnFOb0tDRGc2Q0U1L3VyZENGcEc1MTBZejVvZHdxblJxZ2hUczE5US9XMjlibUIKVUlyUmhOdCtPRjBRYVZnVVZhSk9Pam5iL0tQb0lvKytkZUZjSjdJZFk4OVFEYkFYcEpCQjA5NXRsYkdNU3BJNQpPTTRwc2M2NGpHeURXbmNDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVkRGpmTkYKY0RXeHdaMm02YnB3TmdIUkVTdk80WVhhSng2WjlKbDRIeGhFMTJJOFpYSWdWemQ1ZHFmTk54SEkvODFXWHdsLwo3RmdESjBmKy9Ca2xaeEtDeWVpd2dwOHQvRDBLdFQ2Ny9ndTM0QnAxWEpVMnJoRkczREZhR2ZLUlRZVzZlUXFnCnFORHpaSFpKY0JuUEI1WjdxVkVPOGlBSk5PSzJqZDNXcGQycnhuUWJBU0hpbXVIc04vUVEvU084ekpNSEZZVCsKZ0lNM0NCR0gzUVQ3d1JSa3hxWEhkOVgrTkVtZ2pmL1laUm1GTDMrR3hGc0NZczhzcmQ5LzBCOXRoUDBBTDhzRApWNk1ybGVBVXZVdE41dUJQR1BDSW1raVA2d2xNZDdyamhmaUhWZTNyWEFvTmZwWitGZ3g5OUJuVHBMUXFhYTZMCldJQzNNbXpJZmVHZTNuZExHODE0Vi81YU9XeE53VzEvZFAzMThlK0d2dENHeUNSYUdBNnRsTThkdGtJU1licmgKYjJWVWlneEI5OGVMS0pTdU8rSDdZRENLbGRXWnpYeU9WODNYZWswVlZpWDl1TVRyWVQ0TU14M1ZTd2xBSXc3Vgp2eW5Ub2ViQlc2OERnV0FXMjRoR1FDVmd2WHpnUDBJdlpsUlhmMGZXRWpKWklQdHFnbnp3bVpmbkF1WkhKcGNZCjc2eUVJMTM1WXh5d1VPOGR5SEJsMEFIcldvZWZsY0ZtNjloRk9zZk1SdGxVTUhDeVhWdHFwRXp3dFYvVWZBVU0KaEp0L2pvREJTQUE1cHFud0I2SCtpNkpYOGlUcGt4SEt4UnNWaE5CQVRkelN5MERPejhPVm01cllKWnlqQlhRbApXL3ZOUDVlTGVwdk9xUm4zRFBqdy92SkFHMGl6d09MVTZVWUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=","client-key-data":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeVpEK3JJREF6bnU1SVd6RlVuMW5DbzNEdER1MFVkbXBWOVd4bmZLMytLR0hRdXJoCkZoS1VraHVSc0xSem0xUnUvZVYzbEczcHl5eXRnMU54R21kMndOU1MwSy9EUDY5US9EZGhpWUNRTDJySWdjRmgKZlpNTUM4VWFwWDlKUTNzVGkxWG1aMzMxMGFWRUZqSzFGVHRjWTJaNU84L0ZmTEg2dGRsNmtTK3d3cFhzZnlydwpaRHNlbDRKNVpibGxOaXljUk5zVUpBNDhLNFZ2cUZPTmluZFRBLzQ3VkhMN2NHZW0vcU5vakR6U0R1aC9sc2NyCjFTUXZsZHp5MmcyeUlQUmE4SitlS3ZROEVacXNyUGMvbFdCZ0NUSjBwWTFDOWRVakF3Uy8vdzFtMHdtODVENDAKamltVXNMNzZjb01Ub1hDd3RYR2FaeVBOMllRU2FEcEVsc0FCbzFkbXNLRkJ2MG9naXQzcXFkbnp1TFZabmxYcgpMNjJhSzhDWUJxY3JsQW5RbiszRzdGem9rTStEWWlwTGdJUHpEVHJpbU4ySVBXbWIvdFJ6dnRYZFkrMm8xRGhkCnZEdThmYzdlRmd6ZkJxRmdZWkM5eUhKMGRrby9jcm1JMkxpeW53RnBqTzZSQk9tOHBwVks4OExyeDlsdzE4eGQKTGRGSWRkOCtROEl4cVV0QnNJUmJjalJVVXJSUFdacVc2M0JDU1MrdmNsTml5N0NuTWJFSkdGKy9vZ0ljVWJxTgpvS0NEZzZDRTUvdXJkQ0ZwRzUxMFl6NW9kd3FuUnFnaFRzMTlRL1cyOWJtQlVJclJoTnQrT0YwUWFWZ1VWYUpPCk9qbmIvS1BvSW8rK2RlRmNKN0lkWTg5UURiQVhwSkJCMDk1dGxiR01TcEk1T000cHNjNjRqR3lEV25jQ0F3RUEKQVFLQ0FnRUFqOVpQVm13ZXFucHh0dDkyeEJIRzZTb1c0TlBHTHE2RGdMRjJxVDdlZDZkVTdiVE00TUpya1FQcAphRTZ0UE1mNDJHZmFlR29pN3lDM3hVSlRNTU5xWTlxTjFpdkd5ZmhpYzBsVjZoaDdTOHNJd0VkdU9YMG9tSEdVClBVdGl6YXZUVzVmMTdoNWR2N2dPcVVTUUlsR1U4VDNiLzRtWjVRemcyc29TQSs4alZRaEZsczNlYzdnWWNZZmkKOTJ0Z1JWTjZSRXlOeDlqOHFSWDBnd3Iwc3ozSldNMGdLM2hONDMya0Zvd25mQU9lNXBLVkVkU1plK1R4ckNEYQprQzQ3MGZadHVzNDh3V3crUFZYQ0tUL2ErTTZvV1lmTzQ2QzFpdFlJd1F1dnN1TXVZQ1RQelpSeVRveHZsZDBDCnZacTU5SGVGTWtXYUtFWE5qSTRKMEtUYjh6T2JObDZ0ajhVYnl6eFNKRVlVNWc4ajNNdEFXalRqUzhNWHpsNlgKakN3aEFGNnNUOTFZeW5Mc3Z1RVZSbTBsZHB0UkIwcExHMjgwci94ODhaSFlDR0YwdnI4TGRLei80MDBhdFFMWQprZGI5RUNDa2pPbVdIdmZVVlZPMjZBeVljWnA1b0k0clhYdGlEVHU4V0dVakhzUzBWc3ljZERqRXRBbzlYYndtCnpONGxMQmE5VFdvRDI5TlNmaUdlYTd1bzFlZ0h3WDlXbWdyUU5rdkM5cmJSTTZ6Z2xzbzRkWCtkQW9uaFRNbVMKQmRLYVhybzUrdFVSK09SditFUG5tZHpYb01uaGlibWRZYVZoc0xTY2FsaSs4MmZZdGJGQllCd1RtWHdZL0NzUAoxSW04Vkx2VDZQVkRUZ2Fjc2JMRVRZemhoNmhFMXQ3Y1F6TE83Zk4xbjJURnJjcEhKZGtDZ2dFQkFQS1ptbnBnClB1VWJubi9OK3R5clh2SGYvNUhHTUdwaTUvME56SnJDSG11ZmN4Q2lUVUgyekNqNE50T0VkRGgzaDZrUkFmc2MKc2xLZGZuWTdxM3lDdDdQRFNiaVY0WSttTndsU0pqM3czOGcxSW9YTkJFbG5rak5aM2hYd3FNSDNsMmZ4bDdHSgpwMUNxUWlHcXZQeEFERzVQREtYalFEUm5hRXBQWUVVem5vTjR3ZUlVeFZWTzhUSnNZaS9XTlNhSSsydThqZWtsCm1yMHVaZlhhaFZZcWtYdjM4QkZFSWtZcWtjTHBycWdPQ2JTQi9OTG14RTcyNTM4OFlHM1JHU1doa1d4ZmNYUFQKUmZkblIxcEErYUhrZkNOTFF0K0lGNzl6MzBQUEJjcmdYR0E4ZUhrRisvenhqRHV1SVdGMGMzb0lKbFZBclRjKwprd2dka3BUSk1CNko0d3NDZ2dFQkFOU3pLNkRDdWFLUTh2VUFHbks4ekZsYk8xZHpmQVhJdmtOWW1JVUV1RDQ4ClRtcGZheE96aVRSWEFWbjhZY3lReTdCbnFpRU95cTltYmZBOUhFSUkxS2hxSEV6MzYxUllXS200S1pmOUk0YjUKVTRsVUJ4bjhBaXNqWHk3bldGRnk4dGZwQ21ic1pjaGJxOStBNTAwQm52dEszWkE5SVU4ZWwxNThncXUrdnQrcQpZdjlONVhMcUVhTHNudDY1NU5iU2RZbmhjZGZTRDE1WlptL2dtR2JHVmx5VHUranAxMHkyZFVDQ3VHdzRIOENHClAxOHpBc1c2TjlCNlJCWk1LLzNNSHVkQi9IblJQUUZ5TkgvVFNQbFlFaTFxeWIzTXU3SU94MHdlUXBSMlVtNjcKdHdpTUN2VHNGOUpOSDNEcElHR0djUzliNlFoRVh6a3BTYmZvRVBIc3ljVUNnZ0VCQU45L3hZS0NrczhOdjlycwpqL1dtWjhVYjRWNlNJTjZTR2puVzhhMk5zdXJocmVjZ0wxN2JHTUdSMHlqUXVTV2djVG0vc254K3RvWklGRTZtCnNGajRNSGVMTGFyQllsbXQvcncyazRhekYrZGhsRm1DUkRYQUZqLzZ4aENlYzBxbmFEUlpyYS9oS21TMVJsR3YKODRYTkYrYTBLdW5WVDd3M25Dd0JycVp5Wk5Hb2VhNW9CbGlPYnNWT2RyS3RmSy93dVBoTGNNM2ZXQXg3NTNFMQpqV3VSc2hCc25oMjZFSDFtRUgxcVBmOFRWN3VWbWE5TzdJSDNFOVR6Y2I4YVNUbVMvTi9EbWtqajFteVVHSGM4CnJ2NkgraG1sNTRqNTN5OEJlQ29IV3NYS0p6Qjk1VnRSdVJJU0VtaVZCcW02MS93UDhBalFtZ1B3UVJMVDg4dmgKQWRUUW9Yc0NnZ0VBUmFiS2thRlNrdGF1aU9aWXd0dnFleFJ5RVVnakErM2h5RUg1NkExTW5DeTViUUlFR1hhQQpacUJiTS9GK3dUTmxVRVlTSXpNcDBsaFRoZ2tzK0w3VmpMVDZ3WVdxRFh2RXhRY21yN3ZZWjNtOERrdHk2K0puCmYyTGM1NG9nbE1OMG5KbVdxMitjUVFrcjlrdks4cCttUlJvV0JnYk9vbzhjK0hjRGYyUStNeFlqeHdEbU0wUk4KTkRJU01GTmxpYWR2a0JCQWJIRkFVU0FyZUZWdThyRGVWUUNYMTBURUdUM2lsWlo0K0E5RTdwSEhyTkFTaDFkYwpzYXRvSW5rZEtzWXVGSUs2UDlYeUNVZ3h3dTRZaG5aOXRWdXo1ckJsZ29CdWFSRzdzY3d4WUV1ZU8zRklvVDJ5CjYwNFFEclI0d3hiNGQ0NjhkOVdUN1M4RkVmRXZvMWxzRlFLQ0FRRUFrNmlpMFlmTGkvNnk4TVQ5dDgrZ1FqazYKTkhWZkRzYnc5c1hKWXZWWGswb0tUN1lBTVBmcnlkS0F0akZ5YlBBcGFDS3dPQlpqcFBySGh0Vy9HdkVub3VpRworQkVIM2x2S0NOUzBlQUVUVC8rNzlNTmVRRjBOazZhb2ZGNFRBei8yaWduMTJESXY5c1Y4NFJVc1VMVmw5bHlGCkpmdktLb1E1ZEg4WnhPQW9HVEVRRDhJdG0ra0FqdmppYnM4RFlnREp2VVRGZnFYcUtxOVJTK2VLS1VZWUM3VGYKejRub0Mvb0c3ZlA1cEpna0dlNU1EbFhHb05GUFNXZzJKVzRPbU1YZmV3WW80MmNOQnhsc0ROUXFYSnFSdXAyRwplT2xNaXU2SmRsak9CRFc5RG8xbHhVaG9JOG9SdW5JRVVGdEN5MUdFWHpYaWdOQ21vbE1qQjUveDJYTzFvZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="} - } - ] -} diff --git a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.germanynortheast.json b/azure/_output/fabricnlp9/kubeconfig/kubeconfig.germanynortheast.json deleted file mode 100644 index 0788482..0000000 --- a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.germanynortheast.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "apiVersion": "v1", - "clusters": [ - { - "cluster": { - "certificate-authority-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRVkZsMU1sZDA5L0xUazJRMk5JWG1GREFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1UQXdOREF4TkRaYUZ3MHhPVEV5TVRBd05EQXhORFphTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFzZmxGCmNvZCtwMTB4REdUM2ZXWm12K21OYXRhU2w4MFAzNTkrQ3JFWEY5OHYzaHdsQyt6eGpFRXhpZEdHSkdBcWpIc3QKdFlOREg5aG81bHdSWTROamJKcUJJZ3cvcDZ5RXB5WGg1MVliRFA2dDd6bHp3UVMyRjlJKzJ5aG02TWd3V3dSTQpkTmxHb1pzamFrbFJucTBWbXZ6eVk4WGVCVi84TllRb0QzNE1OdVZXVjZ0R0daeWZpdDFFT3YydCtqTnNLdXBRCm4xRGh4RGJkNE9LT3hvaC9md1hnL0tHU1gwWlRyUUY1eUV4c1VOaFdyQncrQnZ0Q2twdHc2aU1hT1Vhb0tVaDkKczVrTTA3clhCY0xmU2FuZ0FBVHZTMWQzNWZmaENZQmxseGl4Sk11QWFMcFNLaHlzekR2Z1BEV2dnUjcvRVZZUApaSDlMSlgwL20vT25DcFl2eURkUE0zeEhLd0pvbkdYS0tmMW1UTE5GUjE2b0YxU3N6QlZWZFNXc1FSSHNCTkdVCmMyZEYvRjZKaDBEV0JQZ2pINnJDOGhFNWFnQmY1Z09oa1hJVnJwZXo4cGtiUmRTampEbWpXWFkwMjkxY2lIRWUKdXlCWFh6MlVoeEJ6c2Y5QmVFUm5LTTBnQ2xLeEtid0dGTjRlc1djTzBEcEhlNm1YK3pnS3ZvSytIUHlVczhnUApkOU9wMU9zZWRIQ0NKWFl4TlIycWw0OFVBcmpENGYycHYxY2ZFekpORWpjb1FwbXlwSmtwUTRjbUZWMnREdjhhCksrS1NYajJvNEVwN1dJVFBEVWtuU3llN3pPamNPeFNmTG9XeWtldGcyZjZnSWVqemFJUm9XbVNkMlR0OHlwRUwKOVBkcXNKVWljbnkzOXNPcUNLYWxMeTRrdThWZ1FQMHVadDFPYW9FQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFGbU5NblhrCjN6YkhHeFNNRTR0bzJsWWJtQmZ1eGFpYlJhYnJpdExZMnEzUkpXNEhxNUVSZC80bm43TmRLWnZBbEh4ZXV2TTYKS1IxWTV1VGp3YjlZckp0VUI4eDlXR2w5R1RhVzNhZTlRZGR5Y1RHMEh6a1owWGFEcGp4ZExWcmVlWUYvRlBTQwp6djVjanhDUytqa3AzM1dGWm9nT2Z0Sjl1Nk9yKzNZV2NVeFBTV1JLeTZTSmVJN2pnWHlnM1hhZk9FbmI1bFJDCktSRit2dFk4cWhsT21uWnRSM1BaTDdsWGNDZGhqZFpRQ2Z2eTdaWVpmajIwckxJMFZVOWtoTFJVSWt2MDdJd0EKaEwwZkRXRVBnek9oM1JBOE1nMityT0EvUmJBVE45U0hCMEYzZXNpa2V6OUxmei82QjVLTitqRyt1TStEZjFxSwo1QlpSYnc1alNsQU9wZ2dBbzJhbDlBUVFIekdpRDRsQnpscy9wVFRFQXBERVVqempHWjY2WlhucTVrTDBjU0xmCmhwQjNPbDY4cldySVRxRDNSK2dJZDZXRGRWbVN6QXFxYnJVRHNQVXVjNWwvcFB6MWFBSjQrSlh1aFd2MzVXSXgKWTRscy9GY3VORks5bXhUS0dOeFdsWnh6aXpsK0tKenIrT09YaHAzQkhaTFpwRFFudmI4YnptZjRxNmFubGl1SQpsWmlRbEk4UUp6cWRpVEtNYTJ4dkMxTm5TS1ZNNHpISmZFWEliQ1ptMnkxQXNoQkRBSDFoczAyci9wdXlsM3QwCjdKcVQ3Y2VDanZESy9uRjQ3RUZ1c2tzV0dQMUJpRXlONExxbFJWeXB3MFA1MlFsMDJuRHFZbnlzSXZxS051RGIKQkJ2aUN3ajMzUGhCSldlWjNoNlBkaHNObUY2SVEwNjI3MVp4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", - "server": "https://fabricnlp9.germanynortheast.cloudapp.microsoftazure.de" - }, - "name": "fabricnlp9" - } - ], - "contexts": [ - { - "context": { - "cluster": "fabricnlp9", - "user": "fabricnlp9-admin" - }, - "name": "fabricnlp9" - } - ], - "current-context": "fabricnlp9", - "kind": "Config", - "users": [ - { - "name": "fabricnlp9-admin", - "user": {"client-certificate-data":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUw0bWp3MmNCMUp6L3cxa05meXY4SzR3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qRXdNRFF3TVRRNFdoY05NVGt4TWpFd01EUXdNVFE0V2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXlaRCtySURBem51NUlXekZVbjFuQ28zRHREdTAKVWRtcFY5V3huZkszK0tHSFF1cmhGaEtVa2h1UnNMUnptMVJ1L2VWM2xHM3B5eXl0ZzFOeEdtZDJ3TlNTMEsvRApQNjlRL0RkaGlZQ1FMMnJJZ2NGaGZaTU1DOFVhcFg5SlEzc1RpMVhtWjMzMTBhVkVGaksxRlR0Y1kyWjVPOC9GCmZMSDZ0ZGw2a1Mrd3dwWHNmeXJ3WkRzZWw0SjVaYmxsTml5Y1JOc1VKQTQ4SzRWdnFGT05pbmRUQS80N1ZITDcKY0dlbS9xTm9qRHpTRHVoL2xzY3IxU1F2bGR6eTJnMnlJUFJhOEorZUt2UThFWnFzclBjL2xXQmdDVEowcFkxQwo5ZFVqQXdTLy93MW0wd204NUQ0MGppbVVzTDc2Y29NVG9YQ3d0WEdhWnlQTjJZUVNhRHBFbHNBQm8xZG1zS0ZCCnYwb2dpdDNxcWRuenVMVlpubFhyTDYyYUs4Q1lCcWNybEFuUW4rM0c3Rnpva00rRFlpcExnSVB6RFRyaW1OMkkKUFdtYi90Unp2dFhkWSsybzFEaGR2RHU4ZmM3ZUZnemZCcUZnWVpDOXlISjBka28vY3JtSTJMaXlud0Zwak82UgpCT204cHBWSzg4THJ4OWx3MTh4ZExkRklkZDgrUThJeHFVdEJzSVJiY2pSVVVyUlBXWnFXNjNCQ1NTK3ZjbE5pCnk3Q25NYkVKR0YrL29nSWNVYnFOb0tDRGc2Q0U1L3VyZENGcEc1MTBZejVvZHdxblJxZ2hUczE5US9XMjlibUIKVUlyUmhOdCtPRjBRYVZnVVZhSk9Pam5iL0tQb0lvKytkZUZjSjdJZFk4OVFEYkFYcEpCQjA5NXRsYkdNU3BJNQpPTTRwc2M2NGpHeURXbmNDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVkRGpmTkYKY0RXeHdaMm02YnB3TmdIUkVTdk80WVhhSng2WjlKbDRIeGhFMTJJOFpYSWdWemQ1ZHFmTk54SEkvODFXWHdsLwo3RmdESjBmKy9Ca2xaeEtDeWVpd2dwOHQvRDBLdFQ2Ny9ndTM0QnAxWEpVMnJoRkczREZhR2ZLUlRZVzZlUXFnCnFORHpaSFpKY0JuUEI1WjdxVkVPOGlBSk5PSzJqZDNXcGQycnhuUWJBU0hpbXVIc04vUVEvU084ekpNSEZZVCsKZ0lNM0NCR0gzUVQ3d1JSa3hxWEhkOVgrTkVtZ2pmL1laUm1GTDMrR3hGc0NZczhzcmQ5LzBCOXRoUDBBTDhzRApWNk1ybGVBVXZVdE41dUJQR1BDSW1raVA2d2xNZDdyamhmaUhWZTNyWEFvTmZwWitGZ3g5OUJuVHBMUXFhYTZMCldJQzNNbXpJZmVHZTNuZExHODE0Vi81YU9XeE53VzEvZFAzMThlK0d2dENHeUNSYUdBNnRsTThkdGtJU1licmgKYjJWVWlneEI5OGVMS0pTdU8rSDdZRENLbGRXWnpYeU9WODNYZWswVlZpWDl1TVRyWVQ0TU14M1ZTd2xBSXc3Vgp2eW5Ub2ViQlc2OERnV0FXMjRoR1FDVmd2WHpnUDBJdlpsUlhmMGZXRWpKWklQdHFnbnp3bVpmbkF1WkhKcGNZCjc2eUVJMTM1WXh5d1VPOGR5SEJsMEFIcldvZWZsY0ZtNjloRk9zZk1SdGxVTUhDeVhWdHFwRXp3dFYvVWZBVU0KaEp0L2pvREJTQUE1cHFud0I2SCtpNkpYOGlUcGt4SEt4UnNWaE5CQVRkelN5MERPejhPVm01cllKWnlqQlhRbApXL3ZOUDVlTGVwdk9xUm4zRFBqdy92SkFHMGl6d09MVTZVWUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=","client-key-data":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeVpEK3JJREF6bnU1SVd6RlVuMW5DbzNEdER1MFVkbXBWOVd4bmZLMytLR0hRdXJoCkZoS1VraHVSc0xSem0xUnUvZVYzbEczcHl5eXRnMU54R21kMndOU1MwSy9EUDY5US9EZGhpWUNRTDJySWdjRmgKZlpNTUM4VWFwWDlKUTNzVGkxWG1aMzMxMGFWRUZqSzFGVHRjWTJaNU84L0ZmTEg2dGRsNmtTK3d3cFhzZnlydwpaRHNlbDRKNVpibGxOaXljUk5zVUpBNDhLNFZ2cUZPTmluZFRBLzQ3VkhMN2NHZW0vcU5vakR6U0R1aC9sc2NyCjFTUXZsZHp5MmcyeUlQUmE4SitlS3ZROEVacXNyUGMvbFdCZ0NUSjBwWTFDOWRVakF3Uy8vdzFtMHdtODVENDAKamltVXNMNzZjb01Ub1hDd3RYR2FaeVBOMllRU2FEcEVsc0FCbzFkbXNLRkJ2MG9naXQzcXFkbnp1TFZabmxYcgpMNjJhSzhDWUJxY3JsQW5RbiszRzdGem9rTStEWWlwTGdJUHpEVHJpbU4ySVBXbWIvdFJ6dnRYZFkrMm8xRGhkCnZEdThmYzdlRmd6ZkJxRmdZWkM5eUhKMGRrby9jcm1JMkxpeW53RnBqTzZSQk9tOHBwVks4OExyeDlsdzE4eGQKTGRGSWRkOCtROEl4cVV0QnNJUmJjalJVVXJSUFdacVc2M0JDU1MrdmNsTml5N0NuTWJFSkdGKy9vZ0ljVWJxTgpvS0NEZzZDRTUvdXJkQ0ZwRzUxMFl6NW9kd3FuUnFnaFRzMTlRL1cyOWJtQlVJclJoTnQrT0YwUWFWZ1VWYUpPCk9qbmIvS1BvSW8rK2RlRmNKN0lkWTg5UURiQVhwSkJCMDk1dGxiR01TcEk1T000cHNjNjRqR3lEV25jQ0F3RUEKQVFLQ0FnRUFqOVpQVm13ZXFucHh0dDkyeEJIRzZTb1c0TlBHTHE2RGdMRjJxVDdlZDZkVTdiVE00TUpya1FQcAphRTZ0UE1mNDJHZmFlR29pN3lDM3hVSlRNTU5xWTlxTjFpdkd5ZmhpYzBsVjZoaDdTOHNJd0VkdU9YMG9tSEdVClBVdGl6YXZUVzVmMTdoNWR2N2dPcVVTUUlsR1U4VDNiLzRtWjVRemcyc29TQSs4alZRaEZsczNlYzdnWWNZZmkKOTJ0Z1JWTjZSRXlOeDlqOHFSWDBnd3Iwc3ozSldNMGdLM2hONDMya0Zvd25mQU9lNXBLVkVkU1plK1R4ckNEYQprQzQ3MGZadHVzNDh3V3crUFZYQ0tUL2ErTTZvV1lmTzQ2QzFpdFlJd1F1dnN1TXVZQ1RQelpSeVRveHZsZDBDCnZacTU5SGVGTWtXYUtFWE5qSTRKMEtUYjh6T2JObDZ0ajhVYnl6eFNKRVlVNWc4ajNNdEFXalRqUzhNWHpsNlgKakN3aEFGNnNUOTFZeW5Mc3Z1RVZSbTBsZHB0UkIwcExHMjgwci94ODhaSFlDR0YwdnI4TGRLei80MDBhdFFMWQprZGI5RUNDa2pPbVdIdmZVVlZPMjZBeVljWnA1b0k0clhYdGlEVHU4V0dVakhzUzBWc3ljZERqRXRBbzlYYndtCnpONGxMQmE5VFdvRDI5TlNmaUdlYTd1bzFlZ0h3WDlXbWdyUU5rdkM5cmJSTTZ6Z2xzbzRkWCtkQW9uaFRNbVMKQmRLYVhybzUrdFVSK09SditFUG5tZHpYb01uaGlibWRZYVZoc0xTY2FsaSs4MmZZdGJGQllCd1RtWHdZL0NzUAoxSW04Vkx2VDZQVkRUZ2Fjc2JMRVRZemhoNmhFMXQ3Y1F6TE83Zk4xbjJURnJjcEhKZGtDZ2dFQkFQS1ptbnBnClB1VWJubi9OK3R5clh2SGYvNUhHTUdwaTUvME56SnJDSG11ZmN4Q2lUVUgyekNqNE50T0VkRGgzaDZrUkFmc2MKc2xLZGZuWTdxM3lDdDdQRFNiaVY0WSttTndsU0pqM3czOGcxSW9YTkJFbG5rak5aM2hYd3FNSDNsMmZ4bDdHSgpwMUNxUWlHcXZQeEFERzVQREtYalFEUm5hRXBQWUVVem5vTjR3ZUlVeFZWTzhUSnNZaS9XTlNhSSsydThqZWtsCm1yMHVaZlhhaFZZcWtYdjM4QkZFSWtZcWtjTHBycWdPQ2JTQi9OTG14RTcyNTM4OFlHM1JHU1doa1d4ZmNYUFQKUmZkblIxcEErYUhrZkNOTFF0K0lGNzl6MzBQUEJjcmdYR0E4ZUhrRisvenhqRHV1SVdGMGMzb0lKbFZBclRjKwprd2dka3BUSk1CNko0d3NDZ2dFQkFOU3pLNkRDdWFLUTh2VUFHbks4ekZsYk8xZHpmQVhJdmtOWW1JVUV1RDQ4ClRtcGZheE96aVRSWEFWbjhZY3lReTdCbnFpRU95cTltYmZBOUhFSUkxS2hxSEV6MzYxUllXS200S1pmOUk0YjUKVTRsVUJ4bjhBaXNqWHk3bldGRnk4dGZwQ21ic1pjaGJxOStBNTAwQm52dEszWkE5SVU4ZWwxNThncXUrdnQrcQpZdjlONVhMcUVhTHNudDY1NU5iU2RZbmhjZGZTRDE1WlptL2dtR2JHVmx5VHUranAxMHkyZFVDQ3VHdzRIOENHClAxOHpBc1c2TjlCNlJCWk1LLzNNSHVkQi9IblJQUUZ5TkgvVFNQbFlFaTFxeWIzTXU3SU94MHdlUXBSMlVtNjcKdHdpTUN2VHNGOUpOSDNEcElHR0djUzliNlFoRVh6a3BTYmZvRVBIc3ljVUNnZ0VCQU45L3hZS0NrczhOdjlycwpqL1dtWjhVYjRWNlNJTjZTR2puVzhhMk5zdXJocmVjZ0wxN2JHTUdSMHlqUXVTV2djVG0vc254K3RvWklGRTZtCnNGajRNSGVMTGFyQllsbXQvcncyazRhekYrZGhsRm1DUkRYQUZqLzZ4aENlYzBxbmFEUlpyYS9oS21TMVJsR3YKODRYTkYrYTBLdW5WVDd3M25Dd0JycVp5Wk5Hb2VhNW9CbGlPYnNWT2RyS3RmSy93dVBoTGNNM2ZXQXg3NTNFMQpqV3VSc2hCc25oMjZFSDFtRUgxcVBmOFRWN3VWbWE5TzdJSDNFOVR6Y2I4YVNUbVMvTi9EbWtqajFteVVHSGM4CnJ2NkgraG1sNTRqNTN5OEJlQ29IV3NYS0p6Qjk1VnRSdVJJU0VtaVZCcW02MS93UDhBalFtZ1B3UVJMVDg4dmgKQWRUUW9Yc0NnZ0VBUmFiS2thRlNrdGF1aU9aWXd0dnFleFJ5RVVnakErM2h5RUg1NkExTW5DeTViUUlFR1hhQQpacUJiTS9GK3dUTmxVRVlTSXpNcDBsaFRoZ2tzK0w3VmpMVDZ3WVdxRFh2RXhRY21yN3ZZWjNtOERrdHk2K0puCmYyTGM1NG9nbE1OMG5KbVdxMitjUVFrcjlrdks4cCttUlJvV0JnYk9vbzhjK0hjRGYyUStNeFlqeHdEbU0wUk4KTkRJU01GTmxpYWR2a0JCQWJIRkFVU0FyZUZWdThyRGVWUUNYMTBURUdUM2lsWlo0K0E5RTdwSEhyTkFTaDFkYwpzYXRvSW5rZEtzWXVGSUs2UDlYeUNVZ3h3dTRZaG5aOXRWdXo1ckJsZ29CdWFSRzdzY3d4WUV1ZU8zRklvVDJ5CjYwNFFEclI0d3hiNGQ0NjhkOVdUN1M4RkVmRXZvMWxzRlFLQ0FRRUFrNmlpMFlmTGkvNnk4TVQ5dDgrZ1FqazYKTkhWZkRzYnc5c1hKWXZWWGswb0tUN1lBTVBmcnlkS0F0akZ5YlBBcGFDS3dPQlpqcFBySGh0Vy9HdkVub3VpRworQkVIM2x2S0NOUzBlQUVUVC8rNzlNTmVRRjBOazZhb2ZGNFRBei8yaWduMTJESXY5c1Y4NFJVc1VMVmw5bHlGCkpmdktLb1E1ZEg4WnhPQW9HVEVRRDhJdG0ra0FqdmppYnM4RFlnREp2VVRGZnFYcUtxOVJTK2VLS1VZWUM3VGYKejRub0Mvb0c3ZlA1cEpna0dlNU1EbFhHb05GUFNXZzJKVzRPbU1YZmV3WW80MmNOQnhsc0ROUXFYSnFSdXAyRwplT2xNaXU2SmRsak9CRFc5RG8xbHhVaG9JOG9SdW5JRVVGdEN5MUdFWHpYaWdOQ21vbE1qQjUveDJYTzFvZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="} - } - ] -} diff --git a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.japaneast.json b/azure/_output/fabricnlp9/kubeconfig/kubeconfig.japaneast.json deleted file mode 100644 index ce53d91..0000000 --- a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.japaneast.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "apiVersion": "v1", - "clusters": [ - { - "cluster": { - "certificate-authority-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRVkZsMU1sZDA5L0xUazJRMk5JWG1GREFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1UQXdOREF4TkRaYUZ3MHhPVEV5TVRBd05EQXhORFphTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFzZmxGCmNvZCtwMTB4REdUM2ZXWm12K21OYXRhU2w4MFAzNTkrQ3JFWEY5OHYzaHdsQyt6eGpFRXhpZEdHSkdBcWpIc3QKdFlOREg5aG81bHdSWTROamJKcUJJZ3cvcDZ5RXB5WGg1MVliRFA2dDd6bHp3UVMyRjlJKzJ5aG02TWd3V3dSTQpkTmxHb1pzamFrbFJucTBWbXZ6eVk4WGVCVi84TllRb0QzNE1OdVZXVjZ0R0daeWZpdDFFT3YydCtqTnNLdXBRCm4xRGh4RGJkNE9LT3hvaC9md1hnL0tHU1gwWlRyUUY1eUV4c1VOaFdyQncrQnZ0Q2twdHc2aU1hT1Vhb0tVaDkKczVrTTA3clhCY0xmU2FuZ0FBVHZTMWQzNWZmaENZQmxseGl4Sk11QWFMcFNLaHlzekR2Z1BEV2dnUjcvRVZZUApaSDlMSlgwL20vT25DcFl2eURkUE0zeEhLd0pvbkdYS0tmMW1UTE5GUjE2b0YxU3N6QlZWZFNXc1FSSHNCTkdVCmMyZEYvRjZKaDBEV0JQZ2pINnJDOGhFNWFnQmY1Z09oa1hJVnJwZXo4cGtiUmRTampEbWpXWFkwMjkxY2lIRWUKdXlCWFh6MlVoeEJ6c2Y5QmVFUm5LTTBnQ2xLeEtid0dGTjRlc1djTzBEcEhlNm1YK3pnS3ZvSytIUHlVczhnUApkOU9wMU9zZWRIQ0NKWFl4TlIycWw0OFVBcmpENGYycHYxY2ZFekpORWpjb1FwbXlwSmtwUTRjbUZWMnREdjhhCksrS1NYajJvNEVwN1dJVFBEVWtuU3llN3pPamNPeFNmTG9XeWtldGcyZjZnSWVqemFJUm9XbVNkMlR0OHlwRUwKOVBkcXNKVWljbnkzOXNPcUNLYWxMeTRrdThWZ1FQMHVadDFPYW9FQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFGbU5NblhrCjN6YkhHeFNNRTR0bzJsWWJtQmZ1eGFpYlJhYnJpdExZMnEzUkpXNEhxNUVSZC80bm43TmRLWnZBbEh4ZXV2TTYKS1IxWTV1VGp3YjlZckp0VUI4eDlXR2w5R1RhVzNhZTlRZGR5Y1RHMEh6a1owWGFEcGp4ZExWcmVlWUYvRlBTQwp6djVjanhDUytqa3AzM1dGWm9nT2Z0Sjl1Nk9yKzNZV2NVeFBTV1JLeTZTSmVJN2pnWHlnM1hhZk9FbmI1bFJDCktSRit2dFk4cWhsT21uWnRSM1BaTDdsWGNDZGhqZFpRQ2Z2eTdaWVpmajIwckxJMFZVOWtoTFJVSWt2MDdJd0EKaEwwZkRXRVBnek9oM1JBOE1nMityT0EvUmJBVE45U0hCMEYzZXNpa2V6OUxmei82QjVLTitqRyt1TStEZjFxSwo1QlpSYnc1alNsQU9wZ2dBbzJhbDlBUVFIekdpRDRsQnpscy9wVFRFQXBERVVqempHWjY2WlhucTVrTDBjU0xmCmhwQjNPbDY4cldySVRxRDNSK2dJZDZXRGRWbVN6QXFxYnJVRHNQVXVjNWwvcFB6MWFBSjQrSlh1aFd2MzVXSXgKWTRscy9GY3VORks5bXhUS0dOeFdsWnh6aXpsK0tKenIrT09YaHAzQkhaTFpwRFFudmI4YnptZjRxNmFubGl1SQpsWmlRbEk4UUp6cWRpVEtNYTJ4dkMxTm5TS1ZNNHpISmZFWEliQ1ptMnkxQXNoQkRBSDFoczAyci9wdXlsM3QwCjdKcVQ3Y2VDanZESy9uRjQ3RUZ1c2tzV0dQMUJpRXlONExxbFJWeXB3MFA1MlFsMDJuRHFZbnlzSXZxS051RGIKQkJ2aUN3ajMzUGhCSldlWjNoNlBkaHNObUY2SVEwNjI3MVp4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", - "server": "https://fabricnlp9.japaneast.cloudapp.azure.com" - }, - "name": "fabricnlp9" - } - ], - "contexts": [ - { - "context": { - "cluster": "fabricnlp9", - "user": "fabricnlp9-admin" - }, - "name": "fabricnlp9" - } - ], - "current-context": "fabricnlp9", - "kind": "Config", - "users": [ - { - "name": "fabricnlp9-admin", - "user": {"client-certificate-data":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUw0bWp3MmNCMUp6L3cxa05meXY4SzR3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qRXdNRFF3TVRRNFdoY05NVGt4TWpFd01EUXdNVFE0V2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXlaRCtySURBem51NUlXekZVbjFuQ28zRHREdTAKVWRtcFY5V3huZkszK0tHSFF1cmhGaEtVa2h1UnNMUnptMVJ1L2VWM2xHM3B5eXl0ZzFOeEdtZDJ3TlNTMEsvRApQNjlRL0RkaGlZQ1FMMnJJZ2NGaGZaTU1DOFVhcFg5SlEzc1RpMVhtWjMzMTBhVkVGaksxRlR0Y1kyWjVPOC9GCmZMSDZ0ZGw2a1Mrd3dwWHNmeXJ3WkRzZWw0SjVaYmxsTml5Y1JOc1VKQTQ4SzRWdnFGT05pbmRUQS80N1ZITDcKY0dlbS9xTm9qRHpTRHVoL2xzY3IxU1F2bGR6eTJnMnlJUFJhOEorZUt2UThFWnFzclBjL2xXQmdDVEowcFkxQwo5ZFVqQXdTLy93MW0wd204NUQ0MGppbVVzTDc2Y29NVG9YQ3d0WEdhWnlQTjJZUVNhRHBFbHNBQm8xZG1zS0ZCCnYwb2dpdDNxcWRuenVMVlpubFhyTDYyYUs4Q1lCcWNybEFuUW4rM0c3Rnpva00rRFlpcExnSVB6RFRyaW1OMkkKUFdtYi90Unp2dFhkWSsybzFEaGR2RHU4ZmM3ZUZnemZCcUZnWVpDOXlISjBka28vY3JtSTJMaXlud0Zwak82UgpCT204cHBWSzg4THJ4OWx3MTh4ZExkRklkZDgrUThJeHFVdEJzSVJiY2pSVVVyUlBXWnFXNjNCQ1NTK3ZjbE5pCnk3Q25NYkVKR0YrL29nSWNVYnFOb0tDRGc2Q0U1L3VyZENGcEc1MTBZejVvZHdxblJxZ2hUczE5US9XMjlibUIKVUlyUmhOdCtPRjBRYVZnVVZhSk9Pam5iL0tQb0lvKytkZUZjSjdJZFk4OVFEYkFYcEpCQjA5NXRsYkdNU3BJNQpPTTRwc2M2NGpHeURXbmNDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVkRGpmTkYKY0RXeHdaMm02YnB3TmdIUkVTdk80WVhhSng2WjlKbDRIeGhFMTJJOFpYSWdWemQ1ZHFmTk54SEkvODFXWHdsLwo3RmdESjBmKy9Ca2xaeEtDeWVpd2dwOHQvRDBLdFQ2Ny9ndTM0QnAxWEpVMnJoRkczREZhR2ZLUlRZVzZlUXFnCnFORHpaSFpKY0JuUEI1WjdxVkVPOGlBSk5PSzJqZDNXcGQycnhuUWJBU0hpbXVIc04vUVEvU084ekpNSEZZVCsKZ0lNM0NCR0gzUVQ3d1JSa3hxWEhkOVgrTkVtZ2pmL1laUm1GTDMrR3hGc0NZczhzcmQ5LzBCOXRoUDBBTDhzRApWNk1ybGVBVXZVdE41dUJQR1BDSW1raVA2d2xNZDdyamhmaUhWZTNyWEFvTmZwWitGZ3g5OUJuVHBMUXFhYTZMCldJQzNNbXpJZmVHZTNuZExHODE0Vi81YU9XeE53VzEvZFAzMThlK0d2dENHeUNSYUdBNnRsTThkdGtJU1licmgKYjJWVWlneEI5OGVMS0pTdU8rSDdZRENLbGRXWnpYeU9WODNYZWswVlZpWDl1TVRyWVQ0TU14M1ZTd2xBSXc3Vgp2eW5Ub2ViQlc2OERnV0FXMjRoR1FDVmd2WHpnUDBJdlpsUlhmMGZXRWpKWklQdHFnbnp3bVpmbkF1WkhKcGNZCjc2eUVJMTM1WXh5d1VPOGR5SEJsMEFIcldvZWZsY0ZtNjloRk9zZk1SdGxVTUhDeVhWdHFwRXp3dFYvVWZBVU0KaEp0L2pvREJTQUE1cHFud0I2SCtpNkpYOGlUcGt4SEt4UnNWaE5CQVRkelN5MERPejhPVm01cllKWnlqQlhRbApXL3ZOUDVlTGVwdk9xUm4zRFBqdy92SkFHMGl6d09MVTZVWUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=","client-key-data":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeVpEK3JJREF6bnU1SVd6RlVuMW5DbzNEdER1MFVkbXBWOVd4bmZLMytLR0hRdXJoCkZoS1VraHVSc0xSem0xUnUvZVYzbEczcHl5eXRnMU54R21kMndOU1MwSy9EUDY5US9EZGhpWUNRTDJySWdjRmgKZlpNTUM4VWFwWDlKUTNzVGkxWG1aMzMxMGFWRUZqSzFGVHRjWTJaNU84L0ZmTEg2dGRsNmtTK3d3cFhzZnlydwpaRHNlbDRKNVpibGxOaXljUk5zVUpBNDhLNFZ2cUZPTmluZFRBLzQ3VkhMN2NHZW0vcU5vakR6U0R1aC9sc2NyCjFTUXZsZHp5MmcyeUlQUmE4SitlS3ZROEVacXNyUGMvbFdCZ0NUSjBwWTFDOWRVakF3Uy8vdzFtMHdtODVENDAKamltVXNMNzZjb01Ub1hDd3RYR2FaeVBOMllRU2FEcEVsc0FCbzFkbXNLRkJ2MG9naXQzcXFkbnp1TFZabmxYcgpMNjJhSzhDWUJxY3JsQW5RbiszRzdGem9rTStEWWlwTGdJUHpEVHJpbU4ySVBXbWIvdFJ6dnRYZFkrMm8xRGhkCnZEdThmYzdlRmd6ZkJxRmdZWkM5eUhKMGRrby9jcm1JMkxpeW53RnBqTzZSQk9tOHBwVks4OExyeDlsdzE4eGQKTGRGSWRkOCtROEl4cVV0QnNJUmJjalJVVXJSUFdacVc2M0JDU1MrdmNsTml5N0NuTWJFSkdGKy9vZ0ljVWJxTgpvS0NEZzZDRTUvdXJkQ0ZwRzUxMFl6NW9kd3FuUnFnaFRzMTlRL1cyOWJtQlVJclJoTnQrT0YwUWFWZ1VWYUpPCk9qbmIvS1BvSW8rK2RlRmNKN0lkWTg5UURiQVhwSkJCMDk1dGxiR01TcEk1T000cHNjNjRqR3lEV25jQ0F3RUEKQVFLQ0FnRUFqOVpQVm13ZXFucHh0dDkyeEJIRzZTb1c0TlBHTHE2RGdMRjJxVDdlZDZkVTdiVE00TUpya1FQcAphRTZ0UE1mNDJHZmFlR29pN3lDM3hVSlRNTU5xWTlxTjFpdkd5ZmhpYzBsVjZoaDdTOHNJd0VkdU9YMG9tSEdVClBVdGl6YXZUVzVmMTdoNWR2N2dPcVVTUUlsR1U4VDNiLzRtWjVRemcyc29TQSs4alZRaEZsczNlYzdnWWNZZmkKOTJ0Z1JWTjZSRXlOeDlqOHFSWDBnd3Iwc3ozSldNMGdLM2hONDMya0Zvd25mQU9lNXBLVkVkU1plK1R4ckNEYQprQzQ3MGZadHVzNDh3V3crUFZYQ0tUL2ErTTZvV1lmTzQ2QzFpdFlJd1F1dnN1TXVZQ1RQelpSeVRveHZsZDBDCnZacTU5SGVGTWtXYUtFWE5qSTRKMEtUYjh6T2JObDZ0ajhVYnl6eFNKRVlVNWc4ajNNdEFXalRqUzhNWHpsNlgKakN3aEFGNnNUOTFZeW5Mc3Z1RVZSbTBsZHB0UkIwcExHMjgwci94ODhaSFlDR0YwdnI4TGRLei80MDBhdFFMWQprZGI5RUNDa2pPbVdIdmZVVlZPMjZBeVljWnA1b0k0clhYdGlEVHU4V0dVakhzUzBWc3ljZERqRXRBbzlYYndtCnpONGxMQmE5VFdvRDI5TlNmaUdlYTd1bzFlZ0h3WDlXbWdyUU5rdkM5cmJSTTZ6Z2xzbzRkWCtkQW9uaFRNbVMKQmRLYVhybzUrdFVSK09SditFUG5tZHpYb01uaGlibWRZYVZoc0xTY2FsaSs4MmZZdGJGQllCd1RtWHdZL0NzUAoxSW04Vkx2VDZQVkRUZ2Fjc2JMRVRZemhoNmhFMXQ3Y1F6TE83Zk4xbjJURnJjcEhKZGtDZ2dFQkFQS1ptbnBnClB1VWJubi9OK3R5clh2SGYvNUhHTUdwaTUvME56SnJDSG11ZmN4Q2lUVUgyekNqNE50T0VkRGgzaDZrUkFmc2MKc2xLZGZuWTdxM3lDdDdQRFNiaVY0WSttTndsU0pqM3czOGcxSW9YTkJFbG5rak5aM2hYd3FNSDNsMmZ4bDdHSgpwMUNxUWlHcXZQeEFERzVQREtYalFEUm5hRXBQWUVVem5vTjR3ZUlVeFZWTzhUSnNZaS9XTlNhSSsydThqZWtsCm1yMHVaZlhhaFZZcWtYdjM4QkZFSWtZcWtjTHBycWdPQ2JTQi9OTG14RTcyNTM4OFlHM1JHU1doa1d4ZmNYUFQKUmZkblIxcEErYUhrZkNOTFF0K0lGNzl6MzBQUEJjcmdYR0E4ZUhrRisvenhqRHV1SVdGMGMzb0lKbFZBclRjKwprd2dka3BUSk1CNko0d3NDZ2dFQkFOU3pLNkRDdWFLUTh2VUFHbks4ekZsYk8xZHpmQVhJdmtOWW1JVUV1RDQ4ClRtcGZheE96aVRSWEFWbjhZY3lReTdCbnFpRU95cTltYmZBOUhFSUkxS2hxSEV6MzYxUllXS200S1pmOUk0YjUKVTRsVUJ4bjhBaXNqWHk3bldGRnk4dGZwQ21ic1pjaGJxOStBNTAwQm52dEszWkE5SVU4ZWwxNThncXUrdnQrcQpZdjlONVhMcUVhTHNudDY1NU5iU2RZbmhjZGZTRDE1WlptL2dtR2JHVmx5VHUranAxMHkyZFVDQ3VHdzRIOENHClAxOHpBc1c2TjlCNlJCWk1LLzNNSHVkQi9IblJQUUZ5TkgvVFNQbFlFaTFxeWIzTXU3SU94MHdlUXBSMlVtNjcKdHdpTUN2VHNGOUpOSDNEcElHR0djUzliNlFoRVh6a3BTYmZvRVBIc3ljVUNnZ0VCQU45L3hZS0NrczhOdjlycwpqL1dtWjhVYjRWNlNJTjZTR2puVzhhMk5zdXJocmVjZ0wxN2JHTUdSMHlqUXVTV2djVG0vc254K3RvWklGRTZtCnNGajRNSGVMTGFyQllsbXQvcncyazRhekYrZGhsRm1DUkRYQUZqLzZ4aENlYzBxbmFEUlpyYS9oS21TMVJsR3YKODRYTkYrYTBLdW5WVDd3M25Dd0JycVp5Wk5Hb2VhNW9CbGlPYnNWT2RyS3RmSy93dVBoTGNNM2ZXQXg3NTNFMQpqV3VSc2hCc25oMjZFSDFtRUgxcVBmOFRWN3VWbWE5TzdJSDNFOVR6Y2I4YVNUbVMvTi9EbWtqajFteVVHSGM4CnJ2NkgraG1sNTRqNTN5OEJlQ29IV3NYS0p6Qjk1VnRSdVJJU0VtaVZCcW02MS93UDhBalFtZ1B3UVJMVDg4dmgKQWRUUW9Yc0NnZ0VBUmFiS2thRlNrdGF1aU9aWXd0dnFleFJ5RVVnakErM2h5RUg1NkExTW5DeTViUUlFR1hhQQpacUJiTS9GK3dUTmxVRVlTSXpNcDBsaFRoZ2tzK0w3VmpMVDZ3WVdxRFh2RXhRY21yN3ZZWjNtOERrdHk2K0puCmYyTGM1NG9nbE1OMG5KbVdxMitjUVFrcjlrdks4cCttUlJvV0JnYk9vbzhjK0hjRGYyUStNeFlqeHdEbU0wUk4KTkRJU01GTmxpYWR2a0JCQWJIRkFVU0FyZUZWdThyRGVWUUNYMTBURUdUM2lsWlo0K0E5RTdwSEhyTkFTaDFkYwpzYXRvSW5rZEtzWXVGSUs2UDlYeUNVZ3h3dTRZaG5aOXRWdXo1ckJsZ29CdWFSRzdzY3d4WUV1ZU8zRklvVDJ5CjYwNFFEclI0d3hiNGQ0NjhkOVdUN1M4RkVmRXZvMWxzRlFLQ0FRRUFrNmlpMFlmTGkvNnk4TVQ5dDgrZ1FqazYKTkhWZkRzYnc5c1hKWXZWWGswb0tUN1lBTVBmcnlkS0F0akZ5YlBBcGFDS3dPQlpqcFBySGh0Vy9HdkVub3VpRworQkVIM2x2S0NOUzBlQUVUVC8rNzlNTmVRRjBOazZhb2ZGNFRBei8yaWduMTJESXY5c1Y4NFJVc1VMVmw5bHlGCkpmdktLb1E1ZEg4WnhPQW9HVEVRRDhJdG0ra0FqdmppYnM4RFlnREp2VVRGZnFYcUtxOVJTK2VLS1VZWUM3VGYKejRub0Mvb0c3ZlA1cEpna0dlNU1EbFhHb05GUFNXZzJKVzRPbU1YZmV3WW80MmNOQnhsc0ROUXFYSnFSdXAyRwplT2xNaXU2SmRsak9CRFc5RG8xbHhVaG9JOG9SdW5JRVVGdEN5MUdFWHpYaWdOQ21vbE1qQjUveDJYTzFvZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="} - } - ] -} diff --git a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.japanwest.json b/azure/_output/fabricnlp9/kubeconfig/kubeconfig.japanwest.json deleted file mode 100644 index f0c01f6..0000000 --- a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.japanwest.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "apiVersion": "v1", - "clusters": [ - { - "cluster": { - "certificate-authority-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRVkZsMU1sZDA5L0xUazJRMk5JWG1GREFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1UQXdOREF4TkRaYUZ3MHhPVEV5TVRBd05EQXhORFphTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFzZmxGCmNvZCtwMTB4REdUM2ZXWm12K21OYXRhU2w4MFAzNTkrQ3JFWEY5OHYzaHdsQyt6eGpFRXhpZEdHSkdBcWpIc3QKdFlOREg5aG81bHdSWTROamJKcUJJZ3cvcDZ5RXB5WGg1MVliRFA2dDd6bHp3UVMyRjlJKzJ5aG02TWd3V3dSTQpkTmxHb1pzamFrbFJucTBWbXZ6eVk4WGVCVi84TllRb0QzNE1OdVZXVjZ0R0daeWZpdDFFT3YydCtqTnNLdXBRCm4xRGh4RGJkNE9LT3hvaC9md1hnL0tHU1gwWlRyUUY1eUV4c1VOaFdyQncrQnZ0Q2twdHc2aU1hT1Vhb0tVaDkKczVrTTA3clhCY0xmU2FuZ0FBVHZTMWQzNWZmaENZQmxseGl4Sk11QWFMcFNLaHlzekR2Z1BEV2dnUjcvRVZZUApaSDlMSlgwL20vT25DcFl2eURkUE0zeEhLd0pvbkdYS0tmMW1UTE5GUjE2b0YxU3N6QlZWZFNXc1FSSHNCTkdVCmMyZEYvRjZKaDBEV0JQZ2pINnJDOGhFNWFnQmY1Z09oa1hJVnJwZXo4cGtiUmRTampEbWpXWFkwMjkxY2lIRWUKdXlCWFh6MlVoeEJ6c2Y5QmVFUm5LTTBnQ2xLeEtid0dGTjRlc1djTzBEcEhlNm1YK3pnS3ZvSytIUHlVczhnUApkOU9wMU9zZWRIQ0NKWFl4TlIycWw0OFVBcmpENGYycHYxY2ZFekpORWpjb1FwbXlwSmtwUTRjbUZWMnREdjhhCksrS1NYajJvNEVwN1dJVFBEVWtuU3llN3pPamNPeFNmTG9XeWtldGcyZjZnSWVqemFJUm9XbVNkMlR0OHlwRUwKOVBkcXNKVWljbnkzOXNPcUNLYWxMeTRrdThWZ1FQMHVadDFPYW9FQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFGbU5NblhrCjN6YkhHeFNNRTR0bzJsWWJtQmZ1eGFpYlJhYnJpdExZMnEzUkpXNEhxNUVSZC80bm43TmRLWnZBbEh4ZXV2TTYKS1IxWTV1VGp3YjlZckp0VUI4eDlXR2w5R1RhVzNhZTlRZGR5Y1RHMEh6a1owWGFEcGp4ZExWcmVlWUYvRlBTQwp6djVjanhDUytqa3AzM1dGWm9nT2Z0Sjl1Nk9yKzNZV2NVeFBTV1JLeTZTSmVJN2pnWHlnM1hhZk9FbmI1bFJDCktSRit2dFk4cWhsT21uWnRSM1BaTDdsWGNDZGhqZFpRQ2Z2eTdaWVpmajIwckxJMFZVOWtoTFJVSWt2MDdJd0EKaEwwZkRXRVBnek9oM1JBOE1nMityT0EvUmJBVE45U0hCMEYzZXNpa2V6OUxmei82QjVLTitqRyt1TStEZjFxSwo1QlpSYnc1alNsQU9wZ2dBbzJhbDlBUVFIekdpRDRsQnpscy9wVFRFQXBERVVqempHWjY2WlhucTVrTDBjU0xmCmhwQjNPbDY4cldySVRxRDNSK2dJZDZXRGRWbVN6QXFxYnJVRHNQVXVjNWwvcFB6MWFBSjQrSlh1aFd2MzVXSXgKWTRscy9GY3VORks5bXhUS0dOeFdsWnh6aXpsK0tKenIrT09YaHAzQkhaTFpwRFFudmI4YnptZjRxNmFubGl1SQpsWmlRbEk4UUp6cWRpVEtNYTJ4dkMxTm5TS1ZNNHpISmZFWEliQ1ptMnkxQXNoQkRBSDFoczAyci9wdXlsM3QwCjdKcVQ3Y2VDanZESy9uRjQ3RUZ1c2tzV0dQMUJpRXlONExxbFJWeXB3MFA1MlFsMDJuRHFZbnlzSXZxS051RGIKQkJ2aUN3ajMzUGhCSldlWjNoNlBkaHNObUY2SVEwNjI3MVp4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", - "server": "https://fabricnlp9.japanwest.cloudapp.azure.com" - }, - "name": "fabricnlp9" - } - ], - "contexts": [ - { - "context": { - "cluster": "fabricnlp9", - "user": "fabricnlp9-admin" - }, - "name": "fabricnlp9" - } - ], - "current-context": "fabricnlp9", - "kind": "Config", - "users": [ - { - "name": "fabricnlp9-admin", - "user": {"client-certificate-data":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUw0bWp3MmNCMUp6L3cxa05meXY4SzR3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qRXdNRFF3TVRRNFdoY05NVGt4TWpFd01EUXdNVFE0V2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXlaRCtySURBem51NUlXekZVbjFuQ28zRHREdTAKVWRtcFY5V3huZkszK0tHSFF1cmhGaEtVa2h1UnNMUnptMVJ1L2VWM2xHM3B5eXl0ZzFOeEdtZDJ3TlNTMEsvRApQNjlRL0RkaGlZQ1FMMnJJZ2NGaGZaTU1DOFVhcFg5SlEzc1RpMVhtWjMzMTBhVkVGaksxRlR0Y1kyWjVPOC9GCmZMSDZ0ZGw2a1Mrd3dwWHNmeXJ3WkRzZWw0SjVaYmxsTml5Y1JOc1VKQTQ4SzRWdnFGT05pbmRUQS80N1ZITDcKY0dlbS9xTm9qRHpTRHVoL2xzY3IxU1F2bGR6eTJnMnlJUFJhOEorZUt2UThFWnFzclBjL2xXQmdDVEowcFkxQwo5ZFVqQXdTLy93MW0wd204NUQ0MGppbVVzTDc2Y29NVG9YQ3d0WEdhWnlQTjJZUVNhRHBFbHNBQm8xZG1zS0ZCCnYwb2dpdDNxcWRuenVMVlpubFhyTDYyYUs4Q1lCcWNybEFuUW4rM0c3Rnpva00rRFlpcExnSVB6RFRyaW1OMkkKUFdtYi90Unp2dFhkWSsybzFEaGR2RHU4ZmM3ZUZnemZCcUZnWVpDOXlISjBka28vY3JtSTJMaXlud0Zwak82UgpCT204cHBWSzg4THJ4OWx3MTh4ZExkRklkZDgrUThJeHFVdEJzSVJiY2pSVVVyUlBXWnFXNjNCQ1NTK3ZjbE5pCnk3Q25NYkVKR0YrL29nSWNVYnFOb0tDRGc2Q0U1L3VyZENGcEc1MTBZejVvZHdxblJxZ2hUczE5US9XMjlibUIKVUlyUmhOdCtPRjBRYVZnVVZhSk9Pam5iL0tQb0lvKytkZUZjSjdJZFk4OVFEYkFYcEpCQjA5NXRsYkdNU3BJNQpPTTRwc2M2NGpHeURXbmNDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVkRGpmTkYKY0RXeHdaMm02YnB3TmdIUkVTdk80WVhhSng2WjlKbDRIeGhFMTJJOFpYSWdWemQ1ZHFmTk54SEkvODFXWHdsLwo3RmdESjBmKy9Ca2xaeEtDeWVpd2dwOHQvRDBLdFQ2Ny9ndTM0QnAxWEpVMnJoRkczREZhR2ZLUlRZVzZlUXFnCnFORHpaSFpKY0JuUEI1WjdxVkVPOGlBSk5PSzJqZDNXcGQycnhuUWJBU0hpbXVIc04vUVEvU084ekpNSEZZVCsKZ0lNM0NCR0gzUVQ3d1JSa3hxWEhkOVgrTkVtZ2pmL1laUm1GTDMrR3hGc0NZczhzcmQ5LzBCOXRoUDBBTDhzRApWNk1ybGVBVXZVdE41dUJQR1BDSW1raVA2d2xNZDdyamhmaUhWZTNyWEFvTmZwWitGZ3g5OUJuVHBMUXFhYTZMCldJQzNNbXpJZmVHZTNuZExHODE0Vi81YU9XeE53VzEvZFAzMThlK0d2dENHeUNSYUdBNnRsTThkdGtJU1licmgKYjJWVWlneEI5OGVMS0pTdU8rSDdZRENLbGRXWnpYeU9WODNYZWswVlZpWDl1TVRyWVQ0TU14M1ZTd2xBSXc3Vgp2eW5Ub2ViQlc2OERnV0FXMjRoR1FDVmd2WHpnUDBJdlpsUlhmMGZXRWpKWklQdHFnbnp3bVpmbkF1WkhKcGNZCjc2eUVJMTM1WXh5d1VPOGR5SEJsMEFIcldvZWZsY0ZtNjloRk9zZk1SdGxVTUhDeVhWdHFwRXp3dFYvVWZBVU0KaEp0L2pvREJTQUE1cHFud0I2SCtpNkpYOGlUcGt4SEt4UnNWaE5CQVRkelN5MERPejhPVm01cllKWnlqQlhRbApXL3ZOUDVlTGVwdk9xUm4zRFBqdy92SkFHMGl6d09MVTZVWUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=","client-key-data":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeVpEK3JJREF6bnU1SVd6RlVuMW5DbzNEdER1MFVkbXBWOVd4bmZLMytLR0hRdXJoCkZoS1VraHVSc0xSem0xUnUvZVYzbEczcHl5eXRnMU54R21kMndOU1MwSy9EUDY5US9EZGhpWUNRTDJySWdjRmgKZlpNTUM4VWFwWDlKUTNzVGkxWG1aMzMxMGFWRUZqSzFGVHRjWTJaNU84L0ZmTEg2dGRsNmtTK3d3cFhzZnlydwpaRHNlbDRKNVpibGxOaXljUk5zVUpBNDhLNFZ2cUZPTmluZFRBLzQ3VkhMN2NHZW0vcU5vakR6U0R1aC9sc2NyCjFTUXZsZHp5MmcyeUlQUmE4SitlS3ZROEVacXNyUGMvbFdCZ0NUSjBwWTFDOWRVakF3Uy8vdzFtMHdtODVENDAKamltVXNMNzZjb01Ub1hDd3RYR2FaeVBOMllRU2FEcEVsc0FCbzFkbXNLRkJ2MG9naXQzcXFkbnp1TFZabmxYcgpMNjJhSzhDWUJxY3JsQW5RbiszRzdGem9rTStEWWlwTGdJUHpEVHJpbU4ySVBXbWIvdFJ6dnRYZFkrMm8xRGhkCnZEdThmYzdlRmd6ZkJxRmdZWkM5eUhKMGRrby9jcm1JMkxpeW53RnBqTzZSQk9tOHBwVks4OExyeDlsdzE4eGQKTGRGSWRkOCtROEl4cVV0QnNJUmJjalJVVXJSUFdacVc2M0JDU1MrdmNsTml5N0NuTWJFSkdGKy9vZ0ljVWJxTgpvS0NEZzZDRTUvdXJkQ0ZwRzUxMFl6NW9kd3FuUnFnaFRzMTlRL1cyOWJtQlVJclJoTnQrT0YwUWFWZ1VWYUpPCk9qbmIvS1BvSW8rK2RlRmNKN0lkWTg5UURiQVhwSkJCMDk1dGxiR01TcEk1T000cHNjNjRqR3lEV25jQ0F3RUEKQVFLQ0FnRUFqOVpQVm13ZXFucHh0dDkyeEJIRzZTb1c0TlBHTHE2RGdMRjJxVDdlZDZkVTdiVE00TUpya1FQcAphRTZ0UE1mNDJHZmFlR29pN3lDM3hVSlRNTU5xWTlxTjFpdkd5ZmhpYzBsVjZoaDdTOHNJd0VkdU9YMG9tSEdVClBVdGl6YXZUVzVmMTdoNWR2N2dPcVVTUUlsR1U4VDNiLzRtWjVRemcyc29TQSs4alZRaEZsczNlYzdnWWNZZmkKOTJ0Z1JWTjZSRXlOeDlqOHFSWDBnd3Iwc3ozSldNMGdLM2hONDMya0Zvd25mQU9lNXBLVkVkU1plK1R4ckNEYQprQzQ3MGZadHVzNDh3V3crUFZYQ0tUL2ErTTZvV1lmTzQ2QzFpdFlJd1F1dnN1TXVZQ1RQelpSeVRveHZsZDBDCnZacTU5SGVGTWtXYUtFWE5qSTRKMEtUYjh6T2JObDZ0ajhVYnl6eFNKRVlVNWc4ajNNdEFXalRqUzhNWHpsNlgKakN3aEFGNnNUOTFZeW5Mc3Z1RVZSbTBsZHB0UkIwcExHMjgwci94ODhaSFlDR0YwdnI4TGRLei80MDBhdFFMWQprZGI5RUNDa2pPbVdIdmZVVlZPMjZBeVljWnA1b0k0clhYdGlEVHU4V0dVakhzUzBWc3ljZERqRXRBbzlYYndtCnpONGxMQmE5VFdvRDI5TlNmaUdlYTd1bzFlZ0h3WDlXbWdyUU5rdkM5cmJSTTZ6Z2xzbzRkWCtkQW9uaFRNbVMKQmRLYVhybzUrdFVSK09SditFUG5tZHpYb01uaGlibWRZYVZoc0xTY2FsaSs4MmZZdGJGQllCd1RtWHdZL0NzUAoxSW04Vkx2VDZQVkRUZ2Fjc2JMRVRZemhoNmhFMXQ3Y1F6TE83Zk4xbjJURnJjcEhKZGtDZ2dFQkFQS1ptbnBnClB1VWJubi9OK3R5clh2SGYvNUhHTUdwaTUvME56SnJDSG11ZmN4Q2lUVUgyekNqNE50T0VkRGgzaDZrUkFmc2MKc2xLZGZuWTdxM3lDdDdQRFNiaVY0WSttTndsU0pqM3czOGcxSW9YTkJFbG5rak5aM2hYd3FNSDNsMmZ4bDdHSgpwMUNxUWlHcXZQeEFERzVQREtYalFEUm5hRXBQWUVVem5vTjR3ZUlVeFZWTzhUSnNZaS9XTlNhSSsydThqZWtsCm1yMHVaZlhhaFZZcWtYdjM4QkZFSWtZcWtjTHBycWdPQ2JTQi9OTG14RTcyNTM4OFlHM1JHU1doa1d4ZmNYUFQKUmZkblIxcEErYUhrZkNOTFF0K0lGNzl6MzBQUEJjcmdYR0E4ZUhrRisvenhqRHV1SVdGMGMzb0lKbFZBclRjKwprd2dka3BUSk1CNko0d3NDZ2dFQkFOU3pLNkRDdWFLUTh2VUFHbks4ekZsYk8xZHpmQVhJdmtOWW1JVUV1RDQ4ClRtcGZheE96aVRSWEFWbjhZY3lReTdCbnFpRU95cTltYmZBOUhFSUkxS2hxSEV6MzYxUllXS200S1pmOUk0YjUKVTRsVUJ4bjhBaXNqWHk3bldGRnk4dGZwQ21ic1pjaGJxOStBNTAwQm52dEszWkE5SVU4ZWwxNThncXUrdnQrcQpZdjlONVhMcUVhTHNudDY1NU5iU2RZbmhjZGZTRDE1WlptL2dtR2JHVmx5VHUranAxMHkyZFVDQ3VHdzRIOENHClAxOHpBc1c2TjlCNlJCWk1LLzNNSHVkQi9IblJQUUZ5TkgvVFNQbFlFaTFxeWIzTXU3SU94MHdlUXBSMlVtNjcKdHdpTUN2VHNGOUpOSDNEcElHR0djUzliNlFoRVh6a3BTYmZvRVBIc3ljVUNnZ0VCQU45L3hZS0NrczhOdjlycwpqL1dtWjhVYjRWNlNJTjZTR2puVzhhMk5zdXJocmVjZ0wxN2JHTUdSMHlqUXVTV2djVG0vc254K3RvWklGRTZtCnNGajRNSGVMTGFyQllsbXQvcncyazRhekYrZGhsRm1DUkRYQUZqLzZ4aENlYzBxbmFEUlpyYS9oS21TMVJsR3YKODRYTkYrYTBLdW5WVDd3M25Dd0JycVp5Wk5Hb2VhNW9CbGlPYnNWT2RyS3RmSy93dVBoTGNNM2ZXQXg3NTNFMQpqV3VSc2hCc25oMjZFSDFtRUgxcVBmOFRWN3VWbWE5TzdJSDNFOVR6Y2I4YVNUbVMvTi9EbWtqajFteVVHSGM4CnJ2NkgraG1sNTRqNTN5OEJlQ29IV3NYS0p6Qjk1VnRSdVJJU0VtaVZCcW02MS93UDhBalFtZ1B3UVJMVDg4dmgKQWRUUW9Yc0NnZ0VBUmFiS2thRlNrdGF1aU9aWXd0dnFleFJ5RVVnakErM2h5RUg1NkExTW5DeTViUUlFR1hhQQpacUJiTS9GK3dUTmxVRVlTSXpNcDBsaFRoZ2tzK0w3VmpMVDZ3WVdxRFh2RXhRY21yN3ZZWjNtOERrdHk2K0puCmYyTGM1NG9nbE1OMG5KbVdxMitjUVFrcjlrdks4cCttUlJvV0JnYk9vbzhjK0hjRGYyUStNeFlqeHdEbU0wUk4KTkRJU01GTmxpYWR2a0JCQWJIRkFVU0FyZUZWdThyRGVWUUNYMTBURUdUM2lsWlo0K0E5RTdwSEhyTkFTaDFkYwpzYXRvSW5rZEtzWXVGSUs2UDlYeUNVZ3h3dTRZaG5aOXRWdXo1ckJsZ29CdWFSRzdzY3d4WUV1ZU8zRklvVDJ5CjYwNFFEclI0d3hiNGQ0NjhkOVdUN1M4RkVmRXZvMWxzRlFLQ0FRRUFrNmlpMFlmTGkvNnk4TVQ5dDgrZ1FqazYKTkhWZkRzYnc5c1hKWXZWWGswb0tUN1lBTVBmcnlkS0F0akZ5YlBBcGFDS3dPQlpqcFBySGh0Vy9HdkVub3VpRworQkVIM2x2S0NOUzBlQUVUVC8rNzlNTmVRRjBOazZhb2ZGNFRBei8yaWduMTJESXY5c1Y4NFJVc1VMVmw5bHlGCkpmdktLb1E1ZEg4WnhPQW9HVEVRRDhJdG0ra0FqdmppYnM4RFlnREp2VVRGZnFYcUtxOVJTK2VLS1VZWUM3VGYKejRub0Mvb0c3ZlA1cEpna0dlNU1EbFhHb05GUFNXZzJKVzRPbU1YZmV3WW80MmNOQnhsc0ROUXFYSnFSdXAyRwplT2xNaXU2SmRsak9CRFc5RG8xbHhVaG9JOG9SdW5JRVVGdEN5MUdFWHpYaWdOQ21vbE1qQjUveDJYTzFvZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="} - } - ] -} diff --git a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.koreacentral.json b/azure/_output/fabricnlp9/kubeconfig/kubeconfig.koreacentral.json deleted file mode 100644 index d35c8c5..0000000 --- a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.koreacentral.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "apiVersion": "v1", - "clusters": [ - { - "cluster": { - "certificate-authority-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRVkZsMU1sZDA5L0xUazJRMk5JWG1GREFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1UQXdOREF4TkRaYUZ3MHhPVEV5TVRBd05EQXhORFphTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFzZmxGCmNvZCtwMTB4REdUM2ZXWm12K21OYXRhU2w4MFAzNTkrQ3JFWEY5OHYzaHdsQyt6eGpFRXhpZEdHSkdBcWpIc3QKdFlOREg5aG81bHdSWTROamJKcUJJZ3cvcDZ5RXB5WGg1MVliRFA2dDd6bHp3UVMyRjlJKzJ5aG02TWd3V3dSTQpkTmxHb1pzamFrbFJucTBWbXZ6eVk4WGVCVi84TllRb0QzNE1OdVZXVjZ0R0daeWZpdDFFT3YydCtqTnNLdXBRCm4xRGh4RGJkNE9LT3hvaC9md1hnL0tHU1gwWlRyUUY1eUV4c1VOaFdyQncrQnZ0Q2twdHc2aU1hT1Vhb0tVaDkKczVrTTA3clhCY0xmU2FuZ0FBVHZTMWQzNWZmaENZQmxseGl4Sk11QWFMcFNLaHlzekR2Z1BEV2dnUjcvRVZZUApaSDlMSlgwL20vT25DcFl2eURkUE0zeEhLd0pvbkdYS0tmMW1UTE5GUjE2b0YxU3N6QlZWZFNXc1FSSHNCTkdVCmMyZEYvRjZKaDBEV0JQZ2pINnJDOGhFNWFnQmY1Z09oa1hJVnJwZXo4cGtiUmRTampEbWpXWFkwMjkxY2lIRWUKdXlCWFh6MlVoeEJ6c2Y5QmVFUm5LTTBnQ2xLeEtid0dGTjRlc1djTzBEcEhlNm1YK3pnS3ZvSytIUHlVczhnUApkOU9wMU9zZWRIQ0NKWFl4TlIycWw0OFVBcmpENGYycHYxY2ZFekpORWpjb1FwbXlwSmtwUTRjbUZWMnREdjhhCksrS1NYajJvNEVwN1dJVFBEVWtuU3llN3pPamNPeFNmTG9XeWtldGcyZjZnSWVqemFJUm9XbVNkMlR0OHlwRUwKOVBkcXNKVWljbnkzOXNPcUNLYWxMeTRrdThWZ1FQMHVadDFPYW9FQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFGbU5NblhrCjN6YkhHeFNNRTR0bzJsWWJtQmZ1eGFpYlJhYnJpdExZMnEzUkpXNEhxNUVSZC80bm43TmRLWnZBbEh4ZXV2TTYKS1IxWTV1VGp3YjlZckp0VUI4eDlXR2w5R1RhVzNhZTlRZGR5Y1RHMEh6a1owWGFEcGp4ZExWcmVlWUYvRlBTQwp6djVjanhDUytqa3AzM1dGWm9nT2Z0Sjl1Nk9yKzNZV2NVeFBTV1JLeTZTSmVJN2pnWHlnM1hhZk9FbmI1bFJDCktSRit2dFk4cWhsT21uWnRSM1BaTDdsWGNDZGhqZFpRQ2Z2eTdaWVpmajIwckxJMFZVOWtoTFJVSWt2MDdJd0EKaEwwZkRXRVBnek9oM1JBOE1nMityT0EvUmJBVE45U0hCMEYzZXNpa2V6OUxmei82QjVLTitqRyt1TStEZjFxSwo1QlpSYnc1alNsQU9wZ2dBbzJhbDlBUVFIekdpRDRsQnpscy9wVFRFQXBERVVqempHWjY2WlhucTVrTDBjU0xmCmhwQjNPbDY4cldySVRxRDNSK2dJZDZXRGRWbVN6QXFxYnJVRHNQVXVjNWwvcFB6MWFBSjQrSlh1aFd2MzVXSXgKWTRscy9GY3VORks5bXhUS0dOeFdsWnh6aXpsK0tKenIrT09YaHAzQkhaTFpwRFFudmI4YnptZjRxNmFubGl1SQpsWmlRbEk4UUp6cWRpVEtNYTJ4dkMxTm5TS1ZNNHpISmZFWEliQ1ptMnkxQXNoQkRBSDFoczAyci9wdXlsM3QwCjdKcVQ3Y2VDanZESy9uRjQ3RUZ1c2tzV0dQMUJpRXlONExxbFJWeXB3MFA1MlFsMDJuRHFZbnlzSXZxS051RGIKQkJ2aUN3ajMzUGhCSldlWjNoNlBkaHNObUY2SVEwNjI3MVp4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", - "server": "https://fabricnlp9.koreacentral.cloudapp.azure.com" - }, - "name": "fabricnlp9" - } - ], - "contexts": [ - { - "context": { - "cluster": "fabricnlp9", - "user": "fabricnlp9-admin" - }, - "name": "fabricnlp9" - } - ], - "current-context": "fabricnlp9", - "kind": "Config", - "users": [ - { - "name": "fabricnlp9-admin", - "user": {"client-certificate-data":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUw0bWp3MmNCMUp6L3cxa05meXY4SzR3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qRXdNRFF3TVRRNFdoY05NVGt4TWpFd01EUXdNVFE0V2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXlaRCtySURBem51NUlXekZVbjFuQ28zRHREdTAKVWRtcFY5V3huZkszK0tHSFF1cmhGaEtVa2h1UnNMUnptMVJ1L2VWM2xHM3B5eXl0ZzFOeEdtZDJ3TlNTMEsvRApQNjlRL0RkaGlZQ1FMMnJJZ2NGaGZaTU1DOFVhcFg5SlEzc1RpMVhtWjMzMTBhVkVGaksxRlR0Y1kyWjVPOC9GCmZMSDZ0ZGw2a1Mrd3dwWHNmeXJ3WkRzZWw0SjVaYmxsTml5Y1JOc1VKQTQ4SzRWdnFGT05pbmRUQS80N1ZITDcKY0dlbS9xTm9qRHpTRHVoL2xzY3IxU1F2bGR6eTJnMnlJUFJhOEorZUt2UThFWnFzclBjL2xXQmdDVEowcFkxQwo5ZFVqQXdTLy93MW0wd204NUQ0MGppbVVzTDc2Y29NVG9YQ3d0WEdhWnlQTjJZUVNhRHBFbHNBQm8xZG1zS0ZCCnYwb2dpdDNxcWRuenVMVlpubFhyTDYyYUs4Q1lCcWNybEFuUW4rM0c3Rnpva00rRFlpcExnSVB6RFRyaW1OMkkKUFdtYi90Unp2dFhkWSsybzFEaGR2RHU4ZmM3ZUZnemZCcUZnWVpDOXlISjBka28vY3JtSTJMaXlud0Zwak82UgpCT204cHBWSzg4THJ4OWx3MTh4ZExkRklkZDgrUThJeHFVdEJzSVJiY2pSVVVyUlBXWnFXNjNCQ1NTK3ZjbE5pCnk3Q25NYkVKR0YrL29nSWNVYnFOb0tDRGc2Q0U1L3VyZENGcEc1MTBZejVvZHdxblJxZ2hUczE5US9XMjlibUIKVUlyUmhOdCtPRjBRYVZnVVZhSk9Pam5iL0tQb0lvKytkZUZjSjdJZFk4OVFEYkFYcEpCQjA5NXRsYkdNU3BJNQpPTTRwc2M2NGpHeURXbmNDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVkRGpmTkYKY0RXeHdaMm02YnB3TmdIUkVTdk80WVhhSng2WjlKbDRIeGhFMTJJOFpYSWdWemQ1ZHFmTk54SEkvODFXWHdsLwo3RmdESjBmKy9Ca2xaeEtDeWVpd2dwOHQvRDBLdFQ2Ny9ndTM0QnAxWEpVMnJoRkczREZhR2ZLUlRZVzZlUXFnCnFORHpaSFpKY0JuUEI1WjdxVkVPOGlBSk5PSzJqZDNXcGQycnhuUWJBU0hpbXVIc04vUVEvU084ekpNSEZZVCsKZ0lNM0NCR0gzUVQ3d1JSa3hxWEhkOVgrTkVtZ2pmL1laUm1GTDMrR3hGc0NZczhzcmQ5LzBCOXRoUDBBTDhzRApWNk1ybGVBVXZVdE41dUJQR1BDSW1raVA2d2xNZDdyamhmaUhWZTNyWEFvTmZwWitGZ3g5OUJuVHBMUXFhYTZMCldJQzNNbXpJZmVHZTNuZExHODE0Vi81YU9XeE53VzEvZFAzMThlK0d2dENHeUNSYUdBNnRsTThkdGtJU1licmgKYjJWVWlneEI5OGVMS0pTdU8rSDdZRENLbGRXWnpYeU9WODNYZWswVlZpWDl1TVRyWVQ0TU14M1ZTd2xBSXc3Vgp2eW5Ub2ViQlc2OERnV0FXMjRoR1FDVmd2WHpnUDBJdlpsUlhmMGZXRWpKWklQdHFnbnp3bVpmbkF1WkhKcGNZCjc2eUVJMTM1WXh5d1VPOGR5SEJsMEFIcldvZWZsY0ZtNjloRk9zZk1SdGxVTUhDeVhWdHFwRXp3dFYvVWZBVU0KaEp0L2pvREJTQUE1cHFud0I2SCtpNkpYOGlUcGt4SEt4UnNWaE5CQVRkelN5MERPejhPVm01cllKWnlqQlhRbApXL3ZOUDVlTGVwdk9xUm4zRFBqdy92SkFHMGl6d09MVTZVWUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=","client-key-data":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeVpEK3JJREF6bnU1SVd6RlVuMW5DbzNEdER1MFVkbXBWOVd4bmZLMytLR0hRdXJoCkZoS1VraHVSc0xSem0xUnUvZVYzbEczcHl5eXRnMU54R21kMndOU1MwSy9EUDY5US9EZGhpWUNRTDJySWdjRmgKZlpNTUM4VWFwWDlKUTNzVGkxWG1aMzMxMGFWRUZqSzFGVHRjWTJaNU84L0ZmTEg2dGRsNmtTK3d3cFhzZnlydwpaRHNlbDRKNVpibGxOaXljUk5zVUpBNDhLNFZ2cUZPTmluZFRBLzQ3VkhMN2NHZW0vcU5vakR6U0R1aC9sc2NyCjFTUXZsZHp5MmcyeUlQUmE4SitlS3ZROEVacXNyUGMvbFdCZ0NUSjBwWTFDOWRVakF3Uy8vdzFtMHdtODVENDAKamltVXNMNzZjb01Ub1hDd3RYR2FaeVBOMllRU2FEcEVsc0FCbzFkbXNLRkJ2MG9naXQzcXFkbnp1TFZabmxYcgpMNjJhSzhDWUJxY3JsQW5RbiszRzdGem9rTStEWWlwTGdJUHpEVHJpbU4ySVBXbWIvdFJ6dnRYZFkrMm8xRGhkCnZEdThmYzdlRmd6ZkJxRmdZWkM5eUhKMGRrby9jcm1JMkxpeW53RnBqTzZSQk9tOHBwVks4OExyeDlsdzE4eGQKTGRGSWRkOCtROEl4cVV0QnNJUmJjalJVVXJSUFdacVc2M0JDU1MrdmNsTml5N0NuTWJFSkdGKy9vZ0ljVWJxTgpvS0NEZzZDRTUvdXJkQ0ZwRzUxMFl6NW9kd3FuUnFnaFRzMTlRL1cyOWJtQlVJclJoTnQrT0YwUWFWZ1VWYUpPCk9qbmIvS1BvSW8rK2RlRmNKN0lkWTg5UURiQVhwSkJCMDk1dGxiR01TcEk1T000cHNjNjRqR3lEV25jQ0F3RUEKQVFLQ0FnRUFqOVpQVm13ZXFucHh0dDkyeEJIRzZTb1c0TlBHTHE2RGdMRjJxVDdlZDZkVTdiVE00TUpya1FQcAphRTZ0UE1mNDJHZmFlR29pN3lDM3hVSlRNTU5xWTlxTjFpdkd5ZmhpYzBsVjZoaDdTOHNJd0VkdU9YMG9tSEdVClBVdGl6YXZUVzVmMTdoNWR2N2dPcVVTUUlsR1U4VDNiLzRtWjVRemcyc29TQSs4alZRaEZsczNlYzdnWWNZZmkKOTJ0Z1JWTjZSRXlOeDlqOHFSWDBnd3Iwc3ozSldNMGdLM2hONDMya0Zvd25mQU9lNXBLVkVkU1plK1R4ckNEYQprQzQ3MGZadHVzNDh3V3crUFZYQ0tUL2ErTTZvV1lmTzQ2QzFpdFlJd1F1dnN1TXVZQ1RQelpSeVRveHZsZDBDCnZacTU5SGVGTWtXYUtFWE5qSTRKMEtUYjh6T2JObDZ0ajhVYnl6eFNKRVlVNWc4ajNNdEFXalRqUzhNWHpsNlgKakN3aEFGNnNUOTFZeW5Mc3Z1RVZSbTBsZHB0UkIwcExHMjgwci94ODhaSFlDR0YwdnI4TGRLei80MDBhdFFMWQprZGI5RUNDa2pPbVdIdmZVVlZPMjZBeVljWnA1b0k0clhYdGlEVHU4V0dVakhzUzBWc3ljZERqRXRBbzlYYndtCnpONGxMQmE5VFdvRDI5TlNmaUdlYTd1bzFlZ0h3WDlXbWdyUU5rdkM5cmJSTTZ6Z2xzbzRkWCtkQW9uaFRNbVMKQmRLYVhybzUrdFVSK09SditFUG5tZHpYb01uaGlibWRZYVZoc0xTY2FsaSs4MmZZdGJGQllCd1RtWHdZL0NzUAoxSW04Vkx2VDZQVkRUZ2Fjc2JMRVRZemhoNmhFMXQ3Y1F6TE83Zk4xbjJURnJjcEhKZGtDZ2dFQkFQS1ptbnBnClB1VWJubi9OK3R5clh2SGYvNUhHTUdwaTUvME56SnJDSG11ZmN4Q2lUVUgyekNqNE50T0VkRGgzaDZrUkFmc2MKc2xLZGZuWTdxM3lDdDdQRFNiaVY0WSttTndsU0pqM3czOGcxSW9YTkJFbG5rak5aM2hYd3FNSDNsMmZ4bDdHSgpwMUNxUWlHcXZQeEFERzVQREtYalFEUm5hRXBQWUVVem5vTjR3ZUlVeFZWTzhUSnNZaS9XTlNhSSsydThqZWtsCm1yMHVaZlhhaFZZcWtYdjM4QkZFSWtZcWtjTHBycWdPQ2JTQi9OTG14RTcyNTM4OFlHM1JHU1doa1d4ZmNYUFQKUmZkblIxcEErYUhrZkNOTFF0K0lGNzl6MzBQUEJjcmdYR0E4ZUhrRisvenhqRHV1SVdGMGMzb0lKbFZBclRjKwprd2dka3BUSk1CNko0d3NDZ2dFQkFOU3pLNkRDdWFLUTh2VUFHbks4ekZsYk8xZHpmQVhJdmtOWW1JVUV1RDQ4ClRtcGZheE96aVRSWEFWbjhZY3lReTdCbnFpRU95cTltYmZBOUhFSUkxS2hxSEV6MzYxUllXS200S1pmOUk0YjUKVTRsVUJ4bjhBaXNqWHk3bldGRnk4dGZwQ21ic1pjaGJxOStBNTAwQm52dEszWkE5SVU4ZWwxNThncXUrdnQrcQpZdjlONVhMcUVhTHNudDY1NU5iU2RZbmhjZGZTRDE1WlptL2dtR2JHVmx5VHUranAxMHkyZFVDQ3VHdzRIOENHClAxOHpBc1c2TjlCNlJCWk1LLzNNSHVkQi9IblJQUUZ5TkgvVFNQbFlFaTFxeWIzTXU3SU94MHdlUXBSMlVtNjcKdHdpTUN2VHNGOUpOSDNEcElHR0djUzliNlFoRVh6a3BTYmZvRVBIc3ljVUNnZ0VCQU45L3hZS0NrczhOdjlycwpqL1dtWjhVYjRWNlNJTjZTR2puVzhhMk5zdXJocmVjZ0wxN2JHTUdSMHlqUXVTV2djVG0vc254K3RvWklGRTZtCnNGajRNSGVMTGFyQllsbXQvcncyazRhekYrZGhsRm1DUkRYQUZqLzZ4aENlYzBxbmFEUlpyYS9oS21TMVJsR3YKODRYTkYrYTBLdW5WVDd3M25Dd0JycVp5Wk5Hb2VhNW9CbGlPYnNWT2RyS3RmSy93dVBoTGNNM2ZXQXg3NTNFMQpqV3VSc2hCc25oMjZFSDFtRUgxcVBmOFRWN3VWbWE5TzdJSDNFOVR6Y2I4YVNUbVMvTi9EbWtqajFteVVHSGM4CnJ2NkgraG1sNTRqNTN5OEJlQ29IV3NYS0p6Qjk1VnRSdVJJU0VtaVZCcW02MS93UDhBalFtZ1B3UVJMVDg4dmgKQWRUUW9Yc0NnZ0VBUmFiS2thRlNrdGF1aU9aWXd0dnFleFJ5RVVnakErM2h5RUg1NkExTW5DeTViUUlFR1hhQQpacUJiTS9GK3dUTmxVRVlTSXpNcDBsaFRoZ2tzK0w3VmpMVDZ3WVdxRFh2RXhRY21yN3ZZWjNtOERrdHk2K0puCmYyTGM1NG9nbE1OMG5KbVdxMitjUVFrcjlrdks4cCttUlJvV0JnYk9vbzhjK0hjRGYyUStNeFlqeHdEbU0wUk4KTkRJU01GTmxpYWR2a0JCQWJIRkFVU0FyZUZWdThyRGVWUUNYMTBURUdUM2lsWlo0K0E5RTdwSEhyTkFTaDFkYwpzYXRvSW5rZEtzWXVGSUs2UDlYeUNVZ3h3dTRZaG5aOXRWdXo1ckJsZ29CdWFSRzdzY3d4WUV1ZU8zRklvVDJ5CjYwNFFEclI0d3hiNGQ0NjhkOVdUN1M4RkVmRXZvMWxzRlFLQ0FRRUFrNmlpMFlmTGkvNnk4TVQ5dDgrZ1FqazYKTkhWZkRzYnc5c1hKWXZWWGswb0tUN1lBTVBmcnlkS0F0akZ5YlBBcGFDS3dPQlpqcFBySGh0Vy9HdkVub3VpRworQkVIM2x2S0NOUzBlQUVUVC8rNzlNTmVRRjBOazZhb2ZGNFRBei8yaWduMTJESXY5c1Y4NFJVc1VMVmw5bHlGCkpmdktLb1E1ZEg4WnhPQW9HVEVRRDhJdG0ra0FqdmppYnM4RFlnREp2VVRGZnFYcUtxOVJTK2VLS1VZWUM3VGYKejRub0Mvb0c3ZlA1cEpna0dlNU1EbFhHb05GUFNXZzJKVzRPbU1YZmV3WW80MmNOQnhsc0ROUXFYSnFSdXAyRwplT2xNaXU2SmRsak9CRFc5RG8xbHhVaG9JOG9SdW5JRVVGdEN5MUdFWHpYaWdOQ21vbE1qQjUveDJYTzFvZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="} - } - ] -} diff --git a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.koreasouth.json b/azure/_output/fabricnlp9/kubeconfig/kubeconfig.koreasouth.json deleted file mode 100644 index 0e6db8e..0000000 --- a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.koreasouth.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "apiVersion": "v1", - "clusters": [ - { - "cluster": { - "certificate-authority-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRVkZsMU1sZDA5L0xUazJRMk5JWG1GREFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1UQXdOREF4TkRaYUZ3MHhPVEV5TVRBd05EQXhORFphTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFzZmxGCmNvZCtwMTB4REdUM2ZXWm12K21OYXRhU2w4MFAzNTkrQ3JFWEY5OHYzaHdsQyt6eGpFRXhpZEdHSkdBcWpIc3QKdFlOREg5aG81bHdSWTROamJKcUJJZ3cvcDZ5RXB5WGg1MVliRFA2dDd6bHp3UVMyRjlJKzJ5aG02TWd3V3dSTQpkTmxHb1pzamFrbFJucTBWbXZ6eVk4WGVCVi84TllRb0QzNE1OdVZXVjZ0R0daeWZpdDFFT3YydCtqTnNLdXBRCm4xRGh4RGJkNE9LT3hvaC9md1hnL0tHU1gwWlRyUUY1eUV4c1VOaFdyQncrQnZ0Q2twdHc2aU1hT1Vhb0tVaDkKczVrTTA3clhCY0xmU2FuZ0FBVHZTMWQzNWZmaENZQmxseGl4Sk11QWFMcFNLaHlzekR2Z1BEV2dnUjcvRVZZUApaSDlMSlgwL20vT25DcFl2eURkUE0zeEhLd0pvbkdYS0tmMW1UTE5GUjE2b0YxU3N6QlZWZFNXc1FSSHNCTkdVCmMyZEYvRjZKaDBEV0JQZ2pINnJDOGhFNWFnQmY1Z09oa1hJVnJwZXo4cGtiUmRTampEbWpXWFkwMjkxY2lIRWUKdXlCWFh6MlVoeEJ6c2Y5QmVFUm5LTTBnQ2xLeEtid0dGTjRlc1djTzBEcEhlNm1YK3pnS3ZvSytIUHlVczhnUApkOU9wMU9zZWRIQ0NKWFl4TlIycWw0OFVBcmpENGYycHYxY2ZFekpORWpjb1FwbXlwSmtwUTRjbUZWMnREdjhhCksrS1NYajJvNEVwN1dJVFBEVWtuU3llN3pPamNPeFNmTG9XeWtldGcyZjZnSWVqemFJUm9XbVNkMlR0OHlwRUwKOVBkcXNKVWljbnkzOXNPcUNLYWxMeTRrdThWZ1FQMHVadDFPYW9FQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFGbU5NblhrCjN6YkhHeFNNRTR0bzJsWWJtQmZ1eGFpYlJhYnJpdExZMnEzUkpXNEhxNUVSZC80bm43TmRLWnZBbEh4ZXV2TTYKS1IxWTV1VGp3YjlZckp0VUI4eDlXR2w5R1RhVzNhZTlRZGR5Y1RHMEh6a1owWGFEcGp4ZExWcmVlWUYvRlBTQwp6djVjanhDUytqa3AzM1dGWm9nT2Z0Sjl1Nk9yKzNZV2NVeFBTV1JLeTZTSmVJN2pnWHlnM1hhZk9FbmI1bFJDCktSRit2dFk4cWhsT21uWnRSM1BaTDdsWGNDZGhqZFpRQ2Z2eTdaWVpmajIwckxJMFZVOWtoTFJVSWt2MDdJd0EKaEwwZkRXRVBnek9oM1JBOE1nMityT0EvUmJBVE45U0hCMEYzZXNpa2V6OUxmei82QjVLTitqRyt1TStEZjFxSwo1QlpSYnc1alNsQU9wZ2dBbzJhbDlBUVFIekdpRDRsQnpscy9wVFRFQXBERVVqempHWjY2WlhucTVrTDBjU0xmCmhwQjNPbDY4cldySVRxRDNSK2dJZDZXRGRWbVN6QXFxYnJVRHNQVXVjNWwvcFB6MWFBSjQrSlh1aFd2MzVXSXgKWTRscy9GY3VORks5bXhUS0dOeFdsWnh6aXpsK0tKenIrT09YaHAzQkhaTFpwRFFudmI4YnptZjRxNmFubGl1SQpsWmlRbEk4UUp6cWRpVEtNYTJ4dkMxTm5TS1ZNNHpISmZFWEliQ1ptMnkxQXNoQkRBSDFoczAyci9wdXlsM3QwCjdKcVQ3Y2VDanZESy9uRjQ3RUZ1c2tzV0dQMUJpRXlONExxbFJWeXB3MFA1MlFsMDJuRHFZbnlzSXZxS051RGIKQkJ2aUN3ajMzUGhCSldlWjNoNlBkaHNObUY2SVEwNjI3MVp4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", - "server": "https://fabricnlp9.koreasouth.cloudapp.azure.com" - }, - "name": "fabricnlp9" - } - ], - "contexts": [ - { - "context": { - "cluster": "fabricnlp9", - "user": "fabricnlp9-admin" - }, - "name": "fabricnlp9" - } - ], - "current-context": "fabricnlp9", - "kind": "Config", - "users": [ - { - "name": "fabricnlp9-admin", - "user": {"client-certificate-data":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUw0bWp3MmNCMUp6L3cxa05meXY4SzR3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qRXdNRFF3TVRRNFdoY05NVGt4TWpFd01EUXdNVFE0V2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXlaRCtySURBem51NUlXekZVbjFuQ28zRHREdTAKVWRtcFY5V3huZkszK0tHSFF1cmhGaEtVa2h1UnNMUnptMVJ1L2VWM2xHM3B5eXl0ZzFOeEdtZDJ3TlNTMEsvRApQNjlRL0RkaGlZQ1FMMnJJZ2NGaGZaTU1DOFVhcFg5SlEzc1RpMVhtWjMzMTBhVkVGaksxRlR0Y1kyWjVPOC9GCmZMSDZ0ZGw2a1Mrd3dwWHNmeXJ3WkRzZWw0SjVaYmxsTml5Y1JOc1VKQTQ4SzRWdnFGT05pbmRUQS80N1ZITDcKY0dlbS9xTm9qRHpTRHVoL2xzY3IxU1F2bGR6eTJnMnlJUFJhOEorZUt2UThFWnFzclBjL2xXQmdDVEowcFkxQwo5ZFVqQXdTLy93MW0wd204NUQ0MGppbVVzTDc2Y29NVG9YQ3d0WEdhWnlQTjJZUVNhRHBFbHNBQm8xZG1zS0ZCCnYwb2dpdDNxcWRuenVMVlpubFhyTDYyYUs4Q1lCcWNybEFuUW4rM0c3Rnpva00rRFlpcExnSVB6RFRyaW1OMkkKUFdtYi90Unp2dFhkWSsybzFEaGR2RHU4ZmM3ZUZnemZCcUZnWVpDOXlISjBka28vY3JtSTJMaXlud0Zwak82UgpCT204cHBWSzg4THJ4OWx3MTh4ZExkRklkZDgrUThJeHFVdEJzSVJiY2pSVVVyUlBXWnFXNjNCQ1NTK3ZjbE5pCnk3Q25NYkVKR0YrL29nSWNVYnFOb0tDRGc2Q0U1L3VyZENGcEc1MTBZejVvZHdxblJxZ2hUczE5US9XMjlibUIKVUlyUmhOdCtPRjBRYVZnVVZhSk9Pam5iL0tQb0lvKytkZUZjSjdJZFk4OVFEYkFYcEpCQjA5NXRsYkdNU3BJNQpPTTRwc2M2NGpHeURXbmNDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVkRGpmTkYKY0RXeHdaMm02YnB3TmdIUkVTdk80WVhhSng2WjlKbDRIeGhFMTJJOFpYSWdWemQ1ZHFmTk54SEkvODFXWHdsLwo3RmdESjBmKy9Ca2xaeEtDeWVpd2dwOHQvRDBLdFQ2Ny9ndTM0QnAxWEpVMnJoRkczREZhR2ZLUlRZVzZlUXFnCnFORHpaSFpKY0JuUEI1WjdxVkVPOGlBSk5PSzJqZDNXcGQycnhuUWJBU0hpbXVIc04vUVEvU084ekpNSEZZVCsKZ0lNM0NCR0gzUVQ3d1JSa3hxWEhkOVgrTkVtZ2pmL1laUm1GTDMrR3hGc0NZczhzcmQ5LzBCOXRoUDBBTDhzRApWNk1ybGVBVXZVdE41dUJQR1BDSW1raVA2d2xNZDdyamhmaUhWZTNyWEFvTmZwWitGZ3g5OUJuVHBMUXFhYTZMCldJQzNNbXpJZmVHZTNuZExHODE0Vi81YU9XeE53VzEvZFAzMThlK0d2dENHeUNSYUdBNnRsTThkdGtJU1licmgKYjJWVWlneEI5OGVMS0pTdU8rSDdZRENLbGRXWnpYeU9WODNYZWswVlZpWDl1TVRyWVQ0TU14M1ZTd2xBSXc3Vgp2eW5Ub2ViQlc2OERnV0FXMjRoR1FDVmd2WHpnUDBJdlpsUlhmMGZXRWpKWklQdHFnbnp3bVpmbkF1WkhKcGNZCjc2eUVJMTM1WXh5d1VPOGR5SEJsMEFIcldvZWZsY0ZtNjloRk9zZk1SdGxVTUhDeVhWdHFwRXp3dFYvVWZBVU0KaEp0L2pvREJTQUE1cHFud0I2SCtpNkpYOGlUcGt4SEt4UnNWaE5CQVRkelN5MERPejhPVm01cllKWnlqQlhRbApXL3ZOUDVlTGVwdk9xUm4zRFBqdy92SkFHMGl6d09MVTZVWUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=","client-key-data":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeVpEK3JJREF6bnU1SVd6RlVuMW5DbzNEdER1MFVkbXBWOVd4bmZLMytLR0hRdXJoCkZoS1VraHVSc0xSem0xUnUvZVYzbEczcHl5eXRnMU54R21kMndOU1MwSy9EUDY5US9EZGhpWUNRTDJySWdjRmgKZlpNTUM4VWFwWDlKUTNzVGkxWG1aMzMxMGFWRUZqSzFGVHRjWTJaNU84L0ZmTEg2dGRsNmtTK3d3cFhzZnlydwpaRHNlbDRKNVpibGxOaXljUk5zVUpBNDhLNFZ2cUZPTmluZFRBLzQ3VkhMN2NHZW0vcU5vakR6U0R1aC9sc2NyCjFTUXZsZHp5MmcyeUlQUmE4SitlS3ZROEVacXNyUGMvbFdCZ0NUSjBwWTFDOWRVakF3Uy8vdzFtMHdtODVENDAKamltVXNMNzZjb01Ub1hDd3RYR2FaeVBOMllRU2FEcEVsc0FCbzFkbXNLRkJ2MG9naXQzcXFkbnp1TFZabmxYcgpMNjJhSzhDWUJxY3JsQW5RbiszRzdGem9rTStEWWlwTGdJUHpEVHJpbU4ySVBXbWIvdFJ6dnRYZFkrMm8xRGhkCnZEdThmYzdlRmd6ZkJxRmdZWkM5eUhKMGRrby9jcm1JMkxpeW53RnBqTzZSQk9tOHBwVks4OExyeDlsdzE4eGQKTGRGSWRkOCtROEl4cVV0QnNJUmJjalJVVXJSUFdacVc2M0JDU1MrdmNsTml5N0NuTWJFSkdGKy9vZ0ljVWJxTgpvS0NEZzZDRTUvdXJkQ0ZwRzUxMFl6NW9kd3FuUnFnaFRzMTlRL1cyOWJtQlVJclJoTnQrT0YwUWFWZ1VWYUpPCk9qbmIvS1BvSW8rK2RlRmNKN0lkWTg5UURiQVhwSkJCMDk1dGxiR01TcEk1T000cHNjNjRqR3lEV25jQ0F3RUEKQVFLQ0FnRUFqOVpQVm13ZXFucHh0dDkyeEJIRzZTb1c0TlBHTHE2RGdMRjJxVDdlZDZkVTdiVE00TUpya1FQcAphRTZ0UE1mNDJHZmFlR29pN3lDM3hVSlRNTU5xWTlxTjFpdkd5ZmhpYzBsVjZoaDdTOHNJd0VkdU9YMG9tSEdVClBVdGl6YXZUVzVmMTdoNWR2N2dPcVVTUUlsR1U4VDNiLzRtWjVRemcyc29TQSs4alZRaEZsczNlYzdnWWNZZmkKOTJ0Z1JWTjZSRXlOeDlqOHFSWDBnd3Iwc3ozSldNMGdLM2hONDMya0Zvd25mQU9lNXBLVkVkU1plK1R4ckNEYQprQzQ3MGZadHVzNDh3V3crUFZYQ0tUL2ErTTZvV1lmTzQ2QzFpdFlJd1F1dnN1TXVZQ1RQelpSeVRveHZsZDBDCnZacTU5SGVGTWtXYUtFWE5qSTRKMEtUYjh6T2JObDZ0ajhVYnl6eFNKRVlVNWc4ajNNdEFXalRqUzhNWHpsNlgKakN3aEFGNnNUOTFZeW5Mc3Z1RVZSbTBsZHB0UkIwcExHMjgwci94ODhaSFlDR0YwdnI4TGRLei80MDBhdFFMWQprZGI5RUNDa2pPbVdIdmZVVlZPMjZBeVljWnA1b0k0clhYdGlEVHU4V0dVakhzUzBWc3ljZERqRXRBbzlYYndtCnpONGxMQmE5VFdvRDI5TlNmaUdlYTd1bzFlZ0h3WDlXbWdyUU5rdkM5cmJSTTZ6Z2xzbzRkWCtkQW9uaFRNbVMKQmRLYVhybzUrdFVSK09SditFUG5tZHpYb01uaGlibWRZYVZoc0xTY2FsaSs4MmZZdGJGQllCd1RtWHdZL0NzUAoxSW04Vkx2VDZQVkRUZ2Fjc2JMRVRZemhoNmhFMXQ3Y1F6TE83Zk4xbjJURnJjcEhKZGtDZ2dFQkFQS1ptbnBnClB1VWJubi9OK3R5clh2SGYvNUhHTUdwaTUvME56SnJDSG11ZmN4Q2lUVUgyekNqNE50T0VkRGgzaDZrUkFmc2MKc2xLZGZuWTdxM3lDdDdQRFNiaVY0WSttTndsU0pqM3czOGcxSW9YTkJFbG5rak5aM2hYd3FNSDNsMmZ4bDdHSgpwMUNxUWlHcXZQeEFERzVQREtYalFEUm5hRXBQWUVVem5vTjR3ZUlVeFZWTzhUSnNZaS9XTlNhSSsydThqZWtsCm1yMHVaZlhhaFZZcWtYdjM4QkZFSWtZcWtjTHBycWdPQ2JTQi9OTG14RTcyNTM4OFlHM1JHU1doa1d4ZmNYUFQKUmZkblIxcEErYUhrZkNOTFF0K0lGNzl6MzBQUEJjcmdYR0E4ZUhrRisvenhqRHV1SVdGMGMzb0lKbFZBclRjKwprd2dka3BUSk1CNko0d3NDZ2dFQkFOU3pLNkRDdWFLUTh2VUFHbks4ekZsYk8xZHpmQVhJdmtOWW1JVUV1RDQ4ClRtcGZheE96aVRSWEFWbjhZY3lReTdCbnFpRU95cTltYmZBOUhFSUkxS2hxSEV6MzYxUllXS200S1pmOUk0YjUKVTRsVUJ4bjhBaXNqWHk3bldGRnk4dGZwQ21ic1pjaGJxOStBNTAwQm52dEszWkE5SVU4ZWwxNThncXUrdnQrcQpZdjlONVhMcUVhTHNudDY1NU5iU2RZbmhjZGZTRDE1WlptL2dtR2JHVmx5VHUranAxMHkyZFVDQ3VHdzRIOENHClAxOHpBc1c2TjlCNlJCWk1LLzNNSHVkQi9IblJQUUZ5TkgvVFNQbFlFaTFxeWIzTXU3SU94MHdlUXBSMlVtNjcKdHdpTUN2VHNGOUpOSDNEcElHR0djUzliNlFoRVh6a3BTYmZvRVBIc3ljVUNnZ0VCQU45L3hZS0NrczhOdjlycwpqL1dtWjhVYjRWNlNJTjZTR2puVzhhMk5zdXJocmVjZ0wxN2JHTUdSMHlqUXVTV2djVG0vc254K3RvWklGRTZtCnNGajRNSGVMTGFyQllsbXQvcncyazRhekYrZGhsRm1DUkRYQUZqLzZ4aENlYzBxbmFEUlpyYS9oS21TMVJsR3YKODRYTkYrYTBLdW5WVDd3M25Dd0JycVp5Wk5Hb2VhNW9CbGlPYnNWT2RyS3RmSy93dVBoTGNNM2ZXQXg3NTNFMQpqV3VSc2hCc25oMjZFSDFtRUgxcVBmOFRWN3VWbWE5TzdJSDNFOVR6Y2I4YVNUbVMvTi9EbWtqajFteVVHSGM4CnJ2NkgraG1sNTRqNTN5OEJlQ29IV3NYS0p6Qjk1VnRSdVJJU0VtaVZCcW02MS93UDhBalFtZ1B3UVJMVDg4dmgKQWRUUW9Yc0NnZ0VBUmFiS2thRlNrdGF1aU9aWXd0dnFleFJ5RVVnakErM2h5RUg1NkExTW5DeTViUUlFR1hhQQpacUJiTS9GK3dUTmxVRVlTSXpNcDBsaFRoZ2tzK0w3VmpMVDZ3WVdxRFh2RXhRY21yN3ZZWjNtOERrdHk2K0puCmYyTGM1NG9nbE1OMG5KbVdxMitjUVFrcjlrdks4cCttUlJvV0JnYk9vbzhjK0hjRGYyUStNeFlqeHdEbU0wUk4KTkRJU01GTmxpYWR2a0JCQWJIRkFVU0FyZUZWdThyRGVWUUNYMTBURUdUM2lsWlo0K0E5RTdwSEhyTkFTaDFkYwpzYXRvSW5rZEtzWXVGSUs2UDlYeUNVZ3h3dTRZaG5aOXRWdXo1ckJsZ29CdWFSRzdzY3d4WUV1ZU8zRklvVDJ5CjYwNFFEclI0d3hiNGQ0NjhkOVdUN1M4RkVmRXZvMWxzRlFLQ0FRRUFrNmlpMFlmTGkvNnk4TVQ5dDgrZ1FqazYKTkhWZkRzYnc5c1hKWXZWWGswb0tUN1lBTVBmcnlkS0F0akZ5YlBBcGFDS3dPQlpqcFBySGh0Vy9HdkVub3VpRworQkVIM2x2S0NOUzBlQUVUVC8rNzlNTmVRRjBOazZhb2ZGNFRBei8yaWduMTJESXY5c1Y4NFJVc1VMVmw5bHlGCkpmdktLb1E1ZEg4WnhPQW9HVEVRRDhJdG0ra0FqdmppYnM4RFlnREp2VVRGZnFYcUtxOVJTK2VLS1VZWUM3VGYKejRub0Mvb0c3ZlA1cEpna0dlNU1EbFhHb05GUFNXZzJKVzRPbU1YZmV3WW80MmNOQnhsc0ROUXFYSnFSdXAyRwplT2xNaXU2SmRsak9CRFc5RG8xbHhVaG9JOG9SdW5JRVVGdEN5MUdFWHpYaWdOQ21vbE1qQjUveDJYTzFvZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="} - } - ] -} diff --git a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.northcentralus.json b/azure/_output/fabricnlp9/kubeconfig/kubeconfig.northcentralus.json deleted file mode 100644 index 638f0ad..0000000 --- a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.northcentralus.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "apiVersion": "v1", - "clusters": [ - { - "cluster": { - "certificate-authority-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRVkZsMU1sZDA5L0xUazJRMk5JWG1GREFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1UQXdOREF4TkRaYUZ3MHhPVEV5TVRBd05EQXhORFphTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFzZmxGCmNvZCtwMTB4REdUM2ZXWm12K21OYXRhU2w4MFAzNTkrQ3JFWEY5OHYzaHdsQyt6eGpFRXhpZEdHSkdBcWpIc3QKdFlOREg5aG81bHdSWTROamJKcUJJZ3cvcDZ5RXB5WGg1MVliRFA2dDd6bHp3UVMyRjlJKzJ5aG02TWd3V3dSTQpkTmxHb1pzamFrbFJucTBWbXZ6eVk4WGVCVi84TllRb0QzNE1OdVZXVjZ0R0daeWZpdDFFT3YydCtqTnNLdXBRCm4xRGh4RGJkNE9LT3hvaC9md1hnL0tHU1gwWlRyUUY1eUV4c1VOaFdyQncrQnZ0Q2twdHc2aU1hT1Vhb0tVaDkKczVrTTA3clhCY0xmU2FuZ0FBVHZTMWQzNWZmaENZQmxseGl4Sk11QWFMcFNLaHlzekR2Z1BEV2dnUjcvRVZZUApaSDlMSlgwL20vT25DcFl2eURkUE0zeEhLd0pvbkdYS0tmMW1UTE5GUjE2b0YxU3N6QlZWZFNXc1FSSHNCTkdVCmMyZEYvRjZKaDBEV0JQZ2pINnJDOGhFNWFnQmY1Z09oa1hJVnJwZXo4cGtiUmRTampEbWpXWFkwMjkxY2lIRWUKdXlCWFh6MlVoeEJ6c2Y5QmVFUm5LTTBnQ2xLeEtid0dGTjRlc1djTzBEcEhlNm1YK3pnS3ZvSytIUHlVczhnUApkOU9wMU9zZWRIQ0NKWFl4TlIycWw0OFVBcmpENGYycHYxY2ZFekpORWpjb1FwbXlwSmtwUTRjbUZWMnREdjhhCksrS1NYajJvNEVwN1dJVFBEVWtuU3llN3pPamNPeFNmTG9XeWtldGcyZjZnSWVqemFJUm9XbVNkMlR0OHlwRUwKOVBkcXNKVWljbnkzOXNPcUNLYWxMeTRrdThWZ1FQMHVadDFPYW9FQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFGbU5NblhrCjN6YkhHeFNNRTR0bzJsWWJtQmZ1eGFpYlJhYnJpdExZMnEzUkpXNEhxNUVSZC80bm43TmRLWnZBbEh4ZXV2TTYKS1IxWTV1VGp3YjlZckp0VUI4eDlXR2w5R1RhVzNhZTlRZGR5Y1RHMEh6a1owWGFEcGp4ZExWcmVlWUYvRlBTQwp6djVjanhDUytqa3AzM1dGWm9nT2Z0Sjl1Nk9yKzNZV2NVeFBTV1JLeTZTSmVJN2pnWHlnM1hhZk9FbmI1bFJDCktSRit2dFk4cWhsT21uWnRSM1BaTDdsWGNDZGhqZFpRQ2Z2eTdaWVpmajIwckxJMFZVOWtoTFJVSWt2MDdJd0EKaEwwZkRXRVBnek9oM1JBOE1nMityT0EvUmJBVE45U0hCMEYzZXNpa2V6OUxmei82QjVLTitqRyt1TStEZjFxSwo1QlpSYnc1alNsQU9wZ2dBbzJhbDlBUVFIekdpRDRsQnpscy9wVFRFQXBERVVqempHWjY2WlhucTVrTDBjU0xmCmhwQjNPbDY4cldySVRxRDNSK2dJZDZXRGRWbVN6QXFxYnJVRHNQVXVjNWwvcFB6MWFBSjQrSlh1aFd2MzVXSXgKWTRscy9GY3VORks5bXhUS0dOeFdsWnh6aXpsK0tKenIrT09YaHAzQkhaTFpwRFFudmI4YnptZjRxNmFubGl1SQpsWmlRbEk4UUp6cWRpVEtNYTJ4dkMxTm5TS1ZNNHpISmZFWEliQ1ptMnkxQXNoQkRBSDFoczAyci9wdXlsM3QwCjdKcVQ3Y2VDanZESy9uRjQ3RUZ1c2tzV0dQMUJpRXlONExxbFJWeXB3MFA1MlFsMDJuRHFZbnlzSXZxS051RGIKQkJ2aUN3ajMzUGhCSldlWjNoNlBkaHNObUY2SVEwNjI3MVp4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", - "server": "https://fabricnlp9.northcentralus.cloudapp.azure.com" - }, - "name": "fabricnlp9" - } - ], - "contexts": [ - { - "context": { - "cluster": "fabricnlp9", - "user": "fabricnlp9-admin" - }, - "name": "fabricnlp9" - } - ], - "current-context": "fabricnlp9", - "kind": "Config", - "users": [ - { - "name": "fabricnlp9-admin", - "user": {"client-certificate-data":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUw0bWp3MmNCMUp6L3cxa05meXY4SzR3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qRXdNRFF3TVRRNFdoY05NVGt4TWpFd01EUXdNVFE0V2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXlaRCtySURBem51NUlXekZVbjFuQ28zRHREdTAKVWRtcFY5V3huZkszK0tHSFF1cmhGaEtVa2h1UnNMUnptMVJ1L2VWM2xHM3B5eXl0ZzFOeEdtZDJ3TlNTMEsvRApQNjlRL0RkaGlZQ1FMMnJJZ2NGaGZaTU1DOFVhcFg5SlEzc1RpMVhtWjMzMTBhVkVGaksxRlR0Y1kyWjVPOC9GCmZMSDZ0ZGw2a1Mrd3dwWHNmeXJ3WkRzZWw0SjVaYmxsTml5Y1JOc1VKQTQ4SzRWdnFGT05pbmRUQS80N1ZITDcKY0dlbS9xTm9qRHpTRHVoL2xzY3IxU1F2bGR6eTJnMnlJUFJhOEorZUt2UThFWnFzclBjL2xXQmdDVEowcFkxQwo5ZFVqQXdTLy93MW0wd204NUQ0MGppbVVzTDc2Y29NVG9YQ3d0WEdhWnlQTjJZUVNhRHBFbHNBQm8xZG1zS0ZCCnYwb2dpdDNxcWRuenVMVlpubFhyTDYyYUs4Q1lCcWNybEFuUW4rM0c3Rnpva00rRFlpcExnSVB6RFRyaW1OMkkKUFdtYi90Unp2dFhkWSsybzFEaGR2RHU4ZmM3ZUZnemZCcUZnWVpDOXlISjBka28vY3JtSTJMaXlud0Zwak82UgpCT204cHBWSzg4THJ4OWx3MTh4ZExkRklkZDgrUThJeHFVdEJzSVJiY2pSVVVyUlBXWnFXNjNCQ1NTK3ZjbE5pCnk3Q25NYkVKR0YrL29nSWNVYnFOb0tDRGc2Q0U1L3VyZENGcEc1MTBZejVvZHdxblJxZ2hUczE5US9XMjlibUIKVUlyUmhOdCtPRjBRYVZnVVZhSk9Pam5iL0tQb0lvKytkZUZjSjdJZFk4OVFEYkFYcEpCQjA5NXRsYkdNU3BJNQpPTTRwc2M2NGpHeURXbmNDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVkRGpmTkYKY0RXeHdaMm02YnB3TmdIUkVTdk80WVhhSng2WjlKbDRIeGhFMTJJOFpYSWdWemQ1ZHFmTk54SEkvODFXWHdsLwo3RmdESjBmKy9Ca2xaeEtDeWVpd2dwOHQvRDBLdFQ2Ny9ndTM0QnAxWEpVMnJoRkczREZhR2ZLUlRZVzZlUXFnCnFORHpaSFpKY0JuUEI1WjdxVkVPOGlBSk5PSzJqZDNXcGQycnhuUWJBU0hpbXVIc04vUVEvU084ekpNSEZZVCsKZ0lNM0NCR0gzUVQ3d1JSa3hxWEhkOVgrTkVtZ2pmL1laUm1GTDMrR3hGc0NZczhzcmQ5LzBCOXRoUDBBTDhzRApWNk1ybGVBVXZVdE41dUJQR1BDSW1raVA2d2xNZDdyamhmaUhWZTNyWEFvTmZwWitGZ3g5OUJuVHBMUXFhYTZMCldJQzNNbXpJZmVHZTNuZExHODE0Vi81YU9XeE53VzEvZFAzMThlK0d2dENHeUNSYUdBNnRsTThkdGtJU1licmgKYjJWVWlneEI5OGVMS0pTdU8rSDdZRENLbGRXWnpYeU9WODNYZWswVlZpWDl1TVRyWVQ0TU14M1ZTd2xBSXc3Vgp2eW5Ub2ViQlc2OERnV0FXMjRoR1FDVmd2WHpnUDBJdlpsUlhmMGZXRWpKWklQdHFnbnp3bVpmbkF1WkhKcGNZCjc2eUVJMTM1WXh5d1VPOGR5SEJsMEFIcldvZWZsY0ZtNjloRk9zZk1SdGxVTUhDeVhWdHFwRXp3dFYvVWZBVU0KaEp0L2pvREJTQUE1cHFud0I2SCtpNkpYOGlUcGt4SEt4UnNWaE5CQVRkelN5MERPejhPVm01cllKWnlqQlhRbApXL3ZOUDVlTGVwdk9xUm4zRFBqdy92SkFHMGl6d09MVTZVWUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=","client-key-data":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeVpEK3JJREF6bnU1SVd6RlVuMW5DbzNEdER1MFVkbXBWOVd4bmZLMytLR0hRdXJoCkZoS1VraHVSc0xSem0xUnUvZVYzbEczcHl5eXRnMU54R21kMndOU1MwSy9EUDY5US9EZGhpWUNRTDJySWdjRmgKZlpNTUM4VWFwWDlKUTNzVGkxWG1aMzMxMGFWRUZqSzFGVHRjWTJaNU84L0ZmTEg2dGRsNmtTK3d3cFhzZnlydwpaRHNlbDRKNVpibGxOaXljUk5zVUpBNDhLNFZ2cUZPTmluZFRBLzQ3VkhMN2NHZW0vcU5vakR6U0R1aC9sc2NyCjFTUXZsZHp5MmcyeUlQUmE4SitlS3ZROEVacXNyUGMvbFdCZ0NUSjBwWTFDOWRVakF3Uy8vdzFtMHdtODVENDAKamltVXNMNzZjb01Ub1hDd3RYR2FaeVBOMllRU2FEcEVsc0FCbzFkbXNLRkJ2MG9naXQzcXFkbnp1TFZabmxYcgpMNjJhSzhDWUJxY3JsQW5RbiszRzdGem9rTStEWWlwTGdJUHpEVHJpbU4ySVBXbWIvdFJ6dnRYZFkrMm8xRGhkCnZEdThmYzdlRmd6ZkJxRmdZWkM5eUhKMGRrby9jcm1JMkxpeW53RnBqTzZSQk9tOHBwVks4OExyeDlsdzE4eGQKTGRGSWRkOCtROEl4cVV0QnNJUmJjalJVVXJSUFdacVc2M0JDU1MrdmNsTml5N0NuTWJFSkdGKy9vZ0ljVWJxTgpvS0NEZzZDRTUvdXJkQ0ZwRzUxMFl6NW9kd3FuUnFnaFRzMTlRL1cyOWJtQlVJclJoTnQrT0YwUWFWZ1VWYUpPCk9qbmIvS1BvSW8rK2RlRmNKN0lkWTg5UURiQVhwSkJCMDk1dGxiR01TcEk1T000cHNjNjRqR3lEV25jQ0F3RUEKQVFLQ0FnRUFqOVpQVm13ZXFucHh0dDkyeEJIRzZTb1c0TlBHTHE2RGdMRjJxVDdlZDZkVTdiVE00TUpya1FQcAphRTZ0UE1mNDJHZmFlR29pN3lDM3hVSlRNTU5xWTlxTjFpdkd5ZmhpYzBsVjZoaDdTOHNJd0VkdU9YMG9tSEdVClBVdGl6YXZUVzVmMTdoNWR2N2dPcVVTUUlsR1U4VDNiLzRtWjVRemcyc29TQSs4alZRaEZsczNlYzdnWWNZZmkKOTJ0Z1JWTjZSRXlOeDlqOHFSWDBnd3Iwc3ozSldNMGdLM2hONDMya0Zvd25mQU9lNXBLVkVkU1plK1R4ckNEYQprQzQ3MGZadHVzNDh3V3crUFZYQ0tUL2ErTTZvV1lmTzQ2QzFpdFlJd1F1dnN1TXVZQ1RQelpSeVRveHZsZDBDCnZacTU5SGVGTWtXYUtFWE5qSTRKMEtUYjh6T2JObDZ0ajhVYnl6eFNKRVlVNWc4ajNNdEFXalRqUzhNWHpsNlgKakN3aEFGNnNUOTFZeW5Mc3Z1RVZSbTBsZHB0UkIwcExHMjgwci94ODhaSFlDR0YwdnI4TGRLei80MDBhdFFMWQprZGI5RUNDa2pPbVdIdmZVVlZPMjZBeVljWnA1b0k0clhYdGlEVHU4V0dVakhzUzBWc3ljZERqRXRBbzlYYndtCnpONGxMQmE5VFdvRDI5TlNmaUdlYTd1bzFlZ0h3WDlXbWdyUU5rdkM5cmJSTTZ6Z2xzbzRkWCtkQW9uaFRNbVMKQmRLYVhybzUrdFVSK09SditFUG5tZHpYb01uaGlibWRZYVZoc0xTY2FsaSs4MmZZdGJGQllCd1RtWHdZL0NzUAoxSW04Vkx2VDZQVkRUZ2Fjc2JMRVRZemhoNmhFMXQ3Y1F6TE83Zk4xbjJURnJjcEhKZGtDZ2dFQkFQS1ptbnBnClB1VWJubi9OK3R5clh2SGYvNUhHTUdwaTUvME56SnJDSG11ZmN4Q2lUVUgyekNqNE50T0VkRGgzaDZrUkFmc2MKc2xLZGZuWTdxM3lDdDdQRFNiaVY0WSttTndsU0pqM3czOGcxSW9YTkJFbG5rak5aM2hYd3FNSDNsMmZ4bDdHSgpwMUNxUWlHcXZQeEFERzVQREtYalFEUm5hRXBQWUVVem5vTjR3ZUlVeFZWTzhUSnNZaS9XTlNhSSsydThqZWtsCm1yMHVaZlhhaFZZcWtYdjM4QkZFSWtZcWtjTHBycWdPQ2JTQi9OTG14RTcyNTM4OFlHM1JHU1doa1d4ZmNYUFQKUmZkblIxcEErYUhrZkNOTFF0K0lGNzl6MzBQUEJjcmdYR0E4ZUhrRisvenhqRHV1SVdGMGMzb0lKbFZBclRjKwprd2dka3BUSk1CNko0d3NDZ2dFQkFOU3pLNkRDdWFLUTh2VUFHbks4ekZsYk8xZHpmQVhJdmtOWW1JVUV1RDQ4ClRtcGZheE96aVRSWEFWbjhZY3lReTdCbnFpRU95cTltYmZBOUhFSUkxS2hxSEV6MzYxUllXS200S1pmOUk0YjUKVTRsVUJ4bjhBaXNqWHk3bldGRnk4dGZwQ21ic1pjaGJxOStBNTAwQm52dEszWkE5SVU4ZWwxNThncXUrdnQrcQpZdjlONVhMcUVhTHNudDY1NU5iU2RZbmhjZGZTRDE1WlptL2dtR2JHVmx5VHUranAxMHkyZFVDQ3VHdzRIOENHClAxOHpBc1c2TjlCNlJCWk1LLzNNSHVkQi9IblJQUUZ5TkgvVFNQbFlFaTFxeWIzTXU3SU94MHdlUXBSMlVtNjcKdHdpTUN2VHNGOUpOSDNEcElHR0djUzliNlFoRVh6a3BTYmZvRVBIc3ljVUNnZ0VCQU45L3hZS0NrczhOdjlycwpqL1dtWjhVYjRWNlNJTjZTR2puVzhhMk5zdXJocmVjZ0wxN2JHTUdSMHlqUXVTV2djVG0vc254K3RvWklGRTZtCnNGajRNSGVMTGFyQllsbXQvcncyazRhekYrZGhsRm1DUkRYQUZqLzZ4aENlYzBxbmFEUlpyYS9oS21TMVJsR3YKODRYTkYrYTBLdW5WVDd3M25Dd0JycVp5Wk5Hb2VhNW9CbGlPYnNWT2RyS3RmSy93dVBoTGNNM2ZXQXg3NTNFMQpqV3VSc2hCc25oMjZFSDFtRUgxcVBmOFRWN3VWbWE5TzdJSDNFOVR6Y2I4YVNUbVMvTi9EbWtqajFteVVHSGM4CnJ2NkgraG1sNTRqNTN5OEJlQ29IV3NYS0p6Qjk1VnRSdVJJU0VtaVZCcW02MS93UDhBalFtZ1B3UVJMVDg4dmgKQWRUUW9Yc0NnZ0VBUmFiS2thRlNrdGF1aU9aWXd0dnFleFJ5RVVnakErM2h5RUg1NkExTW5DeTViUUlFR1hhQQpacUJiTS9GK3dUTmxVRVlTSXpNcDBsaFRoZ2tzK0w3VmpMVDZ3WVdxRFh2RXhRY21yN3ZZWjNtOERrdHk2K0puCmYyTGM1NG9nbE1OMG5KbVdxMitjUVFrcjlrdks4cCttUlJvV0JnYk9vbzhjK0hjRGYyUStNeFlqeHdEbU0wUk4KTkRJU01GTmxpYWR2a0JCQWJIRkFVU0FyZUZWdThyRGVWUUNYMTBURUdUM2lsWlo0K0E5RTdwSEhyTkFTaDFkYwpzYXRvSW5rZEtzWXVGSUs2UDlYeUNVZ3h3dTRZaG5aOXRWdXo1ckJsZ29CdWFSRzdzY3d4WUV1ZU8zRklvVDJ5CjYwNFFEclI0d3hiNGQ0NjhkOVdUN1M4RkVmRXZvMWxzRlFLQ0FRRUFrNmlpMFlmTGkvNnk4TVQ5dDgrZ1FqazYKTkhWZkRzYnc5c1hKWXZWWGswb0tUN1lBTVBmcnlkS0F0akZ5YlBBcGFDS3dPQlpqcFBySGh0Vy9HdkVub3VpRworQkVIM2x2S0NOUzBlQUVUVC8rNzlNTmVRRjBOazZhb2ZGNFRBei8yaWduMTJESXY5c1Y4NFJVc1VMVmw5bHlGCkpmdktLb1E1ZEg4WnhPQW9HVEVRRDhJdG0ra0FqdmppYnM4RFlnREp2VVRGZnFYcUtxOVJTK2VLS1VZWUM3VGYKejRub0Mvb0c3ZlA1cEpna0dlNU1EbFhHb05GUFNXZzJKVzRPbU1YZmV3WW80MmNOQnhsc0ROUXFYSnFSdXAyRwplT2xNaXU2SmRsak9CRFc5RG8xbHhVaG9JOG9SdW5JRVVGdEN5MUdFWHpYaWdOQ21vbE1qQjUveDJYTzFvZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="} - } - ] -} diff --git a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.northeurope.json b/azure/_output/fabricnlp9/kubeconfig/kubeconfig.northeurope.json deleted file mode 100644 index 54ba19a..0000000 --- a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.northeurope.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "apiVersion": "v1", - "clusters": [ - { - "cluster": { - "certificate-authority-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRVkZsMU1sZDA5L0xUazJRMk5JWG1GREFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1UQXdOREF4TkRaYUZ3MHhPVEV5TVRBd05EQXhORFphTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFzZmxGCmNvZCtwMTB4REdUM2ZXWm12K21OYXRhU2w4MFAzNTkrQ3JFWEY5OHYzaHdsQyt6eGpFRXhpZEdHSkdBcWpIc3QKdFlOREg5aG81bHdSWTROamJKcUJJZ3cvcDZ5RXB5WGg1MVliRFA2dDd6bHp3UVMyRjlJKzJ5aG02TWd3V3dSTQpkTmxHb1pzamFrbFJucTBWbXZ6eVk4WGVCVi84TllRb0QzNE1OdVZXVjZ0R0daeWZpdDFFT3YydCtqTnNLdXBRCm4xRGh4RGJkNE9LT3hvaC9md1hnL0tHU1gwWlRyUUY1eUV4c1VOaFdyQncrQnZ0Q2twdHc2aU1hT1Vhb0tVaDkKczVrTTA3clhCY0xmU2FuZ0FBVHZTMWQzNWZmaENZQmxseGl4Sk11QWFMcFNLaHlzekR2Z1BEV2dnUjcvRVZZUApaSDlMSlgwL20vT25DcFl2eURkUE0zeEhLd0pvbkdYS0tmMW1UTE5GUjE2b0YxU3N6QlZWZFNXc1FSSHNCTkdVCmMyZEYvRjZKaDBEV0JQZ2pINnJDOGhFNWFnQmY1Z09oa1hJVnJwZXo4cGtiUmRTampEbWpXWFkwMjkxY2lIRWUKdXlCWFh6MlVoeEJ6c2Y5QmVFUm5LTTBnQ2xLeEtid0dGTjRlc1djTzBEcEhlNm1YK3pnS3ZvSytIUHlVczhnUApkOU9wMU9zZWRIQ0NKWFl4TlIycWw0OFVBcmpENGYycHYxY2ZFekpORWpjb1FwbXlwSmtwUTRjbUZWMnREdjhhCksrS1NYajJvNEVwN1dJVFBEVWtuU3llN3pPamNPeFNmTG9XeWtldGcyZjZnSWVqemFJUm9XbVNkMlR0OHlwRUwKOVBkcXNKVWljbnkzOXNPcUNLYWxMeTRrdThWZ1FQMHVadDFPYW9FQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFGbU5NblhrCjN6YkhHeFNNRTR0bzJsWWJtQmZ1eGFpYlJhYnJpdExZMnEzUkpXNEhxNUVSZC80bm43TmRLWnZBbEh4ZXV2TTYKS1IxWTV1VGp3YjlZckp0VUI4eDlXR2w5R1RhVzNhZTlRZGR5Y1RHMEh6a1owWGFEcGp4ZExWcmVlWUYvRlBTQwp6djVjanhDUytqa3AzM1dGWm9nT2Z0Sjl1Nk9yKzNZV2NVeFBTV1JLeTZTSmVJN2pnWHlnM1hhZk9FbmI1bFJDCktSRit2dFk4cWhsT21uWnRSM1BaTDdsWGNDZGhqZFpRQ2Z2eTdaWVpmajIwckxJMFZVOWtoTFJVSWt2MDdJd0EKaEwwZkRXRVBnek9oM1JBOE1nMityT0EvUmJBVE45U0hCMEYzZXNpa2V6OUxmei82QjVLTitqRyt1TStEZjFxSwo1QlpSYnc1alNsQU9wZ2dBbzJhbDlBUVFIekdpRDRsQnpscy9wVFRFQXBERVVqempHWjY2WlhucTVrTDBjU0xmCmhwQjNPbDY4cldySVRxRDNSK2dJZDZXRGRWbVN6QXFxYnJVRHNQVXVjNWwvcFB6MWFBSjQrSlh1aFd2MzVXSXgKWTRscy9GY3VORks5bXhUS0dOeFdsWnh6aXpsK0tKenIrT09YaHAzQkhaTFpwRFFudmI4YnptZjRxNmFubGl1SQpsWmlRbEk4UUp6cWRpVEtNYTJ4dkMxTm5TS1ZNNHpISmZFWEliQ1ptMnkxQXNoQkRBSDFoczAyci9wdXlsM3QwCjdKcVQ3Y2VDanZESy9uRjQ3RUZ1c2tzV0dQMUJpRXlONExxbFJWeXB3MFA1MlFsMDJuRHFZbnlzSXZxS051RGIKQkJ2aUN3ajMzUGhCSldlWjNoNlBkaHNObUY2SVEwNjI3MVp4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", - "server": "https://fabricnlp9.northeurope.cloudapp.azure.com" - }, - "name": "fabricnlp9" - } - ], - "contexts": [ - { - "context": { - "cluster": "fabricnlp9", - "user": "fabricnlp9-admin" - }, - "name": "fabricnlp9" - } - ], - "current-context": "fabricnlp9", - "kind": "Config", - "users": [ - { - "name": "fabricnlp9-admin", - "user": {"client-certificate-data":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUw0bWp3MmNCMUp6L3cxa05meXY4SzR3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qRXdNRFF3TVRRNFdoY05NVGt4TWpFd01EUXdNVFE0V2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXlaRCtySURBem51NUlXekZVbjFuQ28zRHREdTAKVWRtcFY5V3huZkszK0tHSFF1cmhGaEtVa2h1UnNMUnptMVJ1L2VWM2xHM3B5eXl0ZzFOeEdtZDJ3TlNTMEsvRApQNjlRL0RkaGlZQ1FMMnJJZ2NGaGZaTU1DOFVhcFg5SlEzc1RpMVhtWjMzMTBhVkVGaksxRlR0Y1kyWjVPOC9GCmZMSDZ0ZGw2a1Mrd3dwWHNmeXJ3WkRzZWw0SjVaYmxsTml5Y1JOc1VKQTQ4SzRWdnFGT05pbmRUQS80N1ZITDcKY0dlbS9xTm9qRHpTRHVoL2xzY3IxU1F2bGR6eTJnMnlJUFJhOEorZUt2UThFWnFzclBjL2xXQmdDVEowcFkxQwo5ZFVqQXdTLy93MW0wd204NUQ0MGppbVVzTDc2Y29NVG9YQ3d0WEdhWnlQTjJZUVNhRHBFbHNBQm8xZG1zS0ZCCnYwb2dpdDNxcWRuenVMVlpubFhyTDYyYUs4Q1lCcWNybEFuUW4rM0c3Rnpva00rRFlpcExnSVB6RFRyaW1OMkkKUFdtYi90Unp2dFhkWSsybzFEaGR2RHU4ZmM3ZUZnemZCcUZnWVpDOXlISjBka28vY3JtSTJMaXlud0Zwak82UgpCT204cHBWSzg4THJ4OWx3MTh4ZExkRklkZDgrUThJeHFVdEJzSVJiY2pSVVVyUlBXWnFXNjNCQ1NTK3ZjbE5pCnk3Q25NYkVKR0YrL29nSWNVYnFOb0tDRGc2Q0U1L3VyZENGcEc1MTBZejVvZHdxblJxZ2hUczE5US9XMjlibUIKVUlyUmhOdCtPRjBRYVZnVVZhSk9Pam5iL0tQb0lvKytkZUZjSjdJZFk4OVFEYkFYcEpCQjA5NXRsYkdNU3BJNQpPTTRwc2M2NGpHeURXbmNDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVkRGpmTkYKY0RXeHdaMm02YnB3TmdIUkVTdk80WVhhSng2WjlKbDRIeGhFMTJJOFpYSWdWemQ1ZHFmTk54SEkvODFXWHdsLwo3RmdESjBmKy9Ca2xaeEtDeWVpd2dwOHQvRDBLdFQ2Ny9ndTM0QnAxWEpVMnJoRkczREZhR2ZLUlRZVzZlUXFnCnFORHpaSFpKY0JuUEI1WjdxVkVPOGlBSk5PSzJqZDNXcGQycnhuUWJBU0hpbXVIc04vUVEvU084ekpNSEZZVCsKZ0lNM0NCR0gzUVQ3d1JSa3hxWEhkOVgrTkVtZ2pmL1laUm1GTDMrR3hGc0NZczhzcmQ5LzBCOXRoUDBBTDhzRApWNk1ybGVBVXZVdE41dUJQR1BDSW1raVA2d2xNZDdyamhmaUhWZTNyWEFvTmZwWitGZ3g5OUJuVHBMUXFhYTZMCldJQzNNbXpJZmVHZTNuZExHODE0Vi81YU9XeE53VzEvZFAzMThlK0d2dENHeUNSYUdBNnRsTThkdGtJU1licmgKYjJWVWlneEI5OGVMS0pTdU8rSDdZRENLbGRXWnpYeU9WODNYZWswVlZpWDl1TVRyWVQ0TU14M1ZTd2xBSXc3Vgp2eW5Ub2ViQlc2OERnV0FXMjRoR1FDVmd2WHpnUDBJdlpsUlhmMGZXRWpKWklQdHFnbnp3bVpmbkF1WkhKcGNZCjc2eUVJMTM1WXh5d1VPOGR5SEJsMEFIcldvZWZsY0ZtNjloRk9zZk1SdGxVTUhDeVhWdHFwRXp3dFYvVWZBVU0KaEp0L2pvREJTQUE1cHFud0I2SCtpNkpYOGlUcGt4SEt4UnNWaE5CQVRkelN5MERPejhPVm01cllKWnlqQlhRbApXL3ZOUDVlTGVwdk9xUm4zRFBqdy92SkFHMGl6d09MVTZVWUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=","client-key-data":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeVpEK3JJREF6bnU1SVd6RlVuMW5DbzNEdER1MFVkbXBWOVd4bmZLMytLR0hRdXJoCkZoS1VraHVSc0xSem0xUnUvZVYzbEczcHl5eXRnMU54R21kMndOU1MwSy9EUDY5US9EZGhpWUNRTDJySWdjRmgKZlpNTUM4VWFwWDlKUTNzVGkxWG1aMzMxMGFWRUZqSzFGVHRjWTJaNU84L0ZmTEg2dGRsNmtTK3d3cFhzZnlydwpaRHNlbDRKNVpibGxOaXljUk5zVUpBNDhLNFZ2cUZPTmluZFRBLzQ3VkhMN2NHZW0vcU5vakR6U0R1aC9sc2NyCjFTUXZsZHp5MmcyeUlQUmE4SitlS3ZROEVacXNyUGMvbFdCZ0NUSjBwWTFDOWRVakF3Uy8vdzFtMHdtODVENDAKamltVXNMNzZjb01Ub1hDd3RYR2FaeVBOMllRU2FEcEVsc0FCbzFkbXNLRkJ2MG9naXQzcXFkbnp1TFZabmxYcgpMNjJhSzhDWUJxY3JsQW5RbiszRzdGem9rTStEWWlwTGdJUHpEVHJpbU4ySVBXbWIvdFJ6dnRYZFkrMm8xRGhkCnZEdThmYzdlRmd6ZkJxRmdZWkM5eUhKMGRrby9jcm1JMkxpeW53RnBqTzZSQk9tOHBwVks4OExyeDlsdzE4eGQKTGRGSWRkOCtROEl4cVV0QnNJUmJjalJVVXJSUFdacVc2M0JDU1MrdmNsTml5N0NuTWJFSkdGKy9vZ0ljVWJxTgpvS0NEZzZDRTUvdXJkQ0ZwRzUxMFl6NW9kd3FuUnFnaFRzMTlRL1cyOWJtQlVJclJoTnQrT0YwUWFWZ1VWYUpPCk9qbmIvS1BvSW8rK2RlRmNKN0lkWTg5UURiQVhwSkJCMDk1dGxiR01TcEk1T000cHNjNjRqR3lEV25jQ0F3RUEKQVFLQ0FnRUFqOVpQVm13ZXFucHh0dDkyeEJIRzZTb1c0TlBHTHE2RGdMRjJxVDdlZDZkVTdiVE00TUpya1FQcAphRTZ0UE1mNDJHZmFlR29pN3lDM3hVSlRNTU5xWTlxTjFpdkd5ZmhpYzBsVjZoaDdTOHNJd0VkdU9YMG9tSEdVClBVdGl6YXZUVzVmMTdoNWR2N2dPcVVTUUlsR1U4VDNiLzRtWjVRemcyc29TQSs4alZRaEZsczNlYzdnWWNZZmkKOTJ0Z1JWTjZSRXlOeDlqOHFSWDBnd3Iwc3ozSldNMGdLM2hONDMya0Zvd25mQU9lNXBLVkVkU1plK1R4ckNEYQprQzQ3MGZadHVzNDh3V3crUFZYQ0tUL2ErTTZvV1lmTzQ2QzFpdFlJd1F1dnN1TXVZQ1RQelpSeVRveHZsZDBDCnZacTU5SGVGTWtXYUtFWE5qSTRKMEtUYjh6T2JObDZ0ajhVYnl6eFNKRVlVNWc4ajNNdEFXalRqUzhNWHpsNlgKakN3aEFGNnNUOTFZeW5Mc3Z1RVZSbTBsZHB0UkIwcExHMjgwci94ODhaSFlDR0YwdnI4TGRLei80MDBhdFFMWQprZGI5RUNDa2pPbVdIdmZVVlZPMjZBeVljWnA1b0k0clhYdGlEVHU4V0dVakhzUzBWc3ljZERqRXRBbzlYYndtCnpONGxMQmE5VFdvRDI5TlNmaUdlYTd1bzFlZ0h3WDlXbWdyUU5rdkM5cmJSTTZ6Z2xzbzRkWCtkQW9uaFRNbVMKQmRLYVhybzUrdFVSK09SditFUG5tZHpYb01uaGlibWRZYVZoc0xTY2FsaSs4MmZZdGJGQllCd1RtWHdZL0NzUAoxSW04Vkx2VDZQVkRUZ2Fjc2JMRVRZemhoNmhFMXQ3Y1F6TE83Zk4xbjJURnJjcEhKZGtDZ2dFQkFQS1ptbnBnClB1VWJubi9OK3R5clh2SGYvNUhHTUdwaTUvME56SnJDSG11ZmN4Q2lUVUgyekNqNE50T0VkRGgzaDZrUkFmc2MKc2xLZGZuWTdxM3lDdDdQRFNiaVY0WSttTndsU0pqM3czOGcxSW9YTkJFbG5rak5aM2hYd3FNSDNsMmZ4bDdHSgpwMUNxUWlHcXZQeEFERzVQREtYalFEUm5hRXBQWUVVem5vTjR3ZUlVeFZWTzhUSnNZaS9XTlNhSSsydThqZWtsCm1yMHVaZlhhaFZZcWtYdjM4QkZFSWtZcWtjTHBycWdPQ2JTQi9OTG14RTcyNTM4OFlHM1JHU1doa1d4ZmNYUFQKUmZkblIxcEErYUhrZkNOTFF0K0lGNzl6MzBQUEJjcmdYR0E4ZUhrRisvenhqRHV1SVdGMGMzb0lKbFZBclRjKwprd2dka3BUSk1CNko0d3NDZ2dFQkFOU3pLNkRDdWFLUTh2VUFHbks4ekZsYk8xZHpmQVhJdmtOWW1JVUV1RDQ4ClRtcGZheE96aVRSWEFWbjhZY3lReTdCbnFpRU95cTltYmZBOUhFSUkxS2hxSEV6MzYxUllXS200S1pmOUk0YjUKVTRsVUJ4bjhBaXNqWHk3bldGRnk4dGZwQ21ic1pjaGJxOStBNTAwQm52dEszWkE5SVU4ZWwxNThncXUrdnQrcQpZdjlONVhMcUVhTHNudDY1NU5iU2RZbmhjZGZTRDE1WlptL2dtR2JHVmx5VHUranAxMHkyZFVDQ3VHdzRIOENHClAxOHpBc1c2TjlCNlJCWk1LLzNNSHVkQi9IblJQUUZ5TkgvVFNQbFlFaTFxeWIzTXU3SU94MHdlUXBSMlVtNjcKdHdpTUN2VHNGOUpOSDNEcElHR0djUzliNlFoRVh6a3BTYmZvRVBIc3ljVUNnZ0VCQU45L3hZS0NrczhOdjlycwpqL1dtWjhVYjRWNlNJTjZTR2puVzhhMk5zdXJocmVjZ0wxN2JHTUdSMHlqUXVTV2djVG0vc254K3RvWklGRTZtCnNGajRNSGVMTGFyQllsbXQvcncyazRhekYrZGhsRm1DUkRYQUZqLzZ4aENlYzBxbmFEUlpyYS9oS21TMVJsR3YKODRYTkYrYTBLdW5WVDd3M25Dd0JycVp5Wk5Hb2VhNW9CbGlPYnNWT2RyS3RmSy93dVBoTGNNM2ZXQXg3NTNFMQpqV3VSc2hCc25oMjZFSDFtRUgxcVBmOFRWN3VWbWE5TzdJSDNFOVR6Y2I4YVNUbVMvTi9EbWtqajFteVVHSGM4CnJ2NkgraG1sNTRqNTN5OEJlQ29IV3NYS0p6Qjk1VnRSdVJJU0VtaVZCcW02MS93UDhBalFtZ1B3UVJMVDg4dmgKQWRUUW9Yc0NnZ0VBUmFiS2thRlNrdGF1aU9aWXd0dnFleFJ5RVVnakErM2h5RUg1NkExTW5DeTViUUlFR1hhQQpacUJiTS9GK3dUTmxVRVlTSXpNcDBsaFRoZ2tzK0w3VmpMVDZ3WVdxRFh2RXhRY21yN3ZZWjNtOERrdHk2K0puCmYyTGM1NG9nbE1OMG5KbVdxMitjUVFrcjlrdks4cCttUlJvV0JnYk9vbzhjK0hjRGYyUStNeFlqeHdEbU0wUk4KTkRJU01GTmxpYWR2a0JCQWJIRkFVU0FyZUZWdThyRGVWUUNYMTBURUdUM2lsWlo0K0E5RTdwSEhyTkFTaDFkYwpzYXRvSW5rZEtzWXVGSUs2UDlYeUNVZ3h3dTRZaG5aOXRWdXo1ckJsZ29CdWFSRzdzY3d4WUV1ZU8zRklvVDJ5CjYwNFFEclI0d3hiNGQ0NjhkOVdUN1M4RkVmRXZvMWxzRlFLQ0FRRUFrNmlpMFlmTGkvNnk4TVQ5dDgrZ1FqazYKTkhWZkRzYnc5c1hKWXZWWGswb0tUN1lBTVBmcnlkS0F0akZ5YlBBcGFDS3dPQlpqcFBySGh0Vy9HdkVub3VpRworQkVIM2x2S0NOUzBlQUVUVC8rNzlNTmVRRjBOazZhb2ZGNFRBei8yaWduMTJESXY5c1Y4NFJVc1VMVmw5bHlGCkpmdktLb1E1ZEg4WnhPQW9HVEVRRDhJdG0ra0FqdmppYnM4RFlnREp2VVRGZnFYcUtxOVJTK2VLS1VZWUM3VGYKejRub0Mvb0c3ZlA1cEpna0dlNU1EbFhHb05GUFNXZzJKVzRPbU1YZmV3WW80MmNOQnhsc0ROUXFYSnFSdXAyRwplT2xNaXU2SmRsak9CRFc5RG8xbHhVaG9JOG9SdW5JRVVGdEN5MUdFWHpYaWdOQ21vbE1qQjUveDJYTzFvZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="} - } - ] -} diff --git a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.southcentralus.json b/azure/_output/fabricnlp9/kubeconfig/kubeconfig.southcentralus.json deleted file mode 100644 index 6c9ff48..0000000 --- a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.southcentralus.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "apiVersion": "v1", - "clusters": [ - { - "cluster": { - "certificate-authority-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRVkZsMU1sZDA5L0xUazJRMk5JWG1GREFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1UQXdOREF4TkRaYUZ3MHhPVEV5TVRBd05EQXhORFphTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFzZmxGCmNvZCtwMTB4REdUM2ZXWm12K21OYXRhU2w4MFAzNTkrQ3JFWEY5OHYzaHdsQyt6eGpFRXhpZEdHSkdBcWpIc3QKdFlOREg5aG81bHdSWTROamJKcUJJZ3cvcDZ5RXB5WGg1MVliRFA2dDd6bHp3UVMyRjlJKzJ5aG02TWd3V3dSTQpkTmxHb1pzamFrbFJucTBWbXZ6eVk4WGVCVi84TllRb0QzNE1OdVZXVjZ0R0daeWZpdDFFT3YydCtqTnNLdXBRCm4xRGh4RGJkNE9LT3hvaC9md1hnL0tHU1gwWlRyUUY1eUV4c1VOaFdyQncrQnZ0Q2twdHc2aU1hT1Vhb0tVaDkKczVrTTA3clhCY0xmU2FuZ0FBVHZTMWQzNWZmaENZQmxseGl4Sk11QWFMcFNLaHlzekR2Z1BEV2dnUjcvRVZZUApaSDlMSlgwL20vT25DcFl2eURkUE0zeEhLd0pvbkdYS0tmMW1UTE5GUjE2b0YxU3N6QlZWZFNXc1FSSHNCTkdVCmMyZEYvRjZKaDBEV0JQZ2pINnJDOGhFNWFnQmY1Z09oa1hJVnJwZXo4cGtiUmRTampEbWpXWFkwMjkxY2lIRWUKdXlCWFh6MlVoeEJ6c2Y5QmVFUm5LTTBnQ2xLeEtid0dGTjRlc1djTzBEcEhlNm1YK3pnS3ZvSytIUHlVczhnUApkOU9wMU9zZWRIQ0NKWFl4TlIycWw0OFVBcmpENGYycHYxY2ZFekpORWpjb1FwbXlwSmtwUTRjbUZWMnREdjhhCksrS1NYajJvNEVwN1dJVFBEVWtuU3llN3pPamNPeFNmTG9XeWtldGcyZjZnSWVqemFJUm9XbVNkMlR0OHlwRUwKOVBkcXNKVWljbnkzOXNPcUNLYWxMeTRrdThWZ1FQMHVadDFPYW9FQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFGbU5NblhrCjN6YkhHeFNNRTR0bzJsWWJtQmZ1eGFpYlJhYnJpdExZMnEzUkpXNEhxNUVSZC80bm43TmRLWnZBbEh4ZXV2TTYKS1IxWTV1VGp3YjlZckp0VUI4eDlXR2w5R1RhVzNhZTlRZGR5Y1RHMEh6a1owWGFEcGp4ZExWcmVlWUYvRlBTQwp6djVjanhDUytqa3AzM1dGWm9nT2Z0Sjl1Nk9yKzNZV2NVeFBTV1JLeTZTSmVJN2pnWHlnM1hhZk9FbmI1bFJDCktSRit2dFk4cWhsT21uWnRSM1BaTDdsWGNDZGhqZFpRQ2Z2eTdaWVpmajIwckxJMFZVOWtoTFJVSWt2MDdJd0EKaEwwZkRXRVBnek9oM1JBOE1nMityT0EvUmJBVE45U0hCMEYzZXNpa2V6OUxmei82QjVLTitqRyt1TStEZjFxSwo1QlpSYnc1alNsQU9wZ2dBbzJhbDlBUVFIekdpRDRsQnpscy9wVFRFQXBERVVqempHWjY2WlhucTVrTDBjU0xmCmhwQjNPbDY4cldySVRxRDNSK2dJZDZXRGRWbVN6QXFxYnJVRHNQVXVjNWwvcFB6MWFBSjQrSlh1aFd2MzVXSXgKWTRscy9GY3VORks5bXhUS0dOeFdsWnh6aXpsK0tKenIrT09YaHAzQkhaTFpwRFFudmI4YnptZjRxNmFubGl1SQpsWmlRbEk4UUp6cWRpVEtNYTJ4dkMxTm5TS1ZNNHpISmZFWEliQ1ptMnkxQXNoQkRBSDFoczAyci9wdXlsM3QwCjdKcVQ3Y2VDanZESy9uRjQ3RUZ1c2tzV0dQMUJpRXlONExxbFJWeXB3MFA1MlFsMDJuRHFZbnlzSXZxS051RGIKQkJ2aUN3ajMzUGhCSldlWjNoNlBkaHNObUY2SVEwNjI3MVp4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", - "server": "https://fabricnlp9.southcentralus.cloudapp.azure.com" - }, - "name": "fabricnlp9" - } - ], - "contexts": [ - { - "context": { - "cluster": "fabricnlp9", - "user": "fabricnlp9-admin" - }, - "name": "fabricnlp9" - } - ], - "current-context": "fabricnlp9", - "kind": "Config", - "users": [ - { - "name": "fabricnlp9-admin", - "user": {"client-certificate-data":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUw0bWp3MmNCMUp6L3cxa05meXY4SzR3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qRXdNRFF3TVRRNFdoY05NVGt4TWpFd01EUXdNVFE0V2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXlaRCtySURBem51NUlXekZVbjFuQ28zRHREdTAKVWRtcFY5V3huZkszK0tHSFF1cmhGaEtVa2h1UnNMUnptMVJ1L2VWM2xHM3B5eXl0ZzFOeEdtZDJ3TlNTMEsvRApQNjlRL0RkaGlZQ1FMMnJJZ2NGaGZaTU1DOFVhcFg5SlEzc1RpMVhtWjMzMTBhVkVGaksxRlR0Y1kyWjVPOC9GCmZMSDZ0ZGw2a1Mrd3dwWHNmeXJ3WkRzZWw0SjVaYmxsTml5Y1JOc1VKQTQ4SzRWdnFGT05pbmRUQS80N1ZITDcKY0dlbS9xTm9qRHpTRHVoL2xzY3IxU1F2bGR6eTJnMnlJUFJhOEorZUt2UThFWnFzclBjL2xXQmdDVEowcFkxQwo5ZFVqQXdTLy93MW0wd204NUQ0MGppbVVzTDc2Y29NVG9YQ3d0WEdhWnlQTjJZUVNhRHBFbHNBQm8xZG1zS0ZCCnYwb2dpdDNxcWRuenVMVlpubFhyTDYyYUs4Q1lCcWNybEFuUW4rM0c3Rnpva00rRFlpcExnSVB6RFRyaW1OMkkKUFdtYi90Unp2dFhkWSsybzFEaGR2RHU4ZmM3ZUZnemZCcUZnWVpDOXlISjBka28vY3JtSTJMaXlud0Zwak82UgpCT204cHBWSzg4THJ4OWx3MTh4ZExkRklkZDgrUThJeHFVdEJzSVJiY2pSVVVyUlBXWnFXNjNCQ1NTK3ZjbE5pCnk3Q25NYkVKR0YrL29nSWNVYnFOb0tDRGc2Q0U1L3VyZENGcEc1MTBZejVvZHdxblJxZ2hUczE5US9XMjlibUIKVUlyUmhOdCtPRjBRYVZnVVZhSk9Pam5iL0tQb0lvKytkZUZjSjdJZFk4OVFEYkFYcEpCQjA5NXRsYkdNU3BJNQpPTTRwc2M2NGpHeURXbmNDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVkRGpmTkYKY0RXeHdaMm02YnB3TmdIUkVTdk80WVhhSng2WjlKbDRIeGhFMTJJOFpYSWdWemQ1ZHFmTk54SEkvODFXWHdsLwo3RmdESjBmKy9Ca2xaeEtDeWVpd2dwOHQvRDBLdFQ2Ny9ndTM0QnAxWEpVMnJoRkczREZhR2ZLUlRZVzZlUXFnCnFORHpaSFpKY0JuUEI1WjdxVkVPOGlBSk5PSzJqZDNXcGQycnhuUWJBU0hpbXVIc04vUVEvU084ekpNSEZZVCsKZ0lNM0NCR0gzUVQ3d1JSa3hxWEhkOVgrTkVtZ2pmL1laUm1GTDMrR3hGc0NZczhzcmQ5LzBCOXRoUDBBTDhzRApWNk1ybGVBVXZVdE41dUJQR1BDSW1raVA2d2xNZDdyamhmaUhWZTNyWEFvTmZwWitGZ3g5OUJuVHBMUXFhYTZMCldJQzNNbXpJZmVHZTNuZExHODE0Vi81YU9XeE53VzEvZFAzMThlK0d2dENHeUNSYUdBNnRsTThkdGtJU1licmgKYjJWVWlneEI5OGVMS0pTdU8rSDdZRENLbGRXWnpYeU9WODNYZWswVlZpWDl1TVRyWVQ0TU14M1ZTd2xBSXc3Vgp2eW5Ub2ViQlc2OERnV0FXMjRoR1FDVmd2WHpnUDBJdlpsUlhmMGZXRWpKWklQdHFnbnp3bVpmbkF1WkhKcGNZCjc2eUVJMTM1WXh5d1VPOGR5SEJsMEFIcldvZWZsY0ZtNjloRk9zZk1SdGxVTUhDeVhWdHFwRXp3dFYvVWZBVU0KaEp0L2pvREJTQUE1cHFud0I2SCtpNkpYOGlUcGt4SEt4UnNWaE5CQVRkelN5MERPejhPVm01cllKWnlqQlhRbApXL3ZOUDVlTGVwdk9xUm4zRFBqdy92SkFHMGl6d09MVTZVWUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=","client-key-data":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeVpEK3JJREF6bnU1SVd6RlVuMW5DbzNEdER1MFVkbXBWOVd4bmZLMytLR0hRdXJoCkZoS1VraHVSc0xSem0xUnUvZVYzbEczcHl5eXRnMU54R21kMndOU1MwSy9EUDY5US9EZGhpWUNRTDJySWdjRmgKZlpNTUM4VWFwWDlKUTNzVGkxWG1aMzMxMGFWRUZqSzFGVHRjWTJaNU84L0ZmTEg2dGRsNmtTK3d3cFhzZnlydwpaRHNlbDRKNVpibGxOaXljUk5zVUpBNDhLNFZ2cUZPTmluZFRBLzQ3VkhMN2NHZW0vcU5vakR6U0R1aC9sc2NyCjFTUXZsZHp5MmcyeUlQUmE4SitlS3ZROEVacXNyUGMvbFdCZ0NUSjBwWTFDOWRVakF3Uy8vdzFtMHdtODVENDAKamltVXNMNzZjb01Ub1hDd3RYR2FaeVBOMllRU2FEcEVsc0FCbzFkbXNLRkJ2MG9naXQzcXFkbnp1TFZabmxYcgpMNjJhSzhDWUJxY3JsQW5RbiszRzdGem9rTStEWWlwTGdJUHpEVHJpbU4ySVBXbWIvdFJ6dnRYZFkrMm8xRGhkCnZEdThmYzdlRmd6ZkJxRmdZWkM5eUhKMGRrby9jcm1JMkxpeW53RnBqTzZSQk9tOHBwVks4OExyeDlsdzE4eGQKTGRGSWRkOCtROEl4cVV0QnNJUmJjalJVVXJSUFdacVc2M0JDU1MrdmNsTml5N0NuTWJFSkdGKy9vZ0ljVWJxTgpvS0NEZzZDRTUvdXJkQ0ZwRzUxMFl6NW9kd3FuUnFnaFRzMTlRL1cyOWJtQlVJclJoTnQrT0YwUWFWZ1VWYUpPCk9qbmIvS1BvSW8rK2RlRmNKN0lkWTg5UURiQVhwSkJCMDk1dGxiR01TcEk1T000cHNjNjRqR3lEV25jQ0F3RUEKQVFLQ0FnRUFqOVpQVm13ZXFucHh0dDkyeEJIRzZTb1c0TlBHTHE2RGdMRjJxVDdlZDZkVTdiVE00TUpya1FQcAphRTZ0UE1mNDJHZmFlR29pN3lDM3hVSlRNTU5xWTlxTjFpdkd5ZmhpYzBsVjZoaDdTOHNJd0VkdU9YMG9tSEdVClBVdGl6YXZUVzVmMTdoNWR2N2dPcVVTUUlsR1U4VDNiLzRtWjVRemcyc29TQSs4alZRaEZsczNlYzdnWWNZZmkKOTJ0Z1JWTjZSRXlOeDlqOHFSWDBnd3Iwc3ozSldNMGdLM2hONDMya0Zvd25mQU9lNXBLVkVkU1plK1R4ckNEYQprQzQ3MGZadHVzNDh3V3crUFZYQ0tUL2ErTTZvV1lmTzQ2QzFpdFlJd1F1dnN1TXVZQ1RQelpSeVRveHZsZDBDCnZacTU5SGVGTWtXYUtFWE5qSTRKMEtUYjh6T2JObDZ0ajhVYnl6eFNKRVlVNWc4ajNNdEFXalRqUzhNWHpsNlgKakN3aEFGNnNUOTFZeW5Mc3Z1RVZSbTBsZHB0UkIwcExHMjgwci94ODhaSFlDR0YwdnI4TGRLei80MDBhdFFMWQprZGI5RUNDa2pPbVdIdmZVVlZPMjZBeVljWnA1b0k0clhYdGlEVHU4V0dVakhzUzBWc3ljZERqRXRBbzlYYndtCnpONGxMQmE5VFdvRDI5TlNmaUdlYTd1bzFlZ0h3WDlXbWdyUU5rdkM5cmJSTTZ6Z2xzbzRkWCtkQW9uaFRNbVMKQmRLYVhybzUrdFVSK09SditFUG5tZHpYb01uaGlibWRZYVZoc0xTY2FsaSs4MmZZdGJGQllCd1RtWHdZL0NzUAoxSW04Vkx2VDZQVkRUZ2Fjc2JMRVRZemhoNmhFMXQ3Y1F6TE83Zk4xbjJURnJjcEhKZGtDZ2dFQkFQS1ptbnBnClB1VWJubi9OK3R5clh2SGYvNUhHTUdwaTUvME56SnJDSG11ZmN4Q2lUVUgyekNqNE50T0VkRGgzaDZrUkFmc2MKc2xLZGZuWTdxM3lDdDdQRFNiaVY0WSttTndsU0pqM3czOGcxSW9YTkJFbG5rak5aM2hYd3FNSDNsMmZ4bDdHSgpwMUNxUWlHcXZQeEFERzVQREtYalFEUm5hRXBQWUVVem5vTjR3ZUlVeFZWTzhUSnNZaS9XTlNhSSsydThqZWtsCm1yMHVaZlhhaFZZcWtYdjM4QkZFSWtZcWtjTHBycWdPQ2JTQi9OTG14RTcyNTM4OFlHM1JHU1doa1d4ZmNYUFQKUmZkblIxcEErYUhrZkNOTFF0K0lGNzl6MzBQUEJjcmdYR0E4ZUhrRisvenhqRHV1SVdGMGMzb0lKbFZBclRjKwprd2dka3BUSk1CNko0d3NDZ2dFQkFOU3pLNkRDdWFLUTh2VUFHbks4ekZsYk8xZHpmQVhJdmtOWW1JVUV1RDQ4ClRtcGZheE96aVRSWEFWbjhZY3lReTdCbnFpRU95cTltYmZBOUhFSUkxS2hxSEV6MzYxUllXS200S1pmOUk0YjUKVTRsVUJ4bjhBaXNqWHk3bldGRnk4dGZwQ21ic1pjaGJxOStBNTAwQm52dEszWkE5SVU4ZWwxNThncXUrdnQrcQpZdjlONVhMcUVhTHNudDY1NU5iU2RZbmhjZGZTRDE1WlptL2dtR2JHVmx5VHUranAxMHkyZFVDQ3VHdzRIOENHClAxOHpBc1c2TjlCNlJCWk1LLzNNSHVkQi9IblJQUUZ5TkgvVFNQbFlFaTFxeWIzTXU3SU94MHdlUXBSMlVtNjcKdHdpTUN2VHNGOUpOSDNEcElHR0djUzliNlFoRVh6a3BTYmZvRVBIc3ljVUNnZ0VCQU45L3hZS0NrczhOdjlycwpqL1dtWjhVYjRWNlNJTjZTR2puVzhhMk5zdXJocmVjZ0wxN2JHTUdSMHlqUXVTV2djVG0vc254K3RvWklGRTZtCnNGajRNSGVMTGFyQllsbXQvcncyazRhekYrZGhsRm1DUkRYQUZqLzZ4aENlYzBxbmFEUlpyYS9oS21TMVJsR3YKODRYTkYrYTBLdW5WVDd3M25Dd0JycVp5Wk5Hb2VhNW9CbGlPYnNWT2RyS3RmSy93dVBoTGNNM2ZXQXg3NTNFMQpqV3VSc2hCc25oMjZFSDFtRUgxcVBmOFRWN3VWbWE5TzdJSDNFOVR6Y2I4YVNUbVMvTi9EbWtqajFteVVHSGM4CnJ2NkgraG1sNTRqNTN5OEJlQ29IV3NYS0p6Qjk1VnRSdVJJU0VtaVZCcW02MS93UDhBalFtZ1B3UVJMVDg4dmgKQWRUUW9Yc0NnZ0VBUmFiS2thRlNrdGF1aU9aWXd0dnFleFJ5RVVnakErM2h5RUg1NkExTW5DeTViUUlFR1hhQQpacUJiTS9GK3dUTmxVRVlTSXpNcDBsaFRoZ2tzK0w3VmpMVDZ3WVdxRFh2RXhRY21yN3ZZWjNtOERrdHk2K0puCmYyTGM1NG9nbE1OMG5KbVdxMitjUVFrcjlrdks4cCttUlJvV0JnYk9vbzhjK0hjRGYyUStNeFlqeHdEbU0wUk4KTkRJU01GTmxpYWR2a0JCQWJIRkFVU0FyZUZWdThyRGVWUUNYMTBURUdUM2lsWlo0K0E5RTdwSEhyTkFTaDFkYwpzYXRvSW5rZEtzWXVGSUs2UDlYeUNVZ3h3dTRZaG5aOXRWdXo1ckJsZ29CdWFSRzdzY3d4WUV1ZU8zRklvVDJ5CjYwNFFEclI0d3hiNGQ0NjhkOVdUN1M4RkVmRXZvMWxzRlFLQ0FRRUFrNmlpMFlmTGkvNnk4TVQ5dDgrZ1FqazYKTkhWZkRzYnc5c1hKWXZWWGswb0tUN1lBTVBmcnlkS0F0akZ5YlBBcGFDS3dPQlpqcFBySGh0Vy9HdkVub3VpRworQkVIM2x2S0NOUzBlQUVUVC8rNzlNTmVRRjBOazZhb2ZGNFRBei8yaWduMTJESXY5c1Y4NFJVc1VMVmw5bHlGCkpmdktLb1E1ZEg4WnhPQW9HVEVRRDhJdG0ra0FqdmppYnM4RFlnREp2VVRGZnFYcUtxOVJTK2VLS1VZWUM3VGYKejRub0Mvb0c3ZlA1cEpna0dlNU1EbFhHb05GUFNXZzJKVzRPbU1YZmV3WW80MmNOQnhsc0ROUXFYSnFSdXAyRwplT2xNaXU2SmRsak9CRFc5RG8xbHhVaG9JOG9SdW5JRVVGdEN5MUdFWHpYaWdOQ21vbE1qQjUveDJYTzFvZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="} - } - ] -} diff --git a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.southeastasia.json b/azure/_output/fabricnlp9/kubeconfig/kubeconfig.southeastasia.json deleted file mode 100644 index 0040fca..0000000 --- a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.southeastasia.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "apiVersion": "v1", - "clusters": [ - { - "cluster": { - "certificate-authority-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRVkZsMU1sZDA5L0xUazJRMk5JWG1GREFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1UQXdOREF4TkRaYUZ3MHhPVEV5TVRBd05EQXhORFphTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFzZmxGCmNvZCtwMTB4REdUM2ZXWm12K21OYXRhU2w4MFAzNTkrQ3JFWEY5OHYzaHdsQyt6eGpFRXhpZEdHSkdBcWpIc3QKdFlOREg5aG81bHdSWTROamJKcUJJZ3cvcDZ5RXB5WGg1MVliRFA2dDd6bHp3UVMyRjlJKzJ5aG02TWd3V3dSTQpkTmxHb1pzamFrbFJucTBWbXZ6eVk4WGVCVi84TllRb0QzNE1OdVZXVjZ0R0daeWZpdDFFT3YydCtqTnNLdXBRCm4xRGh4RGJkNE9LT3hvaC9md1hnL0tHU1gwWlRyUUY1eUV4c1VOaFdyQncrQnZ0Q2twdHc2aU1hT1Vhb0tVaDkKczVrTTA3clhCY0xmU2FuZ0FBVHZTMWQzNWZmaENZQmxseGl4Sk11QWFMcFNLaHlzekR2Z1BEV2dnUjcvRVZZUApaSDlMSlgwL20vT25DcFl2eURkUE0zeEhLd0pvbkdYS0tmMW1UTE5GUjE2b0YxU3N6QlZWZFNXc1FSSHNCTkdVCmMyZEYvRjZKaDBEV0JQZ2pINnJDOGhFNWFnQmY1Z09oa1hJVnJwZXo4cGtiUmRTampEbWpXWFkwMjkxY2lIRWUKdXlCWFh6MlVoeEJ6c2Y5QmVFUm5LTTBnQ2xLeEtid0dGTjRlc1djTzBEcEhlNm1YK3pnS3ZvSytIUHlVczhnUApkOU9wMU9zZWRIQ0NKWFl4TlIycWw0OFVBcmpENGYycHYxY2ZFekpORWpjb1FwbXlwSmtwUTRjbUZWMnREdjhhCksrS1NYajJvNEVwN1dJVFBEVWtuU3llN3pPamNPeFNmTG9XeWtldGcyZjZnSWVqemFJUm9XbVNkMlR0OHlwRUwKOVBkcXNKVWljbnkzOXNPcUNLYWxMeTRrdThWZ1FQMHVadDFPYW9FQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFGbU5NblhrCjN6YkhHeFNNRTR0bzJsWWJtQmZ1eGFpYlJhYnJpdExZMnEzUkpXNEhxNUVSZC80bm43TmRLWnZBbEh4ZXV2TTYKS1IxWTV1VGp3YjlZckp0VUI4eDlXR2w5R1RhVzNhZTlRZGR5Y1RHMEh6a1owWGFEcGp4ZExWcmVlWUYvRlBTQwp6djVjanhDUytqa3AzM1dGWm9nT2Z0Sjl1Nk9yKzNZV2NVeFBTV1JLeTZTSmVJN2pnWHlnM1hhZk9FbmI1bFJDCktSRit2dFk4cWhsT21uWnRSM1BaTDdsWGNDZGhqZFpRQ2Z2eTdaWVpmajIwckxJMFZVOWtoTFJVSWt2MDdJd0EKaEwwZkRXRVBnek9oM1JBOE1nMityT0EvUmJBVE45U0hCMEYzZXNpa2V6OUxmei82QjVLTitqRyt1TStEZjFxSwo1QlpSYnc1alNsQU9wZ2dBbzJhbDlBUVFIekdpRDRsQnpscy9wVFRFQXBERVVqempHWjY2WlhucTVrTDBjU0xmCmhwQjNPbDY4cldySVRxRDNSK2dJZDZXRGRWbVN6QXFxYnJVRHNQVXVjNWwvcFB6MWFBSjQrSlh1aFd2MzVXSXgKWTRscy9GY3VORks5bXhUS0dOeFdsWnh6aXpsK0tKenIrT09YaHAzQkhaTFpwRFFudmI4YnptZjRxNmFubGl1SQpsWmlRbEk4UUp6cWRpVEtNYTJ4dkMxTm5TS1ZNNHpISmZFWEliQ1ptMnkxQXNoQkRBSDFoczAyci9wdXlsM3QwCjdKcVQ3Y2VDanZESy9uRjQ3RUZ1c2tzV0dQMUJpRXlONExxbFJWeXB3MFA1MlFsMDJuRHFZbnlzSXZxS051RGIKQkJ2aUN3ajMzUGhCSldlWjNoNlBkaHNObUY2SVEwNjI3MVp4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", - "server": "https://fabricnlp9.southeastasia.cloudapp.azure.com" - }, - "name": "fabricnlp9" - } - ], - "contexts": [ - { - "context": { - "cluster": "fabricnlp9", - "user": "fabricnlp9-admin" - }, - "name": "fabricnlp9" - } - ], - "current-context": "fabricnlp9", - "kind": "Config", - "users": [ - { - "name": "fabricnlp9-admin", - "user": {"client-certificate-data":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUw0bWp3MmNCMUp6L3cxa05meXY4SzR3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qRXdNRFF3TVRRNFdoY05NVGt4TWpFd01EUXdNVFE0V2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXlaRCtySURBem51NUlXekZVbjFuQ28zRHREdTAKVWRtcFY5V3huZkszK0tHSFF1cmhGaEtVa2h1UnNMUnptMVJ1L2VWM2xHM3B5eXl0ZzFOeEdtZDJ3TlNTMEsvRApQNjlRL0RkaGlZQ1FMMnJJZ2NGaGZaTU1DOFVhcFg5SlEzc1RpMVhtWjMzMTBhVkVGaksxRlR0Y1kyWjVPOC9GCmZMSDZ0ZGw2a1Mrd3dwWHNmeXJ3WkRzZWw0SjVaYmxsTml5Y1JOc1VKQTQ4SzRWdnFGT05pbmRUQS80N1ZITDcKY0dlbS9xTm9qRHpTRHVoL2xzY3IxU1F2bGR6eTJnMnlJUFJhOEorZUt2UThFWnFzclBjL2xXQmdDVEowcFkxQwo5ZFVqQXdTLy93MW0wd204NUQ0MGppbVVzTDc2Y29NVG9YQ3d0WEdhWnlQTjJZUVNhRHBFbHNBQm8xZG1zS0ZCCnYwb2dpdDNxcWRuenVMVlpubFhyTDYyYUs4Q1lCcWNybEFuUW4rM0c3Rnpva00rRFlpcExnSVB6RFRyaW1OMkkKUFdtYi90Unp2dFhkWSsybzFEaGR2RHU4ZmM3ZUZnemZCcUZnWVpDOXlISjBka28vY3JtSTJMaXlud0Zwak82UgpCT204cHBWSzg4THJ4OWx3MTh4ZExkRklkZDgrUThJeHFVdEJzSVJiY2pSVVVyUlBXWnFXNjNCQ1NTK3ZjbE5pCnk3Q25NYkVKR0YrL29nSWNVYnFOb0tDRGc2Q0U1L3VyZENGcEc1MTBZejVvZHdxblJxZ2hUczE5US9XMjlibUIKVUlyUmhOdCtPRjBRYVZnVVZhSk9Pam5iL0tQb0lvKytkZUZjSjdJZFk4OVFEYkFYcEpCQjA5NXRsYkdNU3BJNQpPTTRwc2M2NGpHeURXbmNDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVkRGpmTkYKY0RXeHdaMm02YnB3TmdIUkVTdk80WVhhSng2WjlKbDRIeGhFMTJJOFpYSWdWemQ1ZHFmTk54SEkvODFXWHdsLwo3RmdESjBmKy9Ca2xaeEtDeWVpd2dwOHQvRDBLdFQ2Ny9ndTM0QnAxWEpVMnJoRkczREZhR2ZLUlRZVzZlUXFnCnFORHpaSFpKY0JuUEI1WjdxVkVPOGlBSk5PSzJqZDNXcGQycnhuUWJBU0hpbXVIc04vUVEvU084ekpNSEZZVCsKZ0lNM0NCR0gzUVQ3d1JSa3hxWEhkOVgrTkVtZ2pmL1laUm1GTDMrR3hGc0NZczhzcmQ5LzBCOXRoUDBBTDhzRApWNk1ybGVBVXZVdE41dUJQR1BDSW1raVA2d2xNZDdyamhmaUhWZTNyWEFvTmZwWitGZ3g5OUJuVHBMUXFhYTZMCldJQzNNbXpJZmVHZTNuZExHODE0Vi81YU9XeE53VzEvZFAzMThlK0d2dENHeUNSYUdBNnRsTThkdGtJU1licmgKYjJWVWlneEI5OGVMS0pTdU8rSDdZRENLbGRXWnpYeU9WODNYZWswVlZpWDl1TVRyWVQ0TU14M1ZTd2xBSXc3Vgp2eW5Ub2ViQlc2OERnV0FXMjRoR1FDVmd2WHpnUDBJdlpsUlhmMGZXRWpKWklQdHFnbnp3bVpmbkF1WkhKcGNZCjc2eUVJMTM1WXh5d1VPOGR5SEJsMEFIcldvZWZsY0ZtNjloRk9zZk1SdGxVTUhDeVhWdHFwRXp3dFYvVWZBVU0KaEp0L2pvREJTQUE1cHFud0I2SCtpNkpYOGlUcGt4SEt4UnNWaE5CQVRkelN5MERPejhPVm01cllKWnlqQlhRbApXL3ZOUDVlTGVwdk9xUm4zRFBqdy92SkFHMGl6d09MVTZVWUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=","client-key-data":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeVpEK3JJREF6bnU1SVd6RlVuMW5DbzNEdER1MFVkbXBWOVd4bmZLMytLR0hRdXJoCkZoS1VraHVSc0xSem0xUnUvZVYzbEczcHl5eXRnMU54R21kMndOU1MwSy9EUDY5US9EZGhpWUNRTDJySWdjRmgKZlpNTUM4VWFwWDlKUTNzVGkxWG1aMzMxMGFWRUZqSzFGVHRjWTJaNU84L0ZmTEg2dGRsNmtTK3d3cFhzZnlydwpaRHNlbDRKNVpibGxOaXljUk5zVUpBNDhLNFZ2cUZPTmluZFRBLzQ3VkhMN2NHZW0vcU5vakR6U0R1aC9sc2NyCjFTUXZsZHp5MmcyeUlQUmE4SitlS3ZROEVacXNyUGMvbFdCZ0NUSjBwWTFDOWRVakF3Uy8vdzFtMHdtODVENDAKamltVXNMNzZjb01Ub1hDd3RYR2FaeVBOMllRU2FEcEVsc0FCbzFkbXNLRkJ2MG9naXQzcXFkbnp1TFZabmxYcgpMNjJhSzhDWUJxY3JsQW5RbiszRzdGem9rTStEWWlwTGdJUHpEVHJpbU4ySVBXbWIvdFJ6dnRYZFkrMm8xRGhkCnZEdThmYzdlRmd6ZkJxRmdZWkM5eUhKMGRrby9jcm1JMkxpeW53RnBqTzZSQk9tOHBwVks4OExyeDlsdzE4eGQKTGRGSWRkOCtROEl4cVV0QnNJUmJjalJVVXJSUFdacVc2M0JDU1MrdmNsTml5N0NuTWJFSkdGKy9vZ0ljVWJxTgpvS0NEZzZDRTUvdXJkQ0ZwRzUxMFl6NW9kd3FuUnFnaFRzMTlRL1cyOWJtQlVJclJoTnQrT0YwUWFWZ1VWYUpPCk9qbmIvS1BvSW8rK2RlRmNKN0lkWTg5UURiQVhwSkJCMDk1dGxiR01TcEk1T000cHNjNjRqR3lEV25jQ0F3RUEKQVFLQ0FnRUFqOVpQVm13ZXFucHh0dDkyeEJIRzZTb1c0TlBHTHE2RGdMRjJxVDdlZDZkVTdiVE00TUpya1FQcAphRTZ0UE1mNDJHZmFlR29pN3lDM3hVSlRNTU5xWTlxTjFpdkd5ZmhpYzBsVjZoaDdTOHNJd0VkdU9YMG9tSEdVClBVdGl6YXZUVzVmMTdoNWR2N2dPcVVTUUlsR1U4VDNiLzRtWjVRemcyc29TQSs4alZRaEZsczNlYzdnWWNZZmkKOTJ0Z1JWTjZSRXlOeDlqOHFSWDBnd3Iwc3ozSldNMGdLM2hONDMya0Zvd25mQU9lNXBLVkVkU1plK1R4ckNEYQprQzQ3MGZadHVzNDh3V3crUFZYQ0tUL2ErTTZvV1lmTzQ2QzFpdFlJd1F1dnN1TXVZQ1RQelpSeVRveHZsZDBDCnZacTU5SGVGTWtXYUtFWE5qSTRKMEtUYjh6T2JObDZ0ajhVYnl6eFNKRVlVNWc4ajNNdEFXalRqUzhNWHpsNlgKakN3aEFGNnNUOTFZeW5Mc3Z1RVZSbTBsZHB0UkIwcExHMjgwci94ODhaSFlDR0YwdnI4TGRLei80MDBhdFFMWQprZGI5RUNDa2pPbVdIdmZVVlZPMjZBeVljWnA1b0k0clhYdGlEVHU4V0dVakhzUzBWc3ljZERqRXRBbzlYYndtCnpONGxMQmE5VFdvRDI5TlNmaUdlYTd1bzFlZ0h3WDlXbWdyUU5rdkM5cmJSTTZ6Z2xzbzRkWCtkQW9uaFRNbVMKQmRLYVhybzUrdFVSK09SditFUG5tZHpYb01uaGlibWRZYVZoc0xTY2FsaSs4MmZZdGJGQllCd1RtWHdZL0NzUAoxSW04Vkx2VDZQVkRUZ2Fjc2JMRVRZemhoNmhFMXQ3Y1F6TE83Zk4xbjJURnJjcEhKZGtDZ2dFQkFQS1ptbnBnClB1VWJubi9OK3R5clh2SGYvNUhHTUdwaTUvME56SnJDSG11ZmN4Q2lUVUgyekNqNE50T0VkRGgzaDZrUkFmc2MKc2xLZGZuWTdxM3lDdDdQRFNiaVY0WSttTndsU0pqM3czOGcxSW9YTkJFbG5rak5aM2hYd3FNSDNsMmZ4bDdHSgpwMUNxUWlHcXZQeEFERzVQREtYalFEUm5hRXBQWUVVem5vTjR3ZUlVeFZWTzhUSnNZaS9XTlNhSSsydThqZWtsCm1yMHVaZlhhaFZZcWtYdjM4QkZFSWtZcWtjTHBycWdPQ2JTQi9OTG14RTcyNTM4OFlHM1JHU1doa1d4ZmNYUFQKUmZkblIxcEErYUhrZkNOTFF0K0lGNzl6MzBQUEJjcmdYR0E4ZUhrRisvenhqRHV1SVdGMGMzb0lKbFZBclRjKwprd2dka3BUSk1CNko0d3NDZ2dFQkFOU3pLNkRDdWFLUTh2VUFHbks4ekZsYk8xZHpmQVhJdmtOWW1JVUV1RDQ4ClRtcGZheE96aVRSWEFWbjhZY3lReTdCbnFpRU95cTltYmZBOUhFSUkxS2hxSEV6MzYxUllXS200S1pmOUk0YjUKVTRsVUJ4bjhBaXNqWHk3bldGRnk4dGZwQ21ic1pjaGJxOStBNTAwQm52dEszWkE5SVU4ZWwxNThncXUrdnQrcQpZdjlONVhMcUVhTHNudDY1NU5iU2RZbmhjZGZTRDE1WlptL2dtR2JHVmx5VHUranAxMHkyZFVDQ3VHdzRIOENHClAxOHpBc1c2TjlCNlJCWk1LLzNNSHVkQi9IblJQUUZ5TkgvVFNQbFlFaTFxeWIzTXU3SU94MHdlUXBSMlVtNjcKdHdpTUN2VHNGOUpOSDNEcElHR0djUzliNlFoRVh6a3BTYmZvRVBIc3ljVUNnZ0VCQU45L3hZS0NrczhOdjlycwpqL1dtWjhVYjRWNlNJTjZTR2puVzhhMk5zdXJocmVjZ0wxN2JHTUdSMHlqUXVTV2djVG0vc254K3RvWklGRTZtCnNGajRNSGVMTGFyQllsbXQvcncyazRhekYrZGhsRm1DUkRYQUZqLzZ4aENlYzBxbmFEUlpyYS9oS21TMVJsR3YKODRYTkYrYTBLdW5WVDd3M25Dd0JycVp5Wk5Hb2VhNW9CbGlPYnNWT2RyS3RmSy93dVBoTGNNM2ZXQXg3NTNFMQpqV3VSc2hCc25oMjZFSDFtRUgxcVBmOFRWN3VWbWE5TzdJSDNFOVR6Y2I4YVNUbVMvTi9EbWtqajFteVVHSGM4CnJ2NkgraG1sNTRqNTN5OEJlQ29IV3NYS0p6Qjk1VnRSdVJJU0VtaVZCcW02MS93UDhBalFtZ1B3UVJMVDg4dmgKQWRUUW9Yc0NnZ0VBUmFiS2thRlNrdGF1aU9aWXd0dnFleFJ5RVVnakErM2h5RUg1NkExTW5DeTViUUlFR1hhQQpacUJiTS9GK3dUTmxVRVlTSXpNcDBsaFRoZ2tzK0w3VmpMVDZ3WVdxRFh2RXhRY21yN3ZZWjNtOERrdHk2K0puCmYyTGM1NG9nbE1OMG5KbVdxMitjUVFrcjlrdks4cCttUlJvV0JnYk9vbzhjK0hjRGYyUStNeFlqeHdEbU0wUk4KTkRJU01GTmxpYWR2a0JCQWJIRkFVU0FyZUZWdThyRGVWUUNYMTBURUdUM2lsWlo0K0E5RTdwSEhyTkFTaDFkYwpzYXRvSW5rZEtzWXVGSUs2UDlYeUNVZ3h3dTRZaG5aOXRWdXo1ckJsZ29CdWFSRzdzY3d4WUV1ZU8zRklvVDJ5CjYwNFFEclI0d3hiNGQ0NjhkOVdUN1M4RkVmRXZvMWxzRlFLQ0FRRUFrNmlpMFlmTGkvNnk4TVQ5dDgrZ1FqazYKTkhWZkRzYnc5c1hKWXZWWGswb0tUN1lBTVBmcnlkS0F0akZ5YlBBcGFDS3dPQlpqcFBySGh0Vy9HdkVub3VpRworQkVIM2x2S0NOUzBlQUVUVC8rNzlNTmVRRjBOazZhb2ZGNFRBei8yaWduMTJESXY5c1Y4NFJVc1VMVmw5bHlGCkpmdktLb1E1ZEg4WnhPQW9HVEVRRDhJdG0ra0FqdmppYnM4RFlnREp2VVRGZnFYcUtxOVJTK2VLS1VZWUM3VGYKejRub0Mvb0c3ZlA1cEpna0dlNU1EbFhHb05GUFNXZzJKVzRPbU1YZmV3WW80MmNOQnhsc0ROUXFYSnFSdXAyRwplT2xNaXU2SmRsak9CRFc5RG8xbHhVaG9JOG9SdW5JRVVGdEN5MUdFWHpYaWdOQ21vbE1qQjUveDJYTzFvZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="} - } - ] -} diff --git a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.southindia.json b/azure/_output/fabricnlp9/kubeconfig/kubeconfig.southindia.json deleted file mode 100644 index e8d0c32..0000000 --- a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.southindia.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "apiVersion": "v1", - "clusters": [ - { - "cluster": { - "certificate-authority-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRVkZsMU1sZDA5L0xUazJRMk5JWG1GREFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1UQXdOREF4TkRaYUZ3MHhPVEV5TVRBd05EQXhORFphTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFzZmxGCmNvZCtwMTB4REdUM2ZXWm12K21OYXRhU2w4MFAzNTkrQ3JFWEY5OHYzaHdsQyt6eGpFRXhpZEdHSkdBcWpIc3QKdFlOREg5aG81bHdSWTROamJKcUJJZ3cvcDZ5RXB5WGg1MVliRFA2dDd6bHp3UVMyRjlJKzJ5aG02TWd3V3dSTQpkTmxHb1pzamFrbFJucTBWbXZ6eVk4WGVCVi84TllRb0QzNE1OdVZXVjZ0R0daeWZpdDFFT3YydCtqTnNLdXBRCm4xRGh4RGJkNE9LT3hvaC9md1hnL0tHU1gwWlRyUUY1eUV4c1VOaFdyQncrQnZ0Q2twdHc2aU1hT1Vhb0tVaDkKczVrTTA3clhCY0xmU2FuZ0FBVHZTMWQzNWZmaENZQmxseGl4Sk11QWFMcFNLaHlzekR2Z1BEV2dnUjcvRVZZUApaSDlMSlgwL20vT25DcFl2eURkUE0zeEhLd0pvbkdYS0tmMW1UTE5GUjE2b0YxU3N6QlZWZFNXc1FSSHNCTkdVCmMyZEYvRjZKaDBEV0JQZ2pINnJDOGhFNWFnQmY1Z09oa1hJVnJwZXo4cGtiUmRTampEbWpXWFkwMjkxY2lIRWUKdXlCWFh6MlVoeEJ6c2Y5QmVFUm5LTTBnQ2xLeEtid0dGTjRlc1djTzBEcEhlNm1YK3pnS3ZvSytIUHlVczhnUApkOU9wMU9zZWRIQ0NKWFl4TlIycWw0OFVBcmpENGYycHYxY2ZFekpORWpjb1FwbXlwSmtwUTRjbUZWMnREdjhhCksrS1NYajJvNEVwN1dJVFBEVWtuU3llN3pPamNPeFNmTG9XeWtldGcyZjZnSWVqemFJUm9XbVNkMlR0OHlwRUwKOVBkcXNKVWljbnkzOXNPcUNLYWxMeTRrdThWZ1FQMHVadDFPYW9FQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFGbU5NblhrCjN6YkhHeFNNRTR0bzJsWWJtQmZ1eGFpYlJhYnJpdExZMnEzUkpXNEhxNUVSZC80bm43TmRLWnZBbEh4ZXV2TTYKS1IxWTV1VGp3YjlZckp0VUI4eDlXR2w5R1RhVzNhZTlRZGR5Y1RHMEh6a1owWGFEcGp4ZExWcmVlWUYvRlBTQwp6djVjanhDUytqa3AzM1dGWm9nT2Z0Sjl1Nk9yKzNZV2NVeFBTV1JLeTZTSmVJN2pnWHlnM1hhZk9FbmI1bFJDCktSRit2dFk4cWhsT21uWnRSM1BaTDdsWGNDZGhqZFpRQ2Z2eTdaWVpmajIwckxJMFZVOWtoTFJVSWt2MDdJd0EKaEwwZkRXRVBnek9oM1JBOE1nMityT0EvUmJBVE45U0hCMEYzZXNpa2V6OUxmei82QjVLTitqRyt1TStEZjFxSwo1QlpSYnc1alNsQU9wZ2dBbzJhbDlBUVFIekdpRDRsQnpscy9wVFRFQXBERVVqempHWjY2WlhucTVrTDBjU0xmCmhwQjNPbDY4cldySVRxRDNSK2dJZDZXRGRWbVN6QXFxYnJVRHNQVXVjNWwvcFB6MWFBSjQrSlh1aFd2MzVXSXgKWTRscy9GY3VORks5bXhUS0dOeFdsWnh6aXpsK0tKenIrT09YaHAzQkhaTFpwRFFudmI4YnptZjRxNmFubGl1SQpsWmlRbEk4UUp6cWRpVEtNYTJ4dkMxTm5TS1ZNNHpISmZFWEliQ1ptMnkxQXNoQkRBSDFoczAyci9wdXlsM3QwCjdKcVQ3Y2VDanZESy9uRjQ3RUZ1c2tzV0dQMUJpRXlONExxbFJWeXB3MFA1MlFsMDJuRHFZbnlzSXZxS051RGIKQkJ2aUN3ajMzUGhCSldlWjNoNlBkaHNObUY2SVEwNjI3MVp4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", - "server": "https://fabricnlp9.southindia.cloudapp.azure.com" - }, - "name": "fabricnlp9" - } - ], - "contexts": [ - { - "context": { - "cluster": "fabricnlp9", - "user": "fabricnlp9-admin" - }, - "name": "fabricnlp9" - } - ], - "current-context": "fabricnlp9", - "kind": "Config", - "users": [ - { - "name": "fabricnlp9-admin", - "user": {"client-certificate-data":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUw0bWp3MmNCMUp6L3cxa05meXY4SzR3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qRXdNRFF3TVRRNFdoY05NVGt4TWpFd01EUXdNVFE0V2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXlaRCtySURBem51NUlXekZVbjFuQ28zRHREdTAKVWRtcFY5V3huZkszK0tHSFF1cmhGaEtVa2h1UnNMUnptMVJ1L2VWM2xHM3B5eXl0ZzFOeEdtZDJ3TlNTMEsvRApQNjlRL0RkaGlZQ1FMMnJJZ2NGaGZaTU1DOFVhcFg5SlEzc1RpMVhtWjMzMTBhVkVGaksxRlR0Y1kyWjVPOC9GCmZMSDZ0ZGw2a1Mrd3dwWHNmeXJ3WkRzZWw0SjVaYmxsTml5Y1JOc1VKQTQ4SzRWdnFGT05pbmRUQS80N1ZITDcKY0dlbS9xTm9qRHpTRHVoL2xzY3IxU1F2bGR6eTJnMnlJUFJhOEorZUt2UThFWnFzclBjL2xXQmdDVEowcFkxQwo5ZFVqQXdTLy93MW0wd204NUQ0MGppbVVzTDc2Y29NVG9YQ3d0WEdhWnlQTjJZUVNhRHBFbHNBQm8xZG1zS0ZCCnYwb2dpdDNxcWRuenVMVlpubFhyTDYyYUs4Q1lCcWNybEFuUW4rM0c3Rnpva00rRFlpcExnSVB6RFRyaW1OMkkKUFdtYi90Unp2dFhkWSsybzFEaGR2RHU4ZmM3ZUZnemZCcUZnWVpDOXlISjBka28vY3JtSTJMaXlud0Zwak82UgpCT204cHBWSzg4THJ4OWx3MTh4ZExkRklkZDgrUThJeHFVdEJzSVJiY2pSVVVyUlBXWnFXNjNCQ1NTK3ZjbE5pCnk3Q25NYkVKR0YrL29nSWNVYnFOb0tDRGc2Q0U1L3VyZENGcEc1MTBZejVvZHdxblJxZ2hUczE5US9XMjlibUIKVUlyUmhOdCtPRjBRYVZnVVZhSk9Pam5iL0tQb0lvKytkZUZjSjdJZFk4OVFEYkFYcEpCQjA5NXRsYkdNU3BJNQpPTTRwc2M2NGpHeURXbmNDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVkRGpmTkYKY0RXeHdaMm02YnB3TmdIUkVTdk80WVhhSng2WjlKbDRIeGhFMTJJOFpYSWdWemQ1ZHFmTk54SEkvODFXWHdsLwo3RmdESjBmKy9Ca2xaeEtDeWVpd2dwOHQvRDBLdFQ2Ny9ndTM0QnAxWEpVMnJoRkczREZhR2ZLUlRZVzZlUXFnCnFORHpaSFpKY0JuUEI1WjdxVkVPOGlBSk5PSzJqZDNXcGQycnhuUWJBU0hpbXVIc04vUVEvU084ekpNSEZZVCsKZ0lNM0NCR0gzUVQ3d1JSa3hxWEhkOVgrTkVtZ2pmL1laUm1GTDMrR3hGc0NZczhzcmQ5LzBCOXRoUDBBTDhzRApWNk1ybGVBVXZVdE41dUJQR1BDSW1raVA2d2xNZDdyamhmaUhWZTNyWEFvTmZwWitGZ3g5OUJuVHBMUXFhYTZMCldJQzNNbXpJZmVHZTNuZExHODE0Vi81YU9XeE53VzEvZFAzMThlK0d2dENHeUNSYUdBNnRsTThkdGtJU1licmgKYjJWVWlneEI5OGVMS0pTdU8rSDdZRENLbGRXWnpYeU9WODNYZWswVlZpWDl1TVRyWVQ0TU14M1ZTd2xBSXc3Vgp2eW5Ub2ViQlc2OERnV0FXMjRoR1FDVmd2WHpnUDBJdlpsUlhmMGZXRWpKWklQdHFnbnp3bVpmbkF1WkhKcGNZCjc2eUVJMTM1WXh5d1VPOGR5SEJsMEFIcldvZWZsY0ZtNjloRk9zZk1SdGxVTUhDeVhWdHFwRXp3dFYvVWZBVU0KaEp0L2pvREJTQUE1cHFud0I2SCtpNkpYOGlUcGt4SEt4UnNWaE5CQVRkelN5MERPejhPVm01cllKWnlqQlhRbApXL3ZOUDVlTGVwdk9xUm4zRFBqdy92SkFHMGl6d09MVTZVWUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=","client-key-data":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeVpEK3JJREF6bnU1SVd6RlVuMW5DbzNEdER1MFVkbXBWOVd4bmZLMytLR0hRdXJoCkZoS1VraHVSc0xSem0xUnUvZVYzbEczcHl5eXRnMU54R21kMndOU1MwSy9EUDY5US9EZGhpWUNRTDJySWdjRmgKZlpNTUM4VWFwWDlKUTNzVGkxWG1aMzMxMGFWRUZqSzFGVHRjWTJaNU84L0ZmTEg2dGRsNmtTK3d3cFhzZnlydwpaRHNlbDRKNVpibGxOaXljUk5zVUpBNDhLNFZ2cUZPTmluZFRBLzQ3VkhMN2NHZW0vcU5vakR6U0R1aC9sc2NyCjFTUXZsZHp5MmcyeUlQUmE4SitlS3ZROEVacXNyUGMvbFdCZ0NUSjBwWTFDOWRVakF3Uy8vdzFtMHdtODVENDAKamltVXNMNzZjb01Ub1hDd3RYR2FaeVBOMllRU2FEcEVsc0FCbzFkbXNLRkJ2MG9naXQzcXFkbnp1TFZabmxYcgpMNjJhSzhDWUJxY3JsQW5RbiszRzdGem9rTStEWWlwTGdJUHpEVHJpbU4ySVBXbWIvdFJ6dnRYZFkrMm8xRGhkCnZEdThmYzdlRmd6ZkJxRmdZWkM5eUhKMGRrby9jcm1JMkxpeW53RnBqTzZSQk9tOHBwVks4OExyeDlsdzE4eGQKTGRGSWRkOCtROEl4cVV0QnNJUmJjalJVVXJSUFdacVc2M0JDU1MrdmNsTml5N0NuTWJFSkdGKy9vZ0ljVWJxTgpvS0NEZzZDRTUvdXJkQ0ZwRzUxMFl6NW9kd3FuUnFnaFRzMTlRL1cyOWJtQlVJclJoTnQrT0YwUWFWZ1VWYUpPCk9qbmIvS1BvSW8rK2RlRmNKN0lkWTg5UURiQVhwSkJCMDk1dGxiR01TcEk1T000cHNjNjRqR3lEV25jQ0F3RUEKQVFLQ0FnRUFqOVpQVm13ZXFucHh0dDkyeEJIRzZTb1c0TlBHTHE2RGdMRjJxVDdlZDZkVTdiVE00TUpya1FQcAphRTZ0UE1mNDJHZmFlR29pN3lDM3hVSlRNTU5xWTlxTjFpdkd5ZmhpYzBsVjZoaDdTOHNJd0VkdU9YMG9tSEdVClBVdGl6YXZUVzVmMTdoNWR2N2dPcVVTUUlsR1U4VDNiLzRtWjVRemcyc29TQSs4alZRaEZsczNlYzdnWWNZZmkKOTJ0Z1JWTjZSRXlOeDlqOHFSWDBnd3Iwc3ozSldNMGdLM2hONDMya0Zvd25mQU9lNXBLVkVkU1plK1R4ckNEYQprQzQ3MGZadHVzNDh3V3crUFZYQ0tUL2ErTTZvV1lmTzQ2QzFpdFlJd1F1dnN1TXVZQ1RQelpSeVRveHZsZDBDCnZacTU5SGVGTWtXYUtFWE5qSTRKMEtUYjh6T2JObDZ0ajhVYnl6eFNKRVlVNWc4ajNNdEFXalRqUzhNWHpsNlgKakN3aEFGNnNUOTFZeW5Mc3Z1RVZSbTBsZHB0UkIwcExHMjgwci94ODhaSFlDR0YwdnI4TGRLei80MDBhdFFMWQprZGI5RUNDa2pPbVdIdmZVVlZPMjZBeVljWnA1b0k0clhYdGlEVHU4V0dVakhzUzBWc3ljZERqRXRBbzlYYndtCnpONGxMQmE5VFdvRDI5TlNmaUdlYTd1bzFlZ0h3WDlXbWdyUU5rdkM5cmJSTTZ6Z2xzbzRkWCtkQW9uaFRNbVMKQmRLYVhybzUrdFVSK09SditFUG5tZHpYb01uaGlibWRZYVZoc0xTY2FsaSs4MmZZdGJGQllCd1RtWHdZL0NzUAoxSW04Vkx2VDZQVkRUZ2Fjc2JMRVRZemhoNmhFMXQ3Y1F6TE83Zk4xbjJURnJjcEhKZGtDZ2dFQkFQS1ptbnBnClB1VWJubi9OK3R5clh2SGYvNUhHTUdwaTUvME56SnJDSG11ZmN4Q2lUVUgyekNqNE50T0VkRGgzaDZrUkFmc2MKc2xLZGZuWTdxM3lDdDdQRFNiaVY0WSttTndsU0pqM3czOGcxSW9YTkJFbG5rak5aM2hYd3FNSDNsMmZ4bDdHSgpwMUNxUWlHcXZQeEFERzVQREtYalFEUm5hRXBQWUVVem5vTjR3ZUlVeFZWTzhUSnNZaS9XTlNhSSsydThqZWtsCm1yMHVaZlhhaFZZcWtYdjM4QkZFSWtZcWtjTHBycWdPQ2JTQi9OTG14RTcyNTM4OFlHM1JHU1doa1d4ZmNYUFQKUmZkblIxcEErYUhrZkNOTFF0K0lGNzl6MzBQUEJjcmdYR0E4ZUhrRisvenhqRHV1SVdGMGMzb0lKbFZBclRjKwprd2dka3BUSk1CNko0d3NDZ2dFQkFOU3pLNkRDdWFLUTh2VUFHbks4ekZsYk8xZHpmQVhJdmtOWW1JVUV1RDQ4ClRtcGZheE96aVRSWEFWbjhZY3lReTdCbnFpRU95cTltYmZBOUhFSUkxS2hxSEV6MzYxUllXS200S1pmOUk0YjUKVTRsVUJ4bjhBaXNqWHk3bldGRnk4dGZwQ21ic1pjaGJxOStBNTAwQm52dEszWkE5SVU4ZWwxNThncXUrdnQrcQpZdjlONVhMcUVhTHNudDY1NU5iU2RZbmhjZGZTRDE1WlptL2dtR2JHVmx5VHUranAxMHkyZFVDQ3VHdzRIOENHClAxOHpBc1c2TjlCNlJCWk1LLzNNSHVkQi9IblJQUUZ5TkgvVFNQbFlFaTFxeWIzTXU3SU94MHdlUXBSMlVtNjcKdHdpTUN2VHNGOUpOSDNEcElHR0djUzliNlFoRVh6a3BTYmZvRVBIc3ljVUNnZ0VCQU45L3hZS0NrczhOdjlycwpqL1dtWjhVYjRWNlNJTjZTR2puVzhhMk5zdXJocmVjZ0wxN2JHTUdSMHlqUXVTV2djVG0vc254K3RvWklGRTZtCnNGajRNSGVMTGFyQllsbXQvcncyazRhekYrZGhsRm1DUkRYQUZqLzZ4aENlYzBxbmFEUlpyYS9oS21TMVJsR3YKODRYTkYrYTBLdW5WVDd3M25Dd0JycVp5Wk5Hb2VhNW9CbGlPYnNWT2RyS3RmSy93dVBoTGNNM2ZXQXg3NTNFMQpqV3VSc2hCc25oMjZFSDFtRUgxcVBmOFRWN3VWbWE5TzdJSDNFOVR6Y2I4YVNUbVMvTi9EbWtqajFteVVHSGM4CnJ2NkgraG1sNTRqNTN5OEJlQ29IV3NYS0p6Qjk1VnRSdVJJU0VtaVZCcW02MS93UDhBalFtZ1B3UVJMVDg4dmgKQWRUUW9Yc0NnZ0VBUmFiS2thRlNrdGF1aU9aWXd0dnFleFJ5RVVnakErM2h5RUg1NkExTW5DeTViUUlFR1hhQQpacUJiTS9GK3dUTmxVRVlTSXpNcDBsaFRoZ2tzK0w3VmpMVDZ3WVdxRFh2RXhRY21yN3ZZWjNtOERrdHk2K0puCmYyTGM1NG9nbE1OMG5KbVdxMitjUVFrcjlrdks4cCttUlJvV0JnYk9vbzhjK0hjRGYyUStNeFlqeHdEbU0wUk4KTkRJU01GTmxpYWR2a0JCQWJIRkFVU0FyZUZWdThyRGVWUUNYMTBURUdUM2lsWlo0K0E5RTdwSEhyTkFTaDFkYwpzYXRvSW5rZEtzWXVGSUs2UDlYeUNVZ3h3dTRZaG5aOXRWdXo1ckJsZ29CdWFSRzdzY3d4WUV1ZU8zRklvVDJ5CjYwNFFEclI0d3hiNGQ0NjhkOVdUN1M4RkVmRXZvMWxzRlFLQ0FRRUFrNmlpMFlmTGkvNnk4TVQ5dDgrZ1FqazYKTkhWZkRzYnc5c1hKWXZWWGswb0tUN1lBTVBmcnlkS0F0akZ5YlBBcGFDS3dPQlpqcFBySGh0Vy9HdkVub3VpRworQkVIM2x2S0NOUzBlQUVUVC8rNzlNTmVRRjBOazZhb2ZGNFRBei8yaWduMTJESXY5c1Y4NFJVc1VMVmw5bHlGCkpmdktLb1E1ZEg4WnhPQW9HVEVRRDhJdG0ra0FqdmppYnM4RFlnREp2VVRGZnFYcUtxOVJTK2VLS1VZWUM3VGYKejRub0Mvb0c3ZlA1cEpna0dlNU1EbFhHb05GUFNXZzJKVzRPbU1YZmV3WW80MmNOQnhsc0ROUXFYSnFSdXAyRwplT2xNaXU2SmRsak9CRFc5RG8xbHhVaG9JOG9SdW5JRVVGdEN5MUdFWHpYaWdOQ21vbE1qQjUveDJYTzFvZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="} - } - ] -} diff --git a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.uksouth.json b/azure/_output/fabricnlp9/kubeconfig/kubeconfig.uksouth.json deleted file mode 100644 index c6d441f..0000000 --- a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.uksouth.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "apiVersion": "v1", - "clusters": [ - { - "cluster": { - "certificate-authority-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRVkZsMU1sZDA5L0xUazJRMk5JWG1GREFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1UQXdOREF4TkRaYUZ3MHhPVEV5TVRBd05EQXhORFphTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFzZmxGCmNvZCtwMTB4REdUM2ZXWm12K21OYXRhU2w4MFAzNTkrQ3JFWEY5OHYzaHdsQyt6eGpFRXhpZEdHSkdBcWpIc3QKdFlOREg5aG81bHdSWTROamJKcUJJZ3cvcDZ5RXB5WGg1MVliRFA2dDd6bHp3UVMyRjlJKzJ5aG02TWd3V3dSTQpkTmxHb1pzamFrbFJucTBWbXZ6eVk4WGVCVi84TllRb0QzNE1OdVZXVjZ0R0daeWZpdDFFT3YydCtqTnNLdXBRCm4xRGh4RGJkNE9LT3hvaC9md1hnL0tHU1gwWlRyUUY1eUV4c1VOaFdyQncrQnZ0Q2twdHc2aU1hT1Vhb0tVaDkKczVrTTA3clhCY0xmU2FuZ0FBVHZTMWQzNWZmaENZQmxseGl4Sk11QWFMcFNLaHlzekR2Z1BEV2dnUjcvRVZZUApaSDlMSlgwL20vT25DcFl2eURkUE0zeEhLd0pvbkdYS0tmMW1UTE5GUjE2b0YxU3N6QlZWZFNXc1FSSHNCTkdVCmMyZEYvRjZKaDBEV0JQZ2pINnJDOGhFNWFnQmY1Z09oa1hJVnJwZXo4cGtiUmRTampEbWpXWFkwMjkxY2lIRWUKdXlCWFh6MlVoeEJ6c2Y5QmVFUm5LTTBnQ2xLeEtid0dGTjRlc1djTzBEcEhlNm1YK3pnS3ZvSytIUHlVczhnUApkOU9wMU9zZWRIQ0NKWFl4TlIycWw0OFVBcmpENGYycHYxY2ZFekpORWpjb1FwbXlwSmtwUTRjbUZWMnREdjhhCksrS1NYajJvNEVwN1dJVFBEVWtuU3llN3pPamNPeFNmTG9XeWtldGcyZjZnSWVqemFJUm9XbVNkMlR0OHlwRUwKOVBkcXNKVWljbnkzOXNPcUNLYWxMeTRrdThWZ1FQMHVadDFPYW9FQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFGbU5NblhrCjN6YkhHeFNNRTR0bzJsWWJtQmZ1eGFpYlJhYnJpdExZMnEzUkpXNEhxNUVSZC80bm43TmRLWnZBbEh4ZXV2TTYKS1IxWTV1VGp3YjlZckp0VUI4eDlXR2w5R1RhVzNhZTlRZGR5Y1RHMEh6a1owWGFEcGp4ZExWcmVlWUYvRlBTQwp6djVjanhDUytqa3AzM1dGWm9nT2Z0Sjl1Nk9yKzNZV2NVeFBTV1JLeTZTSmVJN2pnWHlnM1hhZk9FbmI1bFJDCktSRit2dFk4cWhsT21uWnRSM1BaTDdsWGNDZGhqZFpRQ2Z2eTdaWVpmajIwckxJMFZVOWtoTFJVSWt2MDdJd0EKaEwwZkRXRVBnek9oM1JBOE1nMityT0EvUmJBVE45U0hCMEYzZXNpa2V6OUxmei82QjVLTitqRyt1TStEZjFxSwo1QlpSYnc1alNsQU9wZ2dBbzJhbDlBUVFIekdpRDRsQnpscy9wVFRFQXBERVVqempHWjY2WlhucTVrTDBjU0xmCmhwQjNPbDY4cldySVRxRDNSK2dJZDZXRGRWbVN6QXFxYnJVRHNQVXVjNWwvcFB6MWFBSjQrSlh1aFd2MzVXSXgKWTRscy9GY3VORks5bXhUS0dOeFdsWnh6aXpsK0tKenIrT09YaHAzQkhaTFpwRFFudmI4YnptZjRxNmFubGl1SQpsWmlRbEk4UUp6cWRpVEtNYTJ4dkMxTm5TS1ZNNHpISmZFWEliQ1ptMnkxQXNoQkRBSDFoczAyci9wdXlsM3QwCjdKcVQ3Y2VDanZESy9uRjQ3RUZ1c2tzV0dQMUJpRXlONExxbFJWeXB3MFA1MlFsMDJuRHFZbnlzSXZxS051RGIKQkJ2aUN3ajMzUGhCSldlWjNoNlBkaHNObUY2SVEwNjI3MVp4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", - "server": "https://fabricnlp9.uksouth.cloudapp.azure.com" - }, - "name": "fabricnlp9" - } - ], - "contexts": [ - { - "context": { - "cluster": "fabricnlp9", - "user": "fabricnlp9-admin" - }, - "name": "fabricnlp9" - } - ], - "current-context": "fabricnlp9", - "kind": "Config", - "users": [ - { - "name": "fabricnlp9-admin", - "user": {"client-certificate-data":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUw0bWp3MmNCMUp6L3cxa05meXY4SzR3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qRXdNRFF3TVRRNFdoY05NVGt4TWpFd01EUXdNVFE0V2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXlaRCtySURBem51NUlXekZVbjFuQ28zRHREdTAKVWRtcFY5V3huZkszK0tHSFF1cmhGaEtVa2h1UnNMUnptMVJ1L2VWM2xHM3B5eXl0ZzFOeEdtZDJ3TlNTMEsvRApQNjlRL0RkaGlZQ1FMMnJJZ2NGaGZaTU1DOFVhcFg5SlEzc1RpMVhtWjMzMTBhVkVGaksxRlR0Y1kyWjVPOC9GCmZMSDZ0ZGw2a1Mrd3dwWHNmeXJ3WkRzZWw0SjVaYmxsTml5Y1JOc1VKQTQ4SzRWdnFGT05pbmRUQS80N1ZITDcKY0dlbS9xTm9qRHpTRHVoL2xzY3IxU1F2bGR6eTJnMnlJUFJhOEorZUt2UThFWnFzclBjL2xXQmdDVEowcFkxQwo5ZFVqQXdTLy93MW0wd204NUQ0MGppbVVzTDc2Y29NVG9YQ3d0WEdhWnlQTjJZUVNhRHBFbHNBQm8xZG1zS0ZCCnYwb2dpdDNxcWRuenVMVlpubFhyTDYyYUs4Q1lCcWNybEFuUW4rM0c3Rnpva00rRFlpcExnSVB6RFRyaW1OMkkKUFdtYi90Unp2dFhkWSsybzFEaGR2RHU4ZmM3ZUZnemZCcUZnWVpDOXlISjBka28vY3JtSTJMaXlud0Zwak82UgpCT204cHBWSzg4THJ4OWx3MTh4ZExkRklkZDgrUThJeHFVdEJzSVJiY2pSVVVyUlBXWnFXNjNCQ1NTK3ZjbE5pCnk3Q25NYkVKR0YrL29nSWNVYnFOb0tDRGc2Q0U1L3VyZENGcEc1MTBZejVvZHdxblJxZ2hUczE5US9XMjlibUIKVUlyUmhOdCtPRjBRYVZnVVZhSk9Pam5iL0tQb0lvKytkZUZjSjdJZFk4OVFEYkFYcEpCQjA5NXRsYkdNU3BJNQpPTTRwc2M2NGpHeURXbmNDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVkRGpmTkYKY0RXeHdaMm02YnB3TmdIUkVTdk80WVhhSng2WjlKbDRIeGhFMTJJOFpYSWdWemQ1ZHFmTk54SEkvODFXWHdsLwo3RmdESjBmKy9Ca2xaeEtDeWVpd2dwOHQvRDBLdFQ2Ny9ndTM0QnAxWEpVMnJoRkczREZhR2ZLUlRZVzZlUXFnCnFORHpaSFpKY0JuUEI1WjdxVkVPOGlBSk5PSzJqZDNXcGQycnhuUWJBU0hpbXVIc04vUVEvU084ekpNSEZZVCsKZ0lNM0NCR0gzUVQ3d1JSa3hxWEhkOVgrTkVtZ2pmL1laUm1GTDMrR3hGc0NZczhzcmQ5LzBCOXRoUDBBTDhzRApWNk1ybGVBVXZVdE41dUJQR1BDSW1raVA2d2xNZDdyamhmaUhWZTNyWEFvTmZwWitGZ3g5OUJuVHBMUXFhYTZMCldJQzNNbXpJZmVHZTNuZExHODE0Vi81YU9XeE53VzEvZFAzMThlK0d2dENHeUNSYUdBNnRsTThkdGtJU1licmgKYjJWVWlneEI5OGVMS0pTdU8rSDdZRENLbGRXWnpYeU9WODNYZWswVlZpWDl1TVRyWVQ0TU14M1ZTd2xBSXc3Vgp2eW5Ub2ViQlc2OERnV0FXMjRoR1FDVmd2WHpnUDBJdlpsUlhmMGZXRWpKWklQdHFnbnp3bVpmbkF1WkhKcGNZCjc2eUVJMTM1WXh5d1VPOGR5SEJsMEFIcldvZWZsY0ZtNjloRk9zZk1SdGxVTUhDeVhWdHFwRXp3dFYvVWZBVU0KaEp0L2pvREJTQUE1cHFud0I2SCtpNkpYOGlUcGt4SEt4UnNWaE5CQVRkelN5MERPejhPVm01cllKWnlqQlhRbApXL3ZOUDVlTGVwdk9xUm4zRFBqdy92SkFHMGl6d09MVTZVWUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=","client-key-data":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeVpEK3JJREF6bnU1SVd6RlVuMW5DbzNEdER1MFVkbXBWOVd4bmZLMytLR0hRdXJoCkZoS1VraHVSc0xSem0xUnUvZVYzbEczcHl5eXRnMU54R21kMndOU1MwSy9EUDY5US9EZGhpWUNRTDJySWdjRmgKZlpNTUM4VWFwWDlKUTNzVGkxWG1aMzMxMGFWRUZqSzFGVHRjWTJaNU84L0ZmTEg2dGRsNmtTK3d3cFhzZnlydwpaRHNlbDRKNVpibGxOaXljUk5zVUpBNDhLNFZ2cUZPTmluZFRBLzQ3VkhMN2NHZW0vcU5vakR6U0R1aC9sc2NyCjFTUXZsZHp5MmcyeUlQUmE4SitlS3ZROEVacXNyUGMvbFdCZ0NUSjBwWTFDOWRVakF3Uy8vdzFtMHdtODVENDAKamltVXNMNzZjb01Ub1hDd3RYR2FaeVBOMllRU2FEcEVsc0FCbzFkbXNLRkJ2MG9naXQzcXFkbnp1TFZabmxYcgpMNjJhSzhDWUJxY3JsQW5RbiszRzdGem9rTStEWWlwTGdJUHpEVHJpbU4ySVBXbWIvdFJ6dnRYZFkrMm8xRGhkCnZEdThmYzdlRmd6ZkJxRmdZWkM5eUhKMGRrby9jcm1JMkxpeW53RnBqTzZSQk9tOHBwVks4OExyeDlsdzE4eGQKTGRGSWRkOCtROEl4cVV0QnNJUmJjalJVVXJSUFdacVc2M0JDU1MrdmNsTml5N0NuTWJFSkdGKy9vZ0ljVWJxTgpvS0NEZzZDRTUvdXJkQ0ZwRzUxMFl6NW9kd3FuUnFnaFRzMTlRL1cyOWJtQlVJclJoTnQrT0YwUWFWZ1VWYUpPCk9qbmIvS1BvSW8rK2RlRmNKN0lkWTg5UURiQVhwSkJCMDk1dGxiR01TcEk1T000cHNjNjRqR3lEV25jQ0F3RUEKQVFLQ0FnRUFqOVpQVm13ZXFucHh0dDkyeEJIRzZTb1c0TlBHTHE2RGdMRjJxVDdlZDZkVTdiVE00TUpya1FQcAphRTZ0UE1mNDJHZmFlR29pN3lDM3hVSlRNTU5xWTlxTjFpdkd5ZmhpYzBsVjZoaDdTOHNJd0VkdU9YMG9tSEdVClBVdGl6YXZUVzVmMTdoNWR2N2dPcVVTUUlsR1U4VDNiLzRtWjVRemcyc29TQSs4alZRaEZsczNlYzdnWWNZZmkKOTJ0Z1JWTjZSRXlOeDlqOHFSWDBnd3Iwc3ozSldNMGdLM2hONDMya0Zvd25mQU9lNXBLVkVkU1plK1R4ckNEYQprQzQ3MGZadHVzNDh3V3crUFZYQ0tUL2ErTTZvV1lmTzQ2QzFpdFlJd1F1dnN1TXVZQ1RQelpSeVRveHZsZDBDCnZacTU5SGVGTWtXYUtFWE5qSTRKMEtUYjh6T2JObDZ0ajhVYnl6eFNKRVlVNWc4ajNNdEFXalRqUzhNWHpsNlgKakN3aEFGNnNUOTFZeW5Mc3Z1RVZSbTBsZHB0UkIwcExHMjgwci94ODhaSFlDR0YwdnI4TGRLei80MDBhdFFMWQprZGI5RUNDa2pPbVdIdmZVVlZPMjZBeVljWnA1b0k0clhYdGlEVHU4V0dVakhzUzBWc3ljZERqRXRBbzlYYndtCnpONGxMQmE5VFdvRDI5TlNmaUdlYTd1bzFlZ0h3WDlXbWdyUU5rdkM5cmJSTTZ6Z2xzbzRkWCtkQW9uaFRNbVMKQmRLYVhybzUrdFVSK09SditFUG5tZHpYb01uaGlibWRZYVZoc0xTY2FsaSs4MmZZdGJGQllCd1RtWHdZL0NzUAoxSW04Vkx2VDZQVkRUZ2Fjc2JMRVRZemhoNmhFMXQ3Y1F6TE83Zk4xbjJURnJjcEhKZGtDZ2dFQkFQS1ptbnBnClB1VWJubi9OK3R5clh2SGYvNUhHTUdwaTUvME56SnJDSG11ZmN4Q2lUVUgyekNqNE50T0VkRGgzaDZrUkFmc2MKc2xLZGZuWTdxM3lDdDdQRFNiaVY0WSttTndsU0pqM3czOGcxSW9YTkJFbG5rak5aM2hYd3FNSDNsMmZ4bDdHSgpwMUNxUWlHcXZQeEFERzVQREtYalFEUm5hRXBQWUVVem5vTjR3ZUlVeFZWTzhUSnNZaS9XTlNhSSsydThqZWtsCm1yMHVaZlhhaFZZcWtYdjM4QkZFSWtZcWtjTHBycWdPQ2JTQi9OTG14RTcyNTM4OFlHM1JHU1doa1d4ZmNYUFQKUmZkblIxcEErYUhrZkNOTFF0K0lGNzl6MzBQUEJjcmdYR0E4ZUhrRisvenhqRHV1SVdGMGMzb0lKbFZBclRjKwprd2dka3BUSk1CNko0d3NDZ2dFQkFOU3pLNkRDdWFLUTh2VUFHbks4ekZsYk8xZHpmQVhJdmtOWW1JVUV1RDQ4ClRtcGZheE96aVRSWEFWbjhZY3lReTdCbnFpRU95cTltYmZBOUhFSUkxS2hxSEV6MzYxUllXS200S1pmOUk0YjUKVTRsVUJ4bjhBaXNqWHk3bldGRnk4dGZwQ21ic1pjaGJxOStBNTAwQm52dEszWkE5SVU4ZWwxNThncXUrdnQrcQpZdjlONVhMcUVhTHNudDY1NU5iU2RZbmhjZGZTRDE1WlptL2dtR2JHVmx5VHUranAxMHkyZFVDQ3VHdzRIOENHClAxOHpBc1c2TjlCNlJCWk1LLzNNSHVkQi9IblJQUUZ5TkgvVFNQbFlFaTFxeWIzTXU3SU94MHdlUXBSMlVtNjcKdHdpTUN2VHNGOUpOSDNEcElHR0djUzliNlFoRVh6a3BTYmZvRVBIc3ljVUNnZ0VCQU45L3hZS0NrczhOdjlycwpqL1dtWjhVYjRWNlNJTjZTR2puVzhhMk5zdXJocmVjZ0wxN2JHTUdSMHlqUXVTV2djVG0vc254K3RvWklGRTZtCnNGajRNSGVMTGFyQllsbXQvcncyazRhekYrZGhsRm1DUkRYQUZqLzZ4aENlYzBxbmFEUlpyYS9oS21TMVJsR3YKODRYTkYrYTBLdW5WVDd3M25Dd0JycVp5Wk5Hb2VhNW9CbGlPYnNWT2RyS3RmSy93dVBoTGNNM2ZXQXg3NTNFMQpqV3VSc2hCc25oMjZFSDFtRUgxcVBmOFRWN3VWbWE5TzdJSDNFOVR6Y2I4YVNUbVMvTi9EbWtqajFteVVHSGM4CnJ2NkgraG1sNTRqNTN5OEJlQ29IV3NYS0p6Qjk1VnRSdVJJU0VtaVZCcW02MS93UDhBalFtZ1B3UVJMVDg4dmgKQWRUUW9Yc0NnZ0VBUmFiS2thRlNrdGF1aU9aWXd0dnFleFJ5RVVnakErM2h5RUg1NkExTW5DeTViUUlFR1hhQQpacUJiTS9GK3dUTmxVRVlTSXpNcDBsaFRoZ2tzK0w3VmpMVDZ3WVdxRFh2RXhRY21yN3ZZWjNtOERrdHk2K0puCmYyTGM1NG9nbE1OMG5KbVdxMitjUVFrcjlrdks4cCttUlJvV0JnYk9vbzhjK0hjRGYyUStNeFlqeHdEbU0wUk4KTkRJU01GTmxpYWR2a0JCQWJIRkFVU0FyZUZWdThyRGVWUUNYMTBURUdUM2lsWlo0K0E5RTdwSEhyTkFTaDFkYwpzYXRvSW5rZEtzWXVGSUs2UDlYeUNVZ3h3dTRZaG5aOXRWdXo1ckJsZ29CdWFSRzdzY3d4WUV1ZU8zRklvVDJ5CjYwNFFEclI0d3hiNGQ0NjhkOVdUN1M4RkVmRXZvMWxzRlFLQ0FRRUFrNmlpMFlmTGkvNnk4TVQ5dDgrZ1FqazYKTkhWZkRzYnc5c1hKWXZWWGswb0tUN1lBTVBmcnlkS0F0akZ5YlBBcGFDS3dPQlpqcFBySGh0Vy9HdkVub3VpRworQkVIM2x2S0NOUzBlQUVUVC8rNzlNTmVRRjBOazZhb2ZGNFRBei8yaWduMTJESXY5c1Y4NFJVc1VMVmw5bHlGCkpmdktLb1E1ZEg4WnhPQW9HVEVRRDhJdG0ra0FqdmppYnM4RFlnREp2VVRGZnFYcUtxOVJTK2VLS1VZWUM3VGYKejRub0Mvb0c3ZlA1cEpna0dlNU1EbFhHb05GUFNXZzJKVzRPbU1YZmV3WW80MmNOQnhsc0ROUXFYSnFSdXAyRwplT2xNaXU2SmRsak9CRFc5RG8xbHhVaG9JOG9SdW5JRVVGdEN5MUdFWHpYaWdOQ21vbE1qQjUveDJYTzFvZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="} - } - ] -} diff --git a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.ukwest.json b/azure/_output/fabricnlp9/kubeconfig/kubeconfig.ukwest.json deleted file mode 100644 index b01c2bd..0000000 --- a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.ukwest.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "apiVersion": "v1", - "clusters": [ - { - "cluster": { - "certificate-authority-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRVkZsMU1sZDA5L0xUazJRMk5JWG1GREFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1UQXdOREF4TkRaYUZ3MHhPVEV5TVRBd05EQXhORFphTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFzZmxGCmNvZCtwMTB4REdUM2ZXWm12K21OYXRhU2w4MFAzNTkrQ3JFWEY5OHYzaHdsQyt6eGpFRXhpZEdHSkdBcWpIc3QKdFlOREg5aG81bHdSWTROamJKcUJJZ3cvcDZ5RXB5WGg1MVliRFA2dDd6bHp3UVMyRjlJKzJ5aG02TWd3V3dSTQpkTmxHb1pzamFrbFJucTBWbXZ6eVk4WGVCVi84TllRb0QzNE1OdVZXVjZ0R0daeWZpdDFFT3YydCtqTnNLdXBRCm4xRGh4RGJkNE9LT3hvaC9md1hnL0tHU1gwWlRyUUY1eUV4c1VOaFdyQncrQnZ0Q2twdHc2aU1hT1Vhb0tVaDkKczVrTTA3clhCY0xmU2FuZ0FBVHZTMWQzNWZmaENZQmxseGl4Sk11QWFMcFNLaHlzekR2Z1BEV2dnUjcvRVZZUApaSDlMSlgwL20vT25DcFl2eURkUE0zeEhLd0pvbkdYS0tmMW1UTE5GUjE2b0YxU3N6QlZWZFNXc1FSSHNCTkdVCmMyZEYvRjZKaDBEV0JQZ2pINnJDOGhFNWFnQmY1Z09oa1hJVnJwZXo4cGtiUmRTampEbWpXWFkwMjkxY2lIRWUKdXlCWFh6MlVoeEJ6c2Y5QmVFUm5LTTBnQ2xLeEtid0dGTjRlc1djTzBEcEhlNm1YK3pnS3ZvSytIUHlVczhnUApkOU9wMU9zZWRIQ0NKWFl4TlIycWw0OFVBcmpENGYycHYxY2ZFekpORWpjb1FwbXlwSmtwUTRjbUZWMnREdjhhCksrS1NYajJvNEVwN1dJVFBEVWtuU3llN3pPamNPeFNmTG9XeWtldGcyZjZnSWVqemFJUm9XbVNkMlR0OHlwRUwKOVBkcXNKVWljbnkzOXNPcUNLYWxMeTRrdThWZ1FQMHVadDFPYW9FQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFGbU5NblhrCjN6YkhHeFNNRTR0bzJsWWJtQmZ1eGFpYlJhYnJpdExZMnEzUkpXNEhxNUVSZC80bm43TmRLWnZBbEh4ZXV2TTYKS1IxWTV1VGp3YjlZckp0VUI4eDlXR2w5R1RhVzNhZTlRZGR5Y1RHMEh6a1owWGFEcGp4ZExWcmVlWUYvRlBTQwp6djVjanhDUytqa3AzM1dGWm9nT2Z0Sjl1Nk9yKzNZV2NVeFBTV1JLeTZTSmVJN2pnWHlnM1hhZk9FbmI1bFJDCktSRit2dFk4cWhsT21uWnRSM1BaTDdsWGNDZGhqZFpRQ2Z2eTdaWVpmajIwckxJMFZVOWtoTFJVSWt2MDdJd0EKaEwwZkRXRVBnek9oM1JBOE1nMityT0EvUmJBVE45U0hCMEYzZXNpa2V6OUxmei82QjVLTitqRyt1TStEZjFxSwo1QlpSYnc1alNsQU9wZ2dBbzJhbDlBUVFIekdpRDRsQnpscy9wVFRFQXBERVVqempHWjY2WlhucTVrTDBjU0xmCmhwQjNPbDY4cldySVRxRDNSK2dJZDZXRGRWbVN6QXFxYnJVRHNQVXVjNWwvcFB6MWFBSjQrSlh1aFd2MzVXSXgKWTRscy9GY3VORks5bXhUS0dOeFdsWnh6aXpsK0tKenIrT09YaHAzQkhaTFpwRFFudmI4YnptZjRxNmFubGl1SQpsWmlRbEk4UUp6cWRpVEtNYTJ4dkMxTm5TS1ZNNHpISmZFWEliQ1ptMnkxQXNoQkRBSDFoczAyci9wdXlsM3QwCjdKcVQ3Y2VDanZESy9uRjQ3RUZ1c2tzV0dQMUJpRXlONExxbFJWeXB3MFA1MlFsMDJuRHFZbnlzSXZxS051RGIKQkJ2aUN3ajMzUGhCSldlWjNoNlBkaHNObUY2SVEwNjI3MVp4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", - "server": "https://fabricnlp9.ukwest.cloudapp.azure.com" - }, - "name": "fabricnlp9" - } - ], - "contexts": [ - { - "context": { - "cluster": "fabricnlp9", - "user": "fabricnlp9-admin" - }, - "name": "fabricnlp9" - } - ], - "current-context": "fabricnlp9", - "kind": "Config", - "users": [ - { - "name": "fabricnlp9-admin", - "user": {"client-certificate-data":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUw0bWp3MmNCMUp6L3cxa05meXY4SzR3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qRXdNRFF3TVRRNFdoY05NVGt4TWpFd01EUXdNVFE0V2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXlaRCtySURBem51NUlXekZVbjFuQ28zRHREdTAKVWRtcFY5V3huZkszK0tHSFF1cmhGaEtVa2h1UnNMUnptMVJ1L2VWM2xHM3B5eXl0ZzFOeEdtZDJ3TlNTMEsvRApQNjlRL0RkaGlZQ1FMMnJJZ2NGaGZaTU1DOFVhcFg5SlEzc1RpMVhtWjMzMTBhVkVGaksxRlR0Y1kyWjVPOC9GCmZMSDZ0ZGw2a1Mrd3dwWHNmeXJ3WkRzZWw0SjVaYmxsTml5Y1JOc1VKQTQ4SzRWdnFGT05pbmRUQS80N1ZITDcKY0dlbS9xTm9qRHpTRHVoL2xzY3IxU1F2bGR6eTJnMnlJUFJhOEorZUt2UThFWnFzclBjL2xXQmdDVEowcFkxQwo5ZFVqQXdTLy93MW0wd204NUQ0MGppbVVzTDc2Y29NVG9YQ3d0WEdhWnlQTjJZUVNhRHBFbHNBQm8xZG1zS0ZCCnYwb2dpdDNxcWRuenVMVlpubFhyTDYyYUs4Q1lCcWNybEFuUW4rM0c3Rnpva00rRFlpcExnSVB6RFRyaW1OMkkKUFdtYi90Unp2dFhkWSsybzFEaGR2RHU4ZmM3ZUZnemZCcUZnWVpDOXlISjBka28vY3JtSTJMaXlud0Zwak82UgpCT204cHBWSzg4THJ4OWx3MTh4ZExkRklkZDgrUThJeHFVdEJzSVJiY2pSVVVyUlBXWnFXNjNCQ1NTK3ZjbE5pCnk3Q25NYkVKR0YrL29nSWNVYnFOb0tDRGc2Q0U1L3VyZENGcEc1MTBZejVvZHdxblJxZ2hUczE5US9XMjlibUIKVUlyUmhOdCtPRjBRYVZnVVZhSk9Pam5iL0tQb0lvKytkZUZjSjdJZFk4OVFEYkFYcEpCQjA5NXRsYkdNU3BJNQpPTTRwc2M2NGpHeURXbmNDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVkRGpmTkYKY0RXeHdaMm02YnB3TmdIUkVTdk80WVhhSng2WjlKbDRIeGhFMTJJOFpYSWdWemQ1ZHFmTk54SEkvODFXWHdsLwo3RmdESjBmKy9Ca2xaeEtDeWVpd2dwOHQvRDBLdFQ2Ny9ndTM0QnAxWEpVMnJoRkczREZhR2ZLUlRZVzZlUXFnCnFORHpaSFpKY0JuUEI1WjdxVkVPOGlBSk5PSzJqZDNXcGQycnhuUWJBU0hpbXVIc04vUVEvU084ekpNSEZZVCsKZ0lNM0NCR0gzUVQ3d1JSa3hxWEhkOVgrTkVtZ2pmL1laUm1GTDMrR3hGc0NZczhzcmQ5LzBCOXRoUDBBTDhzRApWNk1ybGVBVXZVdE41dUJQR1BDSW1raVA2d2xNZDdyamhmaUhWZTNyWEFvTmZwWitGZ3g5OUJuVHBMUXFhYTZMCldJQzNNbXpJZmVHZTNuZExHODE0Vi81YU9XeE53VzEvZFAzMThlK0d2dENHeUNSYUdBNnRsTThkdGtJU1licmgKYjJWVWlneEI5OGVMS0pTdU8rSDdZRENLbGRXWnpYeU9WODNYZWswVlZpWDl1TVRyWVQ0TU14M1ZTd2xBSXc3Vgp2eW5Ub2ViQlc2OERnV0FXMjRoR1FDVmd2WHpnUDBJdlpsUlhmMGZXRWpKWklQdHFnbnp3bVpmbkF1WkhKcGNZCjc2eUVJMTM1WXh5d1VPOGR5SEJsMEFIcldvZWZsY0ZtNjloRk9zZk1SdGxVTUhDeVhWdHFwRXp3dFYvVWZBVU0KaEp0L2pvREJTQUE1cHFud0I2SCtpNkpYOGlUcGt4SEt4UnNWaE5CQVRkelN5MERPejhPVm01cllKWnlqQlhRbApXL3ZOUDVlTGVwdk9xUm4zRFBqdy92SkFHMGl6d09MVTZVWUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=","client-key-data":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeVpEK3JJREF6bnU1SVd6RlVuMW5DbzNEdER1MFVkbXBWOVd4bmZLMytLR0hRdXJoCkZoS1VraHVSc0xSem0xUnUvZVYzbEczcHl5eXRnMU54R21kMndOU1MwSy9EUDY5US9EZGhpWUNRTDJySWdjRmgKZlpNTUM4VWFwWDlKUTNzVGkxWG1aMzMxMGFWRUZqSzFGVHRjWTJaNU84L0ZmTEg2dGRsNmtTK3d3cFhzZnlydwpaRHNlbDRKNVpibGxOaXljUk5zVUpBNDhLNFZ2cUZPTmluZFRBLzQ3VkhMN2NHZW0vcU5vakR6U0R1aC9sc2NyCjFTUXZsZHp5MmcyeUlQUmE4SitlS3ZROEVacXNyUGMvbFdCZ0NUSjBwWTFDOWRVakF3Uy8vdzFtMHdtODVENDAKamltVXNMNzZjb01Ub1hDd3RYR2FaeVBOMllRU2FEcEVsc0FCbzFkbXNLRkJ2MG9naXQzcXFkbnp1TFZabmxYcgpMNjJhSzhDWUJxY3JsQW5RbiszRzdGem9rTStEWWlwTGdJUHpEVHJpbU4ySVBXbWIvdFJ6dnRYZFkrMm8xRGhkCnZEdThmYzdlRmd6ZkJxRmdZWkM5eUhKMGRrby9jcm1JMkxpeW53RnBqTzZSQk9tOHBwVks4OExyeDlsdzE4eGQKTGRGSWRkOCtROEl4cVV0QnNJUmJjalJVVXJSUFdacVc2M0JDU1MrdmNsTml5N0NuTWJFSkdGKy9vZ0ljVWJxTgpvS0NEZzZDRTUvdXJkQ0ZwRzUxMFl6NW9kd3FuUnFnaFRzMTlRL1cyOWJtQlVJclJoTnQrT0YwUWFWZ1VWYUpPCk9qbmIvS1BvSW8rK2RlRmNKN0lkWTg5UURiQVhwSkJCMDk1dGxiR01TcEk1T000cHNjNjRqR3lEV25jQ0F3RUEKQVFLQ0FnRUFqOVpQVm13ZXFucHh0dDkyeEJIRzZTb1c0TlBHTHE2RGdMRjJxVDdlZDZkVTdiVE00TUpya1FQcAphRTZ0UE1mNDJHZmFlR29pN3lDM3hVSlRNTU5xWTlxTjFpdkd5ZmhpYzBsVjZoaDdTOHNJd0VkdU9YMG9tSEdVClBVdGl6YXZUVzVmMTdoNWR2N2dPcVVTUUlsR1U4VDNiLzRtWjVRemcyc29TQSs4alZRaEZsczNlYzdnWWNZZmkKOTJ0Z1JWTjZSRXlOeDlqOHFSWDBnd3Iwc3ozSldNMGdLM2hONDMya0Zvd25mQU9lNXBLVkVkU1plK1R4ckNEYQprQzQ3MGZadHVzNDh3V3crUFZYQ0tUL2ErTTZvV1lmTzQ2QzFpdFlJd1F1dnN1TXVZQ1RQelpSeVRveHZsZDBDCnZacTU5SGVGTWtXYUtFWE5qSTRKMEtUYjh6T2JObDZ0ajhVYnl6eFNKRVlVNWc4ajNNdEFXalRqUzhNWHpsNlgKakN3aEFGNnNUOTFZeW5Mc3Z1RVZSbTBsZHB0UkIwcExHMjgwci94ODhaSFlDR0YwdnI4TGRLei80MDBhdFFMWQprZGI5RUNDa2pPbVdIdmZVVlZPMjZBeVljWnA1b0k0clhYdGlEVHU4V0dVakhzUzBWc3ljZERqRXRBbzlYYndtCnpONGxMQmE5VFdvRDI5TlNmaUdlYTd1bzFlZ0h3WDlXbWdyUU5rdkM5cmJSTTZ6Z2xzbzRkWCtkQW9uaFRNbVMKQmRLYVhybzUrdFVSK09SditFUG5tZHpYb01uaGlibWRZYVZoc0xTY2FsaSs4MmZZdGJGQllCd1RtWHdZL0NzUAoxSW04Vkx2VDZQVkRUZ2Fjc2JMRVRZemhoNmhFMXQ3Y1F6TE83Zk4xbjJURnJjcEhKZGtDZ2dFQkFQS1ptbnBnClB1VWJubi9OK3R5clh2SGYvNUhHTUdwaTUvME56SnJDSG11ZmN4Q2lUVUgyekNqNE50T0VkRGgzaDZrUkFmc2MKc2xLZGZuWTdxM3lDdDdQRFNiaVY0WSttTndsU0pqM3czOGcxSW9YTkJFbG5rak5aM2hYd3FNSDNsMmZ4bDdHSgpwMUNxUWlHcXZQeEFERzVQREtYalFEUm5hRXBQWUVVem5vTjR3ZUlVeFZWTzhUSnNZaS9XTlNhSSsydThqZWtsCm1yMHVaZlhhaFZZcWtYdjM4QkZFSWtZcWtjTHBycWdPQ2JTQi9OTG14RTcyNTM4OFlHM1JHU1doa1d4ZmNYUFQKUmZkblIxcEErYUhrZkNOTFF0K0lGNzl6MzBQUEJjcmdYR0E4ZUhrRisvenhqRHV1SVdGMGMzb0lKbFZBclRjKwprd2dka3BUSk1CNko0d3NDZ2dFQkFOU3pLNkRDdWFLUTh2VUFHbks4ekZsYk8xZHpmQVhJdmtOWW1JVUV1RDQ4ClRtcGZheE96aVRSWEFWbjhZY3lReTdCbnFpRU95cTltYmZBOUhFSUkxS2hxSEV6MzYxUllXS200S1pmOUk0YjUKVTRsVUJ4bjhBaXNqWHk3bldGRnk4dGZwQ21ic1pjaGJxOStBNTAwQm52dEszWkE5SVU4ZWwxNThncXUrdnQrcQpZdjlONVhMcUVhTHNudDY1NU5iU2RZbmhjZGZTRDE1WlptL2dtR2JHVmx5VHUranAxMHkyZFVDQ3VHdzRIOENHClAxOHpBc1c2TjlCNlJCWk1LLzNNSHVkQi9IblJQUUZ5TkgvVFNQbFlFaTFxeWIzTXU3SU94MHdlUXBSMlVtNjcKdHdpTUN2VHNGOUpOSDNEcElHR0djUzliNlFoRVh6a3BTYmZvRVBIc3ljVUNnZ0VCQU45L3hZS0NrczhOdjlycwpqL1dtWjhVYjRWNlNJTjZTR2puVzhhMk5zdXJocmVjZ0wxN2JHTUdSMHlqUXVTV2djVG0vc254K3RvWklGRTZtCnNGajRNSGVMTGFyQllsbXQvcncyazRhekYrZGhsRm1DUkRYQUZqLzZ4aENlYzBxbmFEUlpyYS9oS21TMVJsR3YKODRYTkYrYTBLdW5WVDd3M25Dd0JycVp5Wk5Hb2VhNW9CbGlPYnNWT2RyS3RmSy93dVBoTGNNM2ZXQXg3NTNFMQpqV3VSc2hCc25oMjZFSDFtRUgxcVBmOFRWN3VWbWE5TzdJSDNFOVR6Y2I4YVNUbVMvTi9EbWtqajFteVVHSGM4CnJ2NkgraG1sNTRqNTN5OEJlQ29IV3NYS0p6Qjk1VnRSdVJJU0VtaVZCcW02MS93UDhBalFtZ1B3UVJMVDg4dmgKQWRUUW9Yc0NnZ0VBUmFiS2thRlNrdGF1aU9aWXd0dnFleFJ5RVVnakErM2h5RUg1NkExTW5DeTViUUlFR1hhQQpacUJiTS9GK3dUTmxVRVlTSXpNcDBsaFRoZ2tzK0w3VmpMVDZ3WVdxRFh2RXhRY21yN3ZZWjNtOERrdHk2K0puCmYyTGM1NG9nbE1OMG5KbVdxMitjUVFrcjlrdks4cCttUlJvV0JnYk9vbzhjK0hjRGYyUStNeFlqeHdEbU0wUk4KTkRJU01GTmxpYWR2a0JCQWJIRkFVU0FyZUZWdThyRGVWUUNYMTBURUdUM2lsWlo0K0E5RTdwSEhyTkFTaDFkYwpzYXRvSW5rZEtzWXVGSUs2UDlYeUNVZ3h3dTRZaG5aOXRWdXo1ckJsZ29CdWFSRzdzY3d4WUV1ZU8zRklvVDJ5CjYwNFFEclI0d3hiNGQ0NjhkOVdUN1M4RkVmRXZvMWxzRlFLQ0FRRUFrNmlpMFlmTGkvNnk4TVQ5dDgrZ1FqazYKTkhWZkRzYnc5c1hKWXZWWGswb0tUN1lBTVBmcnlkS0F0akZ5YlBBcGFDS3dPQlpqcFBySGh0Vy9HdkVub3VpRworQkVIM2x2S0NOUzBlQUVUVC8rNzlNTmVRRjBOazZhb2ZGNFRBei8yaWduMTJESXY5c1Y4NFJVc1VMVmw5bHlGCkpmdktLb1E1ZEg4WnhPQW9HVEVRRDhJdG0ra0FqdmppYnM4RFlnREp2VVRGZnFYcUtxOVJTK2VLS1VZWUM3VGYKejRub0Mvb0c3ZlA1cEpna0dlNU1EbFhHb05GUFNXZzJKVzRPbU1YZmV3WW80MmNOQnhsc0ROUXFYSnFSdXAyRwplT2xNaXU2SmRsak9CRFc5RG8xbHhVaG9JOG9SdW5JRVVGdEN5MUdFWHpYaWdOQ21vbE1qQjUveDJYTzFvZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="} - } - ] -} diff --git a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.usgovarizona.json b/azure/_output/fabricnlp9/kubeconfig/kubeconfig.usgovarizona.json deleted file mode 100644 index b730b50..0000000 --- a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.usgovarizona.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "apiVersion": "v1", - "clusters": [ - { - "cluster": { - "certificate-authority-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRVkZsMU1sZDA5L0xUazJRMk5JWG1GREFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1UQXdOREF4TkRaYUZ3MHhPVEV5TVRBd05EQXhORFphTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFzZmxGCmNvZCtwMTB4REdUM2ZXWm12K21OYXRhU2w4MFAzNTkrQ3JFWEY5OHYzaHdsQyt6eGpFRXhpZEdHSkdBcWpIc3QKdFlOREg5aG81bHdSWTROamJKcUJJZ3cvcDZ5RXB5WGg1MVliRFA2dDd6bHp3UVMyRjlJKzJ5aG02TWd3V3dSTQpkTmxHb1pzamFrbFJucTBWbXZ6eVk4WGVCVi84TllRb0QzNE1OdVZXVjZ0R0daeWZpdDFFT3YydCtqTnNLdXBRCm4xRGh4RGJkNE9LT3hvaC9md1hnL0tHU1gwWlRyUUY1eUV4c1VOaFdyQncrQnZ0Q2twdHc2aU1hT1Vhb0tVaDkKczVrTTA3clhCY0xmU2FuZ0FBVHZTMWQzNWZmaENZQmxseGl4Sk11QWFMcFNLaHlzekR2Z1BEV2dnUjcvRVZZUApaSDlMSlgwL20vT25DcFl2eURkUE0zeEhLd0pvbkdYS0tmMW1UTE5GUjE2b0YxU3N6QlZWZFNXc1FSSHNCTkdVCmMyZEYvRjZKaDBEV0JQZ2pINnJDOGhFNWFnQmY1Z09oa1hJVnJwZXo4cGtiUmRTampEbWpXWFkwMjkxY2lIRWUKdXlCWFh6MlVoeEJ6c2Y5QmVFUm5LTTBnQ2xLeEtid0dGTjRlc1djTzBEcEhlNm1YK3pnS3ZvSytIUHlVczhnUApkOU9wMU9zZWRIQ0NKWFl4TlIycWw0OFVBcmpENGYycHYxY2ZFekpORWpjb1FwbXlwSmtwUTRjbUZWMnREdjhhCksrS1NYajJvNEVwN1dJVFBEVWtuU3llN3pPamNPeFNmTG9XeWtldGcyZjZnSWVqemFJUm9XbVNkMlR0OHlwRUwKOVBkcXNKVWljbnkzOXNPcUNLYWxMeTRrdThWZ1FQMHVadDFPYW9FQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFGbU5NblhrCjN6YkhHeFNNRTR0bzJsWWJtQmZ1eGFpYlJhYnJpdExZMnEzUkpXNEhxNUVSZC80bm43TmRLWnZBbEh4ZXV2TTYKS1IxWTV1VGp3YjlZckp0VUI4eDlXR2w5R1RhVzNhZTlRZGR5Y1RHMEh6a1owWGFEcGp4ZExWcmVlWUYvRlBTQwp6djVjanhDUytqa3AzM1dGWm9nT2Z0Sjl1Nk9yKzNZV2NVeFBTV1JLeTZTSmVJN2pnWHlnM1hhZk9FbmI1bFJDCktSRit2dFk4cWhsT21uWnRSM1BaTDdsWGNDZGhqZFpRQ2Z2eTdaWVpmajIwckxJMFZVOWtoTFJVSWt2MDdJd0EKaEwwZkRXRVBnek9oM1JBOE1nMityT0EvUmJBVE45U0hCMEYzZXNpa2V6OUxmei82QjVLTitqRyt1TStEZjFxSwo1QlpSYnc1alNsQU9wZ2dBbzJhbDlBUVFIekdpRDRsQnpscy9wVFRFQXBERVVqempHWjY2WlhucTVrTDBjU0xmCmhwQjNPbDY4cldySVRxRDNSK2dJZDZXRGRWbVN6QXFxYnJVRHNQVXVjNWwvcFB6MWFBSjQrSlh1aFd2MzVXSXgKWTRscy9GY3VORks5bXhUS0dOeFdsWnh6aXpsK0tKenIrT09YaHAzQkhaTFpwRFFudmI4YnptZjRxNmFubGl1SQpsWmlRbEk4UUp6cWRpVEtNYTJ4dkMxTm5TS1ZNNHpISmZFWEliQ1ptMnkxQXNoQkRBSDFoczAyci9wdXlsM3QwCjdKcVQ3Y2VDanZESy9uRjQ3RUZ1c2tzV0dQMUJpRXlONExxbFJWeXB3MFA1MlFsMDJuRHFZbnlzSXZxS051RGIKQkJ2aUN3ajMzUGhCSldlWjNoNlBkaHNObUY2SVEwNjI3MVp4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", - "server": "https://fabricnlp9.usgovarizona.cloudapp.usgovcloudapi.net" - }, - "name": "fabricnlp9" - } - ], - "contexts": [ - { - "context": { - "cluster": "fabricnlp9", - "user": "fabricnlp9-admin" - }, - "name": "fabricnlp9" - } - ], - "current-context": "fabricnlp9", - "kind": "Config", - "users": [ - { - "name": "fabricnlp9-admin", - "user": {"client-certificate-data":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUw0bWp3MmNCMUp6L3cxa05meXY4SzR3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qRXdNRFF3TVRRNFdoY05NVGt4TWpFd01EUXdNVFE0V2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXlaRCtySURBem51NUlXekZVbjFuQ28zRHREdTAKVWRtcFY5V3huZkszK0tHSFF1cmhGaEtVa2h1UnNMUnptMVJ1L2VWM2xHM3B5eXl0ZzFOeEdtZDJ3TlNTMEsvRApQNjlRL0RkaGlZQ1FMMnJJZ2NGaGZaTU1DOFVhcFg5SlEzc1RpMVhtWjMzMTBhVkVGaksxRlR0Y1kyWjVPOC9GCmZMSDZ0ZGw2a1Mrd3dwWHNmeXJ3WkRzZWw0SjVaYmxsTml5Y1JOc1VKQTQ4SzRWdnFGT05pbmRUQS80N1ZITDcKY0dlbS9xTm9qRHpTRHVoL2xzY3IxU1F2bGR6eTJnMnlJUFJhOEorZUt2UThFWnFzclBjL2xXQmdDVEowcFkxQwo5ZFVqQXdTLy93MW0wd204NUQ0MGppbVVzTDc2Y29NVG9YQ3d0WEdhWnlQTjJZUVNhRHBFbHNBQm8xZG1zS0ZCCnYwb2dpdDNxcWRuenVMVlpubFhyTDYyYUs4Q1lCcWNybEFuUW4rM0c3Rnpva00rRFlpcExnSVB6RFRyaW1OMkkKUFdtYi90Unp2dFhkWSsybzFEaGR2RHU4ZmM3ZUZnemZCcUZnWVpDOXlISjBka28vY3JtSTJMaXlud0Zwak82UgpCT204cHBWSzg4THJ4OWx3MTh4ZExkRklkZDgrUThJeHFVdEJzSVJiY2pSVVVyUlBXWnFXNjNCQ1NTK3ZjbE5pCnk3Q25NYkVKR0YrL29nSWNVYnFOb0tDRGc2Q0U1L3VyZENGcEc1MTBZejVvZHdxblJxZ2hUczE5US9XMjlibUIKVUlyUmhOdCtPRjBRYVZnVVZhSk9Pam5iL0tQb0lvKytkZUZjSjdJZFk4OVFEYkFYcEpCQjA5NXRsYkdNU3BJNQpPTTRwc2M2NGpHeURXbmNDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVkRGpmTkYKY0RXeHdaMm02YnB3TmdIUkVTdk80WVhhSng2WjlKbDRIeGhFMTJJOFpYSWdWemQ1ZHFmTk54SEkvODFXWHdsLwo3RmdESjBmKy9Ca2xaeEtDeWVpd2dwOHQvRDBLdFQ2Ny9ndTM0QnAxWEpVMnJoRkczREZhR2ZLUlRZVzZlUXFnCnFORHpaSFpKY0JuUEI1WjdxVkVPOGlBSk5PSzJqZDNXcGQycnhuUWJBU0hpbXVIc04vUVEvU084ekpNSEZZVCsKZ0lNM0NCR0gzUVQ3d1JSa3hxWEhkOVgrTkVtZ2pmL1laUm1GTDMrR3hGc0NZczhzcmQ5LzBCOXRoUDBBTDhzRApWNk1ybGVBVXZVdE41dUJQR1BDSW1raVA2d2xNZDdyamhmaUhWZTNyWEFvTmZwWitGZ3g5OUJuVHBMUXFhYTZMCldJQzNNbXpJZmVHZTNuZExHODE0Vi81YU9XeE53VzEvZFAzMThlK0d2dENHeUNSYUdBNnRsTThkdGtJU1licmgKYjJWVWlneEI5OGVMS0pTdU8rSDdZRENLbGRXWnpYeU9WODNYZWswVlZpWDl1TVRyWVQ0TU14M1ZTd2xBSXc3Vgp2eW5Ub2ViQlc2OERnV0FXMjRoR1FDVmd2WHpnUDBJdlpsUlhmMGZXRWpKWklQdHFnbnp3bVpmbkF1WkhKcGNZCjc2eUVJMTM1WXh5d1VPOGR5SEJsMEFIcldvZWZsY0ZtNjloRk9zZk1SdGxVTUhDeVhWdHFwRXp3dFYvVWZBVU0KaEp0L2pvREJTQUE1cHFud0I2SCtpNkpYOGlUcGt4SEt4UnNWaE5CQVRkelN5MERPejhPVm01cllKWnlqQlhRbApXL3ZOUDVlTGVwdk9xUm4zRFBqdy92SkFHMGl6d09MVTZVWUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=","client-key-data":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeVpEK3JJREF6bnU1SVd6RlVuMW5DbzNEdER1MFVkbXBWOVd4bmZLMytLR0hRdXJoCkZoS1VraHVSc0xSem0xUnUvZVYzbEczcHl5eXRnMU54R21kMndOU1MwSy9EUDY5US9EZGhpWUNRTDJySWdjRmgKZlpNTUM4VWFwWDlKUTNzVGkxWG1aMzMxMGFWRUZqSzFGVHRjWTJaNU84L0ZmTEg2dGRsNmtTK3d3cFhzZnlydwpaRHNlbDRKNVpibGxOaXljUk5zVUpBNDhLNFZ2cUZPTmluZFRBLzQ3VkhMN2NHZW0vcU5vakR6U0R1aC9sc2NyCjFTUXZsZHp5MmcyeUlQUmE4SitlS3ZROEVacXNyUGMvbFdCZ0NUSjBwWTFDOWRVakF3Uy8vdzFtMHdtODVENDAKamltVXNMNzZjb01Ub1hDd3RYR2FaeVBOMllRU2FEcEVsc0FCbzFkbXNLRkJ2MG9naXQzcXFkbnp1TFZabmxYcgpMNjJhSzhDWUJxY3JsQW5RbiszRzdGem9rTStEWWlwTGdJUHpEVHJpbU4ySVBXbWIvdFJ6dnRYZFkrMm8xRGhkCnZEdThmYzdlRmd6ZkJxRmdZWkM5eUhKMGRrby9jcm1JMkxpeW53RnBqTzZSQk9tOHBwVks4OExyeDlsdzE4eGQKTGRGSWRkOCtROEl4cVV0QnNJUmJjalJVVXJSUFdacVc2M0JDU1MrdmNsTml5N0NuTWJFSkdGKy9vZ0ljVWJxTgpvS0NEZzZDRTUvdXJkQ0ZwRzUxMFl6NW9kd3FuUnFnaFRzMTlRL1cyOWJtQlVJclJoTnQrT0YwUWFWZ1VWYUpPCk9qbmIvS1BvSW8rK2RlRmNKN0lkWTg5UURiQVhwSkJCMDk1dGxiR01TcEk1T000cHNjNjRqR3lEV25jQ0F3RUEKQVFLQ0FnRUFqOVpQVm13ZXFucHh0dDkyeEJIRzZTb1c0TlBHTHE2RGdMRjJxVDdlZDZkVTdiVE00TUpya1FQcAphRTZ0UE1mNDJHZmFlR29pN3lDM3hVSlRNTU5xWTlxTjFpdkd5ZmhpYzBsVjZoaDdTOHNJd0VkdU9YMG9tSEdVClBVdGl6YXZUVzVmMTdoNWR2N2dPcVVTUUlsR1U4VDNiLzRtWjVRemcyc29TQSs4alZRaEZsczNlYzdnWWNZZmkKOTJ0Z1JWTjZSRXlOeDlqOHFSWDBnd3Iwc3ozSldNMGdLM2hONDMya0Zvd25mQU9lNXBLVkVkU1plK1R4ckNEYQprQzQ3MGZadHVzNDh3V3crUFZYQ0tUL2ErTTZvV1lmTzQ2QzFpdFlJd1F1dnN1TXVZQ1RQelpSeVRveHZsZDBDCnZacTU5SGVGTWtXYUtFWE5qSTRKMEtUYjh6T2JObDZ0ajhVYnl6eFNKRVlVNWc4ajNNdEFXalRqUzhNWHpsNlgKakN3aEFGNnNUOTFZeW5Mc3Z1RVZSbTBsZHB0UkIwcExHMjgwci94ODhaSFlDR0YwdnI4TGRLei80MDBhdFFMWQprZGI5RUNDa2pPbVdIdmZVVlZPMjZBeVljWnA1b0k0clhYdGlEVHU4V0dVakhzUzBWc3ljZERqRXRBbzlYYndtCnpONGxMQmE5VFdvRDI5TlNmaUdlYTd1bzFlZ0h3WDlXbWdyUU5rdkM5cmJSTTZ6Z2xzbzRkWCtkQW9uaFRNbVMKQmRLYVhybzUrdFVSK09SditFUG5tZHpYb01uaGlibWRZYVZoc0xTY2FsaSs4MmZZdGJGQllCd1RtWHdZL0NzUAoxSW04Vkx2VDZQVkRUZ2Fjc2JMRVRZemhoNmhFMXQ3Y1F6TE83Zk4xbjJURnJjcEhKZGtDZ2dFQkFQS1ptbnBnClB1VWJubi9OK3R5clh2SGYvNUhHTUdwaTUvME56SnJDSG11ZmN4Q2lUVUgyekNqNE50T0VkRGgzaDZrUkFmc2MKc2xLZGZuWTdxM3lDdDdQRFNiaVY0WSttTndsU0pqM3czOGcxSW9YTkJFbG5rak5aM2hYd3FNSDNsMmZ4bDdHSgpwMUNxUWlHcXZQeEFERzVQREtYalFEUm5hRXBQWUVVem5vTjR3ZUlVeFZWTzhUSnNZaS9XTlNhSSsydThqZWtsCm1yMHVaZlhhaFZZcWtYdjM4QkZFSWtZcWtjTHBycWdPQ2JTQi9OTG14RTcyNTM4OFlHM1JHU1doa1d4ZmNYUFQKUmZkblIxcEErYUhrZkNOTFF0K0lGNzl6MzBQUEJjcmdYR0E4ZUhrRisvenhqRHV1SVdGMGMzb0lKbFZBclRjKwprd2dka3BUSk1CNko0d3NDZ2dFQkFOU3pLNkRDdWFLUTh2VUFHbks4ekZsYk8xZHpmQVhJdmtOWW1JVUV1RDQ4ClRtcGZheE96aVRSWEFWbjhZY3lReTdCbnFpRU95cTltYmZBOUhFSUkxS2hxSEV6MzYxUllXS200S1pmOUk0YjUKVTRsVUJ4bjhBaXNqWHk3bldGRnk4dGZwQ21ic1pjaGJxOStBNTAwQm52dEszWkE5SVU4ZWwxNThncXUrdnQrcQpZdjlONVhMcUVhTHNudDY1NU5iU2RZbmhjZGZTRDE1WlptL2dtR2JHVmx5VHUranAxMHkyZFVDQ3VHdzRIOENHClAxOHpBc1c2TjlCNlJCWk1LLzNNSHVkQi9IblJQUUZ5TkgvVFNQbFlFaTFxeWIzTXU3SU94MHdlUXBSMlVtNjcKdHdpTUN2VHNGOUpOSDNEcElHR0djUzliNlFoRVh6a3BTYmZvRVBIc3ljVUNnZ0VCQU45L3hZS0NrczhOdjlycwpqL1dtWjhVYjRWNlNJTjZTR2puVzhhMk5zdXJocmVjZ0wxN2JHTUdSMHlqUXVTV2djVG0vc254K3RvWklGRTZtCnNGajRNSGVMTGFyQllsbXQvcncyazRhekYrZGhsRm1DUkRYQUZqLzZ4aENlYzBxbmFEUlpyYS9oS21TMVJsR3YKODRYTkYrYTBLdW5WVDd3M25Dd0JycVp5Wk5Hb2VhNW9CbGlPYnNWT2RyS3RmSy93dVBoTGNNM2ZXQXg3NTNFMQpqV3VSc2hCc25oMjZFSDFtRUgxcVBmOFRWN3VWbWE5TzdJSDNFOVR6Y2I4YVNUbVMvTi9EbWtqajFteVVHSGM4CnJ2NkgraG1sNTRqNTN5OEJlQ29IV3NYS0p6Qjk1VnRSdVJJU0VtaVZCcW02MS93UDhBalFtZ1B3UVJMVDg4dmgKQWRUUW9Yc0NnZ0VBUmFiS2thRlNrdGF1aU9aWXd0dnFleFJ5RVVnakErM2h5RUg1NkExTW5DeTViUUlFR1hhQQpacUJiTS9GK3dUTmxVRVlTSXpNcDBsaFRoZ2tzK0w3VmpMVDZ3WVdxRFh2RXhRY21yN3ZZWjNtOERrdHk2K0puCmYyTGM1NG9nbE1OMG5KbVdxMitjUVFrcjlrdks4cCttUlJvV0JnYk9vbzhjK0hjRGYyUStNeFlqeHdEbU0wUk4KTkRJU01GTmxpYWR2a0JCQWJIRkFVU0FyZUZWdThyRGVWUUNYMTBURUdUM2lsWlo0K0E5RTdwSEhyTkFTaDFkYwpzYXRvSW5rZEtzWXVGSUs2UDlYeUNVZ3h3dTRZaG5aOXRWdXo1ckJsZ29CdWFSRzdzY3d4WUV1ZU8zRklvVDJ5CjYwNFFEclI0d3hiNGQ0NjhkOVdUN1M4RkVmRXZvMWxzRlFLQ0FRRUFrNmlpMFlmTGkvNnk4TVQ5dDgrZ1FqazYKTkhWZkRzYnc5c1hKWXZWWGswb0tUN1lBTVBmcnlkS0F0akZ5YlBBcGFDS3dPQlpqcFBySGh0Vy9HdkVub3VpRworQkVIM2x2S0NOUzBlQUVUVC8rNzlNTmVRRjBOazZhb2ZGNFRBei8yaWduMTJESXY5c1Y4NFJVc1VMVmw5bHlGCkpmdktLb1E1ZEg4WnhPQW9HVEVRRDhJdG0ra0FqdmppYnM4RFlnREp2VVRGZnFYcUtxOVJTK2VLS1VZWUM3VGYKejRub0Mvb0c3ZlA1cEpna0dlNU1EbFhHb05GUFNXZzJKVzRPbU1YZmV3WW80MmNOQnhsc0ROUXFYSnFSdXAyRwplT2xNaXU2SmRsak9CRFc5RG8xbHhVaG9JOG9SdW5JRVVGdEN5MUdFWHpYaWdOQ21vbE1qQjUveDJYTzFvZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="} - } - ] -} diff --git a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.usgoviowa.json b/azure/_output/fabricnlp9/kubeconfig/kubeconfig.usgoviowa.json deleted file mode 100644 index 9613c45..0000000 --- a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.usgoviowa.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "apiVersion": "v1", - "clusters": [ - { - "cluster": { - "certificate-authority-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRVkZsMU1sZDA5L0xUazJRMk5JWG1GREFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1UQXdOREF4TkRaYUZ3MHhPVEV5TVRBd05EQXhORFphTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFzZmxGCmNvZCtwMTB4REdUM2ZXWm12K21OYXRhU2w4MFAzNTkrQ3JFWEY5OHYzaHdsQyt6eGpFRXhpZEdHSkdBcWpIc3QKdFlOREg5aG81bHdSWTROamJKcUJJZ3cvcDZ5RXB5WGg1MVliRFA2dDd6bHp3UVMyRjlJKzJ5aG02TWd3V3dSTQpkTmxHb1pzamFrbFJucTBWbXZ6eVk4WGVCVi84TllRb0QzNE1OdVZXVjZ0R0daeWZpdDFFT3YydCtqTnNLdXBRCm4xRGh4RGJkNE9LT3hvaC9md1hnL0tHU1gwWlRyUUY1eUV4c1VOaFdyQncrQnZ0Q2twdHc2aU1hT1Vhb0tVaDkKczVrTTA3clhCY0xmU2FuZ0FBVHZTMWQzNWZmaENZQmxseGl4Sk11QWFMcFNLaHlzekR2Z1BEV2dnUjcvRVZZUApaSDlMSlgwL20vT25DcFl2eURkUE0zeEhLd0pvbkdYS0tmMW1UTE5GUjE2b0YxU3N6QlZWZFNXc1FSSHNCTkdVCmMyZEYvRjZKaDBEV0JQZ2pINnJDOGhFNWFnQmY1Z09oa1hJVnJwZXo4cGtiUmRTampEbWpXWFkwMjkxY2lIRWUKdXlCWFh6MlVoeEJ6c2Y5QmVFUm5LTTBnQ2xLeEtid0dGTjRlc1djTzBEcEhlNm1YK3pnS3ZvSytIUHlVczhnUApkOU9wMU9zZWRIQ0NKWFl4TlIycWw0OFVBcmpENGYycHYxY2ZFekpORWpjb1FwbXlwSmtwUTRjbUZWMnREdjhhCksrS1NYajJvNEVwN1dJVFBEVWtuU3llN3pPamNPeFNmTG9XeWtldGcyZjZnSWVqemFJUm9XbVNkMlR0OHlwRUwKOVBkcXNKVWljbnkzOXNPcUNLYWxMeTRrdThWZ1FQMHVadDFPYW9FQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFGbU5NblhrCjN6YkhHeFNNRTR0bzJsWWJtQmZ1eGFpYlJhYnJpdExZMnEzUkpXNEhxNUVSZC80bm43TmRLWnZBbEh4ZXV2TTYKS1IxWTV1VGp3YjlZckp0VUI4eDlXR2w5R1RhVzNhZTlRZGR5Y1RHMEh6a1owWGFEcGp4ZExWcmVlWUYvRlBTQwp6djVjanhDUytqa3AzM1dGWm9nT2Z0Sjl1Nk9yKzNZV2NVeFBTV1JLeTZTSmVJN2pnWHlnM1hhZk9FbmI1bFJDCktSRit2dFk4cWhsT21uWnRSM1BaTDdsWGNDZGhqZFpRQ2Z2eTdaWVpmajIwckxJMFZVOWtoTFJVSWt2MDdJd0EKaEwwZkRXRVBnek9oM1JBOE1nMityT0EvUmJBVE45U0hCMEYzZXNpa2V6OUxmei82QjVLTitqRyt1TStEZjFxSwo1QlpSYnc1alNsQU9wZ2dBbzJhbDlBUVFIekdpRDRsQnpscy9wVFRFQXBERVVqempHWjY2WlhucTVrTDBjU0xmCmhwQjNPbDY4cldySVRxRDNSK2dJZDZXRGRWbVN6QXFxYnJVRHNQVXVjNWwvcFB6MWFBSjQrSlh1aFd2MzVXSXgKWTRscy9GY3VORks5bXhUS0dOeFdsWnh6aXpsK0tKenIrT09YaHAzQkhaTFpwRFFudmI4YnptZjRxNmFubGl1SQpsWmlRbEk4UUp6cWRpVEtNYTJ4dkMxTm5TS1ZNNHpISmZFWEliQ1ptMnkxQXNoQkRBSDFoczAyci9wdXlsM3QwCjdKcVQ3Y2VDanZESy9uRjQ3RUZ1c2tzV0dQMUJpRXlONExxbFJWeXB3MFA1MlFsMDJuRHFZbnlzSXZxS051RGIKQkJ2aUN3ajMzUGhCSldlWjNoNlBkaHNObUY2SVEwNjI3MVp4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", - "server": "https://fabricnlp9.usgoviowa.cloudapp.usgovcloudapi.net" - }, - "name": "fabricnlp9" - } - ], - "contexts": [ - { - "context": { - "cluster": "fabricnlp9", - "user": "fabricnlp9-admin" - }, - "name": "fabricnlp9" - } - ], - "current-context": "fabricnlp9", - "kind": "Config", - "users": [ - { - "name": "fabricnlp9-admin", - "user": {"client-certificate-data":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUw0bWp3MmNCMUp6L3cxa05meXY4SzR3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qRXdNRFF3TVRRNFdoY05NVGt4TWpFd01EUXdNVFE0V2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXlaRCtySURBem51NUlXekZVbjFuQ28zRHREdTAKVWRtcFY5V3huZkszK0tHSFF1cmhGaEtVa2h1UnNMUnptMVJ1L2VWM2xHM3B5eXl0ZzFOeEdtZDJ3TlNTMEsvRApQNjlRL0RkaGlZQ1FMMnJJZ2NGaGZaTU1DOFVhcFg5SlEzc1RpMVhtWjMzMTBhVkVGaksxRlR0Y1kyWjVPOC9GCmZMSDZ0ZGw2a1Mrd3dwWHNmeXJ3WkRzZWw0SjVaYmxsTml5Y1JOc1VKQTQ4SzRWdnFGT05pbmRUQS80N1ZITDcKY0dlbS9xTm9qRHpTRHVoL2xzY3IxU1F2bGR6eTJnMnlJUFJhOEorZUt2UThFWnFzclBjL2xXQmdDVEowcFkxQwo5ZFVqQXdTLy93MW0wd204NUQ0MGppbVVzTDc2Y29NVG9YQ3d0WEdhWnlQTjJZUVNhRHBFbHNBQm8xZG1zS0ZCCnYwb2dpdDNxcWRuenVMVlpubFhyTDYyYUs4Q1lCcWNybEFuUW4rM0c3Rnpva00rRFlpcExnSVB6RFRyaW1OMkkKUFdtYi90Unp2dFhkWSsybzFEaGR2RHU4ZmM3ZUZnemZCcUZnWVpDOXlISjBka28vY3JtSTJMaXlud0Zwak82UgpCT204cHBWSzg4THJ4OWx3MTh4ZExkRklkZDgrUThJeHFVdEJzSVJiY2pSVVVyUlBXWnFXNjNCQ1NTK3ZjbE5pCnk3Q25NYkVKR0YrL29nSWNVYnFOb0tDRGc2Q0U1L3VyZENGcEc1MTBZejVvZHdxblJxZ2hUczE5US9XMjlibUIKVUlyUmhOdCtPRjBRYVZnVVZhSk9Pam5iL0tQb0lvKytkZUZjSjdJZFk4OVFEYkFYcEpCQjA5NXRsYkdNU3BJNQpPTTRwc2M2NGpHeURXbmNDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVkRGpmTkYKY0RXeHdaMm02YnB3TmdIUkVTdk80WVhhSng2WjlKbDRIeGhFMTJJOFpYSWdWemQ1ZHFmTk54SEkvODFXWHdsLwo3RmdESjBmKy9Ca2xaeEtDeWVpd2dwOHQvRDBLdFQ2Ny9ndTM0QnAxWEpVMnJoRkczREZhR2ZLUlRZVzZlUXFnCnFORHpaSFpKY0JuUEI1WjdxVkVPOGlBSk5PSzJqZDNXcGQycnhuUWJBU0hpbXVIc04vUVEvU084ekpNSEZZVCsKZ0lNM0NCR0gzUVQ3d1JSa3hxWEhkOVgrTkVtZ2pmL1laUm1GTDMrR3hGc0NZczhzcmQ5LzBCOXRoUDBBTDhzRApWNk1ybGVBVXZVdE41dUJQR1BDSW1raVA2d2xNZDdyamhmaUhWZTNyWEFvTmZwWitGZ3g5OUJuVHBMUXFhYTZMCldJQzNNbXpJZmVHZTNuZExHODE0Vi81YU9XeE53VzEvZFAzMThlK0d2dENHeUNSYUdBNnRsTThkdGtJU1licmgKYjJWVWlneEI5OGVMS0pTdU8rSDdZRENLbGRXWnpYeU9WODNYZWswVlZpWDl1TVRyWVQ0TU14M1ZTd2xBSXc3Vgp2eW5Ub2ViQlc2OERnV0FXMjRoR1FDVmd2WHpnUDBJdlpsUlhmMGZXRWpKWklQdHFnbnp3bVpmbkF1WkhKcGNZCjc2eUVJMTM1WXh5d1VPOGR5SEJsMEFIcldvZWZsY0ZtNjloRk9zZk1SdGxVTUhDeVhWdHFwRXp3dFYvVWZBVU0KaEp0L2pvREJTQUE1cHFud0I2SCtpNkpYOGlUcGt4SEt4UnNWaE5CQVRkelN5MERPejhPVm01cllKWnlqQlhRbApXL3ZOUDVlTGVwdk9xUm4zRFBqdy92SkFHMGl6d09MVTZVWUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=","client-key-data":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeVpEK3JJREF6bnU1SVd6RlVuMW5DbzNEdER1MFVkbXBWOVd4bmZLMytLR0hRdXJoCkZoS1VraHVSc0xSem0xUnUvZVYzbEczcHl5eXRnMU54R21kMndOU1MwSy9EUDY5US9EZGhpWUNRTDJySWdjRmgKZlpNTUM4VWFwWDlKUTNzVGkxWG1aMzMxMGFWRUZqSzFGVHRjWTJaNU84L0ZmTEg2dGRsNmtTK3d3cFhzZnlydwpaRHNlbDRKNVpibGxOaXljUk5zVUpBNDhLNFZ2cUZPTmluZFRBLzQ3VkhMN2NHZW0vcU5vakR6U0R1aC9sc2NyCjFTUXZsZHp5MmcyeUlQUmE4SitlS3ZROEVacXNyUGMvbFdCZ0NUSjBwWTFDOWRVakF3Uy8vdzFtMHdtODVENDAKamltVXNMNzZjb01Ub1hDd3RYR2FaeVBOMllRU2FEcEVsc0FCbzFkbXNLRkJ2MG9naXQzcXFkbnp1TFZabmxYcgpMNjJhSzhDWUJxY3JsQW5RbiszRzdGem9rTStEWWlwTGdJUHpEVHJpbU4ySVBXbWIvdFJ6dnRYZFkrMm8xRGhkCnZEdThmYzdlRmd6ZkJxRmdZWkM5eUhKMGRrby9jcm1JMkxpeW53RnBqTzZSQk9tOHBwVks4OExyeDlsdzE4eGQKTGRGSWRkOCtROEl4cVV0QnNJUmJjalJVVXJSUFdacVc2M0JDU1MrdmNsTml5N0NuTWJFSkdGKy9vZ0ljVWJxTgpvS0NEZzZDRTUvdXJkQ0ZwRzUxMFl6NW9kd3FuUnFnaFRzMTlRL1cyOWJtQlVJclJoTnQrT0YwUWFWZ1VWYUpPCk9qbmIvS1BvSW8rK2RlRmNKN0lkWTg5UURiQVhwSkJCMDk1dGxiR01TcEk1T000cHNjNjRqR3lEV25jQ0F3RUEKQVFLQ0FnRUFqOVpQVm13ZXFucHh0dDkyeEJIRzZTb1c0TlBHTHE2RGdMRjJxVDdlZDZkVTdiVE00TUpya1FQcAphRTZ0UE1mNDJHZmFlR29pN3lDM3hVSlRNTU5xWTlxTjFpdkd5ZmhpYzBsVjZoaDdTOHNJd0VkdU9YMG9tSEdVClBVdGl6YXZUVzVmMTdoNWR2N2dPcVVTUUlsR1U4VDNiLzRtWjVRemcyc29TQSs4alZRaEZsczNlYzdnWWNZZmkKOTJ0Z1JWTjZSRXlOeDlqOHFSWDBnd3Iwc3ozSldNMGdLM2hONDMya0Zvd25mQU9lNXBLVkVkU1plK1R4ckNEYQprQzQ3MGZadHVzNDh3V3crUFZYQ0tUL2ErTTZvV1lmTzQ2QzFpdFlJd1F1dnN1TXVZQ1RQelpSeVRveHZsZDBDCnZacTU5SGVGTWtXYUtFWE5qSTRKMEtUYjh6T2JObDZ0ajhVYnl6eFNKRVlVNWc4ajNNdEFXalRqUzhNWHpsNlgKakN3aEFGNnNUOTFZeW5Mc3Z1RVZSbTBsZHB0UkIwcExHMjgwci94ODhaSFlDR0YwdnI4TGRLei80MDBhdFFMWQprZGI5RUNDa2pPbVdIdmZVVlZPMjZBeVljWnA1b0k0clhYdGlEVHU4V0dVakhzUzBWc3ljZERqRXRBbzlYYndtCnpONGxMQmE5VFdvRDI5TlNmaUdlYTd1bzFlZ0h3WDlXbWdyUU5rdkM5cmJSTTZ6Z2xzbzRkWCtkQW9uaFRNbVMKQmRLYVhybzUrdFVSK09SditFUG5tZHpYb01uaGlibWRZYVZoc0xTY2FsaSs4MmZZdGJGQllCd1RtWHdZL0NzUAoxSW04Vkx2VDZQVkRUZ2Fjc2JMRVRZemhoNmhFMXQ3Y1F6TE83Zk4xbjJURnJjcEhKZGtDZ2dFQkFQS1ptbnBnClB1VWJubi9OK3R5clh2SGYvNUhHTUdwaTUvME56SnJDSG11ZmN4Q2lUVUgyekNqNE50T0VkRGgzaDZrUkFmc2MKc2xLZGZuWTdxM3lDdDdQRFNiaVY0WSttTndsU0pqM3czOGcxSW9YTkJFbG5rak5aM2hYd3FNSDNsMmZ4bDdHSgpwMUNxUWlHcXZQeEFERzVQREtYalFEUm5hRXBQWUVVem5vTjR3ZUlVeFZWTzhUSnNZaS9XTlNhSSsydThqZWtsCm1yMHVaZlhhaFZZcWtYdjM4QkZFSWtZcWtjTHBycWdPQ2JTQi9OTG14RTcyNTM4OFlHM1JHU1doa1d4ZmNYUFQKUmZkblIxcEErYUhrZkNOTFF0K0lGNzl6MzBQUEJjcmdYR0E4ZUhrRisvenhqRHV1SVdGMGMzb0lKbFZBclRjKwprd2dka3BUSk1CNko0d3NDZ2dFQkFOU3pLNkRDdWFLUTh2VUFHbks4ekZsYk8xZHpmQVhJdmtOWW1JVUV1RDQ4ClRtcGZheE96aVRSWEFWbjhZY3lReTdCbnFpRU95cTltYmZBOUhFSUkxS2hxSEV6MzYxUllXS200S1pmOUk0YjUKVTRsVUJ4bjhBaXNqWHk3bldGRnk4dGZwQ21ic1pjaGJxOStBNTAwQm52dEszWkE5SVU4ZWwxNThncXUrdnQrcQpZdjlONVhMcUVhTHNudDY1NU5iU2RZbmhjZGZTRDE1WlptL2dtR2JHVmx5VHUranAxMHkyZFVDQ3VHdzRIOENHClAxOHpBc1c2TjlCNlJCWk1LLzNNSHVkQi9IblJQUUZ5TkgvVFNQbFlFaTFxeWIzTXU3SU94MHdlUXBSMlVtNjcKdHdpTUN2VHNGOUpOSDNEcElHR0djUzliNlFoRVh6a3BTYmZvRVBIc3ljVUNnZ0VCQU45L3hZS0NrczhOdjlycwpqL1dtWjhVYjRWNlNJTjZTR2puVzhhMk5zdXJocmVjZ0wxN2JHTUdSMHlqUXVTV2djVG0vc254K3RvWklGRTZtCnNGajRNSGVMTGFyQllsbXQvcncyazRhekYrZGhsRm1DUkRYQUZqLzZ4aENlYzBxbmFEUlpyYS9oS21TMVJsR3YKODRYTkYrYTBLdW5WVDd3M25Dd0JycVp5Wk5Hb2VhNW9CbGlPYnNWT2RyS3RmSy93dVBoTGNNM2ZXQXg3NTNFMQpqV3VSc2hCc25oMjZFSDFtRUgxcVBmOFRWN3VWbWE5TzdJSDNFOVR6Y2I4YVNUbVMvTi9EbWtqajFteVVHSGM4CnJ2NkgraG1sNTRqNTN5OEJlQ29IV3NYS0p6Qjk1VnRSdVJJU0VtaVZCcW02MS93UDhBalFtZ1B3UVJMVDg4dmgKQWRUUW9Yc0NnZ0VBUmFiS2thRlNrdGF1aU9aWXd0dnFleFJ5RVVnakErM2h5RUg1NkExTW5DeTViUUlFR1hhQQpacUJiTS9GK3dUTmxVRVlTSXpNcDBsaFRoZ2tzK0w3VmpMVDZ3WVdxRFh2RXhRY21yN3ZZWjNtOERrdHk2K0puCmYyTGM1NG9nbE1OMG5KbVdxMitjUVFrcjlrdks4cCttUlJvV0JnYk9vbzhjK0hjRGYyUStNeFlqeHdEbU0wUk4KTkRJU01GTmxpYWR2a0JCQWJIRkFVU0FyZUZWdThyRGVWUUNYMTBURUdUM2lsWlo0K0E5RTdwSEhyTkFTaDFkYwpzYXRvSW5rZEtzWXVGSUs2UDlYeUNVZ3h3dTRZaG5aOXRWdXo1ckJsZ29CdWFSRzdzY3d4WUV1ZU8zRklvVDJ5CjYwNFFEclI0d3hiNGQ0NjhkOVdUN1M4RkVmRXZvMWxzRlFLQ0FRRUFrNmlpMFlmTGkvNnk4TVQ5dDgrZ1FqazYKTkhWZkRzYnc5c1hKWXZWWGswb0tUN1lBTVBmcnlkS0F0akZ5YlBBcGFDS3dPQlpqcFBySGh0Vy9HdkVub3VpRworQkVIM2x2S0NOUzBlQUVUVC8rNzlNTmVRRjBOazZhb2ZGNFRBei8yaWduMTJESXY5c1Y4NFJVc1VMVmw5bHlGCkpmdktLb1E1ZEg4WnhPQW9HVEVRRDhJdG0ra0FqdmppYnM4RFlnREp2VVRGZnFYcUtxOVJTK2VLS1VZWUM3VGYKejRub0Mvb0c3ZlA1cEpna0dlNU1EbFhHb05GUFNXZzJKVzRPbU1YZmV3WW80MmNOQnhsc0ROUXFYSnFSdXAyRwplT2xNaXU2SmRsak9CRFc5RG8xbHhVaG9JOG9SdW5JRVVGdEN5MUdFWHpYaWdOQ21vbE1qQjUveDJYTzFvZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="} - } - ] -} diff --git a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.usgovtexas.json b/azure/_output/fabricnlp9/kubeconfig/kubeconfig.usgovtexas.json deleted file mode 100644 index cc55b38..0000000 --- a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.usgovtexas.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "apiVersion": "v1", - "clusters": [ - { - "cluster": { - "certificate-authority-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRVkZsMU1sZDA5L0xUazJRMk5JWG1GREFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1UQXdOREF4TkRaYUZ3MHhPVEV5TVRBd05EQXhORFphTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFzZmxGCmNvZCtwMTB4REdUM2ZXWm12K21OYXRhU2w4MFAzNTkrQ3JFWEY5OHYzaHdsQyt6eGpFRXhpZEdHSkdBcWpIc3QKdFlOREg5aG81bHdSWTROamJKcUJJZ3cvcDZ5RXB5WGg1MVliRFA2dDd6bHp3UVMyRjlJKzJ5aG02TWd3V3dSTQpkTmxHb1pzamFrbFJucTBWbXZ6eVk4WGVCVi84TllRb0QzNE1OdVZXVjZ0R0daeWZpdDFFT3YydCtqTnNLdXBRCm4xRGh4RGJkNE9LT3hvaC9md1hnL0tHU1gwWlRyUUY1eUV4c1VOaFdyQncrQnZ0Q2twdHc2aU1hT1Vhb0tVaDkKczVrTTA3clhCY0xmU2FuZ0FBVHZTMWQzNWZmaENZQmxseGl4Sk11QWFMcFNLaHlzekR2Z1BEV2dnUjcvRVZZUApaSDlMSlgwL20vT25DcFl2eURkUE0zeEhLd0pvbkdYS0tmMW1UTE5GUjE2b0YxU3N6QlZWZFNXc1FSSHNCTkdVCmMyZEYvRjZKaDBEV0JQZ2pINnJDOGhFNWFnQmY1Z09oa1hJVnJwZXo4cGtiUmRTampEbWpXWFkwMjkxY2lIRWUKdXlCWFh6MlVoeEJ6c2Y5QmVFUm5LTTBnQ2xLeEtid0dGTjRlc1djTzBEcEhlNm1YK3pnS3ZvSytIUHlVczhnUApkOU9wMU9zZWRIQ0NKWFl4TlIycWw0OFVBcmpENGYycHYxY2ZFekpORWpjb1FwbXlwSmtwUTRjbUZWMnREdjhhCksrS1NYajJvNEVwN1dJVFBEVWtuU3llN3pPamNPeFNmTG9XeWtldGcyZjZnSWVqemFJUm9XbVNkMlR0OHlwRUwKOVBkcXNKVWljbnkzOXNPcUNLYWxMeTRrdThWZ1FQMHVadDFPYW9FQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFGbU5NblhrCjN6YkhHeFNNRTR0bzJsWWJtQmZ1eGFpYlJhYnJpdExZMnEzUkpXNEhxNUVSZC80bm43TmRLWnZBbEh4ZXV2TTYKS1IxWTV1VGp3YjlZckp0VUI4eDlXR2w5R1RhVzNhZTlRZGR5Y1RHMEh6a1owWGFEcGp4ZExWcmVlWUYvRlBTQwp6djVjanhDUytqa3AzM1dGWm9nT2Z0Sjl1Nk9yKzNZV2NVeFBTV1JLeTZTSmVJN2pnWHlnM1hhZk9FbmI1bFJDCktSRit2dFk4cWhsT21uWnRSM1BaTDdsWGNDZGhqZFpRQ2Z2eTdaWVpmajIwckxJMFZVOWtoTFJVSWt2MDdJd0EKaEwwZkRXRVBnek9oM1JBOE1nMityT0EvUmJBVE45U0hCMEYzZXNpa2V6OUxmei82QjVLTitqRyt1TStEZjFxSwo1QlpSYnc1alNsQU9wZ2dBbzJhbDlBUVFIekdpRDRsQnpscy9wVFRFQXBERVVqempHWjY2WlhucTVrTDBjU0xmCmhwQjNPbDY4cldySVRxRDNSK2dJZDZXRGRWbVN6QXFxYnJVRHNQVXVjNWwvcFB6MWFBSjQrSlh1aFd2MzVXSXgKWTRscy9GY3VORks5bXhUS0dOeFdsWnh6aXpsK0tKenIrT09YaHAzQkhaTFpwRFFudmI4YnptZjRxNmFubGl1SQpsWmlRbEk4UUp6cWRpVEtNYTJ4dkMxTm5TS1ZNNHpISmZFWEliQ1ptMnkxQXNoQkRBSDFoczAyci9wdXlsM3QwCjdKcVQ3Y2VDanZESy9uRjQ3RUZ1c2tzV0dQMUJpRXlONExxbFJWeXB3MFA1MlFsMDJuRHFZbnlzSXZxS051RGIKQkJ2aUN3ajMzUGhCSldlWjNoNlBkaHNObUY2SVEwNjI3MVp4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", - "server": "https://fabricnlp9.usgovtexas.cloudapp.usgovcloudapi.net" - }, - "name": "fabricnlp9" - } - ], - "contexts": [ - { - "context": { - "cluster": "fabricnlp9", - "user": "fabricnlp9-admin" - }, - "name": "fabricnlp9" - } - ], - "current-context": "fabricnlp9", - "kind": "Config", - "users": [ - { - "name": "fabricnlp9-admin", - "user": {"client-certificate-data":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUw0bWp3MmNCMUp6L3cxa05meXY4SzR3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qRXdNRFF3TVRRNFdoY05NVGt4TWpFd01EUXdNVFE0V2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXlaRCtySURBem51NUlXekZVbjFuQ28zRHREdTAKVWRtcFY5V3huZkszK0tHSFF1cmhGaEtVa2h1UnNMUnptMVJ1L2VWM2xHM3B5eXl0ZzFOeEdtZDJ3TlNTMEsvRApQNjlRL0RkaGlZQ1FMMnJJZ2NGaGZaTU1DOFVhcFg5SlEzc1RpMVhtWjMzMTBhVkVGaksxRlR0Y1kyWjVPOC9GCmZMSDZ0ZGw2a1Mrd3dwWHNmeXJ3WkRzZWw0SjVaYmxsTml5Y1JOc1VKQTQ4SzRWdnFGT05pbmRUQS80N1ZITDcKY0dlbS9xTm9qRHpTRHVoL2xzY3IxU1F2bGR6eTJnMnlJUFJhOEorZUt2UThFWnFzclBjL2xXQmdDVEowcFkxQwo5ZFVqQXdTLy93MW0wd204NUQ0MGppbVVzTDc2Y29NVG9YQ3d0WEdhWnlQTjJZUVNhRHBFbHNBQm8xZG1zS0ZCCnYwb2dpdDNxcWRuenVMVlpubFhyTDYyYUs4Q1lCcWNybEFuUW4rM0c3Rnpva00rRFlpcExnSVB6RFRyaW1OMkkKUFdtYi90Unp2dFhkWSsybzFEaGR2RHU4ZmM3ZUZnemZCcUZnWVpDOXlISjBka28vY3JtSTJMaXlud0Zwak82UgpCT204cHBWSzg4THJ4OWx3MTh4ZExkRklkZDgrUThJeHFVdEJzSVJiY2pSVVVyUlBXWnFXNjNCQ1NTK3ZjbE5pCnk3Q25NYkVKR0YrL29nSWNVYnFOb0tDRGc2Q0U1L3VyZENGcEc1MTBZejVvZHdxblJxZ2hUczE5US9XMjlibUIKVUlyUmhOdCtPRjBRYVZnVVZhSk9Pam5iL0tQb0lvKytkZUZjSjdJZFk4OVFEYkFYcEpCQjA5NXRsYkdNU3BJNQpPTTRwc2M2NGpHeURXbmNDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVkRGpmTkYKY0RXeHdaMm02YnB3TmdIUkVTdk80WVhhSng2WjlKbDRIeGhFMTJJOFpYSWdWemQ1ZHFmTk54SEkvODFXWHdsLwo3RmdESjBmKy9Ca2xaeEtDeWVpd2dwOHQvRDBLdFQ2Ny9ndTM0QnAxWEpVMnJoRkczREZhR2ZLUlRZVzZlUXFnCnFORHpaSFpKY0JuUEI1WjdxVkVPOGlBSk5PSzJqZDNXcGQycnhuUWJBU0hpbXVIc04vUVEvU084ekpNSEZZVCsKZ0lNM0NCR0gzUVQ3d1JSa3hxWEhkOVgrTkVtZ2pmL1laUm1GTDMrR3hGc0NZczhzcmQ5LzBCOXRoUDBBTDhzRApWNk1ybGVBVXZVdE41dUJQR1BDSW1raVA2d2xNZDdyamhmaUhWZTNyWEFvTmZwWitGZ3g5OUJuVHBMUXFhYTZMCldJQzNNbXpJZmVHZTNuZExHODE0Vi81YU9XeE53VzEvZFAzMThlK0d2dENHeUNSYUdBNnRsTThkdGtJU1licmgKYjJWVWlneEI5OGVMS0pTdU8rSDdZRENLbGRXWnpYeU9WODNYZWswVlZpWDl1TVRyWVQ0TU14M1ZTd2xBSXc3Vgp2eW5Ub2ViQlc2OERnV0FXMjRoR1FDVmd2WHpnUDBJdlpsUlhmMGZXRWpKWklQdHFnbnp3bVpmbkF1WkhKcGNZCjc2eUVJMTM1WXh5d1VPOGR5SEJsMEFIcldvZWZsY0ZtNjloRk9zZk1SdGxVTUhDeVhWdHFwRXp3dFYvVWZBVU0KaEp0L2pvREJTQUE1cHFud0I2SCtpNkpYOGlUcGt4SEt4UnNWaE5CQVRkelN5MERPejhPVm01cllKWnlqQlhRbApXL3ZOUDVlTGVwdk9xUm4zRFBqdy92SkFHMGl6d09MVTZVWUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=","client-key-data":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeVpEK3JJREF6bnU1SVd6RlVuMW5DbzNEdER1MFVkbXBWOVd4bmZLMytLR0hRdXJoCkZoS1VraHVSc0xSem0xUnUvZVYzbEczcHl5eXRnMU54R21kMndOU1MwSy9EUDY5US9EZGhpWUNRTDJySWdjRmgKZlpNTUM4VWFwWDlKUTNzVGkxWG1aMzMxMGFWRUZqSzFGVHRjWTJaNU84L0ZmTEg2dGRsNmtTK3d3cFhzZnlydwpaRHNlbDRKNVpibGxOaXljUk5zVUpBNDhLNFZ2cUZPTmluZFRBLzQ3VkhMN2NHZW0vcU5vakR6U0R1aC9sc2NyCjFTUXZsZHp5MmcyeUlQUmE4SitlS3ZROEVacXNyUGMvbFdCZ0NUSjBwWTFDOWRVakF3Uy8vdzFtMHdtODVENDAKamltVXNMNzZjb01Ub1hDd3RYR2FaeVBOMllRU2FEcEVsc0FCbzFkbXNLRkJ2MG9naXQzcXFkbnp1TFZabmxYcgpMNjJhSzhDWUJxY3JsQW5RbiszRzdGem9rTStEWWlwTGdJUHpEVHJpbU4ySVBXbWIvdFJ6dnRYZFkrMm8xRGhkCnZEdThmYzdlRmd6ZkJxRmdZWkM5eUhKMGRrby9jcm1JMkxpeW53RnBqTzZSQk9tOHBwVks4OExyeDlsdzE4eGQKTGRGSWRkOCtROEl4cVV0QnNJUmJjalJVVXJSUFdacVc2M0JDU1MrdmNsTml5N0NuTWJFSkdGKy9vZ0ljVWJxTgpvS0NEZzZDRTUvdXJkQ0ZwRzUxMFl6NW9kd3FuUnFnaFRzMTlRL1cyOWJtQlVJclJoTnQrT0YwUWFWZ1VWYUpPCk9qbmIvS1BvSW8rK2RlRmNKN0lkWTg5UURiQVhwSkJCMDk1dGxiR01TcEk1T000cHNjNjRqR3lEV25jQ0F3RUEKQVFLQ0FnRUFqOVpQVm13ZXFucHh0dDkyeEJIRzZTb1c0TlBHTHE2RGdMRjJxVDdlZDZkVTdiVE00TUpya1FQcAphRTZ0UE1mNDJHZmFlR29pN3lDM3hVSlRNTU5xWTlxTjFpdkd5ZmhpYzBsVjZoaDdTOHNJd0VkdU9YMG9tSEdVClBVdGl6YXZUVzVmMTdoNWR2N2dPcVVTUUlsR1U4VDNiLzRtWjVRemcyc29TQSs4alZRaEZsczNlYzdnWWNZZmkKOTJ0Z1JWTjZSRXlOeDlqOHFSWDBnd3Iwc3ozSldNMGdLM2hONDMya0Zvd25mQU9lNXBLVkVkU1plK1R4ckNEYQprQzQ3MGZadHVzNDh3V3crUFZYQ0tUL2ErTTZvV1lmTzQ2QzFpdFlJd1F1dnN1TXVZQ1RQelpSeVRveHZsZDBDCnZacTU5SGVGTWtXYUtFWE5qSTRKMEtUYjh6T2JObDZ0ajhVYnl6eFNKRVlVNWc4ajNNdEFXalRqUzhNWHpsNlgKakN3aEFGNnNUOTFZeW5Mc3Z1RVZSbTBsZHB0UkIwcExHMjgwci94ODhaSFlDR0YwdnI4TGRLei80MDBhdFFMWQprZGI5RUNDa2pPbVdIdmZVVlZPMjZBeVljWnA1b0k0clhYdGlEVHU4V0dVakhzUzBWc3ljZERqRXRBbzlYYndtCnpONGxMQmE5VFdvRDI5TlNmaUdlYTd1bzFlZ0h3WDlXbWdyUU5rdkM5cmJSTTZ6Z2xzbzRkWCtkQW9uaFRNbVMKQmRLYVhybzUrdFVSK09SditFUG5tZHpYb01uaGlibWRZYVZoc0xTY2FsaSs4MmZZdGJGQllCd1RtWHdZL0NzUAoxSW04Vkx2VDZQVkRUZ2Fjc2JMRVRZemhoNmhFMXQ3Y1F6TE83Zk4xbjJURnJjcEhKZGtDZ2dFQkFQS1ptbnBnClB1VWJubi9OK3R5clh2SGYvNUhHTUdwaTUvME56SnJDSG11ZmN4Q2lUVUgyekNqNE50T0VkRGgzaDZrUkFmc2MKc2xLZGZuWTdxM3lDdDdQRFNiaVY0WSttTndsU0pqM3czOGcxSW9YTkJFbG5rak5aM2hYd3FNSDNsMmZ4bDdHSgpwMUNxUWlHcXZQeEFERzVQREtYalFEUm5hRXBQWUVVem5vTjR3ZUlVeFZWTzhUSnNZaS9XTlNhSSsydThqZWtsCm1yMHVaZlhhaFZZcWtYdjM4QkZFSWtZcWtjTHBycWdPQ2JTQi9OTG14RTcyNTM4OFlHM1JHU1doa1d4ZmNYUFQKUmZkblIxcEErYUhrZkNOTFF0K0lGNzl6MzBQUEJjcmdYR0E4ZUhrRisvenhqRHV1SVdGMGMzb0lKbFZBclRjKwprd2dka3BUSk1CNko0d3NDZ2dFQkFOU3pLNkRDdWFLUTh2VUFHbks4ekZsYk8xZHpmQVhJdmtOWW1JVUV1RDQ4ClRtcGZheE96aVRSWEFWbjhZY3lReTdCbnFpRU95cTltYmZBOUhFSUkxS2hxSEV6MzYxUllXS200S1pmOUk0YjUKVTRsVUJ4bjhBaXNqWHk3bldGRnk4dGZwQ21ic1pjaGJxOStBNTAwQm52dEszWkE5SVU4ZWwxNThncXUrdnQrcQpZdjlONVhMcUVhTHNudDY1NU5iU2RZbmhjZGZTRDE1WlptL2dtR2JHVmx5VHUranAxMHkyZFVDQ3VHdzRIOENHClAxOHpBc1c2TjlCNlJCWk1LLzNNSHVkQi9IblJQUUZ5TkgvVFNQbFlFaTFxeWIzTXU3SU94MHdlUXBSMlVtNjcKdHdpTUN2VHNGOUpOSDNEcElHR0djUzliNlFoRVh6a3BTYmZvRVBIc3ljVUNnZ0VCQU45L3hZS0NrczhOdjlycwpqL1dtWjhVYjRWNlNJTjZTR2puVzhhMk5zdXJocmVjZ0wxN2JHTUdSMHlqUXVTV2djVG0vc254K3RvWklGRTZtCnNGajRNSGVMTGFyQllsbXQvcncyazRhekYrZGhsRm1DUkRYQUZqLzZ4aENlYzBxbmFEUlpyYS9oS21TMVJsR3YKODRYTkYrYTBLdW5WVDd3M25Dd0JycVp5Wk5Hb2VhNW9CbGlPYnNWT2RyS3RmSy93dVBoTGNNM2ZXQXg3NTNFMQpqV3VSc2hCc25oMjZFSDFtRUgxcVBmOFRWN3VWbWE5TzdJSDNFOVR6Y2I4YVNUbVMvTi9EbWtqajFteVVHSGM4CnJ2NkgraG1sNTRqNTN5OEJlQ29IV3NYS0p6Qjk1VnRSdVJJU0VtaVZCcW02MS93UDhBalFtZ1B3UVJMVDg4dmgKQWRUUW9Yc0NnZ0VBUmFiS2thRlNrdGF1aU9aWXd0dnFleFJ5RVVnakErM2h5RUg1NkExTW5DeTViUUlFR1hhQQpacUJiTS9GK3dUTmxVRVlTSXpNcDBsaFRoZ2tzK0w3VmpMVDZ3WVdxRFh2RXhRY21yN3ZZWjNtOERrdHk2K0puCmYyTGM1NG9nbE1OMG5KbVdxMitjUVFrcjlrdks4cCttUlJvV0JnYk9vbzhjK0hjRGYyUStNeFlqeHdEbU0wUk4KTkRJU01GTmxpYWR2a0JCQWJIRkFVU0FyZUZWdThyRGVWUUNYMTBURUdUM2lsWlo0K0E5RTdwSEhyTkFTaDFkYwpzYXRvSW5rZEtzWXVGSUs2UDlYeUNVZ3h3dTRZaG5aOXRWdXo1ckJsZ29CdWFSRzdzY3d4WUV1ZU8zRklvVDJ5CjYwNFFEclI0d3hiNGQ0NjhkOVdUN1M4RkVmRXZvMWxzRlFLQ0FRRUFrNmlpMFlmTGkvNnk4TVQ5dDgrZ1FqazYKTkhWZkRzYnc5c1hKWXZWWGswb0tUN1lBTVBmcnlkS0F0akZ5YlBBcGFDS3dPQlpqcFBySGh0Vy9HdkVub3VpRworQkVIM2x2S0NOUzBlQUVUVC8rNzlNTmVRRjBOazZhb2ZGNFRBei8yaWduMTJESXY5c1Y4NFJVc1VMVmw5bHlGCkpmdktLb1E1ZEg4WnhPQW9HVEVRRDhJdG0ra0FqdmppYnM4RFlnREp2VVRGZnFYcUtxOVJTK2VLS1VZWUM3VGYKejRub0Mvb0c3ZlA1cEpna0dlNU1EbFhHb05GUFNXZzJKVzRPbU1YZmV3WW80MmNOQnhsc0ROUXFYSnFSdXAyRwplT2xNaXU2SmRsak9CRFc5RG8xbHhVaG9JOG9SdW5JRVVGdEN5MUdFWHpYaWdOQ21vbE1qQjUveDJYTzFvZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="} - } - ] -} diff --git a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.usgovvirginia.json b/azure/_output/fabricnlp9/kubeconfig/kubeconfig.usgovvirginia.json deleted file mode 100644 index affdaa2..0000000 --- a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.usgovvirginia.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "apiVersion": "v1", - "clusters": [ - { - "cluster": { - "certificate-authority-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRVkZsMU1sZDA5L0xUazJRMk5JWG1GREFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1UQXdOREF4TkRaYUZ3MHhPVEV5TVRBd05EQXhORFphTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFzZmxGCmNvZCtwMTB4REdUM2ZXWm12K21OYXRhU2w4MFAzNTkrQ3JFWEY5OHYzaHdsQyt6eGpFRXhpZEdHSkdBcWpIc3QKdFlOREg5aG81bHdSWTROamJKcUJJZ3cvcDZ5RXB5WGg1MVliRFA2dDd6bHp3UVMyRjlJKzJ5aG02TWd3V3dSTQpkTmxHb1pzamFrbFJucTBWbXZ6eVk4WGVCVi84TllRb0QzNE1OdVZXVjZ0R0daeWZpdDFFT3YydCtqTnNLdXBRCm4xRGh4RGJkNE9LT3hvaC9md1hnL0tHU1gwWlRyUUY1eUV4c1VOaFdyQncrQnZ0Q2twdHc2aU1hT1Vhb0tVaDkKczVrTTA3clhCY0xmU2FuZ0FBVHZTMWQzNWZmaENZQmxseGl4Sk11QWFMcFNLaHlzekR2Z1BEV2dnUjcvRVZZUApaSDlMSlgwL20vT25DcFl2eURkUE0zeEhLd0pvbkdYS0tmMW1UTE5GUjE2b0YxU3N6QlZWZFNXc1FSSHNCTkdVCmMyZEYvRjZKaDBEV0JQZ2pINnJDOGhFNWFnQmY1Z09oa1hJVnJwZXo4cGtiUmRTampEbWpXWFkwMjkxY2lIRWUKdXlCWFh6MlVoeEJ6c2Y5QmVFUm5LTTBnQ2xLeEtid0dGTjRlc1djTzBEcEhlNm1YK3pnS3ZvSytIUHlVczhnUApkOU9wMU9zZWRIQ0NKWFl4TlIycWw0OFVBcmpENGYycHYxY2ZFekpORWpjb1FwbXlwSmtwUTRjbUZWMnREdjhhCksrS1NYajJvNEVwN1dJVFBEVWtuU3llN3pPamNPeFNmTG9XeWtldGcyZjZnSWVqemFJUm9XbVNkMlR0OHlwRUwKOVBkcXNKVWljbnkzOXNPcUNLYWxMeTRrdThWZ1FQMHVadDFPYW9FQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFGbU5NblhrCjN6YkhHeFNNRTR0bzJsWWJtQmZ1eGFpYlJhYnJpdExZMnEzUkpXNEhxNUVSZC80bm43TmRLWnZBbEh4ZXV2TTYKS1IxWTV1VGp3YjlZckp0VUI4eDlXR2w5R1RhVzNhZTlRZGR5Y1RHMEh6a1owWGFEcGp4ZExWcmVlWUYvRlBTQwp6djVjanhDUytqa3AzM1dGWm9nT2Z0Sjl1Nk9yKzNZV2NVeFBTV1JLeTZTSmVJN2pnWHlnM1hhZk9FbmI1bFJDCktSRit2dFk4cWhsT21uWnRSM1BaTDdsWGNDZGhqZFpRQ2Z2eTdaWVpmajIwckxJMFZVOWtoTFJVSWt2MDdJd0EKaEwwZkRXRVBnek9oM1JBOE1nMityT0EvUmJBVE45U0hCMEYzZXNpa2V6OUxmei82QjVLTitqRyt1TStEZjFxSwo1QlpSYnc1alNsQU9wZ2dBbzJhbDlBUVFIekdpRDRsQnpscy9wVFRFQXBERVVqempHWjY2WlhucTVrTDBjU0xmCmhwQjNPbDY4cldySVRxRDNSK2dJZDZXRGRWbVN6QXFxYnJVRHNQVXVjNWwvcFB6MWFBSjQrSlh1aFd2MzVXSXgKWTRscy9GY3VORks5bXhUS0dOeFdsWnh6aXpsK0tKenIrT09YaHAzQkhaTFpwRFFudmI4YnptZjRxNmFubGl1SQpsWmlRbEk4UUp6cWRpVEtNYTJ4dkMxTm5TS1ZNNHpISmZFWEliQ1ptMnkxQXNoQkRBSDFoczAyci9wdXlsM3QwCjdKcVQ3Y2VDanZESy9uRjQ3RUZ1c2tzV0dQMUJpRXlONExxbFJWeXB3MFA1MlFsMDJuRHFZbnlzSXZxS051RGIKQkJ2aUN3ajMzUGhCSldlWjNoNlBkaHNObUY2SVEwNjI3MVp4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", - "server": "https://fabricnlp9.usgovvirginia.cloudapp.usgovcloudapi.net" - }, - "name": "fabricnlp9" - } - ], - "contexts": [ - { - "context": { - "cluster": "fabricnlp9", - "user": "fabricnlp9-admin" - }, - "name": "fabricnlp9" - } - ], - "current-context": "fabricnlp9", - "kind": "Config", - "users": [ - { - "name": "fabricnlp9-admin", - "user": {"client-certificate-data":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUw0bWp3MmNCMUp6L3cxa05meXY4SzR3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qRXdNRFF3TVRRNFdoY05NVGt4TWpFd01EUXdNVFE0V2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXlaRCtySURBem51NUlXekZVbjFuQ28zRHREdTAKVWRtcFY5V3huZkszK0tHSFF1cmhGaEtVa2h1UnNMUnptMVJ1L2VWM2xHM3B5eXl0ZzFOeEdtZDJ3TlNTMEsvRApQNjlRL0RkaGlZQ1FMMnJJZ2NGaGZaTU1DOFVhcFg5SlEzc1RpMVhtWjMzMTBhVkVGaksxRlR0Y1kyWjVPOC9GCmZMSDZ0ZGw2a1Mrd3dwWHNmeXJ3WkRzZWw0SjVaYmxsTml5Y1JOc1VKQTQ4SzRWdnFGT05pbmRUQS80N1ZITDcKY0dlbS9xTm9qRHpTRHVoL2xzY3IxU1F2bGR6eTJnMnlJUFJhOEorZUt2UThFWnFzclBjL2xXQmdDVEowcFkxQwo5ZFVqQXdTLy93MW0wd204NUQ0MGppbVVzTDc2Y29NVG9YQ3d0WEdhWnlQTjJZUVNhRHBFbHNBQm8xZG1zS0ZCCnYwb2dpdDNxcWRuenVMVlpubFhyTDYyYUs4Q1lCcWNybEFuUW4rM0c3Rnpva00rRFlpcExnSVB6RFRyaW1OMkkKUFdtYi90Unp2dFhkWSsybzFEaGR2RHU4ZmM3ZUZnemZCcUZnWVpDOXlISjBka28vY3JtSTJMaXlud0Zwak82UgpCT204cHBWSzg4THJ4OWx3MTh4ZExkRklkZDgrUThJeHFVdEJzSVJiY2pSVVVyUlBXWnFXNjNCQ1NTK3ZjbE5pCnk3Q25NYkVKR0YrL29nSWNVYnFOb0tDRGc2Q0U1L3VyZENGcEc1MTBZejVvZHdxblJxZ2hUczE5US9XMjlibUIKVUlyUmhOdCtPRjBRYVZnVVZhSk9Pam5iL0tQb0lvKytkZUZjSjdJZFk4OVFEYkFYcEpCQjA5NXRsYkdNU3BJNQpPTTRwc2M2NGpHeURXbmNDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVkRGpmTkYKY0RXeHdaMm02YnB3TmdIUkVTdk80WVhhSng2WjlKbDRIeGhFMTJJOFpYSWdWemQ1ZHFmTk54SEkvODFXWHdsLwo3RmdESjBmKy9Ca2xaeEtDeWVpd2dwOHQvRDBLdFQ2Ny9ndTM0QnAxWEpVMnJoRkczREZhR2ZLUlRZVzZlUXFnCnFORHpaSFpKY0JuUEI1WjdxVkVPOGlBSk5PSzJqZDNXcGQycnhuUWJBU0hpbXVIc04vUVEvU084ekpNSEZZVCsKZ0lNM0NCR0gzUVQ3d1JSa3hxWEhkOVgrTkVtZ2pmL1laUm1GTDMrR3hGc0NZczhzcmQ5LzBCOXRoUDBBTDhzRApWNk1ybGVBVXZVdE41dUJQR1BDSW1raVA2d2xNZDdyamhmaUhWZTNyWEFvTmZwWitGZ3g5OUJuVHBMUXFhYTZMCldJQzNNbXpJZmVHZTNuZExHODE0Vi81YU9XeE53VzEvZFAzMThlK0d2dENHeUNSYUdBNnRsTThkdGtJU1licmgKYjJWVWlneEI5OGVMS0pTdU8rSDdZRENLbGRXWnpYeU9WODNYZWswVlZpWDl1TVRyWVQ0TU14M1ZTd2xBSXc3Vgp2eW5Ub2ViQlc2OERnV0FXMjRoR1FDVmd2WHpnUDBJdlpsUlhmMGZXRWpKWklQdHFnbnp3bVpmbkF1WkhKcGNZCjc2eUVJMTM1WXh5d1VPOGR5SEJsMEFIcldvZWZsY0ZtNjloRk9zZk1SdGxVTUhDeVhWdHFwRXp3dFYvVWZBVU0KaEp0L2pvREJTQUE1cHFud0I2SCtpNkpYOGlUcGt4SEt4UnNWaE5CQVRkelN5MERPejhPVm01cllKWnlqQlhRbApXL3ZOUDVlTGVwdk9xUm4zRFBqdy92SkFHMGl6d09MVTZVWUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=","client-key-data":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeVpEK3JJREF6bnU1SVd6RlVuMW5DbzNEdER1MFVkbXBWOVd4bmZLMytLR0hRdXJoCkZoS1VraHVSc0xSem0xUnUvZVYzbEczcHl5eXRnMU54R21kMndOU1MwSy9EUDY5US9EZGhpWUNRTDJySWdjRmgKZlpNTUM4VWFwWDlKUTNzVGkxWG1aMzMxMGFWRUZqSzFGVHRjWTJaNU84L0ZmTEg2dGRsNmtTK3d3cFhzZnlydwpaRHNlbDRKNVpibGxOaXljUk5zVUpBNDhLNFZ2cUZPTmluZFRBLzQ3VkhMN2NHZW0vcU5vakR6U0R1aC9sc2NyCjFTUXZsZHp5MmcyeUlQUmE4SitlS3ZROEVacXNyUGMvbFdCZ0NUSjBwWTFDOWRVakF3Uy8vdzFtMHdtODVENDAKamltVXNMNzZjb01Ub1hDd3RYR2FaeVBOMllRU2FEcEVsc0FCbzFkbXNLRkJ2MG9naXQzcXFkbnp1TFZabmxYcgpMNjJhSzhDWUJxY3JsQW5RbiszRzdGem9rTStEWWlwTGdJUHpEVHJpbU4ySVBXbWIvdFJ6dnRYZFkrMm8xRGhkCnZEdThmYzdlRmd6ZkJxRmdZWkM5eUhKMGRrby9jcm1JMkxpeW53RnBqTzZSQk9tOHBwVks4OExyeDlsdzE4eGQKTGRGSWRkOCtROEl4cVV0QnNJUmJjalJVVXJSUFdacVc2M0JDU1MrdmNsTml5N0NuTWJFSkdGKy9vZ0ljVWJxTgpvS0NEZzZDRTUvdXJkQ0ZwRzUxMFl6NW9kd3FuUnFnaFRzMTlRL1cyOWJtQlVJclJoTnQrT0YwUWFWZ1VWYUpPCk9qbmIvS1BvSW8rK2RlRmNKN0lkWTg5UURiQVhwSkJCMDk1dGxiR01TcEk1T000cHNjNjRqR3lEV25jQ0F3RUEKQVFLQ0FnRUFqOVpQVm13ZXFucHh0dDkyeEJIRzZTb1c0TlBHTHE2RGdMRjJxVDdlZDZkVTdiVE00TUpya1FQcAphRTZ0UE1mNDJHZmFlR29pN3lDM3hVSlRNTU5xWTlxTjFpdkd5ZmhpYzBsVjZoaDdTOHNJd0VkdU9YMG9tSEdVClBVdGl6YXZUVzVmMTdoNWR2N2dPcVVTUUlsR1U4VDNiLzRtWjVRemcyc29TQSs4alZRaEZsczNlYzdnWWNZZmkKOTJ0Z1JWTjZSRXlOeDlqOHFSWDBnd3Iwc3ozSldNMGdLM2hONDMya0Zvd25mQU9lNXBLVkVkU1plK1R4ckNEYQprQzQ3MGZadHVzNDh3V3crUFZYQ0tUL2ErTTZvV1lmTzQ2QzFpdFlJd1F1dnN1TXVZQ1RQelpSeVRveHZsZDBDCnZacTU5SGVGTWtXYUtFWE5qSTRKMEtUYjh6T2JObDZ0ajhVYnl6eFNKRVlVNWc4ajNNdEFXalRqUzhNWHpsNlgKakN3aEFGNnNUOTFZeW5Mc3Z1RVZSbTBsZHB0UkIwcExHMjgwci94ODhaSFlDR0YwdnI4TGRLei80MDBhdFFMWQprZGI5RUNDa2pPbVdIdmZVVlZPMjZBeVljWnA1b0k0clhYdGlEVHU4V0dVakhzUzBWc3ljZERqRXRBbzlYYndtCnpONGxMQmE5VFdvRDI5TlNmaUdlYTd1bzFlZ0h3WDlXbWdyUU5rdkM5cmJSTTZ6Z2xzbzRkWCtkQW9uaFRNbVMKQmRLYVhybzUrdFVSK09SditFUG5tZHpYb01uaGlibWRZYVZoc0xTY2FsaSs4MmZZdGJGQllCd1RtWHdZL0NzUAoxSW04Vkx2VDZQVkRUZ2Fjc2JMRVRZemhoNmhFMXQ3Y1F6TE83Zk4xbjJURnJjcEhKZGtDZ2dFQkFQS1ptbnBnClB1VWJubi9OK3R5clh2SGYvNUhHTUdwaTUvME56SnJDSG11ZmN4Q2lUVUgyekNqNE50T0VkRGgzaDZrUkFmc2MKc2xLZGZuWTdxM3lDdDdQRFNiaVY0WSttTndsU0pqM3czOGcxSW9YTkJFbG5rak5aM2hYd3FNSDNsMmZ4bDdHSgpwMUNxUWlHcXZQeEFERzVQREtYalFEUm5hRXBQWUVVem5vTjR3ZUlVeFZWTzhUSnNZaS9XTlNhSSsydThqZWtsCm1yMHVaZlhhaFZZcWtYdjM4QkZFSWtZcWtjTHBycWdPQ2JTQi9OTG14RTcyNTM4OFlHM1JHU1doa1d4ZmNYUFQKUmZkblIxcEErYUhrZkNOTFF0K0lGNzl6MzBQUEJjcmdYR0E4ZUhrRisvenhqRHV1SVdGMGMzb0lKbFZBclRjKwprd2dka3BUSk1CNko0d3NDZ2dFQkFOU3pLNkRDdWFLUTh2VUFHbks4ekZsYk8xZHpmQVhJdmtOWW1JVUV1RDQ4ClRtcGZheE96aVRSWEFWbjhZY3lReTdCbnFpRU95cTltYmZBOUhFSUkxS2hxSEV6MzYxUllXS200S1pmOUk0YjUKVTRsVUJ4bjhBaXNqWHk3bldGRnk4dGZwQ21ic1pjaGJxOStBNTAwQm52dEszWkE5SVU4ZWwxNThncXUrdnQrcQpZdjlONVhMcUVhTHNudDY1NU5iU2RZbmhjZGZTRDE1WlptL2dtR2JHVmx5VHUranAxMHkyZFVDQ3VHdzRIOENHClAxOHpBc1c2TjlCNlJCWk1LLzNNSHVkQi9IblJQUUZ5TkgvVFNQbFlFaTFxeWIzTXU3SU94MHdlUXBSMlVtNjcKdHdpTUN2VHNGOUpOSDNEcElHR0djUzliNlFoRVh6a3BTYmZvRVBIc3ljVUNnZ0VCQU45L3hZS0NrczhOdjlycwpqL1dtWjhVYjRWNlNJTjZTR2puVzhhMk5zdXJocmVjZ0wxN2JHTUdSMHlqUXVTV2djVG0vc254K3RvWklGRTZtCnNGajRNSGVMTGFyQllsbXQvcncyazRhekYrZGhsRm1DUkRYQUZqLzZ4aENlYzBxbmFEUlpyYS9oS21TMVJsR3YKODRYTkYrYTBLdW5WVDd3M25Dd0JycVp5Wk5Hb2VhNW9CbGlPYnNWT2RyS3RmSy93dVBoTGNNM2ZXQXg3NTNFMQpqV3VSc2hCc25oMjZFSDFtRUgxcVBmOFRWN3VWbWE5TzdJSDNFOVR6Y2I4YVNUbVMvTi9EbWtqajFteVVHSGM4CnJ2NkgraG1sNTRqNTN5OEJlQ29IV3NYS0p6Qjk1VnRSdVJJU0VtaVZCcW02MS93UDhBalFtZ1B3UVJMVDg4dmgKQWRUUW9Yc0NnZ0VBUmFiS2thRlNrdGF1aU9aWXd0dnFleFJ5RVVnakErM2h5RUg1NkExTW5DeTViUUlFR1hhQQpacUJiTS9GK3dUTmxVRVlTSXpNcDBsaFRoZ2tzK0w3VmpMVDZ3WVdxRFh2RXhRY21yN3ZZWjNtOERrdHk2K0puCmYyTGM1NG9nbE1OMG5KbVdxMitjUVFrcjlrdks4cCttUlJvV0JnYk9vbzhjK0hjRGYyUStNeFlqeHdEbU0wUk4KTkRJU01GTmxpYWR2a0JCQWJIRkFVU0FyZUZWdThyRGVWUUNYMTBURUdUM2lsWlo0K0E5RTdwSEhyTkFTaDFkYwpzYXRvSW5rZEtzWXVGSUs2UDlYeUNVZ3h3dTRZaG5aOXRWdXo1ckJsZ29CdWFSRzdzY3d4WUV1ZU8zRklvVDJ5CjYwNFFEclI0d3hiNGQ0NjhkOVdUN1M4RkVmRXZvMWxzRlFLQ0FRRUFrNmlpMFlmTGkvNnk4TVQ5dDgrZ1FqazYKTkhWZkRzYnc5c1hKWXZWWGswb0tUN1lBTVBmcnlkS0F0akZ5YlBBcGFDS3dPQlpqcFBySGh0Vy9HdkVub3VpRworQkVIM2x2S0NOUzBlQUVUVC8rNzlNTmVRRjBOazZhb2ZGNFRBei8yaWduMTJESXY5c1Y4NFJVc1VMVmw5bHlGCkpmdktLb1E1ZEg4WnhPQW9HVEVRRDhJdG0ra0FqdmppYnM4RFlnREp2VVRGZnFYcUtxOVJTK2VLS1VZWUM3VGYKejRub0Mvb0c3ZlA1cEpna0dlNU1EbFhHb05GUFNXZzJKVzRPbU1YZmV3WW80MmNOQnhsc0ROUXFYSnFSdXAyRwplT2xNaXU2SmRsak9CRFc5RG8xbHhVaG9JOG9SdW5JRVVGdEN5MUdFWHpYaWdOQ21vbE1qQjUveDJYTzFvZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="} - } - ] -} diff --git a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.westcentralus.json b/azure/_output/fabricnlp9/kubeconfig/kubeconfig.westcentralus.json deleted file mode 100644 index f0f6a47..0000000 --- a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.westcentralus.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "apiVersion": "v1", - "clusters": [ - { - "cluster": { - "certificate-authority-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRVkZsMU1sZDA5L0xUazJRMk5JWG1GREFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1UQXdOREF4TkRaYUZ3MHhPVEV5TVRBd05EQXhORFphTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFzZmxGCmNvZCtwMTB4REdUM2ZXWm12K21OYXRhU2w4MFAzNTkrQ3JFWEY5OHYzaHdsQyt6eGpFRXhpZEdHSkdBcWpIc3QKdFlOREg5aG81bHdSWTROamJKcUJJZ3cvcDZ5RXB5WGg1MVliRFA2dDd6bHp3UVMyRjlJKzJ5aG02TWd3V3dSTQpkTmxHb1pzamFrbFJucTBWbXZ6eVk4WGVCVi84TllRb0QzNE1OdVZXVjZ0R0daeWZpdDFFT3YydCtqTnNLdXBRCm4xRGh4RGJkNE9LT3hvaC9md1hnL0tHU1gwWlRyUUY1eUV4c1VOaFdyQncrQnZ0Q2twdHc2aU1hT1Vhb0tVaDkKczVrTTA3clhCY0xmU2FuZ0FBVHZTMWQzNWZmaENZQmxseGl4Sk11QWFMcFNLaHlzekR2Z1BEV2dnUjcvRVZZUApaSDlMSlgwL20vT25DcFl2eURkUE0zeEhLd0pvbkdYS0tmMW1UTE5GUjE2b0YxU3N6QlZWZFNXc1FSSHNCTkdVCmMyZEYvRjZKaDBEV0JQZ2pINnJDOGhFNWFnQmY1Z09oa1hJVnJwZXo4cGtiUmRTampEbWpXWFkwMjkxY2lIRWUKdXlCWFh6MlVoeEJ6c2Y5QmVFUm5LTTBnQ2xLeEtid0dGTjRlc1djTzBEcEhlNm1YK3pnS3ZvSytIUHlVczhnUApkOU9wMU9zZWRIQ0NKWFl4TlIycWw0OFVBcmpENGYycHYxY2ZFekpORWpjb1FwbXlwSmtwUTRjbUZWMnREdjhhCksrS1NYajJvNEVwN1dJVFBEVWtuU3llN3pPamNPeFNmTG9XeWtldGcyZjZnSWVqemFJUm9XbVNkMlR0OHlwRUwKOVBkcXNKVWljbnkzOXNPcUNLYWxMeTRrdThWZ1FQMHVadDFPYW9FQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFGbU5NblhrCjN6YkhHeFNNRTR0bzJsWWJtQmZ1eGFpYlJhYnJpdExZMnEzUkpXNEhxNUVSZC80bm43TmRLWnZBbEh4ZXV2TTYKS1IxWTV1VGp3YjlZckp0VUI4eDlXR2w5R1RhVzNhZTlRZGR5Y1RHMEh6a1owWGFEcGp4ZExWcmVlWUYvRlBTQwp6djVjanhDUytqa3AzM1dGWm9nT2Z0Sjl1Nk9yKzNZV2NVeFBTV1JLeTZTSmVJN2pnWHlnM1hhZk9FbmI1bFJDCktSRit2dFk4cWhsT21uWnRSM1BaTDdsWGNDZGhqZFpRQ2Z2eTdaWVpmajIwckxJMFZVOWtoTFJVSWt2MDdJd0EKaEwwZkRXRVBnek9oM1JBOE1nMityT0EvUmJBVE45U0hCMEYzZXNpa2V6OUxmei82QjVLTitqRyt1TStEZjFxSwo1QlpSYnc1alNsQU9wZ2dBbzJhbDlBUVFIekdpRDRsQnpscy9wVFRFQXBERVVqempHWjY2WlhucTVrTDBjU0xmCmhwQjNPbDY4cldySVRxRDNSK2dJZDZXRGRWbVN6QXFxYnJVRHNQVXVjNWwvcFB6MWFBSjQrSlh1aFd2MzVXSXgKWTRscy9GY3VORks5bXhUS0dOeFdsWnh6aXpsK0tKenIrT09YaHAzQkhaTFpwRFFudmI4YnptZjRxNmFubGl1SQpsWmlRbEk4UUp6cWRpVEtNYTJ4dkMxTm5TS1ZNNHpISmZFWEliQ1ptMnkxQXNoQkRBSDFoczAyci9wdXlsM3QwCjdKcVQ3Y2VDanZESy9uRjQ3RUZ1c2tzV0dQMUJpRXlONExxbFJWeXB3MFA1MlFsMDJuRHFZbnlzSXZxS051RGIKQkJ2aUN3ajMzUGhCSldlWjNoNlBkaHNObUY2SVEwNjI3MVp4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", - "server": "https://fabricnlp9.westcentralus.cloudapp.azure.com" - }, - "name": "fabricnlp9" - } - ], - "contexts": [ - { - "context": { - "cluster": "fabricnlp9", - "user": "fabricnlp9-admin" - }, - "name": "fabricnlp9" - } - ], - "current-context": "fabricnlp9", - "kind": "Config", - "users": [ - { - "name": "fabricnlp9-admin", - "user": {"client-certificate-data":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUw0bWp3MmNCMUp6L3cxa05meXY4SzR3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qRXdNRFF3TVRRNFdoY05NVGt4TWpFd01EUXdNVFE0V2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXlaRCtySURBem51NUlXekZVbjFuQ28zRHREdTAKVWRtcFY5V3huZkszK0tHSFF1cmhGaEtVa2h1UnNMUnptMVJ1L2VWM2xHM3B5eXl0ZzFOeEdtZDJ3TlNTMEsvRApQNjlRL0RkaGlZQ1FMMnJJZ2NGaGZaTU1DOFVhcFg5SlEzc1RpMVhtWjMzMTBhVkVGaksxRlR0Y1kyWjVPOC9GCmZMSDZ0ZGw2a1Mrd3dwWHNmeXJ3WkRzZWw0SjVaYmxsTml5Y1JOc1VKQTQ4SzRWdnFGT05pbmRUQS80N1ZITDcKY0dlbS9xTm9qRHpTRHVoL2xzY3IxU1F2bGR6eTJnMnlJUFJhOEorZUt2UThFWnFzclBjL2xXQmdDVEowcFkxQwo5ZFVqQXdTLy93MW0wd204NUQ0MGppbVVzTDc2Y29NVG9YQ3d0WEdhWnlQTjJZUVNhRHBFbHNBQm8xZG1zS0ZCCnYwb2dpdDNxcWRuenVMVlpubFhyTDYyYUs4Q1lCcWNybEFuUW4rM0c3Rnpva00rRFlpcExnSVB6RFRyaW1OMkkKUFdtYi90Unp2dFhkWSsybzFEaGR2RHU4ZmM3ZUZnemZCcUZnWVpDOXlISjBka28vY3JtSTJMaXlud0Zwak82UgpCT204cHBWSzg4THJ4OWx3MTh4ZExkRklkZDgrUThJeHFVdEJzSVJiY2pSVVVyUlBXWnFXNjNCQ1NTK3ZjbE5pCnk3Q25NYkVKR0YrL29nSWNVYnFOb0tDRGc2Q0U1L3VyZENGcEc1MTBZejVvZHdxblJxZ2hUczE5US9XMjlibUIKVUlyUmhOdCtPRjBRYVZnVVZhSk9Pam5iL0tQb0lvKytkZUZjSjdJZFk4OVFEYkFYcEpCQjA5NXRsYkdNU3BJNQpPTTRwc2M2NGpHeURXbmNDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVkRGpmTkYKY0RXeHdaMm02YnB3TmdIUkVTdk80WVhhSng2WjlKbDRIeGhFMTJJOFpYSWdWemQ1ZHFmTk54SEkvODFXWHdsLwo3RmdESjBmKy9Ca2xaeEtDeWVpd2dwOHQvRDBLdFQ2Ny9ndTM0QnAxWEpVMnJoRkczREZhR2ZLUlRZVzZlUXFnCnFORHpaSFpKY0JuUEI1WjdxVkVPOGlBSk5PSzJqZDNXcGQycnhuUWJBU0hpbXVIc04vUVEvU084ekpNSEZZVCsKZ0lNM0NCR0gzUVQ3d1JSa3hxWEhkOVgrTkVtZ2pmL1laUm1GTDMrR3hGc0NZczhzcmQ5LzBCOXRoUDBBTDhzRApWNk1ybGVBVXZVdE41dUJQR1BDSW1raVA2d2xNZDdyamhmaUhWZTNyWEFvTmZwWitGZ3g5OUJuVHBMUXFhYTZMCldJQzNNbXpJZmVHZTNuZExHODE0Vi81YU9XeE53VzEvZFAzMThlK0d2dENHeUNSYUdBNnRsTThkdGtJU1licmgKYjJWVWlneEI5OGVMS0pTdU8rSDdZRENLbGRXWnpYeU9WODNYZWswVlZpWDl1TVRyWVQ0TU14M1ZTd2xBSXc3Vgp2eW5Ub2ViQlc2OERnV0FXMjRoR1FDVmd2WHpnUDBJdlpsUlhmMGZXRWpKWklQdHFnbnp3bVpmbkF1WkhKcGNZCjc2eUVJMTM1WXh5d1VPOGR5SEJsMEFIcldvZWZsY0ZtNjloRk9zZk1SdGxVTUhDeVhWdHFwRXp3dFYvVWZBVU0KaEp0L2pvREJTQUE1cHFud0I2SCtpNkpYOGlUcGt4SEt4UnNWaE5CQVRkelN5MERPejhPVm01cllKWnlqQlhRbApXL3ZOUDVlTGVwdk9xUm4zRFBqdy92SkFHMGl6d09MVTZVWUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=","client-key-data":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeVpEK3JJREF6bnU1SVd6RlVuMW5DbzNEdER1MFVkbXBWOVd4bmZLMytLR0hRdXJoCkZoS1VraHVSc0xSem0xUnUvZVYzbEczcHl5eXRnMU54R21kMndOU1MwSy9EUDY5US9EZGhpWUNRTDJySWdjRmgKZlpNTUM4VWFwWDlKUTNzVGkxWG1aMzMxMGFWRUZqSzFGVHRjWTJaNU84L0ZmTEg2dGRsNmtTK3d3cFhzZnlydwpaRHNlbDRKNVpibGxOaXljUk5zVUpBNDhLNFZ2cUZPTmluZFRBLzQ3VkhMN2NHZW0vcU5vakR6U0R1aC9sc2NyCjFTUXZsZHp5MmcyeUlQUmE4SitlS3ZROEVacXNyUGMvbFdCZ0NUSjBwWTFDOWRVakF3Uy8vdzFtMHdtODVENDAKamltVXNMNzZjb01Ub1hDd3RYR2FaeVBOMllRU2FEcEVsc0FCbzFkbXNLRkJ2MG9naXQzcXFkbnp1TFZabmxYcgpMNjJhSzhDWUJxY3JsQW5RbiszRzdGem9rTStEWWlwTGdJUHpEVHJpbU4ySVBXbWIvdFJ6dnRYZFkrMm8xRGhkCnZEdThmYzdlRmd6ZkJxRmdZWkM5eUhKMGRrby9jcm1JMkxpeW53RnBqTzZSQk9tOHBwVks4OExyeDlsdzE4eGQKTGRGSWRkOCtROEl4cVV0QnNJUmJjalJVVXJSUFdacVc2M0JDU1MrdmNsTml5N0NuTWJFSkdGKy9vZ0ljVWJxTgpvS0NEZzZDRTUvdXJkQ0ZwRzUxMFl6NW9kd3FuUnFnaFRzMTlRL1cyOWJtQlVJclJoTnQrT0YwUWFWZ1VWYUpPCk9qbmIvS1BvSW8rK2RlRmNKN0lkWTg5UURiQVhwSkJCMDk1dGxiR01TcEk1T000cHNjNjRqR3lEV25jQ0F3RUEKQVFLQ0FnRUFqOVpQVm13ZXFucHh0dDkyeEJIRzZTb1c0TlBHTHE2RGdMRjJxVDdlZDZkVTdiVE00TUpya1FQcAphRTZ0UE1mNDJHZmFlR29pN3lDM3hVSlRNTU5xWTlxTjFpdkd5ZmhpYzBsVjZoaDdTOHNJd0VkdU9YMG9tSEdVClBVdGl6YXZUVzVmMTdoNWR2N2dPcVVTUUlsR1U4VDNiLzRtWjVRemcyc29TQSs4alZRaEZsczNlYzdnWWNZZmkKOTJ0Z1JWTjZSRXlOeDlqOHFSWDBnd3Iwc3ozSldNMGdLM2hONDMya0Zvd25mQU9lNXBLVkVkU1plK1R4ckNEYQprQzQ3MGZadHVzNDh3V3crUFZYQ0tUL2ErTTZvV1lmTzQ2QzFpdFlJd1F1dnN1TXVZQ1RQelpSeVRveHZsZDBDCnZacTU5SGVGTWtXYUtFWE5qSTRKMEtUYjh6T2JObDZ0ajhVYnl6eFNKRVlVNWc4ajNNdEFXalRqUzhNWHpsNlgKakN3aEFGNnNUOTFZeW5Mc3Z1RVZSbTBsZHB0UkIwcExHMjgwci94ODhaSFlDR0YwdnI4TGRLei80MDBhdFFMWQprZGI5RUNDa2pPbVdIdmZVVlZPMjZBeVljWnA1b0k0clhYdGlEVHU4V0dVakhzUzBWc3ljZERqRXRBbzlYYndtCnpONGxMQmE5VFdvRDI5TlNmaUdlYTd1bzFlZ0h3WDlXbWdyUU5rdkM5cmJSTTZ6Z2xzbzRkWCtkQW9uaFRNbVMKQmRLYVhybzUrdFVSK09SditFUG5tZHpYb01uaGlibWRZYVZoc0xTY2FsaSs4MmZZdGJGQllCd1RtWHdZL0NzUAoxSW04Vkx2VDZQVkRUZ2Fjc2JMRVRZemhoNmhFMXQ3Y1F6TE83Zk4xbjJURnJjcEhKZGtDZ2dFQkFQS1ptbnBnClB1VWJubi9OK3R5clh2SGYvNUhHTUdwaTUvME56SnJDSG11ZmN4Q2lUVUgyekNqNE50T0VkRGgzaDZrUkFmc2MKc2xLZGZuWTdxM3lDdDdQRFNiaVY0WSttTndsU0pqM3czOGcxSW9YTkJFbG5rak5aM2hYd3FNSDNsMmZ4bDdHSgpwMUNxUWlHcXZQeEFERzVQREtYalFEUm5hRXBQWUVVem5vTjR3ZUlVeFZWTzhUSnNZaS9XTlNhSSsydThqZWtsCm1yMHVaZlhhaFZZcWtYdjM4QkZFSWtZcWtjTHBycWdPQ2JTQi9OTG14RTcyNTM4OFlHM1JHU1doa1d4ZmNYUFQKUmZkblIxcEErYUhrZkNOTFF0K0lGNzl6MzBQUEJjcmdYR0E4ZUhrRisvenhqRHV1SVdGMGMzb0lKbFZBclRjKwprd2dka3BUSk1CNko0d3NDZ2dFQkFOU3pLNkRDdWFLUTh2VUFHbks4ekZsYk8xZHpmQVhJdmtOWW1JVUV1RDQ4ClRtcGZheE96aVRSWEFWbjhZY3lReTdCbnFpRU95cTltYmZBOUhFSUkxS2hxSEV6MzYxUllXS200S1pmOUk0YjUKVTRsVUJ4bjhBaXNqWHk3bldGRnk4dGZwQ21ic1pjaGJxOStBNTAwQm52dEszWkE5SVU4ZWwxNThncXUrdnQrcQpZdjlONVhMcUVhTHNudDY1NU5iU2RZbmhjZGZTRDE1WlptL2dtR2JHVmx5VHUranAxMHkyZFVDQ3VHdzRIOENHClAxOHpBc1c2TjlCNlJCWk1LLzNNSHVkQi9IblJQUUZ5TkgvVFNQbFlFaTFxeWIzTXU3SU94MHdlUXBSMlVtNjcKdHdpTUN2VHNGOUpOSDNEcElHR0djUzliNlFoRVh6a3BTYmZvRVBIc3ljVUNnZ0VCQU45L3hZS0NrczhOdjlycwpqL1dtWjhVYjRWNlNJTjZTR2puVzhhMk5zdXJocmVjZ0wxN2JHTUdSMHlqUXVTV2djVG0vc254K3RvWklGRTZtCnNGajRNSGVMTGFyQllsbXQvcncyazRhekYrZGhsRm1DUkRYQUZqLzZ4aENlYzBxbmFEUlpyYS9oS21TMVJsR3YKODRYTkYrYTBLdW5WVDd3M25Dd0JycVp5Wk5Hb2VhNW9CbGlPYnNWT2RyS3RmSy93dVBoTGNNM2ZXQXg3NTNFMQpqV3VSc2hCc25oMjZFSDFtRUgxcVBmOFRWN3VWbWE5TzdJSDNFOVR6Y2I4YVNUbVMvTi9EbWtqajFteVVHSGM4CnJ2NkgraG1sNTRqNTN5OEJlQ29IV3NYS0p6Qjk1VnRSdVJJU0VtaVZCcW02MS93UDhBalFtZ1B3UVJMVDg4dmgKQWRUUW9Yc0NnZ0VBUmFiS2thRlNrdGF1aU9aWXd0dnFleFJ5RVVnakErM2h5RUg1NkExTW5DeTViUUlFR1hhQQpacUJiTS9GK3dUTmxVRVlTSXpNcDBsaFRoZ2tzK0w3VmpMVDZ3WVdxRFh2RXhRY21yN3ZZWjNtOERrdHk2K0puCmYyTGM1NG9nbE1OMG5KbVdxMitjUVFrcjlrdks4cCttUlJvV0JnYk9vbzhjK0hjRGYyUStNeFlqeHdEbU0wUk4KTkRJU01GTmxpYWR2a0JCQWJIRkFVU0FyZUZWdThyRGVWUUNYMTBURUdUM2lsWlo0K0E5RTdwSEhyTkFTaDFkYwpzYXRvSW5rZEtzWXVGSUs2UDlYeUNVZ3h3dTRZaG5aOXRWdXo1ckJsZ29CdWFSRzdzY3d4WUV1ZU8zRklvVDJ5CjYwNFFEclI0d3hiNGQ0NjhkOVdUN1M4RkVmRXZvMWxzRlFLQ0FRRUFrNmlpMFlmTGkvNnk4TVQ5dDgrZ1FqazYKTkhWZkRzYnc5c1hKWXZWWGswb0tUN1lBTVBmcnlkS0F0akZ5YlBBcGFDS3dPQlpqcFBySGh0Vy9HdkVub3VpRworQkVIM2x2S0NOUzBlQUVUVC8rNzlNTmVRRjBOazZhb2ZGNFRBei8yaWduMTJESXY5c1Y4NFJVc1VMVmw5bHlGCkpmdktLb1E1ZEg4WnhPQW9HVEVRRDhJdG0ra0FqdmppYnM4RFlnREp2VVRGZnFYcUtxOVJTK2VLS1VZWUM3VGYKejRub0Mvb0c3ZlA1cEpna0dlNU1EbFhHb05GUFNXZzJKVzRPbU1YZmV3WW80MmNOQnhsc0ROUXFYSnFSdXAyRwplT2xNaXU2SmRsak9CRFc5RG8xbHhVaG9JOG9SdW5JRVVGdEN5MUdFWHpYaWdOQ21vbE1qQjUveDJYTzFvZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="} - } - ] -} diff --git a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.westeurope.json b/azure/_output/fabricnlp9/kubeconfig/kubeconfig.westeurope.json deleted file mode 100644 index c57b782..0000000 --- a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.westeurope.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "apiVersion": "v1", - "clusters": [ - { - "cluster": { - "certificate-authority-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRVkZsMU1sZDA5L0xUazJRMk5JWG1GREFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1UQXdOREF4TkRaYUZ3MHhPVEV5TVRBd05EQXhORFphTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFzZmxGCmNvZCtwMTB4REdUM2ZXWm12K21OYXRhU2w4MFAzNTkrQ3JFWEY5OHYzaHdsQyt6eGpFRXhpZEdHSkdBcWpIc3QKdFlOREg5aG81bHdSWTROamJKcUJJZ3cvcDZ5RXB5WGg1MVliRFA2dDd6bHp3UVMyRjlJKzJ5aG02TWd3V3dSTQpkTmxHb1pzamFrbFJucTBWbXZ6eVk4WGVCVi84TllRb0QzNE1OdVZXVjZ0R0daeWZpdDFFT3YydCtqTnNLdXBRCm4xRGh4RGJkNE9LT3hvaC9md1hnL0tHU1gwWlRyUUY1eUV4c1VOaFdyQncrQnZ0Q2twdHc2aU1hT1Vhb0tVaDkKczVrTTA3clhCY0xmU2FuZ0FBVHZTMWQzNWZmaENZQmxseGl4Sk11QWFMcFNLaHlzekR2Z1BEV2dnUjcvRVZZUApaSDlMSlgwL20vT25DcFl2eURkUE0zeEhLd0pvbkdYS0tmMW1UTE5GUjE2b0YxU3N6QlZWZFNXc1FSSHNCTkdVCmMyZEYvRjZKaDBEV0JQZ2pINnJDOGhFNWFnQmY1Z09oa1hJVnJwZXo4cGtiUmRTampEbWpXWFkwMjkxY2lIRWUKdXlCWFh6MlVoeEJ6c2Y5QmVFUm5LTTBnQ2xLeEtid0dGTjRlc1djTzBEcEhlNm1YK3pnS3ZvSytIUHlVczhnUApkOU9wMU9zZWRIQ0NKWFl4TlIycWw0OFVBcmpENGYycHYxY2ZFekpORWpjb1FwbXlwSmtwUTRjbUZWMnREdjhhCksrS1NYajJvNEVwN1dJVFBEVWtuU3llN3pPamNPeFNmTG9XeWtldGcyZjZnSWVqemFJUm9XbVNkMlR0OHlwRUwKOVBkcXNKVWljbnkzOXNPcUNLYWxMeTRrdThWZ1FQMHVadDFPYW9FQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFGbU5NblhrCjN6YkhHeFNNRTR0bzJsWWJtQmZ1eGFpYlJhYnJpdExZMnEzUkpXNEhxNUVSZC80bm43TmRLWnZBbEh4ZXV2TTYKS1IxWTV1VGp3YjlZckp0VUI4eDlXR2w5R1RhVzNhZTlRZGR5Y1RHMEh6a1owWGFEcGp4ZExWcmVlWUYvRlBTQwp6djVjanhDUytqa3AzM1dGWm9nT2Z0Sjl1Nk9yKzNZV2NVeFBTV1JLeTZTSmVJN2pnWHlnM1hhZk9FbmI1bFJDCktSRit2dFk4cWhsT21uWnRSM1BaTDdsWGNDZGhqZFpRQ2Z2eTdaWVpmajIwckxJMFZVOWtoTFJVSWt2MDdJd0EKaEwwZkRXRVBnek9oM1JBOE1nMityT0EvUmJBVE45U0hCMEYzZXNpa2V6OUxmei82QjVLTitqRyt1TStEZjFxSwo1QlpSYnc1alNsQU9wZ2dBbzJhbDlBUVFIekdpRDRsQnpscy9wVFRFQXBERVVqempHWjY2WlhucTVrTDBjU0xmCmhwQjNPbDY4cldySVRxRDNSK2dJZDZXRGRWbVN6QXFxYnJVRHNQVXVjNWwvcFB6MWFBSjQrSlh1aFd2MzVXSXgKWTRscy9GY3VORks5bXhUS0dOeFdsWnh6aXpsK0tKenIrT09YaHAzQkhaTFpwRFFudmI4YnptZjRxNmFubGl1SQpsWmlRbEk4UUp6cWRpVEtNYTJ4dkMxTm5TS1ZNNHpISmZFWEliQ1ptMnkxQXNoQkRBSDFoczAyci9wdXlsM3QwCjdKcVQ3Y2VDanZESy9uRjQ3RUZ1c2tzV0dQMUJpRXlONExxbFJWeXB3MFA1MlFsMDJuRHFZbnlzSXZxS051RGIKQkJ2aUN3ajMzUGhCSldlWjNoNlBkaHNObUY2SVEwNjI3MVp4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", - "server": "https://fabricnlp9.westeurope.cloudapp.azure.com" - }, - "name": "fabricnlp9" - } - ], - "contexts": [ - { - "context": { - "cluster": "fabricnlp9", - "user": "fabricnlp9-admin" - }, - "name": "fabricnlp9" - } - ], - "current-context": "fabricnlp9", - "kind": "Config", - "users": [ - { - "name": "fabricnlp9-admin", - "user": {"client-certificate-data":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUw0bWp3MmNCMUp6L3cxa05meXY4SzR3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qRXdNRFF3TVRRNFdoY05NVGt4TWpFd01EUXdNVFE0V2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXlaRCtySURBem51NUlXekZVbjFuQ28zRHREdTAKVWRtcFY5V3huZkszK0tHSFF1cmhGaEtVa2h1UnNMUnptMVJ1L2VWM2xHM3B5eXl0ZzFOeEdtZDJ3TlNTMEsvRApQNjlRL0RkaGlZQ1FMMnJJZ2NGaGZaTU1DOFVhcFg5SlEzc1RpMVhtWjMzMTBhVkVGaksxRlR0Y1kyWjVPOC9GCmZMSDZ0ZGw2a1Mrd3dwWHNmeXJ3WkRzZWw0SjVaYmxsTml5Y1JOc1VKQTQ4SzRWdnFGT05pbmRUQS80N1ZITDcKY0dlbS9xTm9qRHpTRHVoL2xzY3IxU1F2bGR6eTJnMnlJUFJhOEorZUt2UThFWnFzclBjL2xXQmdDVEowcFkxQwo5ZFVqQXdTLy93MW0wd204NUQ0MGppbVVzTDc2Y29NVG9YQ3d0WEdhWnlQTjJZUVNhRHBFbHNBQm8xZG1zS0ZCCnYwb2dpdDNxcWRuenVMVlpubFhyTDYyYUs4Q1lCcWNybEFuUW4rM0c3Rnpva00rRFlpcExnSVB6RFRyaW1OMkkKUFdtYi90Unp2dFhkWSsybzFEaGR2RHU4ZmM3ZUZnemZCcUZnWVpDOXlISjBka28vY3JtSTJMaXlud0Zwak82UgpCT204cHBWSzg4THJ4OWx3MTh4ZExkRklkZDgrUThJeHFVdEJzSVJiY2pSVVVyUlBXWnFXNjNCQ1NTK3ZjbE5pCnk3Q25NYkVKR0YrL29nSWNVYnFOb0tDRGc2Q0U1L3VyZENGcEc1MTBZejVvZHdxblJxZ2hUczE5US9XMjlibUIKVUlyUmhOdCtPRjBRYVZnVVZhSk9Pam5iL0tQb0lvKytkZUZjSjdJZFk4OVFEYkFYcEpCQjA5NXRsYkdNU3BJNQpPTTRwc2M2NGpHeURXbmNDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVkRGpmTkYKY0RXeHdaMm02YnB3TmdIUkVTdk80WVhhSng2WjlKbDRIeGhFMTJJOFpYSWdWemQ1ZHFmTk54SEkvODFXWHdsLwo3RmdESjBmKy9Ca2xaeEtDeWVpd2dwOHQvRDBLdFQ2Ny9ndTM0QnAxWEpVMnJoRkczREZhR2ZLUlRZVzZlUXFnCnFORHpaSFpKY0JuUEI1WjdxVkVPOGlBSk5PSzJqZDNXcGQycnhuUWJBU0hpbXVIc04vUVEvU084ekpNSEZZVCsKZ0lNM0NCR0gzUVQ3d1JSa3hxWEhkOVgrTkVtZ2pmL1laUm1GTDMrR3hGc0NZczhzcmQ5LzBCOXRoUDBBTDhzRApWNk1ybGVBVXZVdE41dUJQR1BDSW1raVA2d2xNZDdyamhmaUhWZTNyWEFvTmZwWitGZ3g5OUJuVHBMUXFhYTZMCldJQzNNbXpJZmVHZTNuZExHODE0Vi81YU9XeE53VzEvZFAzMThlK0d2dENHeUNSYUdBNnRsTThkdGtJU1licmgKYjJWVWlneEI5OGVMS0pTdU8rSDdZRENLbGRXWnpYeU9WODNYZWswVlZpWDl1TVRyWVQ0TU14M1ZTd2xBSXc3Vgp2eW5Ub2ViQlc2OERnV0FXMjRoR1FDVmd2WHpnUDBJdlpsUlhmMGZXRWpKWklQdHFnbnp3bVpmbkF1WkhKcGNZCjc2eUVJMTM1WXh5d1VPOGR5SEJsMEFIcldvZWZsY0ZtNjloRk9zZk1SdGxVTUhDeVhWdHFwRXp3dFYvVWZBVU0KaEp0L2pvREJTQUE1cHFud0I2SCtpNkpYOGlUcGt4SEt4UnNWaE5CQVRkelN5MERPejhPVm01cllKWnlqQlhRbApXL3ZOUDVlTGVwdk9xUm4zRFBqdy92SkFHMGl6d09MVTZVWUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=","client-key-data":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeVpEK3JJREF6bnU1SVd6RlVuMW5DbzNEdER1MFVkbXBWOVd4bmZLMytLR0hRdXJoCkZoS1VraHVSc0xSem0xUnUvZVYzbEczcHl5eXRnMU54R21kMndOU1MwSy9EUDY5US9EZGhpWUNRTDJySWdjRmgKZlpNTUM4VWFwWDlKUTNzVGkxWG1aMzMxMGFWRUZqSzFGVHRjWTJaNU84L0ZmTEg2dGRsNmtTK3d3cFhzZnlydwpaRHNlbDRKNVpibGxOaXljUk5zVUpBNDhLNFZ2cUZPTmluZFRBLzQ3VkhMN2NHZW0vcU5vakR6U0R1aC9sc2NyCjFTUXZsZHp5MmcyeUlQUmE4SitlS3ZROEVacXNyUGMvbFdCZ0NUSjBwWTFDOWRVakF3Uy8vdzFtMHdtODVENDAKamltVXNMNzZjb01Ub1hDd3RYR2FaeVBOMllRU2FEcEVsc0FCbzFkbXNLRkJ2MG9naXQzcXFkbnp1TFZabmxYcgpMNjJhSzhDWUJxY3JsQW5RbiszRzdGem9rTStEWWlwTGdJUHpEVHJpbU4ySVBXbWIvdFJ6dnRYZFkrMm8xRGhkCnZEdThmYzdlRmd6ZkJxRmdZWkM5eUhKMGRrby9jcm1JMkxpeW53RnBqTzZSQk9tOHBwVks4OExyeDlsdzE4eGQKTGRGSWRkOCtROEl4cVV0QnNJUmJjalJVVXJSUFdacVc2M0JDU1MrdmNsTml5N0NuTWJFSkdGKy9vZ0ljVWJxTgpvS0NEZzZDRTUvdXJkQ0ZwRzUxMFl6NW9kd3FuUnFnaFRzMTlRL1cyOWJtQlVJclJoTnQrT0YwUWFWZ1VWYUpPCk9qbmIvS1BvSW8rK2RlRmNKN0lkWTg5UURiQVhwSkJCMDk1dGxiR01TcEk1T000cHNjNjRqR3lEV25jQ0F3RUEKQVFLQ0FnRUFqOVpQVm13ZXFucHh0dDkyeEJIRzZTb1c0TlBHTHE2RGdMRjJxVDdlZDZkVTdiVE00TUpya1FQcAphRTZ0UE1mNDJHZmFlR29pN3lDM3hVSlRNTU5xWTlxTjFpdkd5ZmhpYzBsVjZoaDdTOHNJd0VkdU9YMG9tSEdVClBVdGl6YXZUVzVmMTdoNWR2N2dPcVVTUUlsR1U4VDNiLzRtWjVRemcyc29TQSs4alZRaEZsczNlYzdnWWNZZmkKOTJ0Z1JWTjZSRXlOeDlqOHFSWDBnd3Iwc3ozSldNMGdLM2hONDMya0Zvd25mQU9lNXBLVkVkU1plK1R4ckNEYQprQzQ3MGZadHVzNDh3V3crUFZYQ0tUL2ErTTZvV1lmTzQ2QzFpdFlJd1F1dnN1TXVZQ1RQelpSeVRveHZsZDBDCnZacTU5SGVGTWtXYUtFWE5qSTRKMEtUYjh6T2JObDZ0ajhVYnl6eFNKRVlVNWc4ajNNdEFXalRqUzhNWHpsNlgKakN3aEFGNnNUOTFZeW5Mc3Z1RVZSbTBsZHB0UkIwcExHMjgwci94ODhaSFlDR0YwdnI4TGRLei80MDBhdFFMWQprZGI5RUNDa2pPbVdIdmZVVlZPMjZBeVljWnA1b0k0clhYdGlEVHU4V0dVakhzUzBWc3ljZERqRXRBbzlYYndtCnpONGxMQmE5VFdvRDI5TlNmaUdlYTd1bzFlZ0h3WDlXbWdyUU5rdkM5cmJSTTZ6Z2xzbzRkWCtkQW9uaFRNbVMKQmRLYVhybzUrdFVSK09SditFUG5tZHpYb01uaGlibWRZYVZoc0xTY2FsaSs4MmZZdGJGQllCd1RtWHdZL0NzUAoxSW04Vkx2VDZQVkRUZ2Fjc2JMRVRZemhoNmhFMXQ3Y1F6TE83Zk4xbjJURnJjcEhKZGtDZ2dFQkFQS1ptbnBnClB1VWJubi9OK3R5clh2SGYvNUhHTUdwaTUvME56SnJDSG11ZmN4Q2lUVUgyekNqNE50T0VkRGgzaDZrUkFmc2MKc2xLZGZuWTdxM3lDdDdQRFNiaVY0WSttTndsU0pqM3czOGcxSW9YTkJFbG5rak5aM2hYd3FNSDNsMmZ4bDdHSgpwMUNxUWlHcXZQeEFERzVQREtYalFEUm5hRXBQWUVVem5vTjR3ZUlVeFZWTzhUSnNZaS9XTlNhSSsydThqZWtsCm1yMHVaZlhhaFZZcWtYdjM4QkZFSWtZcWtjTHBycWdPQ2JTQi9OTG14RTcyNTM4OFlHM1JHU1doa1d4ZmNYUFQKUmZkblIxcEErYUhrZkNOTFF0K0lGNzl6MzBQUEJjcmdYR0E4ZUhrRisvenhqRHV1SVdGMGMzb0lKbFZBclRjKwprd2dka3BUSk1CNko0d3NDZ2dFQkFOU3pLNkRDdWFLUTh2VUFHbks4ekZsYk8xZHpmQVhJdmtOWW1JVUV1RDQ4ClRtcGZheE96aVRSWEFWbjhZY3lReTdCbnFpRU95cTltYmZBOUhFSUkxS2hxSEV6MzYxUllXS200S1pmOUk0YjUKVTRsVUJ4bjhBaXNqWHk3bldGRnk4dGZwQ21ic1pjaGJxOStBNTAwQm52dEszWkE5SVU4ZWwxNThncXUrdnQrcQpZdjlONVhMcUVhTHNudDY1NU5iU2RZbmhjZGZTRDE1WlptL2dtR2JHVmx5VHUranAxMHkyZFVDQ3VHdzRIOENHClAxOHpBc1c2TjlCNlJCWk1LLzNNSHVkQi9IblJQUUZ5TkgvVFNQbFlFaTFxeWIzTXU3SU94MHdlUXBSMlVtNjcKdHdpTUN2VHNGOUpOSDNEcElHR0djUzliNlFoRVh6a3BTYmZvRVBIc3ljVUNnZ0VCQU45L3hZS0NrczhOdjlycwpqL1dtWjhVYjRWNlNJTjZTR2puVzhhMk5zdXJocmVjZ0wxN2JHTUdSMHlqUXVTV2djVG0vc254K3RvWklGRTZtCnNGajRNSGVMTGFyQllsbXQvcncyazRhekYrZGhsRm1DUkRYQUZqLzZ4aENlYzBxbmFEUlpyYS9oS21TMVJsR3YKODRYTkYrYTBLdW5WVDd3M25Dd0JycVp5Wk5Hb2VhNW9CbGlPYnNWT2RyS3RmSy93dVBoTGNNM2ZXQXg3NTNFMQpqV3VSc2hCc25oMjZFSDFtRUgxcVBmOFRWN3VWbWE5TzdJSDNFOVR6Y2I4YVNUbVMvTi9EbWtqajFteVVHSGM4CnJ2NkgraG1sNTRqNTN5OEJlQ29IV3NYS0p6Qjk1VnRSdVJJU0VtaVZCcW02MS93UDhBalFtZ1B3UVJMVDg4dmgKQWRUUW9Yc0NnZ0VBUmFiS2thRlNrdGF1aU9aWXd0dnFleFJ5RVVnakErM2h5RUg1NkExTW5DeTViUUlFR1hhQQpacUJiTS9GK3dUTmxVRVlTSXpNcDBsaFRoZ2tzK0w3VmpMVDZ3WVdxRFh2RXhRY21yN3ZZWjNtOERrdHk2K0puCmYyTGM1NG9nbE1OMG5KbVdxMitjUVFrcjlrdks4cCttUlJvV0JnYk9vbzhjK0hjRGYyUStNeFlqeHdEbU0wUk4KTkRJU01GTmxpYWR2a0JCQWJIRkFVU0FyZUZWdThyRGVWUUNYMTBURUdUM2lsWlo0K0E5RTdwSEhyTkFTaDFkYwpzYXRvSW5rZEtzWXVGSUs2UDlYeUNVZ3h3dTRZaG5aOXRWdXo1ckJsZ29CdWFSRzdzY3d4WUV1ZU8zRklvVDJ5CjYwNFFEclI0d3hiNGQ0NjhkOVdUN1M4RkVmRXZvMWxzRlFLQ0FRRUFrNmlpMFlmTGkvNnk4TVQ5dDgrZ1FqazYKTkhWZkRzYnc5c1hKWXZWWGswb0tUN1lBTVBmcnlkS0F0akZ5YlBBcGFDS3dPQlpqcFBySGh0Vy9HdkVub3VpRworQkVIM2x2S0NOUzBlQUVUVC8rNzlNTmVRRjBOazZhb2ZGNFRBei8yaWduMTJESXY5c1Y4NFJVc1VMVmw5bHlGCkpmdktLb1E1ZEg4WnhPQW9HVEVRRDhJdG0ra0FqdmppYnM4RFlnREp2VVRGZnFYcUtxOVJTK2VLS1VZWUM3VGYKejRub0Mvb0c3ZlA1cEpna0dlNU1EbFhHb05GUFNXZzJKVzRPbU1YZmV3WW80MmNOQnhsc0ROUXFYSnFSdXAyRwplT2xNaXU2SmRsak9CRFc5RG8xbHhVaG9JOG9SdW5JRVVGdEN5MUdFWHpYaWdOQ21vbE1qQjUveDJYTzFvZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="} - } - ] -} diff --git a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.westindia.json b/azure/_output/fabricnlp9/kubeconfig/kubeconfig.westindia.json deleted file mode 100644 index d0958ca..0000000 --- a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.westindia.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "apiVersion": "v1", - "clusters": [ - { - "cluster": { - "certificate-authority-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRVkZsMU1sZDA5L0xUazJRMk5JWG1GREFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1UQXdOREF4TkRaYUZ3MHhPVEV5TVRBd05EQXhORFphTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFzZmxGCmNvZCtwMTB4REdUM2ZXWm12K21OYXRhU2w4MFAzNTkrQ3JFWEY5OHYzaHdsQyt6eGpFRXhpZEdHSkdBcWpIc3QKdFlOREg5aG81bHdSWTROamJKcUJJZ3cvcDZ5RXB5WGg1MVliRFA2dDd6bHp3UVMyRjlJKzJ5aG02TWd3V3dSTQpkTmxHb1pzamFrbFJucTBWbXZ6eVk4WGVCVi84TllRb0QzNE1OdVZXVjZ0R0daeWZpdDFFT3YydCtqTnNLdXBRCm4xRGh4RGJkNE9LT3hvaC9md1hnL0tHU1gwWlRyUUY1eUV4c1VOaFdyQncrQnZ0Q2twdHc2aU1hT1Vhb0tVaDkKczVrTTA3clhCY0xmU2FuZ0FBVHZTMWQzNWZmaENZQmxseGl4Sk11QWFMcFNLaHlzekR2Z1BEV2dnUjcvRVZZUApaSDlMSlgwL20vT25DcFl2eURkUE0zeEhLd0pvbkdYS0tmMW1UTE5GUjE2b0YxU3N6QlZWZFNXc1FSSHNCTkdVCmMyZEYvRjZKaDBEV0JQZ2pINnJDOGhFNWFnQmY1Z09oa1hJVnJwZXo4cGtiUmRTampEbWpXWFkwMjkxY2lIRWUKdXlCWFh6MlVoeEJ6c2Y5QmVFUm5LTTBnQ2xLeEtid0dGTjRlc1djTzBEcEhlNm1YK3pnS3ZvSytIUHlVczhnUApkOU9wMU9zZWRIQ0NKWFl4TlIycWw0OFVBcmpENGYycHYxY2ZFekpORWpjb1FwbXlwSmtwUTRjbUZWMnREdjhhCksrS1NYajJvNEVwN1dJVFBEVWtuU3llN3pPamNPeFNmTG9XeWtldGcyZjZnSWVqemFJUm9XbVNkMlR0OHlwRUwKOVBkcXNKVWljbnkzOXNPcUNLYWxMeTRrdThWZ1FQMHVadDFPYW9FQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFGbU5NblhrCjN6YkhHeFNNRTR0bzJsWWJtQmZ1eGFpYlJhYnJpdExZMnEzUkpXNEhxNUVSZC80bm43TmRLWnZBbEh4ZXV2TTYKS1IxWTV1VGp3YjlZckp0VUI4eDlXR2w5R1RhVzNhZTlRZGR5Y1RHMEh6a1owWGFEcGp4ZExWcmVlWUYvRlBTQwp6djVjanhDUytqa3AzM1dGWm9nT2Z0Sjl1Nk9yKzNZV2NVeFBTV1JLeTZTSmVJN2pnWHlnM1hhZk9FbmI1bFJDCktSRit2dFk4cWhsT21uWnRSM1BaTDdsWGNDZGhqZFpRQ2Z2eTdaWVpmajIwckxJMFZVOWtoTFJVSWt2MDdJd0EKaEwwZkRXRVBnek9oM1JBOE1nMityT0EvUmJBVE45U0hCMEYzZXNpa2V6OUxmei82QjVLTitqRyt1TStEZjFxSwo1QlpSYnc1alNsQU9wZ2dBbzJhbDlBUVFIekdpRDRsQnpscy9wVFRFQXBERVVqempHWjY2WlhucTVrTDBjU0xmCmhwQjNPbDY4cldySVRxRDNSK2dJZDZXRGRWbVN6QXFxYnJVRHNQVXVjNWwvcFB6MWFBSjQrSlh1aFd2MzVXSXgKWTRscy9GY3VORks5bXhUS0dOeFdsWnh6aXpsK0tKenIrT09YaHAzQkhaTFpwRFFudmI4YnptZjRxNmFubGl1SQpsWmlRbEk4UUp6cWRpVEtNYTJ4dkMxTm5TS1ZNNHpISmZFWEliQ1ptMnkxQXNoQkRBSDFoczAyci9wdXlsM3QwCjdKcVQ3Y2VDanZESy9uRjQ3RUZ1c2tzV0dQMUJpRXlONExxbFJWeXB3MFA1MlFsMDJuRHFZbnlzSXZxS051RGIKQkJ2aUN3ajMzUGhCSldlWjNoNlBkaHNObUY2SVEwNjI3MVp4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", - "server": "https://fabricnlp9.westindia.cloudapp.azure.com" - }, - "name": "fabricnlp9" - } - ], - "contexts": [ - { - "context": { - "cluster": "fabricnlp9", - "user": "fabricnlp9-admin" - }, - "name": "fabricnlp9" - } - ], - "current-context": "fabricnlp9", - "kind": "Config", - "users": [ - { - "name": "fabricnlp9-admin", - "user": {"client-certificate-data":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUw0bWp3MmNCMUp6L3cxa05meXY4SzR3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qRXdNRFF3TVRRNFdoY05NVGt4TWpFd01EUXdNVFE0V2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXlaRCtySURBem51NUlXekZVbjFuQ28zRHREdTAKVWRtcFY5V3huZkszK0tHSFF1cmhGaEtVa2h1UnNMUnptMVJ1L2VWM2xHM3B5eXl0ZzFOeEdtZDJ3TlNTMEsvRApQNjlRL0RkaGlZQ1FMMnJJZ2NGaGZaTU1DOFVhcFg5SlEzc1RpMVhtWjMzMTBhVkVGaksxRlR0Y1kyWjVPOC9GCmZMSDZ0ZGw2a1Mrd3dwWHNmeXJ3WkRzZWw0SjVaYmxsTml5Y1JOc1VKQTQ4SzRWdnFGT05pbmRUQS80N1ZITDcKY0dlbS9xTm9qRHpTRHVoL2xzY3IxU1F2bGR6eTJnMnlJUFJhOEorZUt2UThFWnFzclBjL2xXQmdDVEowcFkxQwo5ZFVqQXdTLy93MW0wd204NUQ0MGppbVVzTDc2Y29NVG9YQ3d0WEdhWnlQTjJZUVNhRHBFbHNBQm8xZG1zS0ZCCnYwb2dpdDNxcWRuenVMVlpubFhyTDYyYUs4Q1lCcWNybEFuUW4rM0c3Rnpva00rRFlpcExnSVB6RFRyaW1OMkkKUFdtYi90Unp2dFhkWSsybzFEaGR2RHU4ZmM3ZUZnemZCcUZnWVpDOXlISjBka28vY3JtSTJMaXlud0Zwak82UgpCT204cHBWSzg4THJ4OWx3MTh4ZExkRklkZDgrUThJeHFVdEJzSVJiY2pSVVVyUlBXWnFXNjNCQ1NTK3ZjbE5pCnk3Q25NYkVKR0YrL29nSWNVYnFOb0tDRGc2Q0U1L3VyZENGcEc1MTBZejVvZHdxblJxZ2hUczE5US9XMjlibUIKVUlyUmhOdCtPRjBRYVZnVVZhSk9Pam5iL0tQb0lvKytkZUZjSjdJZFk4OVFEYkFYcEpCQjA5NXRsYkdNU3BJNQpPTTRwc2M2NGpHeURXbmNDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVkRGpmTkYKY0RXeHdaMm02YnB3TmdIUkVTdk80WVhhSng2WjlKbDRIeGhFMTJJOFpYSWdWemQ1ZHFmTk54SEkvODFXWHdsLwo3RmdESjBmKy9Ca2xaeEtDeWVpd2dwOHQvRDBLdFQ2Ny9ndTM0QnAxWEpVMnJoRkczREZhR2ZLUlRZVzZlUXFnCnFORHpaSFpKY0JuUEI1WjdxVkVPOGlBSk5PSzJqZDNXcGQycnhuUWJBU0hpbXVIc04vUVEvU084ekpNSEZZVCsKZ0lNM0NCR0gzUVQ3d1JSa3hxWEhkOVgrTkVtZ2pmL1laUm1GTDMrR3hGc0NZczhzcmQ5LzBCOXRoUDBBTDhzRApWNk1ybGVBVXZVdE41dUJQR1BDSW1raVA2d2xNZDdyamhmaUhWZTNyWEFvTmZwWitGZ3g5OUJuVHBMUXFhYTZMCldJQzNNbXpJZmVHZTNuZExHODE0Vi81YU9XeE53VzEvZFAzMThlK0d2dENHeUNSYUdBNnRsTThkdGtJU1licmgKYjJWVWlneEI5OGVMS0pTdU8rSDdZRENLbGRXWnpYeU9WODNYZWswVlZpWDl1TVRyWVQ0TU14M1ZTd2xBSXc3Vgp2eW5Ub2ViQlc2OERnV0FXMjRoR1FDVmd2WHpnUDBJdlpsUlhmMGZXRWpKWklQdHFnbnp3bVpmbkF1WkhKcGNZCjc2eUVJMTM1WXh5d1VPOGR5SEJsMEFIcldvZWZsY0ZtNjloRk9zZk1SdGxVTUhDeVhWdHFwRXp3dFYvVWZBVU0KaEp0L2pvREJTQUE1cHFud0I2SCtpNkpYOGlUcGt4SEt4UnNWaE5CQVRkelN5MERPejhPVm01cllKWnlqQlhRbApXL3ZOUDVlTGVwdk9xUm4zRFBqdy92SkFHMGl6d09MVTZVWUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=","client-key-data":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeVpEK3JJREF6bnU1SVd6RlVuMW5DbzNEdER1MFVkbXBWOVd4bmZLMytLR0hRdXJoCkZoS1VraHVSc0xSem0xUnUvZVYzbEczcHl5eXRnMU54R21kMndOU1MwSy9EUDY5US9EZGhpWUNRTDJySWdjRmgKZlpNTUM4VWFwWDlKUTNzVGkxWG1aMzMxMGFWRUZqSzFGVHRjWTJaNU84L0ZmTEg2dGRsNmtTK3d3cFhzZnlydwpaRHNlbDRKNVpibGxOaXljUk5zVUpBNDhLNFZ2cUZPTmluZFRBLzQ3VkhMN2NHZW0vcU5vakR6U0R1aC9sc2NyCjFTUXZsZHp5MmcyeUlQUmE4SitlS3ZROEVacXNyUGMvbFdCZ0NUSjBwWTFDOWRVakF3Uy8vdzFtMHdtODVENDAKamltVXNMNzZjb01Ub1hDd3RYR2FaeVBOMllRU2FEcEVsc0FCbzFkbXNLRkJ2MG9naXQzcXFkbnp1TFZabmxYcgpMNjJhSzhDWUJxY3JsQW5RbiszRzdGem9rTStEWWlwTGdJUHpEVHJpbU4ySVBXbWIvdFJ6dnRYZFkrMm8xRGhkCnZEdThmYzdlRmd6ZkJxRmdZWkM5eUhKMGRrby9jcm1JMkxpeW53RnBqTzZSQk9tOHBwVks4OExyeDlsdzE4eGQKTGRGSWRkOCtROEl4cVV0QnNJUmJjalJVVXJSUFdacVc2M0JDU1MrdmNsTml5N0NuTWJFSkdGKy9vZ0ljVWJxTgpvS0NEZzZDRTUvdXJkQ0ZwRzUxMFl6NW9kd3FuUnFnaFRzMTlRL1cyOWJtQlVJclJoTnQrT0YwUWFWZ1VWYUpPCk9qbmIvS1BvSW8rK2RlRmNKN0lkWTg5UURiQVhwSkJCMDk1dGxiR01TcEk1T000cHNjNjRqR3lEV25jQ0F3RUEKQVFLQ0FnRUFqOVpQVm13ZXFucHh0dDkyeEJIRzZTb1c0TlBHTHE2RGdMRjJxVDdlZDZkVTdiVE00TUpya1FQcAphRTZ0UE1mNDJHZmFlR29pN3lDM3hVSlRNTU5xWTlxTjFpdkd5ZmhpYzBsVjZoaDdTOHNJd0VkdU9YMG9tSEdVClBVdGl6YXZUVzVmMTdoNWR2N2dPcVVTUUlsR1U4VDNiLzRtWjVRemcyc29TQSs4alZRaEZsczNlYzdnWWNZZmkKOTJ0Z1JWTjZSRXlOeDlqOHFSWDBnd3Iwc3ozSldNMGdLM2hONDMya0Zvd25mQU9lNXBLVkVkU1plK1R4ckNEYQprQzQ3MGZadHVzNDh3V3crUFZYQ0tUL2ErTTZvV1lmTzQ2QzFpdFlJd1F1dnN1TXVZQ1RQelpSeVRveHZsZDBDCnZacTU5SGVGTWtXYUtFWE5qSTRKMEtUYjh6T2JObDZ0ajhVYnl6eFNKRVlVNWc4ajNNdEFXalRqUzhNWHpsNlgKakN3aEFGNnNUOTFZeW5Mc3Z1RVZSbTBsZHB0UkIwcExHMjgwci94ODhaSFlDR0YwdnI4TGRLei80MDBhdFFMWQprZGI5RUNDa2pPbVdIdmZVVlZPMjZBeVljWnA1b0k0clhYdGlEVHU4V0dVakhzUzBWc3ljZERqRXRBbzlYYndtCnpONGxMQmE5VFdvRDI5TlNmaUdlYTd1bzFlZ0h3WDlXbWdyUU5rdkM5cmJSTTZ6Z2xzbzRkWCtkQW9uaFRNbVMKQmRLYVhybzUrdFVSK09SditFUG5tZHpYb01uaGlibWRZYVZoc0xTY2FsaSs4MmZZdGJGQllCd1RtWHdZL0NzUAoxSW04Vkx2VDZQVkRUZ2Fjc2JMRVRZemhoNmhFMXQ3Y1F6TE83Zk4xbjJURnJjcEhKZGtDZ2dFQkFQS1ptbnBnClB1VWJubi9OK3R5clh2SGYvNUhHTUdwaTUvME56SnJDSG11ZmN4Q2lUVUgyekNqNE50T0VkRGgzaDZrUkFmc2MKc2xLZGZuWTdxM3lDdDdQRFNiaVY0WSttTndsU0pqM3czOGcxSW9YTkJFbG5rak5aM2hYd3FNSDNsMmZ4bDdHSgpwMUNxUWlHcXZQeEFERzVQREtYalFEUm5hRXBQWUVVem5vTjR3ZUlVeFZWTzhUSnNZaS9XTlNhSSsydThqZWtsCm1yMHVaZlhhaFZZcWtYdjM4QkZFSWtZcWtjTHBycWdPQ2JTQi9OTG14RTcyNTM4OFlHM1JHU1doa1d4ZmNYUFQKUmZkblIxcEErYUhrZkNOTFF0K0lGNzl6MzBQUEJjcmdYR0E4ZUhrRisvenhqRHV1SVdGMGMzb0lKbFZBclRjKwprd2dka3BUSk1CNko0d3NDZ2dFQkFOU3pLNkRDdWFLUTh2VUFHbks4ekZsYk8xZHpmQVhJdmtOWW1JVUV1RDQ4ClRtcGZheE96aVRSWEFWbjhZY3lReTdCbnFpRU95cTltYmZBOUhFSUkxS2hxSEV6MzYxUllXS200S1pmOUk0YjUKVTRsVUJ4bjhBaXNqWHk3bldGRnk4dGZwQ21ic1pjaGJxOStBNTAwQm52dEszWkE5SVU4ZWwxNThncXUrdnQrcQpZdjlONVhMcUVhTHNudDY1NU5iU2RZbmhjZGZTRDE1WlptL2dtR2JHVmx5VHUranAxMHkyZFVDQ3VHdzRIOENHClAxOHpBc1c2TjlCNlJCWk1LLzNNSHVkQi9IblJQUUZ5TkgvVFNQbFlFaTFxeWIzTXU3SU94MHdlUXBSMlVtNjcKdHdpTUN2VHNGOUpOSDNEcElHR0djUzliNlFoRVh6a3BTYmZvRVBIc3ljVUNnZ0VCQU45L3hZS0NrczhOdjlycwpqL1dtWjhVYjRWNlNJTjZTR2puVzhhMk5zdXJocmVjZ0wxN2JHTUdSMHlqUXVTV2djVG0vc254K3RvWklGRTZtCnNGajRNSGVMTGFyQllsbXQvcncyazRhekYrZGhsRm1DUkRYQUZqLzZ4aENlYzBxbmFEUlpyYS9oS21TMVJsR3YKODRYTkYrYTBLdW5WVDd3M25Dd0JycVp5Wk5Hb2VhNW9CbGlPYnNWT2RyS3RmSy93dVBoTGNNM2ZXQXg3NTNFMQpqV3VSc2hCc25oMjZFSDFtRUgxcVBmOFRWN3VWbWE5TzdJSDNFOVR6Y2I4YVNUbVMvTi9EbWtqajFteVVHSGM4CnJ2NkgraG1sNTRqNTN5OEJlQ29IV3NYS0p6Qjk1VnRSdVJJU0VtaVZCcW02MS93UDhBalFtZ1B3UVJMVDg4dmgKQWRUUW9Yc0NnZ0VBUmFiS2thRlNrdGF1aU9aWXd0dnFleFJ5RVVnakErM2h5RUg1NkExTW5DeTViUUlFR1hhQQpacUJiTS9GK3dUTmxVRVlTSXpNcDBsaFRoZ2tzK0w3VmpMVDZ3WVdxRFh2RXhRY21yN3ZZWjNtOERrdHk2K0puCmYyTGM1NG9nbE1OMG5KbVdxMitjUVFrcjlrdks4cCttUlJvV0JnYk9vbzhjK0hjRGYyUStNeFlqeHdEbU0wUk4KTkRJU01GTmxpYWR2a0JCQWJIRkFVU0FyZUZWdThyRGVWUUNYMTBURUdUM2lsWlo0K0E5RTdwSEhyTkFTaDFkYwpzYXRvSW5rZEtzWXVGSUs2UDlYeUNVZ3h3dTRZaG5aOXRWdXo1ckJsZ29CdWFSRzdzY3d4WUV1ZU8zRklvVDJ5CjYwNFFEclI0d3hiNGQ0NjhkOVdUN1M4RkVmRXZvMWxzRlFLQ0FRRUFrNmlpMFlmTGkvNnk4TVQ5dDgrZ1FqazYKTkhWZkRzYnc5c1hKWXZWWGswb0tUN1lBTVBmcnlkS0F0akZ5YlBBcGFDS3dPQlpqcFBySGh0Vy9HdkVub3VpRworQkVIM2x2S0NOUzBlQUVUVC8rNzlNTmVRRjBOazZhb2ZGNFRBei8yaWduMTJESXY5c1Y4NFJVc1VMVmw5bHlGCkpmdktLb1E1ZEg4WnhPQW9HVEVRRDhJdG0ra0FqdmppYnM4RFlnREp2VVRGZnFYcUtxOVJTK2VLS1VZWUM3VGYKejRub0Mvb0c3ZlA1cEpna0dlNU1EbFhHb05GUFNXZzJKVzRPbU1YZmV3WW80MmNOQnhsc0ROUXFYSnFSdXAyRwplT2xNaXU2SmRsak9CRFc5RG8xbHhVaG9JOG9SdW5JRVVGdEN5MUdFWHpYaWdOQ21vbE1qQjUveDJYTzFvZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="} - } - ] -} diff --git a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.westus.json b/azure/_output/fabricnlp9/kubeconfig/kubeconfig.westus.json deleted file mode 100644 index 3e3cf42..0000000 --- a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.westus.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "apiVersion": "v1", - "clusters": [ - { - "cluster": { - "certificate-authority-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRVkZsMU1sZDA5L0xUazJRMk5JWG1GREFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1UQXdOREF4TkRaYUZ3MHhPVEV5TVRBd05EQXhORFphTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFzZmxGCmNvZCtwMTB4REdUM2ZXWm12K21OYXRhU2w4MFAzNTkrQ3JFWEY5OHYzaHdsQyt6eGpFRXhpZEdHSkdBcWpIc3QKdFlOREg5aG81bHdSWTROamJKcUJJZ3cvcDZ5RXB5WGg1MVliRFA2dDd6bHp3UVMyRjlJKzJ5aG02TWd3V3dSTQpkTmxHb1pzamFrbFJucTBWbXZ6eVk4WGVCVi84TllRb0QzNE1OdVZXVjZ0R0daeWZpdDFFT3YydCtqTnNLdXBRCm4xRGh4RGJkNE9LT3hvaC9md1hnL0tHU1gwWlRyUUY1eUV4c1VOaFdyQncrQnZ0Q2twdHc2aU1hT1Vhb0tVaDkKczVrTTA3clhCY0xmU2FuZ0FBVHZTMWQzNWZmaENZQmxseGl4Sk11QWFMcFNLaHlzekR2Z1BEV2dnUjcvRVZZUApaSDlMSlgwL20vT25DcFl2eURkUE0zeEhLd0pvbkdYS0tmMW1UTE5GUjE2b0YxU3N6QlZWZFNXc1FSSHNCTkdVCmMyZEYvRjZKaDBEV0JQZ2pINnJDOGhFNWFnQmY1Z09oa1hJVnJwZXo4cGtiUmRTampEbWpXWFkwMjkxY2lIRWUKdXlCWFh6MlVoeEJ6c2Y5QmVFUm5LTTBnQ2xLeEtid0dGTjRlc1djTzBEcEhlNm1YK3pnS3ZvSytIUHlVczhnUApkOU9wMU9zZWRIQ0NKWFl4TlIycWw0OFVBcmpENGYycHYxY2ZFekpORWpjb1FwbXlwSmtwUTRjbUZWMnREdjhhCksrS1NYajJvNEVwN1dJVFBEVWtuU3llN3pPamNPeFNmTG9XeWtldGcyZjZnSWVqemFJUm9XbVNkMlR0OHlwRUwKOVBkcXNKVWljbnkzOXNPcUNLYWxMeTRrdThWZ1FQMHVadDFPYW9FQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFGbU5NblhrCjN6YkhHeFNNRTR0bzJsWWJtQmZ1eGFpYlJhYnJpdExZMnEzUkpXNEhxNUVSZC80bm43TmRLWnZBbEh4ZXV2TTYKS1IxWTV1VGp3YjlZckp0VUI4eDlXR2w5R1RhVzNhZTlRZGR5Y1RHMEh6a1owWGFEcGp4ZExWcmVlWUYvRlBTQwp6djVjanhDUytqa3AzM1dGWm9nT2Z0Sjl1Nk9yKzNZV2NVeFBTV1JLeTZTSmVJN2pnWHlnM1hhZk9FbmI1bFJDCktSRit2dFk4cWhsT21uWnRSM1BaTDdsWGNDZGhqZFpRQ2Z2eTdaWVpmajIwckxJMFZVOWtoTFJVSWt2MDdJd0EKaEwwZkRXRVBnek9oM1JBOE1nMityT0EvUmJBVE45U0hCMEYzZXNpa2V6OUxmei82QjVLTitqRyt1TStEZjFxSwo1QlpSYnc1alNsQU9wZ2dBbzJhbDlBUVFIekdpRDRsQnpscy9wVFRFQXBERVVqempHWjY2WlhucTVrTDBjU0xmCmhwQjNPbDY4cldySVRxRDNSK2dJZDZXRGRWbVN6QXFxYnJVRHNQVXVjNWwvcFB6MWFBSjQrSlh1aFd2MzVXSXgKWTRscy9GY3VORks5bXhUS0dOeFdsWnh6aXpsK0tKenIrT09YaHAzQkhaTFpwRFFudmI4YnptZjRxNmFubGl1SQpsWmlRbEk4UUp6cWRpVEtNYTJ4dkMxTm5TS1ZNNHpISmZFWEliQ1ptMnkxQXNoQkRBSDFoczAyci9wdXlsM3QwCjdKcVQ3Y2VDanZESy9uRjQ3RUZ1c2tzV0dQMUJpRXlONExxbFJWeXB3MFA1MlFsMDJuRHFZbnlzSXZxS051RGIKQkJ2aUN3ajMzUGhCSldlWjNoNlBkaHNObUY2SVEwNjI3MVp4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", - "server": "https://fabricnlp9.westus.cloudapp.azure.com" - }, - "name": "fabricnlp9" - } - ], - "contexts": [ - { - "context": { - "cluster": "fabricnlp9", - "user": "fabricnlp9-admin" - }, - "name": "fabricnlp9" - } - ], - "current-context": "fabricnlp9", - "kind": "Config", - "users": [ - { - "name": "fabricnlp9-admin", - "user": {"client-certificate-data":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUw0bWp3MmNCMUp6L3cxa05meXY4SzR3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qRXdNRFF3TVRRNFdoY05NVGt4TWpFd01EUXdNVFE0V2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXlaRCtySURBem51NUlXekZVbjFuQ28zRHREdTAKVWRtcFY5V3huZkszK0tHSFF1cmhGaEtVa2h1UnNMUnptMVJ1L2VWM2xHM3B5eXl0ZzFOeEdtZDJ3TlNTMEsvRApQNjlRL0RkaGlZQ1FMMnJJZ2NGaGZaTU1DOFVhcFg5SlEzc1RpMVhtWjMzMTBhVkVGaksxRlR0Y1kyWjVPOC9GCmZMSDZ0ZGw2a1Mrd3dwWHNmeXJ3WkRzZWw0SjVaYmxsTml5Y1JOc1VKQTQ4SzRWdnFGT05pbmRUQS80N1ZITDcKY0dlbS9xTm9qRHpTRHVoL2xzY3IxU1F2bGR6eTJnMnlJUFJhOEorZUt2UThFWnFzclBjL2xXQmdDVEowcFkxQwo5ZFVqQXdTLy93MW0wd204NUQ0MGppbVVzTDc2Y29NVG9YQ3d0WEdhWnlQTjJZUVNhRHBFbHNBQm8xZG1zS0ZCCnYwb2dpdDNxcWRuenVMVlpubFhyTDYyYUs4Q1lCcWNybEFuUW4rM0c3Rnpva00rRFlpcExnSVB6RFRyaW1OMkkKUFdtYi90Unp2dFhkWSsybzFEaGR2RHU4ZmM3ZUZnemZCcUZnWVpDOXlISjBka28vY3JtSTJMaXlud0Zwak82UgpCT204cHBWSzg4THJ4OWx3MTh4ZExkRklkZDgrUThJeHFVdEJzSVJiY2pSVVVyUlBXWnFXNjNCQ1NTK3ZjbE5pCnk3Q25NYkVKR0YrL29nSWNVYnFOb0tDRGc2Q0U1L3VyZENGcEc1MTBZejVvZHdxblJxZ2hUczE5US9XMjlibUIKVUlyUmhOdCtPRjBRYVZnVVZhSk9Pam5iL0tQb0lvKytkZUZjSjdJZFk4OVFEYkFYcEpCQjA5NXRsYkdNU3BJNQpPTTRwc2M2NGpHeURXbmNDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVkRGpmTkYKY0RXeHdaMm02YnB3TmdIUkVTdk80WVhhSng2WjlKbDRIeGhFMTJJOFpYSWdWemQ1ZHFmTk54SEkvODFXWHdsLwo3RmdESjBmKy9Ca2xaeEtDeWVpd2dwOHQvRDBLdFQ2Ny9ndTM0QnAxWEpVMnJoRkczREZhR2ZLUlRZVzZlUXFnCnFORHpaSFpKY0JuUEI1WjdxVkVPOGlBSk5PSzJqZDNXcGQycnhuUWJBU0hpbXVIc04vUVEvU084ekpNSEZZVCsKZ0lNM0NCR0gzUVQ3d1JSa3hxWEhkOVgrTkVtZ2pmL1laUm1GTDMrR3hGc0NZczhzcmQ5LzBCOXRoUDBBTDhzRApWNk1ybGVBVXZVdE41dUJQR1BDSW1raVA2d2xNZDdyamhmaUhWZTNyWEFvTmZwWitGZ3g5OUJuVHBMUXFhYTZMCldJQzNNbXpJZmVHZTNuZExHODE0Vi81YU9XeE53VzEvZFAzMThlK0d2dENHeUNSYUdBNnRsTThkdGtJU1licmgKYjJWVWlneEI5OGVMS0pTdU8rSDdZRENLbGRXWnpYeU9WODNYZWswVlZpWDl1TVRyWVQ0TU14M1ZTd2xBSXc3Vgp2eW5Ub2ViQlc2OERnV0FXMjRoR1FDVmd2WHpnUDBJdlpsUlhmMGZXRWpKWklQdHFnbnp3bVpmbkF1WkhKcGNZCjc2eUVJMTM1WXh5d1VPOGR5SEJsMEFIcldvZWZsY0ZtNjloRk9zZk1SdGxVTUhDeVhWdHFwRXp3dFYvVWZBVU0KaEp0L2pvREJTQUE1cHFud0I2SCtpNkpYOGlUcGt4SEt4UnNWaE5CQVRkelN5MERPejhPVm01cllKWnlqQlhRbApXL3ZOUDVlTGVwdk9xUm4zRFBqdy92SkFHMGl6d09MVTZVWUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=","client-key-data":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeVpEK3JJREF6bnU1SVd6RlVuMW5DbzNEdER1MFVkbXBWOVd4bmZLMytLR0hRdXJoCkZoS1VraHVSc0xSem0xUnUvZVYzbEczcHl5eXRnMU54R21kMndOU1MwSy9EUDY5US9EZGhpWUNRTDJySWdjRmgKZlpNTUM4VWFwWDlKUTNzVGkxWG1aMzMxMGFWRUZqSzFGVHRjWTJaNU84L0ZmTEg2dGRsNmtTK3d3cFhzZnlydwpaRHNlbDRKNVpibGxOaXljUk5zVUpBNDhLNFZ2cUZPTmluZFRBLzQ3VkhMN2NHZW0vcU5vakR6U0R1aC9sc2NyCjFTUXZsZHp5MmcyeUlQUmE4SitlS3ZROEVacXNyUGMvbFdCZ0NUSjBwWTFDOWRVakF3Uy8vdzFtMHdtODVENDAKamltVXNMNzZjb01Ub1hDd3RYR2FaeVBOMllRU2FEcEVsc0FCbzFkbXNLRkJ2MG9naXQzcXFkbnp1TFZabmxYcgpMNjJhSzhDWUJxY3JsQW5RbiszRzdGem9rTStEWWlwTGdJUHpEVHJpbU4ySVBXbWIvdFJ6dnRYZFkrMm8xRGhkCnZEdThmYzdlRmd6ZkJxRmdZWkM5eUhKMGRrby9jcm1JMkxpeW53RnBqTzZSQk9tOHBwVks4OExyeDlsdzE4eGQKTGRGSWRkOCtROEl4cVV0QnNJUmJjalJVVXJSUFdacVc2M0JDU1MrdmNsTml5N0NuTWJFSkdGKy9vZ0ljVWJxTgpvS0NEZzZDRTUvdXJkQ0ZwRzUxMFl6NW9kd3FuUnFnaFRzMTlRL1cyOWJtQlVJclJoTnQrT0YwUWFWZ1VWYUpPCk9qbmIvS1BvSW8rK2RlRmNKN0lkWTg5UURiQVhwSkJCMDk1dGxiR01TcEk1T000cHNjNjRqR3lEV25jQ0F3RUEKQVFLQ0FnRUFqOVpQVm13ZXFucHh0dDkyeEJIRzZTb1c0TlBHTHE2RGdMRjJxVDdlZDZkVTdiVE00TUpya1FQcAphRTZ0UE1mNDJHZmFlR29pN3lDM3hVSlRNTU5xWTlxTjFpdkd5ZmhpYzBsVjZoaDdTOHNJd0VkdU9YMG9tSEdVClBVdGl6YXZUVzVmMTdoNWR2N2dPcVVTUUlsR1U4VDNiLzRtWjVRemcyc29TQSs4alZRaEZsczNlYzdnWWNZZmkKOTJ0Z1JWTjZSRXlOeDlqOHFSWDBnd3Iwc3ozSldNMGdLM2hONDMya0Zvd25mQU9lNXBLVkVkU1plK1R4ckNEYQprQzQ3MGZadHVzNDh3V3crUFZYQ0tUL2ErTTZvV1lmTzQ2QzFpdFlJd1F1dnN1TXVZQ1RQelpSeVRveHZsZDBDCnZacTU5SGVGTWtXYUtFWE5qSTRKMEtUYjh6T2JObDZ0ajhVYnl6eFNKRVlVNWc4ajNNdEFXalRqUzhNWHpsNlgKakN3aEFGNnNUOTFZeW5Mc3Z1RVZSbTBsZHB0UkIwcExHMjgwci94ODhaSFlDR0YwdnI4TGRLei80MDBhdFFMWQprZGI5RUNDa2pPbVdIdmZVVlZPMjZBeVljWnA1b0k0clhYdGlEVHU4V0dVakhzUzBWc3ljZERqRXRBbzlYYndtCnpONGxMQmE5VFdvRDI5TlNmaUdlYTd1bzFlZ0h3WDlXbWdyUU5rdkM5cmJSTTZ6Z2xzbzRkWCtkQW9uaFRNbVMKQmRLYVhybzUrdFVSK09SditFUG5tZHpYb01uaGlibWRZYVZoc0xTY2FsaSs4MmZZdGJGQllCd1RtWHdZL0NzUAoxSW04Vkx2VDZQVkRUZ2Fjc2JMRVRZemhoNmhFMXQ3Y1F6TE83Zk4xbjJURnJjcEhKZGtDZ2dFQkFQS1ptbnBnClB1VWJubi9OK3R5clh2SGYvNUhHTUdwaTUvME56SnJDSG11ZmN4Q2lUVUgyekNqNE50T0VkRGgzaDZrUkFmc2MKc2xLZGZuWTdxM3lDdDdQRFNiaVY0WSttTndsU0pqM3czOGcxSW9YTkJFbG5rak5aM2hYd3FNSDNsMmZ4bDdHSgpwMUNxUWlHcXZQeEFERzVQREtYalFEUm5hRXBQWUVVem5vTjR3ZUlVeFZWTzhUSnNZaS9XTlNhSSsydThqZWtsCm1yMHVaZlhhaFZZcWtYdjM4QkZFSWtZcWtjTHBycWdPQ2JTQi9OTG14RTcyNTM4OFlHM1JHU1doa1d4ZmNYUFQKUmZkblIxcEErYUhrZkNOTFF0K0lGNzl6MzBQUEJjcmdYR0E4ZUhrRisvenhqRHV1SVdGMGMzb0lKbFZBclRjKwprd2dka3BUSk1CNko0d3NDZ2dFQkFOU3pLNkRDdWFLUTh2VUFHbks4ekZsYk8xZHpmQVhJdmtOWW1JVUV1RDQ4ClRtcGZheE96aVRSWEFWbjhZY3lReTdCbnFpRU95cTltYmZBOUhFSUkxS2hxSEV6MzYxUllXS200S1pmOUk0YjUKVTRsVUJ4bjhBaXNqWHk3bldGRnk4dGZwQ21ic1pjaGJxOStBNTAwQm52dEszWkE5SVU4ZWwxNThncXUrdnQrcQpZdjlONVhMcUVhTHNudDY1NU5iU2RZbmhjZGZTRDE1WlptL2dtR2JHVmx5VHUranAxMHkyZFVDQ3VHdzRIOENHClAxOHpBc1c2TjlCNlJCWk1LLzNNSHVkQi9IblJQUUZ5TkgvVFNQbFlFaTFxeWIzTXU3SU94MHdlUXBSMlVtNjcKdHdpTUN2VHNGOUpOSDNEcElHR0djUzliNlFoRVh6a3BTYmZvRVBIc3ljVUNnZ0VCQU45L3hZS0NrczhOdjlycwpqL1dtWjhVYjRWNlNJTjZTR2puVzhhMk5zdXJocmVjZ0wxN2JHTUdSMHlqUXVTV2djVG0vc254K3RvWklGRTZtCnNGajRNSGVMTGFyQllsbXQvcncyazRhekYrZGhsRm1DUkRYQUZqLzZ4aENlYzBxbmFEUlpyYS9oS21TMVJsR3YKODRYTkYrYTBLdW5WVDd3M25Dd0JycVp5Wk5Hb2VhNW9CbGlPYnNWT2RyS3RmSy93dVBoTGNNM2ZXQXg3NTNFMQpqV3VSc2hCc25oMjZFSDFtRUgxcVBmOFRWN3VWbWE5TzdJSDNFOVR6Y2I4YVNUbVMvTi9EbWtqajFteVVHSGM4CnJ2NkgraG1sNTRqNTN5OEJlQ29IV3NYS0p6Qjk1VnRSdVJJU0VtaVZCcW02MS93UDhBalFtZ1B3UVJMVDg4dmgKQWRUUW9Yc0NnZ0VBUmFiS2thRlNrdGF1aU9aWXd0dnFleFJ5RVVnakErM2h5RUg1NkExTW5DeTViUUlFR1hhQQpacUJiTS9GK3dUTmxVRVlTSXpNcDBsaFRoZ2tzK0w3VmpMVDZ3WVdxRFh2RXhRY21yN3ZZWjNtOERrdHk2K0puCmYyTGM1NG9nbE1OMG5KbVdxMitjUVFrcjlrdks4cCttUlJvV0JnYk9vbzhjK0hjRGYyUStNeFlqeHdEbU0wUk4KTkRJU01GTmxpYWR2a0JCQWJIRkFVU0FyZUZWdThyRGVWUUNYMTBURUdUM2lsWlo0K0E5RTdwSEhyTkFTaDFkYwpzYXRvSW5rZEtzWXVGSUs2UDlYeUNVZ3h3dTRZaG5aOXRWdXo1ckJsZ29CdWFSRzdzY3d4WUV1ZU8zRklvVDJ5CjYwNFFEclI0d3hiNGQ0NjhkOVdUN1M4RkVmRXZvMWxzRlFLQ0FRRUFrNmlpMFlmTGkvNnk4TVQ5dDgrZ1FqazYKTkhWZkRzYnc5c1hKWXZWWGswb0tUN1lBTVBmcnlkS0F0akZ5YlBBcGFDS3dPQlpqcFBySGh0Vy9HdkVub3VpRworQkVIM2x2S0NOUzBlQUVUVC8rNzlNTmVRRjBOazZhb2ZGNFRBei8yaWduMTJESXY5c1Y4NFJVc1VMVmw5bHlGCkpmdktLb1E1ZEg4WnhPQW9HVEVRRDhJdG0ra0FqdmppYnM4RFlnREp2VVRGZnFYcUtxOVJTK2VLS1VZWUM3VGYKejRub0Mvb0c3ZlA1cEpna0dlNU1EbFhHb05GUFNXZzJKVzRPbU1YZmV3WW80MmNOQnhsc0ROUXFYSnFSdXAyRwplT2xNaXU2SmRsak9CRFc5RG8xbHhVaG9JOG9SdW5JRVVGdEN5MUdFWHpYaWdOQ21vbE1qQjUveDJYTzFvZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="} - } - ] -} diff --git a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.westus2.json b/azure/_output/fabricnlp9/kubeconfig/kubeconfig.westus2.json deleted file mode 100644 index 34ff9e3..0000000 --- a/azure/_output/fabricnlp9/kubeconfig/kubeconfig.westus2.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "apiVersion": "v1", - "clusters": [ - { - "cluster": { - "certificate-authority-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRVkZsMU1sZDA5L0xUazJRMk5JWG1GREFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1UQXdOREF4TkRaYUZ3MHhPVEV5TVRBd05EQXhORFphTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFzZmxGCmNvZCtwMTB4REdUM2ZXWm12K21OYXRhU2w4MFAzNTkrQ3JFWEY5OHYzaHdsQyt6eGpFRXhpZEdHSkdBcWpIc3QKdFlOREg5aG81bHdSWTROamJKcUJJZ3cvcDZ5RXB5WGg1MVliRFA2dDd6bHp3UVMyRjlJKzJ5aG02TWd3V3dSTQpkTmxHb1pzamFrbFJucTBWbXZ6eVk4WGVCVi84TllRb0QzNE1OdVZXVjZ0R0daeWZpdDFFT3YydCtqTnNLdXBRCm4xRGh4RGJkNE9LT3hvaC9md1hnL0tHU1gwWlRyUUY1eUV4c1VOaFdyQncrQnZ0Q2twdHc2aU1hT1Vhb0tVaDkKczVrTTA3clhCY0xmU2FuZ0FBVHZTMWQzNWZmaENZQmxseGl4Sk11QWFMcFNLaHlzekR2Z1BEV2dnUjcvRVZZUApaSDlMSlgwL20vT25DcFl2eURkUE0zeEhLd0pvbkdYS0tmMW1UTE5GUjE2b0YxU3N6QlZWZFNXc1FSSHNCTkdVCmMyZEYvRjZKaDBEV0JQZ2pINnJDOGhFNWFnQmY1Z09oa1hJVnJwZXo4cGtiUmRTampEbWpXWFkwMjkxY2lIRWUKdXlCWFh6MlVoeEJ6c2Y5QmVFUm5LTTBnQ2xLeEtid0dGTjRlc1djTzBEcEhlNm1YK3pnS3ZvSytIUHlVczhnUApkOU9wMU9zZWRIQ0NKWFl4TlIycWw0OFVBcmpENGYycHYxY2ZFekpORWpjb1FwbXlwSmtwUTRjbUZWMnREdjhhCksrS1NYajJvNEVwN1dJVFBEVWtuU3llN3pPamNPeFNmTG9XeWtldGcyZjZnSWVqemFJUm9XbVNkMlR0OHlwRUwKOVBkcXNKVWljbnkzOXNPcUNLYWxMeTRrdThWZ1FQMHVadDFPYW9FQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFGbU5NblhrCjN6YkhHeFNNRTR0bzJsWWJtQmZ1eGFpYlJhYnJpdExZMnEzUkpXNEhxNUVSZC80bm43TmRLWnZBbEh4ZXV2TTYKS1IxWTV1VGp3YjlZckp0VUI4eDlXR2w5R1RhVzNhZTlRZGR5Y1RHMEh6a1owWGFEcGp4ZExWcmVlWUYvRlBTQwp6djVjanhDUytqa3AzM1dGWm9nT2Z0Sjl1Nk9yKzNZV2NVeFBTV1JLeTZTSmVJN2pnWHlnM1hhZk9FbmI1bFJDCktSRit2dFk4cWhsT21uWnRSM1BaTDdsWGNDZGhqZFpRQ2Z2eTdaWVpmajIwckxJMFZVOWtoTFJVSWt2MDdJd0EKaEwwZkRXRVBnek9oM1JBOE1nMityT0EvUmJBVE45U0hCMEYzZXNpa2V6OUxmei82QjVLTitqRyt1TStEZjFxSwo1QlpSYnc1alNsQU9wZ2dBbzJhbDlBUVFIekdpRDRsQnpscy9wVFRFQXBERVVqempHWjY2WlhucTVrTDBjU0xmCmhwQjNPbDY4cldySVRxRDNSK2dJZDZXRGRWbVN6QXFxYnJVRHNQVXVjNWwvcFB6MWFBSjQrSlh1aFd2MzVXSXgKWTRscy9GY3VORks5bXhUS0dOeFdsWnh6aXpsK0tKenIrT09YaHAzQkhaTFpwRFFudmI4YnptZjRxNmFubGl1SQpsWmlRbEk4UUp6cWRpVEtNYTJ4dkMxTm5TS1ZNNHpISmZFWEliQ1ptMnkxQXNoQkRBSDFoczAyci9wdXlsM3QwCjdKcVQ3Y2VDanZESy9uRjQ3RUZ1c2tzV0dQMUJpRXlONExxbFJWeXB3MFA1MlFsMDJuRHFZbnlzSXZxS051RGIKQkJ2aUN3ajMzUGhCSldlWjNoNlBkaHNObUY2SVEwNjI3MVp4Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", - "server": "https://fabricnlp9.westus2.cloudapp.azure.com" - }, - "name": "fabricnlp9" - } - ], - "contexts": [ - { - "context": { - "cluster": "fabricnlp9", - "user": "fabricnlp9-admin" - }, - "name": "fabricnlp9" - } - ], - "current-context": "fabricnlp9", - "kind": "Config", - "users": [ - { - "name": "fabricnlp9-admin", - "user": {"client-certificate-data":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUw0bWp3MmNCMUp6L3cxa05meXY4SzR3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qRXdNRFF3TVRRNFdoY05NVGt4TWpFd01EUXdNVFE0V2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXlaRCtySURBem51NUlXekZVbjFuQ28zRHREdTAKVWRtcFY5V3huZkszK0tHSFF1cmhGaEtVa2h1UnNMUnptMVJ1L2VWM2xHM3B5eXl0ZzFOeEdtZDJ3TlNTMEsvRApQNjlRL0RkaGlZQ1FMMnJJZ2NGaGZaTU1DOFVhcFg5SlEzc1RpMVhtWjMzMTBhVkVGaksxRlR0Y1kyWjVPOC9GCmZMSDZ0ZGw2a1Mrd3dwWHNmeXJ3WkRzZWw0SjVaYmxsTml5Y1JOc1VKQTQ4SzRWdnFGT05pbmRUQS80N1ZITDcKY0dlbS9xTm9qRHpTRHVoL2xzY3IxU1F2bGR6eTJnMnlJUFJhOEorZUt2UThFWnFzclBjL2xXQmdDVEowcFkxQwo5ZFVqQXdTLy93MW0wd204NUQ0MGppbVVzTDc2Y29NVG9YQ3d0WEdhWnlQTjJZUVNhRHBFbHNBQm8xZG1zS0ZCCnYwb2dpdDNxcWRuenVMVlpubFhyTDYyYUs4Q1lCcWNybEFuUW4rM0c3Rnpva00rRFlpcExnSVB6RFRyaW1OMkkKUFdtYi90Unp2dFhkWSsybzFEaGR2RHU4ZmM3ZUZnemZCcUZnWVpDOXlISjBka28vY3JtSTJMaXlud0Zwak82UgpCT204cHBWSzg4THJ4OWx3MTh4ZExkRklkZDgrUThJeHFVdEJzSVJiY2pSVVVyUlBXWnFXNjNCQ1NTK3ZjbE5pCnk3Q25NYkVKR0YrL29nSWNVYnFOb0tDRGc2Q0U1L3VyZENGcEc1MTBZejVvZHdxblJxZ2hUczE5US9XMjlibUIKVUlyUmhOdCtPRjBRYVZnVVZhSk9Pam5iL0tQb0lvKytkZUZjSjdJZFk4OVFEYkFYcEpCQjA5NXRsYkdNU3BJNQpPTTRwc2M2NGpHeURXbmNDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVkRGpmTkYKY0RXeHdaMm02YnB3TmdIUkVTdk80WVhhSng2WjlKbDRIeGhFMTJJOFpYSWdWemQ1ZHFmTk54SEkvODFXWHdsLwo3RmdESjBmKy9Ca2xaeEtDeWVpd2dwOHQvRDBLdFQ2Ny9ndTM0QnAxWEpVMnJoRkczREZhR2ZLUlRZVzZlUXFnCnFORHpaSFpKY0JuUEI1WjdxVkVPOGlBSk5PSzJqZDNXcGQycnhuUWJBU0hpbXVIc04vUVEvU084ekpNSEZZVCsKZ0lNM0NCR0gzUVQ3d1JSa3hxWEhkOVgrTkVtZ2pmL1laUm1GTDMrR3hGc0NZczhzcmQ5LzBCOXRoUDBBTDhzRApWNk1ybGVBVXZVdE41dUJQR1BDSW1raVA2d2xNZDdyamhmaUhWZTNyWEFvTmZwWitGZ3g5OUJuVHBMUXFhYTZMCldJQzNNbXpJZmVHZTNuZExHODE0Vi81YU9XeE53VzEvZFAzMThlK0d2dENHeUNSYUdBNnRsTThkdGtJU1licmgKYjJWVWlneEI5OGVMS0pTdU8rSDdZRENLbGRXWnpYeU9WODNYZWswVlZpWDl1TVRyWVQ0TU14M1ZTd2xBSXc3Vgp2eW5Ub2ViQlc2OERnV0FXMjRoR1FDVmd2WHpnUDBJdlpsUlhmMGZXRWpKWklQdHFnbnp3bVpmbkF1WkhKcGNZCjc2eUVJMTM1WXh5d1VPOGR5SEJsMEFIcldvZWZsY0ZtNjloRk9zZk1SdGxVTUhDeVhWdHFwRXp3dFYvVWZBVU0KaEp0L2pvREJTQUE1cHFud0I2SCtpNkpYOGlUcGt4SEt4UnNWaE5CQVRkelN5MERPejhPVm01cllKWnlqQlhRbApXL3ZOUDVlTGVwdk9xUm4zRFBqdy92SkFHMGl6d09MVTZVWUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=","client-key-data":"LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBeVpEK3JJREF6bnU1SVd6RlVuMW5DbzNEdER1MFVkbXBWOVd4bmZLMytLR0hRdXJoCkZoS1VraHVSc0xSem0xUnUvZVYzbEczcHl5eXRnMU54R21kMndOU1MwSy9EUDY5US9EZGhpWUNRTDJySWdjRmgKZlpNTUM4VWFwWDlKUTNzVGkxWG1aMzMxMGFWRUZqSzFGVHRjWTJaNU84L0ZmTEg2dGRsNmtTK3d3cFhzZnlydwpaRHNlbDRKNVpibGxOaXljUk5zVUpBNDhLNFZ2cUZPTmluZFRBLzQ3VkhMN2NHZW0vcU5vakR6U0R1aC9sc2NyCjFTUXZsZHp5MmcyeUlQUmE4SitlS3ZROEVacXNyUGMvbFdCZ0NUSjBwWTFDOWRVakF3Uy8vdzFtMHdtODVENDAKamltVXNMNzZjb01Ub1hDd3RYR2FaeVBOMllRU2FEcEVsc0FCbzFkbXNLRkJ2MG9naXQzcXFkbnp1TFZabmxYcgpMNjJhSzhDWUJxY3JsQW5RbiszRzdGem9rTStEWWlwTGdJUHpEVHJpbU4ySVBXbWIvdFJ6dnRYZFkrMm8xRGhkCnZEdThmYzdlRmd6ZkJxRmdZWkM5eUhKMGRrby9jcm1JMkxpeW53RnBqTzZSQk9tOHBwVks4OExyeDlsdzE4eGQKTGRGSWRkOCtROEl4cVV0QnNJUmJjalJVVXJSUFdacVc2M0JDU1MrdmNsTml5N0NuTWJFSkdGKy9vZ0ljVWJxTgpvS0NEZzZDRTUvdXJkQ0ZwRzUxMFl6NW9kd3FuUnFnaFRzMTlRL1cyOWJtQlVJclJoTnQrT0YwUWFWZ1VWYUpPCk9qbmIvS1BvSW8rK2RlRmNKN0lkWTg5UURiQVhwSkJCMDk1dGxiR01TcEk1T000cHNjNjRqR3lEV25jQ0F3RUEKQVFLQ0FnRUFqOVpQVm13ZXFucHh0dDkyeEJIRzZTb1c0TlBHTHE2RGdMRjJxVDdlZDZkVTdiVE00TUpya1FQcAphRTZ0UE1mNDJHZmFlR29pN3lDM3hVSlRNTU5xWTlxTjFpdkd5ZmhpYzBsVjZoaDdTOHNJd0VkdU9YMG9tSEdVClBVdGl6YXZUVzVmMTdoNWR2N2dPcVVTUUlsR1U4VDNiLzRtWjVRemcyc29TQSs4alZRaEZsczNlYzdnWWNZZmkKOTJ0Z1JWTjZSRXlOeDlqOHFSWDBnd3Iwc3ozSldNMGdLM2hONDMya0Zvd25mQU9lNXBLVkVkU1plK1R4ckNEYQprQzQ3MGZadHVzNDh3V3crUFZYQ0tUL2ErTTZvV1lmTzQ2QzFpdFlJd1F1dnN1TXVZQ1RQelpSeVRveHZsZDBDCnZacTU5SGVGTWtXYUtFWE5qSTRKMEtUYjh6T2JObDZ0ajhVYnl6eFNKRVlVNWc4ajNNdEFXalRqUzhNWHpsNlgKakN3aEFGNnNUOTFZeW5Mc3Z1RVZSbTBsZHB0UkIwcExHMjgwci94ODhaSFlDR0YwdnI4TGRLei80MDBhdFFMWQprZGI5RUNDa2pPbVdIdmZVVlZPMjZBeVljWnA1b0k0clhYdGlEVHU4V0dVakhzUzBWc3ljZERqRXRBbzlYYndtCnpONGxMQmE5VFdvRDI5TlNmaUdlYTd1bzFlZ0h3WDlXbWdyUU5rdkM5cmJSTTZ6Z2xzbzRkWCtkQW9uaFRNbVMKQmRLYVhybzUrdFVSK09SditFUG5tZHpYb01uaGlibWRZYVZoc0xTY2FsaSs4MmZZdGJGQllCd1RtWHdZL0NzUAoxSW04Vkx2VDZQVkRUZ2Fjc2JMRVRZemhoNmhFMXQ3Y1F6TE83Zk4xbjJURnJjcEhKZGtDZ2dFQkFQS1ptbnBnClB1VWJubi9OK3R5clh2SGYvNUhHTUdwaTUvME56SnJDSG11ZmN4Q2lUVUgyekNqNE50T0VkRGgzaDZrUkFmc2MKc2xLZGZuWTdxM3lDdDdQRFNiaVY0WSttTndsU0pqM3czOGcxSW9YTkJFbG5rak5aM2hYd3FNSDNsMmZ4bDdHSgpwMUNxUWlHcXZQeEFERzVQREtYalFEUm5hRXBQWUVVem5vTjR3ZUlVeFZWTzhUSnNZaS9XTlNhSSsydThqZWtsCm1yMHVaZlhhaFZZcWtYdjM4QkZFSWtZcWtjTHBycWdPQ2JTQi9OTG14RTcyNTM4OFlHM1JHU1doa1d4ZmNYUFQKUmZkblIxcEErYUhrZkNOTFF0K0lGNzl6MzBQUEJjcmdYR0E4ZUhrRisvenhqRHV1SVdGMGMzb0lKbFZBclRjKwprd2dka3BUSk1CNko0d3NDZ2dFQkFOU3pLNkRDdWFLUTh2VUFHbks4ekZsYk8xZHpmQVhJdmtOWW1JVUV1RDQ4ClRtcGZheE96aVRSWEFWbjhZY3lReTdCbnFpRU95cTltYmZBOUhFSUkxS2hxSEV6MzYxUllXS200S1pmOUk0YjUKVTRsVUJ4bjhBaXNqWHk3bldGRnk4dGZwQ21ic1pjaGJxOStBNTAwQm52dEszWkE5SVU4ZWwxNThncXUrdnQrcQpZdjlONVhMcUVhTHNudDY1NU5iU2RZbmhjZGZTRDE1WlptL2dtR2JHVmx5VHUranAxMHkyZFVDQ3VHdzRIOENHClAxOHpBc1c2TjlCNlJCWk1LLzNNSHVkQi9IblJQUUZ5TkgvVFNQbFlFaTFxeWIzTXU3SU94MHdlUXBSMlVtNjcKdHdpTUN2VHNGOUpOSDNEcElHR0djUzliNlFoRVh6a3BTYmZvRVBIc3ljVUNnZ0VCQU45L3hZS0NrczhOdjlycwpqL1dtWjhVYjRWNlNJTjZTR2puVzhhMk5zdXJocmVjZ0wxN2JHTUdSMHlqUXVTV2djVG0vc254K3RvWklGRTZtCnNGajRNSGVMTGFyQllsbXQvcncyazRhekYrZGhsRm1DUkRYQUZqLzZ4aENlYzBxbmFEUlpyYS9oS21TMVJsR3YKODRYTkYrYTBLdW5WVDd3M25Dd0JycVp5Wk5Hb2VhNW9CbGlPYnNWT2RyS3RmSy93dVBoTGNNM2ZXQXg3NTNFMQpqV3VSc2hCc25oMjZFSDFtRUgxcVBmOFRWN3VWbWE5TzdJSDNFOVR6Y2I4YVNUbVMvTi9EbWtqajFteVVHSGM4CnJ2NkgraG1sNTRqNTN5OEJlQ29IV3NYS0p6Qjk1VnRSdVJJU0VtaVZCcW02MS93UDhBalFtZ1B3UVJMVDg4dmgKQWRUUW9Yc0NnZ0VBUmFiS2thRlNrdGF1aU9aWXd0dnFleFJ5RVVnakErM2h5RUg1NkExTW5DeTViUUlFR1hhQQpacUJiTS9GK3dUTmxVRVlTSXpNcDBsaFRoZ2tzK0w3VmpMVDZ3WVdxRFh2RXhRY21yN3ZZWjNtOERrdHk2K0puCmYyTGM1NG9nbE1OMG5KbVdxMitjUVFrcjlrdks4cCttUlJvV0JnYk9vbzhjK0hjRGYyUStNeFlqeHdEbU0wUk4KTkRJU01GTmxpYWR2a0JCQWJIRkFVU0FyZUZWdThyRGVWUUNYMTBURUdUM2lsWlo0K0E5RTdwSEhyTkFTaDFkYwpzYXRvSW5rZEtzWXVGSUs2UDlYeUNVZ3h3dTRZaG5aOXRWdXo1ckJsZ29CdWFSRzdzY3d4WUV1ZU8zRklvVDJ5CjYwNFFEclI0d3hiNGQ0NjhkOVdUN1M4RkVmRXZvMWxzRlFLQ0FRRUFrNmlpMFlmTGkvNnk4TVQ5dDgrZ1FqazYKTkhWZkRzYnc5c1hKWXZWWGswb0tUN1lBTVBmcnlkS0F0akZ5YlBBcGFDS3dPQlpqcFBySGh0Vy9HdkVub3VpRworQkVIM2x2S0NOUzBlQUVUVC8rNzlNTmVRRjBOazZhb2ZGNFRBei8yaWduMTJESXY5c1Y4NFJVc1VMVmw5bHlGCkpmdktLb1E1ZEg4WnhPQW9HVEVRRDhJdG0ra0FqdmppYnM4RFlnREp2VVRGZnFYcUtxOVJTK2VLS1VZWUM3VGYKejRub0Mvb0c3ZlA1cEpna0dlNU1EbFhHb05GUFNXZzJKVzRPbU1YZmV3WW80MmNOQnhsc0ROUXFYSnFSdXAyRwplT2xNaXU2SmRsak9CRFc5RG8xbHhVaG9JOG9SdW5JRVVGdEN5MUdFWHpYaWdOQ21vbE1qQjUveDJYTzFvZz09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="} - } - ] -} diff --git a/azure/_output/fabricnlp9/kubectlClient.crt b/azure/_output/fabricnlp9/kubectlClient.crt deleted file mode 100644 index 51f7918..0000000 --- a/azure/_output/fabricnlp9/kubectlClient.crt +++ /dev/null @@ -1,29 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIE9zCCAt+gAwIBAgIRAL4mjw2cB1Jz/w1kNfyv8K4wDQYJKoZIhvcNAQELBQAw -DTELMAkGA1UEAxMCY2EwHhcNMTcxMjEwMDQwMTQ4WhcNMTkxMjEwMDQwMTQ4WjAq -MRcwFQYDVQQKEw5zeXN0ZW06bWFzdGVyczEPMA0GA1UEAxMGY2xpZW50MIICIjAN -BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAyZD+rIDAznu5IWzFUn1nCo3DtDu0 -UdmpV9WxnfK3+KGHQurhFhKUkhuRsLRzm1Ru/eV3lG3pyyytg1NxGmd2wNSS0K/D -P69Q/DdhiYCQL2rIgcFhfZMMC8UapX9JQ3sTi1XmZ3310aVEFjK1FTtcY2Z5O8/F -fLH6tdl6kS+wwpXsfyrwZDsel4J5ZbllNiycRNsUJA48K4VvqFONindTA/47VHL7 -cGem/qNojDzSDuh/lscr1SQvldzy2g2yIPRa8J+eKvQ8EZqsrPc/lWBgCTJ0pY1C -9dUjAwS//w1m0wm85D40jimUsL76coMToXCwtXGaZyPN2YQSaDpElsABo1dmsKFB -v0ogit3qqdnzuLVZnlXrL62aK8CYBqcrlAnQn+3G7FzokM+DYipLgIPzDTrimN2I -PWmb/tRzvtXdY+2o1DhdvDu8fc7eFgzfBqFgYZC9yHJ0dko/crmI2LiynwFpjO6R -BOm8ppVK88Lrx9lw18xdLdFIdd8+Q8IxqUtBsIRbcjRUUrRPWZqW63BCSS+vclNi -y7CnMbEJGF+/ogIcUbqNoKCDg6CE5/urdCFpG510Yz5odwqnRqghTs19Q/W29bmB -UIrRhNt+OF0QaVgUVaJOOjnb/KPoIo++deFcJ7IdY89QDbAXpJBB095tlbGMSpI5 -OM4psc64jGyDWncCAwEAAaM1MDMwDgYDVR0PAQH/BAQDAgWgMBMGA1UdJQQMMAoG -CCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBAEdDjfNF -cDWxwZ2m6bpwNgHRESvO4YXaJx6Z9Jl4HxhE12I8ZXIgVzd5dqfNNxHI/81WXwl/ -7FgDJ0f+/BklZxKCyeiwgp8t/D0KtT67/gu34Bp1XJU2rhFG3DFaGfKRTYW6eQqg -qNDzZHZJcBnPB5Z7qVEO8iAJNOK2jd3Wpd2rxnQbASHimuHsN/QQ/SO8zJMHFYT+ -gIM3CBGH3QT7wRRkxqXHd9X+NEmgjf/YZRmFL3+GxFsCYs8srd9/0B9thP0AL8sD -V6MrleAUvUtN5uBPGPCImkiP6wlMd7rjhfiHVe3rXAoNfpZ+Fgx99BnTpLQqaa6L -WIC3MmzIfeGe3ndLG814V/5aOWxNwW1/dP318e+GvtCGyCRaGA6tlM8dtkISYbrh -b2VUigxB98eLKJSuO+H7YDCKldWZzXyOV83Xek0VViX9uMTrYT4MMx3VSwlAIw7V -vynToebBW68DgWAW24hGQCVgvXzgP0IvZlRXf0fWEjJZIPtqgnzwmZfnAuZHJpcY -76yEI135YxywUO8dyHBl0AHrWoeflcFm69hFOsfMRtlUMHCyXVtqpEzwtV/UfAUM -hJt/joDBSAA5pqnwB6H+i6JX8iTpkxHKxRsVhNBATdzSy0DOz8OVm5rYJZyjBXQl -W/vNP5eLepvOqRn3DPjw/vJAG0izwOLU6UYH ------END CERTIFICATE----- diff --git a/azure/_output/fabricnlp9/kubectlClient.key b/azure/_output/fabricnlp9/kubectlClient.key deleted file mode 100644 index 5740413..0000000 --- a/azure/_output/fabricnlp9/kubectlClient.key +++ /dev/null @@ -1,51 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -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 ------END RSA PRIVATE KEY----- diff --git a/azure/acs.json b/azure/acs.json deleted file mode 100644 index d674c12..0000000 --- a/azure/acs.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "apiVersion": "vlabs", - "properties": { - "orchestratorProfile": { - "orchestratorType": "Kubernetes", - "orchestratorRelease": "1.8" - }, - "masterProfile": { - "count": 1, - "dnsPrefix": "fabricnlp9", - "vmSize": "Standard_D2_v2", - "vnetSubnetId": "/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet", - "firstConsecutiveStaticIP": "10.239.255.239", - "vnetCidr": "10.239.0.0/16" - }, - "agentPoolProfiles": [{ - "name": "linuxagent", - "count": 2, - "vmSize": "Standard_D2_v2", - "vnetSubnetId": "/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet", - "availabilityProfile": "AvailabilitySet" - }], - "linuxProfile": { - "adminUsername": "azureuser", - "ssh": { - "publicKeys": [{ - "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDQEvG8bij5/eXWZFiU9KA9DpC980e/UgoMSij7nq+8M5ODBv/G8Bd3dssMNSj0RQKbyNiPz4EngFG62coGXK3ogJZEl/ABDDJAFEPB5J4BK8VCaVcmJpfPYVXd+DLv3A5Pk95SlgPeb1vbZnoOhy8F2rfjZBRCnsF2jN6Agk96c7JsGLamAaE2iU/+Wz/Z+x2nrV+Py+IVa2XKU/veqkY6/yDBQdO/BdXl8afdMHdqhjYwd7cp0Mec9r9iYmXKy8meUr125lMiayXIqeoU9qfcgnBlIcYkJtZjQd1F58o9KgHZXkkdEUqRyuiCgnJtNgY9xNu/Bgz2naiEU6NuKzKr azureuser@linuxvm" - }] - } - }, - "servicePrincipalProfile": { - "clientId": "5a53ea0c-f45a-40fa-b481-ed2734c93727", - "secret": "7cf86474-af55-492f-a460-201d0cd3a8d7" - } - } -} \ No newline at end of file diff --git a/azure/acs.template.azurenetwork.json b/azure/acs.template.azurenetwork.json deleted file mode 100644 index adcc8f6..0000000 --- a/azure/acs.template.azurenetwork.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "apiVersion": "vlabs", - "properties": { - "orchestratorProfile": { - "orchestratorType": "Kubernetes", - "orchestratorRelease": "1.9", - "kubernetesConfig": { - "networkPolicy": "azure" - } - }, - "masterProfile": { - "count": 1, - "dnsPrefix": "REPLACE-DNS-NAME-PREFIX", - "vmSize": "Standard_DS2_v2", - "vnetSubnetId": "REPLACE-SUBNET", - "firstConsecutiveStaticIP": "REPLACE-FIRST-STATIC-IP", - "vnetCidr": "REPLACE_VNET_CIDR", - "storageProfile": "ManagedDisks" - }, - "agentPoolProfiles": [{ - "name": "linuxagent", - "count": 2, - "vmSize": "Standard_DS2_v2", - "vnetSubnetId": "REPLACE-SUBNET", - "availabilityProfile": "AvailabilitySet", - "storageProfile": "ManagedDisks" - }], - "linuxProfile": { - "adminUsername": "azureuser", - "ssh": { - "publicKeys": [{ - "keyData": "REPLACE-SSH-KEY" - }] - } - }, - "servicePrincipalProfile": { - "clientId": "REPLACE-CLIENTID", - "secret": "REPLACE-CLIENTSECRET" - } - } -} \ No newline at end of file diff --git a/azure/acs.template.calico.json b/azure/acs.template.calico.json deleted file mode 100644 index 4a0bccd..0000000 --- a/azure/acs.template.calico.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "apiVersion": "vlabs", - "properties": { - "orchestratorProfile": { - "orchestratorType": "Kubernetes", - "orchestratorRelease": "1.8", - "kubernetesConfig": { - "networkPolicy": "calico" - } - }, - "masterProfile": { - "count": 1, - "dnsPrefix": "REPLACE-DNS-NAME-PREFIX", - "vmSize": "Standard_D2_v2", - "vnetSubnetId": "REPLACE-SUBNET", - "firstConsecutiveStaticIP": "REPLACE-FIRST-STATIC-IP", - "storageProfile": "ManagedDisks" - }, - "agentPoolProfiles": [{ - "name": "linuxagent", - "count": 2, - "vmSize": "Standard_D2_v2", - "vnetSubnetId": "REPLACE-SUBNET", - "availabilityProfile": "AvailabilitySet", - "storageProfile": "ManagedDisks" - }], - "linuxProfile": { - "adminUsername": "azureuser", - "ssh": { - "publicKeys": [{ - "keyData": "REPLACE-SSH-KEY" - }] - } - }, - "servicePrincipalProfile": { - "clientId": "REPLACE-CLIENTID", - "secret": "REPLACE-CLIENTSECRET" - } - } -} \ No newline at end of file diff --git a/azure/acs.template.json b/azure/acs.template.json deleted file mode 100644 index 1b2da62..0000000 --- a/azure/acs.template.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "apiVersion": "vlabs", - "properties": { - "orchestratorProfile": { - "orchestratorType": "Kubernetes", - "orchestratorRelease": "1.9", - "kubernetesConfig": { - "networkPolicy": "none" - } - }, - "masterProfile": { - "count": 1, - "dnsPrefix": "REPLACE-DNS-NAME-PREFIX", - "vmSize": "Standard_D2_v2", - "vnetSubnetId": "REPLACE-SUBNET", - "firstConsecutiveStaticIP": "REPLACE-FIRST-STATIC-IP", - "storageProfile": "ManagedDisks" - }, - "agentPoolProfiles": [{ - "name": "linuxagent", - "count": 2, - "vmSize": "Standard_D2_v2", - "vnetSubnetId": "REPLACE-SUBNET", - "availabilityProfile": "AvailabilitySet", - "storageProfile": "ManagedDisks" - }], - "linuxProfile": { - "adminUsername": "azureuser", - "ssh": { - "publicKeys": [{ - "keyData": "REPLACE-SSH-KEY" - }] - } - }, - "servicePrincipalProfile": { - "clientId": "REPLACE-CLIENTID", - "secret": "REPLACE-CLIENTSECRET" - } - } -} \ No newline at end of file diff --git a/azure/acs.template.linuxwindows.json b/azure/acs.template.linuxwindows.json deleted file mode 100644 index 8d6b718..0000000 --- a/azure/acs.template.linuxwindows.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "apiVersion": "vlabs", - "properties": { - "orchestratorProfile": { - "orchestratorType": "Kubernetes", - "orchestratorRelease": "1.9", - "kubernetesConfig": { - "networkPolicy": "none", - "dockerEngineVersion": "1.12.*" - } - }, - "masterProfile": { - "count": 1, - "dnsPrefix": "REPLACE-DNS-NAME-PREFIX", - "vmSize": "Standard_D2_v2", - "vnetSubnetId": "REPLACE-SUBNET", - "firstConsecutiveStaticIP": "REPLACE-FIRST-STATIC-IP", - "vnetCidr": "REPLACE_VNET_CIDR", - "storageProfile": "ManagedDisks" - }, - "agentPoolProfiles": [{ - "name": "linuxagent", - "count": 2, - "vmSize": "Standard_D2_v2", - "vnetSubnetId": "REPLACE-SUBNET", - "availabilityProfile": "AvailabilitySet", - "storageProfile": "ManagedDisks" - }, - { - "name": "windowsagent", - "osType": "Windows", - "OSDiskSizeGB": 300, - "count": 1, - "vmSize": "Standard_D2_v2", - "vnetSubnetId": "REPLACE-SUBNET", - "availabilityProfile": "AvailabilitySet", - "storageProfile": "ManagedDisks", - "diskSizesGB": [1020] - } - ], - "linuxProfile": { - "adminUsername": "azureuser", - "ssh": { - "publicKeys": [{ - "keyData": "REPLACE-SSH-KEY" - }] - } - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "REPLACE-WINDOWS-PASSWORD" - }, - "servicePrincipalProfile": { - "clientId": "REPLACE-CLIENTID", - "secret": "REPLACE-CLIENTSECRET" - } - } -} \ No newline at end of file diff --git a/azure/acs.template.nosubnet.json b/azure/acs.template.nosubnet.json deleted file mode 100644 index a3e342f..0000000 --- a/azure/acs.template.nosubnet.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "apiVersion": "vlabs", - "properties": { - "orchestratorProfile": { - "orchestratorType": "Kubernetes", - "orchestratorRelease": "1.9", - "kubernetesConfig": { - "networkPolicy": "none", - "dockerEngineVersion": "1.12.*" - } - }, - "masterProfile": { - "count": 1, - "dnsPrefix": "REPLACE-DNS-NAME-PREFIX", - "vmSize": "Standard_D2_v2", - "storageProfile": "ManagedDisks" - }, - "agentPoolProfiles": [{ - "name": "linuxagent", - "count": 2, - "vmSize": "Standard_D2_v2", - "availabilityProfile": "AvailabilitySet", - "storageProfile": "ManagedDisks" - }, - { - "name": "windowsagent", - "osType": "Windows", - "OSDiskSizeGB": 300, - "count": 1, - "vmSize": "Standard_D2_v2", - "availabilityProfile": "AvailabilitySet", - "storageProfile": "ManagedDisks", - "diskSizesGB": [1020] - } - ], - "linuxProfile": { - "adminUsername": "azureuser", - "ssh": { - "publicKeys": [{ - "keyData": "REPLACE-SSH-KEY" - }] - } - }, - "windowsProfile": { - "adminUsername": "azureuser", - "adminPassword": "REPLACE-WINDOWS-PASSWORD" - }, - "servicePrincipalProfile": { - "clientId": "REPLACE-CLIENTID", - "secret": "REPLACE-CLIENTSECRET" - } - } -} \ No newline at end of file diff --git a/azure/common.ps1 b/azure/common.ps1 deleted file mode 100644 index a35fb3b..0000000 --- a/azure/common.ps1 +++ /dev/null @@ -1,1588 +0,0 @@ -# This file contains common functions for Azure -# -$versioncommon = "2018.03.28.01" - -Write-Host "---- Including common.ps1 version $versioncommon -----" -function global:GetCommonVersion() { - return $versioncommon -} - -function global:CreateShareInStorageAccount([ValidateNotNullOrEmpty()] $storageAccountName, [ValidateNotNullOrEmpty()] $resourceGroup, [ValidateNotNullOrEmpty()] $sharename, $deleteExisting) { - $storageAccountConnectionString = az storage account show-connection-string -n $storageAccountName -g $resourceGroup -o tsv - - # Write-Host "Storage connection string: $storageAccountConnectionString" - - if ($deleteExisting) { - if ($(az storage share exists -n $sharename --connection-string $storageAccountConnectionString --query "exists" -o tsv)) { - Write-Host "Deleting the file share: $sharename" - az storage share delete -n $sharename --connection-string $storageAccountConnectionString - - - Write-Host "Waiting for completion of delete for the file share: $sharename" - Do { - Start-Sleep -Seconds 5 - $SHARE_EXISTS = $(az storage share exists -n $sharename --connection-string $storageAccountConnectionString --query "exists" -o tsv) - Write-Host "." - } - while ($SHARE_EXISTS -ne "false") - } - } - - if ($(az storage share exists -n $sharename --connection-string $storageAccountConnectionString --query "exists" -o tsv) -eq "false") { - Write-Host "Creating the file share: $sharename" - az storage share create -n $sharename --connection-string $storageAccountConnectionString --quota 512 - } - else { - Write-Host "File share already exists: $sharename" - } -} -function global:CreateShare([ValidateNotNullOrEmpty()] $resourceGroup, [ValidateNotNullOrEmpty()] $sharename, $deleteExisting) { - $storageAccountName = ReadSecretValue -secretname azure-secret -valueName azurestorageaccountname - - CreateShareInStorageAccount -storageAccountName $storageAccountName -resourceGroup $resourceGroup -sharename $sharename -deleteExisting $deleteExisting -} - - -# helper functions for subnet match -# from https://gallery.technet.microsoft.com/scriptcenter/Start-and-End-IP-addresses-bcccc3a9 -function global:Get-FirstIP { - <# - .SYNOPSIS - Get the IP addresses in a range - .EXAMPLE - Get-IPrange -start 192.168.8.2 -end 192.168.8.20 - .EXAMPLE - Get-IPrange -ip 192.168.8.2 -mask 255.255.255.0 - .EXAMPLE - Get-IPrange -ip 192.168.8.3 -cidr 24 -#> - - param - ( - [string]$start, - [string]$end, - [string]$ip, - [string]$mask, - [int]$cidr - ) - - function IP-toINT64 () { - param ($ip) - - $octets = $ip.split(".") - return [int64]([int64]$octets[0] * 16777216 + [int64]$octets[1] * 65536 + [int64]$octets[2] * 256 + [int64]$octets[3]) - } - - function INT64-toIP() { - param ([int64]$int) - - return (([math]::truncate($int / 16777216)).tostring() + "." + ([math]::truncate(($int % 16777216) / 65536)).tostring() + "." + ([math]::truncate(($int % 65536) / 256)).tostring() + "." + ([math]::truncate($int % 256)).tostring() ) - } - - if ($ip.Contains("/")) { - $Temp = $ip.Split("/") - $ip = $Temp[0] - $cidr = $Temp[1] - } - - if ($ip) {$ipaddr = [Net.IPAddress]::Parse($ip)} - if ($cidr) {$maskaddr = [Net.IPAddress]::Parse((INT64-toIP -int ([convert]::ToInt64(("1" * $cidr + "0" * (32 - $cidr)), 2)))) } - if ($mask) {$maskaddr = [Net.IPAddress]::Parse($mask)} - if ($ip) {$networkaddr = new-object net.ipaddress ($maskaddr.address -band $ipaddr.address)} - if ($ip) {$broadcastaddr = new-object net.ipaddress (([system.net.ipaddress]::parse("255.255.255.255").address -bxor $maskaddr.address -bor $networkaddr.address))} - - if ($ip) { - $startaddr = IP-toINT64 -ip $networkaddr.ipaddresstostring - $endaddr = IP-toINT64 -ip $broadcastaddr.ipaddresstostring - } - else { - $startaddr = IP-toINT64 -ip $start - $endaddr = IP-toINT64 -ip $end - } - - # https://github.com/Azure/acs-engine/blob/master/docs/kubernetes/features.md#feat-custom-vnet - $startaddr = $startaddr + 239 # skip the first few since they are reserved - INT64-toIP -int $startaddr -} - -function global:SetupCronTab([ValidateNotNullOrEmpty()] $resourceGroup) { - $virtualmachines = az vm list -g $resourceGroup --query "[?storageProfile.osDisk.osType != 'Windows'].name" -o tsv - ForEach ($vm in $virtualmachines) { - if ($vm -match "master" ) { - $cmd = "crontab -e; mkdir -p /opt/healthcatalyst; curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/restartkubedns.txt -o /opt/healthcatalyst/restartkubedns.sh; chmod +x /opt/healthcatalyst/restartkubedns.sh; crontab -l | grep -v 'restartkubedns.sh' - | { cat; echo '*/10 * * * * /opt/healthcatalyst/restartkubedns.sh >> /tmp/restartkubedns.log 2>&1 \n'; } | crontab -" - az vm run-command invoke -g $resourceGroup -n $vm --command-id RunShellScript --scripts "$cmd" - } - } -} - -function global:UpdateOSInVMs([ValidateNotNullOrEmpty()] $resourceGroup) { - $virtualmachines = az vm list -g $resourceGroup --query "[?storageProfile.osDisk.osType != 'Windows'].name" -o tsv - ForEach ($vm in $virtualmachines) { - Write-Host "Updating OS in vm: $vm" - $cmd = "apt-get update && apt-get -y upgrade" - az vm run-command invoke -g $resourceGroup -n $vm --command-id RunShellScript --scripts "$cmd" - } -} - - -function global:RestartVMsInResourceGroup([ValidateNotNullOrEmpty()] $resourceGroup) { - # az vm run-command invoke -g Prod-Kub-AHMN-RG -n k8s-master-37819884-0 --command-id RunShellScript --scripts "apt-get update && sudo apt-get upgrade" - Write-Host "Restarting VMs in resource group: ${resourceGroup}: $(az vm list -g $resourceGroup --query "[].name" -o tsv)" - az vm restart --ids $(az vm list -g $resourceGroup --query "[].id" -o tsv) - - Write-Host "Waiting for VMs to restart: $(az vm list -g $resourceGroup --query "[].name" -o tsv)" - $virtualmachines = az vm list -g $resourceGroup --query "[].name" -o tsv - ForEach ($vm in $virtualmachines) { - - Write-Host "Waiting on $vm" - Do { - Start-Sleep -Seconds 1 - $state = az vm show -g $resourceGroup -n $vm -d --query "powerState"; - Write-Host "Status of ${vm}: ${state}" - } - while (!($state = "VM running")) - } - - # sudo systemctl restart etcd - ForEach ($vm in $virtualmachines) { - if ($vm -match "master" ) { - Write-Host "Sending command to master($vm) to restart etcd due to bug: https://github.com/Azure/acs-engine/issues/2282" - az vm run-command invoke -g $resourceGroup -n $vm --command-id RunShellScript --scripts "systemctl restart etcd" - } - } - - # systemctl enable etcd.service - - -} - -function global:FixEtcdRestartIssueOnMaster([ValidateNotNullOrEmpty()] $resourceGroup) { - - $virtualmachines = az vm list -g $resourceGroup --query "[].name" -o tsv - ForEach ($vm in $virtualmachines) { - if ($vm -match "master" ) { - Write-Host "Sending command to master($vm) to enable etcd due to bug: https://github.com/Azure/acs-engine/issues/2282" - # https://github.com/Azure/acs-engine/pull/2329/commits/e3ef0578f268bf00e6065414acffdfd7ebb4e90b - az vm run-command invoke -g $resourceGroup -n $vm --command-id RunShellScript --scripts "systemctl enable etcd.service" - } - } -} - - -function global:SetHostFileInVms( [ValidateNotNullOrEmpty()] $resourceGroup) { - $AKS_PERS_LOCATION = az group show --name $resourceGroup --query "location" -o tsv - - $MASTER_VM_NAME = "${resourceGroup}.${AKS_PERS_LOCATION}.cloudapp.azure.com" - $MASTER_VM_NAME = $MASTER_VM_NAME.ToLower() - - Write-Host "Creating hosts entries" - $fullCmdToUpdateHostsFiles = "" - $cmdToRemovePreviousHostEntries = "" - $cmdToAddNewHostEntries = "" - $virtualmachines = az vm list -g $resourceGroup --query "[?storageProfile.osDisk.osType != 'Windows'].name" -o tsv - ForEach ($vm in $virtualmachines) { - $firstprivateip = az vm list-ip-addresses -g $resourceGroup -n $vm --query "[].virtualMachine.network.privateIpAddresses[0]" -o tsv - # $privateiplist= az vm show -g $AKS_PERS_RESOURCE_GROUP -n $vm -d --query privateIps -otsv - Write-Host "$firstprivateip $vm" - - $cmdToRemovePreviousHostEntries = $cmdToRemovePreviousHostEntries + "grep -v '${vm}' - | " - $cmdToAddNewHostEntries = $cmdToAddNewHostEntries + " && echo '$firstprivateip $vm'" - if ($vm -match "master" ) { - Write-Host "$firstprivateip $MASTER_VM_NAME" - $cmdToRemovePreviousHostEntries = $cmdToRemovePreviousHostEntries + "grep -v '${MASTER_VM_NAME}' - | " - $cmdToAddNewHostEntries = $cmdToAddNewHostEntries + " && echo '$firstprivateip ${MASTER_VM_NAME}'" - } - } - - $fullCmdToUpdateHostsFiles = "cat /etc/hosts | $cmdToRemovePreviousHostEntries (cat $cmdToAddNewHostEntries ) | tee /etc/hosts; cat /etc/hosts" - - Write-Host "Command to send to VM" - Write-Host "$fullCmdToUpdateHostsFiles" - - ForEach ($vm in $virtualmachines) { - Write-Host "Sending command to $vm" - az vm run-command invoke -g $resourceGroup -n $vm --command-id RunShellScript --scripts "$fullCmdToUpdateHostsFiles" - } -} - - -function global:CleanResourceGroup([ValidateNotNullOrEmpty()] $resourceGroup, [ValidateNotNullOrEmpty()] $location, $vnet, $subnet, $subnetResourceGroup, $storageAccount) { - Write-Host "checking if resource group already exists" - $resourceGroupExists = az group exists --name ${resourceGroup} - if ($resourceGroupExists -eq "true") { - - if ($(az vm list -g $resourceGroup --query "[].id" -o tsv).length -ne 0) { - Write-Warning "The resource group [${resourceGroup}] already exists with the following VMs" - az resource list --resource-group "${resourceGroup}" --resource-type "Microsoft.Compute/virtualMachines" --query "[].id" - - # Do { $confirmation = Read-Host "Would you like to continue (all above resources will be deleted)? (y/n)"} - # while ([string]::IsNullOrWhiteSpace($confirmation)) - - # if ($confirmation -eq 'n') { - # Read-Host "Hit ENTER to exit" - # exit 0 - # } - } - else { - Write-Host "The resource group [${resourceGroup}] already exists but has no VMs" - } - - if ("$vnet") { - # Write-Host "removing route table" - # az network vnet subnet update -n "${subnet}" -g "${subnetResourceGroup}" --vnet-name "${vnet}" --route-table "" - } - Write-Host "cleaning out the existing group: [$resourceGroup]" - #az group delete --name $resourceGroup --verbose - - if ($(az vm list -g $resourceGroup --query "[].id" -o tsv).length -ne 0) { - Write-Host "delete the VMs first" - az vm delete --ids $(az vm list -g $resourceGroup --query "[].id" -o tsv) --verbose --yes - } - - if ($(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/networkInterfaces" --query "[].id" -o tsv ).length -ne 0) { - Write-Host "delete the nics" - az resource delete --ids $(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/networkInterfaces" --query "[].id" -o tsv ) --verbose - } - - if ($(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Compute/disks" --query "[].id" -o tsv ).length -ne 0) { - Write-Host "delete the disks" - az resource delete --ids $(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Compute/disks" --query "[].id" -o tsv ) - } - - if ($(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Compute/availabilitySets" --query "[].id" -o tsv ).length -ne 0) { - Write-Host "delete the availabilitysets" - az resource delete --ids $(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Compute/availabilitySets" --query "[].id" -o tsv ) - } - - if ($(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/loadBalancers" --query "[].id" -o tsv ).length -ne 0) { - Write-Host "delete the load balancers" - az resource delete --ids $(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/loadBalancers" --query "[].id" -o tsv ) - } - - if ($(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/applicationGateways" --query "[].id" -o tsv ).length -ne 0) { - Write-Host "delete the application gateways" - az resource delete --ids $(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/applicationGateways" --query "[].id" -o tsv ) - } - - if ($(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Storage/storageAccounts" --query "[].id" -o tsv | Where-Object {!"$_".EndsWith("$storageAccount")}).length -ne 0) { - Write-Host "delete the storage accounts EXCEPT storage account we created in the past" - az resource delete --ids $(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Storage/storageAccounts" --query "[].id" -o tsv | Where-Object {!"$_".EndsWith("${storageAccount}")} ) - # az resource list --resource-group fabricnlp3 --resource-type "Microsoft.Storage/storageAccounts" --query "[].id" -o tsv | ForEach-Object { if (!"$_".EndsWith("${resourceGroup}storage")) { az resource delete --ids "$_" }} - } - if ($(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/publicIPAddresses" --query "[].id" -o tsv | Where-Object {!"$_".EndsWith("PublicIP")}).length -ne 0) { - Write-Host "delete the public IPs EXCEPT Ingress IP we created in the past" - az resource delete --ids $(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/publicIPAddresses" --query "[].id" -o tsv | Where-Object {!"$_".EndsWith("PublicIP")} ) - } - - if (("$vnet") ) { - if (![string]::IsNullOrWhiteSpace($(az network vnet subnet show -n "${subnet}" -g "${subnetResourceGroup}" --vnet-name "${vnet}" --query "networkSecurityGroup.id"))) { - # Write-Host "Switching the subnet to a temp route table and tempnsg so we can delete the old route table and nsg" - - # $routeid = $(az network route-table show --name temproutetable --resource-group $resourceGroup --query "id" -o tsv) - # if ([string]::IsNullOrWhiteSpace($routeid)) { - # Write-Host "create temproutetable" - # $routeid = az network route-table create --name temproutetable --resource-group $resourceGroup --query "id" -o tsv - # } - # $routeid = $(az network route-table show --name temproutetable --resource-group $resourceGroup --query "id" -o tsv) - # Write-Host "temproutetable: $routeid" - - # $nsg = $(az network nsg show --name tempnsg --resource-group $resourceGroup --query "id" -o tsv) - # if ([string]::IsNullOrWhiteSpace($nsg)) { - # Write-Host "create tempnsg" - # $nsg = az network nsg create --name tempnsg --resource-group $resourceGroup --query "id" -o tsv - # } - # $nsg = $(az network nsg show --name tempnsg --resource-group $resourceGroup --query "id" -o tsv) - # Write-Host "tempnsg: $nsg" - - Write-Host "Updating the subnet" - az network vnet subnet update -n "${subnet}" -g "${subnetResourceGroup}" --vnet-name "${vnet}" --route-table="" --network-security-group="" - - #az network vnet subnet update -n "${subnet}" -g "${subnetResourceGroup}" --vnet-name "${vnet}" --route-table "$routeid" --network-security-group "$nsg" - } - - if ($(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/routeTables" --query "[?name != 'temproutetable'].id" -o tsv ).length -ne 0) { - Write-Host "delete the routes EXCEPT the temproutetable we just created" - az resource delete --ids $(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/routeTables" --query "[?name != 'temproutetable'].id" -o tsv) - } - if ($(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/networkSecurityGroups" --query "[?name != 'tempnsg'].id" -o tsv).length -ne 0) { - Write-Host "delete the nsgs EXCEPT the tempnsg we just created" - az resource delete --ids $(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/networkSecurityGroups" --query "[?name != 'tempnsg'].id" -o tsv) - } - } - else { - if ($(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/routeTables" --query "[].id" -o tsv).length -ne 0) { - Write-Host "delete the routes EXCEPT the temproutetable we just created" - az resource delete --ids $(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/routeTables" --query "[].id" -o tsv) - } - $networkSecurityGroup = "$($resourceGroup.ToLower())-nsg" - if ($(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/networkSecurityGroups" --query "[?name != '${$networkSecurityGroup}'].id" -o tsv ).length -ne 0) { - Write-Host "delete the network security groups" - az resource delete --ids $(az resource list --resource-group $resourceGroup --resource-type "Microsoft.Network/networkSecurityGroups" --query "[?name != '${$networkSecurityGroup}'].id" -o tsv ) - } - - } - # note: do not delete the Microsoft.Network/publicIPAddresses otherwise the loadBalancer will get a new IP - } - else { - Write-Host "Create the Resource Group" - az group create --name $resourceGroup --location $location --verbose - } - -} - -function global:CreateStorageIfNotExists([ValidateNotNullOrEmpty()] $resourceGroup, $deleteStorageAccountIfExists) { - #Create an hashtable variable - [hashtable]$Return = @{} - - $location = az group show --name $resourceGroup --query "location" -o tsv - - if ([string]::IsNullOrWhiteSpace($storageAccountName)) { - $storageAccountName = "${resourceGroup}storage" - # remove non-alphanumeric characters and use lowercase since azure doesn't allow those in a storage account - $storageAccountName = $storageAccountName -replace '[^a-zA-Z0-9]', '' - $storageAccountName = $storageAccountName.ToLower() - if ($storageAccountName.Length > 24) { - $storageAccountName = $storageAccountName.Substring(0, 24) # azure does not allow names longer than 24 - } - Write-Host "Using storage account: [$storageAccountName]" - } - Write-Host "Checking to see if storage account exists" - - $storageAccountConnectionString = az storage account show-connection-string --name $storageAccountName --resource-group $resourceGroup --query "connectionString" --output tsv - [Console]::ResetColor() - if (![string]::IsNullOrEmpty($storageAccountConnectionString)) { - if ($deleteStorageAccountIfExists) { - Write-Warning "Storage account, [$storageAccountName], already exists. Deleting it will remove this data permanently" - Do { $confirmation = Read-Host "Delete storage account: (WARNING: deletes data) (y/n)"} - while ([string]::IsNullOrWhiteSpace($confirmation)) - - if ($confirmation -eq 'y') { - az storage account delete -n $storageAccountName -g $resourceGroup --yes - Write-Host "Creating storage account: [${storageAccountName}]" - # https://docs.microsoft.com/en-us/azure/storage/common/storage-quickstart-create-account?tabs=azure-cli - az storage account create -n $storageAccountName -g $resourceGroup -l $location --kind StorageV2 --sku Standard_LRS - } - } - } - else { - Write-Host "Checking if storage account name is valid" - $storageAccountCanBeCreated = az storage account check-name --name $storageAccountName --query "nameAvailable" --output tsv - if ($storageAccountCanBeCreated -ne "True" ) { - Write-Warning "$(az storage account check-name --name $storageAccountName --query 'message' --output tsv)" - Write-Error "$storageAccountName is not a valid storage account name" - } - else { - Write-Host "Creating storage account: [${storageAccountName}]" - az storage account create -n $storageAccountName -g $resourceGroup -l $location --kind StorageV2 --sku Standard_LRS - } - } - - $Return.AKS_PERS_STORAGE_ACCOUNT_NAME = $storageAccountName - return $Return -} - -function global:GetVnet([ValidateNotNullOrEmpty()] $subscriptionId) { - #Create an hashtable variable - [hashtable]$Return = @{} - - Write-Host "Subscription Id; $subscriptionId" - - $confirmation = 'y' - # Do { $confirmation = Read-Host "Would you like to connect to an existing virtual network? (y/n)"} - # while ([string]::IsNullOrWhiteSpace($confirmation)) - - if ($confirmation -eq 'y') { - - # see if we had previously connected to a vnet - $vnetName = ReadSecretValue -secretname azure-vnet -valueName vnet - $subnetName = ReadSecretValue -secretname azure-vnet -valueName subnet - $subnetResourceGroup = ReadSecretValue -secretname azure-vnet -valueName subnetResourceGroup - - - if ([string]::IsNullOrEmpty($vnetName)) { - } - else { - Do { - $confirmation = Read-Host "Kubernetes secret shows vnet=$vnetName and subnet=$subnetName. Do you want to use these? (y/n)" - } - while ([string]::IsNullOrEmpty($confirmation)) - - if ($confirmation -eq "n") { - $vnetName = "" - } - } - - if ([string]::IsNullOrEmpty($vnetName)) { - Write-Host "Finding existing vnets..." - # az network vnet list --query "[].[name,resourceGroup ]" -o tsv - - $vnets = az network vnet list --query "[].[name]" -o tsv - - Do { - Write-Host "------ Existing vnets -------" - for ($i = 1; $i -le $vnets.count; $i++) { - Write-Host "$i. $($vnets[$i-1])" - } - Write-Host "------ End vnets -------" - - Do { - $index = Read-Host "Enter number of vnet to use (1 - $($vnets.count))" - } - while ([string]::IsNullOrWhiteSpace($index)) - - $vnetName = $($vnets[$index - 1]) - } - while ([string]::IsNullOrWhiteSpace($vnetName)) - - Write-Host "Searching for vnet named $vnetName ..." - $subnetResourceGroup = az network vnet list --query "[?name == '$vnetName'].resourceGroup" -o tsv - Write-Host "Using subnet resource group: [$subnetResourceGroup]" - - Write-Host "Finding existing subnets in $vnetName ..." - $subnets = az network vnet subnet list --resource-group $subnetResourceGroup --vnet-name $vnetName --query "[].name" -o tsv - - if ($subnets.count -eq 1) { - Write-Host "There is only one subnet called $subnets so choosing that" - $subnetName = $subnets - } - else { - Do { - Write-Host "------ Subnets in $vnetName -------" - for ($i = 1; $i -le $subnets.count; $i++) { - Write-Host "$i. $($subnets[$i-1])" - } - Write-Host "------ End Subnets -------" - - Write-Host "NOTE: Each customer should have their own subnet. Do not put multiple customers in the same subnet" - $index = Read-Host "Enter number of subnet to use (1 - $($subnets.count))" - $subnetName = $($subnets[$index - 1]) - } - while ([string]::IsNullOrWhiteSpace($subnetName)) - } - } - - $vnetinfo = $(GetVnetInfo -subscriptionId $subscriptionId -subnetResourceGroup $subnetResourceGroup -vnetName $vnetName -subnetName $subnetName) - } - else { - # create a vnet - # create a subnet - - # az network vnet create -g MyResourceGroup -n MyVnet --address-prefix 10.0.0.0/16 --subnet-name MySubnet --subnet-prefix 10.0.0.0/24 - } - - - #Assign all return values in to hashtable - $Return.AKS_VNET_NAME = $vnetName - $Return.AKS_SUBNET_NAME = $subnetName - $Return.AKS_SUBNET_RESOURCE_GROUP = $subnetResourceGroup - $Return.AKS_FIRST_STATIC_IP = $vnetinfo.AKS_FIRST_STATIC_IP - $Return.AKS_SUBNET_ID = $vnetinfo.AKS_SUBNET_ID - $Return.AKS_SUBNET_CIDR = $vnetinfo.AKS_SUBNET_CIDR - - #Return the hashtable - Return $Return -} - -function global:GetVnetInfo([ValidateNotNullOrEmpty()] $subscriptionId, [ValidateNotNullOrEmpty()] $subnetResourceGroup, [ValidateNotNullOrEmpty()] $vnetName, [ValidateNotNullOrEmpty()] $subnetName) { - [hashtable]$Return = @{} - - # verify the subnet exists - $mysubnetid = "/subscriptions/${subscriptionId}/resourceGroups/${subnetResourceGroup}/providers/Microsoft.Network/virtualNetworks/${vnetName}/subnets/${subnetName}" - - $subnetexists = az resource show --ids $mysubnetid --query "id" -o tsv - if (!"$subnetexists") { - Write-Host "The subnet was not found: $mysubnetid" - Read-Host "Hit ENTER to exit" - exit 0 - } - else { - Write-Host "Found subnet: [$mysubnetid]" - } - - Write-Host "Looking up CIDR for Subnet: [${subnetName}]" - $subnetCidr = az network vnet subnet show --name ${subnetName} --resource-group ${subnetResourceGroup} --vnet-name ${vnetname} --query "addressPrefix" --output tsv - - Write-Host "Subnet CIDR=[$subnetCidr]" - # suggest and ask for the first static IP to use - $firstStaticIP = "" - $suggestedFirstStaticIP = Get-FirstIP -ip ${subnetCidr} - - # $firstStaticIP = Read-Host "First static IP: (default: $suggestedFirstStaticIP )" - - if ([string]::IsNullOrWhiteSpace($firstStaticIP)) { - $firstStaticIP = "$suggestedFirstStaticIP" - } - - Write-Host "First static IP=[${firstStaticIP}]" - - $Return.AKS_FIRST_STATIC_IP = $firstStaticIP - $Return.AKS_SUBNET_ID = $mysubnetid - $Return.AKS_SUBNET_CIDR = $subnetCidr - - #Return the hashtable - Return $Return -} -function global:Test-CommandExists { - Param ($command) - # from https://blogs.technet.microsoft.com/heyscriptingguy/2013/02/19/use-a-powershell-function-to-see-if-a-command-exists/ - $oldPreference = $ErrorActionPreference - $ErrorActionPreference = 'stop' - try {if (Get-Command $command) {RETURN $true}} - Catch {Write-Host "$command does not exist"; RETURN $false} - Finally {$ErrorActionPreference = $oldPreference} -} #end function test-CommandExists - -function global:Get-ProcessByPort( [ValidateNotNullOrEmpty()] [int] $Port ) { - $netstat = netstat.exe -ano | Select-Object -Skip 4 - $p_line = $netstat | Where-Object { $p = ( -split $_ | Select-Object -Index 1) -split ':' | Select-Object -Last 1; $p -eq $Port } | Select-Object -First 1 - if (!$p_line) { return; } - $p_id = $p_line -split '\s+' | Select-Object -Last 1 - return $p_id; -} - -function global:FindOpenPort($portArray) { - [hashtable]$Return = @{} - - ForEach ($port in $portArray) { - $result = Get-ProcessByPort $port - if ([string]::IsNullOrEmpty($result)) { - $Return.Port = $port - return $Return - } - } - $Return.Port = 0 - - return $Return -} - -function global:AddFolderToPathEnvironmentVariable([ValidateNotNullOrEmpty()] $folder) { - # add the c:\kubernetes folder to system PATH - Write-Host "Checking if $folder is in PATH" - $pathItems = ($env:path).split(";") - if ( $pathItems -notcontains "$folder") { - Write-Host "Adding $folder to system path" - $oldpath = (Get-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" -Name PATH).path - # see if the registry value is wrong too - if ( ($oldpath).split(";") -notcontains "$folder") { - $newpath = "$folder;$oldpath" - Read-Host "Script needs elevated privileges to set PATH. Hit ENTER to launch script to set PATH" - Start-Process powershell -verb RunAs -ArgumentList "Set-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment' -Name PATH -Value '$newPath'; Read-Host 'Press ENTER'" - Write-Host "New PATH:" - $newpath = (Get-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" -Name PATH).path - Write-Host "$newpath".split(";") - } - # for current session set the PATH too. the above only takes effect if powershell is reopened - $ENV:PATH = "$ENV:PATH;$folder" - Write-Host "Set path for current powershell session" - Write-Host ($env:path).split(";") - } - else { - Write-Host "$folder is already in PATH" - } -} -function global:DownloadAzCliIfNeeded() { - # install az cli from https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest - $desiredAzClVersion = "2.0.27" - $downloadazcli = $False - if (!(Test-CommandExists az)) { - $downloadazcli = $True - } - else { - $azcurrentversion = az -v | Select-String "azure-cli" | Select-Object -exp line - # we should get: azure-cli (2.0.22) - $azversionMatches = $($azcurrentversion -match "$desiredAzClVersion") - if (!$azversionMatches) { - Write-Host "az version $azcurrentversion is not the same as desired version: $desiredAzClVersion" - $downloadazcli = $True - } - } - - if ($downloadazcli) { - $azCliFile = ([System.IO.Path]::GetTempPath() + ("az-cli-latest.msi")) - $url = "https://azurecliprod.blob.core.windows.net/msi/azure-cli-latest.msi" - Write-Host "Downloading az-cli-latest.msi from url $url to $azCliFile" - If (Test-Path $azCliFile) { - Remove-Item $azCliFile -Force - } - - DownloadFile -url $url -targetFile $azCliFile - - # https://kevinmarquette.github.io/2016-10-21-powershell-installing-msi-files/ - Write-Host "Running MSI to install az" - $azCliInstallLog = ([System.IO.Path]::GetTempPath() + ('az-cli-latest.log')) - # msiexec flags: https://msdn.microsoft.com/en-us/library/windows/desktop/aa367988(v=vs.85).aspx - # Start-Process -Verb runAs msiexec.exe -Wait -ArgumentList "/i $azCliFile /qn /L*e $azCliInstallLog" - Start-Process -Verb runAs msiexec.exe -Wait -ArgumentList "/i $azCliFile" - Write-Host "Finished installing az-cli-latest.msi" - } - -} - -function global:CreateSSHKey([ValidateNotNullOrEmpty()] $resourceGroup, [ValidateNotNullOrEmpty()] $localFolder) { - #Create an hashtable variable - [hashtable]$Return = @{} - - $folderForSSHKey = "$localFolder\ssh\$resourceGroup" - - if (!(Test-Path -Path "$folderForSSHKey")) { - Write-Host "$folderForSSHKey does not exist. Creating it..." - New-Item -ItemType directory -Path "$folderForSSHKey" - } - - # check if SSH key is present. If not, generate it - $privateKeyFile = "$folderForSSHKey\id_rsa" - $privateKeyFileUnixPath = "/" + (($privateKeyFile -replace "\\", "/") -replace ":", "").ToLower().Trim("/") - - if (!(Test-Path "$privateKeyFile")) { - Write-Host "SSH key does not exist in $privateKeyFile." - Write-Host "Please open Git Bash and run:" - Write-Host "ssh-keygen -t rsa -b 2048 -q -N '' -C azureuser@linuxvm -f $privateKeyFileUnixPath" - Read-Host "Hit ENTER after you're done" - } - else { - Write-Host "SSH key already exists at $privateKeyFile so using it" - } - - $publicKeyFile = "$folderForSSHKey\id_rsa.pub" - $sshKey = Get-Content "$publicKeyFile" -First 1 - Write-Host "SSH Public Key=$sshKey" - - - $Return.AKS_SSH_KEY = $sshKey - $Return.SSH_PUBLIC_KEY_FILE = $publicKeyFile - $Return.SSH_PRIVATE_KEY_FILE_UNIX_PATH = $privateKeyFileUnixPath - - #Return the hashtable - Return $Return - -} - -function global:GetLoggedInUserInfo() { - - #Create an hashtable variable - [hashtable]$Return = @{} - - Write-Host "Checking if you're already logged into Azure..." - - # to print out the result to screen also use: | Tee-Object -Variable cmdOutput - $loggedInUser = $(az account show --query "user.name" --output tsv) - - # get azure login and subscription - Write-Host "user ${loggedInUser}" - - if ( "$loggedInUser" ) { - $subscriptionName = az account show --query "name" --output tsv - # Write-Host "You are currently logged in as [$loggedInUser] into subscription [$subscriptionName]" - - # Do { $confirmation = Read-Host "Do you want to use this account? (y/n)"} - # while ([string]::IsNullOrWhiteSpace($confirmation)) - - # if ($confirmation -eq 'n') { - # az login - # } - } - else { - # login - az login - } - - $subscriptionName = $(az account show --query "name" --output tsv) - $subscriptionId = $(az account show --query "id" --output tsv) - - Write-Host "SubscriptionId: ${subscriptionId}" - - az account get-access-token --subscription $subscriptionId - - $Return.AKS_SUBSCRIPTION_NAME = "$subscriptionName" - $Return.AKS_SUBSCRIPTION_ID = "$subscriptionId" - $Return.IS_CAFE_ENVIRONMENT = $($subscriptionName -match "CAFE" ) - return $Return -} - -function global:GetResourceGroupAndLocation($defaultResourceGroup) { - #Create an hashtable variable - [hashtable]$Return = @{} - - Do { - $resourceGroup = Read-Host "Resource Group (leave empty for $defaultResourceGroup)" - if ([string]::IsNullOrWhiteSpace($resourceGroup)) { - $resourceGroup = $defaultResourceGroup - } - } - while ([string]::IsNullOrWhiteSpace($resourceGroup)) - - Write-Host "Using resource group [$resourceGroup]" - - Write-Host "checking if resource group already exists" - $resourceGroupExists = az group exists --name ${resourceGroup} - if ($resourceGroupExists -ne "true") { - Do { $location = Read-Host "Location: (e.g., eastus)"} - while ([string]::IsNullOrWhiteSpace($location)) - - Write-Host "Create the Resource Group" - az group create --name $resourceGroup --location $location --verbose - } - else { - $location = az group show --name $resourceGroup --query "location" -o tsv - } - - $Return.AKS_PERS_RESOURCE_GROUP = $resourceGroup - $Return.AKS_PERS_LOCATION = $location - - #Return the hashtable - Return $Return - -} - -function global:CreateResourceGroupIfNotExists([ValidateNotNullOrEmpty()] $resourceGroup, [ValidateNotNullOrEmpty()] $location ) { - [hashtable]$Return = @{} - - Write-Host "Using resource group [$resourceGroup]" - - Write-Host "checking if resource group already exists" - $resourceGroupExists = az group exists --name ${resourceGroup} - if ($resourceGroupExists -ne "true") { - Write-Host "Create the Resource Group" - az group create --name $resourceGroup --location $location --verbose - } - - Return $Return -} - -function global:SetNetworkSecurityGroupRule([ValidateNotNullOrEmpty()] $resourceGroup, [ValidateNotNullOrEmpty()] $networkSecurityGroup, [ValidateNotNullOrEmpty()] $rulename, [ValidateNotNullOrEmpty()] $ruledescription, [ValidateNotNullOrEmpty()] $sourceTag, [ValidateNotNullOrEmpty()] $port, [ValidateNotNullOrEmpty()] $priority ) { - if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "$rulename" --nsg-name $networkSecurityGroup --resource-group $resourceGroup))) { - Write-Host "Creating rule: $rulename" - az network nsg rule create -g $resourceGroup --nsg-name $networkSecurityGroup -n "$rulename" --priority $priority ` - --source-address-prefixes "${sourceTag}" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges $port --access Allow ` - --protocol Tcp --description "$ruledescription" ` - --query "provisioningState" -o tsv - } - else { - Write-Host "Updating rule: $rulename" - - az network nsg rule update -g $resourceGroup --nsg-name $networkSecurityGroup -n "$rulename" --priority $priority ` - --source-address-prefixes "${sourceTag}" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges $port --access Allow ` - --protocol Tcp --description "$ruledescription" ` - --query "provisioningState" -o tsv - } - -} -function global:DeleteNetworkSecurityGroupRule([ValidateNotNullOrEmpty()] $resourceGroup, [ValidateNotNullOrEmpty()] $networkSecurityGroup, [ValidateNotNullOrEmpty()] $rulename ) { - if (![string]::IsNullOrWhiteSpace($(az network nsg rule show --name "$rulename" --nsg-name $networkSecurityGroup --resource-group $resourceGroup))) { - Write-Host "Deleting $rulename rule" - az network nsg rule delete -g $resourceGroup --nsg-name $networkSecurityGroup -n $rulename - } -} - -function global:DownloadKubectl([ValidateNotNullOrEmpty()] $localFolder) { - # download kubectl - $kubeCtlFile = "$localFolder\kubectl.exe" - $desiredKubeCtlVersion = "v1.9.3" - $downloadkubectl = "n" - if (!(Test-Path "$kubeCtlFile")) { - $downloadkubectl = "y" - } - else { - $kubectlversion = kubectl version --client=true --short=true - Write-Host "kubectl version: $kubectlversion" - $kubectlversionMatches = $($kubectlversion -match "$desiredKubeCtlVersion") - if (!$kubectlversionMatches) { - $downloadkubectl = "y" - } - } - if ( $downloadkubectl -eq "y") { - $url = "https://storage.googleapis.com/kubernetes-release/release/${desiredKubeCtlVersion}/bin/windows/amd64/kubectl.exe" - Write-Host "Downloading kubectl.exe from url $url to $kubeCtlFile" - - If (Test-Path -Path "$kubeCtlFile") { - Remove-Item -Path "$kubeCtlFile" -Force - } - - DownloadFile -url $url -targetFile $kubeCtlFile - } - else { - Write-Host "kubectl already exists at $kubeCtlFile" - } - -} - -function global:DownloadFile([ValidateNotNullOrEmpty()] $url, [ValidateNotNullOrEmpty()] $targetFile) { - # https://learn-powershell.net/2013/02/08/powershell-and-events-object-events/ - $web = New-Object System.Net.WebClient - $web.UseDefaultCredentials = $True - $Index = $url.LastIndexOf("/") - $file = $url.Substring($Index + 1) - $newurl = $url.Substring(0, $index) - Register-ObjectEvent -InputObject $web -EventName DownloadFileCompleted ` - -SourceIdentifier Web.DownloadFileCompleted -Action { - $Global:isDownloaded = $True - } - Register-ObjectEvent -InputObject $web -EventName DownloadProgressChanged ` - -SourceIdentifier Web.DownloadProgressChanged -Action { - $Global:Data = $event - } - $web.DownloadFileAsync($url, ($targetFile -f $file)) - While (-Not $isDownloaded) { - $percent = $Global:Data.SourceArgs.ProgressPercentage - $totalBytes = $Global:Data.SourceArgs.TotalBytesToReceive - $receivedBytes = $Global:Data.SourceArgs.BytesReceived - If ($percent -ne $null) { - Write-Progress -Activity ("Downloading {0} from {1}" -f $file, $newurl) ` - -Status ("{0} bytes \ {1} bytes" -f $receivedBytes, $totalBytes) -PercentComplete $percent - } - } - Write-Progress -Activity ("Downloading {0} from {1}" -f $file, $newurl) ` - -Status ("{0} bytes \ {1} bytes" -f $receivedBytes, $totalBytes) -Completed - - Unregister-Event -SourceIdentifier Web.DownloadFileCompleted - Unregister-Event -SourceIdentifier Web.DownloadProgressChanged - #endregion Download file from website -} -function global:DownloadFileOld([ValidateNotNullOrEmpty()] $url, [ValidateNotNullOrEmpty()] $targetFile) { - # from https://stackoverflow.com/questions/21422364/is-there-any-way-to-monitor-the-progress-of-a-download-using-a-webclient-object - $uri = New-Object "System.Uri" "$url" - $request = [System.Net.HttpWebRequest]::Create($uri) - $request.set_Timeout(15000) #15 second timeout - # $request.Proxy = $null - $response = $request.GetResponse() - $totalLength = [System.Math]::Floor($response.get_ContentLength() / 1024) - $responseStream = $response.GetResponseStream() - $targetStream = New-Object -TypeName System.IO.FileStream -ArgumentList $targetFile, Create - $buffer = new-object byte[] 4096KB - Write-Host "Buffer length: $($buffer.length)" - $count = $responseStream.Read($buffer, 0, $buffer.length) - $downloadedBytes = $count - while ($count -gt 0) { - $targetStream.Write($buffer, 0, $count) - $count = $responseStream.Read($buffer, 0, $buffer.length) - # Write-Host "read: $count bytes" - $downloadedBytes = $downloadedBytes + $count - Write-Progress -activity "Downloading file '$($url.split('/') | Select-Object -Last 1)'" -status "Downloaded ($([System.Math]::Floor($downloadedBytes/1024))K of $($totalLength)K): " -PercentComplete ((([System.Math]::Floor($downloadedBytes / 1024)) / $totalLength) * 100) - [System.Console]::CursorLeft = 0 - [System.Console]::Write("Downloading '$($url.split('/') | Select-Object -Last 1)': {0}K of {1}K", [System.Math]::Floor($downloadedBytes / 1024), $totalLength) - } - - Write-Progress -activity "Finished downloading file '$($url.split('/') | Select-Object -Last 1)'" - $targetStream.Flush() - $targetStream.Close() - $targetStream.Dispose() - $responseStream.Dispose() -} - -function global:FixLoadBalancers([ValidateNotNullOrEmpty()] $resourceGroup) { - # hacks here to get around bugs in the acs-engine loadbalancer code - Write-Host "Checking if load balancers are setup correctly for resourceGroup: $resourceGroup" - # 1. assign the nics to the loadbalancer - - # find loadbalancer with name - $loadbalancer = "${resourceGroup}-internal" - - $loadbalancerExists = $(az network lb show --name $loadbalancer --resource-group $resourceGroup --query "name" -o tsv) - - # if internal load balancer exists then fix it - if ([string]::IsNullOrWhiteSpace($loadbalancerExists)) { - Write-Host "Loadbalancer $loadbalancer does not exist so no need to fix it" - return - } - else { - Write-Host "loadbalancer $loadbalancer exists with $loadbalancerExists" - } - - $loadbalancerBackendPoolName = $resourceGroup # the name may change in the future so we should look it up - # for each worker VM - $virtualmachines = az vm list -g $resourceGroup --query "[].name" -o tsv - ForEach ($vm in $virtualmachines) { - if ($vm -match "master" ) {} - else { - # for each worker VM - Write-Host "Checking VM: $vm" - # get first nic - # $nic = "k8s-linuxagent-14964077-nic-0" - $nicId = $(az vm nic list -g $resourceGroup --vm-name $vm --query "[].id" -o tsv) - $nic = $(az network nic show --ids $nicId --resource-group $resourceGroup --query "name" -o tsv) - - # get first ipconfig of nic - $ipconfig = $(az network nic ip-config list --resource-group $resourceGroup --nic-name $nic --query "[?primary].name" -o tsv) - - $loadbalancerForNic = $(az network nic ip-config show --resource-group $resourceGroup --nic-name $nic --name $ipconfig --query "loadBalancerBackendAddressPools[].id" -o tsv) - # if loadBalancerBackendAddressPools is missing then - if ([string]::IsNullOrEmpty($loadbalancerForNic)) { - Write-Warning "Fixing load balancer for vm: $vm by adding nic $nic with ip-config $ipconfig to backend pool $loadbalancerBackendPoolName in load balancer $loadbalancer " - # --lb-address-pools: Space-separated list of names or IDs of load balancer address pools to associate with the NIC. If names are used, --lb-name must be specified. - az network nic ip-config update --resource-group $resourceGroup --nic-name $nic --name $ipconfig --lb-name $loadbalancer --lb-address-pools $loadbalancerBackendPoolName - } - elseif (!($($loadbalancerForNic -contains $loadbalancer))) { - Write-Host "nic is already bound to load balancer $loadbalancerForNic with ip-config $ipconfig" - Write-Host "adding internal load balancer to secondary ip-config" - # get the first secondary ipconfig - $ipconfig = $(az network nic ip-config list --resource-group $resourceGroup --nic-name $nic --query "[?!primary].name" -o tsv)[0] - $loadbalancerForNic = $(az network nic ip-config show --resource-group $resourceGroup --nic-name $nic --name $ipconfig --query "loadBalancerBackendAddressPools[].id" -o tsv) - if ([string]::IsNullOrEmpty($loadbalancerForNic)) { - Write-Warning "Fixing load balancer for vm: $vm by adding nic $nic with ip-config $ipconfig to backend pool $loadbalancerBackendPoolName in load balancer $loadbalancer " - # --lb-address-pools: Space-separated list of names or IDs of load balancer address pools to associate with the NIC. If names are used, --lb-name must be specified. - az network nic ip-config update --resource-group $resourceGroup --nic-name $nic --name $ipconfig --lb-name $loadbalancer --lb-address-pools $loadbalancerBackendPoolName - } - else { - Write-Host "Load Balancer with ip-config $ipconfig is already setup properly for vm: $vm" - } - } - else { - Write-Host "Load Balancer with ip-config $ipconfig is already setup properly for vm: $vm" - } - } - } - - - # 2. fix the ports in load balancing rules - Write-Host "Checking if the correct ports are setup in the load balancer" - - # get frontendip configs for this IP - # $idToIPTuplesJson=$(az network lb frontend-ip list --resource-group=$AKS_PERS_RESOURCE_GROUP --lb-name $loadbalancer --query "[*].[id,privateIpAddress]") - # $idToIPTuplesJson = $(az network lb frontend-ip list --resource-group=$AKS_PERS_RESOURCE_GROUP --lb-name $loadbalancer --query "[*].{id:id,ip:privateIpAddress}") - $idToIPTuples = $(az network lb frontend-ip list --resource-group=$resourceGroup --lb-name $loadbalancer --query "[*].{id:id,ip:privateIpAddress}") | ConvertFrom-Json - $services = $($(kubectl get services --all-namespaces -o json) | ConvertFrom-Json).items - $loadBalancerServices = @() - Write-Host "---- Searching for kub services of type LoadBalancer" - foreach ($service in $services) { - if ($($service.spec.type -eq "LoadBalancer")) { - if ($service.status.loadBalancer.ingress.Count -gt 0) { - Write-Host "Found kub services $($service.metadata.name) with $($service.status.loadBalancer.ingress[0].ip)" - $loadBalancerServices += $service - } - else { - Write-Host "Found kub services $($service.metadata.name) but it has no ingress IP so skipping it" - } - } - } - Write-Host "---- Finished searching for kub services of type LoadBalancer" - - ForEach ($tuple in $idToIPTuples) { - Write-Host "---------- tuple: $($tuple.ip) $($tuple.id) ------------------" - $rulesForIp = $(az network lb rule list --resource-group $resourceGroup --lb-name $loadbalancer --query "[?frontendIpConfiguration.id == '$($tuple.id)'].{frontid:frontendIpConfiguration.id,name:name,backendPort:backendPort,frontendPort: frontendPort}") | ConvertFrom-Json - - ForEach ($service in $loadBalancerServices) { - Write-Host "-------- Checking kub service: $($service.metadata.name) ----" - # first check ports for internal loadbalancer - $loadBalancerIp = $($service.status.loadBalancer.ingress[0].ip) - # Write-Host "Checking tuple ip $($tuple.ip) with loadBalancer Ip $loadBalancerIp" - if ($tuple.ip -eq $loadBalancerIp) { - #this is the right load balancer - ForEach ($rule in $rulesForIp) { - Write-Host "----- Checking rule $($rule.name) ----" - # Write-Host "tuple $($tuple.ip) matches loadBalancerIP: $loadBalancerIp" - # match rule.backendPort to $loadbalancerInfo.spec.ports - ForEach ( $loadbalancerPortInfo in $($service.spec.ports)) { - # Write-Host "Rule: $rule " - # Write-Host "LoadBalancer:$loadbalancerPortInfo" - if ($($rule.frontendPort) -eq $($loadbalancerPortInfo.port)) { - Write-Host "Found matching frontend ports: rule: $($rule.frontendPort) of rule $($rule.name) and loadbalancer: $($loadbalancerPortInfo.port) from $($loadbalancerPortInfo.name)" - if ($($rule.backendPort) -ne $($loadbalancerPortInfo.nodePort)) { - Write-Warning "Backend ports don't match. Will change $($rule.backendPort) to $($loadbalancerPortInfo.nodePort)" - # set the rule backendPort to nodePort instead - $rule.backendPort = $loadbalancerPortInfo.nodePort - az network lb rule update --lb-name $loadbalancer --name $($rule.name) --resource-group $resourceGroup --backend-port $loadbalancerPortInfo.nodePort - } - else { - Write-Host "Skipping changing backend port since it already matches $($rule.backendPort) vs $($loadbalancerPortInfo.nodePort)" - } - } - else { - Write-Host "Skipping rule $($rule.name): Rule port: $($rule.backendPort) is not a match for loadbalancerPort $($loadbalancerPortInfo.port) from $($loadbalancerPortInfo.name)" - } - } - } - # get port from kubernetes service - } - else { - Write-Host "Skipping tuple since tuple ip $($tuple.ip) does not match loadBalancerIP: $loadBalancerIp" - } - } - Write-Host "" - } - # end hacks -} - -function global:SetupDNS([ValidateNotNullOrEmpty()] $dnsResourceGroup, [ValidateNotNullOrEmpty()] $dnsrecordname, [ValidateNotNullOrEmpty()] $externalIP) { - Write-Host "Setting DNS zones" - - if ([string]::IsNullOrWhiteSpace($(az network dns zone show --name "$dnsrecordname" -g $dnsResourceGroup))) { - Write-Host "Creating DNS zone: $dnsrecordname" - az network dns zone create --name "$dnsrecordname" -g $dnsResourceGroup - } - - Write-Host "Create A record for * in zone: $dnsrecordname" - az network dns record-set a add-record --ipv4-address $externalIP --record-set-name "*" --resource-group $dnsResourceGroup --zone-name "$dnsrecordname" - - ShowNameServerEntries -dnsResourceGroup $dnsResourceGroup -dnsrecordname $dnsrecordname -} - -function global:ShowNameServerEntries([ValidateNotNullOrEmpty()] $dnsResourceGroup, [ValidateNotNullOrEmpty()] $dnsrecordname) { - # list out the name servers - Write-Host "Name servers to set in GoDaddy for *.$dnsrecordname" - az network dns zone show -g $dnsResourceGroup -n "$dnsrecordname" --query "nameServers" -o tsv -} - -function global:GetLoadBalancerIPs() { - [hashtable]$Return = @{} - - $startDate = Get-Date - $timeoutInMinutes = 10 - $loadbalancer = "traefik-ingress-service-public" - $loadbalancerInternal = "traefik-ingress-service-internal" - - Write-Host "Waiting for IP to get assigned to the load balancer (Note: It can take upto 5 minutes for Azure to finish creating the load balancer)" - Do { - Start-Sleep -Seconds 10 - Write-Host "." - $externalIP = $(kubectl get svc $loadbalancer -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}') - } - while ([string]::IsNullOrWhiteSpace($externalIP) -and ($startDate.AddMinutes($timeoutInMinutes) -gt (Get-Date))) - Write-Host "External IP: $externalIP" - - if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { - Write-Host "Waiting for IP to get assigned to the internal load balancer (Note: It can take upto 5 minutes for Azure to finish creating the load balancer)" - Do { - Start-Sleep -Seconds 10 - Write-Host "." - $internalIP = $(kubectl get svc $loadbalancerInternal -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}') - } - while ([string]::IsNullOrWhiteSpace($internalIP) -and ($startDate.AddMinutes($timeoutInMinutes) -gt (Get-Date))) - Write-Host "Internal IP: $internalIP" - } - - $Return.ExternalIP = $externalIP - $Return.InternalIP = $internalIP - - return $Return -} -function global:CheckUrl([ValidateNotNullOrEmpty()] $url, [ValidateNotNullOrEmpty()] $hostHeader) { - - [hashtable]$Return = @{} - - $Request = [Net.HttpWebRequest]::Create($url) - $Request.Host = $hostHeader - $Response = $Request.GetResponse() - - $respstream = $Response.GetResponseStream(); - $sr = new-object System.IO.StreamReader $respstream; - $result = $sr.ReadToEnd(); - write-host "$result" - - $Return.Response = $result - $Return.StatusCode = $Response.StatusCode - $Return.StatusDescription = $Response.StatusDescription - return $Return -} -function global:GetDNSCommands() { - - [hashtable]$Return = @{} - - $myCommands = @() - - $loadBalancerInternalIP = kubectl get svc traefik-ingress-service-internal -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' --ignore-not-found=true - - $internalDNSEntries = $(kubectl get ing --all-namespaces -l expose=internal -o jsonpath="{.items[*]..spec.rules[*].host}" --ignore-not-found=true).Split(" ") - ForEach ($dns in $internalDNSEntries) { - $dnsWithoutDomain = $dns -replace ".healthcatalyst.net", "" - $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recorddelete healthcatalyst.net $dnsWithoutDomain A /f" - $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recordadd healthcatalyst.net $dnsWithoutDomain A $loadBalancerInternalIP" - # $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recorddelete healthcatalyst.net $dns PTR /f" - # $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recordadd 10.in-addr-arpa $loadBalancerInternalIP PTR $dns" - } - - $loadBalancerIP = kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' --ignore-not-found=true - - $externalDNSEntries = $(kubectl get ing --all-namespaces -l expose=external -o jsonpath="{.items[*]..spec.rules[*].host}" --ignore-not-found=true).Split(" ") - - ForEach ($dns in $externalDNSEntries) { - if (($internalDNSEntries.Contains($dns))) { - # already included in internal load balancer - } - else { - $dnsWithoutDomain = $dns -replace ".healthcatalyst.net", "" - $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recorddelete healthcatalyst.net $dnsWithoutDomain A /f" - $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recordadd healthcatalyst.net $dnsWithoutDomain A $loadBalancerIP" - # $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recorddelete healthcatalyst.net $dns PTR /f" - # $myCommands += "dnscmd cafeaddc-01.cafe.healthcatalyst.com /recordadd 10.in-addr-arpa $loadBalancerIP PTR $dns" - } - } - $Return.Commands = $myCommands - return $Return -} -function global:WriteDNSCommands() { - $myCommands = $(GetDNSCommands).Commands - Write-Host "To setup DNS entries in CAFE environment, remote desktop to CAFE DNS server: 10.5.2.4" - Write-Host "Open Powershell window and paste the following:" - ForEach ($myCommand in $myCommands) { - Write-Host $myCommand - } - Write-Host "" -} - -function global:GetPublicNameofMasterVM([ValidateNotNullOrEmpty()] $resourceGroup) { - [hashtable]$Return = @{} - - $resourceGroupLocation = az group show --name $resourceGroup --query "location" -o tsv - - $masterVMName = "${resourceGroup}.${resourceGroupLocation}.cloudapp.azure.com" - - $Return.Name = $masterVMName - return $Return -} - -function global:GetPrivateIPofMasterVM([ValidateNotNullOrEmpty()] $resourceGroup) { - [hashtable]$Return = @{} - - $virtualmachines = az vm list -g $resourceGroup --query "[?storageProfile.osDisk.osType != 'Windows'].name" -o tsv - ForEach ($vm in $virtualmachines) { - if ($vm -match "master" ) { - $firstprivateip = az vm list-ip-addresses -g $resourceGroup -n $vm --query "[].virtualMachine.network.privateIpAddresses[0]" -o tsv - } - } - - $Return.PrivateIP = $firstprivateip - return $Return -} - -function global:CreateVM([ValidateNotNullOrEmpty()] $vm, [ValidateNotNullOrEmpty()] $resourceGroup, [ValidateNotNullOrEmpty()] $subnetId, [ValidateNotNullOrEmpty()] $networkSecurityGroup, [ValidateNotNullOrEmpty()] $publicKeyFile, [ValidateNotNullOrEmpty()] $image) { - [hashtable]$Return = @{} - - $publicIP = "${vm}PublicIP" - Write-Host "Creating public IP: $publicIP" - $ip = az network public-ip create --name $publicIP ` - --resource-group $resourceGroup ` - --allocation-method Static --query "publicIp.ipAddress" -o tsv - - Write-Host "Creating NIC: ${vm}-nic" - az network nic create ` - --resource-group $resourceGroup ` - --name "${vm}-nic" ` - --subnet $subnetId ` - --network-security-group $networkSecurityGroup ` - --public-ip-address $publicIP ` - --query "provisioningState" -o tsv - - Write-Host "Creating VM: ${vm} from image: $urn" - az vm create --resource-group $resourceGroup --name $vm ` - --image "$image" ` - --size Standard_DS2_v2 ` - --admin-username azureuser --ssh-key-value $publicKeyFile ` - --nics "${vm}-nic" - - $Return.IP = $ip - return $Return -} - -function global:TestConnection() { - Write-Host "Testing if we can connect to private IP Address: $privateIpOfMasterVM" - # from https://stackoverflow.com/questions/11696944/powershell-v3-invoke-webrequest-https-error - add-type - @" - using System.Net; - using System.Security.Cryptography.X509Certificates; - public class TrustAllCertsPolicy : ICertificatePolicy { - public bool CheckValidationResult( - ServicePoint srvPoint, X509Certificate certificate, - WebRequest request, int certificateProblem) { - return true; - } - } -"@ - $AllProtocols = [System.Net.SecurityProtocolType]'Ssl3,Tls,Tls11,Tls12' - $previousSecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol - [System.Net.ServicePointManager]::SecurityProtocol = $AllProtocols - $previousSecurityPolicy = [System.Net.ServicePointManager]::CertificatePolicy - [System.Net.ServicePointManager]::CertificatePolicy = New-Object TrustAllCertsPolicy - - $canConnectToPrivateIP = $(Test-NetConnection $privateIpOfMasterVM -Port 443 -InformationLevel Quiet) - - if ($canConnectToPrivateIP -eq "True") { - Write-Host "Replacing master vm name, [$publicNameOfMasterVM], with private ip, [$privateIpOfMasterVM], in kube config file" - (Get-Content "$kubeconfigjsonfile").replace("$publicNameOfMasterVM", "$privateIpOfMasterVM") | Set-Content "$kubeconfigjsonfile" - } - else { - Write-Host "Could not connect to private IP, [$privateIpOfMasterVM], so leaving the master VM name [$publicNameOfMasterVM] in the kubeconfig" - $canConnectToMasterVM = $(Test-NetConnection $publicNameOfMasterVM -Port 443 -InformationLevel Quiet) - if ($canConnectToMasterVM -ne "True") { - Write-Error "Cannot connect to master VM: $publicNameOfMasterVM" - Test-NetConnection $publicNameOfMasterVM -Port 443 - } - } - - [System.Net.ServicePointManager]::CertificatePolicy = $previousSecurityPolicy - [System.Net.ServicePointManager]::SecurityProtocol = $previousSecurityProtocol - -} - - -function global:GetUrlAndIPForLoadBalancer([ValidateNotNullOrEmpty()] $resourceGroup) { - - [hashtable]$Return = @{} - - $userInfo = $(GetLoggedInUserInfo) - $IS_CAFE_ENVIRONMENT = $userInfo.IS_CAFE_ENVIRONMENT - - $loadBalancerIP = kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' --ignore-not-found=true - $loadBalancerInternalIP = kubectl get svc traefik-ingress-service-internal -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' - if ([string]::IsNullOrWhiteSpace($loadBalancerIP)) { - $loadBalancerIP = $loadBalancerInternalIP - } - - if ($IS_CAFE_ENVIRONMENT) { - $customerid = ReadSecret -secretname customerid - $customerid = $customerid.ToLower().Trim() - $url = "dashboard.$customerid.healthcatalyst.net" - $loadBalancerIP = $loadBalancerInternalIP - } - else { - $url = $(GetPublicNameofMasterVM( $resourceGroup)).Name - } - - - $Return.IP = $loadBalancerIP - $Return.Url = $url - return $Return -} - -function global:SetupWAF() { - # not working yet - - # $nsgname = "IngressNSG" - # $iprangetoallow = "" - # if ([string]::IsNullOrEmpty($(az network nsg show --name "$nsgname" --resource-group "$AKS_PERS_RESOURCE_GROUP" ))) { - # az network nsg create --name "$nsgname" --resource-group "$AKS_PERS_RESOURCE_GROUP" - # } - - # if ([string]::IsNullOrEmpty($(az network nsg rule show --nsg-name "$nsgname" --name "IPFilter" --resource-group "$AKS_PERS_RESOURCE_GROUP" ))) { - # # Rule priority, between 100 (highest priority) and 4096 (lowest priority). Must be unique for each rule in the collection. - # # Space-separated list of CIDR prefixes or IP ranges. Alternatively, specify ONE of 'VirtualNetwork', 'AzureLoadBalancer', 'Internet' or '*' to match all IPs. - # az network nsg rule create --name "IPFilter" ` - # --nsg-name "$nsgname" ` - # --priority 220 ` - # --resource-group "$AKS_PERS_RESOURCE_GROUP" ` - # --description "IP Filtering" ` - # --access "Allow" ` - # --source-address-prefixes "$iprangetoallow" - # } - - # Write-Output "Creating network security group to restrict IP address" - - Write-Output "Setting up Azure Application Gateway" - - $gatewayName = "${customerid}Gateway" - - az network application-gateway show --name "$gatewayName" --resource-group "$AKS_PERS_RESOURCE_GROUP" - $gatewayipName = "${gatewayName}PublicIP" - - Write-Output "Checking if Application Gateway already exists" - if ([string]::IsNullOrEmpty($(az network application-gateway show --name "$gatewayName" --resource-group "$AKS_PERS_RESOURCE_GROUP" ))) { - - # note application gateway provides no way to specify the resourceGroup of the vnet so we HAVE to create the App Gateway in the same resourceGroup - # as the vnet and NOT in the resourceGroup of the cluster - $gatewayip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n "$gatewayipName" --query "ipAddress" -o tsv; - if ([string]::IsNullOrWhiteSpace($gatewayip)) { - az network public-ip create -g $AKS_PERS_RESOURCE_GROUP -n "$gatewayipName" --location $AKS_PERS_LOCATION --allocation-method Dynamic - - # Write-Output "Waiting for IP address to get assigned to $gatewayipName" - # Do { - # Start-Sleep -Seconds 10 - # Write-Output "." - # $gatewayip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n "$gatewayipName" --query "ipAddress" -o tsv; - # } - # while ([string]::IsNullOrWhiteSpace($gatewayip)) - } - - # Write-Host "Using Gateway IP: [$gatewayip]" - - $mysubnetid = "/subscriptions/${AKS_SUBSCRIPTION_ID}/resourceGroups/${AKS_SUBNET_RESOURCE_GROUP}/providers/Microsoft.Network/virtualNetworks/${AKS_VNET_NAME}/subnets/${AKS_SUBNET_NAME}" - - Write-Output "Using subnet id: $mysubnetid" - - Write-Output "Creating new application gateway with WAF (This can take 10-15 minutes)" - # https://docs.microsoft.com/en-us/cli/azure/network/application-gateway?view=azure-cli-latest#az_network_application_gateway_create - - az network application-gateway create ` - --sku WAF_Medium ` - --name "$gatewayName" ` - --location "$AKS_PERS_LOCATION" ` - --resource-group "$AKS_PERS_RESOURCE_GROUP" ` - --vnet-name "$AKS_VNET_NAME" ` - --subnet "$mysubnetid" ` - --public-ip-address "$gatewayipName" ` - --servers "$EXTERNAL_IP" ` - - # https://docs.microsoft.com/en-us/azure/application-gateway/application-gateway-faq - - Write-Output "Waiting for Azure Application Gateway to be created." - az network application-gateway wait ` - --name "$gatewayName" ` - --resource-group "$AKS_PERS_RESOURCE_GROUP" ` - --created - } - else { - - # # set public IP - $frontendPoolName = az network application-gateway show --name "$gatewayName" --resource-group "$AKS_SUBNET_RESOURCE_GROUP" --query "frontendIpConfigurations[0].name" -o tsv - Write-Output "Setting $gatewayipName as IP for frontend pool $frontendPoolName" - az network application-gateway frontend-ip update ` - --gateway-name "$gatewayName" ` - --resource-group "$AKS_PERS_RESOURCE_GROUP" ` - --name "$frontendPoolName" ` - --public-ip-address "$gatewayipName" - - $backendPoolName = az network application-gateway show --name "$gatewayName" --resource-group "$AKS_SUBNET_RESOURCE_GROUP" --query "backendAddressPools[0].name" -o tsv - Write-Output "Setting $EXTERNAL_IP as IP for backend pool $backendPoolName" - # set backend private IP - az network application-gateway address-pool update ` - --gateway-name "$gatewayName" ` - --resource-group "$AKS_PERS_RESOURCE_GROUP" ` - --name "$backendPoolName" ` - --servers "$EXTERNAL_IP" - - az network application-gateway wait ` - --name "$gatewayName" ` - --resource-group "$AKS_PERS_RESOURCE_GROUP" ` - --updated - } - - if ($(az network application-gateway waf-config show --gateway-name "$gatewayName" --resource-group "$AKS_PERS_RESOURCE_GROUP" --query "firewallMode" -o tsv) -eq "Prevention") { - } - else { - Write-Output "Enabling Prevention mode of firewall" - az network application-gateway waf-config set ` - --enabled true ` - --firewall-mode Prevention ` - --gateway-name "$gatewayName" ` - --resource-group "$AKS_PERS_RESOURCE_GROUP" ` - --rule-set-type "OWASP" ` - --rule-set-version "3.0" - } - - # if ([string]::IsNullOrEmpty($(az network application-gateway probe show --gateway-name "$gatewayName" --name "MyCustomProbe" --resource-group "$AKS_SUBNET_RESOURCE_GROUP"))) { - # # create a custom probe - # az network application-gateway probe create --gateway-name "$gatewayName" ` - # --resource-group "$AKS_SUBNET_RESOURCE_GROUP" ` - # --name "MyCustomProbe" ` - # --path "/" ` - # --protocol "Http" ` - # --host "dashboard.${dnsrecordname}" - - # # associate custom probe with HttpSettings: appGatewayBackendHttpSettings - # az network application-gateway http-settings update --gateway-name "$gatewayName" ` - # --name "appGatewayBackendHttpSettings" ` - # --resource-group "$AKS_SUBNET_RESOURCE_GROUP" ` - # --probe "MyCustomProbe" ` - # --enable-probe true ` - # --host-name "dashboard.${dnsrecordname}" - # } - - - Write-Output "Checking for health of backend pool" - az network application-gateway show-backend-health ` - --name "$gatewayName" ` - --resource-group "$AKS_PERS_RESOURCE_GROUP" ` - --query "backendAddressPools[0].backendHttpSettingsCollection[0].servers[0].health" - - # set EXTERNAL_IP to be the IP of the Application Gateway - $EXTERNAL_IP = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n "$gatewayipName" --query "ipAddress" -o tsv; -} -function global:ConfigureWAF() { - # not working yet - $publicip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --query "ipAddress" -o tsv; - if ([string]::IsNullOrWhiteSpace($publicip)) { - az network public-ip create -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --location $AKS_PERS_LOCATION --allocation-method Static - $publicip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --query "ipAddress" -o tsv; - } - - Write-Host "Using Public IP: [$publicip]" - # get vnet and subnet name - Do { $confirmation = Read-Host "Would you like to connect the Azure WAF to an existing virtual network? (y/n)"} - while ([string]::IsNullOrWhiteSpace($confirmation)) - - if ($confirmation -eq 'y') { - Write-Output "Finding existing vnets..." - # az network vnet list --query "[].[name,resourceGroup ]" -o tsv - - $vnets = az network vnet list --query "[].[name]" -o tsv - - Do { - Write-Output "------ Existing vnets -------" - for ($i = 1; $i -le $vnets.count; $i++) { - Write-Host "$i. $($vnets[$i-1])" - } - Write-Output "------ End vnets -------" - - $index = Read-Host "Enter number of vnet to use (1 - $($vnets.count))" - $AKS_VNET_NAME = $($vnets[$index - 1]) - } - while ([string]::IsNullOrWhiteSpace($AKS_VNET_NAME)) - - if ("$AKS_VNET_NAME") { - - # Do { $AKS_SUBNET_RESOURCE_GROUP = Read-Host "Resource Group of Virtual Network"} - # while ([string]::IsNullOrWhiteSpace($AKS_SUBNET_RESOURCE_GROUP)) - - $AKS_SUBNET_RESOURCE_GROUP = az network vnet list --query "[?name == '$AKS_VNET_NAME'].resourceGroup" -o tsv - Write-Output "Using subnet resource group: [$AKS_SUBNET_RESOURCE_GROUP]" - - Write-Output "Finding existing subnets in $AKS_VNET_NAME ..." - $subnets = az network vnet subnet list --resource-group $AKS_SUBNET_RESOURCE_GROUP --vnet-name $AKS_VNET_NAME --query "[].name" -o tsv - - Do { - Write-Output "------ Subnets in $AKS_VNET_NAME -------" - for ($i = 1; $i -le $subnets.count; $i++) { - Write-Host "$i. $($subnets[$i-1])" - } - Write-Output "------ End Subnets -------" - - Write-Host "NOTE: Each customer should have their own gateway subnet. This subnet should be different than the cluster subnet" - $index = Read-Host "Enter number of subnet to use (1 - $($subnets.count))" - $AKS_SUBNET_NAME = $($subnets[$index - 1]) - } - while ([string]::IsNullOrWhiteSpace($AKS_SUBNET_NAME)) - - } - } -} - -function global:GetConfigFile() { - - [hashtable]$Return = @{} - - $folder = $ENV:CatalystConfigPath - if ([string]::IsNullOrEmpty("$folder")) { - $folder = "c:\kubernetes\configs" - } - if (Test-Path -Path $folder -PathType Container) { - Write-Host "Looking in $folder for *.json files" - Write-Host "You can set CatalystConfigPath environment variable to use a different path" - - $files = Get-ChildItem "$folder" -Filter *.json - - if ($files.Count -gt 0) { - Write-Host "Choose config file from $folder" - for ($i = 1; $i -le $files.count; $i++) { - Write-Host "$i. $($($files[$i-1]).Name)" - } - Write-Host "-------------" - $index = Read-Host "Enter number of file to use (1 - $($files.count))" - $Return.FilePath = $($($files[$index - 1]).FullName) - return $Return - } - } - - Write-Host "Sample config file: https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/deployments/sample.json" - Do { $fullpath = Read-Host "Type full path to config file: "} - while ([string]::IsNullOrWhiteSpace($fullpath)) - - $Return.FilePath = $fullpath - return $Return -} - -function global:ReadConfigFile() { - [hashtable]$Return = @{} - - $configfilepath = $(GetConfigFile).FilePath - - Write-Host "Reading config from $configfilepath" - $config = $(Get-Content $configfilepath -Raw | ConvertFrom-Json) - - $Return.Config = $config - return $Return -} - -function global:SaveConfigFile() { - [hashtable]$Return = @{} - - New-Item -ItemType Directory -Force -Path $folder - - return $Return -} - -function global:GetResourceGroup() { - [hashtable]$Return = @{} - $Return.ResourceGroup = ReadSecretValue -secretname azure-secret -valueName "resourcegroup" - - return $Return -} -function global:CreateAzureStorage([ValidateNotNullOrEmpty()] $namespace) { - [hashtable]$Return = @{} - - if ([string]::IsNullOrWhiteSpace($namespace)) { - Write-Error "no parameter passed to CreateAzureStorage" - exit - } - - $resourceGroup = $(GetResourceGroup).ResourceGroup - - Write-Output "Using resource group: $resourceGroup" - - if ([string]::IsNullOrWhiteSpace($(kubectl get namespace $namespace --ignore-not-found=true))) { - kubectl create namespace $namespace - } - - $shareName = "$namespace" - $storageAccountName = ReadSecretValue -secretname azure-secret -valueName "azurestorageaccountname" - - $storageAccountConnectionString = az storage account show-connection-string -n $storageAccountName -g $resourceGroup -o tsv - - Write-Output "Create the file share: $shareName" - az storage share create -n $shareName --connection-string $storageAccountConnectionString --quota 512 - return $Return -} - -function global:CreateOnPremStorage([ValidateNotNullOrEmpty()] $namespace) { - [hashtable]$Return = @{} - - if ([string]::IsNullOrWhiteSpace($namespace)) { - Write-Error "no parameter passed to CreateOnPremStorage" - exit - } - - - $shareName = "$namespace" - $sharePath = "/mnt/data/$shareName" - - Write-Output "Create the file share: $sharePath" - - New-Item -ItemType Directory -Force -Path $sharePath - - return $Return -} -function global:WaitForLoadBalancers([ValidateNotNullOrEmpty()] $resourceGroup) { - $loadBalancerIP = kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' --ignore-not-found=true - if ([string]::IsNullOrWhiteSpace($loadBalancerIP)) { - $loadBalancerIP = kubectl get svc traefik-ingress-service-internal -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' - } - $loadBalancerInternalIP = kubectl get svc traefik-ingress-service-internal -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' - - Write-Host "Sleeping for 10 seconds so kube services get IPs assigned" - Start-Sleep -Seconds 10 - - FixLoadBalancers -resourceGroup $resourceGroup - -} - -function global:InstallStack([ValidateNotNullOrEmpty()] $baseUrl, [ValidateNotNullOrEmpty()] $namespace, [ValidateNotNullOrEmpty()] $appfolder, $isAzure ) { - if ($isAzure) { - DownloadAzCliIfNeeded - $userInfo = $(GetLoggedInUserInfo) - } - - if ($isAzure) { - CreateAzureStorage -namespace $namespace - } - else { - CreateOnPremStorage -namespace $namespace - } - - LoadStack -namespace $namespace -baseUrl $baseUrl -appfolder "$appfolder" -isAzure $isAzure - - if ($isAzure) { - WaitForLoadBalancers -resourceGroup $(GetResourceGroup).ResourceGroup - } -} -#------------------- -Write-Host "end common.ps1 version $versioncommon" diff --git a/azure/config.json b/azure/config.json deleted file mode 100644 index 67c2c73..0000000 --- a/azure/config.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "customerId": "", - "resourceGroup": "", - "deleteExisting": "", - "location": "", - "UseAzureNetworking": true, - "serviceAccount": "", - "folderToStoreSSHKeys": "", - "storageAccount": "", - "deleteStorageAccountIfExists": "", - "vnet": "", - "subnet": "", - "firstStaticIP": "" -} \ No newline at end of file diff --git a/azure/copyfileshare.ps1 b/azure/copyfileshare.ps1 deleted file mode 100644 index 3ad8b58..0000000 --- a/azure/copyfileshare.ps1 +++ /dev/null @@ -1,42 +0,0 @@ - - -# destination storage account name -$destResourceGroup = "Imran1" -$destAccountName = "imranstoragetest" -$destAccountKey = az storage account keys list -g $destResourceGroup -n $destAccountName --query "[0].value" -o tsv -$destConnectionString = az storage account show-connection-string -n $destAccountName -g $destResourceGroup -o tsv -az storage file generate-sas --path "" --share-name "fabricnlp" - -# source storage account -$srcResourceGroup = "fabrickubernetes" -$sourceAccountName = "fabrickubernetesstorage" -$sourceAccountKey = az storage account keys list -g $srcResourceGroup -n $sourceAccountName --query "[0].value" -o tsv -$sourceSASToken = az storage file generate-sas -$sourceConnectionString = az storage account show-connection-string -n $sourceAccountName -g $srcResourceGroup -o tsv - -$sourceShare = "fabricnlp" - -# fabric nlp -az storage share snapshot ` - --name $sourceShare ` - --account-key $sourceAccountKey ` - --account-name $sourceAccountName ` - --connection-string $sourceConnectionString - - -az storage blob copy start-batch ` ---account-key $destAccountKey ` ---account-name $destAccountName ` ---connection-string $destConnectionString ` ---dryrun ` ---pattern "*" ` ---source-account-key $sourceAccountKey ` ---source-account-name $sourceAccountName ` ---source-share $sourceShare - - -# [--destination-container] -# [--source-container] -# [--sas-token] -# [--source-sas] -# [--source-uri] diff --git a/azure/create-acs-cluster-old.ps1 b/azure/create-acs-cluster-old.ps1 deleted file mode 100644 index 9df544d..0000000 --- a/azure/create-acs-cluster-old.ps1 +++ /dev/null @@ -1,475 +0,0 @@ -Write-output "--- create-acs-cluster Version 2018.03.23.02 ----" - -# -# This script is meant for quick & easy install via: -# curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/create-acs-cluster.ps1 | iex; - -$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -# $GITHUB_URL = "C:\Catalyst\git\Installscripts" - -Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1 | Invoke-Expression; -# Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; - -Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; -# Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; - - -$AKS_USE_AZURE_NETWORKING = "n" -$AKS_SUPPORT_WINDOWS_CONTAINERS = "n" - -write-output "Checking if you're already logged in..." - -DownloadAzCliIfNeeded - -$userInfo=$(GetLoggedInUserInfo) -$AKS_SUBSCRIPTION_ID = $userInfo.AKS_SUBSCRIPTION_ID -$IS_CAFE_ENVIRONMENT=$userInfo.IS_CAFE_ENVIRONMENT - -# ask for customerid -if ($IS_CAFE_ENVIRONMENT){ - Do { $customerid = Read-Host "Health Catalyst Customer ID (e.g., ahmn)"} - while ([string]::IsNullOrWhiteSpace($customerid)) - $DEFAULT_RESOURCE_GROUP = "Prod-Kub-$($customerid.ToUpper())-RG" -} -else { - $customerid="hcut" - $DEFAULT_RESOURCE_GROUP = "Dev-Kub-$($customerid.ToUpper())-RG" -} - -Write-Output "Customer ID: $customerid" - -$ResourceGroupInfo = GetResourceGroupAndLocation -defaultResourceGroup $DEFAULT_RESOURCE_GROUP -$AKS_PERS_RESOURCE_GROUP = $ResourceGroupInfo.AKS_PERS_RESOURCE_GROUP -$AKS_PERS_LOCATION = $ResourceGroupInfo.AKS_PERS_LOCATION - -$AKS_SUPPORT_WINDOWS_CONTAINERS = Read-Host "Support Windows containers (y/n) (default: n)" -if ([string]::IsNullOrWhiteSpace($AKS_SUPPORT_WINDOWS_CONTAINERS)) { - $AKS_SUPPORT_WINDOWS_CONTAINERS = "n" -} - -if ("$AKS_SUPPORT_WINDOWS_CONTAINERS" -eq "n") { - # azure networking is not supported with windows containers - # do we want to use azure networking or kube networking - $AKS_USE_AZURE_NETWORKING = Read-Host "Use Azure networking (default: y)" - if ([string]::IsNullOrWhiteSpace($AKS_USE_AZURE_NETWORKING)) { - $AKS_USE_AZURE_NETWORKING = "y" - } -} - -# service account to own the resources -$AKS_SERVICE_PRINCIPAL_NAME = Read-Host "Service account to use (default: ${AKS_PERS_RESOURCE_GROUP}Kubernetes)" -if ([string]::IsNullOrWhiteSpace($AKS_SERVICE_PRINCIPAL_NAME)) { - $AKS_SERVICE_PRINCIPAL_NAME = "${AKS_PERS_RESOURCE_GROUP}Kubernetes" -} - -# where to store the SSH keys on local machine -$AKS_LOCAL_FOLDER = Read-Host "Folder to store SSH keys (default: c:\kubernetes)" - -if ([string]::IsNullOrWhiteSpace($AKS_LOCAL_FOLDER)) {$AKS_LOCAL_FOLDER = "C:\kubernetes"} - -if (!(Test-Path -Path "$AKS_LOCAL_FOLDER")) { - Write-Output "$AKS_LOCAL_FOLDER does not exist. Creating it..." - New-Item -ItemType directory -Path $AKS_LOCAL_FOLDER -} - -AddFolderToPathEnvironmentVariable -folder $AKS_LOCAL_FOLDER - -$SSHKeyInfo = CreateSSHKey -resourceGroup $AKS_PERS_RESOURCE_GROUP -localFolder $AKS_LOCAL_FOLDER -$AKS_SSH_KEY = $SSHKeyInfo.AKS_SSH_KEY -$SSH_PRIVATE_KEY_FILE_UNIX_PATH = $SSHKeyInfo.SSH_PRIVATE_KEY_FILE_UNIX_PATH -DownloadKubectl -localFolder $AKS_LOCAL_FOLDER - -# download acs-engine -$ACS_ENGINE_FILE = "$AKS_LOCAL_FOLDER\acs-engine.exe" -$DESIRED_ACS_ENGINE_VERSION = "v0.13.0" -$downloadACSEngine = "n" -if (!(Test-Path "$ACS_ENGINE_FILE")) { - $downloadACSEngine = "y" -} -else { - $acsengineversion = acs-engine version - $acsengineversion = $acsengineversion -match "^Version: v[0-9.]+" - $acsengineversion = "[$acsengineversion]" - if ( !$acsengineversion.equals("[Version: $DESIRED_ACS_ENGINE_VERSION]")) { - $downloadACSEngine = "y" - } -} -if ($downloadACSEngine -eq "y") { - $url = "https://github.com/Azure/acs-engine/releases/download/${DESIRED_ACS_ENGINE_VERSION}/acs-engine-${DESIRED_ACS_ENGINE_VERSION}-windows-amd64.zip" - Write-Output "Downloading acs-engine.exe from $url to $ACS_ENGINE_FILE" - Remove-Item -Path "$ACS_ENGINE_FILE" - - DownloadFile -url $url -targetFile "$AKS_LOCAL_FOLDER\acs-engine.zip" - - Expand-Archive -Path "$AKS_LOCAL_FOLDER\acs-engine.zip" -DestinationPath "$AKS_LOCAL_FOLDER" -Force - Copy-Item -Path "$AKS_LOCAL_FOLDER\acs-engine-${DESIRED_ACS_ENGINE_VERSION}-windows-amd64\acs-engine.exe" -Destination $ACS_ENGINE_FILE -} -else { - Write-Output "acs-engine.exe already exists at $ACS_ENGINE_FILE" -} - -Write-Output "ACS Engine version" -acs-engine version - -$AKS_CLUSTER_NAME = "kubcluster" -# $AKS_CLUSTER_NAME = Read-Host "Cluster Name: (e.g., fabricnlpcluster)" - -$AKS_PERS_STORAGE_ACCOUNT_NAME = $(CreateStorageIfNotExists -resourceGroup $AKS_PERS_RESOURCE_GROUP).AKS_PERS_STORAGE_ACCOUNT_NAME - -# see if the user wants to use a specific virtual network -$VnetInfo = GetVnet -subscriptionId $AKS_SUBSCRIPTION_ID -$AKS_VNET_NAME = $VnetInfo.AKS_VNET_NAME -$AKS_SUBNET_NAME = $VnetInfo.AKS_SUBNET_NAME -$AKS_SUBNET_RESOURCE_GROUP = $VnetInfo.AKS_SUBNET_RESOURCE_GROUP -$AKS_FIRST_STATIC_IP = $VnetInfo.AKS_FIRST_STATIC_IP -$AKS_SUBNET_CIDR = $VnetInfo.AKS_SUBNET_CIDR - -CleanResourceGroup -resourceGroup ${AKS_PERS_RESOURCE_GROUP} -location $AKS_PERS_LOCATION -vnet $AKS_VNET_NAME ` - -subnet $AKS_SUBNET_NAME -subnetResourceGroup $AKS_SUBNET_RESOURCE_GROUP ` - -storageAccount $AKS_PERS_STORAGE_ACCOUNT_NAME - -# Read-Host "continue?" - -Write-Output "checking if Service Principal already exists" -$AKS_SERVICE_PRINCIPAL_CLIENTID = az ad sp list --display-name ${AKS_SERVICE_PRINCIPAL_NAME} --query "[].appId" --output tsv - -$myscope = "/subscriptions/${AKS_SUBSCRIPTION_ID}/resourceGroups/${AKS_PERS_RESOURCE_GROUP}" - -# https://docs.microsoft.com/en-us/azure/active-directory/active-directory-passwords-policy -if ("$AKS_SERVICE_PRINCIPAL_CLIENTID") { - Write-Host "Service Principal already exists with name: [$AKS_SERVICE_PRINCIPAL_NAME]" - $AKS_SERVICE_PRINCIPAL_CLIENTSECRET = ReadSecretPassword -secretname "serviceprincipal" - if ([string]::IsNullOrWhiteSpace($AKS_SERVICE_PRINCIPAL_CLIENTSECRET)) { - $AKS_SERVICE_PRINCIPAL_CLIENTSECRET = Read-Host "Service account password to use (leave empty to recreate service account))" - if ([string]::IsNullOrWhiteSpace($AKS_SERVICE_PRINCIPAL_CLIENTSECRET)) { - Write-Output "Deleting service principal:$AKS_SERVICE_PRINCIPAL_CLIENTID ..." - az ad sp delete --id "$AKS_SERVICE_PRINCIPAL_CLIENTID" --verbose - # https://github.com/Azure/azure-cli/issues/1332 - Write-Output "Sleeping to wait for Service Principal to propagate" - Start-Sleep -Seconds 30; - - Write-Output "Creating Service Principal: [$AKS_SERVICE_PRINCIPAL_NAME]" - $AKS_SERVICE_PRINCIPAL_CLIENTSECRET = az ad sp create-for-rbac --role="Owner" --scopes="$myscope" --name ${AKS_SERVICE_PRINCIPAL_NAME} --query "password" --output tsv - # the above command changes the color because it retries role assignment creation - [Console]::ResetColor() - } - else { - } - } - else { - Write-Host "Found past servicePrincipal client secret: $AKS_SERVICE_PRINCIPAL_CLIENTSECRET" - } - - # https://github.com/Azure/azure-cli/issues/1332 - Write-Output "Sleeping to wait for Service Principal to propagate" - Start-Sleep -Seconds 30; - $AKS_SERVICE_PRINCIPAL_CLIENTID = az ad sp list --display-name ${AKS_SERVICE_PRINCIPAL_NAME} --query "[].appId" --output tsv - Write-Output "created $AKS_SERVICE_PRINCIPAL_NAME clientId=$AKS_SERVICE_PRINCIPAL_CLIENTID clientsecret=$AKS_SERVICE_PRINCIPAL_CLIENTSECRET" -} -else { - Write-Output "Creating Service Principal: [$AKS_SERVICE_PRINCIPAL_NAME]" - $AKS_SERVICE_PRINCIPAL_CLIENTSECRET = az ad sp create-for-rbac --role="Contributor" --scopes="$myscope" --name ${AKS_SERVICE_PRINCIPAL_NAME} --query "password" --output tsv - # https://github.com/Azure/azure-cli/issues/1332 - Write-Output "Sleeping to wait for Service Principal to propagate" - Start-Sleep -Seconds 30; - [Console]::ResetColor() - - $AKS_SERVICE_PRINCIPAL_CLIENTID = az ad sp list --display-name ${AKS_SERVICE_PRINCIPAL_NAME} --query "[].appId" --output tsv - Write-Output "created $AKS_SERVICE_PRINCIPAL_NAME clientId=$AKS_SERVICE_PRINCIPAL_CLIENTID clientsecret=$AKS_SERVICE_PRINCIPAL_CLIENTSECRET" -} - -if ("$AKS_SUBNET_RESOURCE_GROUP") { - Write-Output "Giving service principal access to vnet resource group: [${AKS_SUBNET_RESOURCE_GROUP}]" - $subnetscope = "/subscriptions/${AKS_SUBSCRIPTION_ID}/resourceGroups/${AKS_SUBNET_RESOURCE_GROUP}" - az role assignment create --assignee $AKS_SERVICE_PRINCIPAL_CLIENTID --role "contributor" --scope "$subnetscope" -} - -Write-Output "Create Azure Container Service cluster" - -$mysubnetid = "/subscriptions/${AKS_SUBSCRIPTION_ID}/resourceGroups/${AKS_SUBNET_RESOURCE_GROUP}/providers/Microsoft.Network/virtualNetworks/${AKS_VNET_NAME}/subnets/${AKS_SUBNET_NAME}" - -$dnsNamePrefix = "$AKS_PERS_RESOURCE_GROUP" - -# az acs create --orchestrator-type kubernetes --resource-group $AKS_PERS_RESOURCE_GROUP --name $AKS_CLUSTER_NAME --generate-ssh-keys --agent-count=3 --agent-vm-size Standard_B2ms -#az acs create --orchestrator-type kubernetes --resource-group fabricnlpcluster --name cluster1 --service-principal="$AKS_SERVICE_PRINCIPAL_CLIENTID" --client-secret="$AKS_SERVICE_PRINCIPAL_CLIENTSECRET" --generate-ssh-keys --agent-count=3 --agent-vm-size Standard_D2 --master-vnet-subnet-id="$mysubnetid" --agent-vnet-subnet-id="$mysubnetid" - -# choose the right template based on user choice -$templateFile = "acs.template.json" -if (!"$AKS_VNET_NAME") { - $templateFile = "acs.template.nosubnet.json" -} -elseif ("$AKS_SUPPORT_WINDOWS_CONTAINERS" -eq "y") { - # https://github.com/Azure/acs-engine/issues/1767 - $templateFile = "acs.template.linuxwindows.json" -} -elseif ("$AKS_USE_AZURE_NETWORKING" -eq "y") { - $templateFile = "acs.template.azurenetwork.json" -} - -Write-Output "Using template: $GITHUB_URL/azure/$templateFile" - -$AKS_LOCAL_TEMP_FOLDER = "$AKS_LOCAL_FOLDER\$AKS_PERS_RESOURCE_GROUP\temp" -if (!(Test-Path -Path "$AKS_LOCAL_TEMP_FOLDER")) { - New-Item -ItemType directory -Path "$AKS_LOCAL_TEMP_FOLDER" -} - -# sometimes powershell starts in a strange folder where the current user doesn't have permissions -# so CD into the temp folder to avoid errors -Set-Location -Path $AKS_LOCAL_TEMP_FOLDER - -$output = "$AKS_LOCAL_TEMP_FOLDER\acs.json" -Write-Output "Downloading parameters file from github to $output" -if (Test-Path $output) { - Remove-Item $output -} - -# download the template file from github -if ($GITHUB_URL.StartsWith("http")) { - Write-Output "Downloading file: $GITHUB_URL/azure/$templateFile" - Invoke-WebRequest -Uri "$GITHUB_URL/azure/$templateFile" -OutFile $output -ContentType "text/plain; charset=utf-8" -} -else { - Copy-Item -Path "$GITHUB_URL/azure/$templateFile" -Destination "$output" -} - -# subnet CIDR to mask -# https://doc.m0n0.ch/quickstartpc/intro-CIDR.html -$WINDOWS_PASSWORD = "replacepassword1234$" -Write-Output "replacing values in the acs.json file" -Write-Output "AKS_SSH_KEY: $AKS_SSH_KEY" -Write-Output "AKS_SERVICE_PRINCIPAL_CLIENTID: $AKS_SERVICE_PRINCIPAL_CLIENTID" -Write-Output "AKS_SERVICE_PRINCIPAL_CLIENTSECRET: $AKS_SERVICE_PRINCIPAL_CLIENTSECRET" -Write-Output "SUBNET: ${mysubnetid}" -Write-Output "DNS NAME: ${dnsNamePrefix}" -Write-Output "FIRST STATIC IP: $AKS_FIRST_STATIC_IP" -Write-Output "WINDOWS PASSWORD: $WINDOWS_PASSWORD" -Write-Output "AKS_SUBNET_CIDR: $AKS_SUBNET_CIDR" -$MyFile = (Get-Content $output) | - Foreach-Object {$_ -replace 'REPLACE-SSH-KEY', "${AKS_SSH_KEY}"} | - Foreach-Object {$_ -replace 'REPLACE-CLIENTID', "${AKS_SERVICE_PRINCIPAL_CLIENTID}"} | - Foreach-Object {$_ -replace 'REPLACE-CLIENTSECRET', "${AKS_SERVICE_PRINCIPAL_CLIENTSECRET}"} | - Foreach-Object {$_ -replace 'REPLACE-SUBNET', "${mysubnetid}"} | - Foreach-Object {$_ -replace 'REPLACE-DNS-NAME-PREFIX', "${dnsNamePrefix}"} | - Foreach-Object {$_ -replace 'REPLACE-FIRST-STATIC-IP', "${AKS_FIRST_STATIC_IP}"} | - Foreach-Object {$_ -replace 'REPLACE-WINDOWS-PASSWORD', "${WINDOWS_PASSWORD}"} | - Foreach-Object {$_ -replace 'REPLACE_VNET_CIDR', "${AKS_SUBNET_CIDR}"} - - - -# have to do it this way instead of Outfile so we can get a UTF-8 file without BOM -# from https://stackoverflow.com/questions/5596982/using-powershell-to-write-a-file-in-utf-8-without-the-bom -$Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding $False -[System.IO.File]::WriteAllLines($output, $MyFile, $Utf8NoBomEncoding) - -$acsoutputfolder = "$AKS_LOCAL_TEMP_FOLDER\_output\$dnsNamePrefix" -if (!(Test-Path -Path "$acsoutputfolder")) { - New-Item -ItemType directory -Path "$acsoutputfolder" -} - -Write-Output "Deleting everything in the output folder" -Remove-Item -Path $acsoutputfolder -Recurse -Force - -Write-Output "Generating ACS engine template" - -# acs-engine deploy --subscription-id "$AKS_SUBSCRIPTION_ID" ` -# --dns-prefix $dnsNamePrefix --location $AKS_PERS_LOCATION ` -# --resource-group $AKS_PERS_RESOURCE_GROUP ` -# --api-model "$output" ` -# --output-directory "$acsoutputfolder" - -acs-engine generate $output --output-directory $acsoutputfolder - -if ("$AKS_SUPPORT_WINDOWS_CONTAINERS" -eq "y") { - - if ("$AKS_VNET_NAME") { - Write-Output "Adding subnet to azuredeploy.json to work around acs-engine bug" - $outputdeployfile = "$acsoutputfolder\azuredeploy.json" - # https://github.com/Azure/acs-engine/issues/1767 - # "subnet": "${mysubnetid}" - # replace "vnetSubnetID": "[parameters('masterVnetSubnetID')]" - # "subnet": "[parameters('masterVnetSubnetID')]" - - #there is a bug in acs-engine: https://github.com/Azure/acs-engine/issues/1767 - $mydeployjson = Get-Content -Raw -Path $outputdeployfile | ConvertFrom-Json - $mydeployjson.variables | Add-Member -Type NoteProperty -Name 'subnet' -Value "[parameters('masterVnetSubnetID')]" - $outjson = ConvertTo-Json -InputObject $mydeployjson -Depth 10 - Set-Content -Path $outputdeployfile -Value $outjson - } -} - -# --orchestrator-version 1.8 ` -# --ssh-key-value - -# az acs create ` -# --orchestrator-type kubernetes ` -# --dns-prefix ${dnsNamePrefix} ` -# --resource-group $AKS_PERS_RESOURCE_GROUP ` -# --name $AKS_CLUSTER_NAME ` -# --location $AKS_PERS_LOCATION ` -# --service-principal="$AKS_SERVICE_PRINCIPAL_CLIENTID" ` -# --client-secret="$AKS_SERVICE_PRINCIPAL_CLIENTSECRET" ` -# --agent-count=3 --agent-vm-size Standard_D2 ` -# --master-vnet-subnet-id="$mysubnetid" ` -# --agent-vnet-subnet-id="$mysubnetid" - -Write-Output "Validating deployment" -az group deployment validate ` - --template-file "$acsoutputfolder\azuredeploy.json" ` - --resource-group $AKS_PERS_RESOURCE_GROUP ` - --parameters "$acsoutputfolder\azuredeploy.parameters.json" - -Write-Output "Starting deployment..." - -az group deployment create ` - --template-file "$acsoutputfolder\azuredeploy.json" ` - --resource-group $AKS_PERS_RESOURCE_GROUP -n $AKS_CLUSTER_NAME ` - --parameters "$acsoutputfolder\azuredeploy.parameters.json" ` - --verbose - -# Write-Output "Saved to $acsoutputfolder\azuredeploy.json" - -# if joining a vnet, and not using azure networking then we have to manually set the route-table -if ("$AKS_VNET_NAME") { - if ("$AKS_USE_AZURE_NETWORKING" -eq "n") { - Write-Output "Attaching route table" - # https://github.com/Azure/acs-engine/blob/master/examples/vnet/k8s-vnet-postdeploy.sh - $rt = az network route-table list -g "${AKS_PERS_RESOURCE_GROUP}" --query "[?name != 'temproutetable'].id" -o tsv - $nsg = az network nsg list --resource-group ${AKS_PERS_RESOURCE_GROUP} --query "[?name != 'tempnsg'].id" -o tsv - - Write-Output "new route: $rt" - Write-Output "new nsg: $nsg" - - az network vnet subnet update -n "${AKS_SUBNET_NAME}" -g "${AKS_SUBNET_RESOURCE_GROUP}" --vnet-name "${AKS_VNET_NAME}" --route-table "$rt" --network-security-group "$nsg" - - Write-Output "Sleeping to let subnet be updated" - Start-Sleep -Seconds 30 - - az network route-table delete --name temproutetable --resource-group $AKS_PERS_RESOURCE_GROUP - az network nsg delete --name tempnsg --resource-group $AKS_PERS_RESOURCE_GROUP - } -} - -# az.cmd acs kubernetes get-credentials ` -# --resource-group=$AKS_PERS_RESOURCE_GROUP ` -# --name=$AKS_CLUSTER_NAME - -# Write-Output "Getting kube config by ssh to the master VM" -# $MASTER_VM_NAME = "${AKS_PERS_RESOURCE_GROUP}.${AKS_PERS_LOCATION}.cloudapp.azure.com" -# $SSH_PRIVATE_KEY_FILE = "$env:userprofile\.ssh\id_rsa" - -# if (Get-Module -ListAvailable -Name Posh-SSH) { -# } -# else { -# Install-Module Posh-SSH -Scope CurrentUser -Force -# } - -# # from http://www.powershellmagazine.com/2014/07/03/posh-ssh-open-source-ssh-powershell-module/ -# $User = "azureuser" -# $Credential = New-Object System.Management.Automation.PSCredential($User, (new-object System.Security.SecureString)) -# # New-SSHSession -ComputerName ${MASTER_VM_NAME} -KeyFile "${SSH_PRIVATE_KEY_FILE}" -Credential $Credential -AcceptKey -Verbose -Force -# # Invoke-SSHCommand -Command "cat ./.kube/config" -SessionId 0 -# Get-SCPFile -LocalFile "$env:userprofile\.kube\config" -RemoteFile "./.kube/config" -ComputerName ${MASTER_VM_NAME} -KeyFile "${SSH_PRIVATE_KEY_FILE}" -Credential $Credential -AcceptKey -Verbose -Force -# Remove-SSHSession -SessionId 0 - -# store kube config in local folder -if (!(Test-Path -Path "$env:userprofile\.kube")) { - Write-Output "$env:userprofile\.kube does not exist. Creating it..." - New-Item -ItemType directory -Path "$env:userprofile\.kube" -} -if (!(Test-Path -Path "$AKS_LOCAL_TEMP_FOLDER\.kube")) { - New-Item -ItemType directory -Path "$AKS_LOCAL_TEMP_FOLDER\.kube" -} - -$privateIpOfMasterVM = $(GetPrivateIPofMasterVM -resourceGroup $AKS_PERS_RESOURCE_GROUP).PrivateIP -$publicNameOfMasterVM = $(GetPublicNameofMasterVM -resourceGroup $AKS_PERS_RESOURCE_GROUP).Name -$kubeconfigjsonfile = "$acsoutputfolder\kubeconfig\kubeconfig.$AKS_PERS_LOCATION.json" - -if($IS_CAFE_ENVIRONMENT){ - Write-Host "Replacing master vm name, [$publicNameOfMasterVM], with private ip, [$privateIpOfMasterVM], in kube config file" - (Get-Content "$kubeconfigjsonfile").replace("$publicNameOfMasterVM", "$privateIpOfMasterVM") | Set-Content "$kubeconfigjsonfile" -} - -Copy-Item -Path "$kubeconfigjsonfile" -Destination "$env:userprofile\.kube\config" - -Copy-Item -Path "$kubeconfigjsonfile" -Destination "$AKS_LOCAL_TEMP_FOLDER\.kube\config" - -# If ((Get-Content "$($env:windir)\system32\Drivers\etc\hosts" ) -notcontains "127.0.0.1 hostname1") -# {ac -Encoding UTF8 "$($env:windir)\system32\Drivers\etc\hosts" "127.0.0.1 hostname1" } - -$MASTER_VM_NAME = "${AKS_PERS_RESOURCE_GROUP}.${AKS_PERS_LOCATION}.cloudapp.azure.com" -Write-Output "You can connect to master VM in Git Bash for debugging using:" -Write-Output "ssh -i ${SSH_PRIVATE_KEY_FILE_UNIX_PATH} azureuser@${MASTER_VM_NAME}" - -Write-Output "Check nodes via kubectl" -# set the environment variable so kubectl gets the new config -$env:KUBECONFIG = "${HOME}\.kube\config" -kubectl get nodes -o=name - -# wait until the nodes are up -$nodeCount = 0 - -while ($nodeCount -lt 3) { - $lines = kubectl get nodes -o=name | Measure-Object -Line - $nodeCount = $lines.Lines - Start-Sleep -s 10 -} - -# create storage account - -Write-Output "Get storage account key" -$STORAGE_KEY = az storage account keys list --resource-group $AKS_PERS_RESOURCE_GROUP --account-name $AKS_PERS_STORAGE_ACCOUNT_NAME --query "[0].value" --output tsv - -# Write-Output "Storagekey: [$STORAGE_KEY]" - -Write-Output "Creating kubernetes secret for Azure Storage Account: azure-secret" -kubectl create secret generic azure-secret --from-literal=resourcegroup="${AKS_PERS_RESOURCE_GROUP}" --from-literal=azurestorageaccountname="${AKS_PERS_STORAGE_ACCOUNT_NAME}" --from-literal=azurestorageaccountkey="${STORAGE_KEY}" -Write-Output "Creating kubernetes secret for customerid: customerid" -kubectl create secret generic customerid --from-literal=value=$customerid -Write-Output "Creating kubernetes secret for vnet: azure-vnet" -kubectl create secret generic azure-vnet --from-literal=vnet="${AKS_VNET_NAME}" --from-literal=subnet="${AKS_SUBNET_NAME}" --from-literal=subnetResourceGroup="${AKS_SUBNET_RESOURCE_GROUP}" -Write-Output "Creating kubernetes secret for service principal" -kubectl create secret generic serviceprincipal --from-literal=clientid="$AKS_SERVICE_PRINCIPAL_CLIENTID" --from-literal=password="$AKS_SERVICE_PRINCIPAL_CLIENTSECRET" -if (![string]::IsNullOrEmpty($WINDOWS_PASSWORD)) { - Write-Output "Creating kubernetes secret for windows VM" - kubectl create secret generic windowspassword --from-literal=password="$WINDOWS_PASSWORD" -} - -kubectl get "deployments,pods,services,ingress,secrets" --namespace=kube-system -o wide - -# kubectl patch deployment kube-dns-v20 -n kube-system -p '{"spec":{"template":{"spec":{"containers":[{"name":"myapp","image":"172.20.34.206:5000/myapp:img:3.0"}]}}}}' -# kubectl patch deployment kube-dns-v20 -n kube-system -p '{"spec":{"template":{"spec":{"restartPolicy":"Never"}}}}' - -# Write-Output "Restarting DNS Pods (sometimes they get in a CrashLoopBackoff loop)" -# $failedItems = kubectl get pods -l k8s-app=kube-dns -n kube-system -o jsonpath='{range.items[*]}{.metadata.name}{\"\n\"}{end}' -# ForEach ($line in $failedItems) { -# Write-Host "Deleting pod $line" -# kubectl delete pod $line -n kube-system -# } - -SetHostFileInVms -resourceGroup $AKS_PERS_RESOURCE_GROUP -SetupCronTab -resourceGroup $AKS_PERS_RESOURCE_GROUP - -Write-Host "Removing extra stuff that acs-engine creates" -# k8s-master-lb-24203516 -# k8s-master-ip-prod-kub-sjtn-rg-24203516 - -# /subscriptions/f8a42a3a-8b22-4be4-8413-0b6911c77242/resourceGroups/Prod-Kub-AHMN-RG/providers/Microsoft.Network/networkInterfaces/k8s-master-37819884-nic-0 - -# command to update hosts -# grep -v " k8s-master-37819884-0" /etc/hosts | grep -v "k8s-linuxagent-37819884-0" - | grep -v "k8s-linuxagent-37819884-1" - | grep -v "prod-kub-ahmn-rg.westus.cloudapp.azure.com" - | tee /etc/hosts -# | ( cat - && echo "foo" && echo "bar") -# | tee /etc/hosts - -# copy the file into /etc/cron.hourly/ -# chmod +x ./restartkubedns.sh -# sudo mv ./restartkubedns.sh /etc/cron.hourly/ -# grep CRON /var/log/syslog -# * * * * * /etc/cron.hourly/restartkubedns.sh >>/tmp/restartkubedns.log -# https://stackoverflow.com/questions/878600/how-to-create-a-cron-job-using-bash-automatically-without-the-interactive-editor -# crontab -l | { cat; echo "*/10 * * * * /etc/cron.hourly/restartkubedns.sh >>/tmp/restartkubedns.log"; } | crontab - -# az vm extension set --resource-group Prod-Kub-AHMN-RG --vm-name k8s-master-37819884-0 --name customScript --publisher Microsoft.Azure.Extensions --protected-settings "{'commandToExecute': 'whoami;touch /tmp/me.txt'}" -# az vm run-command invoke -g Prod-Kub-AHMN-RG -n k8s-master-37819884-0 --command-id RunShellScript --scripts "whomai" -# az vm run-command invoke -g Prod-Kub-AHMN-RG -n k8s-master-37819884-0 --command-id RunShellScript --scripts "crontab -l | { cat; echo '*/10 * * * * /etc/cron.hourly/restartkubedns.sh >>/tmp/restartkubedns.log 2>&1'; } | crontab -" - -Write-Output "Run the following to see status of the cluster" -Write-Output "kubectl get deployments,pods,services,ingress,secrets --namespace=kube-system -o wide" diff --git a/azure/create-acs-cluster.ps1 b/azure/create-acs-cluster.ps1 index 73f5817..7a0d1bf 100644 --- a/azure/create-acs-cluster.ps1 +++ b/azure/create-acs-cluster.ps1 @@ -1,465 +1,4 @@ -Write-output "--- create-acs-cluster Version 2018.03.27.01 ----" -# -# This script is meant for quick & easy install via: -# curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/create-acs-cluster.ps1 | iex; -$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -# $GITHUB_URL = "C:\Catalyst\git\Installscripts" +Write-Host "This has now moved to curl -useb https://raw.githubusercontent.com/HealthCatalyst/dos.install/master/azure/create-acs-cluster.ps1 | iex;" -Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1 | Invoke-Expression; -# Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; - -Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; -# Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; - - -write-output "Checking if you're already logged in..." - -DownloadAzCliIfNeeded - -$config = $(ReadConfigFile).Config -Write-Host $config - -$userInfo=$(GetLoggedInUserInfo) -$AKS_SUBSCRIPTION_ID = $userInfo.AKS_SUBSCRIPTION_ID -$IS_CAFE_ENVIRONMENT=$userInfo.IS_CAFE_ENVIRONMENT - -$customerid=$($config.customerid) - -Write-Output "Customer ID: $customerid" - -$AKS_PERS_RESOURCE_GROUP = $config.azure.resourceGroup -$AKS_PERS_LOCATION = $config.azure.location - -CreateResourceGroupIfNotExists -resourceGroup $AKS_PERS_RESOURCE_GROUP -location $AKS_PERS_LOCATION - -$AKS_SUPPORT_WINDOWS_CONTAINERS = $config.azure.create_windows_containers -$AKS_USE_AZURE_NETWORKING = $config.azure.use_azure_networking - -if ($AKS_SUPPORT_WINDOWS_CONTAINERS) { - # azure networking is not supported with windows containers - if($AKS_USE_AZURE_NETWORKING){ - Write-Error "Azure networking is not supported with Windows containers" - } -} - -# service account to own the resources -$AKS_SERVICE_PRINCIPAL_NAME = $config.service_principal.name - -if ([string]::IsNullOrWhiteSpace($AKS_SERVICE_PRINCIPAL_NAME)) { - $AKS_SERVICE_PRINCIPAL_NAME = "${AKS_PERS_RESOURCE_GROUP}Kubernetes" -} - -# where to store the SSH keys on local machine -$AKS_LOCAL_FOLDER = $config.local_folder - -if ([string]::IsNullOrWhiteSpace($AKS_LOCAL_FOLDER)) {$AKS_LOCAL_FOLDER = "C:\kubernetes"} - -if (!(Test-Path -Path "$AKS_LOCAL_FOLDER")) { - Write-Output "$AKS_LOCAL_FOLDER does not exist. Creating it..." - New-Item -ItemType directory -Path $AKS_LOCAL_FOLDER -} - -AddFolderToPathEnvironmentVariable -folder $AKS_LOCAL_FOLDER - -$SSHKeyInfo = CreateSSHKey -resourceGroup $AKS_PERS_RESOURCE_GROUP -localFolder $AKS_LOCAL_FOLDER -$AKS_SSH_KEY = $SSHKeyInfo.AKS_SSH_KEY -$SSH_PRIVATE_KEY_FILE_UNIX_PATH = $SSHKeyInfo.SSH_PRIVATE_KEY_FILE_UNIX_PATH -DownloadKubectl -localFolder $AKS_LOCAL_FOLDER - -# download acs-engine -$ACS_ENGINE_FILE = "$AKS_LOCAL_FOLDER\acs-engine.exe" -$DESIRED_ACS_ENGINE_VERSION = "v0.13.0" -$downloadACSEngine = "n" -if (!(Test-Path "$ACS_ENGINE_FILE")) { - $downloadACSEngine = "y" -} -else { - $acsengineversion = acs-engine version - $acsengineversion = $acsengineversion -match "^Version: v[0-9.]+" - $acsengineversion = "[$acsengineversion]" - if ( !$acsengineversion.equals("[Version: $DESIRED_ACS_ENGINE_VERSION]")) { - $downloadACSEngine = "y" - } -} -if ($downloadACSEngine -eq "y") { - $url = "https://github.com/Azure/acs-engine/releases/download/${DESIRED_ACS_ENGINE_VERSION}/acs-engine-${DESIRED_ACS_ENGINE_VERSION}-windows-amd64.zip" - Write-Output "Downloading acs-engine.exe from $url to $ACS_ENGINE_FILE" - Remove-Item -Path "$ACS_ENGINE_FILE" - - DownloadFile -url $url -targetFile "$AKS_LOCAL_FOLDER\acs-engine.zip" - - Expand-Archive -Path "$AKS_LOCAL_FOLDER\acs-engine.zip" -DestinationPath "$AKS_LOCAL_FOLDER" -Force - Copy-Item -Path "$AKS_LOCAL_FOLDER\acs-engine-${DESIRED_ACS_ENGINE_VERSION}-windows-amd64\acs-engine.exe" -Destination $ACS_ENGINE_FILE -} -else { - Write-Output "acs-engine.exe already exists at $ACS_ENGINE_FILE" -} - -Write-Output "ACS Engine version" -acs-engine version - -$AKS_CLUSTER_NAME = "kubcluster" -# $AKS_CLUSTER_NAME = Read-Host "Cluster Name: (e.g., fabricnlpcluster)" - -$AKS_PERS_STORAGE_ACCOUNT_NAME = $(CreateStorageIfNotExists -resourceGroup $AKS_PERS_RESOURCE_GROUP -deleteStorageAccountIfExists $config.storage_account.delete_if_exists).AKS_PERS_STORAGE_ACCOUNT_NAME - -$AKS_VNET_NAME = $config.networking.vnet -$AKS_SUBNET_NAME = $config.networking.subnet -$AKS_SUBNET_RESOURCE_GROUP = $config.networking.subnet_resource_group - -# see if the user wants to use a specific virtual network -$VnetInfo = GetVnetInfo -subscriptionId $AKS_SUBSCRIPTION_ID -subnetResourceGroup $AKS_SUBNET_RESOURCE_GROUP -vnetName $AKS_VNET_NAME -subnetName $AKS_SUBNET_NAME -$AKS_FIRST_STATIC_IP = $VnetInfo.AKS_FIRST_STATIC_IP -$AKS_SUBNET_CIDR = $VnetInfo.AKS_SUBNET_CIDR - -CleanResourceGroup -resourceGroup ${AKS_PERS_RESOURCE_GROUP} -location $AKS_PERS_LOCATION -vnet $AKS_VNET_NAME ` - -subnet $AKS_SUBNET_NAME -subnetResourceGroup $AKS_SUBNET_RESOURCE_GROUP ` - -storageAccount $AKS_PERS_STORAGE_ACCOUNT_NAME - -# Read-Host "continue?" - -Write-Output "checking if Service Principal already exists" -$AKS_SERVICE_PRINCIPAL_CLIENTID = az ad sp list --display-name ${AKS_SERVICE_PRINCIPAL_NAME} --query "[].appId" --output tsv - -$myscope = "/subscriptions/${AKS_SUBSCRIPTION_ID}/resourceGroups/${AKS_PERS_RESOURCE_GROUP}" - -# https://docs.microsoft.com/en-us/azure/active-directory/active-directory-passwords-policy -if ("$AKS_SERVICE_PRINCIPAL_CLIENTID") { - Write-Host "Service Principal already exists with name: [$AKS_SERVICE_PRINCIPAL_NAME]" - $AKS_SERVICE_PRINCIPAL_CLIENTSECRET = ReadSecretPassword -secretname "serviceprincipal" - if ([string]::IsNullOrWhiteSpace($AKS_SERVICE_PRINCIPAL_CLIENTSECRET)) { - - if($($config.service_principal.delete_if_exists)) { - Write-Output "Deleting service principal:$AKS_SERVICE_PRINCIPAL_CLIENTID ..." - az ad sp delete --id "$AKS_SERVICE_PRINCIPAL_CLIENTID" --verbose - # https://github.com/Azure/azure-cli/issues/1332 - Write-Output "Sleeping to wait for Service Principal to propagate" - Start-Sleep -Seconds 30; - - Write-Output "Creating Service Principal: [$AKS_SERVICE_PRINCIPAL_NAME]" - $AKS_SERVICE_PRINCIPAL_CLIENTSECRET = az ad sp create-for-rbac --role="Owner" --scopes="$myscope" --name ${AKS_SERVICE_PRINCIPAL_NAME} --query "password" --output tsv - # the above command changes the color because it retries role assignment creation - [Console]::ResetColor() - } - else { - } - } - else { - Write-Host "Found past servicePrincipal client secret: $AKS_SERVICE_PRINCIPAL_CLIENTSECRET" - } - - # https://github.com/Azure/azure-cli/issues/1332 - Write-Output "Sleeping to wait for Service Principal to propagate" - Start-Sleep -Seconds 30; - $AKS_SERVICE_PRINCIPAL_CLIENTID = az ad sp list --display-name ${AKS_SERVICE_PRINCIPAL_NAME} --query "[].appId" --output tsv - Write-Output "created $AKS_SERVICE_PRINCIPAL_NAME clientId=$AKS_SERVICE_PRINCIPAL_CLIENTID clientsecret=$AKS_SERVICE_PRINCIPAL_CLIENTSECRET" -} -else { - Write-Output "Creating Service Principal: [$AKS_SERVICE_PRINCIPAL_NAME]" - $AKS_SERVICE_PRINCIPAL_CLIENTSECRET = az ad sp create-for-rbac --role="Contributor" --scopes="$myscope" --name ${AKS_SERVICE_PRINCIPAL_NAME} --query "password" --output tsv - # https://github.com/Azure/azure-cli/issues/1332 - Write-Output "Sleeping to wait for Service Principal to propagate" - Start-Sleep -Seconds 30; - [Console]::ResetColor() - - $AKS_SERVICE_PRINCIPAL_CLIENTID = az ad sp list --display-name ${AKS_SERVICE_PRINCIPAL_NAME} --query "[].appId" --output tsv - Write-Output "created $AKS_SERVICE_PRINCIPAL_NAME clientId=$AKS_SERVICE_PRINCIPAL_CLIENTID clientsecret=$AKS_SERVICE_PRINCIPAL_CLIENTSECRET" -} - -if ("$AKS_SUBNET_RESOURCE_GROUP") { - Write-Output "Giving service principal access to vnet resource group: [${AKS_SUBNET_RESOURCE_GROUP}]" - $subnetscope = "/subscriptions/${AKS_SUBSCRIPTION_ID}/resourceGroups/${AKS_SUBNET_RESOURCE_GROUP}" - az role assignment create --assignee $AKS_SERVICE_PRINCIPAL_CLIENTID --role "contributor" --scope "$subnetscope" -} - -Write-Output "Create Azure Container Service cluster" - -$mysubnetid = "/subscriptions/${AKS_SUBSCRIPTION_ID}/resourceGroups/${AKS_SUBNET_RESOURCE_GROUP}/providers/Microsoft.Network/virtualNetworks/${AKS_VNET_NAME}/subnets/${AKS_SUBNET_NAME}" - -$dnsNamePrefix = "$AKS_PERS_RESOURCE_GROUP" - -# az acs create --orchestrator-type kubernetes --resource-group $AKS_PERS_RESOURCE_GROUP --name $AKS_CLUSTER_NAME --generate-ssh-keys --agent-count=3 --agent-vm-size Standard_B2ms -#az acs create --orchestrator-type kubernetes --resource-group fabricnlpcluster --name cluster1 --service-principal="$AKS_SERVICE_PRINCIPAL_CLIENTID" --client-secret="$AKS_SERVICE_PRINCIPAL_CLIENTSECRET" --generate-ssh-keys --agent-count=3 --agent-vm-size Standard_D2 --master-vnet-subnet-id="$mysubnetid" --agent-vnet-subnet-id="$mysubnetid" - -# choose the right template based on user choice -$templateFile = "acs.template.json" -if (!"$AKS_VNET_NAME") { - $templateFile = "acs.template.nosubnet.json" -} -elseif ($AKS_SUPPORT_WINDOWS_CONTAINERS) { - # https://github.com/Azure/acs-engine/issues/1767 - $templateFile = "acs.template.linuxwindows.json" -} -elseif ($AKS_USE_AZURE_NETWORKING) { - $templateFile = "acs.template.azurenetwork.json" -} - -Write-Output "Using template: $GITHUB_URL/azure/$templateFile" - -$AKS_LOCAL_TEMP_FOLDER = "$AKS_LOCAL_FOLDER\$AKS_PERS_RESOURCE_GROUP\temp" -if (!(Test-Path -Path "$AKS_LOCAL_TEMP_FOLDER")) { - New-Item -ItemType directory -Path "$AKS_LOCAL_TEMP_FOLDER" -} - -# sometimes powershell starts in a strange folder where the current user doesn't have permissions -# so CD into the temp folder to avoid errors -Set-Location -Path $AKS_LOCAL_TEMP_FOLDER - -$output = "$AKS_LOCAL_TEMP_FOLDER\acs.json" -Write-Output "Downloading parameters file from github to $output" -if (Test-Path $output) { - Remove-Item $output -} - -# download the template file from github -if ($GITHUB_URL.StartsWith("http")) { - Write-Output "Downloading file: $GITHUB_URL/azure/$templateFile" - Invoke-WebRequest -Uri "$GITHUB_URL/azure/$templateFile" -OutFile $output -ContentType "text/plain; charset=utf-8" -} -else { - Copy-Item -Path "$GITHUB_URL/azure/$templateFile" -Destination "$output" -} - -# subnet CIDR to mask -# https://doc.m0n0.ch/quickstartpc/intro-CIDR.html -$WINDOWS_PASSWORD = "replacepassword1234$" -Write-Output "replacing values in the acs.json file" -Write-Output "AKS_SSH_KEY: $AKS_SSH_KEY" -Write-Output "AKS_SERVICE_PRINCIPAL_CLIENTID: $AKS_SERVICE_PRINCIPAL_CLIENTID" -Write-Output "AKS_SERVICE_PRINCIPAL_CLIENTSECRET: $AKS_SERVICE_PRINCIPAL_CLIENTSECRET" -Write-Output "SUBNET: ${mysubnetid}" -Write-Output "DNS NAME: ${dnsNamePrefix}" -Write-Output "FIRST STATIC IP: $AKS_FIRST_STATIC_IP" -Write-Output "WINDOWS PASSWORD: $WINDOWS_PASSWORD" -Write-Output "AKS_SUBNET_CIDR: $AKS_SUBNET_CIDR" -$MyFile = (Get-Content $output) | - Foreach-Object {$_ -replace 'REPLACE-SSH-KEY', "${AKS_SSH_KEY}"} | - Foreach-Object {$_ -replace 'REPLACE-CLIENTID', "${AKS_SERVICE_PRINCIPAL_CLIENTID}"} | - Foreach-Object {$_ -replace 'REPLACE-CLIENTSECRET', "${AKS_SERVICE_PRINCIPAL_CLIENTSECRET}"} | - Foreach-Object {$_ -replace 'REPLACE-SUBNET', "${mysubnetid}"} | - Foreach-Object {$_ -replace 'REPLACE-DNS-NAME-PREFIX', "${dnsNamePrefix}"} | - Foreach-Object {$_ -replace 'REPLACE-FIRST-STATIC-IP', "${AKS_FIRST_STATIC_IP}"} | - Foreach-Object {$_ -replace 'REPLACE-WINDOWS-PASSWORD', "${WINDOWS_PASSWORD}"} | - Foreach-Object {$_ -replace 'REPLACE_VNET_CIDR', "${AKS_SUBNET_CIDR}"} - - - -# have to do it this way instead of Outfile so we can get a UTF-8 file without BOM -# from https://stackoverflow.com/questions/5596982/using-powershell-to-write-a-file-in-utf-8-without-the-bom -$Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding $False -[System.IO.File]::WriteAllLines($output, $MyFile, $Utf8NoBomEncoding) - -$acsoutputfolder = "$AKS_LOCAL_TEMP_FOLDER\_output\$dnsNamePrefix" -if (!(Test-Path -Path "$acsoutputfolder")) { - New-Item -ItemType directory -Path "$acsoutputfolder" -} - -Write-Output "Deleting everything in the output folder" -Remove-Item -Path $acsoutputfolder -Recurse -Force - -Write-Output "Generating ACS engine template" - -# acs-engine deploy --subscription-id "$AKS_SUBSCRIPTION_ID" ` -# --dns-prefix $dnsNamePrefix --location $AKS_PERS_LOCATION ` -# --resource-group $AKS_PERS_RESOURCE_GROUP ` -# --api-model "$output" ` -# --output-directory "$acsoutputfolder" - -acs-engine generate $output --output-directory $acsoutputfolder - -if ($AKS_SUPPORT_WINDOWS_CONTAINERS) { - - if ("$AKS_VNET_NAME") { - Write-Output "Adding subnet to azuredeploy.json to work around acs-engine bug" - $outputdeployfile = "$acsoutputfolder\azuredeploy.json" - # https://github.com/Azure/acs-engine/issues/1767 - # "subnet": "${mysubnetid}" - # replace "vnetSubnetID": "[parameters('masterVnetSubnetID')]" - # "subnet": "[parameters('masterVnetSubnetID')]" - - #there is a bug in acs-engine: https://github.com/Azure/acs-engine/issues/1767 - $mydeployjson = Get-Content -Raw -Path $outputdeployfile | ConvertFrom-Json - $mydeployjson.variables | Add-Member -Type NoteProperty -Name 'subnet' -Value "[parameters('masterVnetSubnetID')]" - $outjson = ConvertTo-Json -InputObject $mydeployjson -Depth 10 - Set-Content -Path $outputdeployfile -Value $outjson - } -} - -# --orchestrator-version 1.8 ` -# --ssh-key-value - -# az acs create ` -# --orchestrator-type kubernetes ` -# --dns-prefix ${dnsNamePrefix} ` -# --resource-group $AKS_PERS_RESOURCE_GROUP ` -# --name $AKS_CLUSTER_NAME ` -# --location $AKS_PERS_LOCATION ` -# --service-principal="$AKS_SERVICE_PRINCIPAL_CLIENTID" ` -# --client-secret="$AKS_SERVICE_PRINCIPAL_CLIENTSECRET" ` -# --agent-count=3 --agent-vm-size Standard_D2 ` -# --master-vnet-subnet-id="$mysubnetid" ` -# --agent-vnet-subnet-id="$mysubnetid" - -Write-Output "Validating deployment" -az group deployment validate ` - --template-file "$acsoutputfolder\azuredeploy.json" ` - --resource-group $AKS_PERS_RESOURCE_GROUP ` - --parameters "$acsoutputfolder\azuredeploy.parameters.json" - -Write-Output "Starting deployment..." - -az group deployment create ` - --template-file "$acsoutputfolder\azuredeploy.json" ` - --resource-group $AKS_PERS_RESOURCE_GROUP -n $AKS_CLUSTER_NAME ` - --parameters "$acsoutputfolder\azuredeploy.parameters.json" ` - --verbose - -# Write-Output "Saved to $acsoutputfolder\azuredeploy.json" - -# if joining a vnet, and not using azure networking then we have to manually set the route-table -if ("$AKS_VNET_NAME") { - if (!$AKS_USE_AZURE_NETWORKING) { - Write-Output "Attaching route table" - # https://github.com/Azure/acs-engine/blob/master/examples/vnet/k8s-vnet-postdeploy.sh - $rt = az network route-table list -g "${AKS_PERS_RESOURCE_GROUP}" --query "[?name != 'temproutetable'].id" -o tsv - $nsg = az network nsg list --resource-group ${AKS_PERS_RESOURCE_GROUP} --query "[?name != 'tempnsg'].id" -o tsv - - Write-Output "new route: $rt" - Write-Output "new nsg: $nsg" - - az network vnet subnet update -n "${AKS_SUBNET_NAME}" -g "${AKS_SUBNET_RESOURCE_GROUP}" --vnet-name "${AKS_VNET_NAME}" --route-table "$rt" --network-security-group "$nsg" - - Write-Output "Sleeping to let subnet be updated" - Start-Sleep -Seconds 30 - - az network route-table delete --name temproutetable --resource-group $AKS_PERS_RESOURCE_GROUP - az network nsg delete --name tempnsg --resource-group $AKS_PERS_RESOURCE_GROUP - } -} - -# az.cmd acs kubernetes get-credentials ` -# --resource-group=$AKS_PERS_RESOURCE_GROUP ` -# --name=$AKS_CLUSTER_NAME - -# Write-Output "Getting kube config by ssh to the master VM" -# $MASTER_VM_NAME = "${AKS_PERS_RESOURCE_GROUP}.${AKS_PERS_LOCATION}.cloudapp.azure.com" -# $SSH_PRIVATE_KEY_FILE = "$env:userprofile\.ssh\id_rsa" - -# if (Get-Module -ListAvailable -Name Posh-SSH) { -# } -# else { -# Install-Module Posh-SSH -Scope CurrentUser -Force -# } - -# # from http://www.powershellmagazine.com/2014/07/03/posh-ssh-open-source-ssh-powershell-module/ -# $User = "azureuser" -# $Credential = New-Object System.Management.Automation.PSCredential($User, (new-object System.Security.SecureString)) -# # New-SSHSession -ComputerName ${MASTER_VM_NAME} -KeyFile "${SSH_PRIVATE_KEY_FILE}" -Credential $Credential -AcceptKey -Verbose -Force -# # Invoke-SSHCommand -Command "cat ./.kube/config" -SessionId 0 -# Get-SCPFile -LocalFile "$env:userprofile\.kube\config" -RemoteFile "./.kube/config" -ComputerName ${MASTER_VM_NAME} -KeyFile "${SSH_PRIVATE_KEY_FILE}" -Credential $Credential -AcceptKey -Verbose -Force -# Remove-SSHSession -SessionId 0 - -# store kube config in local folder -if (!(Test-Path -Path "$env:userprofile\.kube")) { - Write-Output "$env:userprofile\.kube does not exist. Creating it..." - New-Item -ItemType directory -Path "$env:userprofile\.kube" -} -if (!(Test-Path -Path "$AKS_LOCAL_TEMP_FOLDER\.kube")) { - New-Item -ItemType directory -Path "$AKS_LOCAL_TEMP_FOLDER\.kube" -} - -$privateIpOfMasterVM = $(GetPrivateIPofMasterVM -resourceGroup $AKS_PERS_RESOURCE_GROUP).PrivateIP -$publicNameOfMasterVM = $(GetPublicNameofMasterVM -resourceGroup $AKS_PERS_RESOURCE_GROUP).Name -$kubeconfigjsonfile = "$acsoutputfolder\kubeconfig\kubeconfig.$AKS_PERS_LOCATION.json" - -if($IS_CAFE_ENVIRONMENT){ - Write-Host "Replacing master vm name, [$publicNameOfMasterVM], with private ip, [$privateIpOfMasterVM], in kube config file" - (Get-Content "$kubeconfigjsonfile").replace("$publicNameOfMasterVM", "$privateIpOfMasterVM") | Set-Content "$kubeconfigjsonfile" -} - -Copy-Item -Path "$kubeconfigjsonfile" -Destination "$env:userprofile\.kube\config" - -Copy-Item -Path "$kubeconfigjsonfile" -Destination "$AKS_LOCAL_TEMP_FOLDER\.kube\config" - -# If ((Get-Content "$($env:windir)\system32\Drivers\etc\hosts" ) -notcontains "127.0.0.1 hostname1") -# {ac -Encoding UTF8 "$($env:windir)\system32\Drivers\etc\hosts" "127.0.0.1 hostname1" } - -$MASTER_VM_NAME = "${AKS_PERS_RESOURCE_GROUP}.${AKS_PERS_LOCATION}.cloudapp.azure.com" -Write-Output "You can connect to master VM in Git Bash for debugging using:" -Write-Output "ssh -i ${SSH_PRIVATE_KEY_FILE_UNIX_PATH} azureuser@${MASTER_VM_NAME}" - -Write-Output "Check nodes via kubectl" -# set the environment variable so kubectl gets the new config -$env:KUBECONFIG = "${HOME}\.kube\config" -kubectl get nodes -o=name - -# wait until the nodes are up -$nodeCount = 0 - -while ($nodeCount -lt 3) { - $lines = kubectl get nodes -o=name | Measure-Object -Line - $nodeCount = $lines.Lines - Start-Sleep -s 10 -} - -# create storage account - -Write-Output "Get storage account key" -$STORAGE_KEY = az storage account keys list --resource-group $AKS_PERS_RESOURCE_GROUP --account-name $AKS_PERS_STORAGE_ACCOUNT_NAME --query "[0].value" --output tsv - -# Write-Output "Storagekey: [$STORAGE_KEY]" - -Write-Output "Creating kubernetes secret for Azure Storage Account: azure-secret" -kubectl create secret generic azure-secret --from-literal=resourcegroup="${AKS_PERS_RESOURCE_GROUP}" --from-literal=azurestorageaccountname="${AKS_PERS_STORAGE_ACCOUNT_NAME}" --from-literal=azurestorageaccountkey="${STORAGE_KEY}" -Write-Output "Creating kubernetes secret for customerid: customerid" -kubectl create secret generic customerid --from-literal=value=$customerid -Write-Output "Creating kubernetes secret for vnet: azure-vnet" -kubectl create secret generic azure-vnet --from-literal=vnet="${AKS_VNET_NAME}" --from-literal=subnet="${AKS_SUBNET_NAME}" --from-literal=subnetResourceGroup="${AKS_SUBNET_RESOURCE_GROUP}" -Write-Output "Creating kubernetes secret for service principal" -kubectl create secret generic serviceprincipal --from-literal=clientid="$AKS_SERVICE_PRINCIPAL_CLIENTID" --from-literal=password="$AKS_SERVICE_PRINCIPAL_CLIENTSECRET" -if (![string]::IsNullOrEmpty($WINDOWS_PASSWORD)) { - Write-Output "Creating kubernetes secret for windows VM" - kubectl create secret generic windowspassword --from-literal=password="$WINDOWS_PASSWORD" -} - -kubectl get "deployments,pods,services,ingress,secrets" --namespace=kube-system -o wide - -# kubectl patch deployment kube-dns-v20 -n kube-system -p '{"spec":{"template":{"spec":{"containers":[{"name":"myapp","image":"172.20.34.206:5000/myapp:img:3.0"}]}}}}' -# kubectl patch deployment kube-dns-v20 -n kube-system -p '{"spec":{"template":{"spec":{"restartPolicy":"Never"}}}}' - -# Write-Output "Restarting DNS Pods (sometimes they get in a CrashLoopBackoff loop)" -# $failedItems = kubectl get pods -l k8s-app=kube-dns -n kube-system -o jsonpath='{range.items[*]}{.metadata.name}{\"\n\"}{end}' -# ForEach ($line in $failedItems) { -# Write-Host "Deleting pod $line" -# kubectl delete pod $line -n kube-system -# } - -SetHostFileInVms -resourceGroup $AKS_PERS_RESOURCE_GROUP -SetupCronTab -resourceGroup $AKS_PERS_RESOURCE_GROUP - -Write-Host "Removing extra stuff that acs-engine creates" -# k8s-master-lb-24203516 -# k8s-master-ip-prod-kub-sjtn-rg-24203516 - -# /subscriptions/f8a42a3a-8b22-4be4-8413-0b6911c77242/resourceGroups/Prod-Kub-AHMN-RG/providers/Microsoft.Network/networkInterfaces/k8s-master-37819884-nic-0 - -# command to update hosts -# grep -v " k8s-master-37819884-0" /etc/hosts | grep -v "k8s-linuxagent-37819884-0" - | grep -v "k8s-linuxagent-37819884-1" - | grep -v "prod-kub-ahmn-rg.westus.cloudapp.azure.com" - | tee /etc/hosts -# | ( cat - && echo "foo" && echo "bar") -# | tee /etc/hosts - -# copy the file into /etc/cron.hourly/ -# chmod +x ./restartkubedns.sh -# sudo mv ./restartkubedns.sh /etc/cron.hourly/ -# grep CRON /var/log/syslog -# * * * * * /etc/cron.hourly/restartkubedns.sh >>/tmp/restartkubedns.log -# https://stackoverflow.com/questions/878600/how-to-create-a-cron-job-using-bash-automatically-without-the-interactive-editor -# crontab -l | { cat; echo "*/10 * * * * /etc/cron.hourly/restartkubedns.sh >>/tmp/restartkubedns.log"; } | crontab - -# az vm extension set --resource-group Prod-Kub-AHMN-RG --vm-name k8s-master-37819884-0 --name customScript --publisher Microsoft.Azure.Extensions --protected-settings "{'commandToExecute': 'whoami;touch /tmp/me.txt'}" -# az vm run-command invoke -g Prod-Kub-AHMN-RG -n k8s-master-37819884-0 --command-id RunShellScript --scripts "whomai" -# az vm run-command invoke -g Prod-Kub-AHMN-RG -n k8s-master-37819884-0 --command-id RunShellScript --scripts "crontab -l | { cat; echo '*/10 * * * * /etc/cron.hourly/restartkubedns.sh >>/tmp/restartkubedns.log 2>&1'; } | crontab -" - -Write-Output "Run the following to see status of the cluster" -Write-Output "kubectl get deployments,pods,services,ingress,secrets --namespace=kube-system -o wide" diff --git a/azure/create-acs-cluster.txt b/azure/create-acs-cluster.txt deleted file mode 100644 index 7e7fa0d..0000000 --- a/azure/create-acs-cluster.txt +++ /dev/null @@ -1,245 +0,0 @@ -#!/bin/sh - -echo "Version 1.068" - -# -# This script is meant for quick & easy install via: -# curl -sSL https://healthcatalyst.github.io/InstallScripts/azure/createkubernetescluster.txt | sh -s - -# Remember: no spaces allowed in variable set commands in bash - -AKS_PERS_RESOURCE_GROUP= -AKS_PERS_LOCATION= -AKS_CLUSTER_NAME= -AKS_PERS_STORAGE_ACCOUNT_NAME= -AKS_PERS_SHARE_NAME= -AKS_SUBSCRIPTION_ID= -AKS_VNET_NAME= -AKS_SUBNET_NAME= -AKS_SUBNET_RESOURCE_GROUP= -AKS_SSH_KEY= - -# AKS_PERS_RESOURCE_GROUP=fabricnlpkubernetes -# AKS_PERS_LOCATION=eastus -# AKS_CLUSTER_NAME=fabricnlpcluster -# AKS_PERS_STORAGE_ACCOUNT_NAME=fabricnlpclusterstorage -# AKS_PERS_SHARE_NAME=fileshare - -# AKS_PERS_RESOURCE_GROUP=ImranNLPTest -# AKS_PERS_LOCATION=westus -# AKS_CLUSTER_NAME=cluster1 -# AKS_PERS_STORAGE_ACCOUNT_NAME=ImranNLPTeststorage -# AKS_PERS_SHARE_NAME=fileshare - -echo "checking if you're already logged in" -loggedInUser=$(az.cmd account show --query "user.name" -o tsv) - -if [[ ! -z $loggedInUser ]] -then - SUBSCRIPTION_NAME=$(az.cmd account show --query "name" -o tsv) - echo "You are currently logged in as $loggedInUser into subscription $SUBSCRIPTION_NAME" - DO_RELOGIN= - read -p "Do you want to continue or logged in again (type ENTER to continue or any key to login again):" DO_RELOGIN < /dev/tty - if [[ ! -z $DO_RELOGIN ]] - then - az.cmd login - fi -else - # login - az.cmd login -fi - -echo getting current subscription id -az.cmd account show -AKS_SUBSCRIPTION_ID=$(az.cmd account show --query "id" -o tsv) -read -p "Using above subscription. Check and then click enter to continue or ctrl-C to exit" - -read -p "Resource Group: (e.g., fabricnlp-rg):" AKS_PERS_RESOURCE_GROUP < /dev/tty -read -p "Location: (e.g., eastus):" AKS_PERS_LOCATION < /dev/tty -read -p "Cluster Name: (e.g., fabricnlpcluster):" AKS_CLUSTER_NAME < /dev/tty -read -p "Storage Account Name: (leave empty for default):" AKS_PERS_STORAGE_ACCOUNT_NAME < /dev/tty -read -p "Storage File share Name: (leave empty for default):" AKS_PERS_SHARE_NAME < /dev/tty - -# see if the user wants to use a specific virtual network -read -p "Virtual Network Name: (leave empty for default):" AKS_VNET_NAME < /dev/tty -if [[ -z "${AKS_PERS_STORAGE_ACCOUNT_NAME}" ]] -then - read -p "Subnet Name: " AKS_SUBNET_NAME < /dev/tty - - read -p "Resource Group of Subnet: " AKS_SUBNET_RESOURCE_GROUP < /dev/tty -fi - -if [[ -z "${AKS_PERS_STORAGE_ACCOUNT_NAME}" ]] -then - AKS_PERS_STORAGE_ACCOUNT_NAME=${AKS_PERS_RESOURCE_GROUP}storage - echo "Using storage account: ${AKS_PERS_STORAGE_ACCOUNT_NAME}" -fi - -if [[ -z "${AKS_PERS_SHARE_NAME}" ]] -then - AKS_PERS_SHARE_NAME=fileshare - echo "Using share name: ${AKS_PERS_SHARE_NAME}" -fi - -echo "checking if resource group already exists" -resourceGroupExists=$(az.cmd group exists --name ${AKS_PERS_RESOURCE_GROUP}) -if [[ "$resourceGroupExists" == "true" ]] -then - read -p "The resource group ${AKS_PERS_RESOURCE_GROUP} already exists. Would you like to delete it? (type ENTER to continue or CTRL-C to exit)" - - echo delete existing group: $AKS_PERS_RESOURCE_GROUP - - az.cmd group delete --name $AKS_PERS_RESOURCE_GROUP --verbose -fi - -echo "Create the Resource Group" -az.cmd group create --name $AKS_PERS_RESOURCE_GROUP --location $AKS_PERS_LOCATION --verbose - -set -x - -AKS_SERVICE_PRINCIPAL_NAME=${AKS_PERS_RESOURCE_GROUP}Kubernetes - -echo "checking if Service Principal already exists" -AKS_SERVICE_PRINCIPAL_CLIENTID=$(az.cmd ad sp list --display-name ${AKS_SERVICE_PRINCIPAL_NAME} --query "[].appId" -o tsv) - -if [[ ! -z "$AKS_SERVICE_PRINCIPAL_CLIENTID" ]] -then - echo "Service Principal already exists with name: $AKS_SERVICE_PRINCIPAL_NAME" - echo "deleting..." - az.cmd ad sp delete --id "$AKS_SERVICE_PRINCIPAL_CLIENTID" --verbose -fi - -myscope="//subscriptions//${AKS_SUBSCRIPTION_ID}" - -echo $myscope - -echo "Creating Service Principal: $AKS_SERVICE_PRINCIPAL_NAME" -AKS_SERVICE_PRINCIPAL_CLIENTSECRET=$(az.cmd ad sp create-for-rbac --role="Contributor" --scopes="$myscope" --name ${AKS_SERVICE_PRINCIPAL_NAME} --query "password" -o tsv) -# clientID == appID -# client secret == password -AKS_SERVICE_PRINCIPAL_CLIENTID=$(az.cmd ad sp list --display-name ${AKS_SERVICE_PRINCIPAL_NAME} --query "[].appId" -o tsv) - -echo created $AKS_SERVICE_PRINCIPAL_NAME clientId=$AKS_SERVICE_PRINCIPAL_CLIENTID clientsecret=$AKS_SERVICE_PRINCIPAL_CLIENTSECRET - -# az.cmd role assignment create --assignee $AKS_SERVICE_PRINCIPAL_CLIENTID --role "contributor" --scope "$myscope" - -echo create Azure Container Service cluster - -mysubnetid="/subscriptions/${AKS_SUBSCRIPTION_ID}/resourceGroups/${AKS_SUBNET_RESOURCE_GROUP}/providers/Microsoft.Network/virtualNetworks/${AKS_VNET_NAME}/subnets/${AKS_SUBNET_NAME}" - -# az.cmd acs create --orchestrator-type kubernetes --resource-group $AKS_PERS_RESOURCE_GROUP --name $AKS_CLUSTER_NAME --generate-ssh-keys --agent-count=3 --agent-vm-size Standard_B2ms -#az.cmd acs create --orchestrator-type kubernetes --resource-group fabricnlpcluster --name cluster1 --service-principal="$AKS_SERVICE_PRINCIPAL_CLIENTID" --client-secret="$AKS_SERVICE_PRINCIPAL_CLIENTSECRET" --generate-ssh-keys --agent-count=3 --agent-vm-size Standard_D2 --master-vnet-subnet-id="$mysubnetid" --agent-vnet-subnet-id="$mysubnetid" - -# if [[ ! -f "~/.ssh/id_rsa.pub" ]] -# then -# echo "creating SSH key" -# ssh-keygen -t rsa -b 2048 -q -N "" -C azureuser@linuxvm -f ~/.ssh/id_rsa -# fi - -AKS_SSH_KEY=$(cat ~/.ssh/id_rsa.pub) - -# create deployment so we can set vnet and subnet - -# cp the template parameter file so we can change some values -cp azuredeploy.parameters.json azuredeploy.parameters.real.json - -dnsNamePrefix=$AKS_PERS_RESOURCE_GROUP - -sed -i "s#REPLACE-SSH-KEY#${AKS_SSH_KEY}#g" azuredeploy.parameters.real.json - -sed -i "s#REPLACE-CLIENTID#${AKS_SERVICE_PRINCIPAL_CLIENTID}#g" azuredeploy.parameters.real.json -sed -i "s#REPLACE-CLIENTSECRET#${AKS_SERVICE_PRINCIPAL_CLIENTSECRET}#g" azuredeploy.parameters.real.json - -sed -i "s#REPLACE-SUBNET#${mysubnetid}#g" azuredeploy.parameters.real.json -sed -i "s#REPLACE-DNS-NAME-PREFIX#${dnsNamePrefix}#g" azuredeploy.parameters.real.json - -firstStaticIP="10.3.0.239" -sed -i "s#REPLACE-FIRST-STATIC-IP#${firstStaticIP}#g" azuredeploy.parameters.real.json - -echo az.cmd group deployment create --template-file "azuredeploy.json" \ - --resource-group $AKS_PERS_RESOURCE_GROUP -n $AKS_CLUSTER_NAME \ - --parameters @azuredeploy.parameters.real.json - -exit 0 - -echo "starting deployment" -az.cmd group deployment create --template-file "azuredeploy.json" \ - --resource-group $AKS_PERS_RESOURCE_GROUP -n $AKS_CLUSTER_NAME \ - --parameters @azuredeploy.parameters.real.json - -# echo sleeping for 10 secs -# sleep 30s; - -echo "ssh -i ~/.ssh/id_rsa azureuser@fabricnlp9.eastus.cloudapp.azure.com" -echo "cat ./.kube/config" -echo "copy and paste into C:\Users\imran.qureshi\.kube (replace imran.qureshi with your username)" - -read -p "Press enter to continue once done" - -# echo "download kubectl" -# mkdir -p c:/kubernetes -# rm c:/kubernetes/kubectl.exe -# az.cmd acs install-cli --resource-group=$AKS_PERS_RESOURCE_GROUP --name=$AKS_CLUSTER_NAME --install-location c:/kubernetes - -#echo get credentials for AKS cluster -# az.cmd acs kubernetes get-credentials --resource-group=$AKS_PERS_RESOURCE_GROUP --name=$AKS_CLUSTER_NAME - -echo check nodes via kubectl -kubectl get nodes - -nodeCount=0 - -while [ $nodeCount -lt 3 ] -do -sleep 10s; -nodeCount=$(wc -l <<< "$(kubectl get nodes -o=name)") -echo nodes: $nodeCount -done - -echo attach route table -# https://github.com/Azure/acs-engine/blob/master/examples/vnet/k8s-vnet-postdeploy.sh -rt=$(az network route-table list -g ${RESOURCE_GROUP} | jq -r '.[].id') - -az network vnet subnet update -n ${AKS_SUBNET_NAME} -g ${RESOURCE_GROUP} --vnet-name ${AKS_VNET_NAME} --route-table $rt - -# echo "Making dashboard internal" -# kubectl delete service kubernetes-dashboard -n kube-system - - -echo Create the storage account -az.cmd storage account create -n $AKS_PERS_STORAGE_ACCOUNT_NAME -g $AKS_PERS_RESOURCE_GROUP -l $AKS_PERS_LOCATION --sku Standard_LRS - -# Export the connection string as an environment variable, this is used when creating the Azure file share -AZURE_STORAGE_CONNECTION_STRING=$(az.cmd storage account show-connection-string -n $AKS_PERS_STORAGE_ACCOUNT_NAME -g $AKS_PERS_RESOURCE_GROUP -o tsv) - -echo Create the file share -az.cmd storage share create -n $AKS_PERS_SHARE_NAME --connection-string $AZURE_STORAGE_CONNECTION_STRING - -echo Get storage account key -STORAGE_KEY=$(az.cmd storage account keys list --resource-group $AKS_PERS_RESOURCE_GROUP --account-name $AKS_PERS_STORAGE_ACCOUNT_NAME --query "[0].value" -o tsv) - -echo storagekey: $STORAGE_KEY - -echo creating kubernetes secret -kubectl create secret generic azure-secret --from-literal=azurestorageaccountname="${AKS_PERS_STORAGE_ACCOUNT_NAME}" --from-literal=azurestorageaccountkey="${STORAGE_KEY}" - -# kubectl apply -f testfileshare-pod.yml - -# kubectl describe pod testfileshare-pod - -# kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml - -# https://docs.microsoft.com/en-us/azure/aks/kubernetes-dashboard -# echo open kubernetes dashboard in browser -# az.cmd acs browse --resource-group $AKS_PERS_RESOURCE_GROUP --name $AKS_CLUSTER_NAME & - -echo deploy the ingress controller -kubectl create -f ingress.yml - -kubectl create -f loadbalancer-internal.yml - -kubectl get deployments,pods,services,ingress,secrets --namespace=kube-system - - - - diff --git a/azure/create-aks-cluster.txt b/azure/create-aks-cluster.txt deleted file mode 100644 index ea7c8a8..0000000 --- a/azure/create-aks-cluster.txt +++ /dev/null @@ -1,206 +0,0 @@ -#!/bin/sh - -echo "Version 1.068" - -# -# This script is meant for quick & easy install via: -# curl -sSL https://healthcatalyst.github.io/InstallScripts/azure/createkubernetescluster.txt | sh -s - -# Remember: no spaces allowed in variable set commands in bash - -AKS_PERS_RESOURCE_GROUP= -AKS_PERS_LOCATION= -AKS_CLUSTER_NAME= -AKS_PERS_STORAGE_ACCOUNT_NAME= -AKS_PERS_SHARE_NAME= -AKS_SUBSCRIPTION_ID= -AKS_VNET_NAME= -AKS_SUBNET_NAME= -AKS_SSH_KEY= - -# AKS_PERS_RESOURCE_GROUP=fabricnlpkubernetes -# AKS_PERS_LOCATION=eastus -# AKS_CLUSTER_NAME=fabricnlpcluster -# AKS_PERS_STORAGE_ACCOUNT_NAME=fabricnlpclusterstorage -# AKS_PERS_SHARE_NAME=fileshare - -# AKS_PERS_RESOURCE_GROUP=ImranNLPTest -# AKS_PERS_LOCATION=westus -# AKS_CLUSTER_NAME=cluster1 -# AKS_PERS_STORAGE_ACCOUNT_NAME=ImranNLPTeststorage -# AKS_PERS_SHARE_NAME=fileshare - -echo "checking if you're already logged in" -loggedInUser=$(az.cmd account show --query "user.name" -o tsv) - -if [[ ! -z $loggedInUser ]] -then - SUBSCRIPTION_NAME=$(az.cmd account show --query "name" -o tsv) - echo "You are currently logged in as $loggedInUser into subscription $SUBSCRIPTION_NAME" - DO_RELOGIN= - read -p "Do you want to continue or logged in again (type ENTER to continue or any key to login again):" DO_RELOGIN < /dev/tty - if [[ ! -z $DO_RELOGIN ]] - then - az.cmd login - fi -else - # login - az.cmd login -fi - -echo getting current subscription id -az.cmd account show -AKS_SUBSCRIPTION_ID=$(az.cmd account show --query "id" -o tsv) -read -p "Using above subscription. Check and then click enter to continue or ctrl-C to exit" - -read -p "Resource Group: (e.g., fabricnlp-rg):" AKS_PERS_RESOURCE_GROUP < /dev/tty -read -p "Location: (e.g., eastus):" AKS_PERS_LOCATION < /dev/tty -read -p "Cluster Name: (e.g., fabricnlpcluster):" AKS_CLUSTER_NAME < /dev/tty -read -p "Storage Account Name: (leave empty for default):" AKS_PERS_STORAGE_ACCOUNT_NAME < /dev/tty -read -p "Storage File share Name: (leave empty for default):" AKS_PERS_SHARE_NAME < /dev/tty - -if [[ -z "${AKS_PERS_STORAGE_ACCOUNT_NAME}" ]] -then - AKS_PERS_STORAGE_ACCOUNT_NAME=${AKS_PERS_RESOURCE_GROUP}storage - echo "Using storage account: ${AKS_PERS_STORAGE_ACCOUNT_NAME}" -fi - -if [[ -z "${AKS_PERS_SHARE_NAME}" ]] -then - AKS_PERS_SHARE_NAME=fileshare - echo "Using share name: ${AKS_PERS_SHARE_NAME}" -fi - -echo "checking if resource group already exists" -resourceGroupExists=$(az.cmd group exists --name ${AKS_PERS_RESOURCE_GROUP}) -if [[ "$resourceGroupExists" == "true" ]] -then - read -p "The resource group ${AKS_PERS_RESOURCE_GROUP} already exists. Would you like to delete it? (type ENTER to continue or CTRL-C to exit)" - - echo delete existing group: $AKS_PERS_RESOURCE_GROUP - - az.cmd group delete --name $AKS_PERS_RESOURCE_GROUP --verbose - - kubresourcegroup="MC_${AKS_PERS_RESOURCE_GROUP}_${AKS_CLUSTER_NAME}_${AKS_PERS_LOCATION}" - echo "waiting until the corresponding kubernetes resource group [$kubresourcegroup] is also delete" - - az.cmd group wait --name $kubresourcegroup --deleted -fi - -echo "Create the Resource Group" -az.cmd group create --name $AKS_PERS_RESOURCE_GROUP --location $AKS_PERS_LOCATION --verbose - -set -x - -AKS_SERVICE_PRINCIPAL_NAME=${AKS_PERS_RESOURCE_GROUP}Kubernetes - -echo "checking if Service Principal already exists" -AKS_SERVICE_PRINCIPAL_CLIENTID=$(az.cmd ad sp list --display-name ${AKS_SERVICE_PRINCIPAL_NAME} --query "[].appId" -o tsv) - -if [[ ! -z "$AKS_SERVICE_PRINCIPAL_CLIENTID" ]] -then - echo "Service Principal already exists with name: $AKS_SERVICE_PRINCIPAL_NAME" - echo "deleting..." - az.cmd ad sp delete --id "$AKS_SERVICE_PRINCIPAL_CLIENTID" --verbose -fi - -myscope="//subscriptions//${AKS_SUBSCRIPTION_ID}" - -echo $myscope - -echo "Creating Service Principal: $AKS_SERVICE_PRINCIPAL_NAME" -# clientID == appID -# client secret == password -AKS_SERVICE_PRINCIPAL_CLIENTSECRET=$(az.cmd ad sp create-for-rbac --role="Contributor" --scopes="$myscope" --name ${AKS_SERVICE_PRINCIPAL_NAME} --query "password" -o tsv) -AKS_SERVICE_PRINCIPAL_CLIENTID=$(az.cmd ad sp list --display-name ${AKS_SERVICE_PRINCIPAL_NAME} --query "[].appId" -o tsv) - -echo created $AKS_SERVICE_PRINCIPAL_NAME clientId=$AKS_SERVICE_PRINCIPAL_CLIENTID clientsecret=$AKS_SERVICE_PRINCIPAL_CLIENTSECRET - -# if [ ! -e "~/.ssh/id_rsa" ] -# then -# echo "creating SSH key" -# ssh-keygen -t rsa -b 2048 -q -N "" -C azureuser@linuxvm -f ~/.ssh/id_rsa -# fi - -AKS_SSH_KEY=$(cat ~/.ssh/id_rsa.pub) - -dnsNamePrefix=$AKS_PERS_RESOURCE_GROUP - -numNodes=1 - -echo create Azure Container Service cluster AKS -az.cmd aks create --resource-group $AKS_PERS_RESOURCE_GROUP --name $AKS_CLUSTER_NAME \ - --node-count ${numNodes} --kubernetes-version 1.8.1 \ - --node-vm-size Standard_B2ms \ - --service-principal="$AKS_SERVICE_PRINCIPAL_CLIENTID" \ - --client-secret="$AKS_SERVICE_PRINCIPAL_CLIENTSECRET" \ - -l $AKS_PERS_LOCATION \ - --verbose - -echo "waiting until cluster is created" -az.cmd aks wait --resource-group $AKS_PERS_RESOURCE_GROUP --name $AKS_CLUSTER_NAME --created - -echo sleeping for 10 secs -# sleep 30s; - -read -p "Press enter to continue once all the nodes are created" - -# echo "download kubectl" -# mkdir -p c:/kubernetes -# rm c:/kubernetes/kubectl.exe -# az.cmd acs install-cli --resource-group=$AKS_PERS_RESOURCE_GROUP --name=$AKS_CLUSTER_NAME --install-location c:/kubernetes - -echo get credentials for AKS cluster -az.cmd aks get-credentials --resource-group=$AKS_PERS_RESOURCE_GROUP --name=$AKS_CLUSTER_NAME - -echo check nodes via kubectl -kubectl get nodes - -nodeCount=0 - -while [ $nodeCount -lt ${numNodes} ] -do -sleep 10s; -nodeCount=$(wc -l <<< "$(kubectl get nodes -o=name)") -echo nodes: $nodeCount -done - - - -echo Create the storage account -az.cmd storage account create -n $AKS_PERS_STORAGE_ACCOUNT_NAME -g $AKS_PERS_RESOURCE_GROUP -l $AKS_PERS_LOCATION --sku Standard_LRS - -# Export the connection string as an environment variable, this is used when creating the Azure file share -AZURE_STORAGE_CONNECTION_STRING=$(az.cmd storage account show-connection-string -n $AKS_PERS_STORAGE_ACCOUNT_NAME -g $AKS_PERS_RESOURCE_GROUP -o tsv) - -echo Create the file share -az.cmd storage share create -n $AKS_PERS_SHARE_NAME --connection-string $AZURE_STORAGE_CONNECTION_STRING - -echo Get storage account key -STORAGE_KEY=$(az.cmd storage account keys list --resource-group $AKS_PERS_RESOURCE_GROUP --account-name $AKS_PERS_STORAGE_ACCOUNT_NAME --query "[0].value" -o tsv) - -echo storagekey: $STORAGE_KEY - -echo creating kubernetes secret -kubectl create secret generic azure-secret --from-literal=azurestorageaccountname="${AKS_PERS_STORAGE_ACCOUNT_NAME}" --from-literal=azurestorageaccountkey="${STORAGE_KEY}" - -# kubectl apply -f testfileshare-pod.yml - -# kubectl describe pod testfileshare-pod - -# https://docs.microsoft.com/en-us/azure/aks/kubernetes-dashboard -echo open kubernetes dashboard in browser -echo az.cmd aks browse --resource-group $AKS_PERS_RESOURCE_GROUP --name $AKS_CLUSTER_NAME - -echo deploy the ingress controller -kubectl create -f ingress.yml - -kubectl create -f loadbalancer-public.yml - -kubectl get deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes --namespace=kube-system - -echo az.cmd storage share create --name fabricnlp --account-name="${AKS_PERS_STORAGE_ACCOUNT_NAME}" --account-key="${STORAGE_KEY}" - -# az network public-ip create --name TestPIP --resource-group TestRG --location centralus --allocation-method Static - - diff --git a/azure/create-bare-metal.ps1 b/azure/create-bare-metal.ps1 index 6cbcc89..052a499 100644 --- a/azure/create-bare-metal.ps1 +++ b/azure/create-bare-metal.ps1 @@ -1,224 +1 @@ -Write-Host "--- create-bare-metal Version 2018.03.27.02 ----" - -# -# This script is meant for quick & easy install via: -# curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/create-bare-metal.ps1 | iex; - -$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -# $GITHUB_URL = "C:\Catalyst\git\Installscripts" - -$set = "abcdefghijklmnopqrstuvwxyz0123456789".ToCharArray() -$randomstring += $set | Get-Random - -Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1?f=$randomstring | Invoke-Expression; -# Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; - -Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1?f=$randomstring | Invoke-Expression; -# Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; - -DownloadAzCliIfNeeded - -$config = $(ReadConfigFile).Config -Write-Host $config - -$AKS_SUBSCRIPTION_ID = $(GetLoggedInUserInfo).AKS_SUBSCRIPTION_ID - -$customerid = $($config.customerid) - -Write-Host "Customer ID: $customerid" - -$AKS_PERS_RESOURCE_GROUP = $config.azure.resourceGroup -$AKS_PERS_LOCATION = $config.azure.location - -CreateResourceGroupIfNotExists -resourceGroup $AKS_PERS_RESOURCE_GROUP -location $AKS_PERS_LOCATION - -$AKS_SUPPORT_WINDOWS_CONTAINERS = $config.azure.create_windows_containers - -# service account to own the resources -$AKS_SERVICE_PRINCIPAL_NAME = $config.service_principal.name - -if ([string]::IsNullOrWhiteSpace($AKS_SERVICE_PRINCIPAL_NAME)) { - $AKS_SERVICE_PRINCIPAL_NAME = "${AKS_PERS_RESOURCE_GROUP}Kubernetes" -} - -$AKS_LOCAL_FOLDER = $config.local_folder - -if ([string]::IsNullOrWhiteSpace($AKS_LOCAL_FOLDER)) {$AKS_LOCAL_FOLDER = "C:\kubernetes"} - -if (!(Test-Path -Path "$AKS_LOCAL_FOLDER")) { - Write-Output "$AKS_LOCAL_FOLDER does not exist. Creating it..." - New-Item -ItemType directory -Path $AKS_LOCAL_FOLDER -} - -AddFolderToPathEnvironmentVariable -folder $AKS_LOCAL_FOLDER - -$SSHKeyInfo = CreateSSHKey -resourceGroup $AKS_PERS_RESOURCE_GROUP -localFolder $AKS_LOCAL_FOLDER -$SSH_PUBLIC_KEY_FILE = $SSHKeyInfo.SSH_PUBLIC_KEY_FILE -$SSH_PRIVATE_KEY_FILE_UNIX_PATH = $SSHKeyInfo.SSH_PRIVATE_KEY_FILE_UNIX_PATH - -DownloadKubectl -localFolder $AKS_LOCAL_FOLDER - -if ([string]::IsNullOrEmpty($(kubectl config current-context 2> $null))) { - Write-Host "kube config is not set" -} -else { - if (${AKS_PERS_RESOURCE_GROUP} -ieq $(kubectl config current-context 2> $null) ) { - Write-Host "Current kub config points to this cluster" - } - else { - $clustername = "${AKS_PERS_RESOURCE_GROUP}" - $fileToUse = "$AKS_LOCAL_FOLDER\$clustername\temp\.kube\config" - if (Test-Path $fileToUse) { - SwitchToKubCluster -folderToUse "${AKS_LOCAL_FOLDER}\${clustername}" - } - else { - CleanKubConfig - } - } -} - -$AKS_PERS_STORAGE_ACCOUNT_NAME = $(CreateStorageIfNotExists -resourceGroup $AKS_PERS_RESOURCE_GROUP -deleteStorageAccountIfExists $config.storage_account.delete_if_exists).AKS_PERS_STORAGE_ACCOUNT_NAME - -$AKS_VNET_NAME = $config.networking.vnet -$AKS_SUBNET_NAME = $config.networking.subnet -$AKS_SUBNET_RESOURCE_GROUP = $config.networking.subnet_resource_group - -# see if the user wants to use a specific virtual network -$VnetInfo = GetVnetInfo -subscriptionId $AKS_SUBSCRIPTION_ID -subnetResourceGroup $AKS_SUBNET_RESOURCE_GROUP -vnetName $AKS_VNET_NAME -subnetName $AKS_SUBNET_NAME -$AKS_SUBNET_ID=$VnetInfo.AKS_SUBNET_ID - -CleanResourceGroup -resourceGroup ${AKS_PERS_RESOURCE_GROUP} -location $AKS_PERS_LOCATION -vnet $AKS_VNET_NAME ` - -subnet $AKS_SUBNET_NAME -subnetResourceGroup $AKS_SUBNET_RESOURCE_GROUP ` - -storageAccount $AKS_PERS_STORAGE_ACCOUNT_NAME - -Write-Host "Using Storage Account: $AKS_PERS_STORAGE_ACCOUNT_NAME" - -CreateShareInStorageAccount -storageAccountName $AKS_PERS_STORAGE_ACCOUNT_NAME -resourceGroup $AKS_PERS_RESOURCE_GROUP -sharename "data" - -$NETWORK_SECURITY_GROUP = "cluster-nsg" -Write-Host "Creating network security group: $NETWORK_SECURITY_GROUP" -$nsg = az network nsg create --name $NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP --query "id" -o tsv - -if ($($config.network_security_group.create_nsg_rules)) { - Write-Host "Creating rule: allow_ssh" - az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $NETWORK_SECURITY_GROUP -n allow_ssh --priority 100 ` - --source-address-prefixes "*" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges 22 --access Allow ` - --protocol Tcp --description "allow ssh access." ` - --query "provisioningState" -o tsv - - Write-Host "Creating rule: allow_rdp" - az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $NETWORK_SECURITY_GROUP -n allow_rdp ` - --priority 101 ` - --source-address-prefixes "*" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges 3389 --access Allow ` - --protocol Tcp --description "allow RDP access." ` - --query "provisioningState" -o tsv - - $sourceTagForHttpAccess = "Internet" - if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "HttpPort" --nsg-name $NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { - Write-Host "Creating rule: HttpPort" - az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $NETWORK_SECURITY_GROUP -n HttpPort --priority 500 ` - --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges 80 --access Allow ` - --protocol Tcp --description "allow HTTP access from $sourceTagForHttpAccess." ` - --query "provisioningState" -o tsv - } - else { - Write-Host "Updating rule: HttpPort" - az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $NETWORK_SECURITY_GROUP -n HttpPort --priority 500 ` - --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges 80 --access Allow ` - --protocol Tcp --description "allow HTTP access from $sourceTagForHttpAccess." ` - --query "provisioningState" -o tsv - } - - if ([string]::IsNullOrWhiteSpace($(az network nsg rule show --name "HttpsPort" --nsg-name $NETWORK_SECURITY_GROUP --resource-group $AKS_PERS_RESOURCE_GROUP))) { - Write-Host "Creating rule: HttpsPort" - az network nsg rule create -g $AKS_PERS_RESOURCE_GROUP --nsg-name $NETWORK_SECURITY_GROUP -n HttpsPort --priority 501 ` - --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` - --protocol Tcp --description "allow HTTPS access from $sourceTagForHttpAccess." ` - --query "provisioningState" -o tsv - } - else { - Write-Host "Updating rule: HttpsPort" - az network nsg rule update -g $AKS_PERS_RESOURCE_GROUP --nsg-name $NETWORK_SECURITY_GROUP -n HttpsPort --priority 501 ` - --source-address-prefixes "$sourceTagForHttpAccess" --source-port-ranges '*' ` - --destination-address-prefixes '*' --destination-port-ranges 443 --access Allow ` - --protocol Tcp --description "allow HTTPS access from $sourceTagForHttpAccess." ` - --query "provisioningState" -o tsv - } -} - -$nsgid = az network nsg list --resource-group ${AKS_PERS_RESOURCE_GROUP} --query "[?name == '${NETWORK_SECURITY_GROUP}'].id" -o tsv -Write-Host "Found ID for ${AKS_PERS_NETWORK_SECURITY_GROUP}: $nsgid" - -Write-Host "Setting NSG into subnet" -az network vnet subnet update -n "${AKS_SUBNET_NAME}" -g "${AKS_SUBNET_RESOURCE_GROUP}" --vnet-name "${AKS_VNET_NAME}" --network-security-group "$nsgid" --query "provisioningState" -o tsv - -# to list available images: az vm image list --output table -# to list CentOS images: az vm image list --offer CentOS --publisher OpenLogic --all --output table -$urn = "OpenLogic:CentOS:7.4:latest" - -Write-Host "Creating master" -$VMInfo = CreateVM -vm "k8s-master" -resourceGroup $AKS_PERS_RESOURCE_GROUP ` - -subnetId $AKS_SUBNET_ID ` - -networkSecurityGroup $NETWORK_SECURITY_GROUP ` - -publicKeyFile $SSH_PUBLIC_KEY_FILE ` - -image $urn - -Write-Host "ssh -i ${SSH_PRIVATE_KEY_FILE_UNIX_PATH} azureuser@$($VMInfo.IP)" - -Write-Host "Creating linux vm 1" -$VMInfo = CreateVM -vm "k8s-linux-agent-1" -resourceGroup $AKS_PERS_RESOURCE_GROUP ` - -subnetId $AKS_SUBNET_ID ` - -networkSecurityGroup $NETWORK_SECURITY_GROUP ` - -publicKeyFile $SSH_PUBLIC_KEY_FILE ` - -image $urn - -Write-Host "ssh -i ${SSH_PRIVATE_KEY_FILE_UNIX_PATH} azureuser@$($VMInfo.IP)" - -Write-Host "Creating linux vm 2" -$VMInfo = CreateVM -vm "k8s-linux-agent-2" -resourceGroup $AKS_PERS_RESOURCE_GROUP ` - -subnetId $AKS_SUBNET_ID ` - -networkSecurityGroup $NETWORK_SECURITY_GROUP ` - -publicKeyFile $SSH_PUBLIC_KEY_FILE ` - -image $urn - -Write-Host "ssh -i ${SSH_PRIVATE_KEY_FILE_UNIX_PATH} azureuser@$($VMInfo.IP)" - -if ($AKS_SUPPORT_WINDOWS_CONTAINERS -eq "y") { - Write-Host "Creating windows vm 1" - $vm = "k8swindows1" - $PUBLIC_IP_NAME = "${vm}PublicIP" - $ip = az network public-ip create --name $PUBLIC_IP_NAME ` - --resource-group $AKS_PERS_RESOURCE_GROUP ` - --allocation-method Static --query "publicIp.ipAddress" -o tsv - - az network nic create ` - --resource-group $AKS_PERS_RESOURCE_GROUP ` - --name "${vm}-nic" ` - --subnet $AKS_SUBNET_ID ` - --network-security-group $NETWORK_SECURITY_GROUP ` - --public-ip-address $PUBLIC_IP_NAME - - # Update for your admin password - $AdminPassword = "ChangeYourAdminPassword1" - - # to list Windows images: az vm image list --offer WindowsServer --all --output table - $urn = "MicrosoftWindowsServer:WindowsServerSemiAnnual:Datacenter-Core-1709-with-Containers-smalldisk:1709.0.20171012" - $urn = "Win2016Datacenter" - az vm create --resource-group $AKS_PERS_RESOURCE_GROUP --name $vm ` - --image "$urn" ` - --size Standard_DS2_v2 ` - --admin-username azureuser --admin-password $AdminPassword ` - --nics "${vm}-nic" ` - --query "provisioningState" -o tsv - - # https://stackoverflow.com/questions/43914269/how-to-run-simple-custom-commands-on-a-azure-vm-win-7-8-10-server-post-deploy - # az vm extension set -n CustomScriptExtension --publisher Microsoft.Compute --version 1.8 --vm-name DVWinServerVMB --resource-group DVResourceGroup --settings "{'commandToExecute': 'powershell.exe md c:\\test'}" - -} - - +Write-Host "This has now moved to curl -useb https://raw.githubusercontent.com/HealthCatalyst/dos.install/master/azure/create-bare-metal.ps1 | iex;" \ No newline at end of file diff --git a/azure/dos.ps1 b/azure/dos.ps1 index 65691bf..090d518 100644 --- a/azure/dos.ps1 +++ b/azure/dos.ps1 @@ -1,3 +1 @@ -$set = "abcdefghijklmnopqrstuvwxyz0123456789".ToCharArray() -$result += $set | Get-Random -curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1?f=$result | iex; +Write-Host "This has now moved to curl -useb https://raw.githubusercontent.com/HealthCatalyst/dos.install/master/azure/dos.ps1 | iex;" \ No newline at end of file diff --git a/azure/file.txt b/azure/file.txt deleted file mode 100644 index 4487230..0000000 --- a/azure/file.txt +++ /dev/null @@ -1 +0,0 @@ -Terminate batch job (Y/N)? diff --git a/azure/ingress-nginx.yml b/azure/ingress-nginx.yml deleted file mode 100644 index 06e8387..0000000 --- a/azure/ingress-nginx.yml +++ /dev/null @@ -1,83 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - name: nginx-ingress-controller -spec: - replicas: 1 - revisionHistoryLimit: 3 - template: - metadata: - labels: - k8s-app: nginx-ingress-lb - spec: - containers: - - args: - - /nginx-ingress-controller - - "--default-backend-service=$(POD_NAMESPACE)/default-http-backend" - # - "--default-ssl-certificate=$(POD_NAMESPACE)/tls-certificate" - env: - - name: POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - image: "gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.5" - imagePullPolicy: Always - livenessProbe: - httpGet: - path: /healthz - port: 10254 - scheme: HTTP - initialDelaySeconds: 10 - timeoutSeconds: 5 - name: nginx-ingress-controller - ports: - - containerPort: 80 - name: http - protocol: TCP - - containerPort: 443 - name: https - protocol: TCP - # volumeMounts: - # - mountPath: /etc/nginx-ssl/dhparam - # name: tls-dhparam-vol - terminationGracePeriodSeconds: 60 - # volumes: - # - name: tls-dhparam-vol - # secret: - # secretName: tls-dhparam ---- -apiVersion: v1 -kind: Service -metadata: - name: nginx-web-ui - namespace: kube-system - labels: - k8s-traefik: traefik -spec: - selector: - k8s-app: nginx-ingress-lb - ports: - - port: 80 - targetPort: 8080 ---- -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: nginx-web-ui-ingress - namespace: kube-system - labels: - k8s-traefik: traefik - annotations: - kubernetes.io/ingress.class: nginx -spec: - rules: - - host: dashboard.CUSTOMERID.healthcatalyst.net - http: - paths: - - backend: - serviceName: nginx-web-ui - servicePort: 80 \ No newline at end of file diff --git a/azure/kube-dns-patch.yml b/azure/kube-dns-patch.yml deleted file mode 100644 index e5c4a16..0000000 --- a/azure/kube-dns-patch.yml +++ /dev/null @@ -1,15 +0,0 @@ -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: - name: kube-dns-v20 - namespace": kube-system -spec: - strategy: - # We need to kill the existing Pod before creating an new one - type: Recreate - template: - spec: - # https://kubernetes-v1-4.github.io/docs/user-guide/pod-states/ - # kube-dns seems to get into an infinite restart loop - # so don't restart containers but let the whole pod fail and the deployment will create a new one - restartPolicy: Never diff --git a/azure/kube-dns.yml b/azure/kube-dns.yml deleted file mode 100644 index 0387618..0000000 --- a/azure/kube-dns.yml +++ /dev/null @@ -1,277 +0,0 @@ -{ - "kind": "Deployment", - "apiVersion": "extensions/v1beta1", - "metadata": { - "name": "kube-dns-v20", - "namespace": "kube-system", - "selfLink": "/apis/extensions/v1beta1/namespaces/kube-system/deployments/kube-dns-v20", - "uid": "c80ab806-f1a1-11e7-9e1b-000d3a1514a8", - "resourceVersion": "100050", - "generation": 1, - "creationTimestamp": "2018-01-04T22:51:20Z", - "labels": { - "k8s-app": "kube-dns", - "kubernetes.io/cluster-service": "true", - "version": "v20" - }, - "annotations": { - "deployment.kubernetes.io/revision": "1", - "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"apps/v1beta1\",\"kind\":\"Deployment\",\"metadata\":{\"annotations\":{},\"labels\":{\"k8s-app\":\"kube-dns\",\"kubernetes.io/cluster-service\":\"true\",\"version\":\"v20\"},\"name\":\"kube-dns-v20\",\"namespace\":\"kube-system\"},\"spec\":{\"replicas\":2,\"selector\":{\"matchLabels\":{\"k8s-app\":\"kube-dns\",\"version\":\"v20\"}},\"template\":{\"metadata\":{\"annotations\":{\"scheduler.alpha.kubernetes.io/critical-pod\":\"\"},\"labels\":{\"k8s-app\":\"kube-dns\",\"kubernetes.io/cluster-service\":\"true\",\"version\":\"v20\"}},\"spec\":{\"affinity\":{\"podAntiAffinity\":{\"preferredDuringSchedulingIgnoredDuringExecution\":[{\"podAffinityTerm\":{\"labelSelector\":{\"matchExpressions\":[{\"key\":\"k8s-app\",\"operator\":\"In\",\"values\":[\"kube-dns\"]}]},\"topologyKey\":\"kubernetes.io/hostname\"},\"weight\":100}]}},\"containers\":[{\"args\":[\"--domain=cluster.local.\",\"--dns-port=10053\",\"--v=2\",\"--config-dir=/kube-dns-config\"],\"image\":\"gcrio.azureedge.net/google_containers/k8s-dns-kube-dns-amd64:1.14.5\",\"livenessProbe\":{\"failureThreshold\":5,\"httpGet\":{\"path\":\"/healthz-kubedns\",\"port\":8080,\"scheme\":\"HTTP\"},\"initialDelaySeconds\":60,\"successThreshold\":1,\"timeoutSeconds\":5},\"name\":\"kubedns\",\"ports\":[{\"containerPort\":10053,\"name\":\"dns-local\",\"protocol\":\"UDP\"},{\"containerPort\":10053,\"name\":\"dns-tcp-local\",\"protocol\":\"TCP\"}],\"readinessProbe\":{\"httpGet\":{\"path\":\"/readiness\",\"port\":8081,\"scheme\":\"HTTP\"},\"initialDelaySeconds\":30,\"timeoutSeconds\":5},\"resources\":{\"limits\":{\"memory\":\"170Mi\"},\"requests\":{\"cpu\":\"100m\",\"memory\":\"70Mi\"}},\"volumeMounts\":[{\"mountPath\":\"/kube-dns-config\",\"name\":\"kube-dns-config\"}]},{\"args\":[\"-v=2\",\"-logtostderr\",\"-configDir=/kube-dns-config\",\"-restartDnsmasq=true\",\"--\",\"-k\",\"--cache-size=1000\",\"--no-resolv\",\"--server=127.0.0.1#10053\",\"--server=/in-addr.arpa/127.0.0.1#10053\",\"--server=/ip6.arpa/127.0.0.1#10053\",\"--log-facility=-\"],\"image\":\"gcrio.azureedge.net/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.5\",\"name\":\"dnsmasq\",\"ports\":[{\"containerPort\":53,\"name\":\"dns\",\"protocol\":\"UDP\"},{\"containerPort\":53,\"name\":\"dns-tcp\",\"protocol\":\"TCP\"}],\"volumeMounts\":[{\"mountPath\":\"/kube-dns-config\",\"name\":\"kube-dns-config\"}]},{\"args\":[\"--cmd=nslookup kubernetes.default.svc.cluster.local 127.0.0.1 \\u003e/dev/null\",\"--url=/healthz-dnsmasq\",\"--cmd=nslookup kubernetes.default.svc.cluster.local 127.0.0.1:10053 \\u003e/dev/null\",\"--url=/healthz-kubedns\",\"--port=8080\",\"--quiet\"],\"image\":\"gcrio.azureedge.net/google_containers/exechealthz-amd64:1.2\",\"livenessProbe\":{\"failureThreshold\":5,\"httpGet\":{\"path\":\"/healthz-dnsmasq\",\"port\":8080,\"scheme\":\"HTTP\"},\"initialDelaySeconds\":60,\"successThreshold\":1,\"timeoutSeconds\":5},\"name\":\"healthz\",\"ports\":[{\"containerPort\":8080,\"protocol\":\"TCP\"}],\"resources\":{\"limits\":{\"memory\":\"50Mi\"},\"requests\":{\"cpu\":\"10m\",\"memory\":\"50Mi\"}}}],\"dnsPolicy\":\"Default\",\"nodeSelector\":{\"beta.kubernetes.io/os\":\"linux\"},\"serviceAccountName\":\"kube-dns\",\"tolerations\":[{\"key\":\"CriticalAddonsOnly\",\"operator\":\"Exists\"}],\"volumes\":[{\"configMap\":{\"name\":\"kube-dns\",\"optional\":true},\"name\":\"kube-dns-config\"}]}}}}\n" - } - }, - "spec": { - "replicas": 2, - "selector": { - "matchLabels": { - "k8s-app": "kube-dns", - "version": "v20" - } - }, - "template": { - "metadata": { - "creationTimestamp": null, - "labels": { - "k8s-app": "kube-dns", - "kubernetes.io/cluster-service": "true", - "version": "v20" - }, - "annotations": { - "scheduler.alpha.kubernetes.io/critical-pod": "" - } - }, - "spec": { - "volumes": [ - { - "name": "kube-dns-config", - "configMap": { - "name": "kube-dns", - "defaultMode": 420, - "optional": true - } - } - ], - "containers": [ - { - "name": "kubedns", - "image": "gcrio.azureedge.net/google_containers/k8s-dns-kube-dns-amd64:1.14.5", - "args": [ - "--domain=cluster.local.", - "--dns-port=10053", - "--v=2", - "--config-dir=/kube-dns-config" - ], - "ports": [ - { - "name": "dns-local", - "containerPort": 10053, - "protocol": "UDP" - }, - { - "name": "dns-tcp-local", - "containerPort": 10053, - "protocol": "TCP" - } - ], - "resources": { - "limits": { - "memory": "170Mi" - }, - "requests": { - "cpu": "100m", - "memory": "70Mi" - } - }, - "volumeMounts": [ - { - "name": "kube-dns-config", - "mountPath": "/kube-dns-config" - } - ], - "livenessProbe": { - "httpGet": { - "path": "/healthz-kubedns", - "port": 8080, - "scheme": "HTTP" - }, - "initialDelaySeconds": 60, - "timeoutSeconds": 5, - "periodSeconds": 10, - "successThreshold": 1, - "failureThreshold": 5 - }, - "readinessProbe": { - "httpGet": { - "path": "/readiness", - "port": 8081, - "scheme": "HTTP" - }, - "initialDelaySeconds": 30, - "timeoutSeconds": 5, - "periodSeconds": 10, - "successThreshold": 1, - "failureThreshold": 3 - }, - "terminationMessagePath": "/dev/termination-log", - "terminationMessagePolicy": "File", - "imagePullPolicy": "IfNotPresent" - }, - { - "name": "dnsmasq", - "image": "gcrio.azureedge.net/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.5", - "args": [ - "-v=2", - "-logtostderr", - "-configDir=/kube-dns-config", - "-restartDnsmasq=true", - "--", - "-k", - "--cache-size=1000", - "--no-resolv", - "--server=127.0.0.1#10053", - "--server=/in-addr.arpa/127.0.0.1#10053", - "--server=/ip6.arpa/127.0.0.1#10053", - "--log-facility=-" - ], - "ports": [ - { - "name": "dns", - "containerPort": 53, - "protocol": "UDP" - }, - { - "name": "dns-tcp", - "containerPort": 53, - "protocol": "TCP" - } - ], - "resources": {}, - "volumeMounts": [ - { - "name": "kube-dns-config", - "mountPath": "/kube-dns-config" - } - ], - "terminationMessagePath": "/dev/termination-log", - "terminationMessagePolicy": "File", - "imagePullPolicy": "IfNotPresent" - }, - { - "name": "healthz", - "image": "gcrio.azureedge.net/google_containers/exechealthz-amd64:1.2", - "args": [ - "--cmd=nslookup kubernetes.default.svc.cluster.local 127.0.0.1 >/dev/null", - "--url=/healthz-dnsmasq", - "--cmd=nslookup kubernetes.default.svc.cluster.local 127.0.0.1:10053 >/dev/null", - "--url=/healthz-kubedns", - "--port=8080", - "--quiet" - ], - "ports": [ - { - "containerPort": 8080, - "protocol": "TCP" - } - ], - "resources": { - "limits": { - "memory": "50Mi" - }, - "requests": { - "cpu": "10m", - "memory": "50Mi" - } - }, - "livenessProbe": { - "httpGet": { - "path": "/healthz-dnsmasq", - "port": 8080, - "scheme": "HTTP" - }, - "initialDelaySeconds": 60, - "timeoutSeconds": 5, - "periodSeconds": 10, - "successThreshold": 1, - "failureThreshold": 5 - }, - "terminationMessagePath": "/dev/termination-log", - "terminationMessagePolicy": "File", - "imagePullPolicy": "IfNotPresent" - } - ], - "restartPolicy": "Always", - "terminationGracePeriodSeconds": 30, - "dnsPolicy": "Default", - "nodeSelector": { - "beta.kubernetes.io/os": "linux" - }, - "serviceAccountName": "kube-dns", - "serviceAccount": "kube-dns", - "securityContext": {}, - "affinity": { - "podAntiAffinity": { - "preferredDuringSchedulingIgnoredDuringExecution": [ - { - "weight": 100, - "podAffinityTerm": { - "labelSelector": { - "matchExpressions": [ - { - "key": "k8s-app", - "operator": "In", - "values": [ - "kube-dns" - ] - } - ] - }, - "topologyKey": "kubernetes.io/hostname" - } - } - ] - } - }, - "schedulerName": "default-scheduler", - "tolerations": [ - { - "key": "CriticalAddonsOnly", - "operator": "Exists" - } - ] - } - }, - "strategy": { - "type": "RollingUpdate", - "rollingUpdate": { - "maxUnavailable": "25%", - "maxSurge": "25%" - } - }, - "revisionHistoryLimit": 2, - "progressDeadlineSeconds": 600 - }, - "status": { - "observedGeneration": 1, - "replicas": 2, - "updatedReplicas": 2, - "readyReplicas": 2, - "availableReplicas": 2, - "conditions": [ - { - "type": "Progressing", - "status": "True", - "lastUpdateTime": "2018-01-04T22:56:05Z", - "lastTransitionTime": "2018-01-04T22:51:20Z", - "reason": "NewReplicaSetAvailable", - "message": "ReplicaSet \"kube-dns-v20-568b85b8b\" has successfully progressed." - }, - { - "type": "Available", - "status": "True", - "lastUpdateTime": "2018-01-05T18:14:51Z", - "lastTransitionTime": "2018-01-05T18:14:51Z", - "reason": "MinimumReplicasAvailable", - "message": "Deployment has minimum availability." - } - ] - } -} \ No newline at end of file diff --git a/azure/main.ps1 b/azure/main.ps1 index 3d0bc15..7a2adc9 100644 --- a/azure/main.ps1 +++ b/azure/main.ps1 @@ -1,380 +1,6 @@ -$version = "2018.03.27.01" - # This script is meant for quick & easy install via: # curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | iex; # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/main.ps1 | pwsh -Interactive -NoExit -c -; -$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" - -$set = "abcdefghijklmnopqrstuvwxyz0123456789".ToCharArray() -$randomstring += $set | Get-Random - -Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1?f=$randomstring | Invoke-Expression; -# Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; - -Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1?f=$randomstring | Invoke-Expression; -# Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; - - -# Get-Content -Path "./azure/common.ps1" | Invoke-Expression; - -$userinput = "" -while ($userinput -ne "q") { - Write-Host "================ Health Catalyst version $version, common functions $(GetCommonVersion) ================" - Write-Warning "CURRENT CLUSTER: $(kubectl config current-context 2> $null)" - Write-Host "0: Change kube to point to another cluster" - Write-Host "------ Infrastructure -------" - Write-Host "1: Create a new Azure Container Service" - Write-Host "2: Setup Load Balancer" - Write-Host "3: Start VMs in Resource Group" - Write-Host "4: Stop VMs in Resource Group" - Write-Host "5: Renew Azure token" - Write-Host "6: Show NameServers to add in GoDaddy" - Write-Host "7: Setup Azure DNS entries" - Write-Host "8: Show DNS entries to make in CAFE DNS" - Write-Host "------ Install -------" - Write-Host "11: Install NLP" - Write-Host "12: Install Realtime" - Write-Host "----- Troubleshooting ----" - Write-Host "20: Show status of cluster" - Write-Host "21: Launch Kubernetes Admin Dashboard" - Write-Host "22: Show SSH commands to VMs" - Write-Host "23: View status of DNS pods" - Write-Host "24: Restart all VMs" - Write-Host "25: Flush DNS on local machine" - Write-Host "------ Load Balancer -------" - Write-Host "30: Test load balancer" - Write-Host "31: Fix load balancers" - Write-Host "32: Show load balancer logs" - Write-Host "33: Launch Load Balancer Dashboard" - Write-Host "------ NLP -----" - Write-Host "40: Show status of NLP" - Write-Host "41: Show detailed status of NLP" - Write-Host "42: Test web sites" - Write-Host "43: Show passwords" - Write-Host "44: Show NLP logs" - Write-Host "45: Restart NLP" - Write-Host "46: Show commands to SSH to NLP containers" - Write-Host "------ Realtime -----" - Write-Host "51: Show status of realtime" - Write-Host "-----------" - Write-Host "q: Quit" - $userinput = Read-Host "Please make a selection" - switch ($userinput) { - '0' { - Write-Host "Current cluster: $(kubectl config current-context)" - $folders = Get-ChildItem "C:\kubernetes" -directory - for ($i = 1; $i -le $folders.count; $i++) { - Write-Host "$i. $($folders[$i-1])" - } - $index = Read-Host "Enter number of folder to use (1 - $($folders.count))" - $folderToUse = $($folders[$index - 1]) - - SwitchToKubCluster -folderToUse "C:\kubernetes\$folderToUse" - } - '1' { - Invoke-WebRequest -useb $GITHUB_URL/azure/create-acs-cluster.ps1?f=$randomstring | Invoke-Expression; - Invoke-WebRequest -useb $GITHUB_URL/kubernetes/setup-loadbalancer.ps1?f=$randomstring | Invoke-Expression; - } - '2' { - Invoke-WebRequest -useb $GITHUB_URL/kubernetes/setup-loadbalancer.ps1?f=$randomstring | Invoke-Expression; - } - '3' { - Do { - $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group" - } - while ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) - az vm start --ids $(az vm list -g $AKS_PERS_RESOURCE_GROUP --query "[].id" -o tsv) - } - '4' { - Do { - $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group" - } - while ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) - az vm stop --ids $(az vm list -g $AKS_PERS_RESOURCE_GROUP --query "[].id" -o tsv) - } - '5' { - $expiresOn = $(az account get-access-token --query "expiresOn" -o tsv) - Do { $confirmation = Read-Host "Your current access token expires on $expiresOn. Do you want to login again to get a new access token? (y/n)"} - while ([string]::IsNullOrWhiteSpace($confirmation)) - - if ($confirmation -eq "y") { - az account clear - az login - } - } - '6' { - $DNS_RESOURCE_GROUP = Read-Host "Resource group containing DNS zones? (default: dns)" - if ([string]::IsNullOrWhiteSpace($DNS_RESOURCE_GROUP)) { - $DNS_RESOURCE_GROUP = "dns" - } - - $customerid = ReadSecret -secretname customerid - $customerid = $customerid.ToLower().Trim() - - $dnsrecordname = "$customerid.healthcatalyst.net" - - ShowNameServerEntries -dnsResourceGroup $DNS_RESOURCE_GROUP -dnsrecordname $dnsrecordname - } - '7' { - $DNS_RESOURCE_GROUP = Read-Host "Resource group containing DNS zones? (default: dns)" - if ([string]::IsNullOrWhiteSpace($DNS_RESOURCE_GROUP)) { - $DNS_RESOURCE_GROUP = "dns" - } - - $customerid = ReadSecret -secretname customerid - $customerid = $customerid.ToLower().Trim() - - $dnsrecordname = "$customerid.healthcatalyst.net" - - $loadBalancerIPResult = GetLoadBalancerIPs - $EXTERNAL_IP = $loadBalancerIPResult.ExternalIP - - SetupDNS -dnsResourceGroup $DNS_RESOURCE_GROUP -dnsrecordname $dnsrecordname -externalIP $EXTERNAL_IP - } - '8' { - WriteDNSCommands - } - '11' { - Invoke-WebRequest -useb $GITHUB_URL/nlp/installnlpkubernetes.ps1?f=$randomstring | Invoke-Expression; - } - '12' { - InstallStack -namespace "fabricrealtime" -baseUrl $GITHUB_URL -appfolder "realtime" -isAzure 1 - } - '20' { - Write-Host "Current cluster: $(kubectl config current-context)" - kubectl version --short - kubectl get "deployments,pods,services,ingress,secrets,nodes" --namespace=kube-system -o wide - } - '21' { - # launch Kubernetes dashboard - $launchJob = $true - $myPortArray = 8001,8002,8003,8004,8005,8006,8007,8008,8009,8010,8011,8012,8013,8014,8015,8016,8017,8018,8019,8020,8021,8022,8023,8024,8025,8026,8027,8028,8029,8030,8031,8032,8033,8034,8035,8036,8037,8038,8039 - $port = $(FindOpenPort -portArray $myPortArray).Port - Write-Host "Starting Kub Dashboard on port $port" - # $existingProcess = Get-ProcessByPort 8001 - # if (!([string]::IsNullOrWhiteSpace($existingProcess))) { - # Do { $confirmation = Read-Host "Another process is listening on 8001. Do you want to kill that process? (y/n)"} - # while ([string]::IsNullOrWhiteSpace($confirmation)) - - # if ($confirmation -eq "y") { - # Stop-ProcessByPort 8001 - # } - # else { - # $launchJob = $false - # } - # } - - if ($launchJob) { - # https://stackoverflow.com/questions/19834643/powershell-how-to-pre-evaluate-variables-in-a-scriptblock-for-start-job - $sb = [scriptblock]::Create("kubectl proxy -p $port") - $job = Start-Job -Name "KubDashboard" -ScriptBlock $sb -ErrorAction Stop - Wait-Job $job -Timeout 5; - Write-Output "job state: $($job.state)" - Receive-Job -Job $job 6>&1 - } - - # if ($job.state -eq 'Failed') { - # Receive-Job -Job $job - # Stop-ProcessByPort 8001 - # } - - # Write-Host "Your kubeconfig file is here: $env:KUBECONFIG" - $kubectlversion = $(kubectl version --short=true)[1] - if ($kubectlversion -match "v1.8") { - Write-Host "Launching http://localhost:$port/api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy in the web browser" - Start-Process -FilePath "http://localhost:$port/api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy"; - } - else { - Write-Host "Launching http://localhost:$port/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/ in the web browser" - Write-Host "Click Skip on login screen"; - Start-Process -FilePath "http://localhost:$port/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/"; - } - } - '22' { - $DEFAULT_RESOURCE_GROUP = ReadSecretValue -secretname azure-secret -valueName resourcegroup - - if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) { - Do { - $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group: (default: $DEFAULT_RESOURCE_GROUP)" - if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) { - $AKS_PERS_RESOURCE_GROUP = $DEFAULT_RESOURCE_GROUP - } - } - while ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) - } - - $AKS_PERS_LOCATION = az group show --name $AKS_PERS_RESOURCE_GROUP --query "location" -o tsv - - $AKS_LOCAL_FOLDER = Read-Host "Folder to store SSH keys (default: c:\kubernetes)" - if ([string]::IsNullOrWhiteSpace($AKS_LOCAL_FOLDER)) {$AKS_LOCAL_FOLDER = "C:\kubernetes"} - - $AKS_FOLDER_FOR_SSH_KEY = "$AKS_LOCAL_FOLDER\ssh\$AKS_PERS_RESOURCE_GROUP" - $SSH_PRIVATE_KEY_FILE = "$AKS_FOLDER_FOR_SSH_KEY\id_rsa" - $SSH_PRIVATE_KEY_FILE_UNIX_PATH = "/" + (($SSH_PRIVATE_KEY_FILE -replace "\\", "/") -replace ":", "").ToLower().Trim("/") - $MASTER_VM_NAME = "${AKS_PERS_RESOURCE_GROUP}.${AKS_PERS_LOCATION}.cloudapp.azure.com" - # Write-Output "You can connect to master VM in Git Bash for debugging using:" - # Write-Output "ssh -i ${SSH_PRIVATE_KEY_FILE_UNIX_PATH} azureuser@${MASTER_VM_NAME}" - - $virtualmachines = az vm list -g $AKS_PERS_RESOURCE_GROUP --query "[?storageProfile.osDisk.osType != 'Windows'].name" -o tsv - ForEach ($vm in $virtualmachines) { - $firstpublicip = az vm list-ip-addresses -g $AKS_PERS_RESOURCE_GROUP -n $vm --query "[].virtualMachine.network.publicIpAddresses[0].ipAddress" -o tsv - if ([string]::IsNullOrEmpty($firstpublicip)) { - $firstpublicip = az vm show -g $AKS_PERS_RESOURCE_GROUP -n $vm -d --query privateIps -otsv - $firstpublicip = $firstpublicip.Split(",")[0] - } - Write-Output "Connect to ${vm}:" - Write-Output "ssh -i ${SSH_PRIVATE_KEY_FILE_UNIX_PATH} azureuser@${firstpublicip}" - } - - Write-Output "Command to show errors: sudo journalctl -xef --priority 0..3" - Write-Output "Command to see apiserver logs: sudo journalctl -fu kube-apiserver" - Write-Output "Command to see kubelet status: sudo systemctl status kubelet" - # sudo systemctl restart kubelet.service - # sudo service kubelet status - # /var/log/pods - - Write-Output "Cheat Sheet for journalctl: https://www.cheatography.com/airlove/cheat-sheets/journalctl/" - # systemctl list-unit-files | grep .service | grep enabled - # https://askubuntu.com/questions/795226/how-to-list-all-enabled-services-from-systemctl - - # restart VM: az vm restart -g MyResourceGroup -n MyVm - # list vm sizes available: az vm list-sizes --location "eastus" --query "[].name" - - } - '23' { - kubectl get pods -l k8s-app=kube-dns -n kube-system -o wide - Do { $confirmation = Read-Host "Do you want to restart DNS pods? (y/n)"} - while ([string]::IsNullOrWhiteSpace($confirmation)) - - if ($confirmation -eq 'y') { - $failedItems = kubectl get pods -l k8s-app=kube-dns -n kube-system -o jsonpath='{range.items[*]}{.metadata.name}{\"\n\"}{end}' - ForEach ($line in $failedItems) { - Write-Host "Deleting pod $line" - kubectl delete pod $line -n kube-system - } - } - } - '24' { - # restart VMs - $AKS_PERS_RESOURCE_GROUP = ReadSecretValue -secretname azure-secret -valueName resourcegroup - # UpdateOSInVMs -resourceGroup $AKS_PERS_RESOURCE_GROUP - RestartVMsInResourceGroup -resourceGroup $AKS_PERS_RESOURCE_GROUP - SetHostFileInVms -resourceGroup $AKS_PERS_RESOURCE_GROUP - SetupCronTab -resourceGroup $AKS_PERS_RESOURCE_GROUP - } - '25' { - Read-Host "Script needs elevated privileges to flushdns. Hit ENTER to launch script to set PATH" - Start-Process powershell -verb RunAs -ArgumentList "ipconfig /flushdns" - } - '30' { - $AKS_PERS_RESOURCE_GROUP = ReadSecretValue -secretname azure-secret -valueName resourcegroup - - $urlAndIPForLoadBalancer=$(GetUrlAndIPForLoadBalancer "$AKS_PERS_RESOURCE_GROUP") - $url=$($urlAndIPForLoadBalancer.Url) - $ip=$($urlAndIPForLoadBalancer.IP) - - # Invoke-WebRequest -useb -Headers @{"Host" = "nlp.$customerid.healthcatalyst.net"} -Uri http://$loadBalancerIP/nlpweb | Select-Object -Expand Content - - Write-Output "To test out the load balancer, open Git Bash and run:" - Write-Output "curl --header 'Host: $url' 'http://$ip/' -k" - } - '31' { - $DEFAULT_RESOURCE_GROUP = ReadSecretValue -secretname azure-secret -valueName resourcegroup - - if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) { - Do { - $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group: (default: $DEFAULT_RESOURCE_GROUP)" - if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) { - $AKS_PERS_RESOURCE_GROUP = $DEFAULT_RESOURCE_GROUP - } - } - while ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) - } - FixLoadBalancers -resourceGroup $AKS_PERS_RESOURCE_GROUP - } - '32' { - $pods = $(kubectl get pods -l k8s-traefik=traefik -n kube-system -o jsonpath='{.items[*].metadata.name}') - foreach ($pod in $pods.Split(" ")) { - Write-Output "=============== Pod: $pod =================" - kubectl logs --tail=20 $pod -n kube-system - } - } - '33' { - $customerid = ReadSecret -secretname customerid - $customerid = $customerid.ToLower().Trim() - Write-Host "Launching http://dashboard.$customerid.healthcatalyst.net in the web browser" - Start-Process -FilePath "http://dashboard.$customerid.healthcatalyst.net"; - } - '40' { - kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide - } - '41' { - $pods = $(kubectl get pods -n fabricnlp -o jsonpath='{.items[*].metadata.name}') - foreach ($pod in $pods.Split(" ")) { - Write-Output "=============== Describe Pod: $pod =================" - kubectl describe pods $pod -n fabricnlp - } - } - '42' { - $loadBalancerIP = kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' --ignore-not-found=true - $loadBalancerInternalIP = kubectl get svc traefik-ingress-service-internal -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' - if ([string]::IsNullOrWhiteSpace($loadBalancerIP)) { - $loadBalancerIP = $loadBalancerInternalIP - } - $customerid = ReadSecret -secretname customerid - $customerid = $customerid.ToLower().Trim() - - # Invoke-WebRequest -useb -Headers @{"Host" = "nlp.$customerid.healthcatalyst.net"} -Uri http://$loadBalancerIP/nlpweb | Select-Object -Expand Content - - Write-Output "To test out the NLP services, open Git Bash and run:" - Write-Output "curl -L --verbose --header 'Host: solr.$customerid.healthcatalyst.net' 'http://$loadBalancerInternalIP/solr' -k" - Write-Output "curl -L --verbose --header 'Host: nlp.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/nlpweb' -k" - Write-Output "curl -L --verbose --header 'Host: nlpjobs.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/nlp' -k" +Write-Host "This has now moved to curl -useb https://raw.githubusercontent.com/HealthCatalyst/dos.install/master/azure/main.ps1 | iex;" - Write-Output "If you didn't setup DNS, add the following entries in your c:\windows\system32\drivers\etc\hosts file to access the urls from your browser" - Write-Output "$loadBalancerInternalIP solr.$customerid.healthcatalyst.net" - Write-Output "$loadBalancerIP nlp.$customerid.healthcatalyst.net" - Write-Output "$loadBalancerIP nlpjobs.$customerid.healthcatalyst.net" - - # clear Google DNS cache: http://www.redsome.com/flush-clear-dns-cache-google-chrome-browser/ - Write-Host "Launching http://solr.$customerid.healthcatalyst.net/solr in the web browser" - Start-Process -FilePath "http://solr.$customerid.healthcatalyst.net/solr"; - Write-Host "Launching http://nlp.$customerid.healthcatalyst.net/nlpweb in the web browser" - Start-Process -FilePath "http://nlp.$customerid.healthcatalyst.net/nlpweb"; - } - '43' { - Write-Host "MySql root password: $(ReadSecretPassword -secretname mysqlrootpassword -namespace fabricnlp)" - Write-Host "MySql NLP_APP_USER password: $(ReadSecretPassword -secretname mysqlpassword -namespace fabricnlp)" - Write-Host "SendGrid SMTP Relay key: $(ReadSecretPassword -secretname smtprelaypassword -namespace fabricnlp)" - } - '44' { - $pods = $(kubectl get pods -n fabricnlp -o jsonpath='{.items[*].metadata.name}') - foreach ($pod in $pods.Split(" ")) { - Write-Output "=============== Pod: $pod =================" - kubectl logs --tail=20 $pod -n fabricnlp - } - } - '45' { - kubectl delete --all 'pods' --namespace=fabricnlp --ignore-not-found=true - } - '46' { - $pods = $(kubectl get pods -n fabricnlp -o jsonpath='{.items[*].metadata.name}') - foreach ($pod in $pods.Split(" ")) { - Write-Output "kubectl exec -it $pod -n fabricnlp -- sh" - } - } - '51' { - kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime -o wide - } - 'q' { - return - } - } - $userinput = Read-Host -Prompt "Press Enter to continue or q to exit" - if($userinput -eq "q"){ - return - } - [Console]::ResetColor() - Clear-Host -} diff --git a/azure/oldfile.txt b/azure/oldfile.txt deleted file mode 100644 index 5a10094..0000000 --- a/azure/oldfile.txt +++ /dev/null @@ -1,1784 +0,0 @@ -DEBUG: Command arguments ['group', 'deployment', 'create', '--template-file', 'azuredeploy.json', '--resource-group', 'fabricnlp9', '-n', 'cluster1', '--parameters', '@azuredeploy.parameters.real.json'] -DEBUG: attempting to read file azuredeploy.parameters.real.json as utf-8-sig -DEBUG: Loading all installed modules as module with name 'group' not found. -DEBUG: Installed command modules ['acr', 'acs', 'advisor', 'appservice', 'backup', 'batch', 'batchai', 'billing', 'cdn', 'cloud', 'cognitiveservices', 'configure', 'consumption', 'container', 'cosmosdb', 'dla', 'dls', 'eventgrid', 'extension', 'feedback', 'find', 'interactive', 'iot', 'keyvault', 'lab', 'monitor', 'network', 'profile', 'rdbms', 'redis', 'reservations', 'resource', 'role', 'servicefabric', 'sql', 'storage', 'vm'] -DEBUG: Current cloud config: -{'endpoints': {'active_directory': 'https://login.microsoftonline.com', - 'active_directory_data_lake_resource_id': 'https://datalake.azure.net/', - 'active_directory_graph_resource_id': 'https://graph.windows.net/', - 'active_directory_resource_id': 'https://management.core.windows.net/', - 'batch_resource_id': 'https://batch.core.windows.net/', - 'gallery': 'https://gallery.azure.com/', - 'management': 'https://management.core.windows.net/', - 'resource_manager': 'https://management.azure.com/', - 'sql_management': 'https://management.core.windows.net:8443/', - 'vm_image_alias_doc': 'https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/arm-compute/quickstart-templates/aliases.json'}, - 'is_active': True, - 'name': 'AzureCloud', - 'profile': 'latest', - 'suffixes': {'azure_datalake_analytics_catalog_and_job_endpoint': 'azuredatalakeanalytics.net', - 'azure_datalake_store_file_system_endpoint': 'azuredatalakestore.net', - 'keyvault_dns': '.vault.azure.net', - 'sql_server_hostname': '.database.windows.net', - 'storage_endpoint': 'core.windows.net'}} -DEBUG: Registered application event handler 'CommandTableParams.Loaded' at -DEBUG: Registered application event handler 'CommandTable.Loaded' at -DEBUG: Loaded module 'acr' in 0.035 seconds. -DEBUG: Loaded module 'acs' in 0.011 seconds. -DEBUG: Loaded module 'advisor' in 0.004 seconds. -DEBUG: Registered application event handler 'CommandParser.Parsing' at -DEBUG: Loaded module 'appservice' in 0.010 seconds. -DEBUG: Loaded module 'backup' in 0.005 seconds. -DEBUG: Loaded module 'batch' in 0.034 seconds. -DEBUG: Loaded module 'batchai' in 0.011 seconds. -DEBUG: Loaded module 'billing' in 0.005 seconds. -DEBUG: Loaded module 'cdn' in 0.015 seconds. -DEBUG: Loaded module 'cloud' in 0.003 seconds. -DEBUG: Loaded module 'cognitiveservices' in 0.007 seconds. -DEBUG: Loaded module 'configure' in 0.002 seconds. -DEBUG: Loaded module 'consumption' in 0.005 seconds. -DEBUG: Loaded module 'container' in 0.008 seconds. -DEBUG: Registered application event handler 'CommandParser.Parsing' at -DEBUG: Loaded module 'cosmosdb' in 0.010 seconds. -DEBUG: Loaded module 'dla' in 0.008 seconds. -DEBUG: Loaded module 'dls' in 0.004 seconds. -DEBUG: Loaded module 'eventgrid' in 0.018 seconds. -DEBUG: Loaded module 'extension' in 0.014 seconds. -DEBUG: Loaded module 'feedback' in 0.008 seconds. -DEBUG: Loaded module 'find' in 0.005 seconds. -DEBUG: Loaded module 'interactive' in 0.003 seconds. -DEBUG: Loaded module 'iot' in 0.014 seconds. -DEBUG: Loaded module 'keyvault' in 0.014 seconds. -DEBUG: Loaded module 'lab' in 0.010 seconds. -DEBUG: Loaded module 'monitor' in 0.015 seconds. -DEBUG: Loaded module 'network' in 0.047 seconds. -DEBUG: Loaded module 'profile' in 0.005 seconds. -DEBUG: Loaded module 'rdbms' in 0.010 seconds. -DEBUG: Loaded module 'redis' in 0.017 seconds. -DEBUG: Loaded module 'reservations' in 0.016 seconds. -DEBUG: Loaded module 'resource' in 0.015 seconds. -DEBUG: Loaded module 'role' in 0.006 seconds. -DEBUG: Loaded module 'servicefabric' in 0.011 seconds. -DEBUG: Loaded module 'sql' in 0.013 seconds. -DEBUG: Loaded module 'storage' in 0.043 seconds. -DEBUG: Loaded module 'vm' in 1.036 seconds. -DEBUG: Loaded all modules in 1.497 seconds. (note: there's always an overhead with the first module loaded) -DEBUG: Extensions directory: 'C:\Users\imran.qureshi\.azure\cliextensions' -DEBUG: Application event 'CommandTable.Loaded' with event data {'command_table': {'group deployment create': }} -DEBUG: Application event 'CommandParser.Loaded' with event data {'parser': AzCliCommandParser(prog='az', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True)} -DEBUG: Application event 'CommandTableParams.Loaded' with event data {'command_table': {'group deployment create': }} -DEBUG: Application event 'CommandParser.Parsing' with event data {'argv': ['group', 'deployment', 'create', '--template-file', 'azuredeploy.json', '--resource-group', 'fabricnlp9', '-n', 'cluster1', '--parameters', '{\n "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",\n "contentVersion": "1.0.0.0",\n "parameters": {\n "linuxagentVMSize": {\n "value": "Standard_D2_v2"\n },\n "linuxagentVnetSubnetID": {\n "value": "/subscriptions/c744e4e8-3d12-48ab-8492-9a600 [...] -DEBUG: Application event 'CommandParser.Parsed' with event data {'command': 'group deployment create', 'args': Namespace(_command_package='group', _jmespath_query=None, _log_verbosity_debug=False, _log_verbosity_verbose=False, _output_format='json', _parser=AzCliCommandParser(prog='az group deployment create', usage=None, description='', formatter_class=, conflict_handler='error', add_help=True), _validators=[], command='group deployment create', deployment_name [...] -DEBUG: attempting to read file azuredeploy.json as utf-8-sig -DEBUG: Getting management service client client_type=ResourceManagementClient -DEBUG: attempting to read file C:\Users\imran.qureshi\.azure\accessTokens.json as utf-8-sig -DEBUG: adal-python : 38503c63-db32-44cc-97df-702a19252404 - Authority:Performing instance discovery: https://login.microsoftonline.com/52807a8b-794c-4c07-825f-578847e1257e -DEBUG: adal-python : 38503c63-db32-44cc-97df-702a19252404 - Authority:Performing static instance discovery -DEBUG: adal-python : 38503c63-db32-44cc-97df-702a19252404 - Authority:Authority validated via static instance discovery -INFO: adal-python : 38503c63-db32-44cc-97df-702a19252404 - TokenRequest:Getting token from cache with refresh if necessary. -DEBUG: adal-python : 38503c63-db32-44cc-97df-702a19252404 - OAuth2Client:finding with query: {"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 38503c63-db32-44cc-97df-702a19252404 - OAuth2Client:Looking for potential cache entries: -DEBUG: adal-python : 38503c63-db32-44cc-97df-702a19252404 - OAuth2Client:{"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 38503c63-db32-44cc-97df-702a19252404 - OAuth2Client:Found 4 potential entries. -DEBUG: adal-python : 38503c63-db32-44cc-97df-702a19252404 - OAuth2Client:Resource specific token found. -DEBUG: adal-python : 38503c63-db32-44cc-97df-702a19252404 - OAuth2Client:Returning token from cache lookup, AccessTokenId: b'kslIbWka8YbxRUy8vLy6JNH7izY8GoVPIpyFsPticn4=', RefreshTokenId: b'ZKVr4cTgxa0EDZ2Kgqem4UHxIsbWBdRNnpWnblHwFnE=' -DEBUG: msrest.pipeline : Configuring request: timeout=100, verify=True, cert=None -DEBUG: msrest.pipeline : Configuring redirects: allow=True, max=30 -DEBUG: msrest.pipeline : Configuring proxies: '' -DEBUG: msrest.pipeline : Evaluate proxies against ENV settings: True -DEBUG: msrest.pipeline : Configuring retry: max_retries=4, backoff_factor=0.8, max_backoff=90 -DEBUG: urllib3.connectionpool : Starting new HTTPS connection (1): management.azure.com -DEBUG: urllib3.connectionpool : https://management.azure.com:443 "PUT /subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1?api-version=2017-05-10 HTTP/1.1" 200 None -DEBUG: msrest.http_logger : Request URL: 'https://management.azure.com/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1?api-version=2017-05-10' -DEBUG: msrest.http_logger : Request method: 'PUT' -DEBUG: msrest.http_logger : Request headers: -DEBUG: msrest.http_logger : 'User-Agent': 'python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.19 msrest_azure/0.4.17 resourcemanagementclient/1.2.1 Azure-SDK-For-Python AZURECLI/2.0.22' -DEBUG: msrest.http_logger : 'Accept-Encoding': 'gzip, deflate' -DEBUG: msrest.http_logger : 'Accept': 'application/json' -DEBUG: msrest.http_logger : 'Connection': 'keep-alive' -DEBUG: msrest.http_logger : 'Authorization': '*****' -DEBUG: msrest.http_logger : 'x-ms-client-request-id': '7538e6de-dca0-11e7-b921-e4b3187aa3c2' -DEBUG: msrest.http_logger : 'CommandName': 'group deployment create' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'accept-language': 'en-US' -DEBUG: msrest.http_logger : 'Content-Length': '120945' -DEBUG: msrest.http_logger : Request body: -DEBUG: msrest.http_logger : {"properties": {"template": {"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": {"apiServerCertificate": {"metadata": {"description": "The base 64 server certificate used on the master"}, "type": "string"}, "apiServerPrivateKey": {"metadata": {"description": "The base 64 server private key used on the master."}, "type": "securestring"}, "caCertificate": {"metadata": {"description": "The base 64 certificate authority certificate"}, "type": "string"}, "caPrivateKey": {"defaultValue": "", "metadata": {"description": "The base 64 CA private key used on the master."}, "type": "securestring"}, "clientCertificate": {"metadata": {"description": "The base 64 client certificate used to communicate with the master"}, "type": "string"}, "clientPrivateKey": {"metadata": {"description": "The base 64 client private key used to communicate with the master"}, "type": "securestring"}, "cloudProviderBackoff": {"defaultValue": "", "metadata": {"description": "Enable cloudprovider backoff?"}, "type": "string"}, "cloudProviderBackoffDuration": {"defaultValue": "", "metadata": {"description": "If backoff enabled, how long until timeout"}, "type": "string"}, "cloudProviderBackoffExponent": {"defaultValue": "", "metadata": {"description": "If backoff enabled, retry exponent"}, "type": "string"}, "cloudProviderBackoffJitter": {"defaultValue": "", "metadata": {"description": "If backoff enabled, jitter factor between retries"}, "type": "string"}, "cloudProviderBackoffRetries": {"defaultValue": "", "metadata": {"description": "If backoff enabled, how many times to retry"}, "type": "string"}, "cloudProviderRatelimit": {"defaultValue": "", "metadata": {"description": "Enable cloudprovider rate limiting?"}, "type": "string"}, "cloudProviderRatelimitBucket": {"defaultValue": "", "metadata": {"description": "If rate limiting enabled, bucket size"}, "type": "string"}, "cloudProviderRatelimitQPS": {"defaultValue": "", "metadata": {"description": "If rate limiting enabled, target maximum QPS"}, "type": "string"}, "cniPluginsURL": {"defaultValue": "https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-latest.tgz", "type": "string"}, "dockerBridgeCidr": {"defaultValue": "", "metadata": {"description": "Docker bridge network IP address and subnet"}, "type": "string"}, "dockerEngineDownloadRepo": {"defaultValue": "https://aptdocker.azureedge.net/repo", "metadata": {"description": "The docker engine download url for kubernetes."}, "type": "string"}, "etcdDiskSizeGB": {"defaultValue": "", "metadata": {"description": "Size in GB to allocate for etcd volume"}, "type": "string"}, "etcdDownloadURLBase": {"defaultValue": "", "metadata": {"description": "etcd image base URL"}, "type": "string"}, "etcdVersion": {"defaultValue": "", "metadata": {"description": "etcd version"}, "type": "string"}, "firstConsecutiveStaticIP": {"defaultValue": "10.5.20.100", "metadata": {"description": "Sets the static IP of the first master"}, "type": "string"}, "fqdnEndpointSuffix": {"defaultValue": "cloudapp.azure.com", "metadata": {"description": "Endpoint of FQDN."}, "type": "string"}, "gcHighThreshold": {"defaultValue": 85, "metadata": {"description": "High Threshold for Image Garbage collection on each node"}, "type": "int"}, "gcLowThreshold": {"defaultValue": 80, "metadata": {"description": "Low Threshold for Image Garbage collection on each node."}, "type": "int"}, "generatorCode": {"defaultValue": "", "metadata": {"description": "The generator code used to identify the generator"}, "type": "string"}, "kubeClusterCidr": {"defaultValue": "", "metadata": {"description": "Kubernetes cluster subnet"}, "type": "string"}, "kubeConfigCertificate": {"metadata": {"description": "The base 64 certificate used by cli to communicate with the master"}, "type": "string"}, "kubeConfigPrivateKey": {"metadata": {"description": "The base 64 private key used by cli to communicate with the master"}, "type": "securestring"}, "kubeDNSServiceIP": {"defaultValue": "", "metadata": {"description": "Kubernetes DNS IP"}, "type": "string"}, "kubeServiceCidr": {"defaultValue": "", "metadata": {"description": "Kubernetes service address space"}, "type": "string"}, "kubernetesACIConnectorCPULimit": {"defaultValue": "", "metadata": {"description": "ACI Connector CPU Limit"}, "type": "string"}, "kubernetesACIConnectorCPURequests": {"defaultValue": "", "metadata": {"description": "ACI Connector CPU Requests"}, "type": "string"}, "kubernetesACIConnectorClientId": {"defaultValue": "", "metadata": {"description": "Client id for ACI Connector."}, "type": "string"}, "kubernetesACIConnectorClientKey": {"defaultValue": "", "metadata": {"description": "Client key for ACI Connector."}, "type": "string"}, "kubernetesACIConnectorMemoryLimit": {"defaultValue": "", "metadata": {"description": "ACI Connector Memory Limit"}, "type": "string"}, "kubernetesACIConnectorMemoryRequests": {"defaultValue": "", "metadata": {"description": "ACI Connector Memory Requests"}, "type": "string"}, "kubernetesACIConnectorRegion": {"defaultValue": "", "metadata": {"description": "Region for ACI Connector."}, "type": "string"}, "kubernetesACIConnectorResourceGroup": {"defaultValue": "", "metadata": {"description": "Resource group for ACI Connector."}, "type": "string"}, "kubernetesACIConnectorSpec": {"defaultValue": "", "metadata": {"description": "The container spec for ACI Connector."}, "type": "string"}, "kubernetesACIConnectorSubscriptionId": {"defaultValue": "", "metadata": {"description": "Subscription id for ACI Connector."}, "type": "string"}, "kubernetesACIConnectorTenantId": {"defaultValue": "", "metadata": {"description": "Tenant id for ACI Connector."}, "type": "string"}, "kubernetesAddonManagerSpec": {"defaultValue": "", "metadata": {"description": "The container spec for hyperkube."}, "type": "string"}, "kubernetesAddonResizerSpec": {"defaultValue": "", "metadata": {"description": "The container spec for addon-resizer."}, "type": "string"}, "kubernetesCcmImageSpec": {"defaultValue": "", "metadata": {"description": "The container spec for cloud-controller-manager."}, "type": "string"}, "kubernetesCtrlMgrNodeMonitorGracePeriod": {"defaultValue": "", "metadata": {"description": "Kubernetes controller manager grace period for node status updates."}, "type": "string"}, "kubernetesCtrlMgrPodEvictionTimeout": {"defaultValue": "", "metadata": {"description": "Kubernetes controller manager pod eviction timeout."}, "type": "string"}, "kubernetesCtrlMgrRouteReconciliationPeriod": {"defaultValue": "", "metadata": {"description": "Kubernetes controller manager route reconciliation period."}, "type": "string"}, "kubernetesDNSMasqSpec": {"defaultValue": "", "metadata": {"description": "The container spec for kube-dnsmasq-amd64."}, "type": "string"}, "kubernetesDashboardCPULimit": {"defaultValue": "", "metadata": {"description": "Dashboard CPU Limit."}, "type": "string"}, "kubernetesDashboardCPURequests": {"defaultValue": "", "metadata": {"description": "Dashboard CPU Requests."}, "type": "string"}, "kubernetesDashboardMemoryLimit": {"defaultValue": "", "metadata": {"description": "Dashboard Memory Limit."}, "type": "string"}, "kubernetesDashboardMemoryRequests": {"defaultValue": "", "metadata": {"description": "Dashboard Memory Requests."}, "type": "string"}, "kubernetesDashboardSpec": {"defaultValue": "", "metadata": {"description": "The container spec for kubernetes-dashboard-amd64."}, "type": "string"}, "kubernetesExecHealthzSpec": {"defaultValue": "", "metadata": {"description": "The container spec for exechealthz-amd64."}, "type": "string"}, "kubernetesHardEvictionThreshold": {"defaultValue": "", "metadata": {"description": "Kubelet Hard Eviction threshold."}, "type": "string"}, "kubernetesHeapsterSpec": {"defaultValue": "", "metadata": {"description": "The container spec for heapster."}, "type": "string"}, "kubernetesHyperkubeSpec": {"defaultValue": "", "metadata": {"description": "The container spec for hyperkube."}, "type": "string"}, "kubernetesKubeDNSSpec": {"defaultValue": "", "metadata": {"description": "The container spec for kubedns-amd64."}, "type": "string"}, "kubernetesNodeStatusUpdateFrequency": {"defaultValue": "", "metadata": {"description": "Kubelet config for node status update frequency interval."}, "type": "string"}, "kubernetesNonMasqueradeCidr": {"metadata": {"description": "kubernetesNonMasqueradeCidr cluster subnet"}, "type": "string"}, "kubernetesPodInfraContainerSpec": {"defaultValue": "", "metadata": {"description": "The container spec for pod infra."}, "type": "string"}, "kubernetesReschedulerCPULimit": {"defaultValue": "", "metadata": {"description": "Rescheduler CPU Limit."}, "type": "string"}, "kubernetesReschedulerCPURequests": {"defaultValue": "", "metadata": {"description": "Rescheduler CPU Requests."}, "type": "string"}, "kubernetesReschedulerMemoryLimit": {"defaultValue": "", "metadata": {"description": "Rescheduler Memory Limit."}, "type": "string"}, "kubernetesReschedulerMemoryRequests": {"defaultValue": "", "metadata": {"description": "Rescheduler Memory Requests."}, "type": "string"}, "kubernetesReschedulerSpec": {"defaultValue": "", "metadata": {"description": "The container spec for rescheduler."}, "type": "string"}, "kubernetesTillerCPULimit": {"defaultValue": "", "metadata": {"description": "Helm Tiller CPU Limit."}, "type": "string"}, "kubernetesTillerCPURequests": {"defaultValue": "", "metadata": {"description": "Helm Tiller CPU Requests."}, "type": "string"}, "kubernetesTillerMemoryLimit": {"defaultValue": "", "metadata": {"description": "Helm Tiller Memory Limit."}, "type": "string"}, "kubernetesTillerMemoryRequests": {"defaultValue": "", "metadata": {"description": "Helm Tiller Memory Requests."}, "type": "string"}, "kubernetesTillerSpec": {"defaultValue": "", "metadata": {"description": "The container spec for Helm Tiller."}, "type": "string"}, "linuxAdminUsername": {"metadata": {"description": "User name for the Linux Virtual Machines (SSH or Password)."}, "type": "string"}, "linuxagentCount": {"allowedValues": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100], "defaultValue": 2, "metadata": {"description": "The number of agents for the cluster. This value can be from 1 to 100"}, "type": "int"}, "linuxagentOffset": {"allowedValues": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], "defaultValue": 0, "metadata": {"description": "The offset into the agent pool where to start creating agents. This value can be from 0 to 99, but must be less than agentCount"}, "type": "int"}, "linuxagentVMSize": {"allowedValues": ["Standard_A0", "Standard_A1", "Standard_A10", "Standard_A11", "Standard_A1_v2", "Standard_A2", "Standard_A2_v2", "Standard_A2m_v2", "Standard_A3", "Standard_A4", "Standard_A4_v2", "Standard_A4m_v2", "Standard_A5", "Standard_A6", "Standard_A7", "Standard_A8", "Standard_A8_v2", "Standard_A8m_v2", "Standard_A9", "Standard_B1ms", "Standard_B1s", "Standard_B2ms", "Standard_B2s", "Standard_B4ms", "Standard_B8ms", "Standard_D1", "Standard_D11", "Standard_D11_v2", "Standard_D11_v2_Promo", "Standard_D12", "Standard_D12_v2", "Standard_D12_v2_Promo", "Standard_D13", "Standard_D13_v2", "Standard_D13_v2_Promo", "Standard_D14", "Standard_D14_v2", "Standard_D14_v2_Promo", "Standard_D15_v2", "Standard_D16_v3", "Standard_D16s_v3", "Standard_D1_v2", "Standard_D2", "Standard_D2_v2", "Standard_D2_v2_Promo", "Standard_D2_v3", "Standard_D2s_v3", "Standard_D3", "Standard_D32_v3", "Standard_D32s_v3", "Standard_D3_v2", "Standard_D3_v2_Promo", "Standard_D4", "Standard_D4_v2", "Standard_D4_v2_Promo", "Standard_D4_v3", "Standard_D4s_v3", "Standard_D5_v2", "Standard_D5_v2_Promo", "Standard_D64_v3", "Standard_D64s_v3", "Standard_D8_v3", "Standard_D8s_v3", "Standard_DS1", "Standard_DS11", "Standard_DS11_v2", "Standard_DS11_v2_Promo", "Standard_DS12", "Standard_DS12_v2", "Standard_DS12_v2_Promo", "Standard_DS13", "Standard_DS13-2_v2", "Standard_DS13-4_v2", "Standard_DS13_v2", "Standard_DS13_v2_Promo", "Standard_DS14", "Standard_DS14-4_v2", "Standard_DS14-8_v2", "Standard_DS14_v2", "Standard_DS14_v2_Promo", "Standard_DS15_v2", "Standard_DS1_v2", "Standard_DS2", "Standard_DS2_v2", "Standard_DS2_v2_Promo", "Standard_DS3", "Standard_DS3_v2", "Standard_DS3_v2_Promo", "Standard_DS4", "Standard_DS4_v2", "Standard_DS4_v2_Promo", "Standard_DS5_v2", "Standard_DS5_v2_Promo", "Standard_E16_v3", "Standard_E16s_v3", "Standard_E2_v3", "Standard_E2s_v3", "Standard_E32-16s_v3", "Standard_E32-8s_v3", "Standard_E32_v3", "Standard_E32s_v3", "Standard_E4_v3", "Standard_E4s_v3", "Standard_E64-16s_v3", "Standard_E64-32s_v3", "Standard_E64_v3", "Standard_E64s_v3", "Standard_E8_v3", "Standard_E8s_v3", "Standard_F1", "Standard_F16", "Standard_F16s", "Standard_F16s_v2", "Standard_F1s", "Standard_F2", "Standard_F2s", "Standard_F2s_v2", "Standard_F32s_v2", "Standard_F4", "Standard_F4s", "Standard_F4s_v2", "Standard_F64s_v2", "Standard_F72s_v2", "Standard_F8", "Standard_F8s", "Standard_F8s_v2", "Standard_G1", "Standard_G2", "Standard_G3", "Standard_G4", "Standard_G5", "Standard_GS1", "Standard_GS2", "Standard_GS3", "Standard_GS4", "Standard_GS4-4", "Standard_GS4-8", "Standard_GS5", "Standard_GS5-16", "Standard_GS5-8", "Standard_H16", "Standard_H16m", "Standard_H16mr", "Standard_H16r", "Standard_H8", "Standard_H8m", "Standard_L16s", "Standard_L32s", "Standard_L4s", "Standard_L8s", "Standard_M128-32ms", "Standard_M128-64ms", "Standard_M128ms", "Standard_M128s", "Standard_M64-16ms", "Standard_M64-32ms", "Standard_M64ms", "Standard_M64s", "Standard_NC12", "Standard_NC12s_v2", "Standard_NC24", "Standard_NC24r", "Standard_NC24rs_v2", "Standard_NC24s_v2", "Standard_NC6", "Standard_NC6s_v2", "Standard_ND12s", "Standard_ND24rs", "Standard_ND24s", "Standard_ND6s", "Standard_NV12", "Standard_NV24", "Standard_NV6"], "defaultValue": "Standard_D2_v2", "metadata": {"description": "The size of the Virtual Machine."}, "type": "string"}, "linuxagentVnetSubnetID": {"metadata": {"description": "Sets the vnet subnet of agent pool 'linuxagent'."}, "type": "string"}, "linuxagentosImageOffer": {"defaultValue": "UbuntuServer", "metadata": {"description": "Linux OS image type."}, "type": "string"}, "linuxagentosImagePublisher": {"defaultValue": "Canonical", "metadata": {"description": "OS image publisher."}, "type": "string"}, "linuxagentosImageSKU": {"defaultValue": "16.04-LTS", "metadata": {"description": "OS image SKU."}, "type": "string"}, "linuxagentosImageVersion": {"defaultValue": "16.04.201711211", "metadata": {"description": "OS image version."}, "type": "string"}, "location": {"defaultValue": "", "metadata": {"description": "Sets the location for all resources in the cluster"}, "type": "string"}, "masterEndpointDNSNamePrefix": {"metadata": {"description": "Sets the Domain name label for the master IP Address. The concatenation of the domain name label and the regional DNS zone make up the fully qualified domain name associated with the public IP address."}, "type": "string"}, "masterOffset": {"allowedValues": [0, 1, 2, 3, 4], "defaultValue": 0, "metadata": {"description": "The offset into the master pool where to start creating master VMs. This value can be from 0 to 4, but must be less than masterCount."}, "type": "int"}, "masterVMSize": {"allowedValues": ["Standard_A10", "Standard_A11", "Standard_A2", "Standard_A2_v2", "Standard_A2m_v2", "Standard_A3", "Standard_A4", "Standard_A4_v2", "Standard_A4m_v2", "Standard_A5", "Standard_A6", "Standard_A7", "Standard_A8", "Standard_A8_v2", "Standard_A8m_v2", "Standard_A9", "Standard_B2ms", "Standard_B2s", "Standard_B4ms", "Standard_B8ms", "Standard_D11", "Standard_D11_v2", "Standard_D11_v2_Promo", "Standard_D12", "Standard_D12_v2", "Standard_D12_v2_Promo", "Standard_D13", "Standard_D13_v2", "Standard_D13_v2_Promo", "Standard_D14", "Standard_D14_v2", "Standard_D14_v2_Promo", "Standard_D15_v2", "Standard_D16_v3", "Standard_D16s_v3", "Standard_D2", "Standard_D2_v2", "Standard_D2_v2_Promo", "Standard_D2_v3", "Standard_D2s_v3", "Standard_D3", "Standard_D32_v3", "Standard_D32s_v3", "Standard_D3_v2", "Standard_D3_v2_Promo", "Standard_D4", "Standard_D4_v2", "Standard_D4_v2_Promo", "Standard_D4_v3", "Standard_D4s_v3", "Standard_D5_v2", "Standard_D5_v2_Promo", "Standard_D64_v3", "Standard_D64s_v3", "Standard_D8_v3", "Standard_D8s_v3", "Standard_DS11", "Standard_DS11_v2", "Standard_DS11_v2_Promo", "Standard_DS12", "Standard_DS12_v2", "Standard_DS12_v2_Promo", "Standard_DS13", "Standard_DS13-2_v2", "Standard_DS13-4_v2", "Standard_DS13_v2", "Standard_DS13_v2_Promo", "Standard_DS14", "Standard_DS14-4_v2", "Standard_DS14-8_v2", "Standard_DS14_v2", "Standard_DS14_v2_Promo", "Standard_DS15_v2", "Standard_DS2", "Standard_DS2_v2", "Standard_DS2_v2_Promo", "Standard_DS3", "Standard_DS3_v2", "Standard_DS3_v2_Promo", "Standard_DS4", "Standard_DS4_v2", "Standard_DS4_v2_Promo", "Standard_DS5_v2", "Standard_DS5_v2_Promo", "Standard_E16_v3", "Standard_E16s_v3", "Standard_E2_v3", "Standard_E2s_v3", "Standard_E32-16s_v3", "Standard_E32-8s_v3", "Standard_E32_v3", "Standard_E32s_v3", "Standard_E4_v3", "Standard_E4s_v3", "Standard_E64-16s_v3", "Standard_E64-32s_v3", "Standard_E64_v3", "Standard_E64s_v3", "Standard_E8_v3", "Standard_E8s_v3", "Standard_F16", "Standard_F16s", "Standard_F16s_v2", "Standard_F2", "Standard_F2s", "Standard_F2s_v2", "Standard_F32s_v2", "Standard_F4", "Standard_F4s", "Standard_F4s_v2", "Standard_F64s_v2", "Standard_F72s_v2", "Standard_F8", "Standard_F8s", "Standard_F8s_v2", "Standard_G1", "Standard_G2", "Standard_G3", "Standard_G4", "Standard_G5", "Standard_GS1", "Standard_GS2", "Standard_GS3", "Standard_GS4", "Standard_GS4-4", "Standard_GS4-8", "Standard_GS5", "Standard_GS5-16", "Standard_GS5-8", "Standard_H16", "Standard_H16m", "Standard_H16mr", "Standard_H16r", "Standard_H8", "Standard_H8m", "Standard_L16s", "Standard_L32s", "Standard_L4s", "Standard_L8s", "Standard_M128-32ms", "Standard_M128-64ms", "Standard_M128ms", "Standard_M128s", "Standard_M64-16ms", "Standard_M64-32ms", "Standard_M64ms", "Standard_M64s", "Standard_NC12", "Standard_NC12s_v2", "Standard_NC24", "Standard_NC24r", "Standard_NC24rs_v2", "Standard_NC24s_v2", "Standard_NC6", "Standard_NC6s_v2", "Standard_ND12s", "Standard_ND24rs", "Standard_ND24s", "Standard_ND6s", "Standard_NV12", "Standard_NV24", "Standard_NV6"], "metadata": {"description": "The size of the Virtual Machine."}, "type": "string"}, "masterVnetSubnetID": {"metadata": {"description": "Sets the vnet subnet of the master."}, "type": "string"}, "maxPods": {"defaultValue": 110, "metadata": {"description": "The maximum number of pods per node."}, "type": "int"}, "nameSuffix": {"defaultValue": "25033075", "metadata": {"description": "A string hash of the master DNS name to uniquely identify the cluster."}, "type": "string"}, "networkPolicy": {"allowedValues": ["none", "azure", "calico"], "defaultValue": "none", "metadata": {"description": "The network policy enforcement to use (none|azure|calico)"}, "type": "string"}, "orchestratorName": {"defaultValue": "", "maxLength": 3, "metadata": {"description": "The orchestrator name used to identify the orchestrator. This must be no more than 3 digits in length, otherwise it will exceed Windows Naming"}, "minLength": 3, "type": "string"}, "osImageOffer": {"defaultValue": "UbuntuServer", "metadata": {"description": "Linux OS image type."}, "type": "string"}, "osImagePublisher": {"defaultValue": "Canonical", "metadata": {"description": "OS image publisher."}, "type": "string"}, "osImageSKU": {"defaultValue": "16.04-LTS", "metadata": {"description": "OS image SKU."}, "type": "string"}, "osImageVersion": {"defaultValue": "16.04.201711211", "metadata": {"description": "OS image version."}, "type": "string"}, "servicePrincipalClientId": {"metadata": {"description": "Client ID (used by cloudprovider)"}, "type": "securestring"}, "servicePrincipalClientSecret": {"metadata": {"description": "The Service Principal Client Secret."}, "type": "securestring"}, "sshRSAPublicKey": {"metadata": {"description": "SSH public key used for auth to all Linux machines. Not Required. If not set, you must provide a password key."}, "type": "string"}, "targetEnvironment": {"defaultValue": "AzurePublicCloud", "metadata": {"description": "The azure deploy environment. Currently support: AzurePublicCloud, AzureChinaCloud"}, "type": "string"}, "vnetCidr": {"defaultValue": "10.0.0.0/8", "metadata": {"description": "Cluster vnet cidr"}, "type": "string"}, "vnetCniLinuxPluginsURL": {"defaultValue": "https://acs-mirror.azureedge.net/cni/azure-vnet-cni-linux-amd64-latest.tgz", "type": "string"}, "vnetCniWindowsPluginsURL": {"defaultValue": "https://acs-mirror.azureedge.net/cni/azure-vnet-cni-windows-amd64-latest.zip", "type": "string"}}, "variables": {"allocateNodeCidrs": true, "apiServerCertificate": "[parameters('apiServerCertificate')]", "apiServerPrivateKey": "[parameters('apiServerPrivateKey')]", "apiVersionDefault": "2016-03-30", "apiVersionLinkDefault": "2015-01-01", "apiVersionStorageManagedDisks": "2016-04-30-preview", "caCertificate": "[parameters('caCertificate')]", "caPrivateKey": "[parameters('caPrivateKey')]", "clientCertificate": "[parameters('clientCertificate')]", "clientPrivateKey": "[parameters('clientPrivateKey')]", "cloudProviderBackoff": "[parameters('cloudProviderBackoff')]", "cloudProviderBackoffDuration": "[parameters('cloudProviderBackoffDuration')]", "cloudProviderBackoffExponent": "[parameters('cloudProviderBackoffExponent')]", "cloudProviderBackoffJitter": "[parameters('cloudProviderBackoffJitter')]", "cloudProviderBackoffRetries": "[parameters('cloudProviderBackoffRetries')]", "cloudProviderRatelimit": "[parameters('cloudProviderRatelimit')]", "cloudProviderRatelimitBucket": "[parameters('cloudProviderRatelimitBucket')]", "cloudProviderRatelimitQPS": "[parameters('cloudProviderRatelimitQPS')]", "cniPluginsURL": "[parameters('cniPluginsURL')]", "contributorRoleDefinitionId": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Authorization/roleDefinitions/', 'b24988ac-6180-42a0-ab88-20f7382dd24c')]", "dockerBridgeCidr": "[parameters('dockerBridgeCidr')]", "dockerEngineDownloadRepo": "[parameters('dockerEngineDownloadRepo')]", "dockerEngineVersion": "1.12.*", "etcdDiskSizeGB": "[parameters('etcdDiskSizeGB')]", "etcdDownloadURLBase": "[parameters('etcdDownloadURLBase')]", "etcdVersion": "[parameters('etcdVersion')]", "fqdnEndpointSuffix": "[parameters('fqdnEndpointSuffix')]", "gcHighThreshold": "[parameters('gcHighThreshold')]", "gcLowThreshold": "[parameters('gcLowThreshold')]", "generateProxyCertsScript": "H4sIAAAAAAAA/5RWYW/bNhT8rl9xjY06AarJTpo0TeBthqqhQbq2UzxgwTYItPRscZYoh6TrGG3++0DZliVHUrd8ish3947vjoQ7L5wJF86EqdiyPvuf/rgP3FFw690Pj7pfy99XQ0enC2chs8e1HSachLZD9sOc1k9HO6A/LqH8cQMklHoP+XDjfRwf9CvWagiqDTeV7p3/DO3e+XXoUMln6IrqYq0WnSv3xu67wPd++927G7/3Ru88v4CNDFPb/tVwwxiS1MqR9LAkpWNiEcn9hOwpT2jXaKvL26g8WKrSVQdNUtcQbSddXWmhmdN6x3J7eRcUiXD9cfDLzQfv82j83hA2bl4NHdKhM19OSArSpJxKl10c9vhb776BubzTSrsNSUlTs9r/KnWr0+pgRoIk0wSZZRruyMoWJJRKzIZUDHa21OiW7w5O+68vizJJD7AFrWA/nvffwo7YWmFweXoBM+0DZIXMH8NWy8k/6Dnux2Euy81tcke9sjBDbqS3KituWZO6sph9cQ2He+eXdbHZTNKM6Uw6n4ZqrTSlVylTmqTqFW02R8+b5ed/c9aHzUUdszuqDMAd1UxJkQ4USc4S9E9rNfpjy5Kk5TpMo4BPgynjyVLS8Qm+YppJcHCBAU5xhtc4xwXe4BJvMehfI8rQ/fkaf6L7E2x6QB/4Gy9fYiKJzfHtG1RCtMBZXioI13iyrJXkmoI8QIHOgoiruellAQDpMAq1sUWj2/Zc4Ed0G29WA1VxV6rg8uVpRZp35aDvYdMOfEqzL4RVzDWpBQsJCxZFXMzANCY040KYj2yKgdJIuKAcqCiCzdEbKOcv5Ti9ltM1CWg9UxinWYSLfr+xqt6ZYMV1HOTxKExqDQUGAwxOjd95rfmroS32vhed87zShMcI7GCSZOEcS6F5ApYkuVfgCpJYtK6LceFmmCzNTbNjYomOrQ5+ZfPNLua0Vq+wswkJsfy/kocTCtlSbctXmehpsDCkhQbDF5ZAxzt3FczEwNCzeziO14uYxMkLi08LIen8O9E+Qvc4ZBqlHwxPJ0fX0DGJSkALpn2yn2GL9+np5KgNnIe7Ab0RsMlpyZX2uFgd3EyN5rzjpmGYpSkTEYw3FL3ajC0lJlReaJ4vluRWgh650sqiRNH/bTzl/wYAAP//es/k7bwJAAA=", "generatorCode": "[parameters('generatorCode')]", "kubeClusterCidr": "[parameters('kubeClusterCidr')]", "kubeConfigCertificate": "[parameters('kubeConfigCertificate')]", "kubeConfigPrivateKey": "[parameters('kubeConfigPrivateKey')]", "kubeDNSServiceIP": "[parameters('kubeDNSServiceIP')]", "kubeServiceCidr": "[parameters('kubeServiceCidr')]", "kubernetesACIConnectorCPULimit": "[parameters('kubernetesACIConnectorCPULimit')]", "kubernetesACIConnectorCPURequests": "[parameters('kubernetesACIConnectorCPURequests')]", "kubernetesACIConnectorClientId": "[parameters('kubernetesACIConnectorClientId')]", "kubernetesACIConnectorClientKey": "[parameters('kubernetesACIConnectorClientKey')]", "kubernetesACIConnectorMemoryLimit": "[parameters('kubernetesACIConnectorMemoryLimit')]", "kubernetesACIConnectorMemoryRequests": "[parameters('kubernetesACIConnectorMemoryRequests')]", "kubernetesACIConnectorRegion": "[parameters('kubernetesACIConnectorRegion')]", "kubernetesACIConnectorResourceGroup": "[parameters('kubernetesACIConnectorResourceGroup')]", "kubernetesACIConnectorSpec": "[parameters('kubernetesACIConnectorSpec')]", "kubernetesACIConnectorSubscriptionId": "[parameters('kubernetesACIConnectorSubscriptionId')]", "kubernetesACIConnectorTenantId": "[parameters('kubernetesACIConnectorTenantId')]", "kubernetesAPIServerIP": "[parameters('firstConsecutiveStaticIP')]", "kubernetesAddonManagerSpec": "[parameters('kubernetesAddonManagerSpec')]", "kubernetesAddonResizerSpec": "[parameters('kubernetesAddonResizerSpec')]", "kubernetesCcmImageSpec": "[parameters('kubernetesCcmImageSpec')]", "kubernetesCtrlMgrNodeMonitorGracePeriod": "[parameters('kubernetesCtrlMgrNodeMonitorGracePeriod')]", "kubernetesCtrlMgrPodEvictionTimeout": "[parameters('kubernetesCtrlMgrPodEvictionTimeout')]", "kubernetesCtrlMgrRouteReconciliationPeriod": "[parameters('kubernetesCtrlMgrRouteReconciliationPeriod')]", "kubernetesDNSMasqSpec": "[parameters('kubernetesDNSMasqSpec')]", "kubernetesDashboardCPULimit": "[parameters('kubernetesDashboardCPULimit')]", "kubernetesDashboardCPURequests": "[parameters('kubernetesDashboardCPURequests')]", "kubernetesDashboardMemoryLimit": "[parameters('kubernetesDashboardMemoryLimit')]", "kubernetesDashboardMemoryRequests": "[parameters('kubernetesDashboardMemoryRequests')]", "kubernetesDashboardSpec": "[parameters('kubernetesDashboardSpec')]", "kubernetesExecHealthzSpec": "[parameters('kubernetesExecHealthzSpec')]", "kubernetesHardEvictionThreshold": "[parameters('kubernetesHardEvictionThreshold')]", "kubernetesHeapsterSpec": "[parameters('kubernetesHeapsterSpec')]", "kubernetesHyperkubeSpec": "[parameters('kubernetesHyperkubeSpec')]", "kubernetesKubeDNSSpec": "[parameters('kubernetesKubeDNSSpec')]", "kubernetesNodeStatusUpdateFrequency": "[parameters('kubernetesNodeStatusUpdateFrequency')]", "kubernetesNonMasqueradeCidr": "[parameters('kubernetesNonMasqueradeCidr')]", "kubernetesPodInfraContainerSpec": "[parameters('kubernetesPodInfraContainerSpec')]", "kubernetesReschedulerCPULimit": "[parameters('kubernetesReschedulerCPULimit')]", "kubernetesReschedulerCPURequests": "[parameters('kubernetesReschedulerCPURequests')]", "kubernetesReschedulerMemoryLimit": "[parameters('kubernetesReschedulerMemoryLimit')]", "kubernetesReschedulerMemoryRequests": "[parameters('kubernetesReschedulerMemoryRequests')]", "kubernetesReschedulerSpec": "[parameters('kubernetesReschedulerSpec')]", "kubernetesTillerCPULimit": "[parameters('kubernetesTillerCPULimit')]", "kubernetesTillerCPURequests": "[parameters('kubernetesTillerCPURequests')]", "kubernetesTillerMemoryLimit": "[parameters('kubernetesTillerMemoryLimit')]", "kubernetesTillerMemoryRequests": "[parameters('kubernetesTillerMemoryRequests')]", "kubernetesTillerSpec": "[parameters('kubernetesTillerSpec')]", "labelResourceGroup": "[if(or(or(endsWith(variables('truncatedResourceGroup'), '-'), endsWith(variables('truncatedResourceGroup'), '_')), endsWith(variables('truncatedResourceGroup'), '.')), concat(take(variables('truncatedResourceGroup'), 62), 'z'), variables('truncatedResourceGroup'))]", "linuxagentAvailabilitySet": "[concat('linuxagent-availabilitySet-', variables('nameSuffix'))]", "linuxagentCount": "[parameters('linuxagentCount')]", "linuxagentIndex": 0, "linuxagentOffset": "[parameters('linuxagentOffset')]", "linuxagentSubnetName": "[parameters('linuxagentVnetSubnetID')]", "linuxagentVMNamePrefix": "[concat(variables('orchestratorName'), '-linuxagent-', variables('nameSuffix'), '-')]", "linuxagentVMSize": "[parameters('linuxagentVMSize')]", "linuxagentVnetParts": "[split(parameters('linuxagentVnetSubnetID'),'/subnets/')]", "linuxagentVnetSubnetID": "[parameters('linuxagentVnetSubnetID')]", "linuxagentosImageOffer": "[parameters('linuxagentosImageOffer')]", "linuxagentosImagePublisher": "[parameters('linuxagentosImagePublisher')]", "linuxagentosImageSKU": "[parameters('linuxagentosImageSKU')]", "linuxagentosImageVersion": "[parameters('linuxagentosImageVersion')]", "location": "[variables('locations')[mod(add(2,length(parameters('location'))),add(1,length(parameters('location'))))]]", "locations": ["[resourceGroup().location]", "[parameters('location')]"], "masterAvailabilitySet": "[concat('master-availabilityset-', variables('nameSuffix'))]", "masterCount": 1, "masterEtcdClientPort": 2379, "masterEtcdClientURLs": ["[concat('http://', variables('masterPrivateIpAddrs')[0], ':', variables('masterEtcdClientPort'))]", "[concat('http://', variables('masterPrivateIpAddrs')[1], ':', variables('masterEtcdClientPort'))]", "[concat('http://', variables('masterPrivateIpAddrs')[2], ':', variables('masterEtcdClientPort'))]", "[concat('http://', variables('masterPrivateIpAddrs')[3], ':', variables('masterEtcdClientPort'))]", "[concat('http://', variables('masterPrivateIpAddrs')[4], ':', variables('masterEtcdClientPort'))]"], "masterEtcdClusterStates": ["[concat(variables('masterVMNames')[0], '=', variables('masterEtcdPeerURLs')[0])]", "[concat(variables('masterVMNames')[0], '=', variables('masterEtcdPeerURLs')[0], ',', variables('masterVMNames')[1], '=', variables('masterEtcdPeerURLs')[1], ',', variables('masterVMNames')[2], '=', variables('masterEtcdPeerURLs')[2])]", "[concat(variables('masterVMNames')[0], '=', variables('masterEtcdPeerURLs')[0], ',', variables('masterVMNames')[1], '=', variables('masterEtcdPeerURLs')[1], ',', variables('masterVMNames')[2], '=', variables('masterEtcdPeerURLs')[2], ',', variables('masterVMNames')[3], '=', variables('masterEtcdPeerURLs')[3], ',', variables('masterVMNames')[4], '=', variables('masterEtcdPeerURLs')[4])]"], "masterEtcdPeerURLs": ["[concat('http://', variables('masterPrivateIpAddrs')[0], ':', variables('masterEtcdServerPort'))]", "[concat('http://', variables('masterPrivateIpAddrs')[1], ':', variables('masterEtcdServerPort'))]", "[concat('http://', variables('masterPrivateIpAddrs')[2], ':', variables('masterEtcdServerPort'))]", "[concat('http://', variables('masterPrivateIpAddrs')[3], ':', variables('masterEtcdServerPort'))]", "[concat('http://', variables('masterPrivateIpAddrs')[4], ':', variables('masterEtcdServerPort'))]"], "masterEtcdServerPort": 2380, "masterFirstAddrComment": "these MasterFirstAddrComment are used to place multiple masters consecutively in the address space", "masterFirstAddrOctet4": "[variables('masterFirstAddrOctets')[3]]", "masterFirstAddrOctets": "[split(parameters('firstConsecutiveStaticIP'),'.')]", "masterFirstAddrPrefix": "[concat(variables('masterFirstAddrOctets')[0],'.',variables('masterFirstAddrOctets')[1],'.',variables('masterFirstAddrOctets')[2],'.')]", "masterFqdnPrefix": "[tolower(parameters('masterEndpointDNSNamePrefix'))]", "masterLbBackendPoolName": "[concat(variables('orchestratorName'), '-master-pool-', variables('nameSuffix'))]", "masterLbID": "[resourceId('Microsoft.Network/loadBalancers',variables('masterLbName'))]", "masterLbIPConfigID": "[concat(variables('masterLbID'),'/frontendIPConfigurations/', variables('masterLbIPConfigName'))]", "masterLbIPConfigName": "[concat(variables('orchestratorName'), '-master-lbFrontEnd-', variables('nameSuffix'))]", "masterLbName": "[concat(variables('orchestratorName'), '-master-lb-', variables('nameSuffix'))]", "masterOffset": "[parameters('masterOffset')]", "masterPrivateIp": "[parameters('firstConsecutiveStaticIP')]", "masterPrivateIpAddrs": ["[concat(variables('masterFirstAddrPrefix'), add(0, int(variables('masterFirstAddrOctet4'))))]", "[concat(variables('masterFirstAddrPrefix'), add(1, int(variables('masterFirstAddrOctet4'))))]", "[concat(variables('masterFirstAddrPrefix'), add(2, int(variables('masterFirstAddrOctet4'))))]", "[concat(variables('masterFirstAddrPrefix'), add(3, int(variables('masterFirstAddrOctet4'))))]", "[concat(variables('masterFirstAddrPrefix'), add(4, int(variables('masterFirstAddrOctet4'))))]"], "masterPublicIPAddressName": "[concat(variables('orchestratorName'), '-master-ip-', variables('masterFqdnPrefix'), '-', variables('nameSuffix'))]", "masterVMNamePrefix": "[concat(variables('orchestratorName'), '-master-', variables('nameSuffix'), '-')]", "masterVMNames": ["[concat(variables('masterVMNamePrefix'), '0')]", "[concat(variables('masterVMNamePrefix'), '1')]", "[concat(variables('masterVMNamePrefix'), '2')]", "[concat(variables('masterVMNamePrefix'), '3')]", "[concat(variables('masterVMNamePrefix'), '4')]"], "masterVMSize": "[parameters('masterVMSize')]", "maxPods": "[parameters('maxPods')]", "maxVMsPerPool": 100, "mountetcdScript": "H4sIAAAAAAAA/3RSUW8TPRB896+YL8nb14uTgioVKUWVACmCNhWEJ4Qqn713Z+LYx3ndpgX+O/IlTQ8J7uXkHe/M7HjH/8nSelmq2IgxrkLybH0NG2GCJzTUEayPTMogVCDWBiVplSLlc5lqNMxtfCVlmeo4dSp53bTKTD2x1C4kU1hvWf5fplrOz85PZ+cvxBgrrwncUM9gIyq7I3OCjlqnnhBy4R73lpv+2HMhc0E3ytcUn27n6tFFbblJ5VSHrbx8TB1JpWNBvraeZJuck2dn86mIxCh24s3y0/uFNHQno9Hi5vLjerlerq4Xkx8Z+TUXV6vP1+ub1fJ6vZB3qpPOljJnYGzciGToTpktIjE7EtuNsR2KFpPnLrHNieIn6o7+BGyFL5i8RkHfMcNXwQ15AQCkm4BRFsi5KNeRMg/oeciM9ld2ljETlRVjVNY5ZE+yiqxK0QuNnmaaj4bYUdPT3zQnxwCw/wZ+DxWVOOS/oUolx/HEh0pZd0Bnh//pCBcXQ+HeqW5Ib2ArtKpjyzb4PEjkKFzEs/a/XY4HnSZQhA+8p+hhGfMmx7qPrig83WOOSX7IAbzdVHFKO345UETxoV/s233nOxRv4dTjw61lVTq6zTu3mJ/0pW8hdV65Qy0Ptn/hQVS/AwAA//8o5bmvUwMAAA==", "nameSuffix": "[parameters('nameSuffix')]", "networkPolicy": "[parameters('networkPolicy')]", "nsgID": "[resourceId('Microsoft.Network/networkSecurityGroups',variables('nsgName'))]", "nsgName": "[concat(variables('masterVMNamePrefix'), 'nsg')]", "orchestratorName": "[parameters('orchestratorName')]", "orchestratorNameVersionTag": "Kubernetes:1.8.4", "osImageOffer": "[parameters('osImageOffer')]", "osImagePublisher": "[parameters('osImagePublisher')]", "osImageSKU": "[parameters('osImageSKU')]", "osImageVersion": "[parameters('osImageVersion')]", "primaryAvailabilitySetName": "[concat('linuxagent-availabilitySet-',variables('nameSuffix'))]", "provisionScript": "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", "provisionScriptParametersCommon": "[concat('TENANT_ID=',variables('tenantID'),' APISERVER_PUBLIC_KEY=',variables('apiserverCertificate'),' SUBSCRIPTION_ID=',variables('subscriptionId'),' RESOURCE_GROUP=',variables('resourceGroup'),' LOCATION=',variables('location'),' SUBNET=',variables('subnetName'),' NETWORK_SECURITY_GROUP=',variables('nsgName'),' VIRTUAL_NETWORK=',variables('virtualNetworkName'),' VIRTUAL_NETWORK_RESOURCE_GROUP=',variables('virtualNetworkResourceGroupName'),' ROUTE_TABLE=',variables('routeTableName'),' PRIMARY_AVAILABILITY_SET=',variables('primaryAvailabilitySetName'),' SERVICE_PRINCIPAL_CLIENT_ID=',variables('servicePrincipalClientId'),' SERVICE_PRINCIPAL_CLIENT_SECRET=',variables('servicePrincipalClientSecret'),' KUBELET_PRIVATE_KEY=',variables('clientPrivateKey'),' TARGET_ENVIRONMENT=',variables('targetEnvironment'),' NETWORK_POLICY=',variables('networkPolicy'),' FQDNSuffix=',variables('fqdnEndpointSuffix'),' VNET_CNI_PLUGINS_URL=',variables('vnetCniLinuxPluginsURL'),' CNI_PLUGINS_URL=',variables('cniPluginsURL'),' MAX_PODS=',variables('maxPods'),' CLOUDPROVIDER_BACKOFF=',variables('cloudProviderBackoff'),' CLOUDPROVIDER_BACKOFF_RETRIES=',variables('cloudProviderBackoffRetries'),' CLOUDPROVIDER_BACKOFF_EXPONENT=',variables('cloudProviderBackoffExponent'),' CLOUDPROVIDER_BACKOFF_DURATION=',variables('cloudProviderBackoffDuration'),' CLOUDPROVIDER_BACKOFF_JITTER=',variables('cloudProviderBackoffJitter'),' CLOUDPROVIDER_RATELIMIT=',variables('cloudProviderRatelimit'),' CLOUDPROVIDER_RATELIMIT_QPS=',variables('cloudProviderRatelimitQPS'),' CLOUDPROVIDER_RATELIMIT_BUCKET=',variables('cloudProviderRatelimitBucket'),' USE_MANAGED_IDENTITY_EXTENSION=',variables('useManagedIdentityExtension'),' USE_INSTANCE_METADATA=',variables('useInstanceMetadata'))]", "provisionScriptParametersMaster": "[concat('APISERVER_PRIVATE_KEY=',variables('apiServerPrivateKey'),' CA_CERTIFICATE=',variables('caCertificate'),' CA_PRIVATE_KEY=',variables('caPrivateKey'),' MASTER_FQDN=',variables('masterFqdnPrefix'),' KUBECONFIG_CERTIFICATE=',variables('kubeConfigCertificate'),' KUBECONFIG_KEY=',variables('kubeConfigPrivateKey'),' ADMINUSER=',variables('username'))]", "readerRoleDefinitionId": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Authorization/roleDefinitions/', 'acdd72a7-3385-48ef-bd42-f606fba81ae7')]", "registerWithTaints": "node-role.kubernetes.io/master=true:NoSchedule", "resourceGroup": "[resourceGroup().name]", "routeTableID": "[resourceId('Microsoft.Network/routeTables', variables('routeTableName'))]", "routeTableName": "[concat(variables('masterVMNamePrefix'),'routetable')]", "scope": "[resourceGroup().id]", "servicePrincipalClientId": "[parameters('servicePrincipalClientId')]", "servicePrincipalClientSecret": "[parameters('servicePrincipalClientSecret')]", "sshKeyPath": "[concat('/home/',variables('username'),'/.ssh/authorized_keys')]", "sshNatPorts": [22, 2201, 2202, 2203, 2204], "sshPublicKeyData": "[parameters('sshRSAPublicKey')]", "storageAccountBaseName": "", "storageAccountPrefixes": [], "subnetName": "[split(parameters('masterVnetSubnetID'), '/')[variables('subnetNameResourceSegmentIndex')]]", "subnetNameResourceSegmentIndex": 10, "subscriptionId": "[subscription().subscriptionId]", "targetEnvironment": "[parameters('targetEnvironment')]", "tenantId": "[subscription().tenantId]", "truncatedResourceGroup": "[take(replace(replace(resourceGroup().name, '(', '-'), ')', '-'), 63)]", "useInstanceMetadata": "true", "useManagedIdentityExtension": "false", "username": "[parameters('linuxAdminUsername')]", "virtualNetworkName": "[split(parameters('masterVnetSubnetID'), '/')[variables('vnetNameResourceSegmentIndex')]]", "virtualNetworkResourceGroupName": "[split(parameters('masterVnetSubnetID'), '/')[variables('vnetResourceGroupNameResourceSegmentIndex')]]", "vnetCidr": "[parameters('vnetCidr')]", "vnetCniLinuxPluginsURL": "[parameters('vnetCniLinuxPluginsURL')]", "vnetCniWindowsPluginsURL": "[parameters('vnetCniWindowsPluginsURL')]", "vnetNameResourceSegmentIndex": 8, "vnetResourceGroupNameResourceSegmentIndex": 4, "vnetSubnetID": "[parameters('masterVnetSubnetID')]"}, "resources": [{"apiVersion": "[variables('apiVersionDefault')]", "copy": {"count": "[sub(variables('linuxagentCount'), variables('linuxagentOffset'))]", "name": "loop"}, "dependsOn": ["[variables('nsgID')]"], "location": "[variables('location')]", "name": "[concat(variables('linuxagentVMNamePrefix'), 'nic-', copyIndex(variables('linuxagentOffset')))]", "properties": {"enableIPForwarding": true, "ipConfigurations": [{"name": "ipconfig1", "properties": {"primary": true, "privateIPAllocationMethod": "Dynamic", "subnet": {"id": "[variables('linuxagentVnetSubnetID')]"}}}], "networkSecurityGroup": {"id": "[variables('nsgID')]"}}, "type": "Microsoft.Network/networkInterfaces"}, {"apiVersion": "[variables('apiVersionStorageManagedDisks')]", "location": "[variables('location')]", "name": "[variables('linuxagentAvailabilitySet')]", "properties": {"managed": "true", "platformFaultDomainCount": "2", "platformUpdateDomainCount": "3"}, "type": "Microsoft.Compute/availabilitySets"}, {"apiVersion": "[variables('apiVersionStorageManagedDisks')]", "copy": {"count": "[sub(variables('linuxagentCount'), variables('linuxagentOffset'))]", "name": "vmLoopNode"}, "dependsOn": ["[concat('Microsoft.Network/networkInterfaces/', variables('linuxagentVMNamePrefix'), 'nic-', copyIndex(variables('linuxagentOffset')))]", "[concat('Microsoft.Compute/availabilitySets/', variables('linuxagentAvailabilitySet'))]"], "location": "[variables('location')]", "name": "[concat(variables('linuxagentVMNamePrefix'), copyIndex(variables('linuxagentOffset')))]", "properties": {"availabilitySet": {"id": "[resourceId('Microsoft.Compute/availabilitySets',variables('linuxagentAvailabilitySet'))]"}, "hardwareProfile": {"vmSize": "[variables('linuxagentVMSize')]"}, "networkProfile": {"networkInterfaces": [{"id": "[resourceId('Microsoft.Network/networkInterfaces',concat(variables('linuxagentVMNamePrefix'), 'nic-', copyIndex(variables('linuxagentOffset'))))]"}]}, "osProfile": {"adminUsername": "[variables('username')]", "computername": "[concat(variables('linuxagentVMNamePrefix'), copyIndex(variables('linuxagentOffset')))]", "customData": "[base64(concat('#cloud-config\n\nwrite_files:\n\n- path: \"/etc/systemd/system/docker.service.d/clear_mount_propagation_flags.conf\"\n permissions: \"0644\"\n owner: \"root\"\n content: |\n [Service]\n MountFlags=shared\n\n- path: \"/etc/systemd/system/docker.service.d/exec_start.conf\"\n permissions: \"0644\"\n owner: \"root\"\n content: |\n [Service]\n ExecStart=\n ExecStart=/usr/bin/docker daemon -H fd:// --storage-driver=overlay2 --bip=',variables('dockerBridgeCidr'),'\n\n- path: \"/etc/docker/daemon.json\"\n permissions: \"0644\"\n owner: \"root\"\n content: |\n {\n \"live-restore\": true,\n \"log-driver\": \"json-file\",\n \"log-opts\": {\n \"max-size\": \"50m\",\n \"max-file\": \"5\"\n }\n }\n\n- path: \"/etc/kubernetes/certs/ca.crt\"\n permissions: \"0644\"\n encoding: \"base64\"\n owner: \"root\"\n content: |\n ',variables('caCertificate'),'\n\n- path: \"/etc/kubernetes/certs/client.crt\"\n permissions: \"0644\"\n encoding: \"base64\"\n owner: \"root\"\n content: |\n ',variables('clientCertificate'),'\n\n- path: \"/var/lib/kubelet/kubeconfig\"\n permissions: \"0644\"\n owner: \"root\"\n content: |\n apiVersion: v1\n kind: Config\n clusters:\n - name: localcluster\n cluster:\n certificate-authority: /etc/kubernetes/certs/ca.crt\n server: https://',variables('kubernetesAPIServerIP'),':443\n users:\n - name: client\n user:\n client-certificate: /etc/kubernetes/certs/client.crt\n client-key: /etc/kubernetes/certs/client.key\n contexts:\n - context:\n cluster: localcluster\n user: client\n name: localclustercontext\n current-context: localclustercontext\n\n- path: \"/etc/systemd/system/kubectl-extract.service\"\n permissions: \"0644\"\n owner: \"root\"\n content: |\n [Unit]\n Description=Kubectl extraction\n Requires=docker.service\n After=docker.service\n\n ConditionPathExists=!/usr/local/bin/kubectl\n\n\n [Service]\n TimeoutStartSec=0\n Restart=on-failure\n RestartSec=5s\n ExecStartPre=/bin/mkdir -p /tmp/kubectldir\n ExecStartPre=/usr/bin/docker pull ',variables('kubernetesHyperkubeSpec'),'\n ExecStartPre=/usr/bin/docker run --rm -v /tmp/kubectldir:/opt/kubectldir ',variables('kubernetesHyperkubeSpec'),' /bin/bash -c \"cp /hyperkube /opt/kubectldir/\"\n \n ExecStartPre=/bin/mv /tmp/kubectldir/hyperkube /usr/local/bin/kubectl\n ExecStart=/bin/chmod a+x /usr/local/bin/kubectl\n\n\n [Install]\n WantedBy=multi-user.target\n\n- path: \"/etc/default/kubelet\"\n permissions: \"0644\"\n owner: \"root\"\n content: |\n KUBELET_CLUSTER_DNS=',variables('kubeDNSServiceIP'),'\n KUBELET_API_SERVERS=https://',variables('kubernetesAPIServerIP'),':443\n KUBELET_IMAGE=',variables('kubernetesHyperkubeSpec'),'\n KUBELET_NETWORK_PLUGIN=kubenet\n KUBELET_MAX_PODS=110\n DOCKER_OPTS=\n CUSTOM_CMD=/bin/true\n KUBELET_REGISTER_SCHEDULABLE=true\n KUBELET_NODE_LABELS=kubernetes.io/role=agent,agentpool=linuxagent,storageprofile=managed,storagetier=Standard_LRS,kubernetes.azure.com/cluster=',variables('labelResourceGroup'),'\n KUBELET_POD_INFRA_CONTAINER_IMAGE=',variables('kubernetesPodInfraContainerSpec'),'\n KUBELET_HARD_EVICTION_THRESHOLD=',variables('kubernetesHardEvictionThreshold'),'\n KUBELET_NODE_STATUS_UPDATE_FREQUENCY=',variables('kubernetesNodeStatusUpdateFrequency'),'\n KUBE_CTRL_MGR_NODE_MONITOR_GRACE_PERIOD=',variables('kubernetesCtrlMgrNodeMonitorGracePeriod'),'\n KUBE_CTRL_MGR_POD_EVICTION_TIMEOUT=',variables('kubernetesCtrlMgrPodEvictionTimeout'),'\n KUBE_CTRL_MGR_ROUTE_RECONCILIATION_PERIOD=',variables('kubernetesCtrlMgrRouteReconciliationPeriod'),'\n KUBELET_IMAGE_GC_HIGH_THRESHOLD=',variables('gchighthreshold'),'\n KUBELET_IMAGE_GC_LOW_THRESHOLD=',variables('gclowthreshold'),'\n\n KUBELET_NON_MASQUERADE_CIDR=--non-masquerade-cidr=',variables('kubernetesNonMasqueradeCidr'),'\n KUBELET_FEATURE_GATES=--feature-gates=Accelerators=true\n \n\n\n CLOUD_PROVIDER=azure\n\n\n- path: \"/etc/systemd/system/kubelet.service\"\n permissions: \"0644\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n H4sIAAAAAAAA/5RWX2/bNhB/16cg0jxsD7SaP1g7F3pwbSUR4tipJDcd0kCgpbPEhSI18mTXa/3dB9pOYslOtyGAQd7d7/787k7M/URyfHAGYFLNK+RKetf1FASgE8JfNddgvEylj6A7BvScp+D0Zgi6LXTuo83pwQnBINPoMbFgS+P4cs61kiVIvOACPBcwdTOYsVqg+7iNFdVpCsb43zhGyLA23sn5meN/gzSyvm41eO6US3fKTEFcVaHL/q41uKmSyLgEbZ5cdUxxAFc+ZlwTWhF3zrQr+PQ58isxaEqO+Izck+NfSlVLJD9IrqEiX4/aHr4ekR9kkRIqfiVUAHlLHsgHggVIsgm9hlM65TLbC78v+EBm/OhQBVs3JXsEagqmYd+b84bEBTeEG8JIxTRyJshC6UemVS0zgoqg1deVQQ2sJLbVWgKCxZgaus4bQgrEynRdN+dY1NNOqsq1/43d7nENMe75ye8nv71ZX1JV2j7Ts5PT89P3785OWoUYW4lZmhQFoQsiATu8mp93MK0SDag5mFPvfRNENyiYIpsKMIQikcwyIbjBg6a8+rmp59ZGr0ndDDHRtSRfHUIolYBeoQxurxXPGlfN51xADtlWoMvtYa5EXYLnZjDv2p+W2CxNd/2jVUtjO6hr2X0+6MUBC9vjTa5utyV4HbAdih3EVtLdjs8BmMq7z4c9x3Zxd9rfbQn2izN63gQ0BRZwPBj3r/0wGd/G0St1LBjLQaJ7wyTLIQsykMhxSSNA5DI33f9uuc2QkOPv15OP/tCPk+Cmd+mvtmJC3GJZgbY5kqeNfFLZ3KwsVXLG832eX3QNiN58Rukr6kpllMuZZvT5W0Z5yXLwjl6SvB0PkmB0EfaS/ngU94KRH24TP2o4Y1mmwRjvbWf919QJoRY7I+yhrmHH4iXaRfAlOT979/Y8OVn9i8Hp6pD0bNWIDNKuI7VPBei94ksm+QwM0ophsTdkT1rTwKWiNgiaZtJ4Lwn0h5Mo9sNkMIpWh81Vybj0tteOUCkTDUOpMqCCTUGYXfpH44GfDHsf/WHUIjwVqs5opdWcZ6C94+/94XgySG7D8edg4IftNKzx0/i0Cl2/Z50/jZLNrlnxzmhoyLlBvfyfbiSgfQdoJeqcyx3ORn58Nw6vk9vh5DIYNfMt2TfboV2Kb3pf7DC2+IU5T+2/DrRgOtsl7qoXDhL/c9CPg/Eoia9CP7oaDwctEtesm/WzT+sqYwh0ZrcGZLr0Wl2I4l48iZLJ7aAX+8lF6H+a+KP+H8181vtD85QWPC8oFhpMoUTmtbY+uewnV8Hl1U5ih93Yxfmpl+H47jUnc+90d3P8XjwJ/eSyF/vR4eUajUfJTS/6NPHD3sBP+sEgPGwY+pfBet4tMatDirsgvkrs5yKOVo5zH0iDTIgH545JhOzj0itrgZzWBnQHmc4BnX8CAAD//xUDyGUQCgAA\n\n- path: \"/opt/azure/containers/kubelet.sh\"\n permissions: \"0755\"\n owner: \"root\"\n content: |\n #!/bin/bash\n\n\n\n exit 0\n\n- path: \"/opt/azure/containers/provision.sh\"\n permissions: \"0744\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n ',variables('provisionScript'),'\n\n\nruncmd:\n- echo `date`,`hostname`, startruncmd>>/opt/m \n- apt-mark hold walinuxagent\n- echo `date`,`hostname`, preaptupdate>>/opt/m \n- apt-get update\n- echo `date`,`hostname`, postaptupdate>>/opt/m \n- apt-get install -y apt-transport-https ca-certificates nfs-common\n- echo `date`,`hostname`, aptinstall>>/opt/m \n- systemctl enable rpcbind\n- systemctl enable rpc-statd\n- systemctl start rpcbind\n- systemctl start rpc-statd\n- echo `date`,`hostname`, predockerinstall>>/opt/m\n- for i in 1 2 3 4 5; do curl --max-time 60 -fsSL https://aptdocker.azureedge.net/gpg | apt-key add -; [ $? -eq 0 ] && break || sleep 5; done\n- echo \"deb ',variables('dockerEngineDownloadRepo'),' ubuntu-xenial main\" | sudo tee /etc/apt/sources.list.d/docker.list\n- \"echo \\\"Package: docker-engine\\nPin: version ',variables('dockerEngineVersion'),'\\nPin-Priority: 550\\n\\\" > /etc/apt/preferences.d/docker.pref\"\n- apt-get update\n- apt-get install -y ebtables\n- apt-get install -y docker-engine\n- echo `date`,`hostname`, postdockerinstall>>/opt/m\n- systemctl restart docker\n- mkdir -p /etc/kubernetes/manifests\n- usermod -aG docker ',variables('username'),'\n\n- echo `date`,`hostname`, PRE-APT-SYSTEMD-DAILY>>/opt/m\n- /usr/lib/apt/apt.systemd.daily\n- echo `date`,`hostname`, POST-APT-SYSTEMD-DAILY>>/opt/m\n- apt-mark unhold walinuxagent\n- mkdir -p /opt/azure/containers && touch /opt/azure/containers/runcmd.complete\n- echo `date`,`hostname`, endruncmd>>/opt/m \n\n'))]", "linuxConfiguration": {"disablePasswordAuthentication": "true", "ssh": {"publicKeys": [{"keyData": "[parameters('sshRSAPublicKey')]", "path": "[variables('sshKeyPath')]"}]}}}, "storageProfile": {"imageReference": {"offer": "[variables('linuxagentosImageOffer')]", "publisher": "[variables('linuxagentosImagePublisher')]", "sku": "[variables('linuxagentosImageSKU')]", "version": "[variables('linuxagentosImageVersion')]"}, "osDisk": {"caching": "ReadWrite", "createOption": "FromImage"}}}, "tags": {"creationSource": "[concat(variables('generatorCode'), '-', variables('linuxagentVMNamePrefix'), copyIndex(variables('linuxagentOffset')))]", "orchestrator": "[variables('orchestratorNameVersionTag')]", "poolName": "linuxagent", "resourceNameSuffix": "[variables('nameSuffix')]"}, "type": "Microsoft.Compute/virtualMachines"}, {"apiVersion": "[variables('apiVersionDefault')]", "copy": {"count": "[sub(variables('linuxagentCount'), variables('linuxagentOffset'))]", "name": "vmLoopNode"}, "dependsOn": ["[concat('Microsoft.Compute/virtualMachines/', variables('linuxagentVMNamePrefix'), copyIndex(variables('linuxagentOffset')))]"], "location": "[variables('location')]", "name": "[concat(variables('linuxagentVMNamePrefix'), copyIndex(variables('linuxagentOffset')),'/cse', copyIndex(variables('linuxagentOffset')))]", "properties": {"autoUpgradeMinorVersion": true, "protectedSettings": {"commandToExecute": "[concat(variables('provisionScriptParametersCommon'),' /usr/bin/nohup /bin/bash -c \"/bin/bash /opt/azure/containers/provision.sh >> /var/log/azure/cluster-provision.log 2>&1 &\" &')]"}, "publisher": "Microsoft.Azure.Extensions", "settings": {}, "type": "CustomScript", "typeHandlerVersion": "2.0"}, "type": "Microsoft.Compute/virtualMachines/extensions"}, {"apiVersion": "[variables('apiVersionStorageManagedDisks')]", "location": "[variables('location')]", "name": "[variables('masterAvailabilitySet')]", "properties": {"managed": "true", "platformFaultDomainCount": "2", "platformUpdateDomainCount": "3"}, "type": "Microsoft.Compute/availabilitySets"}, {"apiVersion": "[variables('apiVersionDefault')]", "location": "[variables('location')]", "name": "[variables('nsgName')]", "properties": {"securityRules": [{"name": "allow_ssh", "properties": {"access": "Allow", "description": "Allow SSH traffic to master", "destinationAddressPrefix": "*", "destinationPortRange": "22-22", "direction": "Inbound", "priority": 101, "protocol": "Tcp", "sourceAddressPrefix": "*", "sourcePortRange": "*"}}, {"name": "allow_kube_tls", "properties": {"access": "Allow", "description": "Allow kube-apiserver (tls) traffic to master", "destinationAddressPrefix": "*", "destinationPortRange": "443-443", "direction": "Inbound", "priority": 100, "protocol": "Tcp", "sourceAddressPrefix": "*", "sourcePortRange": "*"}}]}, "type": "Microsoft.Network/networkSecurityGroups"}, {"apiVersion": "[variables('apiVersionDefault')]", "location": "[variables('location')]", "name": "[variables('routeTableName')]", "type": "Microsoft.Network/routeTables"}, {"apiVersion": "[variables('apiVersionDefault')]", "dependsOn": ["[concat('Microsoft.Network/publicIPAddresses/', variables('masterPublicIPAddressName'))]"], "location": "[variables('location')]", "name": "[variables('masterLbName')]", "properties": {"backendAddressPools": [{"name": "[variables('masterLbBackendPoolName')]"}], "frontendIPConfigurations": [{"name": "[variables('masterLbIPConfigName')]", "properties": {"publicIPAddress": {"id": "[resourceId('Microsoft.Network/publicIPAddresses',variables('masterPublicIPAddressName'))]"}}}], "loadBalancingRules": [{"name": "LBRuleHTTPS", "properties": {"backendAddressPool": {"id": "[concat(variables('masterLbID'), '/backendAddressPools/', variables('masterLbBackendPoolName'))]"}, "backendPort": 443, "enableFloatingIP": false, "frontendIPConfiguration": {"id": "[variables('masterLbIPConfigID')]"}, "frontendPort": 443, "idleTimeoutInMinutes": 5, "loadDistribution": "Default", "probe": {"id": "[concat(variables('masterLbID'),'/probes/tcpHTTPSProbe')]"}, "protocol": "tcp"}}], "probes": [{"name": "tcpHTTPSProbe", "properties": {"intervalInSeconds": "5", "numberOfProbes": "2", "port": 443, "protocol": "tcp"}}]}, "type": "Microsoft.Network/loadBalancers"}, {"apiVersion": "[variables('apiVersionDefault')]", "location": "[variables('location')]", "name": "[variables('masterPublicIPAddressName')]", "properties": {"dnsSettings": {"domainNameLabel": "[variables('masterFqdnPrefix')]"}, "publicIPAllocationMethod": "Dynamic"}, "type": "Microsoft.Network/publicIPAddresses"}, {"apiVersion": "[variables('apiVersionDefault')]", "copy": {"count": "[sub(variables('masterCount'), variables('masterOffset'))]", "name": "masterLbLoopNode"}, "dependsOn": ["[variables('masterLbID')]"], "location": "[variables('location')]", "name": "[concat(variables('masterLbName'), '/', 'SSH-', variables('masterVMNamePrefix'), copyIndex(variables('masterOffset')))]", "properties": {"backendPort": 22, "enableFloatingIP": false, "frontendIPConfiguration": {"id": "[variables('masterLbIPConfigID')]"}, "frontendPort": "[variables('sshNatPorts')[copyIndex(variables('masterOffset'))]]", "protocol": "tcp"}, "type": "Microsoft.Network/loadBalancers/inboundNatRules"}, {"apiVersion": "[variables('apiVersionDefault')]", "copy": {"count": "[sub(variables('masterCount'), variables('masterOffset'))]", "name": "nicLoopNode"}, "dependsOn": ["[variables('nsgID')]", "[concat(variables('masterLbID'),'/inboundNatRules/SSH-',variables('masterVMNamePrefix'),copyIndex(variables('masterOffset')))]"], "location": "[variables('location')]", "name": "[concat(variables('masterVMNamePrefix'), 'nic-', copyIndex(variables('masterOffset')))]", "properties": {"enableIPForwarding": true, "ipConfigurations": [{"name": "ipconfig1", "properties": {"loadBalancerBackendAddressPools": [{"id": "[concat(variables('masterLbID'), '/backendAddressPools/', variables('masterLbBackendPoolName'))]"}], "loadBalancerInboundNatRules": [{"id": "[concat(variables('masterLbID'),'/inboundNatRules/SSH-',variables('masterVMNamePrefix'),copyIndex(variables('masterOffset')))]"}], "primary": true, "privateIPAddress": "[variables('masterPrivateIpAddrs')[copyIndex(variables('masterOffset'))]]", "privateIPAllocationMethod": "Static", "subnet": {"id": "[variables('vnetSubnetID')]"}}}], "networkSecurityGroup": {"id": "[variables('nsgID')]"}}, "type": "Microsoft.Network/networkInterfaces"}, {"apiVersion": "[variables('apiVersionStorageManagedDisks')]", "copy": {"count": "[sub(variables('masterCount'), variables('masterOffset'))]", "name": "vmLoopNode"}, "dependsOn": ["[concat('Microsoft.Network/networkInterfaces/', variables('masterVMNamePrefix'), 'nic-', copyIndex(variables('masterOffset')))]", "[concat('Microsoft.Compute/availabilitySets/',variables('masterAvailabilitySet'))]"], "location": "[variables('location')]", "name": "[concat(variables('masterVMNamePrefix'), copyIndex(variables('masterOffset')))]", "properties": {"availabilitySet": {"id": "[resourceId('Microsoft.Compute/availabilitySets',variables('masterAvailabilitySet'))]"}, "hardwareProfile": {"vmSize": "[variables('masterVMSize')]"}, "networkProfile": {"networkInterfaces": [{"id": "[resourceId('Microsoft.Network/networkInterfaces',concat(variables('masterVMNamePrefix'),'nic-', copyIndex(variables('masterOffset'))))]"}]}, "osProfile": {"adminUsername": "[variables('username')]", "computername": "[concat(variables('masterVMNamePrefix'), copyIndex(variables('masterOffset')))]", "customData": "[base64(concat('#cloud-config\n\n\npackages:\n - jq\n - traceroute\n\n\nwrite_files:\n\n- path: \"/etc/systemd/system/docker.service.d/clear_mount_propagation_flags.conf\"\n permissions: \"0644\"\n owner: \"root\"\n content: |\n [Service]\n MountFlags=shared\n\n\n- path: \"/etc/systemd/system/docker.service.d/exec_start.conf\"\n permissions: \"0644\"\n owner: \"root\"\n content: |\n [Service]\n ExecStart=\n\n ExecStart=/usr/bin/docker daemon -H fd:// --storage-driver=overlay2 --bip=',variables('dockerBridgeCidr'),'\n\n- path: \"/etc/docker/daemon.json\"\n permissions: \"0644\"\n owner: \"root\"\n content: |\n {\n \"live-restore\": true,\n \"log-driver\": \"json-file\",\n \"log-opts\": {\n \"max-size\": \"50m\",\n \"max-file\": \"5\"\n }\n }\n\n- path: \"/etc/kubernetes/certs/ca.crt\"\n permissions: \"0644\"\n encoding: \"base64\"\n owner: \"root\"\n content: |\n ',variables('caCertificate'),'\n\n- path: \"/etc/kubernetes/certs/client.crt\"\n permissions: \"0644\"\n encoding: \"base64\"\n owner: \"root\"\n content: |\n ',variables('clientCertificate'),'\n\n\n\n- path: \"/var/lib/kubelet/kubeconfig\"\n permissions: \"0644\"\n owner: \"root\"\n content: |\n apiVersion: v1\n kind: Config\n clusters:\n - name: localcluster\n cluster:\n certificate-authority: /etc/kubernetes/certs/ca.crt\n server: ',concat('https://', variables('masterPrivateIpAddrs')[copyIndex(variables('masterOffset'))], ':443'),'\n users:\n - name: client\n user:\n client-certificate: /etc/kubernetes/certs/client.crt\n client-key: /etc/kubernetes/certs/client.key\n contexts:\n - context:\n cluster: localcluster\n user: client\n name: localclustercontext\n current-context: localclustercontext\n\n- path: /etc/kubernetes/manifests/kube-apiserver.yaml\n permissions: \"0644\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n H4sIAAAAAAAA/6SVT2/jNhDF7/kUgs5htGkDdCFECwRp0AbY3boxWvQ6Jsf21BSpDIdK3E9fUP4vKXGAtU/i4/uRehwNoaG/kQN5V2Z5e51frMiZMssn3uQXNQoYECgvssxBjWWWr+IMFTQUkFvkfCuEBvReDesgWCfJwgxtSO4sE0IuM+2dsLeqseCwG9e+brxDJ2V2yr4IDerkXfog31FePK/KTDgmX+IAOeQtXb29v/SjGhZJvU0yOxQMv68b5PQ4bVB/2U3Uvq4hBbB9TuS8WO7m5sfDg1W6UaXA1BRSomr7ttX3XURfaY56rS1efqWa5AncAvlyitySxjutfXRy+SvOIVqZimdY4L2FEC6fMPjIGv+MXmCwnmEMofp01f37qrX+RTVMLVlcoOnJ5ALqyKgaz1J9/vS57z+Wb25+7qna+mhUw74lg1zBf5FxdIr2bk6LqkDRxeEQis5w9W/wbrBsl4nSNgZBVtQoTmlV3RFuE7snw196RhRt1OZcQrUUacqiuP7ply6b6/K2hoR7EG3uLaGTiWcZRTxHz7FWjGCqVHSD0FtkoYD7+I9q627yOO128Djps8UGpZFFzcniII6khGJfWFeaZcSfDhME1QrXH8OscD04lPTySsN7AA0jG2B8jhhkiWCQP8Zp2L+u1ShtK20pZ3LpJp+DnAllwxgGsqs32HyEP5KtJ6N3uyFTjakUQkRWke2oHANy6mdKW6C68tT/asOmN6gZ6BU6U92mkr3bt/J+0bXVzcnIUak+OJhZfJqB7ptOD7prI2hU1+37mz6diq/CoDYPqVhxTq/VP+oJay+oHjr1XcCCfWx2gIPztzT8rnGf28D7Vzi06dbbWOO3dMzb2yM7vkFQtDrkc1gvy+pkmYAsyyzvlUU+5LTAytKsY1mUN0EtcGFpVgzm7Ul1oLPuF4AFOim+gYMFmkeDTkjWaooi5BYn75F62h/Orve36SaR/lU6HkS6jbvF98DmnUTOpfE2bTSWHa4O9GHA+WT+DwAA//8/0OMbBAkAAA==\n\n- path: /etc/kubernetes/manifests/kube-controller-manager.yaml\n permissions: \"0644\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n H4sIAAAAAAAA/6SUTW/bPAyA7/kVhu+q8b5Ho+6l6PtxSBe0w+6MxLpaJNGjaHfZrx/oJE3jxMuA+Wbq4UOJ+oDOf0HOnlJdlMNf5WLjk6uLckWuXEQUcCBQL4oiQcS6KDf9Go2lJEwhIJsICVrkck/kDuw7lrdZMOpQgDWGrJqiEI9cF3uF6QIkHOOWYkcJk9TFTJFF7tCq5JWyPKK8EW/qQrhXgeLgE/K+jPmNGevnI7SK3SrHCQXzf9sOWX+fO7R3B9BSjKC92f9ribJ6PbDlx/B8uXHYGM2wlF5821QDcBX8utJYQKmOY5MkCIEsCJpEDo31jnNzewg+ksN7Dd1NsmzosyCPfDOu8n4XUXoO1t41txH0559vLq0YX/z3c5p6ZzqmwTvkBn70jBeRw1JRbHXsczUm3HzNlCZZTCTGgnnxAc+yLLLkysKNZZmZfvZt8qk1iv6xZIPbK44NbieOjDx4iwaspT6J6dgPunNXXNB5zUS+oAwIDtlgQCuNHvqT8Q/H9yHBOuDTGux0v4bm70lkPEmRkhdi0zJYNB2yJ9d8EN4Lh2XLesKWO/RfJVcjOK3RkTM4eCuekhEfkXq5IFuRe9hTn3fQVMTUCxrWq2B98DAKZyf3pPTTCTyZ30Chj7jU7cgnl3j/TqBYc9QeJ1MUUXNWIK91UU72rTz3DMAm+LXZX+dZ0eTan5ti9tdy3wBaTFItx0fG/e8wiZeteUYRn9qTVTCC+5TC9v3F3DVk+lxeboO+uGPxd2H3i35c68W87WJTzhtyXXC9Mz8DAAD//8PhLmf6BgAA\n\n\n\n- path: /etc/kubernetes/manifests/kube-scheduler.yaml\n permissions: \"0644\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n H4sIAAAAAAAA/4SSQY/bIBCF7/kViDtC7RE1PbeHbVdaqfcxTG0UGBCMvfK/r0ideOMka988b97HzNNA9n+wVJ/ICDl9kYeTJ2eEfE1OHiIyOGAwByEIIhohT2OHqtoB3RiwyEWoGeyqzpUxNilAh6E2txDssRhhE3FJQeUAhOe6TTEnQmIjbtmHmtE275Aq/0J+T+VkBJex+RoHPGFZ6Or5fO3zEfqmfmtyIWSsP+aMpf2+ZbTfL402xQjkzPLbwFIPl1b5sXz3yLmqVGu0if76/qgnKDr4TrdaQNartjEFBIdFYUDLx7bjRp+OXy+VKYUx4ksaievHOZcAkK1at1wxQsRmeQUejJAa2epHbVfOBEUF36ll9KegzYr3pFj9nvcdoEdi/QIEPbqfDok9z+oNmT31N1sUBPebwnw9hf95bO/gcQztlM6PX4H5kzz2snhOexjKfSD7gP1k/gUAAP//FKERJ8EDAAA=\n\n- path: /etc/kubernetes/manifests/kube-addon-manager.yaml\n permissions: \"0644\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n H4sIAAAAAAAA/4yRsW7zMAyEdz8Fkd3w/w9ZhKJAxw5pAwTozkiEIySiXJFy4LcvZMdOWjRtR5LH43cSdv6NkvjIBvr/1dGzM7CNrgqk6FDRVACMgQwc855qdC5yHZCxpXQZSYd2nssgSqEC6G9cpSNbfA5R9IX0HNPRgKZMFYCNrOiZkhRF/dMtAB+wJQMPZZyYlOSpaDaTZNeRfRx1iSTmZGn0nBrvmUSXGsB22cA6LHWgENNgYP1v48dmH0850CZmntdmuJFLLpuhCLaoBwOrhtQ2V7ZmEq4WBnSvfBqW6FfHIP47ux5Tc/L75ozYEmsz5XTPjli9DvWOVD239y9MGT697A18+Y7x1GW9+y3FV9x7Bn/n/ggAAP//ovMbJ38CAAA=\n\n- path: /etc/kubernetes/addons/kube-dns-deployment.yaml\n permissions: \"0644\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n H4sIAAAAAAAA/8xYS2/jNhC++1cQ7ll+JMhuINQBgnXQDbZJjTrtfUKOJcIUyfDhxvvrC0qyLEq2Y+dQ1DdxXh/nm4dk0PxvNJYrmZLNdLDmkqVkiWbDKd5Tqrx0gwIdMHCQDgiRUGBK1v4VEyZtfWA10N2p3VqHxYAQAa8obLAhpcRIdGhHXI2p8NahSWwVJiVDZzwOS01gTMkCJGRoRrFZoRim5E+kSlIucJAkyeAU/Ah3hObWJqB1dI1LMMaaVUZ++FecPy8vyJDVSAOeOtLjIiW/risv9QUeF3cDQrQyrgSe1K53gIMgJTfX1YNRTlElUvLXfBErJ47qUwYv34KBRYHUKXMsRd1sg9Z2vJm+ooNd3ueohdoW2CmZzxXCYZI2DdlXk16uk/3hiXwb1IJTsCm56l27AEfz31t4j+HoIXFYaAEOaz+t65dVLaVy4LiSjV9CLM2ReYFmBELn0Kl2arjjFESiFUvJcFibiQjccXiXpPrAdQjZpauEv1pxyd12H1Yrdi8dv+8JQmHhCo1BNveGy2xZ3ZLL7DGTqjl+eEfqQ0Lapgn5B3mWu5RMJ5PWeRWvjvWCpkgjYZ2VZURl+1fS+vCuDVobc7CPvMZtustmT0yI0mggOCeP8oB4A8LjAb+l5y4z1c8prYTKtj/KwBFZubIuVPFgpylC8DbyGu+3ukjuw9S0f0ixHfQBP7xz65qyVcIX2PLTaSGq5IpnjZfq8Ql0+2q9CbePGUCCSEkorkHjwgGXaFpBwWStZCVkmCRMFcDlrK7TkVAUxGjY0ZE2CUNsNp1Mbq47ws3sqnNSgU8YN7Nx54J7TV5AhvXorRioR/lSI71r1ATfoERrF0a9YjsZK+DCG3zJDdpcCZaSm5Y0d07/hi4uDA0uT8lwnCMIl/9MQmgm7bBT8WFY305u40YIQyNk//vLy6IlCJ3BQcxRwHYZNiSzKfnSNrWeUrS2hXPakjpeoPKuMd3fYU92m+tmKe3S3bC8KHGXBPVKJuS/JDYaF/Hiutiho/qE02q5VT+DwPhBEk/S1JgdIWj6aYKuJ2dRYNAqb2g8XwQvuOtMnAILZbYpmX6dPPGWxOCbR9vVptqXeS0O+ohcVFPjKbwNRqyfHh6EFMFiUeax24EnZkGvk4XKnLKOoTGxoHI1P9ngQc+gdWDcXNoC7NssXn3lrIgf191JAjTHxPKfGEbPpCOVKgRQYtM5D7sWzWx69XU0GU1G018Oja1aacxlAoyZERgN4zNN9Jdz1IXKkhVQLrjbzpJTk2/+vHwC+xZPvqbTQurOHgCHm/Xyvj/e9B+2+7Gi/bgoSW/JfVy0CS3YTFqh1Nrr9j5nuAIv3Mhu6CjabqShjdyNGW7G0gvR4c4bMWv2RM1BtzY/Hzcty+XM6L0tVaqU6zhsqc75m+foTtVaeAH8Xrn+7zZtL4Pkf7dpa6hnN1oH97HNd+EGublggRzeHy0PTNqFEpxuwydiWZS1wEb/Mzwfeq2UimH/xT58dXa+l5RNieDSvw/+DQAA//9hDItW0xAAAA==\n\n- path: /etc/kubernetes/addons/kube-proxy-daemonset.yaml\n permissions: \"0644\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n H4sIAAAAAAAA/5RUy27bMBC8+ysI3RklVyEuULgBemkawEDva2psE+ZDWS5d++8LSrUtOYmb8kTMLoczswSps7/AycbQKBwEoWxTvX9YQehhtrOhbdQ3go9hCZl5CLUk1MyUcrSCS2Wn1C6vwAGCdGdjbVxOAtYJvLcGjaqEM6q+00TfxYAgTX9IdxwPx74iFtyoEFvMlArkcdVRoNSROeHpmAR+ljqYIkLgO0eCQdBYaFljsbdlvJGi1OmKvhQdmKSkdIK02uE4tGuODnfTNDyVMM7csSvnIzfq6TWTO+N7cnkaVVlYr2GkUc9xabZos8PsZCAI2QAeyTDRewrtxaVWVb09duCiqBrBU7taVVqXFhPD2m7m9Z64dnZVF8xB6kutmh46TdrYluePpW0xIAvb8per5jVIMkNvSJDmT4cObD2CkFuwFWvIvcT2awhR+nzn0ySsp03J5/GS7veTtWUHM7rtncczLEaKmQ1GD6GArxlJJphSpsuNeri/92c0wWS2clzEIDjIuL1ju7cOG7SNKqovQ40ue/yIOYz5tfIFeSHZNqqqIaZOydUGLKka0Q4+UnK6L+ltTDIRTu3P4I5Xd77DfonsLT3E6Ev9v+k/81TGExlq/7qmOH2G/I68m+BDnqMnXxp7KeNp/JWWE9dpS4zaUJ+gXVtDkxBuJHyb+zO2PzB9m/ijcd0YVvl4lnAw5Vc5Hygf+NVPFFOjnA35MPsTAAD//zcsf+33BQAA\n\n\n- path: /etc/kubernetes/addons/kubernetes-dashboard-deployment.yaml\n permissions: \"0644\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n H4sIAAAAAAAA/8xUTW8bOQy9z68gfB87wV4SYTdANgFyyQaGve2d1rC2ao2oihw37q8vNPHHTOI4TtEA1Ung5+PTozC6z5TEcTCwOi+WLlQGppRWztK1tdwELWpSrFDRFAAeZ+Ql3wCWF1JijAaWzYxSICUpK5TFjDFVTxE7x9DxyPpGlFIpT+UNDDQ1NGgjsao41BhwTmnYT6u5IgMTshys81QABKzp1a7ZKRHtJqKUtSjVRVmWRXfYNEM7xEYXnNwPVMdhuLxo+63OZ6S45eLmCfSEPf3rQuXCvMfHUSh/AFmJPU3oS8aA0d0lbuKR2QuAF1Pvhtwiwqp2oZBm9pWsiilKOKia3/NMzzX5uhhPZu+tl/gV2BLJZhyRk7aAyvZq4OKs7amY5qTj1nR5dpmNQp6scjpNHrqOZOCBK8pFXtBEj0ohX+WZfG8pel7XdGyNP2ZJP5boRNE7i2Lg/AWXNapd3HcmPIFeqqNHpU2BDlP5+F6tU3Z5CzMfy0HRBUq7CiVgmouBXcESynJBGFvmFyz6z0I1mtFoaxx2ODAbTeXjapyTgb/3QG63OKaR7FU/cNx4P2bv7NrAtf+Oa9n5vVtRIJFx4hntJwXIQO5IuyaAiLowMBgN+tauvHeNg1OH/pY8rqdZHpUY+Ksboa4mbvSQ86hC9k07T1Pu6R4fghMTK1v2Bv6/Ge/siYSbZEm6Yyb61pCo9Ee3sTnM983402STcdXLqKnmtD6c9F/rO5TnXe3e0/s+x7+3cS9Jev/3w1vUB65o2tu7fPLf8+xrYDHgXWgeofgZAAD//9s29QduCAAA\n\n\n- path: /etc/kubernetes/addons/kube-heapster-deployment.yaml\n permissions: \"0644\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n H4sIAAAAAAAA/8xWW2tjNxB+P79C+F1ep92AK+pCmk3bh2Y3JFAoLISxNOujWrfq4rX31xfpHNvnYgcTNlC9WGdGo2/mm4sMTv6FPkhrGNlcVWtpBCNP6DeS4w3nNplYaYwgIAKrCDGgkZEawYWIvhUEBxwZWacl0rALEXVFiIIlqpBtSNF4gxHDVNp3XKVsTEMDw8gk+oSTchKEsEaDgRX6ad9MW4GMPCK3hkuFFaW06rrvl8CnkGJtvfwGUVozXc+L5eZqiRH20d028I9W4YnQGv/ZPkL6VcaaGjBm93Yx3ZmQPN5tZYih8klhYBUl4OTv3iZX8CjBbUSTIw3lE5zLG4/BJs+xPSTQKbvTaGJWbtAvW8UKY/lVMjSbrxB5XXbJCYhYtq4IR9CTyRgJNy0IPZZA+2lFu3NWXObGd0jlr9IIaVb/y4xahY/4JYPsiX0hxIqQcZ1eEEtIy3+Qx1I6J9v48uYdpmM4GHokv47B/snGsT/6jl3iaXDIM7SzPrYllreMzGcFJoJfYXxoRfMfKkICKuTR+tbjeaDgXAcrB99E++HQTD02jo14qMazfIxuf8s6e2EYD/jc0+bRKckhMHI1YkbnzvyzE8zpcCJqpyBia9QhIi/Vsz9HCCFgjI2lCzqHA69RJIV+CsrVMCCAexklB0WdFawZUYTsAyu5twp9/05K1rhj5LY1vcn0hk9G7Q6Y1mUb6xk5kFru7bXSx2F15sWtiSAN+g6a1LBCRn4+er6v8SeH/JcDKrdagxHH0CmZvNvfP+lKKW2m8KJDRkhag989g5Ps8+Tz5GgwaqNm9Ub5UfhvwhB7MkK4S7lzdE+oUVu/Y+Tq/exedjRKavnqC06xVRL0iEF+u4gxZ8VzGYYDyrhLi/lMD6S4jR6Kbja9HiobDxfFwZN27YH3I3WsPYbaKrG4HmiOj/PiTG4PNXTugLNKUYdeWrH4cZbX0LkQpc4FvMCtswZNlKDOFcThFXxdWVyfyepPF1bFRfZoNt0kb0Al/M1b3b/vi0Ql2jd2JH+AWLPDaJpmDjrHGkru/35++PTh+ePN/d33Rysj+SXIp4eb2z1u/vv01JvEeeV3ZjAAbWBESZO21X8BAAD//0SxZ2rFCwAA\n\n\n\n- path: /etc/kubernetes/addons/azure-storage-classes.yaml\n permissions: \"0644\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n H4sIAAAAAAAA/8ySzWrrMBCF93oKkb18ye6ibbdtKQ10WybWJAzWj5kZBdqnL5bdgJvQVVuyls+Z830YRnpBFirZW9HCcMRu+C8dlX+n7R4VtmagHLzdzY93EURMQoUACt5YmyGhtwEPUKMaayHnoqBUskzP9rO2n5LdVNkNdY+cUbHdIXFL2rVvvN0oV9wYayPsMS4161AfqyiyE+QT9XjOjFxONOEg+y8ReK+MLpAMZgSGhIrcumfAB8hwxGDOg6HvS82qbyNO+JADcHi9f94Z55z5KXFpPutGxkQ1XQq8HQdP88RfUyCL41t2cPEfXCH81ssV/jboQBH/BLwdWoPLUB/bkhXdRwAAAP//xwdE1hsEAAA=\n\n\n- path: /etc/kubernetes/addons/kube-tiller-deployment.yaml\n permissions: \"0644\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n H4sIAAAAAAAA/9RUXWvbMBR9968QfXdKWAdDjELXhlJoS0i6vY4b+SzRqq9JV6HZrx92Gtd2spI+dDA9WdK5Oh+6FgX9DTFp76RYj4tH7Sop5ohrrXChlM+OCwumiphkIYQjCylYG4P4PE2BFKR4zAuUaZMYthDC0AIm1RWi2YkOjDTS/lSZnBixTFsSKU44Zpw0SKoq7yw5WiKO+mXWVzV24lKOmDzpxOmkKMuy6DqIC1IjyrzyUf8m1t6NHj815evxAkw7g5dbDTNv8EW7Srvlayb/jZfoDWb4UdNQ0NfR5/CKoUKIPSut8p0sqqx2RcqLn1CcZFGKg/d77K0O0x72Sy/DbmgUghQrGNvMBmTvmWmfrKwQjN/83WAKULXi4CM30st9sfWeFGdn4w9nzZwpLsHTZrWFJRgo9vEI+7wJaG/xZroXMp4Yrv5Mgx6+asxYDH7Q/zl3hg2GGFv1XVf16Drbd3fQ4e7g5rvX9PdDqBDKOybtEFuOUsCtXwh33fBwc3s7mX2/v7ibzKcXl5MWIMSaTN57C7dDW1pCis8v8T007PMAdd6ijF7DIaVp9AvIzskr5nAN7i4JEYhXUpzuivp7baN+7Kxrp1mTuYKhzRzKuypJMe4AWFv4zAf29tLdsaRuRG2K08GP8sohEVTpN7tuq97XdkTyOSqkroiIXxmJU1+YCvnABV9Ov86e4ec9uIX1cXOg4q7ZOFRktNVHs97W4DdR9iqcrzDvPWT1qJ+gwRPgkxRGu/xU/AkAAP//Gh4NlE4IAAA=\n\n\n\n\n\n\n- path: \"/etc/systemd/system/kubectl-extract.service\"\n permissions: \"0644\"\n owner: \"root\"\n content: |\n [Unit]\n Description=Kubectl extraction\n Requires=docker.service\n After=docker.service\n\n ConditionPathExists=!/usr/local/bin/kubectl\n\n\n [Service]\n TimeoutStartSec=0\n Restart=on-failure\n RestartSec=5s\n ExecStartPre=/bin/mkdir -p /tmp/kubectldir\n ExecStartPre=/usr/bin/docker pull ',variables('kubernetesHyperkubeSpec'),'\n ExecStartPre=/usr/bin/docker run --rm -v /tmp/kubectldir:/opt/kubectldir ',variables('kubernetesHyperkubeSpec'),' /bin/bash -c \"cp /hyperkube /opt/kubectldir/\"\n\n ExecStartPre=/bin/mv /tmp/kubectldir/hyperkube /usr/local/bin/kubectl\n ExecStart=/bin/chmod a+x /usr/local/bin/kubectl\n\n\n [Install]\n WantedBy=multi-user.target\n\n- path: \"/etc/default/kubelet\"\n permissions: \"0644\"\n owner: \"root\"\n content: |\n KUBELET_CLUSTER_DNS=',variables('kubeDNSServiceIP'),'\n KUBELET_API_SERVERS=',concat('https://', variables('masterPrivateIpAddrs')[copyIndex(variables('masterOffset'))], ':443'),'\n KUBELET_IMAGE=',variables('kubernetesHyperkubeSpec'),'\n KUBELET_NETWORK_PLUGIN=\n KUBELET_MAX_PODS=110\n DOCKER_OPTS=\n KUBELET_NODE_LABELS=kubernetes.io/role=master,kubernetes.azure.com/cluster=',variables('labelResourceGroup'),'\n KUBELET_POD_INFRA_CONTAINER_IMAGE=',variables('kubernetesPodInfraContainerSpec'),'\n KUBELET_HARD_EVICTION_THRESHOLD=',variables('kubernetesHardEvictionThreshold'),'\n KUBELET_NODE_STATUS_UPDATE_FREQUENCY=',variables('kubernetesNodeStatusUpdateFrequency'),'\n KUBE_CTRL_MGR_NODE_MONITOR_GRACE_PERIOD=',variables('kubernetesCtrlMgrNodeMonitorGracePeriod'),'\n KUBE_CTRL_MGR_POD_EVICTION_TIMEOUT=',variables('kubernetesCtrlMgrPodEvictionTimeout'),'\n KUBE_CTRL_MGR_ROUTE_RECONCILIATION_PERIOD=',variables('kubernetesCtrlMgrRouteReconciliationPeriod'),'\n KUBELET_IMAGE_GC_HIGH_THRESHOLD=',variables('gchighthreshold'),'\n KUBELET_IMAGE_GC_LOW_THRESHOLD=',variables('gclowthreshold'),'\n\n \n KUBELET_NON_MASQUERADE_CIDR=--non-masquerade-cidr=',variables('kubernetesNonMasqueradeCidr'),'\n KUBELET_REGISTER_NODE=--register-node=true\n KUBELET_REGISTER_WITH_TAINTS=--register-with-taints=',variables('registerWithTaints'),'\n \n \n\n\n CLOUD_PROVIDER=azure\n\n\n- path: \"/etc/systemd/system/kubelet.service\"\n permissions: \"0644\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n H4sIAAAAAAAA/5RWX2/bNhB/16cg0jxsD7SaP1g7F3pwbSUR4tipJDcd0kCgpbPEhSI18mTXa/3dB9pOYslOtyGAQd7d7/787k7M/URyfHAGYFLNK+RKetf1FASgE8JfNddgvEylj6A7BvScp+D0Zgi6LXTuo83pwQnBINPoMbFgS+P4cs61kiVIvOACPBcwdTOYsVqg+7iNFdVpCsb43zhGyLA23sn5meN/gzSyvm41eO6US3fKTEFcVaHL/q41uKmSyLgEbZ5cdUxxAFc+ZlwTWhF3zrQr+PQ58isxaEqO+Izck+NfSlVLJD9IrqEiX4/aHr4ekR9kkRIqfiVUAHlLHsgHggVIsgm9hlM65TLbC78v+EBm/OhQBVs3JXsEagqmYd+b84bEBTeEG8JIxTRyJshC6UemVS0zgoqg1deVQQ2sJLbVWgKCxZgaus4bQgrEynRdN+dY1NNOqsq1/43d7nENMe75ye8nv71ZX1JV2j7Ts5PT89P3785OWoUYW4lZmhQFoQsiATu8mp93MK0SDag5mFPvfRNENyiYIpsKMIQikcwyIbjBg6a8+rmp59ZGr0ndDDHRtSRfHUIolYBeoQxurxXPGlfN51xADtlWoMvtYa5EXYLnZjDv2p+W2CxNd/2jVUtjO6hr2X0+6MUBC9vjTa5utyV4HbAdih3EVtLdjs8BmMq7z4c9x3Zxd9rfbQn2izN63gQ0BRZwPBj3r/0wGd/G0St1LBjLQaJ7wyTLIQsykMhxSSNA5DI33f9uuc2QkOPv15OP/tCPk+Cmd+mvtmJC3GJZgbY5kqeNfFLZ3KwsVXLG832eX3QNiN58Rukr6kpllMuZZvT5W0Z5yXLwjl6SvB0PkmB0EfaS/ngU94KRH24TP2o4Y1mmwRjvbWf919QJoRY7I+yhrmHH4iXaRfAlOT979/Y8OVn9i8Hp6pD0bNWIDNKuI7VPBei94ksm+QwM0ophsTdkT1rTwKWiNgiaZtJ4Lwn0h5Mo9sNkMIpWh81Vybj0tteOUCkTDUOpMqCCTUGYXfpH44GfDHsf/WHUIjwVqs5opdWcZ6C94+/94XgySG7D8edg4IftNKzx0/i0Cl2/Z50/jZLNrlnxzmhoyLlBvfyfbiSgfQdoJeqcyx3ORn58Nw6vk9vh5DIYNfMt2TfboV2Kb3pf7DC2+IU5T+2/DrRgOtsl7qoXDhL/c9CPg/Eoia9CP7oaDwctEtesm/WzT+sqYwh0ZrcGZLr0Wl2I4l48iZLJ7aAX+8lF6H+a+KP+H8181vtD85QWPC8oFhpMoUTmtbY+uewnV8Hl1U5ih93Yxfmpl+H47jUnc+90d3P8XjwJ/eSyF/vR4eUajUfJTS/6NPHD3sBP+sEgPGwY+pfBet4tMatDirsgvkrs5yKOVo5zH0iDTIgH545JhOzj0itrgZzWBnQHmc4BnX8CAAD//xUDyGUQCgAA\n\n- path: \"/opt/azure/containers/kubelet.sh\"\n permissions: \"0755\"\n owner: \"root\"\n content: |\n #!/bin/bash\n set -e\n\n\n\n\n\n\n sed -i \"/--oidc-client-id\\|--oidc-issuer-url\\|--oidc-username-claim/d\" \"/etc/kubernetes/manifests/kube-apiserver.yaml\"\n\n sed -i \"s||',variables('kubernetesAddonManagerSpec'),'|g\" \"/etc/kubernetes/manifests/kube-addon-manager.yaml\"\n sed -i \"s||',variables('kubernetesHyperkubeSpec'),'|g; s||',variables('kubeServiceCidr'),'|g; s||',variables('masterEtcdClientPort'),'|g; s||',variables('kubernetesAPIServerIP'),'|g\" \"/etc/kubernetes/manifests/kube-apiserver.yaml\"\n sed -i \"s||',variables('kubernetesHyperkubeSpec'),'|g; s||',variables('masterFqdnPrefix'),'|g; s||',variables('allocateNodeCidrs'),'|g; s||',variables('kubeClusterCidr'),'|g; s||',variables('kubernetesCtrlMgrNodeMonitorGracePeriod'),'|g; s||',variables('kubernetesCtrlMgrPodEvictionTimeout'),'|g; s||',variables('kubernetesCtrlMgrRouteReconciliationPeriod'),'|g\" \"/etc/kubernetes/manifests/kube-controller-manager.yaml\"\n sed -i \"s||',variables('kubernetesHyperkubeSpec'),'|g\" \"/etc/kubernetes/manifests/kube-scheduler.yaml\"\n sed -i \"s||',variables('kubernetesHyperkubeSpec'),'|g; s||',variables('kubeClusterCidr'),'|g\" \"/etc/kubernetes/addons/kube-proxy-daemonset.yaml\"\n sed -i \"s||',variables('kubernetesKubeDNSSpec'),'|g; s||',variables('kubernetesDNSMasqSpec'),'|g; s||',variables('kubernetesExecHealthzSpec'),'|g\" \"/etc/kubernetes/addons/kube-dns-deployment.yaml\"\n sed -i \"s||',variables('kubernetesHeapsterSpec'),'|g; s||',variables('kubernetesAddonResizerSpec'),'|g\" \"/etc/kubernetes/addons/kube-heapster-deployment.yaml\"\n sed -i \"s||',variables('kubeDNSServiceIP'),'|g\" \"/etc/kubernetes/addons/kube-dns-deployment.yaml\"\n\n\n sed -i \"s||',variables('kubernetesDashboardSpec'),'|g\" \"/etc/kubernetes/addons/kubernetes-dashboard-deployment.yaml\"\n sed -i \"s||',variables('kubernetesDashboardCPURequests'),'|g\" \"/etc/kubernetes/addons/kubernetes-dashboard-deployment.yaml\"\n sed -i \"s||',variables('kubernetesDashboardMemoryRequests'),'|g\" \"/etc/kubernetes/addons/kubernetes-dashboard-deployment.yaml\"\n sed -i \"s||',variables('kubernetesDashboardCPULimit'),'|g\" \"/etc/kubernetes/addons/kubernetes-dashboard-deployment.yaml\"\n sed -i \"s||',variables('kubernetesDashboardMemoryLimit'),'|g\" \"/etc/kubernetes/addons/kubernetes-dashboard-deployment.yaml\"\n\n\n\n sed -i \"s||',variables('kubernetesTillerSpec'),'|g\" \"/etc/kubernetes/addons/kube-tiller-deployment.yaml\"\n sed -i \"s||',variables('kubernetesTillerCPURequests'),'|g\" \"/etc/kubernetes/addons/kube-tiller-deployment.yaml\"\n sed -i \"s||',variables('kubernetesTillerMemoryRequests'),'|g\" \"/etc/kubernetes/addons/kube-tiller-deployment.yaml\"\n sed -i \"s||',variables('kubernetesTillerCPULimit'),'|g\" \"/etc/kubernetes/addons/kube-tiller-deployment.yaml\"\n sed -i \"s||',variables('kubernetesTillerMemoryLimit'),'|g\" \"/etc/kubernetes/addons/kube-tiller-deployment.yaml\"\n\n\n\n\n\n\n\n sed -i \"//d\" \"/etc/kubernetes/manifests/kube-apiserver.yaml\"\n sed -i \"//d\" \"/etc/kubernetes/manifests/kube-controller-manager.yaml\"\n\n\n\n\n\n sed -i \"/requestheader-client-ca-file/d\" \"/etc/kubernetes/manifests/kube-apiserver.yaml\"\n sed -i \"/proxy-client-cert-file/d\" \"/etc/kubernetes/manifests/kube-apiserver.yaml\"\n sed -i \"/proxy-client-key-file/d\" \"/etc/kubernetes/manifests/kube-apiserver.yaml\"\n sed -i \"/requestheader-allowed-names/d\" \"/etc/kubernetes/manifests/kube-apiserver.yaml\"\n sed -i \"/requestheader-extra-headers-prefix/d\" \"/etc/kubernetes/manifests/kube-apiserver.yaml\"\n sed -i \"/requestheader-group-headers/d\" \"/etc/kubernetes/manifests/kube-apiserver.yaml\"\n sed -i \"/requestheader-username-headers/d\" \"/etc/kubernetes/manifests/kube-apiserver.yaml\"\n\n sed -i \"s||etcd2|g\" \"/etc/kubernetes/manifests/kube-apiserver.yaml\"\n\n\n\n- path: \"/opt/azure/containers/provision.sh\"\n permissions: \"0744\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n ',variables('provisionScript'),'\n\n- path: \"/opt/azure/containers/mountetcd.sh\"\n permissions: \"0744\"\n encoding: gzip\n owner: \"root\"\n content: !!binary |\n ',variables('mountetcdScript'),'\n\n- path: \"/etc/systemd/system/etcd.service\"\n permissions: \"0644\"\n owner: \"root\"\n content: |\n [Unit]\n Description=etcd - highly-available key value store\n Documentation=https://github.com/coreos/etcd\n Documentation=man:etcd\n After=network.target\n Wants=network-online.target\n [Service]\n Environment=DAEMON_ARGS=\n Environment=ETCD_NAME=%H\n Environment=ETCD_DATA_DIR=/var/lib/etcd/default\n EnvironmentFile=-/etc/default/%p\n Type=notify\n User=etcd\n PermissionsStartOnly=true\n ExecStart=/usr/bin/etcd $DAEMON_ARGS\n Restart=always\n [Install]\n WantedBy=multi-user.target\n Alias=etcd.service\n\n- path: \"/opt/azure/containers/setup-etcd.sh\"\n permissions: \"0744\"\n owner: \"root\"\n content: |\n #!/bin/bash\n set -x\n ETCD_VER=v',variables('etcdVersion'),'\n DOWNLOAD_URL=',variables('etcdDownloadURLBase'),'\n mkdir -p /tmp/etcd-download\n curl -L ${DOWNLOAD_URL}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz\n tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /usr/bin/ --strip-components=1\n useradd -U \"etcd\"\n usermod -p \"$(head -c 32 /dev/urandom | base64)\" \"etcd\"\n passwd -u \"$etcd\" > /dev/null\n systemctl daemon-reload\n systemctl enable etcd.service\n\n\nruncmd:\n- /opt/azure/containers/setup-etcd.sh\n- apt-mark hold walinuxagent \n- /bin/echo DAEMON_ARGS=--name \"',variables('masterVMNames')[copyIndex(variables('masterOffset'))],'\" --initial-advertise-peer-urls \"',variables('masterEtcdPeerURLs')[copyIndex(variables('masterOffset'))],'\" --listen-peer-urls \"',variables('masterEtcdPeerURLs')[copyIndex(variables('masterOffset'))],'\" --advertise-client-urls \"',variables('masterEtcdClientURLs')[copyIndex(variables('masterOffset'))],'\" --listen-client-urls \"',concat(variables('masterEtcdClientURLs')[copyIndex(variables('masterOffset'))], ',http://127.0.0.1:', variables('masterEtcdClientPort')),'\" --initial-cluster-token \"k8s-etcd-cluster\" --initial-cluster \"',variables('masterEtcdClusterStates')[div(variables('masterCount'), 2)],' --data-dir \"/var/lib/etcddisk\"\" --initial-cluster-state \"new\" | tee -a /etc/default/etcd\n- sudo /bin/chown -R etcd:etcd /var/lib/etcd/default\n- /opt/azure/containers/mountetcd.sh\n- sudo /bin/chown -R etcd:etcd /var/lib/etcddisk\n- systemctl stop etcd\n- sudo -u etcd rm -rf /var/lib/etcd/default\n- sudo /bin/sed -i s/Restart=on-abnormal/Restart=always/g /lib/systemd/system/etcd.service\n- systemctl daemon-reload\n- systemctl restart etcd\n- for i in $(seq 1 20); do curl --max-time 60 http://127.0.0.1:2379/v2/machines; [ $? -eq 0 ] && break || sleep 5; done\n- retrycmd_if_failure() { for i in 1 2 3 4 5; do $@; [ $? -eq 0 ] && break || sleep 5; done ; }\n- retrycmd_if_failure apt-get update\n- retrycmd_if_failure apt-get install -y apt-transport-https ca-certificates\n- retrycmd_if_failure curl --max-time 60 -fsSL https://aptdocker.azureedge.net/gpg | apt-key add -\n- echo \"deb ',variables('dockerEngineDownloadRepo'),' ubuntu-xenial main\" | sudo tee /etc/apt/sources.list.d/docker.list\n- \"echo \\\"Package: docker-engine\\nPin: version ',variables('dockerEngineVersion'),'\\nPin-Priority: 550\\n\\\" > /etc/apt/preferences.d/docker.pref\"\n- retrycmd_if_failure apt-get update\n- retrycmd_if_failure apt-get install -y ebtables\n- retrycmd_if_failure apt-get install -y docker-engine\n- systemctl restart docker\n- mkdir -p /etc/kubernetes/manifests\n- usermod -aG docker ',variables('username'),'\n- /usr/lib/apt/apt.systemd.daily\n\n- apt-mark unhold walinuxagent\n- touch /opt/azure/containers/runcmd.complete\n'))]", "linuxConfiguration": {"disablePasswordAuthentication": "true", "ssh": {"publicKeys": [{"keyData": "[variables('sshPublicKeyData')]", "path": "[variables('sshKeyPath')]"}]}}}, "storageProfile": {"dataDisks": [{"createOption": "Empty", "diskSizeGB": "[variables('etcdDiskSizeGB')]", "lun": 0, "name": "[concat(variables('masterVMNamePrefix'), copyIndex(variables('masterOffset')),'-etcddisk')]"}], "imageReference": {"offer": "[variables('osImageOffer')]", "publisher": "[variables('osImagePublisher')]", "sku": "[variables('osImageSku')]", "version": "[variables('osImageVersion')]"}, "osDisk": {"caching": "ReadWrite", "createOption": "FromImage"}}}, "tags": {"creationSource": "[concat(variables('generatorCode'), '-', variables('masterVMNamePrefix'), copyIndex(variables('masterOffset')))]", "orchestrator": "[variables('orchestratorNameVersionTag')]", "poolName": "master", "resourceNameSuffix": "[variables('nameSuffix')]"}, "type": "Microsoft.Compute/virtualMachines"}, {"apiVersion": "[variables('apiVersionDefault')]", "copy": {"count": "[sub(variables('masterCount'), variables('masterOffset'))]", "name": "vmLoopNode"}, "dependsOn": ["[concat('Microsoft.Compute/virtualMachines/', variables('masterVMNamePrefix'), copyIndex(variables('masterOffset')))]"], "location": "[variables('location')]", "name": "[concat(variables('masterVMNamePrefix'), copyIndex(variables('masterOffset')),'/cse', copyIndex(variables('masterOffset')))]", "properties": {"autoUpgradeMinorVersion": true, "protectedSettings": {"commandToExecute": "[concat(variables('provisionScriptParametersCommon'),' ',variables('provisionScriptParametersMaster'),' /usr/bin/nohup /bin/bash -c \"stat /opt/azure/containers/provision.complete || /bin/bash /opt/azure/containers/provision.sh >> /var/log/azure/cluster-provision.log 2>&1\"')]"}, "publisher": "Microsoft.Azure.Extensions", "settings": {}, "type": "CustomScript", "typeHandlerVersion": "2.0"}, "type": "Microsoft.Compute/virtualMachines/extensions"}], "outputs": {"agentStorageAccountPrefixes": {"type": "array", "value": "[variables('storageAccountPrefixes')]"}, "agentStorageAccountSuffix": {"type": "string", "value": "[variables('storageAccountBaseName')]"}, "masterFQDN": {"type": "string", "value": "[reference(concat('Microsoft.Network/publicIPAddresses/', variables('masterPublicIPAddressName'))).dnsSettings.fqdn]"}, "primaryAvailabilitySetName": {"type": "string", "value": "[variables('primaryAvailabilitySetName')]"}, "resourceGroup": {"type": "string", "value": "[variables('resourceGroup')]"}, "routeTableName": {"type": "string", "value": "[variables('routeTableName')]"}, "securityGroupName": {"type": "string", "value": "[variables('nsgName')]"}, "subnetName": {"type": "string", "value": "[variables('subnetName')]"}, "virtualNetworkName": {"type": "string", "value": "[variables('virtualNetworkName')]"}}}, "parameters": {"linuxagentVMSize": {"value": "Standard_D2_v2"}, "linuxagentVnetSubnetID": {"value": "/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet"}, "apiServerCertificate": {"value": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUxmekNDQ1dlZ0F3SUJBZ0lSQUp6YUNEak9Lcmxwank2aDR1QzN3eUl3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qQTNNRFl4TkRJMldoY05NVGt4TWpBM01EWXhOREkyV2pBVQpNUkl3RUFZRFZRUURFd2xoY0dselpYSjJaWEl3Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXdnZ0lLCkFvSUNBUUMzcHB6WC9LbmIyNVV6ZjZCN3hBNE9OQTNZNlVObnFSK01jYWRaRVA3OURHaGtVQWVJaVI3VW5ETmsKUHBlWStSb2JidHhnY2t3NlFlVzEvS3kvN1h4QlRUNzZ1UEpNazNGMFFkUnV0Qzl1SnFhOFNzTkpnYjZqVEZvbAoyUHFVRlNaQklWWVZtR0g1VDlIR05vMWRGR3FUeE5YaEVnaFFSYlQrWVhaSFlrbGUycDI1NEw2RmZjT1JrNHdVCkxWNFRubnZFMWNLRzhXNTBjRHRPRFZGcldySEpYR2Y0M3kzR2Z0L2RZMWZGU1IzNi9jSzlsbXhtdVM2T2lBZXYKNWxEWFBkQmlaZW8zcDIwVkZNUENrTWptNVc2dEtsRHYxSGc2RWtnUVk4aEhHa3REY0dwR2ZkWEVGbmtmY0QzSQo3V1FrM1RaZjMxNTZBQmNtWUpRTjM5QS8yT01IT0ZuYnlzRDNsVGhuY3dka0ZIdXQ3T3JycDI5bHpReHlJYzNuCmlmYTBvRlVySTZ0NjB0ZnY0cFZoNTk4a3ZNUm1oZGtUWndzakJLMndmNG9OTlNnS1M2T3RzSUV2eGs3di9ua0UKcDFLaGtvWXJWTTMyeFppUUFZMVdxZzgxVk9MbHZHTkxUSGFyVnBZMmF3VVhidTFWayt2SVIxVEVXQVBqTCtaVgpWQm16anN1MWVrMHZXY01hSnI1R0dCM3RvcS8ycXJnRzZIRnpwcHVGSk1NdnlwR1gyL1l2b3NuZUpDalZOMnUrCkpKM0NUTEU0ZE03RjcwQ20zNnduTS9YTWE0ZmtnQVUrNktXc0tNVU9TSVkrbUVOZzlBbXZYOHNIb0FtUys1aWEKcGRKbGFsVkluaTgwbnlOTzI1eGIyeFZpVGdpMFhrVmExaWlUYXc1c0NIQ1NiNW91b1FJREFRQUJvNElHMFRDQwpCczB3RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HQ0NzR0FRVUZCd01CTUF3R0ExVWRFd0VCCi93UUNNQUF3Z2dhV0JnTlZIUkVFZ2dhTk1JSUdpWUlsZEdWemRDNWhkWE4wY21Gc2FXRmxZWE4wTG1Oc2IzVmsKWVhCd0xtRjZkWEpsTG1OdmJZSXFkR1Z6ZEM1aGRYTjBjbUZzYVdGemIzVjBhR1ZoYzNRdVkyeHZkV1JoY0hBdQpZWHAxY21VdVkyOXRnaU4wWlhOMExtSnlZWHBwYkhOdmRYUm9MbU5zYjNWa1lYQndMbUY2ZFhKbExtTnZiWUlsCmRHVnpkQzVqWVc1aFpHRmpaVzUwY21Gc0xtTnNiM1ZrWVhCd0xtRjZkWEpsTG1OdmJZSWlkR1Z6ZEM1allXNWgKWkdGbFlYTjBMbU5zYjNWa1lYQndMbUY2ZFhKbExtTnZiWUlrZEdWemRDNWpaVzUwY21Gc2FXNWthV0V1WTJ4dgpkV1JoY0hBdVlYcDFjbVV1WTI5dGdpRjBaWE4wTG1ObGJuUnlZV3gxY3k1amJHOTFaR0Z3Y0M1aGVuVnlaUzVqCmIyMkNKWFJsYzNRdVkyVnVkSEpoYkhWelpYVmhjQzVqYkc5MVpHRndjQzVoZW5WeVpTNWpiMjJDS0hSbGMzUXUKWTJocGJtRmxZWE4wTG1Oc2IzVmtZWEJ3TG1Ob2FXNWhZMnh2ZFdSaGNHa3VZMjZDS1hSbGMzUXVZMmhwYm1GdQpiM0owYUM1amJHOTFaR0Z3Y0M1amFHbHVZV05zYjNWa1lYQnBMbU51Z2lCMFpYTjBMbVZoYzNSaGMybGhMbU5zCmIzVmtZWEJ3TG1GNmRYSmxMbU52YllJZWRHVnpkQzVsWVhOMGRYTXVZMnh2ZFdSaGNIQXVZWHAxY21VdVkyOXQKZ2g5MFpYTjBMbVZoYzNSMWN6SXVZMnh2ZFdSaGNIQXVZWHAxY21VdVkyOXRnaU4wWlhOMExtVmhjM1IxY3pKbApkV0Z3TG1Oc2IzVmtZWEJ3TG1GNmRYSmxMbU52YllJaGRHVnpkQzVxWVhCaGJtVmhjM1F1WTJ4dmRXUmhjSEF1CllYcDFjbVV1WTI5dGdpRjBaWE4wTG1waGNHRnVkMlZ6ZEM1amJHOTFaR0Z3Y0M1aGVuVnlaUzVqYjIyQ0pIUmwKYzNRdWEyOXlaV0ZqWlc1MGNtRnNMbU5zYjNWa1lYQndMbUY2ZFhKbExtTnZiWUlpZEdWemRDNXJiM0psWVhOdgpkWFJvTG1Oc2IzVmtZWEJ3TG1GNmRYSmxMbU52YllJbWRHVnpkQzV1YjNKMGFHTmxiblJ5WVd4MWN5NWpiRzkxClpHRndjQzVoZW5WeVpTNWpiMjJDSTNSbGMzUXVibTl5ZEdobGRYSnZjR1V1WTJ4dmRXUmhjSEF1WVhwMWNtVXUKWTI5dGdpWjBaWE4wTG5OdmRYUm9ZMlZ1ZEhKaGJIVnpMbU5zYjNWa1lYQndMbUY2ZFhKbExtTnZiWUlsZEdWegpkQzV6YjNWMGFHVmhjM1JoYzJsaExtTnNiM1ZrWVhCd0xtRjZkWEpsTG1OdmJZSWlkR1Z6ZEM1emIzVjBhR2x1ClpHbGhMbU5zYjNWa1lYQndMbUY2ZFhKbExtTnZiWUlmZEdWemRDNTFhM052ZFhSb0xtTnNiM1ZrWVhCd0xtRjYKZFhKbExtTnZiWUllZEdWemRDNTFhM2RsYzNRdVkyeHZkV1JoY0hBdVlYcDFjbVV1WTI5dGdpVjBaWE4wTG5kbApjM1JqWlc1MGNtRnNkWE11WTJ4dmRXUmhjSEF1WVhwMWNtVXVZMjl0Z2lKMFpYTjBMbmRsYzNSbGRYSnZjR1V1ClkyeHZkV1JoY0hBdVlYcDFjbVV1WTI5dGdpRjBaWE4wTG5kbGMzUnBibVJwWVM1amJHOTFaR0Z3Y0M1aGVuVnkKWlM1amIyMkNIblJsYzNRdWQyVnpkSFZ6TG1Oc2IzVmtZWEJ3TG1GNmRYSmxMbU52YllJZmRHVnpkQzUzWlhOMApkWE15TG1Oc2IzVmtZWEJ3TG1GNmRYSmxMbU52YllJb2RHVnpkQzVqYUdsdVlXVmhjM1F1WTJ4dmRXUmhjSEF1ClkyaHBibUZqYkc5MVpHRndhUzVqYm9JcGRHVnpkQzVqYUdsdVlXNXZjblJvTG1Oc2IzVmtZWEJ3TG1Ob2FXNWgKWTJ4dmRXUmhjR2t1WTI2Q0xuUmxjM1F1WjJWeWJXRnVlV05sYm5SeVlXd3VZMnh2ZFdSaGNIQXViV2xqY205egpiMlowWVhwMWNtVXVaR1dDTUhSbGMzUXVaMlZ5YldGdWVXNXZjblJvWldGemRDNWpiRzkxWkdGd2NDNXRhV055CmIzTnZablJoZW5WeVpTNWtaWUl0ZEdWemRDNTFjMmR2ZG5acGNtZHBibWxoTG1Oc2IzVmtZWEJ3TG5WeloyOTIKWTJ4dmRXUmhjR2t1Ym1WMGdpbDBaWE4wTG5WeloyOTJhVzkzWVM1amJHOTFaR0Z3Y0M1MWMyZHZkbU5zYjNWawpZWEJwTG01bGRJSXNkR1Z6ZEM1MWMyZHZkbUZ5YVhwdmJtRXVZMnh2ZFdSaGNIQXVkWE5uYjNaamJHOTFaR0Z3CmFTNXVaWFNDS25SbGMzUXVkWE5uYjNaMFpYaGhjeTVqYkc5MVpHRndjQzUxYzJkdmRtTnNiM1ZrWVhCcExtNWwKZElJS2EzVmlaWEp1WlhSbGM0SVNhM1ZpWlhKdVpYUmxjeTVrWldaaGRXeDBnaFpyZFdKbGNtNWxkR1Z6TG1SbApabUYxYkhRdWMzWmpnaVJyZFdKbGNtNWxkR1Z6TG1SbFptRjFiSFF1YzNaakxtTnNkWE4wWlhJdWJHOWpZV3lDCkZtdDFZbVZ5Ym1WMFpYTXVhM1ZpWlMxemVYTjBaVzJDR210MVltVnlibVYwWlhNdWEzVmlaUzF6ZVhOMFpXMHUKYzNaamdpaHJkV0psY201bGRHVnpMbXQxWW1VdGMzbHpkR1Z0TG5OMll5NWpiSFZ6ZEdWeUxteHZZMkZzaHdRSwo3Ly92aHdRSzcvLzVod1FLQUFBQk1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQ0FRQ3l0Z1kwUDZ4WU1razBkTFRuCnFaL3QyMVZFWWF0UlBLYVhtOFp3ZDRUUkVnT1BMaG4xR2dJS1BtaTBtTVNtdmhZWGdhYXdqcWpEOXZpRXRWdHIKTGt2VXlyNXpQbGFFbWRFc1FQSStQaEFhM29ISmN5dTh5RzI5SnRjZ0haZHNCc3RNUldHMnBSeC84QlViRW5lVwp2NXZieUZYOUk1bW43NDZwUTRZbmJDdDUyZ3pBeUJ2RFk1Y29XZ2JxOHJBdGlDWVhZckVoM1dEejhRQnRPdFdRCkhLZzB5UGpnems1RktWcVlwUjBUZUc1Z1dEN0FWenVvQWxyY1NFRzI4cE9xRzBRYjlZVmczQnlqT0NtelF6dFUKT1p1Y0dvbDZHbVJLSm5lTVZMVjZSZVFJcW5OWWwwUzZ3dE9UTDcxUkRwbWxPTHkwMTh3UUVuTnV2T1MxaEs4MwpwNHNxWDlsMjFEMnFqVUZNN0o4QnJUNUZySWZGcjF3ajFIREhSVm9LZi83cm5Ec2JXaXcxbzFuTnJLQmMxUm9CCnNyK3NhQzVPdFpaZUFpdGdybUtFR2NZeVk5RVhkRDZ0dEpySjFxZlJaR0d1QXRBd01zeFhrMVpFVlA4dlhHSnAKWFlmbm5VRkV0QWNRSVhzTG83Vktvb3VyclZCZHlvWTJHczlCemRzNFM0bVREU0FwVmJXb1NMdG5VdmNEYlVHMwpBWm5DRlJlcXBsVlhIV0hYUnZIUXJmWGVpZk1WNW9vMWlIOFpBVWEvVTlHL1kvVS9iL1VmVm44MDZxbE1qejFDCkVLVlc4QmJ6MGRZcndwdkJ1VFZvNGJDbEs4bW50a2Ftc0luUnp4VFpnYUkzMGVlVm9CVDVDd3dYTlZ3TFN5K1AKQ1habVREZWpBMjliVW1DMVdPQzNwMUNMblE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg=="}, "apiServerPrivateKey": {"value": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS0FJQkFBS0NBZ0VBdDZhYzEveXAyOXVWTTMrZ2U4UU9EalFOMk9sRFo2a2ZqSEduV1JEKy9ReG9aRkFICmlJa2UxSnd6WkQ2WG1Qa2FHMjdjWUhKTU9rSGx0ZnlzdisxOFFVMCsrcmp5VEpOeGRFSFViclF2YmlhbXZFckQKU1lHK28weGFKZGo2bEJVbVFTRldGWmhoK1UvUnhqYU5YUlJxazhUVjRSSUlVRVcwL21GMlIySkpYdHFkdWVDKwpoWDNEa1pPTUZDMWVFNTU3eE5YQ2h2RnVkSEE3VGcxUmExcXh5VnhuK044dHhuN2YzV05YeFVrZCt2M0N2WlpzClpya3Vqb2dIcitaUTF6M1FZbVhxTjZkdEZSVER3cERJNXVWdXJTcFE3OVI0T2hKSUVHUElSeHBMUTNCcVJuM1YKeEJaNUgzQTl5TzFrSk4wMlg5OWVlZ0FYSm1DVURkL1FQOWpqQnpoWjI4ckE5NVU0WjNNSFpCUjdyZXpxNjZkdgpaYzBNY2lITjU0bjJ0S0JWS3lPcmV0TFg3K0tWWWVmZkpMekVab1haRTJjTEl3U3RzSCtLRFRVb0NrdWpyYkNCCkw4Wk83LzU1QktkU29aS0dLMVROOXNXWWtBR05WcW9QTlZUaTVieGpTMHgycTFhV05tc0ZGMjd0VlpQcnlFZFUKeEZnRDR5L21WVlFaczQ3THRYcE5MMW5ER2lhK1JoZ2Q3YUt2OXFxNEJ1aHhjNmFiaFNUREw4cVJsOXYyTDZMSgozaVFvMVRkcnZpU2R3a3l4T0hUT3hlOUFwdCtzSnpQMXpHdUg1SUFGUHVpbHJDakZEa2lHUHBoRFlQUUpyMS9MCkI2QUprdnVZbXFYU1pXcFZTSjR2Tko4alR0dWNXOXNWWWs0SXRGNUZXdFlvazJzT2JBaHdrbSthTHFFQ0F3RUEKQVFLQ0FnQU16UGd4dGRMQkdGVVYrZGRkeVJTUnVOOGVOMlFUWFo1dFU1NnVmcGpIV280TUwrZldoSGc1cVltTAplekZsNERjSm9uaUo0RzJmd2VnWS96dXJSUXBjSXQ0NDY1czM2eThGUTNGakpmd0lXWGxWdG9CV0owejZaT0FECnMxUUQ3bFYwUkxhVFdzTzVkTzdTT2dzd2FiUGtDTncvaTlvNGZpTlhkOE9leGlNSEVZWGM1dVZndUp0aEVqKzUKU0ZBK1hkV1Nxck9jWkVlbXBndjhMTUY0RWlKQ1BzYWdlaTNlb0FsS2pSb1pEamVndnY5TDU2ZzJvTUcxL1pWTApsV29kRnBubndlTEpia29VSmhaZkFXaC9iNDUvVTJ2QXk3WjFsY0NnSTlSWjRHTk9tQTlRU29VVDNkMGphOWRpCm9lbFJDSG81eEgvNVVQaE1ISDgxV0Z4VGx2SjcrQmRTWFZSWjJCUndrTkZOeHRSV21wNHR4dFZ0bzViR1hCZVYKcUJDbnFKaGZiZ2pMZkMyaWtacDFvUXBWRVhacFhMK21IOEdMNmRZNXRCUTNmbkxVZ21weFZBVmdLS1JZdWJQOAp1aVhvbUF5cThXREptZDFGZEhzMm53TytCcWk5RnoyakFOZTd2SFdiV01nTWxFN0FxL0dvMkM0c2JjUzAzZjZWCmNXUHMvK0ptOU8wanBmS0h6eXF1a3dOaW15cEE0QmdrWWtwMXNJUHArMnM5SWwzeHpJK0MvVUMvbWNpcWdieFEKWW1tK1NPbDRDbGRvT2ZUM3ErR01hR3RVNHJYN3VNVVNIMXA3cGdJTUU5U0dZL3BtZ1luMjdOVEVscDZmNUxQbQpHRURDV0FiVjFLeUJhWEFTaFh1bW15bENTeWZ2RnFlUTQ2eUF2UDJqd3MvVFlCYUNBUUtDQVFFQTR3T0xoKzNPCmxVMmNLSkhGUHhKNFJuT1hDOG9SVnhtL1RUY2NvOGRQU3JRSVZvYVYwSytYMGJybzBDRUVnaHMyOFRvRVdvUm8KZmozbktqa1lHL09xUmFWVERMVG9UbGM1OTI1MUlIY0FuT0JTUE9jQzhzMitWZHR6NUx4ZVRRaWF0eWVJVnV2MgpvK1g0d2kxMTdzMEU3MHBMcDBQOEErY0kxUEZqeWxicmw1TWp1RTc3M1BMMHRMSkc3eDl3dlo2cENmY05CK1JvCjJneTBzTURQbUZsdTRSU2VDL3VORlo5V3c4eHRPMHFkM2J4U1ZEU2VNOGQ1TnE4RFFBVkVWMkVKUnltSUE4dHcKV2t4YUpUR0xWeG8zMm5aclNzeEQ4ZXhqQktydFo5cENUS2daN1JFdHNsR2tHVFJBcGUwRHNUeElmUFNrU0w5RwpRU0dJZk1yNWYxaGxPUUtDQVFFQXp4bW1oMzRGeC9pb0JxZnBzc1ZES0tuNGF3dS9qbHZ5eUNhY1NyVUQrYmYvCjY1NU8vRVEyQ1BNc3JlLy9TYldVdWptUzVLU1B2bHZjZTRxWHNmVCtjTUdlYkxtcHcrNnE3YXVaOFdvTHh5eWgKS1MyZll6aEFUNytjUWRRZ2JGbHBEMlJ2TkpxVzMzSmhuZVJWQ2didDI2VkE1TGRPS1FKQTMzaVB6V0lIM1VCQgppeEQvd1lLMXR2TjIvcjJjenRPbm5LbHBZR1ErbzZ0ZUtqQ0YvWmRzRncySDZER1RSTVZVbnkxUjRTS3UwZzJCCkNjU2FiaEdGZklrQlVoclRna2dlL2FJcVVSZDh5YXMvc0lYa2l4ZUpSWHhmOGtRdFRESlhyaFhleGxQbWkrYXcKZzBHTmlvelpoZnZUL1IrTHBhUHlBd1FTdW1RZldZbzJkbC9DTUxZOHFRS0NBUUFHdjJnNlZoczUzT0N6WkFIVQo2aHVoSEhaMDUwQzBzaE01bkZYQm1IOEczV3NTQjFZVXFlTjlYR3puSXRRYmVldWNKL2xSSjNaanFqdGd5ZW1wCml3aVlvVjFpbDA0QVpoOVc5M1dMelgyN0svL0Z4NmdTeDRMTTBvVVRXM1lDSEN0ZEhsT3pJYmhuRHNMaUlxL0sKdFZWY04zMGdMNmtpQkpBQ3BGb3UvWDVyTnZoczFnd3VlUnBFOUxlZkMvUXg3ckZmbG5SUXM3MWFIZDZSRW1vWgpRUzlHaVhKWk1OVDB1NU84cGlycEJFTEZBSUFCK0w1ckU1Ykt4VkQzYWpDcDJEeUtYUFdxQnpZRHVSbEUyY0FtCmlxVDJYV2E3Qm05T2xaUXI0MWpES1gybkFhZ2puOHNYN2MxTzRucTVjOTRVT3BKOUJGaU53UUc1bGVHVXRBUE8KZ1RZaEFvSUJBUUMyMm1iMmFvYWdNU1BwL0llU21DamIxbmJIek8rc3VmSjZWZHpZK1VveFNneGo5THE0Y1dGawpOWkRWWW5sOGt4NWw3aitNTU4vWnF6SFl3bDE5ZWxyTkk2YkZTSWhqdm02Y3VrNkpvS0FWazRvWDJYaEpHbmx0CjhEZit4MVI1VmRnMUJ2QkkrZFVNSk9tYmh1YXVtNytYbHlqY3lCdnlpVkxOL0p5N01qclBWdFNIL05KVUFSeUEKRkNhVWRNWG10Mm5lSUpZeHpWQ2hJY1ZhYXMxalFqYmxnOFRqZGlJWkxrR3c2VXJLQk4xbUNSWk5rWkRvYmYvMgpIT0ZWcE9ucXRkTG5EaTlldWVZc0NVK0toQzF0d2JJcDc4Nm5FUnNOazhWbXAxaXlzNUZ6SkpQazBCUXdxSHZHCm1McHJXMWJwUVArRk9pdHU5c2ZYUHZrbk94VXgvVFZCQW9JQkFIUERKMVFWL3VtOTBOdmpobnh6VWVhZ1hmUlUKK280d1RnZTRxNlN5UjQ5SkxtcGV4YnZmTEQ4cTJEN2xmOU42dHZxR2tpMUdBSWxVeDdVUTAxMk1nZGlKZUViQwpMaTIzSGQ1elhQN0xsMVZNSkp3TENka1FQa1dhdmJLMWNrYUJpWU9kZml5MVFLQm9PU1JYQ0M2SzErOWtYME43CmxrR2oyc2tnMzcrbnU4cVhhM09xZ1puOFdRNFhIY1NjcSs4UTF5UmhNWHJCaXJ2TDZPTkZuTWc5S2RCZE1pZkYKamoxVXlNc0ZXS0tnVEpqb0pZeWt1bHA5NHV0QWFVSklhNGpRSzAwRVZTTW1wSWNMV29UNkJuRUxuV05IempEMQpack1MbFRmMU9NNVZLYkJwNVIrS21rYjdDNzNjZnp0Z2dOZTRCMkdmcUhWNGUzZWJmTGFpQlo5YnVrTT0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K"}, "caCertificate": {"value": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRR0t2ZWNwa2ZBTllQWkExZURncHhmVEFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1EY3dOakUwTWpCYUZ3MHhPVEV5TURjd05qRTBNakJhTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUF2d3YrCmlpSHJnaWw3UzNURE52aEYzcjZwN1M2ZGtoejZKNURsZUJFcXYwUWU0cTJnVjY0VTFuRVd4WVlmalRCT0ZKZUkKM3R2MHFsdDlkMCtlaUM2djRTaTliR1NTYlp6S21MUVNBYU92TU1Jbmh3SkhGakNpUk8rYzJyMDNwY3N1ak1nRgowelJGY0w1NGRGdkxFZExmc1g1WEt0UVprRlNJVjQ5SGJ4ckQ1R00vUFpoY2N2bUdnTmMrTUhXbUhibW5tWWVECndhQ2EwVjhncjFYWlMrN0g4ZUp1SHFVRExtUjZPSnQ4Y0hycDVxRHF2MkZmcjJSNUVxV09raEs0OHFnOUQzZ2IKS0VPZkFlSG9oSmxvZFNSWERLTkhxVkZRUzhSQXNjQm9uM2xoYVFrSXUwQ3ExY0VIeGRsN1ZzbitROUZlOFQ5TAp2djJRYXgrbFFLYTlVeGUzVGxuRFRkdnlreW5BbTgyOXFHdWNwYXVaajNadGpOTWpVS2RBTXJkeHJxdERNR29XCnI1enJYUGc2OGJlS0gwZEJmK0dadVpVOUJsSTNFNkl4L2duNk9FTnNGYy8zdlhBSWUvOWF2MWFTODB6LzdpNUsKLzdqckJvYW1uZWhza3NMZlFJNFhKLzVoOFdhd1VFYUt3SGxnSzYzaXVEV2xHQlBDR01GQzFHc1RpeWRIL2N6RQpkYXF2NmJFa0tybDZGMjVqeW5pL0FTZnVncHJIZXdCYkRacFpJcVV3N0p4bkY4cFZEYkRxTVBhUkt5blNRM0Y5Ck9QOEVSajlEQXBTTlhxZHlCdmdEU0huM1c3QkQ0TkhhUXdPZElMckZvaDFNRzZQZElGZ0IvZ3k2TmJZWmhwZlMKSEtzNWExTVlsZitvSklEc1AveHVILzBVTWdoVzhUbUI0ZHNXZW1NQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFBbklqZ3laCmJKM0lkbDZyUW11L3FaelYwd0tiN295ZDRYcDZPQUVyMUZWV0R5N0hsKzVsamowWlgxQlZnV2hlRm9yQ3A3cEwKTUNmSndXVjhiVDMzUFowazRPS3BvdTNNVEpidEgvV1ZmT3ZGKzVma05KSExyR3B1N2VrRkYrNXpsVzVGbzNFQgpJRFlMUEN6dmpFVmVQeElUc1pRaEZaWDdGczd2STF1R3FtUU8xSWx4MVgyR3NodHhmdHpmbkpGeDgrZGFQMVdyCjA4bWc2UW9qSmFnTHNwUzFDSnNQTTVGOUdEcUlvdXY3bTQ4L2J1KzRTYkxiZ0xpMzlEMktKWTNpZnQvZlo4czQKRW5aR3dJTXNKSGNuNURCZllLemlQbklCcWpzNjhVNnJQZHV1cXlwYXprUXYyTzJLOWEyMGlFelhIdEJETlk3UgpLdWRWOFBWRlhBcGdNMnJvTXIrdTFVdXY5SzloNzU0RzVRbk93Tno5WXpDb2s2UmQ1VEptVitqSkhvVVU0Mlp1CkFET1dMRUhHN0xzeUkrKzZuVFM4M0srRmVoazkrT3I2V25mend1bDVKSThoZW9FWUNrVHViYXVOdUtsejBPcVMKcDVNdXV5S0lVTk1QSnlyOEtFdHBFVmdUaW5sZDlUZVJDRXd0MmJycjZhUE16cDFKNVZsdzNDVGZOaFA4N3YvSQpQN2FoWVpTVVFVTzhUUU84ME5LS09MV2FJZVBpbEhTeC9TdlBoZmRET1RRM2VoUzRYcTB1T0M5SWo5d1lqRFd0CnByUGQybi90dTE4WHRmRjJkay9aT3RURUNRYWYzWmNjUlZ6UnJZcXI5OEVrMHNwa05RVmtjZFBxTnZ6SzFsaXkKTThiR2d2Rm5iQ1Z5QkJKbFkrc2szdHhsUGptU1d1UWJLa2wrCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K"}, "caPrivateKey": {"value": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS2dJQkFBS0NBZ0VBdnd2K2lpSHJnaWw3UzNURE52aEYzcjZwN1M2ZGtoejZKNURsZUJFcXYwUWU0cTJnClY2NFUxbkVXeFlZZmpUQk9GSmVJM3R2MHFsdDlkMCtlaUM2djRTaTliR1NTYlp6S21MUVNBYU92TU1Jbmh3SkgKRmpDaVJPK2MycjAzcGNzdWpNZ0YwelJGY0w1NGRGdkxFZExmc1g1WEt0UVprRlNJVjQ5SGJ4ckQ1R00vUFpoYwpjdm1HZ05jK01IV21IYm1ubVllRHdhQ2EwVjhncjFYWlMrN0g4ZUp1SHFVRExtUjZPSnQ4Y0hycDVxRHF2MkZmCnIyUjVFcVdPa2hLNDhxZzlEM2diS0VPZkFlSG9oSmxvZFNSWERLTkhxVkZRUzhSQXNjQm9uM2xoYVFrSXUwQ3EKMWNFSHhkbDdWc24rUTlGZThUOUx2djJRYXgrbFFLYTlVeGUzVGxuRFRkdnlreW5BbTgyOXFHdWNwYXVaajNadApqTk1qVUtkQU1yZHhycXRETUdvV3I1enJYUGc2OGJlS0gwZEJmK0dadVpVOUJsSTNFNkl4L2duNk9FTnNGYy8zCnZYQUllLzlhdjFhUzgwei83aTVLLzdqckJvYW1uZWhza3NMZlFJNFhKLzVoOFdhd1VFYUt3SGxnSzYzaXVEV2wKR0JQQ0dNRkMxR3NUaXlkSC9jekVkYXF2NmJFa0tybDZGMjVqeW5pL0FTZnVncHJIZXdCYkRacFpJcVV3N0p4bgpGOHBWRGJEcU1QYVJLeW5TUTNGOU9QOEVSajlEQXBTTlhxZHlCdmdEU0huM1c3QkQ0TkhhUXdPZElMckZvaDFNCkc2UGRJRmdCL2d5Nk5iWVpocGZTSEtzNWExTVlsZitvSklEc1AveHVILzBVTWdoVzhUbUI0ZHNXZW1NQ0F3RUEKQVFLQ0FnRUF0UlNEVVI1UmdYQWNBeXRMRlVGQnlKempwNEkxckJaM0xTVnp1dGhhc2l1NU1wWHJrdS9YcEdKUQplU3hsbjRlWG1vRC9KRzFMZkdWM2lLMFkwRytnR1VScU51RWt3V3lKd3k5Nm1iOHlBSDhteEJydWtpUEt5cGhyCkRoR25PeWhZbU92R1NhZ1Q0WWRIMk5KZ3FpWThESnA1dUlpTktuWlZQTmo3bGwzQ0t5bSsrWHorczZPN1QwZTEKRkcyTzVFSGlqKzBZZjJEaEhXNlRKbDJ5dHZ3KzNCQUkzRmIvcXV0bHhWM3JGeG9KdGFYMG15MkthazVMUzlkTQpTVHdodlM2bG9aSHYrN3dNYk5aWmM4V01jdXZjN29lZEZ1bVJ1Qjd1U3d6YW5iMkpET3VaTVJOY1dYcTdDVmJZClJ5enlLZ203ZWVMS3d0N0lFaUZPbXZid0lHQXNSeDRsUHBQejhSa3ptNFgzT1E4NjVUTUVJTXdZUWNQMFQvRCsKMkhQYzRXS0M5Z3NySTU1VTdseVJ0ckI5aHZnL21LUk1RamF0RTlnNVFMbEFub1c4Vm9YRXF0eXdBcHJCOEZQTwpyM3p1VnBoM0R0UG1nMlZ0b2dZQXdCOXd1djRSNXA0UU9weGMwMmtUU2NOTFFCY0FuU1hZZGhub090TzliRFgzClQ3TlhHSEJXaUpmcEMvNzNkWmdwaEFseU5URE1QR1B6RTY0U3E4cTBDUmR5K0tJbjFLdVNZdkdOWmZuc215THAKbEczQjc1S0NWbitKVUtNZjRzU01MVU0xTW92U3FOd253aXhrVjQvcFRjeHl2bU5jeThlL3VBVjVNK0Y0MkdIdQo0K0xLVm1MYnhWb3dFUUhRU3B0dUtOVUljZGdkY0kwa2h1czVZTmF5QlhLYlJJdEdsTkVDZ2dFQkFOMnllYWFrCnpxb0YwUmFiTTFPQWVaQXVyZUlNV2VMQXpmdEFqRVNvK210RkFZZGg1YUhHdnc4MVNTQ2hmUTZKOU5ibERSU2MKeVBQSGhlME1BQlhNUTc5aHFZNng1cVJhUzZ2S2VhcUFmeTI0aklKVFhGZTIwV0xEMnZLRUE4cXpRS3ZHQWZwbApNc0pzcnBtNHNwSmFacXFUTEY5bjFHYzFobGxvbzA1dTA5WHN2V1ZoNWhwamZNcDVRbS8yb0l1ZUhHeU5lakhaCmZOYnZXQTlCa202RWxFV0k5U3MwZHpHUFVXYmVIUmZNQTFqUHBsZUJJbUpZOFhKK1h0UEVKVHlWWFB0RnFPb3oKMHpTYk16blZOd1ZZbFdUdEF1KzRVVW8wbnovQ2JYTkJqN1Q3aGk5T2lqbmJyTElscmVJZzl3V200UDBZQXY0cgpZUDNRUkFrT29uRHE2RFVDZ2dFQkFOeWJjajRjM0hpbm9CWnAxUWlaRzhWbEEyd0JFWmJudlp1VG1tZEJjeVZjClFFamgwRmlvcGd3cTA1UzFCYXF3c3NNa1NDR1Q2Qy9TRWg2TDRJQ1o4aG12TmNyQWg1MitVSXdDN1RFYTBsSXQKVEIwdDJlbFk1NmV6ODl5Z0k2QXFFV2hSYlF2REhXdlJTQllXaHJuMVpEQVZ2aDlCMWZueHFqUTFJYUZJNDMvUQprZHBxeDJHSWxZM1RvZFBObWhueTgwcUVLck1ZU1h5cDhGWHgzQlNYMXVKaVZUVXM1SUFSVGpTKzlOY2kzYXFMCkhJM01sQnZPUjRVRng2cnF4NjlWclFBb3BCWUZrajJ3YXp4SG9qR1NXUDBZSlpDcGdPWk5tNkhJbW5WdEs1Tk4KcUh5clFSRDdrNEYzMG51QW10anFZNVBvdGtGcWZFSjgvOWRhK2plOUd6Y0NnZ0VCQUl5QjBSZ00yKzVtUVY1UwpmdlV0Tjk1cHQwck5DU3J0aDU3MkNmQjZLRHhVUCtQTjUvdmdPcmNvem5BZjZXS05qTitseStTRWVkZ0hYSm9nClFPMlB5R0JEUlhOcXpRTGRONWhwZXpMVXZjWDhjUkVvUkI1VGYrRll3Q3R6Ly9NNEtJUzF1Z3M0bURNaExvZSsKeDI1NlhSYytyNkRIN1paOEZlb1VwMnZPVWZRRFZ3WXFSZXZ6b2VPeGRxbi9aVUVYdEd3WVBwblpmWVc3cTlQLwpldzhRZCtpYUpNaDlPQTN4QjJacTM0VjFoNm1COGFzRDdRYm4yQjc0ZUtFK2IxczJUdmZ4N2x5QS9Cc2JRaHdsClJmbmRhdEhNWlZBSlFYd0dYZWZMRWhNNk9obzZUNUVyOWU4MWl2NWRZeGN1VFdFSG94REZaeUF2M2dqL05oK0gKWnV5cDlRRUNnZ0VBQ0xIYnU5VDVYNHdEeEQ1aGxoZ3F2d252SzVlVE1PWnJVN0ZxbVgwNzQ1SVNPbzBqNEFxdAptTGNyWmFZSTFpUm10MGc3eTQ3L3pMcXoyaDViTjlaWmMyZXpjQTFNaXd3UU1xUis0cnVTNUloQ2dyZm02Y3FHClB0YloycTA1R2p2dU9iVlQzZTNQd0FzY2t6cEtEeFE3NGFWSnZBT2xRbGVqQkxHL1pKTHgzSHpFOHQzWWcrQ1YKUEdURjhRb2VjNzFlbDJaRUpKRGxmSk5hRkprV3VuME5qQmlpRVJsMjNCRlNpc09uOUw2OEM5ZTF4V1QxeFc3SQo1TlpJZTFVTGo3Nkp0Z0xrRExZbGdHYnVvdzZUdHU1MHNXejlOZ2xvT2l0KzRjNTlQL21RaVJxN2RFWnZweEt6ClNwd0ZZTGE5NDZUQlRmZ1REdHI2a01oS2NSdDExektOMndLQ0FRRUFobUhRTGVES0VibXBCZTRyYlZHOHRaaHoKNzZCV2FFQldmOEZDTFZDUjRDSFg3Mi9yOWFYUUZhWnV1UUEveVVQSEREWC9NMWZsekRrUHdibEhQcFRCd005cwo4VDNZUjI4SHZQdVdkd09seEhlY3ZINDV4WUptRjllci9FVUgxbExMeERtekZlVXVXS1B1dStVak5oSUsydkJsCnF0eDBlL28wdjJ5ejhrTFoyMWpld3Y5YjVNL1JDWkRWeklGaUgxdVNMdHpvWTYzYlNPSGZwaXNLYlBqUDJsMEoKTGluRlBudDBlYjIzN0hWYXVwVG9kbGV3UXEyWEdrU0NUNFV1VzkyZU1SdG9zeFZIUXdidG1SdHhqYnlKNDJ3YwptWXd5V1RBandSSkljaUJBdmo2YWdCV0QySDdiZm8xUm14OFdZZXJNY1F4UFV4NkNuUWJEVGM2Nm4zMU4yUT09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="}, "clientCertificate": {"value": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUl5OEViR0d0aGtFMWtCbkdHcjd5UTh3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qQTNNRFl4TkRJMldoY05NVGt4TWpBM01EWXhOREkyV2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQTVRZlNlVklOcWprZlRhMGo5MCszczRKWW80aHgKalhvbG1CRFl0akIxMTBxY0JENHA5akZRc1A0YkhMYzVzeEszNlVhdTVqSlI2RzlRWDFPZGVUMStPM2laSzIwZAphcnhYRU1TbWZXUGlqTTloQUxrd2FlNVBsTSsvWXFDbDdMVUdrYWNqY2tqeTg3SkdDcXRLc2VKNEErR25oVGZQCmdoTi9zZTU2eEdGajJXa0h4SW51YVdINXA3dDdQRzNuWTBQNnlFZ1pxZEd5MWpsT010YjZuVkZ1M05PSHZiYm4KdE9qRWEvZnZKSE5RdFpIOXJUclhybFhUck52a1RQeHNqQmVESUx5ckdrU25yL055WGlXTG1mUFZDR2dVVkprWApIZ2tYMmxwK28vRTVWOEJ6STdvZ0g3dUZhK3Zlb3JvRzg4cDM2UkRuNWNmZkVoNElSY1g4ZVZuVXk3V3hGb0ZYCjhnM2JGb3FTc2YrWnA5WVRseWd5WEp5aGk4S1ZGSytGRGhudlFPVG1yOExzNENReWFNNHN0eUtzK3l5RDhNbGoKTHd1L2xydGNQd0tySVdoMnRBcGl3TEZ5YzBRd3hnQjZ0bStBOGNtbzYzMlBNTjk0NzhEZWpNZ2JsWk5vUzkzVgo4UTlTWjVaUm80bjU5dVlJdFZVK0psVmE4dk9oQWFiRjFMMVVkdm5xQWhubkRWd0ttYjN5eG9SSTExOEFKWHRmCkJxM1pkOUJEVEl0b0pNaytTeEp3alRtblV1Q0VOQjVrbXlwd0xoMFlBUEd6clBlOGJWc1N3akI1RFY4ckowOXYKdDJ0Q2hSZDVDeE92dlphWmt4bDFncng4R01TMDdUMnEwODIwRFdZaFpESFhaV2g2WWVTTXpleEg5YW56QkQxcwpZTlN0R1NZZVJ5MVRQUU1DQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVCM3hnRmIKcXF0THFjZVZnRWN3TUdCVHRSWjI3bXBBaG5QZGpMN3NxT3pCNURsOENYNWhjSGVBd2pMVk01NmFpbXNSWUlzbgoxUnQ1cUpjUTlxZlZsNnRZdHNoaEJvMHlPMzkxemFWOUwwLy9jTExkZUJFM2MvaEhnWXVtYllIaEhVaU9EN3lqClZyZHVGak9YZFkzQ2Vsb0hIVlNaTkw0aDBxNkR6b1QzR21PdUp5WGxCb3Rhbm90NnBsWTIwYklpTGl1b0dmdTMKM1hVQlV6SVE5eVlmd2M2TGFxREptckxzeGgvYVVzNjYwR3AxajlWRkpwMFF5SzBZUHRMUHVnQzR3SVRmUjBTawprYU9POVRsdkwzR3VXbmpDVGw2T012R3ZnN0V4eXYwUm1RU3Jsak9jbnZNeXdENnJTNkprTVhqQWdWeUxWdGRiCnBEckpnRmRaZzh1Q3p3RGdZOTd4b0NPbFN0NHptZzlyS0sxSjhzWGtHUnRQYlRySWZUR0ROdXVOT0ZBNUlzWC8Kd3gzalVEa0dqMVAzRkxBVy9DNC9IQ0xuSDR1eHhwSG4vU2FlWGp3ajE2QlBjRkdHb1lrYWJ2aHBjWjRqY2p6NQpUWFo1eTBOUkVZQXRmcVlZajkzTlBRNEE5S1AvRFN6cHVaVHVEb25vb3M1TUg2ZUhxaFloVCtLV3pCQjJlZ0JBCkZha1pvRSt2YmlibUw5RjltdWJXNTFhM1JqSVZVWE9JMVA3SDRVUlMwUGJWZ2dUR0FvMHBpNG5KOG9tNEpBbG4KTnFIMmtGS3VxcGt4N3NGVXNzaDVDdEJqR005dGV5M2J0ZjZGY005a3BpN1BSU3BuY3R4d25MRVZGU09oQzR1ZQpPRlhQMVM4VnQxdVBPaGF1cVlhOU42U2tVK0xKOHpuN0U3aUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo="}, "clientPrivateKey": {"value": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS1FJQkFBS0NBZ0VBNVFmU2VWSU5xamtmVGEwajkwKzNzNEpZbzRoeGpYb2xtQkRZdGpCMTEwcWNCRDRwCjlqRlFzUDRiSExjNXN4SzM2VWF1NWpKUjZHOVFYMU9kZVQxK08zaVpLMjBkYXJ4WEVNU21mV1Bpak05aEFMa3cKYWU1UGxNKy9ZcUNsN0xVR2thY2pja2p5ODdKR0NxdEtzZUo0QStHbmhUZlBnaE4vc2U1NnhHRmoyV2tIeEludQphV0g1cDd0N1BHM25ZMFA2eUVnWnFkR3kxamxPTXRiNm5WRnUzTk9IdmJibnRPakVhL2Z2SkhOUXRaSDlyVHJYCnJsWFRyTnZrVFB4c2pCZURJTHlyR2tTbnIvTnlYaVdMbWZQVkNHZ1VWSmtYSGdrWDJscCtvL0U1VjhCekk3b2cKSDd1RmErdmVvcm9HODhwMzZSRG41Y2ZmRWg0SVJjWDhlVm5VeTdXeEZvRlg4ZzNiRm9xU3NmK1pwOVlUbHlneQpYSnloaThLVkZLK0ZEaG52UU9UbXI4THM0Q1F5YU00c3R5S3MreXlEOE1sakx3dS9scnRjUHdLcklXaDJ0QXBpCndMRnljMFF3eGdCNnRtK0E4Y21vNjMyUE1OOTQ3OERlak1nYmxaTm9TOTNWOFE5U1o1WlJvNG41OXVZSXRWVSsKSmxWYTh2T2hBYWJGMUwxVWR2bnFBaG5uRFZ3S21iM3l4b1JJMTE4QUpYdGZCcTNaZDlCRFRJdG9KTWsrU3hKdwpqVG1uVXVDRU5CNWtteXB3TGgwWUFQR3pyUGU4YlZzU3dqQjVEVjhySjA5dnQydENoUmQ1Q3hPdnZaYVpreGwxCmdyeDhHTVMwN1QycTA4MjBEV1loWkRIWFpXaDZZZVNNemV4SDlhbnpCRDFzWU5TdEdTWWVSeTFUUFFNQ0F3RUEKQVFLQ0FnQm11QkJreXpGSHhDRFBCTFZaeVE0WjIzOEhzVDFFZDZEK3g2ZDZadGVqUEZvbTZQNkc1VzFNUkZ0QwprTWEzRXRFYk5kRmhldllUYWtGQXo4NlR2c21yd0pYcHpTRmhhcUVkNnlURW5oVFFsSDNzQmlLNWorRnZXNUY1Cm1aVnhTV3R0emVsdTYxclRnNFE0YXNTd2JXTG9VcitBVnh5aE9UK1BQT2NneHBFeXhCRnd5Mi83SWE4SDFHVWMKSUNxajhhdzdRV01KTC95bWFjTXh1QXRrblU0OGlqNmFEcnR5L3VhQmlneGVhNzJxQVpVbHFYdHNQQ0FZcWZLRgp1THl5UkNWU2ZHdTg5MGZCK1V5MC90L1NwM0pITis3T1ZtN3cwS0U3RkZVeUVCRm8wdTZRK254SDN5R2kyb0hhCnQ5WkFadkZLdllOVUlrVmc2Y2xLQ2RjSFVndkdpKzJIUGdxZklGeFlWVHRxUE1CNmh0UWNKaEJNQ3VUNkVZMmIKQkJ1YndrbE9SQjZVVElVaWl4K2hYSHQ3Y29zNXhQdTJoRlZMK0NUb3RwNEVwbkl2V2RiekNlYTVWVkp2dTJ1ZgpaK0ZwbFp6THBhaXltRmFneTJuaHpnU0tnT0pSLzR1S3ZPL0FhMUJCTE5RMUNnRTNKNEtUbVQ1VHo1dDBIeEhsCmVLdm4rNlhBbUhEK2VlcjU3Q0IweWpBVVRtL0dpMmJOcUVvRDVNWEtNY1lCY3BZMERGRC9zbGgxNjRqZnpHTFoKT3g2aGJXN0xPUkp1OFVFZVhNQm5CdWdObVZYWnkxY2g2WVdiSFpTRndNWU14cjV0NDNEY2JoQTMrbXZtZWtUWgoreVV0YW9aSTYvdFltNy9PK0VRWXNMYVRaNjg4cHVLa0ZTeDdDNFRrbGZiYjBLbW5ZUUtDQVFFQS80MGlSVEErCnJaaUFheDh3Umg3RjVFbWwvQTFvYkxJZkF4V1hQYWl2QmlJQlhNWmxKL3NtbWsxaW5ZK2IrMkV5ZVpWc1hwL1YKMS9CMnVwV3JuengwTm5OUzkwSUtxY1JqYTdIaWdRWWtRcVhwc0I0bFBaNHpzWFFjVVB1Q21RWHdGdHlOeGlTQgpjN1duUk02TEtmMFV2NVczUko1eHlUNDZzSGttT00wNTRsa0tGZ1NqNjMxRlRIRFUzSHFGcGVXVWFWakhhUWVkCjVPQnR5ZlhRQ3NXQ0dLYWNyNE5XUU5YK0VRa2kvNVp6UG5MOEZZUnZ5VnVxZmpUUkpDKy96QUQ5SVVkUDB5V3gKcXg4N3lGK3NTMjhxa3FFTzZHMEw5UTBSMXl4MzhJcy9jTmdHVFhmREFIdm5IdXVXalVvL05UY3IrK3JtNVdEVgppcEhiY01HMGp2SGhjd0tDQVFFQTVXN0VoT0dOYmJyTVl4ZUE2L3NCcHo4MUx4RWZDNWxMMnl2TnUyR25wNjVGCnJVNy9SRWZHVGZybCt5RXlJUXVnYkpTV001a3V6eUxwaFNuTko2U0ZVcUwzS0xyRGZweG1BSHBubmhJdkRURnIKWW4vQkxqVHVXeEZIV0Q4Q0ZzdU9KV1N4OUxxTEJtVHg0ajZDTS9NNUhoVG04NHNVbjMwWDUvZHJLSSsxdzFyOApCN1JjSk45UFJHZEZrNFUxZXhiaEFHeXFIMmliN2U0aWxLWmlBdldkV0trUXUxUEdzblI1em5CTDVzS3dmTFNDCkt0cG0xekFIQmJIV0NOSTY5MkwzdjdLb0c4aGlSVUlDd2sxWUZoMG4zT3RYQmtFNVN1NkFRbHg3UWpWNnJCRVoKa1NYMlQzcnBQNjQ2TzRzNm56K0F3TzNMYkdjem1nYWRxK3pmNU44U01RS0NBUUVBK0NOK3AxZ1ZSRkxVUHkvbAptL0M5anRIRWpsNG1pNFRaZ0JFeTdmZ2hHdjloKzBmWmFWMEJPc3J4ZXJTN2JQZ1FIdWJzZDJVVUs3MmVTOGFSCkF1bWNubEtVdU9vem1Hek5iUUVwUXNkSDVqOWNEbHIzSmtHN1NBL0tmd2Y0NDhWVVA1NmhPMGl2T2ora3o3Y08KZ2hMd1ZxZDFjUGU0M1FQRDBSK1I4WTIxS3dmeU56Y0NRK003cXVIVWp0R1pmR0RVSHdiSmVqNmZIbUtkdUlFcgpKWXBxckt6N2I2RkQyMmp1Ym5SRXU1REhEbGh3VmlSbXQwcCszbFZDenJSZXRDUXhwbUtzTEFacDRoTk41VjZnCjJnNXpkRFZYV0hDcUw2UWxNcDVIU0JhdDMxQ2pyZzBnR0JRM2MxcW1zVUxxNVMxUlZDZmZVOU1YQnBwaVRiYUoKTUZQRjZRS0NBUUI0bjd3Q2dQTnlkWHR2dmJPeVhjMkl1TnFsWEVNT1BoSjdzSlFCcUY0VThyTC9ZMEVpRFBwZApsVVBFdkxjMldINkhsN2RBZVpENnBraFFFcUloN1lXSzVOTTlQclA1cFJDYnY3OHFoRFRvb3NycWhuQnljckcrCmYxOGJMa1ZTNXNKZE5vdTVOenBRcWxIaHVTdUxWSno3QzlKQXlTYVdrNVkyQndiMzFGYWoxdm9hc3VDZklpankKdGJrR3prcEg1TWQzQ2FxSHlOL3lQL2srWGh1NW9waVBQSlBuYVN4V05wYXp5cWFkTkU3RndjR045aldMZlZ5egp5Y1BWNzNIQkR1OWlnZk9RWjlJQ3g2bmJyZjVaNGdwTFJCQUU0ZFhWWjM5WFpIZ0pYMFNYb29YbW9pYlZzckZmCklhTE1HMjgrdW94ZTRxYkkzNWxwcVlETUcwVzdkdXlCQW9JQkFRREF3NlZWVnVxaXlEQkViTTd1djJCZytUU0wKQXNDeUpGN1N4eFF3bm5MSU9UWnhDKzR5YXpkbkZBR2lFRmhNU2xsUmxWakpLZk9iQVpsVEJkM1dvak5uTE5ZRgpxcllGbVI0aHhuNkMybENLY2kxa3BpTXlnU3FTalQxRlRxQnRobzJrUEV4UGpheXJWbmwyVjVFdXMwbElKMUtwCmpXMlJDRUNxMmpRL0NZSXRhNHpnRGFzSCsvRmZaS2hiQ3FzZGw2S0VsSUxxL3dLYzB1dFpON1YyYlRyZnp1d3UKOG5uZnBjZ0VsM3hzbVB5OE9nMHcrSlpWZGowV050a21FQ2JIVDczNCtBYmhyRXphMDRlQW40ZFVONXowWFJqSQp6L3R1aXpYaVROZFNCT2VxMGJ2VjZrbzhzc1pFYTdyZGRDRVhkZmt3dnJsRWFEckkza2tkL1VKcGtzZmMKLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K"}, "kubeConfigCertificate": {"value": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUxFTDVoWWtpdm5EUzhSYlR3WlZFNmN3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qQTNNRFl4TkRJMldoY05NVGt4TWpBM01EWXhOREkyV2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXNIWmhpMXMzSUFNWmorZGxwbjhvVnJFamZNSHcKV1g5RWxzZzdBZDl5c25vbVV4SDhoN1B3ejg3SEhLQnZFbkhlSTJYTlZCZGNkK0Y0RDFKUWVwMCt6d2VBanJhRApCdWY4NUNhay9HWmZpNVhIRGpmU1hybG5KamRFbXNFMzZTOG15a3UvYk1rdTlVbTRRZjEwb09JR1ltZzFJMk5lCncxNk1GZzN1OHRjMmdpRm5GQjJ6QjZKbjlhWDhMZGoxSkpoazd5NUJUSUJBR1A0Z1d6a01aM2RXVmlRb3NadkEKMndOZVdJMDBmUWN4RW5tNUkyWjM5QmhERXo1L0Q4YjMvc3dJdzRBaDhPeWN4VGJSM2VUR2hVMjJXcjRJam1Vcwowb2VrT29Wc3E5bSt1b0toWU9ROEpzSWRaazJrelZmMzk4SU1pVzFRVmxBQUsybGxkb2RkNUFIUnNrUmM2MUg5Ck5Tdy9XRFVuaGNaVkxlOGhYSlVySFI3T3Y5TnhKd3ViSVFuQ043T1p5QWZIY2w1VWFDeUdxY2MzQ0M5WjVLbUIKNFcrSnZlUEQ3REx5NG94bUhPM3dXQzg0eE4wTDc4RGtWWHhaQ3d1blMycUs5L3dVcHBwZUlTNTloS2pFTW1VUgo4d1pMdExveFBqREpDaUswM3lPM1pNK3hMMVMwR2JZRys5dkQ2UkF4TU9KWVZBUHF2QUZSN1d2cTVISXN1dmRyCjE3MCtOMFBhRHJsRGovRmVMKzNPSW5uQTZLcldDN3lzSEFFY2FyS3Z2eVl4NlladFpqQmdFK0dFWjlCWndiaFkKTURiK2ltN3FEUm9QRDJvbmVXTFVwVGYxcnBqajBWRzNMYjNDTVQ2czU4MUNWV05uR2hjVDByd0lzam1lMmVnOAoxRHlxZGg5RGxzZkd5VDBDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUxHdkRRdlcKdHVKelljZHJKRWw5dWNwSGZMUklrdWRYaVAyZzA1SWFtT2VBVnoycEZ1NTIyS05WVmdBM21HRWdxREtxa1Y1Vgpna0RzSk9MK3QvWFp2aDdob2ZPMkN4MThvTkNGS0EzVHNhaDB1SVRWS3QyaFhjaEhjbWFSamF3OFdoY0F4ZUcvCmxoWkJLTVlSL0xvazMrdmRRNGhEdFhwMWJTSnRESG9teWtNalV6UWNiVkIwSGxZdzJJajdEanhVVEJzdmcxTjYKTDQ1eTRpaWJvWnNkRXRRdDdOZkM2dTV4SEVCVjFxRlVQc0pKdFV3eTlEOUtJK3FSd1o2T0FOeGpqbENSZWliYwpseUE1TDNzUlhOYlJIbVhEbUswRFA1L0w3Q0VnOXZjbXoyazlaN3V4ejUzajE2V1Z3MEwrSElZaEFyUjJDNzdGCnVveWZ0amROOUFSQnppTUU5T3E5UzljRWxBa21IeGRzN3BpNWtNMm9qSXdYaEJCYjliQSsvQW9FYkw3dTI2TnkKR1NpNExuQ3FwcjRqOWY1eThtMzJudlhCV3RHUndpYTBpVVdTQWoxK3V1Q09GQWFBcG5KSnlPaTZkc2UvaG1MRwpIWkhNcGwvcTNRc1BEQXRuYU5IaFJSQk1KU01ubmJxTFlhcmRBOFVtTmZXUUthT2p1Q05ycFJLQ1h3ZzZMTzB6CjZBcWduZnRzV1hJZC9aQ3d4clFnd3FqaWRZeXo3Q3NaS3Z0NXg4WlB1c2hlcUFrREhBYlpSN0pzZENHVGU4NEsKQzF2T2hLeERVQjdMOW9DcmR3VWtjN1FPZVBIVXUvMm9YNFptdWtoa1BPTTZrVEpxR1V4MDBpWHFSbndBZEIvUgpVamdQN0F4NmdzRlIyS1RpVDlZTGxTYjlMQjBGSXlCb0xkUzMKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo="}, "kubeConfigPrivateKey": {"value": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS1FJQkFBS0NBZ0VBc0haaGkxczNJQU1aaitkbHBuOG9WckVqZk1Id1dYOUVsc2c3QWQ5eXNub21VeEg4Cmg3UHd6ODdISEtCdkVuSGVJMlhOVkJkY2QrRjREMUpRZXAwK3p3ZUFqcmFEQnVmODVDYWsvR1pmaTVYSERqZlMKWHJsbkpqZEVtc0UzNlM4bXlrdS9iTWt1OVVtNFFmMTBvT0lHWW1nMUkyTmV3MTZNRmczdTh0YzJnaUZuRkIyegpCNkpuOWFYOExkajFKSmhrN3k1QlRJQkFHUDRnV3prTVozZFdWaVFvc1p2QTJ3TmVXSTAwZlFjeEVubTVJMlozCjlCaERFejUvRDhiMy9zd0l3NEFoOE95Y3hUYlIzZVRHaFUyMldyNElqbVVzMG9la09vVnNxOW0rdW9LaFlPUTgKSnNJZFprMmt6VmYzOThJTWlXMVFWbEFBSzJsbGRvZGQ1QUhSc2tSYzYxSDlOU3cvV0RVbmhjWlZMZThoWEpVcgpIUjdPdjlOeEp3dWJJUW5DTjdPWnlBZkhjbDVVYUN5R3FjYzNDQzlaNUttQjRXK0p2ZVBEN0RMeTRveG1ITzN3CldDODR4TjBMNzhEa1ZYeFpDd3VuUzJxSzkvd1VwcHBlSVM1OWhLakVNbVVSOHdaTHRMb3hQakRKQ2lLMDN5TzMKWk0reEwxUzBHYllHKzl2RDZSQXhNT0pZVkFQcXZBRlI3V3ZxNUhJc3V2ZHIxNzArTjBQYURybERqL0ZlTCszTwpJbm5BNktyV0M3eXNIQUVjYXJLdnZ5WXg2WVp0WmpCZ0UrR0VaOUJad2JoWU1EYitpbTdxRFJvUEQyb25lV0xVCnBUZjFycGpqMFZHM0xiM0NNVDZzNTgxQ1ZXTm5HaGNUMHJ3SXNqbWUyZWc4MUR5cWRoOURsc2ZHeVQwQ0F3RUEKQVFLQ0FnRUFrWVpmTlV6WkxqWkFPM1BxV1orZUJiaDUrcVg1NytUTURNaytHSEpOSmJFa3IvY3lXanRrQ2d5TwpHaWFZMHc1QzB0QmV2ODJ3UFZFYzhRM0NQd3cwd3dsOTFMUGhaSzJtMmdTZ3BXSkx3MUtXNFR2WjZySmR4WjlvCm5YTmhCNVlTR0Z6VmxnSm9Ebk5vV0V1TWhpMUFkS0ZaeVVCbTR4bXl6M0ZZTUw2WlBrSUx2d1FySTgya2pHb0IKaVZIV0FRTUlvbE4wR0lIZjJueWc5SG9jcDZzNzhUaEtzd1l1eXErQmUrZWZkTWljaUk4SHhwRDN0YjdZZWlOZApLQWEvZUVxTm82U2syUXBZMHk4OWJoQUFRK2p0elBIUkhwV0RuRyt1V1hDMVNSZitlZFBIQUovWWwySVlXc2tICmN5enIyMUFWaExRNHY2V2tMaWp5T3dpeHZwcGRjcGJyditpY0x4enBUUkE0UkVnbTN3VmdSVWlUZ3hPTTg1dlAKQ3RjRllyRmpwemRMMTY5aXgyQkg5Ykg4RG9JT0FlMjJTYXNFL1IxM3V0dlhNNjhZT2dzN3BleTNyZ2ZLcXd4YQpXMmtlUTd1c1kzKzVRZG9nNE9qZEEzTDMrcUNBQmpqTEYrcDh2bFNxS3BoU0hTZTlHZVFpendtU0xJOEU3OSs2Cm9RQkRUdlpVMmR1NjNvakJsWGNFZmhsa2VtNnN2VDQ5RlBaQWlwWS9HeGxQWG51NkVKZWlxclNEdWYvdFdXRlEKK0hiRUt0UnQxd1lZVmYyNXRGb2ZLMmtaNDFIOUthdXVFY29Ea3ROTVdOTXVlMlAyR2J1QzB4Z2VhbFpPbW5VaAo3Q2RIenZrbUk3RWhFSjQ2QmJSK1o3WVNwZ2dUeXhUdDBqcFV0c084Z2Rzb1NuSFV2Y1VDZ2dFQkFOUlNZbEczCitJVjRvYTJTeFNxTEE5SDQ3UmtCemg4aGdZZG51aHJDYmRBNTZrbVBsTFhLUEpMZGFCV1BNVmE4ODh6SGJ4V28Kb0t3UWg2UnJkZ2ZWSitRSHhBOWsxcys3QVZUSCtZeUlWMm93alBjRDRLaVYrbG9RZkk3YlBFN0hPbURIVGtiQwovSnVPTFlmeXY3QWFBWnc0NHhuMC80cWdmT2E3TFZxVldSeEI1MUNRS3RVYk5NMUoyaGJQdWhpem5HYThoSUxsCm1vc0ZvZTRtRFVRbkpnaU4vR2hXcDFKUVVYU2JIbGlXNFJad0U2Nld1MmJqTlNWT0tlYU5hbUhjUms1K29hVGYKQmVneDdNSk45Zm1oeDBNU2dITWZPVDBFVUZLT1lBQWJhdk1BYkpwdmZhSk1BKzcrZFdlTDFkR2dsVmRRTEl6MgpEOXF0OGFIclZ5WlBZQk1DZ2dFQkFOVERnOTZkeU5tbFFpWUFIRFZCWW1YZ3UvTHUyd3FTSVZRNUxWUGx4MzB5CnQrT091TDYzU2cvL1ZHNGhqLzFDekhPTUVDUXkzb0ZIck1BTWRKRG9EcytlSEZwQXlWSHNHcVN4VjBGdDRPNTYKQmVsK1g3cWQwOHVwTmRESHFycklSWXpZNmNISHZOc0xENEpUMXY5akZWaWlvVGljN0hBUDJFdXlJRlpkWVlIeQpaK2U1eTM2ak4vdXBtT2s5dmpPMUI1Q3hLM1NGb1Bna1h0eVlWdy9aVmtJMHpQa0R0TXAyakVIem41Q1lQTWpxCnVVZzk0bElZdjlvd0FDZmRXdnIyZllrbXpnUzhhRFRmL1BRY3ZTbDNmWjhYU2wwa0huLzljRE1JOUZLOW5NQ2YKNzJxc0ZROFRIZjBwOUFSYml6UjRJdFJzdldBRW4rRlg0bFFQUmZ0aGUyOENnZ0VCQU1HZG11RHdSZVhZMm43QgpENkU3QWJIUk1NMFVFMVhhSlJkSUpMTFFTSG1ReHJCc0NXMDVUY0dUdTUybFpaVzJXeENMY1NZc0R0QzVoaWdPCmdxU2o0V3VWRlZvQVY4ODR0ZjhOR09qcFQrV2Evb0VtL1JCZks5eERtb0pmTkFDV3R3cVgxUzY4RXNUN2cxT3MKcnRhMDhIRDRnMGdoWFlLWjFTeEcxaFg3aVRZMmR1ekZldm00aEk4TDRKL2FyOVprdTZRSUYwS1NoRHB3V1hrbApKQVhaT1ZxbHQ5MmgzNVUxZndJNWpoTzFDdTkrSnNTWDJhNzZWSFYvY01BNGh5RlVVSnkxNTB2RXdNczc4NjVBCmo2VWp2T1RTRTJabnU3ZURub2VhSTdzVlJaTHcrUmhmd1E1bUNWUkFvT2xhNEJINFFSZE5Ha00xQThJanl1d2cKQXVvQmloY0NnZ0VBVUFkV3M4YXZ4TVgzY3FtNThvSXNpOXVUZHBaSGg5dGRjL3VweEJQN0RHbW1aNDdJaU53UwpuSi9TMXpZQ25pV2hGNWxJZlFVeFVubHVUaktoS2R4UHJlSndFYmFxd3dqSElNbWY0M2w4RU5lUEg3dXNNRnFyClRzRFFBRDhLUmdXTXU2VGZrRWNjRDF4Q3NpZnRCOVR5TTR2QWpyWGY3V3JZVmVpalp6anFzMkZGbWhEMXJTV2gKcWlTcDRwbVowSU00WEVGMzhmVk5qZWpJVWJ0dmpBT1pBWUF3MVQyQ3BHRWc4ckc3aER6dktEZTZCNlZYV3IvNgpjZ3g2RW9TZGN5YUNJN09YN0lvZHZEM0FQT1lPZE9tQU0vWWp2NU1WY2RrWGVlclZVOFlFanlQWmYwdEpCSW1SClR5ZVhwSWYyZlg3dXd1NC84VHpzRW12bk11MG55cDFwT3dLQ0FRQnIzMXBvTEsyRFVPOW1wdVRRbVJhWVZjSjEKMHFjVFRmYUhUWU5RMWJrWlpkNzhBSmFiMkRZT2RwemhxZTdGYk1yR2VQOHJvRnVvNzFrYXh2ZjRSeDY2T3hTSApSUWNSR2tJU005bDR0WEJQK2d0aURnd3AzTU00MUhVeWtHNnFOc0dmWVgvQ3BHNFcwZ3cwb2duSGtvK1dUZjByCmNpWElzY1N6UWJCc1dqZ0hmKzVOVkJIREJraWorUElaRkZLNGw0NmpyRm8vRllJVXdMOEMvM3FCUDdCSkZEd3UKQ3NBK1dac3l1OXhxN3F2cGJUVGN5Z2hPNmxoVy9qTVZmdjhuMnlVSTN3MTJzOFE2OEJMREZVN0NnK0lqQ0ZoaAo0ejFzeEZNcSsrbEgrZDNHU2ZpbEN1Q2ZML2RUN05WVGxqRTY0QklGdzYrZkYreUxKdUNhamQ5YWtSSFYKLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K"}, "kubernetesNonMasqueradeCidr": {"value": "10.0.0.0/8"}, "linuxAdminUsername": {"value": "azureuser"}, "masterEndpointDNSNamePrefix": {"value": "fabricnlp9"}, "masterVMSize": {"value": "Standard_D2_v2"}, "masterVnetSubnetID": {"value": "/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet"}, "servicePrincipalClientId": {"value": "5a53ea0c-f45a-40fa-b481-ed2734c93727"}, "servicePrincipalClientSecret": {"value": "7cf86474-af55-492f-a460-201d0cd3a8d7"}, "sshRSAPublicKey": {"value": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDQEvG8bij5/eXWZFiU9KA9DpC980e/UgoMSij7nq+8M5ODBv/G8Bd3dssMNSj0RQKbyNiPz4EngFG62coGXK3ogJZEl/ABDDJAFEPB5J4BK8VCaVcmJpfPYVXd+DLv3A5Pk95SlgPeb1vbZnoOhy8F2rfjZBRCnsF2jN6Agk96c7JsGLamAaE2iU/+Wz/Z+x2nrV+Py+IVa2XKU/veqkY6/yDBQdO/BdXl8afdMHdqhjYwd7cp0Mec9r9iYmXKy8meUr125lMiayXIqeoU9qfcgnBlIcYkJtZjQd1F58o9KgHZXkkdEUqRyuiCgnJtNgY9xNu/Bgz2naiEU6NuKzKr azureuser@linuxvm"}, "orchestratorName": {"value": "k8s"}, "firstConsecutiveStaticIP": {"value": "10.3.0.239"}, "etcdDiskSizeGB": {"value": "128"}, "kubernetesHyperkubeSpec": {"value": "gcrio.azureedge.net/google_containers/hyperkube-amd64:v1.8.4"}}, "mode": "Incremental"}} -DEBUG: msrest.http_logger : Response status: 200 -DEBUG: msrest.http_logger : Response headers: -DEBUG: msrest.http_logger : 'Cache-Control': 'no-cache' -DEBUG: msrest.http_logger : 'Pragma': 'no-cache' -DEBUG: msrest.http_logger : 'Transfer-Encoding': 'chunked' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'Content-Encoding': 'gzip' -DEBUG: msrest.http_logger : 'Expires': '-1' -DEBUG: msrest.http_logger : 'Vary': 'Accept-Encoding' -DEBUG: msrest.http_logger : 'Azure-AsyncOperation': 'https://management.azure.com/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/operationStatuses/08586888101433128342?api-version=2017-05-10' -DEBUG: msrest.http_logger : 'x-ms-ratelimit-remaining-subscription-writes': '1197' -DEBUG: msrest.http_logger : 'x-ms-request-id': '475366a2-8ec0-42b6-9e89-56b79f3c1bad' -DEBUG: msrest.http_logger : 'x-ms-correlation-request-id': '475366a2-8ec0-42b6-9e89-56b79f3c1bad' -DEBUG: msrest.http_logger : 'x-ms-routing-request-id': 'NORTHCENTRALUS:20171209T051904Z:475366a2-8ec0-42b6-9e89-56b79f3c1bad' -DEBUG: msrest.http_logger : 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains' -DEBUG: msrest.http_logger : 'Date': 'Sat, 09 Dec 2017 05:19:03 GMT' -DEBUG: msrest.http_logger : Response content: -DEBUG: msrest.http_logger : b'{"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","name":"cluster1","properties":{"templateHash":"1092853438356612908","parameters":{"apiServerCertificate":{"type":"String","value":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUxmekNDQ1dlZ0F3SUJBZ0lSQUp6YUNEak9Lcmxwank2aDR1QzN3eUl3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qQTNNRFl4TkRJMldoY05NVGt4TWpBM01EWXhOREkyV2pBVQpNUkl3RUFZRFZRUURFd2xoY0dselpYSjJaWEl3Z2dJaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQ0R3QXdnZ0lLCkFvSUNBUUMzcHB6WC9LbmIyNVV6ZjZCN3hBNE9OQTNZNlVObnFSK01jYWRaRVA3OURHaGtVQWVJaVI3VW5ETmsKUHBlWStSb2JidHhnY2t3NlFlVzEvS3kvN1h4QlRUNzZ1UEpNazNGMFFkUnV0Qzl1SnFhOFNzTkpnYjZqVEZvbAoyUHFVRlNaQklWWVZtR0g1VDlIR05vMWRGR3FUeE5YaEVnaFFSYlQrWVhaSFlrbGUycDI1NEw2RmZjT1JrNHdVCkxWNFRubnZFMWNLRzhXNTBjRHRPRFZGcldySEpYR2Y0M3kzR2Z0L2RZMWZGU1IzNi9jSzlsbXhtdVM2T2lBZXYKNWxEWFBkQmlaZW8zcDIwVkZNUENrTWptNVc2dEtsRHYxSGc2RWtnUVk4aEhHa3REY0dwR2ZkWEVGbmtmY0QzSQo3V1FrM1RaZjMxNTZBQmNtWUpRTjM5QS8yT01IT0ZuYnlzRDNsVGhuY3dka0ZIdXQ3T3JycDI5bHpReHlJYzNuCmlmYTBvRlVySTZ0NjB0ZnY0cFZoNTk4a3ZNUm1oZGtUWndzakJLMndmNG9OTlNnS1M2T3RzSUV2eGs3di9ua0UKcDFLaGtvWXJWTTMyeFppUUFZMVdxZzgxVk9MbHZHTkxUSGFyVnBZMmF3VVhidTFWayt2SVIxVEVXQVBqTCtaVgpWQm16anN1MWVrMHZXY01hSnI1R0dCM3RvcS8ycXJnRzZIRnpwcHVGSk1NdnlwR1gyL1l2b3NuZUpDalZOMnUrCkpKM0NUTEU0ZE03RjcwQ20zNnduTS9YTWE0ZmtnQVUrNktXc0tNVU9TSVkrbUVOZzlBbXZYOHNIb0FtUys1aWEKcGRKbGFsVkluaTgwbnlOTzI1eGIyeFZpVGdpMFhrVmExaWlUYXc1c0NIQ1NiNW91b1FJREFRQUJvNElHMFRDQwpCczB3RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HQ0NzR0FRVUZCd01CTUF3R0ExVWRFd0VCCi93UUNNQUF3Z2dhV0JnTlZIUkVFZ2dhTk1JSUdpWUlsZEdWemRDNWhkWE4wY21Gc2FXRmxZWE4wTG1Oc2IzVmsKWVhCd0xtRjZkWEpsTG1OdmJZSXFkR1Z6ZEM1aGRYTjBjbUZzYVdGemIzVjBhR1ZoYzNRdVkyeHZkV1JoY0hBdQpZWHAxY21VdVkyOXRnaU4wWlhOMExtSnlZWHBwYkhOdmRYUm9MbU5zYjNWa1lYQndMbUY2ZFhKbExtTnZiWUlsCmRHVnpkQzVqWVc1aFpHRmpaVzUwY21Gc0xtTnNiM1ZrWVhCd0xtRjZkWEpsTG1OdmJZSWlkR1Z6ZEM1allXNWgKWkdGbFlYTjBMbU5zYjNWa1lYQndMbUY2ZFhKbExtTnZiWUlrZEdWemRDNWpaVzUwY21Gc2FXNWthV0V1WTJ4dgpkV1JoY0hBdVlYcDFjbVV1WTI5dGdpRjBaWE4wTG1ObGJuUnlZV3gxY3k1amJHOTFaR0Z3Y0M1aGVuVnlaUzVqCmIyMkNKWFJsYzNRdVkyVnVkSEpoYkhWelpYVmhjQzVqYkc5MVpHRndjQzVoZW5WeVpTNWpiMjJDS0hSbGMzUXUKWTJocGJtRmxZWE4wTG1Oc2IzVmtZWEJ3TG1Ob2FXNWhZMnh2ZFdSaGNHa3VZMjZDS1hSbGMzUXVZMmhwYm1GdQpiM0owYUM1amJHOTFaR0Z3Y0M1amFHbHVZV05zYjNWa1lYQnBMbU51Z2lCMFpYTjBMbVZoYzNSaGMybGhMbU5zCmIzVmtZWEJ3TG1GNmRYSmxMbU52YllJZWRHVnpkQzVsWVhOMGRYTXVZMnh2ZFdSaGNIQXVZWHAxY21VdVkyOXQKZ2g5MFpYTjBMbVZoYzNSMWN6SXVZMnh2ZFdSaGNIQXVZWHAxY21VdVkyOXRnaU4wWlhOMExtVmhjM1IxY3pKbApkV0Z3TG1Oc2IzVmtZWEJ3TG1GNmRYSmxMbU52YllJaGRHVnpkQzVxWVhCaGJtVmhjM1F1WTJ4dmRXUmhjSEF1CllYcDFjbVV1WTI5dGdpRjBaWE4wTG1waGNHRnVkMlZ6ZEM1amJHOTFaR0Z3Y0M1aGVuVnlaUzVqYjIyQ0pIUmwKYzNRdWEyOXlaV0ZqWlc1MGNtRnNMbU5zYjNWa1lYQndMbUY2ZFhKbExtTnZiWUlpZEdWemRDNXJiM0psWVhOdgpkWFJvTG1Oc2IzVmtZWEJ3TG1GNmRYSmxMbU52YllJbWRHVnpkQzV1YjNKMGFHTmxiblJ5WVd4MWN5NWpiRzkxClpHRndjQzVoZW5WeVpTNWpiMjJDSTNSbGMzUXVibTl5ZEdobGRYSnZjR1V1WTJ4dmRXUmhjSEF1WVhwMWNtVXUKWTI5dGdpWjBaWE4wTG5OdmRYUm9ZMlZ1ZEhKaGJIVnpMbU5zYjNWa1lYQndMbUY2ZFhKbExtTnZiWUlsZEdWegpkQzV6YjNWMGFHVmhjM1JoYzJsaExtTnNiM1ZrWVhCd0xtRjZkWEpsTG1OdmJZSWlkR1Z6ZEM1emIzVjBhR2x1ClpHbGhMbU5zYjNWa1lYQndMbUY2ZFhKbExtTnZiWUlmZEdWemRDNTFhM052ZFhSb0xtTnNiM1ZrWVhCd0xtRjYKZFhKbExtTnZiWUllZEdWemRDNTFhM2RsYzNRdVkyeHZkV1JoY0hBdVlYcDFjbVV1WTI5dGdpVjBaWE4wTG5kbApjM1JqWlc1MGNtRnNkWE11WTJ4dmRXUmhjSEF1WVhwMWNtVXVZMjl0Z2lKMFpYTjBMbmRsYzNSbGRYSnZjR1V1ClkyeHZkV1JoY0hBdVlYcDFjbVV1WTI5dGdpRjBaWE4wTG5kbGMzUnBibVJwWVM1amJHOTFaR0Z3Y0M1aGVuVnkKWlM1amIyMkNIblJsYzNRdWQyVnpkSFZ6TG1Oc2IzVmtZWEJ3TG1GNmRYSmxMbU52YllJZmRHVnpkQzUzWlhOMApkWE15TG1Oc2IzVmtZWEJ3TG1GNmRYSmxMbU52YllJb2RHVnpkQzVqYUdsdVlXVmhjM1F1WTJ4dmRXUmhjSEF1ClkyaHBibUZqYkc5MVpHRndhUzVqYm9JcGRHVnpkQzVqYUdsdVlXNXZjblJvTG1Oc2IzVmtZWEJ3TG1Ob2FXNWgKWTJ4dmRXUmhjR2t1WTI2Q0xuUmxjM1F1WjJWeWJXRnVlV05sYm5SeVlXd3VZMnh2ZFdSaGNIQXViV2xqY205egpiMlowWVhwMWNtVXVaR1dDTUhSbGMzUXVaMlZ5YldGdWVXNXZjblJvWldGemRDNWpiRzkxWkdGd2NDNXRhV055CmIzTnZablJoZW5WeVpTNWtaWUl0ZEdWemRDNTFjMmR2ZG5acGNtZHBibWxoTG1Oc2IzVmtZWEJ3TG5WeloyOTIKWTJ4dmRXUmhjR2t1Ym1WMGdpbDBaWE4wTG5WeloyOTJhVzkzWVM1amJHOTFaR0Z3Y0M1MWMyZHZkbU5zYjNWawpZWEJwTG01bGRJSXNkR1Z6ZEM1MWMyZHZkbUZ5YVhwdmJtRXVZMnh2ZFdSaGNIQXVkWE5uYjNaamJHOTFaR0Z3CmFTNXVaWFNDS25SbGMzUXVkWE5uYjNaMFpYaGhjeTVqYkc5MVpHRndjQzUxYzJkdmRtTnNiM1ZrWVhCcExtNWwKZElJS2EzVmlaWEp1WlhSbGM0SVNhM1ZpWlhKdVpYUmxjeTVrWldaaGRXeDBnaFpyZFdKbGNtNWxkR1Z6TG1SbApabUYxYkhRdWMzWmpnaVJyZFdKbGNtNWxkR1Z6TG1SbFptRjFiSFF1YzNaakxtTnNkWE4wWlhJdWJHOWpZV3lDCkZtdDFZbVZ5Ym1WMFpYTXVhM1ZpWlMxemVYTjBaVzJDR210MVltVnlibVYwWlhNdWEzVmlaUzF6ZVhOMFpXMHUKYzNaamdpaHJkV0psY201bGRHVnpMbXQxWW1VdGMzbHpkR1Z0TG5OMll5NWpiSFZ6ZEdWeUxteHZZMkZzaHdRSwo3Ly92aHdRSzcvLzVod1FLQUFBQk1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQ0FRQ3l0Z1kwUDZ4WU1razBkTFRuCnFaL3QyMVZFWWF0UlBLYVhtOFp3ZDRUUkVnT1BMaG4xR2dJS1BtaTBtTVNtdmhZWGdhYXdqcWpEOXZpRXRWdHIKTGt2VXlyNXpQbGFFbWRFc1FQSStQaEFhM29ISmN5dTh5RzI5SnRjZ0haZHNCc3RNUldHMnBSeC84QlViRW5lVwp2NXZieUZYOUk1bW43NDZwUTRZbmJDdDUyZ3pBeUJ2RFk1Y29XZ2JxOHJBdGlDWVhZckVoM1dEejhRQnRPdFdRCkhLZzB5UGpnems1RktWcVlwUjBUZUc1Z1dEN0FWenVvQWxyY1NFRzI4cE9xRzBRYjlZVmczQnlqT0NtelF6dFUKT1p1Y0dvbDZHbVJLSm5lTVZMVjZSZVFJcW5OWWwwUzZ3dE9UTDcxUkRwbWxPTHkwMTh3UUVuTnV2T1MxaEs4MwpwNHNxWDlsMjFEMnFqVUZNN0o4QnJUNUZySWZGcjF3ajFIREhSVm9LZi83cm5Ec2JXaXcxbzFuTnJLQmMxUm9CCnNyK3NhQzVPdFpaZUFpdGdybUtFR2NZeVk5RVhkRDZ0dEpySjFxZlJaR0d1QXRBd01zeFhrMVpFVlA4dlhHSnAKWFlmbm5VRkV0QWNRSVhzTG83Vktvb3VyclZCZHlvWTJHczlCemRzNFM0bVREU0FwVmJXb1NMdG5VdmNEYlVHMwpBWm5DRlJlcXBsVlhIV0hYUnZIUXJmWGVpZk1WNW9vMWlIOFpBVWEvVTlHL1kvVS9iL1VmVm44MDZxbE1qejFDCkVLVlc4QmJ6MGRZcndwdkJ1VFZvNGJDbEs4bW50a2Ftc0luUnp4VFpnYUkzMGVlVm9CVDVDd3dYTlZ3TFN5K1AKQ1habVREZWpBMjliVW1DMVdPQzNwMUNMblE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg=="},"apiServerPrivateKey":{"type":"SecureString"},"caCertificate":{"type":"String","value":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV4ekNDQXErZ0F3SUJBZ0lRR0t2ZWNwa2ZBTllQWkExZURncHhmVEFOQmdrcWhraUc5dzBCQVFzRkFEQU4KTVFzd0NRWURWUVFERXdKallUQWVGdzB4TnpFeU1EY3dOakUwTWpCYUZ3MHhPVEV5TURjd05qRTBNakJhTUEweApDekFKQmdOVkJBTVRBbU5oTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUF2d3YrCmlpSHJnaWw3UzNURE52aEYzcjZwN1M2ZGtoejZKNURsZUJFcXYwUWU0cTJnVjY0VTFuRVd4WVlmalRCT0ZKZUkKM3R2MHFsdDlkMCtlaUM2djRTaTliR1NTYlp6S21MUVNBYU92TU1Jbmh3SkhGakNpUk8rYzJyMDNwY3N1ak1nRgowelJGY0w1NGRGdkxFZExmc1g1WEt0UVprRlNJVjQ5SGJ4ckQ1R00vUFpoY2N2bUdnTmMrTUhXbUhibW5tWWVECndhQ2EwVjhncjFYWlMrN0g4ZUp1SHFVRExtUjZPSnQ4Y0hycDVxRHF2MkZmcjJSNUVxV09raEs0OHFnOUQzZ2IKS0VPZkFlSG9oSmxvZFNSWERLTkhxVkZRUzhSQXNjQm9uM2xoYVFrSXUwQ3ExY0VIeGRsN1ZzbitROUZlOFQ5TAp2djJRYXgrbFFLYTlVeGUzVGxuRFRkdnlreW5BbTgyOXFHdWNwYXVaajNadGpOTWpVS2RBTXJkeHJxdERNR29XCnI1enJYUGc2OGJlS0gwZEJmK0dadVpVOUJsSTNFNkl4L2duNk9FTnNGYy8zdlhBSWUvOWF2MWFTODB6LzdpNUsKLzdqckJvYW1uZWhza3NMZlFJNFhKLzVoOFdhd1VFYUt3SGxnSzYzaXVEV2xHQlBDR01GQzFHc1RpeWRIL2N6RQpkYXF2NmJFa0tybDZGMjVqeW5pL0FTZnVncHJIZXdCYkRacFpJcVV3N0p4bkY4cFZEYkRxTVBhUkt5blNRM0Y5Ck9QOEVSajlEQXBTTlhxZHlCdmdEU0huM1c3QkQ0TkhhUXdPZElMckZvaDFNRzZQZElGZ0IvZ3k2TmJZWmhwZlMKSEtzNWExTVlsZitvSklEc1AveHVILzBVTWdoVzhUbUI0ZHNXZW1NQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFILwpCQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFBbklqZ3laCmJKM0lkbDZyUW11L3FaelYwd0tiN295ZDRYcDZPQUVyMUZWV0R5N0hsKzVsamowWlgxQlZnV2hlRm9yQ3A3cEwKTUNmSndXVjhiVDMzUFowazRPS3BvdTNNVEpidEgvV1ZmT3ZGKzVma05KSExyR3B1N2VrRkYrNXpsVzVGbzNFQgpJRFlMUEN6dmpFVmVQeElUc1pRaEZaWDdGczd2STF1R3FtUU8xSWx4MVgyR3NodHhmdHpmbkpGeDgrZGFQMVdyCjA4bWc2UW9qSmFnTHNwUzFDSnNQTTVGOUdEcUlvdXY3bTQ4L2J1KzRTYkxiZ0xpMzlEMktKWTNpZnQvZlo4czQKRW5aR3dJTXNKSGNuNURCZllLemlQbklCcWpzNjhVNnJQZHV1cXlwYXprUXYyTzJLOWEyMGlFelhIdEJETlk3UgpLdWRWOFBWRlhBcGdNMnJvTXIrdTFVdXY5SzloNzU0RzVRbk93Tno5WXpDb2s2UmQ1VEptVitqSkhvVVU0Mlp1CkFET1dMRUhHN0xzeUkrKzZuVFM4M0srRmVoazkrT3I2V25mend1bDVKSThoZW9FWUNrVHViYXVOdUtsejBPcVMKcDVNdXV5S0lVTk1QSnlyOEtFdHBFVmdUaW5sZDlUZVJDRXd0MmJycjZhUE16cDFKNVZsdzNDVGZOaFA4N3YvSQpQN2FoWVpTVVFVTzhUUU84ME5LS09MV2FJZVBpbEhTeC9TdlBoZmRET1RRM2VoUzRYcTB1T0M5SWo5d1lqRFd0CnByUGQybi90dTE4WHRmRjJkay9aT3RURUNRYWYzWmNjUlZ6UnJZcXI5OEVrMHNwa05RVmtjZFBxTnZ6SzFsaXkKTThiR2d2Rm5iQ1Z5QkJKbFkrc2szdHhsUGptU1d1UWJLa2wrCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K"},"caPrivateKey":{"type":"SecureString"},"clientCertificate":{"type":"String","value":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUl5OEViR0d0aGtFMWtCbkdHcjd5UTh3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qQTNNRFl4TkRJMldoY05NVGt4TWpBM01EWXhOREkyV2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQTVRZlNlVklOcWprZlRhMGo5MCszczRKWW80aHgKalhvbG1CRFl0akIxMTBxY0JENHA5akZRc1A0YkhMYzVzeEszNlVhdTVqSlI2RzlRWDFPZGVUMStPM2laSzIwZAphcnhYRU1TbWZXUGlqTTloQUxrd2FlNVBsTSsvWXFDbDdMVUdrYWNqY2tqeTg3SkdDcXRLc2VKNEErR25oVGZQCmdoTi9zZTU2eEdGajJXa0h4SW51YVdINXA3dDdQRzNuWTBQNnlFZ1pxZEd5MWpsT010YjZuVkZ1M05PSHZiYm4KdE9qRWEvZnZKSE5RdFpIOXJUclhybFhUck52a1RQeHNqQmVESUx5ckdrU25yL055WGlXTG1mUFZDR2dVVkprWApIZ2tYMmxwK28vRTVWOEJ6STdvZ0g3dUZhK3Zlb3JvRzg4cDM2UkRuNWNmZkVoNElSY1g4ZVZuVXk3V3hGb0ZYCjhnM2JGb3FTc2YrWnA5WVRseWd5WEp5aGk4S1ZGSytGRGhudlFPVG1yOExzNENReWFNNHN0eUtzK3l5RDhNbGoKTHd1L2xydGNQd0tySVdoMnRBcGl3TEZ5YzBRd3hnQjZ0bStBOGNtbzYzMlBNTjk0NzhEZWpNZ2JsWk5vUzkzVgo4UTlTWjVaUm80bjU5dVlJdFZVK0psVmE4dk9oQWFiRjFMMVVkdm5xQWhubkRWd0ttYjN5eG9SSTExOEFKWHRmCkJxM1pkOUJEVEl0b0pNaytTeEp3alRtblV1Q0VOQjVrbXlwd0xoMFlBUEd6clBlOGJWc1N3akI1RFY4ckowOXYKdDJ0Q2hSZDVDeE92dlphWmt4bDFncng4R01TMDdUMnEwODIwRFdZaFpESFhaV2g2WWVTTXpleEg5YW56QkQxcwpZTlN0R1NZZVJ5MVRQUU1DQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUVCM3hnRmIKcXF0THFjZVZnRWN3TUdCVHRSWjI3bXBBaG5QZGpMN3NxT3pCNURsOENYNWhjSGVBd2pMVk01NmFpbXNSWUlzbgoxUnQ1cUpjUTlxZlZsNnRZdHNoaEJvMHlPMzkxemFWOUwwLy9jTExkZUJFM2MvaEhnWXVtYllIaEhVaU9EN3lqClZyZHVGak9YZFkzQ2Vsb0hIVlNaTkw0aDBxNkR6b1QzR21PdUp5WGxCb3Rhbm90NnBsWTIwYklpTGl1b0dmdTMKM1hVQlV6SVE5eVlmd2M2TGFxREptckxzeGgvYVVzNjYwR3AxajlWRkpwMFF5SzBZUHRMUHVnQzR3SVRmUjBTawprYU9POVRsdkwzR3VXbmpDVGw2T012R3ZnN0V4eXYwUm1RU3Jsak9jbnZNeXdENnJTNkprTVhqQWdWeUxWdGRiCnBEckpnRmRaZzh1Q3p3RGdZOTd4b0NPbFN0NHptZzlyS0sxSjhzWGtHUnRQYlRySWZUR0ROdXVOT0ZBNUlzWC8Kd3gzalVEa0dqMVAzRkxBVy9DNC9IQ0xuSDR1eHhwSG4vU2FlWGp3ajE2QlBjRkdHb1lrYWJ2aHBjWjRqY2p6NQpUWFo1eTBOUkVZQXRmcVlZajkzTlBRNEE5S1AvRFN6cHVaVHVEb25vb3M1TUg2ZUhxaFloVCtLV3pCQjJlZ0JBCkZha1pvRSt2YmlibUw5RjltdWJXNTFhM1JqSVZVWE9JMVA3SDRVUlMwUGJWZ2dUR0FvMHBpNG5KOG9tNEpBbG4KTnFIMmtGS3VxcGt4N3NGVXNzaDVDdEJqR005dGV5M2J0ZjZGY005a3BpN1BSU3BuY3R4d25MRVZGU09oQzR1ZQpPRlhQMVM4VnQxdVBPaGF1cVlhOU42U2tVK0xKOHpuN0U3aUgKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo="},"clientPrivateKey":{"type":"SecureString"},"cloudProviderBackoff":{"type":"String","value":""},"cloudProviderBackoffDuration":{"type":"String","value":""},"cloudProviderBackoffExponent":{"type":"String","value":""},"cloudProviderBackoffJitter":{"type":"String","value":""},"cloudProviderBackoffRetries":{"type":"String","value":""},"cloudProviderRatelimit":{"type":"String","value":""},"cloudProviderRatelimitBucket":{"type":"String","value":""},"cloudProviderRatelimitQPS":{"type":"String","value":""},"cniPluginsURL":{"type":"String","value":"https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-latest.tgz"},"dockerBridgeCidr":{"type":"String","value":""},"dockerEngineDownloadRepo":{"type":"String","value":"https://aptdocker.azureedge.net/repo"},"etcdDiskSizeGB":{"type":"String","value":"128"},"etcdDownloadURLBase":{"type":"String","value":""},"etcdVersion":{"type":"String","value":""},"firstConsecutiveStaticIP":{"type":"String","value":"10.3.0.239"},"fqdnEndpointSuffix":{"type":"String","value":"cloudapp.azure.com"},"gcHighThreshold":{"type":"Int","value":85},"gcLowThreshold":{"type":"Int","value":80},"generatorCode":{"type":"String","value":""},"kubeClusterCidr":{"type":"String","value":""},"kubeConfigCertificate":{"type":"String","value":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUU5ekNDQXQrZ0F3SUJBZ0lSQUxFTDVoWWtpdm5EUzhSYlR3WlZFNmN3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTVRjeE1qQTNNRFl4TkRJMldoY05NVGt4TWpBM01EWXhOREkyV2pBcQpNUmN3RlFZRFZRUUtFdzV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVBNQTBHQTFVRUF4TUdZMnhwWlc1ME1JSUNJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUNDZ0tDQWdFQXNIWmhpMXMzSUFNWmorZGxwbjhvVnJFamZNSHcKV1g5RWxzZzdBZDl5c25vbVV4SDhoN1B3ejg3SEhLQnZFbkhlSTJYTlZCZGNkK0Y0RDFKUWVwMCt6d2VBanJhRApCdWY4NUNhay9HWmZpNVhIRGpmU1hybG5KamRFbXNFMzZTOG15a3UvYk1rdTlVbTRRZjEwb09JR1ltZzFJMk5lCncxNk1GZzN1OHRjMmdpRm5GQjJ6QjZKbjlhWDhMZGoxSkpoazd5NUJUSUJBR1A0Z1d6a01aM2RXVmlRb3NadkEKMndOZVdJMDBmUWN4RW5tNUkyWjM5QmhERXo1L0Q4YjMvc3dJdzRBaDhPeWN4VGJSM2VUR2hVMjJXcjRJam1Vcwowb2VrT29Wc3E5bSt1b0toWU9ROEpzSWRaazJrelZmMzk4SU1pVzFRVmxBQUsybGxkb2RkNUFIUnNrUmM2MUg5Ck5Tdy9XRFVuaGNaVkxlOGhYSlVySFI3T3Y5TnhKd3ViSVFuQ043T1p5QWZIY2w1VWFDeUdxY2MzQ0M5WjVLbUIKNFcrSnZlUEQ3REx5NG94bUhPM3dXQzg0eE4wTDc4RGtWWHhaQ3d1blMycUs5L3dVcHBwZUlTNTloS2pFTW1VUgo4d1pMdExveFBqREpDaUswM3lPM1pNK3hMMVMwR2JZRys5dkQ2UkF4TU9KWVZBUHF2QUZSN1d2cTVISXN1dmRyCjE3MCtOMFBhRHJsRGovRmVMKzNPSW5uQTZLcldDN3lzSEFFY2FyS3Z2eVl4NlladFpqQmdFK0dFWjlCWndiaFkKTURiK2ltN3FEUm9QRDJvbmVXTFVwVGYxcnBqajBWRzNMYjNDTVQ2czU4MUNWV05uR2hjVDByd0lzam1lMmVnOAoxRHlxZGg5RGxzZkd5VDBDQXdFQUFhTTFNRE13RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQ01Bd0dBMVVkRXdFQi93UUNNQUF3RFFZSktvWklodmNOQVFFTEJRQURnZ0lCQUxHdkRRdlcKdHVKelljZHJKRWw5dWNwSGZMUklrdWRYaVAyZzA1SWFtT2VBVnoycEZ1NTIyS05WVmdBM21HRWdxREtxa1Y1Vgpna0RzSk9MK3QvWFp2aDdob2ZPMkN4MThvTkNGS0EzVHNhaDB1SVRWS3QyaFhjaEhjbWFSamF3OFdoY0F4ZUcvCmxoWkJLTVlSL0xvazMrdmRRNGhEdFhwMWJTSnRESG9teWtNalV6UWNiVkIwSGxZdzJJajdEanhVVEJzdmcxTjYKTDQ1eTRpaWJvWnNkRXRRdDdOZkM2dTV4SEVCVjFxRlVQc0pKdFV3eTlEOUtJK3FSd1o2T0FOeGpqbENSZWliYwpseUE1TDNzUlhOYlJIbVhEbUswRFA1L0w3Q0VnOXZjbXoyazlaN3V4ejUzajE2V1Z3MEwrSElZaEFyUjJDNzdGCnVveWZ0amROOUFSQnppTUU5T3E5UzljRWxBa21IeGRzN3BpNWtNMm9qSXdYaEJCYjliQSsvQW9FYkw3dTI2TnkKR1NpNExuQ3FwcjRqOWY1eThtMzJudlhCV3RHUndpYTBpVVdTQWoxK3V1Q09GQWFBcG5KSnlPaTZkc2UvaG1MRwpIWkhNcGwvcTNRc1BEQXRuYU5IaFJSQk1KU01ubmJxTFlhcmRBOFVtTmZXUUthT2p1Q05ycFJLQ1h3ZzZMTzB6CjZBcWduZnRzV1hJZC9aQ3d4clFnd3FqaWRZeXo3Q3NaS3Z0NXg4WlB1c2hlcUFrREhBYlpSN0pzZENHVGU4NEsKQzF2T2hLeERVQjdMOW9DcmR3VWtjN1FPZVBIVXUvMm9YNFptdWtoa1BPTTZrVEpxR1V4MDBpWHFSbndBZEIvUgpVamdQN0F4NmdzRlIyS1RpVDlZTGxTYjlMQjBGSXlCb0xkUzMKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo="},"kubeConfigPrivateKey":{"type":"SecureString"},"kubeDNSServiceIP":{"type":"String","value":""},"kubeServiceCidr":{"type":"String","value":""},"kubernetesACIConnectorCPULimit":{"type":"String","value":""},"kubernetesACIConnectorCPURequests":{"type":"String","value":""},"kubernetesACIConnectorClientId":{"type":"String","value":""},"kubernetesACIConnectorClientKey":{"type":"String","value":""},"kubernetesACIConnectorMemoryLimit":{"type":"String","value":""},"kubernetesACIConnectorMemoryRequests":{"type":"String","value":""},"kubernetesACIConnectorRegion":{"type":"String","value":""},"kubernetesACIConnectorResourceGroup":{"type":"String","value":""},"kubernetesACIConnectorSpec":{"type":"String","value":""},"kubernetesACIConnectorSubscriptionId":{"type":"String","value":""},"kubernetesACIConnectorTenantId":{"type":"String","value":""},"kubernetesAddonManagerSpec":{"type":"String","value":""},"kubernetesAddonResizerSpec":{"type":"String","value":""},"kubernetesCcmImageSpec":{"type":"String","value":""},"kubernetesCtrlMgrNodeMonitorGracePeriod":{"type":"String","value":""},"kubernetesCtrlMgrPodEvictionTimeout":{"type":"String","value":""},"kubernetesCtrlMgrRouteReconciliationPeriod":{"type":"String","value":""},"kubernetesDNSMasqSpec":{"type":"String","value":""},"kubernetesDashboardCPULimit":{"type":"String","value":""},"kubernetesDashboardCPURequests":{"type":"String","value":""},"kubernetesDashboardMemoryLimit":{"type":"String","value":""},"kubernetesDashboardMemoryRequests":{"type":"String","value":""},"kubernetesDashboardSpec":{"type":"String","value":""},"kubernetesExecHealthzSpec":{"type":"String","value":""},"kubernetesHardEvictionThreshold":{"type":"String","value":""},"kubernetesHeapsterSpec":{"type":"String","value":""},"kubernetesHyperkubeSpec":{"type":"String","value":"gcrio.azureedge.net/google_containers/hyperkube-amd64:v1.8.4"},"kubernetesKubeDNSSpec":{"type":"String","value":""},"kubernetesNodeStatusUpdateFrequency":{"type":"String","value":""},"kubernetesNonMasqueradeCidr":{"type":"String","value":"10.0.0.0/8"},"kubernetesPodInfraContainerSpec":{"type":"String","value":""},"kubernetesReschedulerCPULimit":{"type":"String","value":""},"kubernetesReschedulerCPURequests":{"type":"String","value":""},"kubernetesReschedulerMemoryLimit":{"type":"String","value":""},"kubernetesReschedulerMemoryRequests":{"type":"String","value":""},"kubernetesReschedulerSpec":{"type":"String","value":""},"kubernetesTillerCPULimit":{"type":"String","value":""},"kubernetesTillerCPURequests":{"type":"String","value":""},"kubernetesTillerMemoryLimit":{"type":"String","value":""},"kubernetesTillerMemoryRequests":{"type":"String","value":""},"kubernetesTillerSpec":{"type":"String","value":""},"linuxAdminUsername":{"type":"String","value":"azureuser"},"linuxagentCount":{"type":"Int","value":2},"linuxagentOffset":{"type":"Int","value":0},"linuxagentVMSize":{"type":"String","value":"Standard_D2_v2"},"linuxagentVnetSubnetID":{"type":"String","value":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet"},"linuxagentosImageOffer":{"type":"String","value":"UbuntuServer"},"linuxagentosImagePublisher":{"type":"String","value":"Canonical"},"linuxagentosImageSKU":{"type":"String","value":"16.04-LTS"},"linuxagentosImageVersion":{"type":"String","value":"16.04.201711211"},"location":{"type":"String","value":""},"masterEndpointDNSNamePrefix":{"type":"String","value":"fabricnlp9"},"masterOffset":{"type":"Int","value":0},"masterVMSize":{"type":"String","value":"Standard_D2_v2"},"masterVnetSubnetID":{"type":"String","value":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet"},"maxPods":{"type":"Int","value":110},"nameSuffix":{"type":"String","value":"25033075"},"networkPolicy":{"type":"String","value":"none"},"orchestratorName":{"type":"String","value":"k8s"},"osImageOffer":{"type":"String","value":"UbuntuServer"},"osImagePublisher":{"type":"String","value":"Canonical"},"osImageSKU":{"type":"String","value":"16.04-LTS"},"osImageVersion":{"type":"String","value":"16.04.201711211"},"servicePrincipalClientId":{"type":"SecureString"},"servicePrincipalClientSecret":{"type":"SecureString"},"sshRSAPublicKey":{"type":"String","value":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDQEvG8bij5/eXWZFiU9KA9DpC980e/UgoMSij7nq+8M5ODBv/G8Bd3dssMNSj0RQKbyNiPz4EngFG62coGXK3ogJZEl/ABDDJAFEPB5J4BK8VCaVcmJpfPYVXd+DLv3A5Pk95SlgPeb1vbZnoOhy8F2rfjZBRCnsF2jN6Agk96c7JsGLamAaE2iU/+Wz/Z+x2nrV+Py+IVa2XKU/veqkY6/yDBQdO/BdXl8afdMHdqhjYwd7cp0Mec9r9iYmXKy8meUr125lMiayXIqeoU9qfcgnBlIcYkJtZjQd1F58o9KgHZXkkdEUqRyuiCgnJtNgY9xNu/Bgz2naiEU6NuKzKr azureuser@linuxvm"},"targetEnvironment":{"type":"String","value":"AzurePublicCloud"},"vnetCidr":{"type":"String","value":"10.0.0.0/8"},"vnetCniLinuxPluginsURL":{"type":"String","value":"https://acs-mirror.azureedge.net/cni/azure-vnet-cni-linux-amd64-latest.tgz"},"vnetCniWindowsPluginsURL":{"type":"String","value":"https://acs-mirror.azureedge.net/cni/azure-vnet-cni-windows-amd64-latest.zip"}},"mode":"Incremental","provisioningState":"Accepted","timestamp":"2017-12-09T05:19:03.0655586Z","duration":"PT0.9005904S","correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","providers":[{"namespace":"Microsoft.Compute","resourceTypes":[{"resourceType":"availabilitySets","locations":["eastus"]},{"resourceType":"virtualMachines","locations":["eastus"]},{"resourceType":"virtualMachines/extensions","locations":["eastus"]}]},{"namespace":"Microsoft.Network","resourceTypes":[{"resourceType":"networkSecurityGroups","locations":["eastus"]},{"resourceType":"routeTables","locations":["eastus"]},{"resourceType":"loadBalancers","locations":["eastus"]},{"resourceType":"publicIPAddresses","locations":["eastus"]},{"resourceType":"networkInterfaces","locations":["eastus"]},{"resourceType":"loadBalancers/inboundNatRules","locations":["eastus"]}]}],"dependencies":[{"dependsOn":[{"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":"Microsoft.Network/publicIPAddresses","resourceName":"k8s-master-ip-fabricnlp9-25033075"}],"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":"Microsoft.Network/loadBalancers","resourceName":"k8s-master-lb-25033075"},{"dependsOn":[{"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":"Microsoft.Network/networkSecurityGroups","resourceName":"k8s-master-25033075-nsg"}],"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"k8s-linuxagent-25033075-nic-0"},{"dependsOn":[{"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":"Microsoft.Network/networkSecurityGroups","resourceName":"k8s-master-25033075-nsg"}],"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"k8s-linuxagent-25033075-nic-1"},{"dependsOn":[{"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"k8s-linuxagent-25033075-nic-0"},{"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":"Microsoft.Compute/availabilitySets","resourceName":"linuxagent-availabilitySet-25033075"}],"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":"Microsoft.Compute/virtualMachines","resourceName":"k8s-linuxagent-25033075-0"},{"dependsOn":[{"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"k8s-linuxagent-25033075-nic-1"},{"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":"Microsoft.Compute/availabilitySets","resourceName":"linuxagent-availabilitySet-25033075"}],"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":"Microsoft.Compute/virtualMachines","resourceName":"k8s-linuxagent-25033075-1"},{"dependsOn":[{"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":"Microsoft.Compute/virtualMachines","resourceName":"k8s-linuxagent-25033075-0"}],"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0","resourceType":"Microsoft.Compute/virtualMachines/extensions","resourceName":"k8s-linuxagent-25033075-0/cse0"},{"dependsOn":[{"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":"Microsoft.Compute/virtualMachines","resourceName":"k8s-linuxagent-25033075-1"}],"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1","resourceType":"Microsoft.Compute/virtualMachines/extensions","resourceName":"k8s-linuxagent-25033075-1/cse1"},{"dependsOn":[{"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":"Microsoft.Network/loadBalancers","resourceName":"k8s-master-lb-25033075"}],"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":"Microsoft.Network/loadBalancers/inboundNatRules","resourceName":"k8s-master-lb-25033075/SSH-k8s-master-25033075-0"},{"dependsOn":[{"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":"Microsoft.Network/networkSecurityGroups","resourceName":"k8s-master-25033075-nsg"},{"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":"Microsoft.Network/loadBalancers/inboundNatRules","resourceName":"k8s-master-lb-25033075/SSH-k8s-master-25033075-0"}],"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"k8s-master-25033075-nic-0"},{"dependsOn":[{"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"k8s-master-25033075-nic-0"},{"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":"Microsoft.Compute/availabilitySets","resourceName":"master-availabilityset-25033075"}],"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":"Microsoft.Compute/virtualMachines","resourceName":"k8s-master-25033075-0"},{"dependsOn":[{"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":"Microsoft.Compute/virtualMachines","resourceName":"k8s-master-25033075-0"}],"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":"Microsoft.Compute/virtualMachines/extensions","resourceName":"k8s-master-25033075-0/cse0"}]}}' -DEBUG: Getting management service client client_type=MonitorManagementClient -DEBUG: adal-python : 35776b91-7192-436c-a472-872469630637 - Authority:Performing instance discovery: https://login.microsoftonline.com/52807a8b-794c-4c07-825f-578847e1257e -DEBUG: adal-python : 35776b91-7192-436c-a472-872469630637 - Authority:Performing static instance discovery -DEBUG: adal-python : 35776b91-7192-436c-a472-872469630637 - Authority:Authority validated via static instance discovery -INFO: adal-python : 35776b91-7192-436c-a472-872469630637 - TokenRequest:Getting token from cache with refresh if necessary. -DEBUG: adal-python : 35776b91-7192-436c-a472-872469630637 - OAuth2Client:finding with query: {"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 35776b91-7192-436c-a472-872469630637 - OAuth2Client:Looking for potential cache entries: -DEBUG: adal-python : 35776b91-7192-436c-a472-872469630637 - OAuth2Client:{"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 35776b91-7192-436c-a472-872469630637 - OAuth2Client:Found 4 potential entries. -DEBUG: adal-python : 35776b91-7192-436c-a472-872469630637 - OAuth2Client:Resource specific token found. -DEBUG: adal-python : 35776b91-7192-436c-a472-872469630637 - OAuth2Client:Returning token from cache lookup, AccessTokenId: b'kslIbWka8YbxRUy8vLy6JNH7izY8GoVPIpyFsPticn4=', RefreshTokenId: b'ZKVr4cTgxa0EDZ2Kgqem4UHxIsbWBdRNnpWnblHwFnE=' -DEBUG: msrest.pipeline : Configuring request: timeout=100, verify=True, cert=None -DEBUG: msrest.pipeline : Configuring redirects: allow=True, max=30 -DEBUG: msrest.pipeline : Configuring proxies: '' -DEBUG: msrest.pipeline : Evaluate proxies against ENV settings: True -DEBUG: msrest.pipeline : Configuring retry: max_retries=4, backoff_factor=0.8, max_backoff=90 -DEBUG: urllib3.connectionpool : Starting new HTTPS connection (1): management.azure.com -DEBUG: urllib3.connectionpool : https://management.azure.com:443 "GET /subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A19%3A14Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27 HTTP/1.1" 200 None -DEBUG: msrest.http_logger : Request URL: 'https://management.azure.com/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A19%3A14Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27' -DEBUG: msrest.http_logger : Request method: 'GET' -DEBUG: msrest.http_logger : Request headers: -DEBUG: msrest.http_logger : 'User-Agent': 'python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.19 msrest_azure/0.4.17 monitormanagementclient/0.4.0 Azure-SDK-For-Python AZURECLI/2.0.22' -DEBUG: msrest.http_logger : 'Accept-Encoding': 'gzip, deflate' -DEBUG: msrest.http_logger : 'Accept': 'application/json' -DEBUG: msrest.http_logger : 'Connection': 'keep-alive' -DEBUG: msrest.http_logger : 'Authorization': '*****' -DEBUG: msrest.http_logger : 'x-ms-client-request-id': '7538e6de-dca0-11e7-b921-e4b3187aa3c2' -DEBUG: msrest.http_logger : 'CommandName': 'group deployment create' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'accept-language': 'en-US' -DEBUG: msrest.http_logger : Request body: -DEBUG: msrest.http_logger : None -DEBUG: msrest.http_logger : Response status: 200 -DEBUG: msrest.http_logger : Response headers: -DEBUG: msrest.http_logger : 'Cache-Control': 'no-cache' -DEBUG: msrest.http_logger : 'Pragma': 'no-cache' -DEBUG: msrest.http_logger : 'Transfer-Encoding': 'chunked' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'Content-Encoding': 'gzip' -DEBUG: msrest.http_logger : 'Expires': '-1' -DEBUG: msrest.http_logger : 'Vary': 'Accept-Encoding,Accept-Encoding' -DEBUG: msrest.http_logger : 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains' -DEBUG: msrest.http_logger : 'x-ms-request-id': 'EastUS_3ff4ff1502e44bbba5e5622234a20f81_636483935554430770' -DEBUG: msrest.http_logger : 'Server': 'Microsoft-IIS/8.5' -DEBUG: msrest.http_logger : 'x-ms-ratelimit-remaining-subscription-reads': '14916' -DEBUG: msrest.http_logger : 'x-ms-correlation-request-id': '803c8147-1aeb-4594-968d-841f65cd6603' -DEBUG: msrest.http_logger : 'x-ms-routing-request-id': 'NORTHCENTRALUS:20171209T051915Z:803c8147-1aeb-4594-968d-841f65cd6603' -DEBUG: msrest.http_logger : 'Date': 'Sat, 09 Dec 2017 05:19:14 GMT' -DEBUG: msrest.http_logger : Response content: -DEBUG: msrest.http_logger : b'{"value":[]}' -DEBUG: Getting management service client client_type=MonitorManagementClient -DEBUG: adal-python : d5752069-1228-4428-9a53-51b9861715e2 - Authority:Performing instance discovery: https://login.microsoftonline.com/52807a8b-794c-4c07-825f-578847e1257e -DEBUG: adal-python : d5752069-1228-4428-9a53-51b9861715e2 - Authority:Performing static instance discovery -DEBUG: adal-python : d5752069-1228-4428-9a53-51b9861715e2 - Authority:Authority validated via static instance discovery -INFO: adal-python : d5752069-1228-4428-9a53-51b9861715e2 - TokenRequest:Getting token from cache with refresh if necessary. -DEBUG: adal-python : d5752069-1228-4428-9a53-51b9861715e2 - OAuth2Client:finding with query: {"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : d5752069-1228-4428-9a53-51b9861715e2 - OAuth2Client:Looking for potential cache entries: -DEBUG: adal-python : d5752069-1228-4428-9a53-51b9861715e2 - OAuth2Client:{"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : d5752069-1228-4428-9a53-51b9861715e2 - OAuth2Client:Found 4 potential entries. -DEBUG: adal-python : d5752069-1228-4428-9a53-51b9861715e2 - OAuth2Client:Resource specific token found. -DEBUG: adal-python : d5752069-1228-4428-9a53-51b9861715e2 - OAuth2Client:Returning token from cache lookup, AccessTokenId: b'kslIbWka8YbxRUy8vLy6JNH7izY8GoVPIpyFsPticn4=', RefreshTokenId: b'ZKVr4cTgxa0EDZ2Kgqem4UHxIsbWBdRNnpWnblHwFnE=' -DEBUG: msrest.pipeline : Configuring request: timeout=100, verify=True, cert=None -DEBUG: msrest.pipeline : Configuring redirects: allow=True, max=30 -DEBUG: msrest.pipeline : Configuring proxies: '' -DEBUG: msrest.pipeline : Evaluate proxies against ENV settings: True -DEBUG: msrest.pipeline : Configuring retry: max_retries=4, backoff_factor=0.8, max_backoff=90 -DEBUG: urllib3.connectionpool : Starting new HTTPS connection (1): management.azure.com -DEBUG: urllib3.connectionpool : https://management.azure.com:443 "GET /subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A19%3A24Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27 HTTP/1.1" 200 None -DEBUG: msrest.http_logger : Request URL: 'https://management.azure.com/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A19%3A24Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27' -DEBUG: msrest.http_logger : Request method: 'GET' -DEBUG: msrest.http_logger : Request headers: -DEBUG: msrest.http_logger : 'User-Agent': 'python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.19 msrest_azure/0.4.17 monitormanagementclient/0.4.0 Azure-SDK-For-Python AZURECLI/2.0.22' -DEBUG: msrest.http_logger : 'Accept-Encoding': 'gzip, deflate' -DEBUG: msrest.http_logger : 'Accept': 'application/json' -DEBUG: msrest.http_logger : 'Connection': 'keep-alive' -DEBUG: msrest.http_logger : 'Authorization': '*****' -DEBUG: msrest.http_logger : 'x-ms-client-request-id': '7538e6de-dca0-11e7-b921-e4b3187aa3c2' -DEBUG: msrest.http_logger : 'CommandName': 'group deployment create' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'accept-language': 'en-US' -DEBUG: msrest.http_logger : Request body: -DEBUG: msrest.http_logger : None -DEBUG: msrest.http_logger : Response status: 200 -DEBUG: msrest.http_logger : Response headers: -DEBUG: msrest.http_logger : 'Cache-Control': 'no-cache' -DEBUG: msrest.http_logger : 'Pragma': 'no-cache' -DEBUG: msrest.http_logger : 'Transfer-Encoding': 'chunked' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'Content-Encoding': 'gzip' -DEBUG: msrest.http_logger : 'Expires': '-1' -DEBUG: msrest.http_logger : 'Vary': 'Accept-Encoding,Accept-Encoding' -DEBUG: msrest.http_logger : 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains' -DEBUG: msrest.http_logger : 'x-ms-request-id': 'EastUS_004755fcbf6240e38aae4b93bdbc2686_636483935656806534' -DEBUG: msrest.http_logger : 'Server': 'Microsoft-IIS/8.5' -DEBUG: msrest.http_logger : 'x-ms-ratelimit-remaining-subscription-reads': '14937' -DEBUG: msrest.http_logger : 'x-ms-correlation-request-id': 'c62203aa-5dc3-4bd4-b13c-450840295297' -DEBUG: msrest.http_logger : 'x-ms-routing-request-id': 'NORTHCENTRALUS:20171209T051925Z:c62203aa-5dc3-4bd4-b13c-450840295297' -DEBUG: msrest.http_logger : 'Date': 'Sat, 09 Dec 2017 05:19:25 GMT' -DEBUG: msrest.http_logger : Response content: -DEBUG: msrest.http_logger : b'{"value":[{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"42843e04-3819-4b19-8a25-1ec0a7634855","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/42843e04-3819-4b19-8a25-1ec0a7634855/ticks/636483935462644362","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"statusCode":"Created","serviceRequestId":"73c1ebb8-ec8b-41d5-aaf6-128425b11048","responseBody":"{\\"name\\":\\"k8s-master-ip-fabricnlp9-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\",\\"etag\\":\\"W/\\\\\\"2aece227-86b3-4d07-80e1-505ad9e017b3\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"08ac6d19-b8e9-4187-a993-feb5207a6768\\",\\"publicIPAddressVersion\\":\\"IPv4\\",\\"publicIPAllocationMethod\\":\\"Dynamic\\",\\"idleTimeoutInMinutes\\":4,\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\",\\"fqdn\\":\\"fabricnlp9.eastus.cloudapp.azure.com\\"}},\\"type\\":\\"Microsoft.Network/publicIPAddresses\\"}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:06.2644362Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c961bc1c-adc5-4f0b-a850-02060fdf468f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/c961bc1c-adc5-4f0b-a850-02060fdf468f/ticks/636483935459519543","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"statusCode":"Created","serviceRequestId":"cbec7ef0-5357-4ce4-b2ce-5d79377a7871","responseBody":"{\\"name\\":\\"k8s-master-25033075-nsg\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"type\\":\\"Microsoft.Network/networkSecurityGroups\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"0e94a593-0195-4379-b798-56011f9e1b99\\",\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_ssh\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":101,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_kube_tls\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":100,\\"direction\\":\\"Inbound\\"}}],\\"defaultSecurityRules\\":[{\\"name\\":\\"AllowVnetInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowAzureLoadBalancerInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowAzureLoadBalancerInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from azure load balancer\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"AzureLoadBalancer\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"DenyAllInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all inbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowVnetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"AllowInternetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowInternetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to Internet\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"Internet\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"DenyAllOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all outbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Outbound\\"}}]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9519543Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f7ec8371-3033-467f-923d-2af6b2168b3a","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/f7ec8371-3033-467f-923d-2af6b2168b3a/ticks/636483935459206868","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"statusCode":"Created","serviceRequestId":"2127672f-cb17-4957-a6fa-9c3d112bf86d","responseBody":"{\\"name\\":\\"k8s-master-25033075-routetable\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable\\",\\"etag\\":\\"W/\\\\\\"e999d01a-3925-4d88-90ca-dde1e957723e\\\\\\"\\",\\"type\\":\\"Microsoft.Network/routeTables\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"2c300a3b-6237-4592-9fd0-a7eb3f365a28\\",\\"routes\\":[]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9206868Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2a0e4d77-1830-40c5-993e-af900e4260bb","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/2a0e4d77-1830-40c5-993e-af900e4260bb/ticks/636483935457956862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"e8611b1b-c62b-4d00-b87c-aea3bc210226"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7956862Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b/ticks/636483935457800589","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"570b1876-904b-4e3d-8154-3df414bd0c79"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7800589Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0f57cc09-3d02-401c-8e6e-7bda7cbd950d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/0f57cc09-3d02-401c-8e6e-7bda7cbd950d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"7ca02e9c-635f-488e-bbe3-921f51760a4d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/7ca02e9c-635f-488e-bbe3-921f51760a4d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"519755ef-e484-4243-bfeb-0edde3c8c163","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/519755ef-e484-4243-bfeb-0edde3c8c163/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"direction\\":\\"Inbound\\",\\"priority\\":101,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"direction\\":\\"Inbound\\",\\"priority\\":100,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"79ede4b5-7470-4d12-8d22-bbac17c48a8e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/79ede4b5-7470-4d12-8d22-bbac17c48a8e/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\"},\\"publicIPAllocationMethod\\":\\"Dynamic\\"}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"}]}' -INFO: Accepted: k8s-master-ip-fabricnlp9-25033075 (Microsoft.Network/publicIPAddresses) -INFO: Accepted: k8s-master-25033075-nsg (Microsoft.Network/networkSecurityGroups) -INFO: Accepted: k8s-master-25033075-routetable (Microsoft.Network/routeTables) -INFO: Succeeded: linuxagent-availabilitySet-25033075 (Microsoft.Compute/availabilitySets) -INFO: Succeeded: master-availabilityset-25033075 (Microsoft.Compute/availabilitySets) -DEBUG: adal-python : b087c02e-51c2-45ba-9f07-126cd20df14c - Authority:Performing instance discovery: https://login.microsoftonline.com/52807a8b-794c-4c07-825f-578847e1257e -DEBUG: adal-python : b087c02e-51c2-45ba-9f07-126cd20df14c - Authority:Performing static instance discovery -DEBUG: adal-python : b087c02e-51c2-45ba-9f07-126cd20df14c - Authority:Authority validated via static instance discovery -INFO: adal-python : b087c02e-51c2-45ba-9f07-126cd20df14c - TokenRequest:Getting token from cache with refresh if necessary. -DEBUG: adal-python : b087c02e-51c2-45ba-9f07-126cd20df14c - OAuth2Client:finding with query: {"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : b087c02e-51c2-45ba-9f07-126cd20df14c - OAuth2Client:Looking for potential cache entries: -DEBUG: adal-python : b087c02e-51c2-45ba-9f07-126cd20df14c - OAuth2Client:{"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : b087c02e-51c2-45ba-9f07-126cd20df14c - OAuth2Client:Found 4 potential entries. -DEBUG: adal-python : b087c02e-51c2-45ba-9f07-126cd20df14c - OAuth2Client:Resource specific token found. -DEBUG: adal-python : b087c02e-51c2-45ba-9f07-126cd20df14c - OAuth2Client:Returning token from cache lookup, AccessTokenId: b'kslIbWka8YbxRUy8vLy6JNH7izY8GoVPIpyFsPticn4=', RefreshTokenId: b'ZKVr4cTgxa0EDZ2Kgqem4UHxIsbWBdRNnpWnblHwFnE=' -DEBUG: msrest.pipeline : Configuring request: timeout=100, verify=True, cert=None -DEBUG: msrest.pipeline : Configuring redirects: allow=True, max=30 -DEBUG: msrest.pipeline : Configuring proxies: '' -DEBUG: msrest.pipeline : Evaluate proxies against ENV settings: True -DEBUG: msrest.pipeline : Configuring retry: max_retries=4, backoff_factor=0.8, max_backoff=90 -DEBUG: urllib3.connectionpool : Starting new HTTPS connection (1): management.azure.com -DEBUG: Getting management service client client_type=MonitorManagementClient -DEBUG: adal-python : c05a1712-873f-46ff-81f5-ad776eac0b5a - Authority:Performing instance discovery: https://login.microsoftonline.com/52807a8b-794c-4c07-825f-578847e1257e -DEBUG: adal-python : c05a1712-873f-46ff-81f5-ad776eac0b5a - Authority:Performing static instance discovery -DEBUG: adal-python : c05a1712-873f-46ff-81f5-ad776eac0b5a - Authority:Authority validated via static instance discovery -INFO: adal-python : c05a1712-873f-46ff-81f5-ad776eac0b5a - TokenRequest:Getting token from cache with refresh if necessary. -DEBUG: adal-python : c05a1712-873f-46ff-81f5-ad776eac0b5a - OAuth2Client:finding with query: {"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : c05a1712-873f-46ff-81f5-ad776eac0b5a - OAuth2Client:Looking for potential cache entries: -DEBUG: adal-python : c05a1712-873f-46ff-81f5-ad776eac0b5a - OAuth2Client:{"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : c05a1712-873f-46ff-81f5-ad776eac0b5a - OAuth2Client:Found 4 potential entries. -DEBUG: adal-python : c05a1712-873f-46ff-81f5-ad776eac0b5a - OAuth2Client:Resource specific token found. -DEBUG: adal-python : c05a1712-873f-46ff-81f5-ad776eac0b5a - OAuth2Client:Returning token from cache lookup, AccessTokenId: b'kslIbWka8YbxRUy8vLy6JNH7izY8GoVPIpyFsPticn4=', RefreshTokenId: b'ZKVr4cTgxa0EDZ2Kgqem4UHxIsbWBdRNnpWnblHwFnE=' -DEBUG: msrest.pipeline : Configuring request: timeout=100, verify=True, cert=None -DEBUG: msrest.pipeline : Configuring redirects: allow=True, max=30 -DEBUG: msrest.pipeline : Configuring proxies: '' -DEBUG: msrest.pipeline : Evaluate proxies against ENV settings: True -DEBUG: msrest.pipeline : Configuring retry: max_retries=4, backoff_factor=0.8, max_backoff=90 -DEBUG: urllib3.connectionpool : Starting new HTTPS connection (1): management.azure.com -DEBUG: urllib3.connectionpool : https://management.azure.com:443 "GET /subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/operationStatuses/08586888101433128342?api-version=2017-05-10 HTTP/1.1" 200 140 -DEBUG: msrest.http_logger : Request URL: 'https://management.azure.com/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/operationStatuses/08586888101433128342?api-version=2017-05-10' -DEBUG: msrest.http_logger : Request method: 'GET' -DEBUG: msrest.http_logger : Request headers: -DEBUG: msrest.http_logger : 'User-Agent': 'python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.19 msrest_azure/0.4.17 resourcemanagementclient/1.2.1 Azure-SDK-For-Python AZURECLI/2.0.22' -DEBUG: msrest.http_logger : 'Accept-Encoding': 'gzip, deflate' -DEBUG: msrest.http_logger : 'Accept': 'application/json' -DEBUG: msrest.http_logger : 'Connection': 'keep-alive' -DEBUG: msrest.http_logger : 'Authorization': '*****' -DEBUG: msrest.http_logger : 'x-ms-client-request-id': '7538e6de-dca0-11e7-b921-e4b3187aa3c2' -DEBUG: msrest.http_logger : 'CommandName': 'group deployment create' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'accept-language': 'en-US' -DEBUG: msrest.http_logger : Request body: -DEBUG: msrest.http_logger : None -DEBUG: msrest.http_logger : Response status: 200 -DEBUG: msrest.http_logger : Response headers: -DEBUG: msrest.http_logger : 'Cache-Control': 'no-cache' -DEBUG: msrest.http_logger : 'Pragma': 'no-cache' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'Content-Encoding': 'gzip' -DEBUG: msrest.http_logger : 'Expires': '-1' -DEBUG: msrest.http_logger : 'Vary': 'Accept-Encoding' -DEBUG: msrest.http_logger : 'x-ms-ratelimit-remaining-subscription-reads': '14932' -DEBUG: msrest.http_logger : 'x-ms-request-id': 'b76de350-0d1f-45fa-a024-da38c8e41d46' -DEBUG: msrest.http_logger : 'x-ms-correlation-request-id': 'b76de350-0d1f-45fa-a024-da38c8e41d46' -DEBUG: msrest.http_logger : 'x-ms-routing-request-id': 'NORTHCENTRALUS:20171209T051935Z:b76de350-0d1f-45fa-a024-da38c8e41d46' -DEBUG: msrest.http_logger : 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains' -DEBUG: msrest.http_logger : 'Date': 'Sat, 09 Dec 2017 05:19:34 GMT' -DEBUG: msrest.http_logger : 'Content-Length': '140' -DEBUG: msrest.http_logger : Response content: -DEBUG: msrest.http_logger : b'{"status":"Running"}' -DEBUG: urllib3.connectionpool : https://management.azure.com:443 "GET /subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A19%3A34Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27 HTTP/1.1" 200 None -DEBUG: msrest.http_logger : Request URL: 'https://management.azure.com/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A19%3A34Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27' -DEBUG: msrest.http_logger : Request method: 'GET' -DEBUG: msrest.http_logger : Request headers: -DEBUG: msrest.http_logger : 'User-Agent': 'python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.19 msrest_azure/0.4.17 monitormanagementclient/0.4.0 Azure-SDK-For-Python AZURECLI/2.0.22' -DEBUG: msrest.http_logger : 'Accept-Encoding': 'gzip, deflate' -DEBUG: msrest.http_logger : 'Accept': 'application/json' -DEBUG: msrest.http_logger : 'Connection': 'keep-alive' -DEBUG: msrest.http_logger : 'Authorization': '*****' -DEBUG: msrest.http_logger : 'x-ms-client-request-id': '7538e6de-dca0-11e7-b921-e4b3187aa3c2' -DEBUG: msrest.http_logger : 'CommandName': 'group deployment create' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'accept-language': 'en-US' -DEBUG: msrest.http_logger : Request body: -DEBUG: msrest.http_logger : None -DEBUG: msrest.http_logger : Response status: 200 -DEBUG: msrest.http_logger : Response headers: -DEBUG: msrest.http_logger : 'Cache-Control': 'no-cache' -DEBUG: msrest.http_logger : 'Pragma': 'no-cache' -DEBUG: msrest.http_logger : 'Transfer-Encoding': 'chunked' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'Content-Encoding': 'gzip' -DEBUG: msrest.http_logger : 'Expires': '-1' -DEBUG: msrest.http_logger : 'Vary': 'Accept-Encoding,Accept-Encoding' -DEBUG: msrest.http_logger : 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains' -DEBUG: msrest.http_logger : 'x-ms-request-id': 'EastUS_7af831ad2e064db8a454e6d8c297a6c0_636483935758673246' -DEBUG: msrest.http_logger : 'Server': 'Microsoft-IIS/8.5' -DEBUG: msrest.http_logger : 'x-ms-ratelimit-remaining-subscription-reads': '14928' -DEBUG: msrest.http_logger : 'x-ms-correlation-request-id': 'e8b919b5-2f6d-42e2-8a4b-9e6cf09d7543' -DEBUG: msrest.http_logger : 'x-ms-routing-request-id': 'NORTHCENTRALUS:20171209T051936Z:e8b919b5-2f6d-42e2-8a4b-9e6cf09d7543' -DEBUG: msrest.http_logger : 'Date': 'Sat, 09 Dec 2017 05:19:36 GMT' -DEBUG: msrest.http_logger : Response content: -DEBUG: msrest.http_logger : b'{"value":[{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"eafa3e8d-bb05-4cbc-831b-515b421feb6c","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/eafa3e8d-bb05-4cbc-831b-515b421feb6c/ticks/636483935576596018","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}],\\"primary\\":true,\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.6596018Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0630ea34-5e08-4df7-806c-5ba277e8ee98","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/0630ea34-5e08-4df7-806c-5ba277e8ee98/ticks/636483935574567301","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"010e332e-ae98-4d7f-8d89-b13bcd67dd82","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.4567301Z","submissionTimestamp":"2017-12-09T05:19:29.9175501Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"23c16967-c5de-434a-883d-9dcbb5cf7910","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/23c16967-c5de-434a-883d-9dcbb5cf7910/ticks/636483935571498862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"9d8c0359-5075-4aa5-9300-41c5abe70457","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.1498862Z","submissionTimestamp":"2017-12-09T05:19:29.9514229Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3637760d-70c1-4541-a66a-eba014903301","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/3637760d-70c1-4541-a66a-eba014903301/ticks/636483935514628368","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"4d2efcf5-cd3f-47e1-87b4-25ee3eb24361","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.4628368Z","submissionTimestamp":"2017-12-09T05:19:29.8886293Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"96b089d0-749d-4278-a2b9-20d010d8eb76","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/96b089d0-749d-4278-a2b9-20d010d8eb76/ticks/636483935512332041","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"properties":{"statusCode":"Created","serviceRequestId":"fcd5a581-c4fa-4f03-9aeb-4aa694a54fbd"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:11.2332041Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"37a4a8ec-5993-4756-881c-7f6fe9d2b415","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/37a4a8ec-5993-4756-881c-7f6fe9d2b415/ticks/636483935510457343","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.0457343Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c0f2181e-829d-4b04-96e6-91d90ffe74c8","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/c0f2181e-829d-4b04-96e6-91d90ffe74c8/ticks/636483935507957703","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"statusCode":"Created","serviceRequestId":"3a931eae-ac9c-414f-b748-d28628f2c996","responseBody":"{\\"name\\":\\"k8s-master-lb-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"type\\":\\"Microsoft.Network/loadBalancers\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"a8c2b30a-7f33-4beb-b9e6-1cfb8b254ef3\\",\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"},\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"idleTimeoutInMinutes\\":5,\\"protocol\\":\\"Tcp\\",\\"loadDistribution\\":\\"Default\\",\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"}}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"protocol\\":\\"Tcp\\",\\"port\\":443,\\"intervalInSeconds\\":5,\\"numberOfProbes\\":2,\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"inboundNatRules\\":[],\\"outboundNatRules\\":[],\\"inboundNatPools\\":[]}}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:10.7957703Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e/ticks/636483935499050370","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\"}],\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"properties\\":{\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"}}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"properties\\":{\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"idleTimeoutInMinutes\\":5,\\"loadDistribution\\":\\"Default\\",\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"},\\"protocol\\":\\"tcp\\"}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"properties\\":{\\"intervalInSeconds\\":\\"5\\",\\"numberOfProbes\\":\\"2\\",\\"port\\":443,\\"protocol\\":\\"tcp\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:09.905037Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"42843e04-3819-4b19-8a25-1ec0a7634855","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/42843e04-3819-4b19-8a25-1ec0a7634855/ticks/636483935462644362","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"statusCode":"Created","serviceRequestId":"73c1ebb8-ec8b-41d5-aaf6-128425b11048","responseBody":"{\\"name\\":\\"k8s-master-ip-fabricnlp9-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\",\\"etag\\":\\"W/\\\\\\"2aece227-86b3-4d07-80e1-505ad9e017b3\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"08ac6d19-b8e9-4187-a993-feb5207a6768\\",\\"publicIPAddressVersion\\":\\"IPv4\\",\\"publicIPAllocationMethod\\":\\"Dynamic\\",\\"idleTimeoutInMinutes\\":4,\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\",\\"fqdn\\":\\"fabricnlp9.eastus.cloudapp.azure.com\\"}},\\"type\\":\\"Microsoft.Network/publicIPAddresses\\"}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:06.2644362Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c961bc1c-adc5-4f0b-a850-02060fdf468f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/c961bc1c-adc5-4f0b-a850-02060fdf468f/ticks/636483935459519543","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"statusCode":"Created","serviceRequestId":"cbec7ef0-5357-4ce4-b2ce-5d79377a7871","responseBody":"{\\"name\\":\\"k8s-master-25033075-nsg\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"type\\":\\"Microsoft.Network/networkSecurityGroups\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"0e94a593-0195-4379-b798-56011f9e1b99\\",\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_ssh\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":101,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_kube_tls\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":100,\\"direction\\":\\"Inbound\\"}}],\\"defaultSecurityRules\\":[{\\"name\\":\\"AllowVnetInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowAzureLoadBalancerInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowAzureLoadBalancerInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from azure load balancer\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"AzureLoadBalancer\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"DenyAllInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all inbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowVnetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"AllowInternetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowInternetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to Internet\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"Internet\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"DenyAllOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all outbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Outbound\\"}}]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9519543Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f7ec8371-3033-467f-923d-2af6b2168b3a","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/f7ec8371-3033-467f-923d-2af6b2168b3a/ticks/636483935459206868","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"statusCode":"Created","serviceRequestId":"2127672f-cb17-4957-a6fa-9c3d112bf86d","responseBody":"{\\"name\\":\\"k8s-master-25033075-routetable\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable\\",\\"etag\\":\\"W/\\\\\\"e999d01a-3925-4d88-90ca-dde1e957723e\\\\\\"\\",\\"type\\":\\"Microsoft.Network/routeTables\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"2c300a3b-6237-4592-9fd0-a7eb3f365a28\\",\\"routes\\":[]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9206868Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2a0e4d77-1830-40c5-993e-af900e4260bb","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/2a0e4d77-1830-40c5-993e-af900e4260bb/ticks/636483935457956862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"e8611b1b-c62b-4d00-b87c-aea3bc210226"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7956862Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b/ticks/636483935457800589","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"570b1876-904b-4e3d-8154-3df414bd0c79"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7800589Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0f57cc09-3d02-401c-8e6e-7bda7cbd950d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/0f57cc09-3d02-401c-8e6e-7bda7cbd950d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"7ca02e9c-635f-488e-bbe3-921f51760a4d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/7ca02e9c-635f-488e-bbe3-921f51760a4d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"519755ef-e484-4243-bfeb-0edde3c8c163","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/519755ef-e484-4243-bfeb-0edde3c8c163/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"direction\\":\\"Inbound\\",\\"priority\\":101,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"direction\\":\\"Inbound\\",\\"priority\\":100,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"79ede4b5-7470-4d12-8d22-bbac17c48a8e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/79ede4b5-7470-4d12-8d22-bbac17c48a8e/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\"},\\"publicIPAllocationMethod\\":\\"Dynamic\\"}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"34efd43d-0a0b-47a6-be9e-3e3fd74265ad","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/34efd43d-0a0b-47a6-be9e-3e3fd74265ad/ticks/636483935441012452","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"properties":{"statusCode":"OK","serviceRequestId":null},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:04.1012452Z","submissionTimestamp":"2017-12-09T05:19:19.9694084Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"745490e4-6d74-4e41-ac44-1d5e5b10b68d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/745490e4-6d74-4e41-ac44-1d5e5b10b68d/ticks/636483935404291527","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:00.4291527Z","submissionTimestamp":"2017-12-09T05:19:19.9684077Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"}]}' -INFO: Succeeded: k8s-master-25033075-nsg (Microsoft.Network/networkSecurityGroups) -INFO: Succeeded: k8s-master-25033075-routetable (Microsoft.Network/routeTables) -INFO: Succeeded: k8s-master-ip-fabricnlp9-25033075 (Microsoft.Network/publicIPAddresses) -INFO: Succeeded: SSH-k8s-master-25033075-0 (Microsoft.Network/loadBalancers/inboundNatRules) -INFO: Succeeded: k8s-master-lb-25033075 (Microsoft.Network/loadBalancers) -INFO: Accepted: cluster1 (Microsoft.Resources/deployments) -DEBUG: Getting management service client client_type=MonitorManagementClient -DEBUG: adal-python : 073ae189-23c1-4be6-b0be-4a95af98038a - Authority:Performing instance discovery: https://login.microsoftonline.com/52807a8b-794c-4c07-825f-578847e1257e -DEBUG: adal-python : 073ae189-23c1-4be6-b0be-4a95af98038a - Authority:Performing static instance discovery -DEBUG: adal-python : 073ae189-23c1-4be6-b0be-4a95af98038a - Authority:Authority validated via static instance discovery -INFO: adal-python : 073ae189-23c1-4be6-b0be-4a95af98038a - TokenRequest:Getting token from cache with refresh if necessary. -DEBUG: adal-python : 073ae189-23c1-4be6-b0be-4a95af98038a - OAuth2Client:finding with query: {"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 073ae189-23c1-4be6-b0be-4a95af98038a - OAuth2Client:Looking for potential cache entries: -DEBUG: adal-python : 073ae189-23c1-4be6-b0be-4a95af98038a - OAuth2Client:{"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 073ae189-23c1-4be6-b0be-4a95af98038a - OAuth2Client:Found 4 potential entries. -DEBUG: adal-python : 073ae189-23c1-4be6-b0be-4a95af98038a - OAuth2Client:Resource specific token found. -DEBUG: adal-python : 073ae189-23c1-4be6-b0be-4a95af98038a - OAuth2Client:Returning token from cache lookup, AccessTokenId: b'kslIbWka8YbxRUy8vLy6JNH7izY8GoVPIpyFsPticn4=', RefreshTokenId: b'ZKVr4cTgxa0EDZ2Kgqem4UHxIsbWBdRNnpWnblHwFnE=' -DEBUG: msrest.pipeline : Configuring request: timeout=100, verify=True, cert=None -DEBUG: msrest.pipeline : Configuring redirects: allow=True, max=30 -DEBUG: msrest.pipeline : Configuring proxies: '' -DEBUG: msrest.pipeline : Evaluate proxies against ENV settings: True -DEBUG: msrest.pipeline : Configuring retry: max_retries=4, backoff_factor=0.8, max_backoff=90 -DEBUG: urllib3.connectionpool : Starting new HTTPS connection (1): management.azure.com -DEBUG: adal-python : 82efe54b-0397-46fb-adcc-61b5b3edb323 - Authority:Performing instance discovery: https://login.microsoftonline.com/52807a8b-794c-4c07-825f-578847e1257e -DEBUG: adal-python : 82efe54b-0397-46fb-adcc-61b5b3edb323 - Authority:Performing static instance discovery -DEBUG: adal-python : 82efe54b-0397-46fb-adcc-61b5b3edb323 - Authority:Authority validated via static instance discovery -INFO: adal-python : 82efe54b-0397-46fb-adcc-61b5b3edb323 - TokenRequest:Getting token from cache with refresh if necessary. -DEBUG: adal-python : 82efe54b-0397-46fb-adcc-61b5b3edb323 - OAuth2Client:finding with query: {"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 82efe54b-0397-46fb-adcc-61b5b3edb323 - OAuth2Client:Looking for potential cache entries: -DEBUG: adal-python : 82efe54b-0397-46fb-adcc-61b5b3edb323 - OAuth2Client:{"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 82efe54b-0397-46fb-adcc-61b5b3edb323 - OAuth2Client:Found 4 potential entries. -DEBUG: adal-python : 82efe54b-0397-46fb-adcc-61b5b3edb323 - OAuth2Client:Resource specific token found. -DEBUG: adal-python : 82efe54b-0397-46fb-adcc-61b5b3edb323 - OAuth2Client:Returning token from cache lookup, AccessTokenId: b'kslIbWka8YbxRUy8vLy6JNH7izY8GoVPIpyFsPticn4=', RefreshTokenId: b'ZKVr4cTgxa0EDZ2Kgqem4UHxIsbWBdRNnpWnblHwFnE=' -DEBUG: msrest.pipeline : Configuring request: timeout=100, verify=True, cert=None -DEBUG: msrest.pipeline : Configuring redirects: allow=True, max=30 -DEBUG: msrest.pipeline : Configuring proxies: '' -DEBUG: msrest.pipeline : Evaluate proxies against ENV settings: True -DEBUG: msrest.pipeline : Configuring retry: max_retries=4, backoff_factor=0.8, max_backoff=90 -DEBUG: urllib3.connectionpool : Starting new HTTPS connection (1): management.azure.com -DEBUG: urllib3.connectionpool : https://management.azure.com:443 "GET /subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/operationStatuses/08586888101433128342?api-version=2017-05-10 HTTP/1.1" 200 140 -DEBUG: msrest.http_logger : Request URL: 'https://management.azure.com/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/operationStatuses/08586888101433128342?api-version=2017-05-10' -DEBUG: msrest.http_logger : Request method: 'GET' -DEBUG: msrest.http_logger : Request headers: -DEBUG: msrest.http_logger : 'User-Agent': 'python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.19 msrest_azure/0.4.17 resourcemanagementclient/1.2.1 Azure-SDK-For-Python AZURECLI/2.0.22' -DEBUG: msrest.http_logger : 'Accept-Encoding': 'gzip, deflate' -DEBUG: msrest.http_logger : 'Accept': 'application/json' -DEBUG: msrest.http_logger : 'Connection': 'keep-alive' -DEBUG: msrest.http_logger : 'Authorization': '*****' -DEBUG: msrest.http_logger : 'x-ms-client-request-id': '7538e6de-dca0-11e7-b921-e4b3187aa3c2' -DEBUG: msrest.http_logger : 'CommandName': 'group deployment create' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'accept-language': 'en-US' -DEBUG: msrest.http_logger : Request body: -DEBUG: msrest.http_logger : None -DEBUG: msrest.http_logger : Response status: 200 -DEBUG: msrest.http_logger : Response headers: -DEBUG: msrest.http_logger : 'Cache-Control': 'no-cache' -DEBUG: msrest.http_logger : 'Pragma': 'no-cache' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'Content-Encoding': 'gzip' -DEBUG: msrest.http_logger : 'Expires': '-1' -DEBUG: msrest.http_logger : 'Vary': 'Accept-Encoding' -DEBUG: msrest.http_logger : 'x-ms-ratelimit-remaining-subscription-reads': '14783' -DEBUG: msrest.http_logger : 'x-ms-request-id': 'af4aad22-9af4-4144-8309-676f80408b63' -DEBUG: msrest.http_logger : 'x-ms-correlation-request-id': 'af4aad22-9af4-4144-8309-676f80408b63' -DEBUG: msrest.http_logger : 'x-ms-routing-request-id': 'NORTHCENTRALUS:20171209T052008Z:af4aad22-9af4-4144-8309-676f80408b63' -DEBUG: msrest.http_logger : 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains' -DEBUG: msrest.http_logger : 'Date': 'Sat, 09 Dec 2017 05:20:08 GMT' -DEBUG: msrest.http_logger : 'Content-Length': '140' -DEBUG: msrest.http_logger : Response content: -DEBUG: msrest.http_logger : b'{"status":"Running"}' -DEBUG: urllib3.connectionpool : https://management.azure.com:443 "GET /subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A19%3A45Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27 HTTP/1.1" 500 146 -DEBUG: urllib3.util.retry : Incremented Retry for (url='/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A19%3A45Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27'): Retry(total=3, connect=4, read=4, redirect=None, status=None) -DEBUG: urllib3.connectionpool : Retry: /subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A19%3A45Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27 -DEBUG: urllib3.connectionpool : Resetting dropped connection: management.azure.com -DEBUG: urllib3.connectionpool : https://management.azure.com:443 "GET /subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A19%3A45Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27 HTTP/1.1" 200 None -DEBUG: msrest.http_logger : Request URL: 'https://management.azure.com/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A19%3A45Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27' -DEBUG: msrest.http_logger : Request method: 'GET' -DEBUG: msrest.http_logger : Request headers: -DEBUG: msrest.http_logger : 'User-Agent': 'python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.19 msrest_azure/0.4.17 monitormanagementclient/0.4.0 Azure-SDK-For-Python AZURECLI/2.0.22' -DEBUG: msrest.http_logger : 'Accept-Encoding': 'gzip, deflate' -DEBUG: msrest.http_logger : 'Accept': 'application/json' -DEBUG: msrest.http_logger : 'Connection': 'keep-alive' -DEBUG: msrest.http_logger : 'Authorization': '*****' -DEBUG: msrest.http_logger : 'x-ms-client-request-id': '7538e6de-dca0-11e7-b921-e4b3187aa3c2' -DEBUG: msrest.http_logger : 'CommandName': 'group deployment create' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'accept-language': 'en-US' -DEBUG: msrest.http_logger : Request body: -DEBUG: msrest.http_logger : None -DEBUG: msrest.http_logger : Response status: 200 -DEBUG: msrest.http_logger : Response headers: -DEBUG: msrest.http_logger : 'Cache-Control': 'no-cache' -DEBUG: msrest.http_logger : 'Pragma': 'no-cache' -DEBUG: msrest.http_logger : 'Transfer-Encoding': 'chunked' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'Content-Encoding': 'gzip' -DEBUG: msrest.http_logger : 'Expires': '-1' -DEBUG: msrest.http_logger : 'Vary': 'Accept-Encoding,Accept-Encoding' -DEBUG: msrest.http_logger : 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains' -DEBUG: msrest.http_logger : 'x-ms-request-id': 'EastUS_f4e4137b70f345c09c338b4b02495b36_636483936170271410' -DEBUG: msrest.http_logger : 'Server': 'Microsoft-IIS/8.5' -DEBUG: msrest.http_logger : 'x-ms-ratelimit-remaining-subscription-reads': '14675' -DEBUG: msrest.http_logger : 'x-ms-correlation-request-id': '9d1ec3d3-04bd-4110-8122-c68f76628017' -DEBUG: msrest.http_logger : 'x-ms-routing-request-id': 'NORTHCENTRALUS:20171209T052017Z:9d1ec3d3-04bd-4110-8122-c68f76628017' -DEBUG: msrest.http_logger : 'Date': 'Sat, 09 Dec 2017 05:20:17 GMT' -DEBUG: msrest.http_logger : Response content: -DEBUG: msrest.http_logger : b'{"value":[{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c863e3ad-861a-4842-9bed-5d7b5c21f752","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/c863e3ad-861a-4842-9bed-5d7b5c21f752/ticks/636483935975493658","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3c059bde-9ba7-4705-a46a-90f041019563","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:57.5493658Z","submissionTimestamp":"2017-12-09T05:20:10.1148471Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218/ticks/636483935968523897","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"6b4f8ac8-b6be-4676-a1ef-c2efd07639b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:56.8523897Z","submissionTimestamp":"2017-12-09T05:20:10.2353207Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2/ticks/636483935945781875","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"502f330f-757e-492a-bf5d-8b2c1a9c5e87","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:54.5781875Z","submissionTimestamp":"2017-12-09T05:20:09.9808359Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"629517bd-3422-4799-aed0-e76166f332df","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/629517bd-3422-4799-aed0-e76166f332df/ticks/636483935815203536","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"608c44ca-b946-4085-b677-c60b4364cd4f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.5203536Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0a3e8fa0-b1aa-430d-813d-717d9ccaba43","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/0a3e8fa0-b1aa-430d-813d-717d9ccaba43/ticks/636483935813640803","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"e8a78a19-e992-4a15-9b9d-1d396e76841e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.3640803Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f502a53a-bef1-45ce-a64f-3cec67be9e74","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/f502a53a-bef1-45ce-a64f-3cec67be9e74/ticks/636483935785592969","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"934cbf0a-66c3-40ac-83ad-5a900bd0a3ee","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:38.5592969Z","submissionTimestamp":"2017-12-09T05:20:00.1233196Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"76b649ce-1ebe-4dac-89a1-78bd004fbdbe","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/76b649ce-1ebe-4dac-89a1-78bd004fbdbe/ticks/636483935662684070","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"2368e683-ae0d-4e05-93f7-5251dd7859ff"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:26.268407Z","submissionTimestamp":"2017-12-09T05:19:40.0013894Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0/ticks/636483935658854059","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"770228b2-9970-4da2-8bb3-5eb17f427abd"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:25.8854059Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2ef95b9d-6cc9-4eaa-a265-599681ba4120","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/2ef95b9d-6cc9-4eaa-a265-599681ba4120/ticks/636483935628933848","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.8933848Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"fe383666-3d1f-445b-a21a-bfe1cb911e8f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/fe383666-3d1f-445b-a21a-bfe1cb911e8f/ticks/636483935626751699","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"97c87afe-ca58-46e2-8944-72c541d4a229"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.6751699Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"4c47093b-1a6c-422e-be0d-3b610067fa96","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/4c47093b-1a6c-422e-be0d-3b610067fa96/ticks/636483935624715321","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0179ac94-8373-4392-87f6-59dce144ba0a","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"40a6b458-3268-400a-b594-b782474e5613\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.5\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.4715321Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"18a7b81d-bf54-4f62-9028-d2f0d1507d78","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/18a7b81d-bf54-4f62-9028-d2f0d1507d78/ticks/636483935623914480","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.391448Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b6cc422e-578b-40e7-9436-142f9f132b8c","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/b6cc422e-578b-40e7-9436-142f9f132b8c/ticks/636483935619695965","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0488286b-cd93-4ba0-95c2-39b32adf684e","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"6e8dafff-a250-48f1-98f8-81ba6740af90\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.4\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:21.9695965Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1deef98-0832-4f8b-80f9-845dbd487bbd","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/b1deef98-0832-4f8b-80f9-845dbd487bbd/ticks/636483935615187666","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:21.5187666Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0c815960-230e-4117-b401-3fcfbcd9634b","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/0c815960-230e-4117-b401-3fcfbcd9634b/ticks/636483935608915102","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:20.8915102Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3b3a8117-8604-4212-a730-3d8b798b473d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/3b3a8117-8604-4212-a730-3d8b798b473d/ticks/636483935588001992","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:18.8001992Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1b08df7-d8a3-4198-90aa-b6f497d4c3a6","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/b1b08df7-d8a3-4198-90aa-b6f497d4c3a6/ticks/636483935584565023","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"cfbdf455-8659-44f0-a969-ca5c5fff6a82","responseBody":"{\\"name\\":\\"k8s-master-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"287a1f86-dcd9-479b-95f3-855f558519e8\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\",\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}]}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:18.4565023Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"eafa3e8d-bb05-4cbc-831b-515b421feb6c","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/eafa3e8d-bb05-4cbc-831b-515b421feb6c/ticks/636483935576596018","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}],\\"primary\\":true,\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.6596018Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0630ea34-5e08-4df7-806c-5ba277e8ee98","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/0630ea34-5e08-4df7-806c-5ba277e8ee98/ticks/636483935574567301","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"010e332e-ae98-4d7f-8d89-b13bcd67dd82","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.4567301Z","submissionTimestamp":"2017-12-09T05:19:29.9175501Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"23c16967-c5de-434a-883d-9dcbb5cf7910","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/23c16967-c5de-434a-883d-9dcbb5cf7910/ticks/636483935571498862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"9d8c0359-5075-4aa5-9300-41c5abe70457","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.1498862Z","submissionTimestamp":"2017-12-09T05:19:29.9514229Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3637760d-70c1-4541-a66a-eba014903301","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/3637760d-70c1-4541-a66a-eba014903301/ticks/636483935514628368","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"4d2efcf5-cd3f-47e1-87b4-25ee3eb24361","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.4628368Z","submissionTimestamp":"2017-12-09T05:19:29.8886293Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"96b089d0-749d-4278-a2b9-20d010d8eb76","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/96b089d0-749d-4278-a2b9-20d010d8eb76/ticks/636483935512332041","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"properties":{"statusCode":"Created","serviceRequestId":"fcd5a581-c4fa-4f03-9aeb-4aa694a54fbd"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:11.2332041Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"37a4a8ec-5993-4756-881c-7f6fe9d2b415","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/37a4a8ec-5993-4756-881c-7f6fe9d2b415/ticks/636483935510457343","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.0457343Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c0f2181e-829d-4b04-96e6-91d90ffe74c8","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/c0f2181e-829d-4b04-96e6-91d90ffe74c8/ticks/636483935507957703","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"statusCode":"Created","serviceRequestId":"3a931eae-ac9c-414f-b748-d28628f2c996","responseBody":"{\\"name\\":\\"k8s-master-lb-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"type\\":\\"Microsoft.Network/loadBalancers\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"a8c2b30a-7f33-4beb-b9e6-1cfb8b254ef3\\",\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"},\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"idleTimeoutInMinutes\\":5,\\"protocol\\":\\"Tcp\\",\\"loadDistribution\\":\\"Default\\",\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"}}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"protocol\\":\\"Tcp\\",\\"port\\":443,\\"intervalInSeconds\\":5,\\"numberOfProbes\\":2,\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"inboundNatRules\\":[],\\"outboundNatRules\\":[],\\"inboundNatPools\\":[]}}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:10.7957703Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e/ticks/636483935499050370","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\"}],\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"properties\\":{\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"}}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"properties\\":{\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"idleTimeoutInMinutes\\":5,\\"loadDistribution\\":\\"Default\\",\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"},\\"protocol\\":\\"tcp\\"}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"properties\\":{\\"intervalInSeconds\\":\\"5\\",\\"numberOfProbes\\":\\"2\\",\\"port\\":443,\\"protocol\\":\\"tcp\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:09.905037Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"42843e04-3819-4b19-8a25-1ec0a7634855","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/42843e04-3819-4b19-8a25-1ec0a7634855/ticks/636483935462644362","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"statusCode":"Created","serviceRequestId":"73c1ebb8-ec8b-41d5-aaf6-128425b11048","responseBody":"{\\"name\\":\\"k8s-master-ip-fabricnlp9-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\",\\"etag\\":\\"W/\\\\\\"2aece227-86b3-4d07-80e1-505ad9e017b3\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"08ac6d19-b8e9-4187-a993-feb5207a6768\\",\\"publicIPAddressVersion\\":\\"IPv4\\",\\"publicIPAllocationMethod\\":\\"Dynamic\\",\\"idleTimeoutInMinutes\\":4,\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\",\\"fqdn\\":\\"fabricnlp9.eastus.cloudapp.azure.com\\"}},\\"type\\":\\"Microsoft.Network/publicIPAddresses\\"}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:06.2644362Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c961bc1c-adc5-4f0b-a850-02060fdf468f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/c961bc1c-adc5-4f0b-a850-02060fdf468f/ticks/636483935459519543","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"statusCode":"Created","serviceRequestId":"cbec7ef0-5357-4ce4-b2ce-5d79377a7871","responseBody":"{\\"name\\":\\"k8s-master-25033075-nsg\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"type\\":\\"Microsoft.Network/networkSecurityGroups\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"0e94a593-0195-4379-b798-56011f9e1b99\\",\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_ssh\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":101,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_kube_tls\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":100,\\"direction\\":\\"Inbound\\"}}],\\"defaultSecurityRules\\":[{\\"name\\":\\"AllowVnetInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowAzureLoadBalancerInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowAzureLoadBalancerInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from azure load balancer\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"AzureLoadBalancer\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"DenyAllInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all inbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowVnetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"AllowInternetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowInternetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to Internet\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"Internet\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"DenyAllOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all outbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Outbound\\"}}]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9519543Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f7ec8371-3033-467f-923d-2af6b2168b3a","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/f7ec8371-3033-467f-923d-2af6b2168b3a/ticks/636483935459206868","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"statusCode":"Created","serviceRequestId":"2127672f-cb17-4957-a6fa-9c3d112bf86d","responseBody":"{\\"name\\":\\"k8s-master-25033075-routetable\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable\\",\\"etag\\":\\"W/\\\\\\"e999d01a-3925-4d88-90ca-dde1e957723e\\\\\\"\\",\\"type\\":\\"Microsoft.Network/routeTables\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"2c300a3b-6237-4592-9fd0-a7eb3f365a28\\",\\"routes\\":[]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9206868Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2a0e4d77-1830-40c5-993e-af900e4260bb","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/2a0e4d77-1830-40c5-993e-af900e4260bb/ticks/636483935457956862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"e8611b1b-c62b-4d00-b87c-aea3bc210226"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7956862Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b/ticks/636483935457800589","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"570b1876-904b-4e3d-8154-3df414bd0c79"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7800589Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0f57cc09-3d02-401c-8e6e-7bda7cbd950d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/0f57cc09-3d02-401c-8e6e-7bda7cbd950d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"7ca02e9c-635f-488e-bbe3-921f51760a4d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/7ca02e9c-635f-488e-bbe3-921f51760a4d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"519755ef-e484-4243-bfeb-0edde3c8c163","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/519755ef-e484-4243-bfeb-0edde3c8c163/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"direction\\":\\"Inbound\\",\\"priority\\":101,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"direction\\":\\"Inbound\\",\\"priority\\":100,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"79ede4b5-7470-4d12-8d22-bbac17c48a8e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/79ede4b5-7470-4d12-8d22-bbac17c48a8e/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\"},\\"publicIPAllocationMethod\\":\\"Dynamic\\"}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d542e1b7-71de-4cde-929d-d1174ea92deb","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/d542e1b7-71de-4cde-929d-d1174ea92deb/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\"}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"34efd43d-0a0b-47a6-be9e-3e3fd74265ad","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/34efd43d-0a0b-47a6-be9e-3e3fd74265ad/ticks/636483935441012452","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"properties":{"statusCode":"OK","serviceRequestId":null},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:04.1012452Z","submissionTimestamp":"2017-12-09T05:19:19.9694084Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"745490e4-6d74-4e41-ac44-1d5e5b10b68d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/745490e4-6d74-4e41-ac44-1d5e5b10b68d/ticks/636483935404291527","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:00.4291527Z","submissionTimestamp":"2017-12-09T05:19:19.9684077Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"}]}' -INFO: Succeeded: k8s-linuxagent-25033075-nic-1 (Microsoft.Network/networkInterfaces) -INFO: Succeeded: k8s-linuxagent-25033075-nic-0 (Microsoft.Network/networkInterfaces) -INFO: Succeeded: k8s-master-25033075-nic-0 (Microsoft.Network/networkInterfaces) -DEBUG: Getting management service client client_type=MonitorManagementClient -DEBUG: adal-python : acf7e360-3dbe-4a47-b820-95d38b6acacc - Authority:Performing instance discovery: https://login.microsoftonline.com/52807a8b-794c-4c07-825f-578847e1257e -DEBUG: adal-python : acf7e360-3dbe-4a47-b820-95d38b6acacc - Authority:Performing static instance discovery -DEBUG: adal-python : acf7e360-3dbe-4a47-b820-95d38b6acacc - Authority:Authority validated via static instance discovery -INFO: adal-python : acf7e360-3dbe-4a47-b820-95d38b6acacc - TokenRequest:Getting token from cache with refresh if necessary. -DEBUG: adal-python : acf7e360-3dbe-4a47-b820-95d38b6acacc - OAuth2Client:finding with query: {"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : acf7e360-3dbe-4a47-b820-95d38b6acacc - OAuth2Client:Looking for potential cache entries: -DEBUG: adal-python : acf7e360-3dbe-4a47-b820-95d38b6acacc - OAuth2Client:{"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : acf7e360-3dbe-4a47-b820-95d38b6acacc - OAuth2Client:Found 4 potential entries. -DEBUG: adal-python : acf7e360-3dbe-4a47-b820-95d38b6acacc - OAuth2Client:Resource specific token found. -DEBUG: adal-python : acf7e360-3dbe-4a47-b820-95d38b6acacc - OAuth2Client:Returning token from cache lookup, AccessTokenId: b'kslIbWka8YbxRUy8vLy6JNH7izY8GoVPIpyFsPticn4=', RefreshTokenId: b'ZKVr4cTgxa0EDZ2Kgqem4UHxIsbWBdRNnpWnblHwFnE=' -DEBUG: msrest.pipeline : Configuring request: timeout=100, verify=True, cert=None -DEBUG: msrest.pipeline : Configuring redirects: allow=True, max=30 -DEBUG: msrest.pipeline : Configuring proxies: '' -DEBUG: msrest.pipeline : Evaluate proxies against ENV settings: True -DEBUG: msrest.pipeline : Configuring retry: max_retries=4, backoff_factor=0.8, max_backoff=90 -DEBUG: urllib3.connectionpool : Starting new HTTPS connection (1): management.azure.com -DEBUG: urllib3.connectionpool : https://management.azure.com:443 "GET /subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A20%3A18Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27 HTTP/1.1" 200 None -DEBUG: msrest.http_logger : Request URL: 'https://management.azure.com/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A20%3A18Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27' -DEBUG: msrest.http_logger : Request method: 'GET' -DEBUG: msrest.http_logger : Request headers: -DEBUG: msrest.http_logger : 'User-Agent': 'python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.19 msrest_azure/0.4.17 monitormanagementclient/0.4.0 Azure-SDK-For-Python AZURECLI/2.0.22' -DEBUG: msrest.http_logger : 'Accept-Encoding': 'gzip, deflate' -DEBUG: msrest.http_logger : 'Accept': 'application/json' -DEBUG: msrest.http_logger : 'Connection': 'keep-alive' -DEBUG: msrest.http_logger : 'Authorization': '*****' -DEBUG: msrest.http_logger : 'x-ms-client-request-id': '7538e6de-dca0-11e7-b921-e4b3187aa3c2' -DEBUG: msrest.http_logger : 'CommandName': 'group deployment create' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'accept-language': 'en-US' -DEBUG: msrest.http_logger : Request body: -DEBUG: msrest.http_logger : None -DEBUG: msrest.http_logger : Response status: 200 -DEBUG: msrest.http_logger : Response headers: -DEBUG: msrest.http_logger : 'Cache-Control': 'no-cache' -DEBUG: msrest.http_logger : 'Pragma': 'no-cache' -DEBUG: msrest.http_logger : 'Transfer-Encoding': 'chunked' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'Content-Encoding': 'gzip' -DEBUG: msrest.http_logger : 'Expires': '-1' -DEBUG: msrest.http_logger : 'Vary': 'Accept-Encoding,Accept-Encoding' -DEBUG: msrest.http_logger : 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains' -DEBUG: msrest.http_logger : 'x-ms-request-id': 'EastUS_9c572bd4ce654667bafea03690c62cda_636483936197484487' -DEBUG: msrest.http_logger : 'Server': 'Microsoft-IIS/8.5' -DEBUG: msrest.http_logger : 'x-ms-ratelimit-remaining-subscription-reads': '14937' -DEBUG: msrest.http_logger : 'x-ms-correlation-request-id': 'b8a13c09-2e41-4032-997c-db60b209ce4e' -DEBUG: msrest.http_logger : 'x-ms-routing-request-id': 'NORTHCENTRALUS:20171209T052019Z:b8a13c09-2e41-4032-997c-db60b209ce4e' -DEBUG: msrest.http_logger : 'Date': 'Sat, 09 Dec 2017 05:20:19 GMT' -DEBUG: msrest.http_logger : Response content: -DEBUG: msrest.http_logger : b'{"value":[{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c863e3ad-861a-4842-9bed-5d7b5c21f752","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/c863e3ad-861a-4842-9bed-5d7b5c21f752/ticks/636483935975493658","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3c059bde-9ba7-4705-a46a-90f041019563","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:57.5493658Z","submissionTimestamp":"2017-12-09T05:20:10.1148471Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218/ticks/636483935968523897","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"6b4f8ac8-b6be-4676-a1ef-c2efd07639b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:56.8523897Z","submissionTimestamp":"2017-12-09T05:20:10.2353207Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2/ticks/636483935945781875","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"502f330f-757e-492a-bf5d-8b2c1a9c5e87","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:54.5781875Z","submissionTimestamp":"2017-12-09T05:20:09.9808359Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"629517bd-3422-4799-aed0-e76166f332df","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/629517bd-3422-4799-aed0-e76166f332df/ticks/636483935815203536","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"608c44ca-b946-4085-b677-c60b4364cd4f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.5203536Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0a3e8fa0-b1aa-430d-813d-717d9ccaba43","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/0a3e8fa0-b1aa-430d-813d-717d9ccaba43/ticks/636483935813640803","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"e8a78a19-e992-4a15-9b9d-1d396e76841e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.3640803Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f502a53a-bef1-45ce-a64f-3cec67be9e74","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/f502a53a-bef1-45ce-a64f-3cec67be9e74/ticks/636483935785592969","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"934cbf0a-66c3-40ac-83ad-5a900bd0a3ee","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:38.5592969Z","submissionTimestamp":"2017-12-09T05:20:00.1233196Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"76b649ce-1ebe-4dac-89a1-78bd004fbdbe","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/76b649ce-1ebe-4dac-89a1-78bd004fbdbe/ticks/636483935662684070","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"2368e683-ae0d-4e05-93f7-5251dd7859ff"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:26.268407Z","submissionTimestamp":"2017-12-09T05:19:40.0013894Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0/ticks/636483935658854059","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"770228b2-9970-4da2-8bb3-5eb17f427abd"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:25.8854059Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2ef95b9d-6cc9-4eaa-a265-599681ba4120","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/2ef95b9d-6cc9-4eaa-a265-599681ba4120/ticks/636483935628933848","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.8933848Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"fe383666-3d1f-445b-a21a-bfe1cb911e8f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/fe383666-3d1f-445b-a21a-bfe1cb911e8f/ticks/636483935626751699","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"97c87afe-ca58-46e2-8944-72c541d4a229"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.6751699Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"4c47093b-1a6c-422e-be0d-3b610067fa96","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/4c47093b-1a6c-422e-be0d-3b610067fa96/ticks/636483935624715321","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0179ac94-8373-4392-87f6-59dce144ba0a","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"40a6b458-3268-400a-b594-b782474e5613\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.5\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.4715321Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"18a7b81d-bf54-4f62-9028-d2f0d1507d78","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/18a7b81d-bf54-4f62-9028-d2f0d1507d78/ticks/636483935623914480","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.391448Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b6cc422e-578b-40e7-9436-142f9f132b8c","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/b6cc422e-578b-40e7-9436-142f9f132b8c/ticks/636483935619695965","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0488286b-cd93-4ba0-95c2-39b32adf684e","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"6e8dafff-a250-48f1-98f8-81ba6740af90\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.4\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:21.9695965Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1deef98-0832-4f8b-80f9-845dbd487bbd","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/b1deef98-0832-4f8b-80f9-845dbd487bbd/ticks/636483935615187666","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:21.5187666Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0c815960-230e-4117-b401-3fcfbcd9634b","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/0c815960-230e-4117-b401-3fcfbcd9634b/ticks/636483935608915102","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:20.8915102Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3b3a8117-8604-4212-a730-3d8b798b473d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/3b3a8117-8604-4212-a730-3d8b798b473d/ticks/636483935588001992","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:18.8001992Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1b08df7-d8a3-4198-90aa-b6f497d4c3a6","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/b1b08df7-d8a3-4198-90aa-b6f497d4c3a6/ticks/636483935584565023","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"cfbdf455-8659-44f0-a969-ca5c5fff6a82","responseBody":"{\\"name\\":\\"k8s-master-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"287a1f86-dcd9-479b-95f3-855f558519e8\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\",\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}]}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:18.4565023Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"eafa3e8d-bb05-4cbc-831b-515b421feb6c","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/eafa3e8d-bb05-4cbc-831b-515b421feb6c/ticks/636483935576596018","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}],\\"primary\\":true,\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.6596018Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0630ea34-5e08-4df7-806c-5ba277e8ee98","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/0630ea34-5e08-4df7-806c-5ba277e8ee98/ticks/636483935574567301","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"010e332e-ae98-4d7f-8d89-b13bcd67dd82","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.4567301Z","submissionTimestamp":"2017-12-09T05:19:29.9175501Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"23c16967-c5de-434a-883d-9dcbb5cf7910","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/23c16967-c5de-434a-883d-9dcbb5cf7910/ticks/636483935571498862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"9d8c0359-5075-4aa5-9300-41c5abe70457","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.1498862Z","submissionTimestamp":"2017-12-09T05:19:29.9514229Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3637760d-70c1-4541-a66a-eba014903301","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/3637760d-70c1-4541-a66a-eba014903301/ticks/636483935514628368","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"4d2efcf5-cd3f-47e1-87b4-25ee3eb24361","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.4628368Z","submissionTimestamp":"2017-12-09T05:19:29.8886293Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"96b089d0-749d-4278-a2b9-20d010d8eb76","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/96b089d0-749d-4278-a2b9-20d010d8eb76/ticks/636483935512332041","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"properties":{"statusCode":"Created","serviceRequestId":"fcd5a581-c4fa-4f03-9aeb-4aa694a54fbd"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:11.2332041Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"37a4a8ec-5993-4756-881c-7f6fe9d2b415","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/37a4a8ec-5993-4756-881c-7f6fe9d2b415/ticks/636483935510457343","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.0457343Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c0f2181e-829d-4b04-96e6-91d90ffe74c8","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/c0f2181e-829d-4b04-96e6-91d90ffe74c8/ticks/636483935507957703","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"statusCode":"Created","serviceRequestId":"3a931eae-ac9c-414f-b748-d28628f2c996","responseBody":"{\\"name\\":\\"k8s-master-lb-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"type\\":\\"Microsoft.Network/loadBalancers\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"a8c2b30a-7f33-4beb-b9e6-1cfb8b254ef3\\",\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"},\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"idleTimeoutInMinutes\\":5,\\"protocol\\":\\"Tcp\\",\\"loadDistribution\\":\\"Default\\",\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"}}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"protocol\\":\\"Tcp\\",\\"port\\":443,\\"intervalInSeconds\\":5,\\"numberOfProbes\\":2,\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"inboundNatRules\\":[],\\"outboundNatRules\\":[],\\"inboundNatPools\\":[]}}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:10.7957703Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e/ticks/636483935499050370","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\"}],\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"properties\\":{\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"}}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"properties\\":{\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"idleTimeoutInMinutes\\":5,\\"loadDistribution\\":\\"Default\\",\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"},\\"protocol\\":\\"tcp\\"}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"properties\\":{\\"intervalInSeconds\\":\\"5\\",\\"numberOfProbes\\":\\"2\\",\\"port\\":443,\\"protocol\\":\\"tcp\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:09.905037Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"42843e04-3819-4b19-8a25-1ec0a7634855","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/42843e04-3819-4b19-8a25-1ec0a7634855/ticks/636483935462644362","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"statusCode":"Created","serviceRequestId":"73c1ebb8-ec8b-41d5-aaf6-128425b11048","responseBody":"{\\"name\\":\\"k8s-master-ip-fabricnlp9-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\",\\"etag\\":\\"W/\\\\\\"2aece227-86b3-4d07-80e1-505ad9e017b3\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"08ac6d19-b8e9-4187-a993-feb5207a6768\\",\\"publicIPAddressVersion\\":\\"IPv4\\",\\"publicIPAllocationMethod\\":\\"Dynamic\\",\\"idleTimeoutInMinutes\\":4,\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\",\\"fqdn\\":\\"fabricnlp9.eastus.cloudapp.azure.com\\"}},\\"type\\":\\"Microsoft.Network/publicIPAddresses\\"}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:06.2644362Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c961bc1c-adc5-4f0b-a850-02060fdf468f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/c961bc1c-adc5-4f0b-a850-02060fdf468f/ticks/636483935459519543","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"statusCode":"Created","serviceRequestId":"cbec7ef0-5357-4ce4-b2ce-5d79377a7871","responseBody":"{\\"name\\":\\"k8s-master-25033075-nsg\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"type\\":\\"Microsoft.Network/networkSecurityGroups\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"0e94a593-0195-4379-b798-56011f9e1b99\\",\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_ssh\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":101,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_kube_tls\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":100,\\"direction\\":\\"Inbound\\"}}],\\"defaultSecurityRules\\":[{\\"name\\":\\"AllowVnetInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowAzureLoadBalancerInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowAzureLoadBalancerInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from azure load balancer\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"AzureLoadBalancer\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"DenyAllInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all inbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowVnetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"AllowInternetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowInternetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to Internet\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"Internet\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"DenyAllOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all outbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Outbound\\"}}]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9519543Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f7ec8371-3033-467f-923d-2af6b2168b3a","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/f7ec8371-3033-467f-923d-2af6b2168b3a/ticks/636483935459206868","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"statusCode":"Created","serviceRequestId":"2127672f-cb17-4957-a6fa-9c3d112bf86d","responseBody":"{\\"name\\":\\"k8s-master-25033075-routetable\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable\\",\\"etag\\":\\"W/\\\\\\"e999d01a-3925-4d88-90ca-dde1e957723e\\\\\\"\\",\\"type\\":\\"Microsoft.Network/routeTables\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"2c300a3b-6237-4592-9fd0-a7eb3f365a28\\",\\"routes\\":[]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9206868Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2a0e4d77-1830-40c5-993e-af900e4260bb","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/2a0e4d77-1830-40c5-993e-af900e4260bb/ticks/636483935457956862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"e8611b1b-c62b-4d00-b87c-aea3bc210226"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7956862Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b/ticks/636483935457800589","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"570b1876-904b-4e3d-8154-3df414bd0c79"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7800589Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0f57cc09-3d02-401c-8e6e-7bda7cbd950d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/0f57cc09-3d02-401c-8e6e-7bda7cbd950d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"7ca02e9c-635f-488e-bbe3-921f51760a4d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/7ca02e9c-635f-488e-bbe3-921f51760a4d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"519755ef-e484-4243-bfeb-0edde3c8c163","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/519755ef-e484-4243-bfeb-0edde3c8c163/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"direction\\":\\"Inbound\\",\\"priority\\":101,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"direction\\":\\"Inbound\\",\\"priority\\":100,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"79ede4b5-7470-4d12-8d22-bbac17c48a8e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/79ede4b5-7470-4d12-8d22-bbac17c48a8e/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\"},\\"publicIPAllocationMethod\\":\\"Dynamic\\"}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d542e1b7-71de-4cde-929d-d1174ea92deb","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/d542e1b7-71de-4cde-929d-d1174ea92deb/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\"}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"34efd43d-0a0b-47a6-be9e-3e3fd74265ad","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/34efd43d-0a0b-47a6-be9e-3e3fd74265ad/ticks/636483935441012452","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"properties":{"statusCode":"OK","serviceRequestId":null},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:04.1012452Z","submissionTimestamp":"2017-12-09T05:19:19.9694084Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"745490e4-6d74-4e41-ac44-1d5e5b10b68d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/745490e4-6d74-4e41-ac44-1d5e5b10b68d/ticks/636483935404291527","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:00.4291527Z","submissionTimestamp":"2017-12-09T05:19:19.9684077Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"}]}' -DEBUG: Getting management service client client_type=MonitorManagementClient -DEBUG: adal-python : a0280c3a-c2c6-493e-9a9b-6ea2b2809ea6 - Authority:Performing instance discovery: https://login.microsoftonline.com/52807a8b-794c-4c07-825f-578847e1257e -DEBUG: adal-python : a0280c3a-c2c6-493e-9a9b-6ea2b2809ea6 - Authority:Performing static instance discovery -DEBUG: adal-python : a0280c3a-c2c6-493e-9a9b-6ea2b2809ea6 - Authority:Authority validated via static instance discovery -INFO: adal-python : a0280c3a-c2c6-493e-9a9b-6ea2b2809ea6 - TokenRequest:Getting token from cache with refresh if necessary. -DEBUG: adal-python : a0280c3a-c2c6-493e-9a9b-6ea2b2809ea6 - OAuth2Client:finding with query: {"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : a0280c3a-c2c6-493e-9a9b-6ea2b2809ea6 - OAuth2Client:Looking for potential cache entries: -DEBUG: adal-python : a0280c3a-c2c6-493e-9a9b-6ea2b2809ea6 - OAuth2Client:{"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : a0280c3a-c2c6-493e-9a9b-6ea2b2809ea6 - OAuth2Client:Found 4 potential entries. -DEBUG: adal-python : a0280c3a-c2c6-493e-9a9b-6ea2b2809ea6 - OAuth2Client:Resource specific token found. -DEBUG: adal-python : a0280c3a-c2c6-493e-9a9b-6ea2b2809ea6 - OAuth2Client:Returning token from cache lookup, AccessTokenId: b'kslIbWka8YbxRUy8vLy6JNH7izY8GoVPIpyFsPticn4=', RefreshTokenId: b'ZKVr4cTgxa0EDZ2Kgqem4UHxIsbWBdRNnpWnblHwFnE=' -DEBUG: msrest.pipeline : Configuring request: timeout=100, verify=True, cert=None -DEBUG: msrest.pipeline : Configuring redirects: allow=True, max=30 -DEBUG: msrest.pipeline : Configuring proxies: '' -DEBUG: msrest.pipeline : Evaluate proxies against ENV settings: True -DEBUG: msrest.pipeline : Configuring retry: max_retries=4, backoff_factor=0.8, max_backoff=90 -DEBUG: urllib3.connectionpool : Starting new HTTPS connection (1): management.azure.com -DEBUG: urllib3.connectionpool : https://management.azure.com:443 "GET /subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A20%3A29Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27 HTTP/1.1" 200 None -DEBUG: msrest.http_logger : Request URL: 'https://management.azure.com/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A20%3A29Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27' -DEBUG: msrest.http_logger : Request method: 'GET' -DEBUG: msrest.http_logger : Request headers: -DEBUG: msrest.http_logger : 'User-Agent': 'python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.19 msrest_azure/0.4.17 monitormanagementclient/0.4.0 Azure-SDK-For-Python AZURECLI/2.0.22' -DEBUG: msrest.http_logger : 'Accept-Encoding': 'gzip, deflate' -DEBUG: msrest.http_logger : 'Accept': 'application/json' -DEBUG: msrest.http_logger : 'Connection': 'keep-alive' -DEBUG: msrest.http_logger : 'Authorization': '*****' -DEBUG: msrest.http_logger : 'x-ms-client-request-id': '7538e6de-dca0-11e7-b921-e4b3187aa3c2' -DEBUG: msrest.http_logger : 'CommandName': 'group deployment create' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'accept-language': 'en-US' -DEBUG: msrest.http_logger : Request body: -DEBUG: msrest.http_logger : None -DEBUG: msrest.http_logger : Response status: 200 -DEBUG: msrest.http_logger : Response headers: -DEBUG: msrest.http_logger : 'Cache-Control': 'no-cache' -DEBUG: msrest.http_logger : 'Pragma': 'no-cache' -DEBUG: msrest.http_logger : 'Transfer-Encoding': 'chunked' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'Content-Encoding': 'gzip' -DEBUG: msrest.http_logger : 'Expires': '-1' -DEBUG: msrest.http_logger : 'Vary': 'Accept-Encoding,Accept-Encoding' -DEBUG: msrest.http_logger : 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains' -DEBUG: msrest.http_logger : 'x-ms-request-id': 'EastUS_e4cb7d03d99948539ebed3dd6d1535c1_636483936296419364' -DEBUG: msrest.http_logger : 'Server': 'Microsoft-IIS/8.5' -DEBUG: msrest.http_logger : 'x-ms-ratelimit-remaining-subscription-reads': '14781' -DEBUG: msrest.http_logger : 'x-ms-correlation-request-id': '628e19ef-e2dd-409c-b51f-4f5c8f992b21' -DEBUG: msrest.http_logger : 'x-ms-routing-request-id': 'NORTHCENTRALUS:20171209T052029Z:628e19ef-e2dd-409c-b51f-4f5c8f992b21' -DEBUG: msrest.http_logger : 'Date': 'Sat, 09 Dec 2017 05:20:29 GMT' -DEBUG: msrest.http_logger : Response content: -DEBUG: msrest.http_logger : b'{"value":[{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c863e3ad-861a-4842-9bed-5d7b5c21f752","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/c863e3ad-861a-4842-9bed-5d7b5c21f752/ticks/636483935975493658","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3c059bde-9ba7-4705-a46a-90f041019563","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:57.5493658Z","submissionTimestamp":"2017-12-09T05:20:10.1148471Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218/ticks/636483935968523897","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"6b4f8ac8-b6be-4676-a1ef-c2efd07639b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:56.8523897Z","submissionTimestamp":"2017-12-09T05:20:10.2353207Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2/ticks/636483935945781875","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"502f330f-757e-492a-bf5d-8b2c1a9c5e87","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:54.5781875Z","submissionTimestamp":"2017-12-09T05:20:09.9808359Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"629517bd-3422-4799-aed0-e76166f332df","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/629517bd-3422-4799-aed0-e76166f332df/ticks/636483935815203536","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"608c44ca-b946-4085-b677-c60b4364cd4f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.5203536Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0a3e8fa0-b1aa-430d-813d-717d9ccaba43","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/0a3e8fa0-b1aa-430d-813d-717d9ccaba43/ticks/636483935813640803","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"e8a78a19-e992-4a15-9b9d-1d396e76841e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.3640803Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f502a53a-bef1-45ce-a64f-3cec67be9e74","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/f502a53a-bef1-45ce-a64f-3cec67be9e74/ticks/636483935785592969","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"934cbf0a-66c3-40ac-83ad-5a900bd0a3ee","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:38.5592969Z","submissionTimestamp":"2017-12-09T05:20:00.1233196Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"76b649ce-1ebe-4dac-89a1-78bd004fbdbe","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/76b649ce-1ebe-4dac-89a1-78bd004fbdbe/ticks/636483935662684070","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"2368e683-ae0d-4e05-93f7-5251dd7859ff"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:26.268407Z","submissionTimestamp":"2017-12-09T05:19:40.0013894Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0/ticks/636483935658854059","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"770228b2-9970-4da2-8bb3-5eb17f427abd"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:25.8854059Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2ef95b9d-6cc9-4eaa-a265-599681ba4120","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/2ef95b9d-6cc9-4eaa-a265-599681ba4120/ticks/636483935628933848","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.8933848Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"fe383666-3d1f-445b-a21a-bfe1cb911e8f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/fe383666-3d1f-445b-a21a-bfe1cb911e8f/ticks/636483935626751699","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"97c87afe-ca58-46e2-8944-72c541d4a229"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.6751699Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"4c47093b-1a6c-422e-be0d-3b610067fa96","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/4c47093b-1a6c-422e-be0d-3b610067fa96/ticks/636483935624715321","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0179ac94-8373-4392-87f6-59dce144ba0a","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"40a6b458-3268-400a-b594-b782474e5613\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.5\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.4715321Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"18a7b81d-bf54-4f62-9028-d2f0d1507d78","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/18a7b81d-bf54-4f62-9028-d2f0d1507d78/ticks/636483935623914480","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.391448Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b6cc422e-578b-40e7-9436-142f9f132b8c","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/b6cc422e-578b-40e7-9436-142f9f132b8c/ticks/636483935619695965","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0488286b-cd93-4ba0-95c2-39b32adf684e","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"6e8dafff-a250-48f1-98f8-81ba6740af90\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.4\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:21.9695965Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1deef98-0832-4f8b-80f9-845dbd487bbd","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/b1deef98-0832-4f8b-80f9-845dbd487bbd/ticks/636483935615187666","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:21.5187666Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0c815960-230e-4117-b401-3fcfbcd9634b","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/0c815960-230e-4117-b401-3fcfbcd9634b/ticks/636483935608915102","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:20.8915102Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3b3a8117-8604-4212-a730-3d8b798b473d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/3b3a8117-8604-4212-a730-3d8b798b473d/ticks/636483935588001992","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:18.8001992Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1b08df7-d8a3-4198-90aa-b6f497d4c3a6","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/b1b08df7-d8a3-4198-90aa-b6f497d4c3a6/ticks/636483935584565023","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"cfbdf455-8659-44f0-a969-ca5c5fff6a82","responseBody":"{\\"name\\":\\"k8s-master-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"287a1f86-dcd9-479b-95f3-855f558519e8\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\",\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}]}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:18.4565023Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"eafa3e8d-bb05-4cbc-831b-515b421feb6c","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/eafa3e8d-bb05-4cbc-831b-515b421feb6c/ticks/636483935576596018","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}],\\"primary\\":true,\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.6596018Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0630ea34-5e08-4df7-806c-5ba277e8ee98","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/0630ea34-5e08-4df7-806c-5ba277e8ee98/ticks/636483935574567301","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"010e332e-ae98-4d7f-8d89-b13bcd67dd82","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.4567301Z","submissionTimestamp":"2017-12-09T05:19:29.9175501Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"23c16967-c5de-434a-883d-9dcbb5cf7910","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/23c16967-c5de-434a-883d-9dcbb5cf7910/ticks/636483935571498862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"9d8c0359-5075-4aa5-9300-41c5abe70457","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.1498862Z","submissionTimestamp":"2017-12-09T05:19:29.9514229Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3637760d-70c1-4541-a66a-eba014903301","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/3637760d-70c1-4541-a66a-eba014903301/ticks/636483935514628368","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"4d2efcf5-cd3f-47e1-87b4-25ee3eb24361","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.4628368Z","submissionTimestamp":"2017-12-09T05:19:29.8886293Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"96b089d0-749d-4278-a2b9-20d010d8eb76","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/96b089d0-749d-4278-a2b9-20d010d8eb76/ticks/636483935512332041","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"properties":{"statusCode":"Created","serviceRequestId":"fcd5a581-c4fa-4f03-9aeb-4aa694a54fbd"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:11.2332041Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"37a4a8ec-5993-4756-881c-7f6fe9d2b415","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/37a4a8ec-5993-4756-881c-7f6fe9d2b415/ticks/636483935510457343","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.0457343Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c0f2181e-829d-4b04-96e6-91d90ffe74c8","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/c0f2181e-829d-4b04-96e6-91d90ffe74c8/ticks/636483935507957703","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"statusCode":"Created","serviceRequestId":"3a931eae-ac9c-414f-b748-d28628f2c996","responseBody":"{\\"name\\":\\"k8s-master-lb-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"type\\":\\"Microsoft.Network/loadBalancers\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"a8c2b30a-7f33-4beb-b9e6-1cfb8b254ef3\\",\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"},\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"idleTimeoutInMinutes\\":5,\\"protocol\\":\\"Tcp\\",\\"loadDistribution\\":\\"Default\\",\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"}}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"protocol\\":\\"Tcp\\",\\"port\\":443,\\"intervalInSeconds\\":5,\\"numberOfProbes\\":2,\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"inboundNatRules\\":[],\\"outboundNatRules\\":[],\\"inboundNatPools\\":[]}}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:10.7957703Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e/ticks/636483935499050370","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\"}],\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"properties\\":{\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"}}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"properties\\":{\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"idleTimeoutInMinutes\\":5,\\"loadDistribution\\":\\"Default\\",\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"},\\"protocol\\":\\"tcp\\"}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"properties\\":{\\"intervalInSeconds\\":\\"5\\",\\"numberOfProbes\\":\\"2\\",\\"port\\":443,\\"protocol\\":\\"tcp\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:09.905037Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"42843e04-3819-4b19-8a25-1ec0a7634855","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/42843e04-3819-4b19-8a25-1ec0a7634855/ticks/636483935462644362","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"statusCode":"Created","serviceRequestId":"73c1ebb8-ec8b-41d5-aaf6-128425b11048","responseBody":"{\\"name\\":\\"k8s-master-ip-fabricnlp9-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\",\\"etag\\":\\"W/\\\\\\"2aece227-86b3-4d07-80e1-505ad9e017b3\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"08ac6d19-b8e9-4187-a993-feb5207a6768\\",\\"publicIPAddressVersion\\":\\"IPv4\\",\\"publicIPAllocationMethod\\":\\"Dynamic\\",\\"idleTimeoutInMinutes\\":4,\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\",\\"fqdn\\":\\"fabricnlp9.eastus.cloudapp.azure.com\\"}},\\"type\\":\\"Microsoft.Network/publicIPAddresses\\"}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:06.2644362Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c961bc1c-adc5-4f0b-a850-02060fdf468f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/c961bc1c-adc5-4f0b-a850-02060fdf468f/ticks/636483935459519543","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"statusCode":"Created","serviceRequestId":"cbec7ef0-5357-4ce4-b2ce-5d79377a7871","responseBody":"{\\"name\\":\\"k8s-master-25033075-nsg\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"type\\":\\"Microsoft.Network/networkSecurityGroups\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"0e94a593-0195-4379-b798-56011f9e1b99\\",\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_ssh\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":101,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_kube_tls\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":100,\\"direction\\":\\"Inbound\\"}}],\\"defaultSecurityRules\\":[{\\"name\\":\\"AllowVnetInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowAzureLoadBalancerInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowAzureLoadBalancerInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from azure load balancer\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"AzureLoadBalancer\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"DenyAllInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all inbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowVnetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"AllowInternetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowInternetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to Internet\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"Internet\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"DenyAllOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all outbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Outbound\\"}}]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9519543Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f7ec8371-3033-467f-923d-2af6b2168b3a","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/f7ec8371-3033-467f-923d-2af6b2168b3a/ticks/636483935459206868","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"statusCode":"Created","serviceRequestId":"2127672f-cb17-4957-a6fa-9c3d112bf86d","responseBody":"{\\"name\\":\\"k8s-master-25033075-routetable\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable\\",\\"etag\\":\\"W/\\\\\\"e999d01a-3925-4d88-90ca-dde1e957723e\\\\\\"\\",\\"type\\":\\"Microsoft.Network/routeTables\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"2c300a3b-6237-4592-9fd0-a7eb3f365a28\\",\\"routes\\":[]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9206868Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2a0e4d77-1830-40c5-993e-af900e4260bb","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/2a0e4d77-1830-40c5-993e-af900e4260bb/ticks/636483935457956862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"e8611b1b-c62b-4d00-b87c-aea3bc210226"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7956862Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b/ticks/636483935457800589","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"570b1876-904b-4e3d-8154-3df414bd0c79"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7800589Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0f57cc09-3d02-401c-8e6e-7bda7cbd950d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/0f57cc09-3d02-401c-8e6e-7bda7cbd950d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"7ca02e9c-635f-488e-bbe3-921f51760a4d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/7ca02e9c-635f-488e-bbe3-921f51760a4d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"519755ef-e484-4243-bfeb-0edde3c8c163","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/519755ef-e484-4243-bfeb-0edde3c8c163/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"direction\\":\\"Inbound\\",\\"priority\\":101,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"direction\\":\\"Inbound\\",\\"priority\\":100,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"79ede4b5-7470-4d12-8d22-bbac17c48a8e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/79ede4b5-7470-4d12-8d22-bbac17c48a8e/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\"},\\"publicIPAllocationMethod\\":\\"Dynamic\\"}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d542e1b7-71de-4cde-929d-d1174ea92deb","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/d542e1b7-71de-4cde-929d-d1174ea92deb/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\"}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"34efd43d-0a0b-47a6-be9e-3e3fd74265ad","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/34efd43d-0a0b-47a6-be9e-3e3fd74265ad/ticks/636483935441012452","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"properties":{"statusCode":"OK","serviceRequestId":null},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:04.1012452Z","submissionTimestamp":"2017-12-09T05:19:19.9694084Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"745490e4-6d74-4e41-ac44-1d5e5b10b68d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/745490e4-6d74-4e41-ac44-1d5e5b10b68d/ticks/636483935404291527","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:00.4291527Z","submissionTimestamp":"2017-12-09T05:19:19.9684077Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"}]}' -DEBUG: adal-python : 84e43bb1-2479-48a4-bb88-fce834eca9aa - Authority:Performing instance discovery: https://login.microsoftonline.com/52807a8b-794c-4c07-825f-578847e1257e -DEBUG: adal-python : 84e43bb1-2479-48a4-bb88-fce834eca9aa - Authority:Performing static instance discovery -DEBUG: adal-python : 84e43bb1-2479-48a4-bb88-fce834eca9aa - Authority:Authority validated via static instance discovery -INFO: adal-python : 84e43bb1-2479-48a4-bb88-fce834eca9aa - TokenRequest:Getting token from cache with refresh if necessary. -DEBUG: adal-python : 84e43bb1-2479-48a4-bb88-fce834eca9aa - OAuth2Client:finding with query: {"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 84e43bb1-2479-48a4-bb88-fce834eca9aa - OAuth2Client:Looking for potential cache entries: -DEBUG: adal-python : 84e43bb1-2479-48a4-bb88-fce834eca9aa - OAuth2Client:{"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 84e43bb1-2479-48a4-bb88-fce834eca9aa - OAuth2Client:Found 4 potential entries. -DEBUG: adal-python : 84e43bb1-2479-48a4-bb88-fce834eca9aa - OAuth2Client:Resource specific token found. -DEBUG: adal-python : 84e43bb1-2479-48a4-bb88-fce834eca9aa - OAuth2Client:Returning token from cache lookup, AccessTokenId: b'kslIbWka8YbxRUy8vLy6JNH7izY8GoVPIpyFsPticn4=', RefreshTokenId: b'ZKVr4cTgxa0EDZ2Kgqem4UHxIsbWBdRNnpWnblHwFnE=' -DEBUG: msrest.pipeline : Configuring request: timeout=100, verify=True, cert=None -DEBUG: msrest.pipeline : Configuring redirects: allow=True, max=30 -DEBUG: msrest.pipeline : Configuring proxies: '' -DEBUG: msrest.pipeline : Evaluate proxies against ENV settings: True -DEBUG: msrest.pipeline : Configuring retry: max_retries=4, backoff_factor=0.8, max_backoff=90 -DEBUG: urllib3.connectionpool : Starting new HTTPS connection (1): management.azure.com -DEBUG: urllib3.connectionpool : https://management.azure.com:443 "GET /subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/operationStatuses/08586888101433128342?api-version=2017-05-10 HTTP/1.1" 200 140 -DEBUG: msrest.http_logger : Request URL: 'https://management.azure.com/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/operationStatuses/08586888101433128342?api-version=2017-05-10' -DEBUG: msrest.http_logger : Request method: 'GET' -DEBUG: msrest.http_logger : Request headers: -DEBUG: msrest.http_logger : 'User-Agent': 'python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.19 msrest_azure/0.4.17 resourcemanagementclient/1.2.1 Azure-SDK-For-Python AZURECLI/2.0.22' -DEBUG: msrest.http_logger : 'Accept-Encoding': 'gzip, deflate' -DEBUG: msrest.http_logger : 'Accept': 'application/json' -DEBUG: msrest.http_logger : 'Connection': 'keep-alive' -DEBUG: msrest.http_logger : 'Authorization': '*****' -DEBUG: msrest.http_logger : 'x-ms-client-request-id': '7538e6de-dca0-11e7-b921-e4b3187aa3c2' -DEBUG: msrest.http_logger : 'CommandName': 'group deployment create' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'accept-language': 'en-US' -DEBUG: msrest.http_logger : Request body: -DEBUG: msrest.http_logger : None -DEBUG: msrest.http_logger : Response status: 200 -DEBUG: msrest.http_logger : Response headers: -DEBUG: msrest.http_logger : 'Cache-Control': 'no-cache' -DEBUG: msrest.http_logger : 'Pragma': 'no-cache' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'Content-Encoding': 'gzip' -DEBUG: msrest.http_logger : 'Expires': '-1' -DEBUG: msrest.http_logger : 'Vary': 'Accept-Encoding' -DEBUG: msrest.http_logger : 'x-ms-ratelimit-remaining-subscription-reads': '14943' -DEBUG: msrest.http_logger : 'x-ms-request-id': '9d1f600d-d2d5-42ce-8180-d58d0f1300cc' -DEBUG: msrest.http_logger : 'x-ms-correlation-request-id': '9d1f600d-d2d5-42ce-8180-d58d0f1300cc' -DEBUG: msrest.http_logger : 'x-ms-routing-request-id': 'NORTHCENTRALUS:20171209T052039Z:9d1f600d-d2d5-42ce-8180-d58d0f1300cc' -DEBUG: msrest.http_logger : 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains' -DEBUG: msrest.http_logger : 'Date': 'Sat, 09 Dec 2017 05:20:39 GMT' -DEBUG: msrest.http_logger : 'Content-Length': '140' -DEBUG: msrest.http_logger : Response content: -DEBUG: msrest.http_logger : b'{"status":"Running"}' -DEBUG: Getting management service client client_type=MonitorManagementClient -DEBUG: adal-python : b5e63edc-aad2-4586-a877-3ef693bd5978 - Authority:Performing instance discovery: https://login.microsoftonline.com/52807a8b-794c-4c07-825f-578847e1257e -DEBUG: adal-python : b5e63edc-aad2-4586-a877-3ef693bd5978 - Authority:Performing static instance discovery -DEBUG: adal-python : b5e63edc-aad2-4586-a877-3ef693bd5978 - Authority:Authority validated via static instance discovery -INFO: adal-python : b5e63edc-aad2-4586-a877-3ef693bd5978 - TokenRequest:Getting token from cache with refresh if necessary. -DEBUG: adal-python : b5e63edc-aad2-4586-a877-3ef693bd5978 - OAuth2Client:finding with query: {"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : b5e63edc-aad2-4586-a877-3ef693bd5978 - OAuth2Client:Looking for potential cache entries: -DEBUG: adal-python : b5e63edc-aad2-4586-a877-3ef693bd5978 - OAuth2Client:{"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : b5e63edc-aad2-4586-a877-3ef693bd5978 - OAuth2Client:Found 4 potential entries. -DEBUG: adal-python : b5e63edc-aad2-4586-a877-3ef693bd5978 - OAuth2Client:Resource specific token found. -DEBUG: adal-python : b5e63edc-aad2-4586-a877-3ef693bd5978 - OAuth2Client:Returning token from cache lookup, AccessTokenId: b'kslIbWka8YbxRUy8vLy6JNH7izY8GoVPIpyFsPticn4=', RefreshTokenId: b'ZKVr4cTgxa0EDZ2Kgqem4UHxIsbWBdRNnpWnblHwFnE=' -DEBUG: msrest.pipeline : Configuring request: timeout=100, verify=True, cert=None -DEBUG: msrest.pipeline : Configuring redirects: allow=True, max=30 -DEBUG: msrest.pipeline : Configuring proxies: '' -DEBUG: msrest.pipeline : Evaluate proxies against ENV settings: True -DEBUG: msrest.pipeline : Configuring retry: max_retries=4, backoff_factor=0.8, max_backoff=90 -DEBUG: urllib3.connectionpool : Starting new HTTPS connection (1): management.azure.com -DEBUG: urllib3.connectionpool : https://management.azure.com:443 "GET /subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A20%3A39Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27 HTTP/1.1" 200 None -DEBUG: msrest.http_logger : Request URL: 'https://management.azure.com/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A20%3A39Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27' -DEBUG: msrest.http_logger : Request method: 'GET' -DEBUG: msrest.http_logger : Request headers: -DEBUG: msrest.http_logger : 'User-Agent': 'python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.19 msrest_azure/0.4.17 monitormanagementclient/0.4.0 Azure-SDK-For-Python AZURECLI/2.0.22' -DEBUG: msrest.http_logger : 'Accept-Encoding': 'gzip, deflate' -DEBUG: msrest.http_logger : 'Accept': 'application/json' -DEBUG: msrest.http_logger : 'Connection': 'keep-alive' -DEBUG: msrest.http_logger : 'Authorization': '*****' -DEBUG: msrest.http_logger : 'x-ms-client-request-id': '7538e6de-dca0-11e7-b921-e4b3187aa3c2' -DEBUG: msrest.http_logger : 'CommandName': 'group deployment create' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'accept-language': 'en-US' -DEBUG: msrest.http_logger : Request body: -DEBUG: msrest.http_logger : None -DEBUG: msrest.http_logger : Response status: 200 -DEBUG: msrest.http_logger : Response headers: -DEBUG: msrest.http_logger : 'Cache-Control': 'no-cache' -DEBUG: msrest.http_logger : 'Pragma': 'no-cache' -DEBUG: msrest.http_logger : 'Transfer-Encoding': 'chunked' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'Content-Encoding': 'gzip' -DEBUG: msrest.http_logger : 'Expires': '-1' -DEBUG: msrest.http_logger : 'Vary': 'Accept-Encoding,Accept-Encoding' -DEBUG: msrest.http_logger : 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains' -DEBUG: msrest.http_logger : 'x-ms-request-id': 'EastUS_54d59906322a42b78f8d3af8a963a081_636483936405452444' -DEBUG: msrest.http_logger : 'Server': 'Microsoft-IIS/8.5' -DEBUG: msrest.http_logger : 'x-ms-ratelimit-remaining-subscription-reads': '14958' -DEBUG: msrest.http_logger : 'x-ms-correlation-request-id': 'b5b807fc-2d00-475e-afe8-a12946842e97' -DEBUG: msrest.http_logger : 'x-ms-routing-request-id': 'NORTHCENTRALUS:20171209T052040Z:b5b807fc-2d00-475e-afe8-a12946842e97' -DEBUG: msrest.http_logger : 'Date': 'Sat, 09 Dec 2017 05:20:40 GMT' -DEBUG: msrest.http_logger : Response content: -DEBUG: msrest.http_logger : b'{"value":[{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"84e69362-734a-4d01-ad67-d40a51071911","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/84e69362-734a-4d01-ad67-d40a51071911/ticks/636483936133495638","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3931a993-da5d-4ffb-a53f-3725fe41f9b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:13.3495638Z","submissionTimestamp":"2017-12-09T05:20:29.7480002Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"172ee1ce-a08c-4869-808b-aefc97479870","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/172ee1ce-a08c-4869-808b-aefc97479870/ticks/636483936102743029","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3bacb20e-3fc2-4bcf-ad42-67cd9a56ee8e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:10.2743029Z","submissionTimestamp":"2017-12-09T05:20:29.3964496Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c863e3ad-861a-4842-9bed-5d7b5c21f752","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/c863e3ad-861a-4842-9bed-5d7b5c21f752/ticks/636483935975493658","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3c059bde-9ba7-4705-a46a-90f041019563","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:57.5493658Z","submissionTimestamp":"2017-12-09T05:20:10.1148471Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218/ticks/636483935968523897","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"6b4f8ac8-b6be-4676-a1ef-c2efd07639b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:56.8523897Z","submissionTimestamp":"2017-12-09T05:20:10.2353207Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2/ticks/636483935945781875","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"502f330f-757e-492a-bf5d-8b2c1a9c5e87","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:54.5781875Z","submissionTimestamp":"2017-12-09T05:20:09.9808359Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"629517bd-3422-4799-aed0-e76166f332df","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/629517bd-3422-4799-aed0-e76166f332df/ticks/636483935815203536","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"608c44ca-b946-4085-b677-c60b4364cd4f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.5203536Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0a3e8fa0-b1aa-430d-813d-717d9ccaba43","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/0a3e8fa0-b1aa-430d-813d-717d9ccaba43/ticks/636483935813640803","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"e8a78a19-e992-4a15-9b9d-1d396e76841e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.3640803Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f502a53a-bef1-45ce-a64f-3cec67be9e74","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/f502a53a-bef1-45ce-a64f-3cec67be9e74/ticks/636483935785592969","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"934cbf0a-66c3-40ac-83ad-5a900bd0a3ee","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:38.5592969Z","submissionTimestamp":"2017-12-09T05:20:00.1233196Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"76b649ce-1ebe-4dac-89a1-78bd004fbdbe","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/76b649ce-1ebe-4dac-89a1-78bd004fbdbe/ticks/636483935662684070","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"2368e683-ae0d-4e05-93f7-5251dd7859ff"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:26.268407Z","submissionTimestamp":"2017-12-09T05:19:40.0013894Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0/ticks/636483935658854059","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"770228b2-9970-4da2-8bb3-5eb17f427abd"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:25.8854059Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2ef95b9d-6cc9-4eaa-a265-599681ba4120","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/2ef95b9d-6cc9-4eaa-a265-599681ba4120/ticks/636483935628933848","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.8933848Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"fe383666-3d1f-445b-a21a-bfe1cb911e8f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/fe383666-3d1f-445b-a21a-bfe1cb911e8f/ticks/636483935626751699","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"97c87afe-ca58-46e2-8944-72c541d4a229"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.6751699Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"4c47093b-1a6c-422e-be0d-3b610067fa96","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/4c47093b-1a6c-422e-be0d-3b610067fa96/ticks/636483935624715321","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0179ac94-8373-4392-87f6-59dce144ba0a","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"40a6b458-3268-400a-b594-b782474e5613\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.5\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.4715321Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"18a7b81d-bf54-4f62-9028-d2f0d1507d78","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/18a7b81d-bf54-4f62-9028-d2f0d1507d78/ticks/636483935623914480","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.391448Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b6cc422e-578b-40e7-9436-142f9f132b8c","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/b6cc422e-578b-40e7-9436-142f9f132b8c/ticks/636483935619695965","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0488286b-cd93-4ba0-95c2-39b32adf684e","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"6e8dafff-a250-48f1-98f8-81ba6740af90\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.4\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:21.9695965Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1deef98-0832-4f8b-80f9-845dbd487bbd","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/b1deef98-0832-4f8b-80f9-845dbd487bbd/ticks/636483935615187666","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:21.5187666Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0c815960-230e-4117-b401-3fcfbcd9634b","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/0c815960-230e-4117-b401-3fcfbcd9634b/ticks/636483935608915102","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:20.8915102Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3b3a8117-8604-4212-a730-3d8b798b473d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/3b3a8117-8604-4212-a730-3d8b798b473d/ticks/636483935588001992","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:18.8001992Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1b08df7-d8a3-4198-90aa-b6f497d4c3a6","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/b1b08df7-d8a3-4198-90aa-b6f497d4c3a6/ticks/636483935584565023","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"cfbdf455-8659-44f0-a969-ca5c5fff6a82","responseBody":"{\\"name\\":\\"k8s-master-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"287a1f86-dcd9-479b-95f3-855f558519e8\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\",\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}]}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:18.4565023Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"eafa3e8d-bb05-4cbc-831b-515b421feb6c","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/eafa3e8d-bb05-4cbc-831b-515b421feb6c/ticks/636483935576596018","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}],\\"primary\\":true,\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.6596018Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0630ea34-5e08-4df7-806c-5ba277e8ee98","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/0630ea34-5e08-4df7-806c-5ba277e8ee98/ticks/636483935574567301","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"010e332e-ae98-4d7f-8d89-b13bcd67dd82","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.4567301Z","submissionTimestamp":"2017-12-09T05:19:29.9175501Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"23c16967-c5de-434a-883d-9dcbb5cf7910","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/23c16967-c5de-434a-883d-9dcbb5cf7910/ticks/636483935571498862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"9d8c0359-5075-4aa5-9300-41c5abe70457","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.1498862Z","submissionTimestamp":"2017-12-09T05:19:29.9514229Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3637760d-70c1-4541-a66a-eba014903301","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/3637760d-70c1-4541-a66a-eba014903301/ticks/636483935514628368","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"4d2efcf5-cd3f-47e1-87b4-25ee3eb24361","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.4628368Z","submissionTimestamp":"2017-12-09T05:19:29.8886293Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"96b089d0-749d-4278-a2b9-20d010d8eb76","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/96b089d0-749d-4278-a2b9-20d010d8eb76/ticks/636483935512332041","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"properties":{"statusCode":"Created","serviceRequestId":"fcd5a581-c4fa-4f03-9aeb-4aa694a54fbd"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:11.2332041Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"37a4a8ec-5993-4756-881c-7f6fe9d2b415","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/37a4a8ec-5993-4756-881c-7f6fe9d2b415/ticks/636483935510457343","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.0457343Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c0f2181e-829d-4b04-96e6-91d90ffe74c8","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/c0f2181e-829d-4b04-96e6-91d90ffe74c8/ticks/636483935507957703","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"statusCode":"Created","serviceRequestId":"3a931eae-ac9c-414f-b748-d28628f2c996","responseBody":"{\\"name\\":\\"k8s-master-lb-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"type\\":\\"Microsoft.Network/loadBalancers\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"a8c2b30a-7f33-4beb-b9e6-1cfb8b254ef3\\",\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"},\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"idleTimeoutInMinutes\\":5,\\"protocol\\":\\"Tcp\\",\\"loadDistribution\\":\\"Default\\",\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"}}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"protocol\\":\\"Tcp\\",\\"port\\":443,\\"intervalInSeconds\\":5,\\"numberOfProbes\\":2,\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"inboundNatRules\\":[],\\"outboundNatRules\\":[],\\"inboundNatPools\\":[]}}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:10.7957703Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e/ticks/636483935499050370","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\"}],\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"properties\\":{\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"}}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"properties\\":{\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"idleTimeoutInMinutes\\":5,\\"loadDistribution\\":\\"Default\\",\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"},\\"protocol\\":\\"tcp\\"}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"properties\\":{\\"intervalInSeconds\\":\\"5\\",\\"numberOfProbes\\":\\"2\\",\\"port\\":443,\\"protocol\\":\\"tcp\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:09.905037Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"42843e04-3819-4b19-8a25-1ec0a7634855","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/42843e04-3819-4b19-8a25-1ec0a7634855/ticks/636483935462644362","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"statusCode":"Created","serviceRequestId":"73c1ebb8-ec8b-41d5-aaf6-128425b11048","responseBody":"{\\"name\\":\\"k8s-master-ip-fabricnlp9-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\",\\"etag\\":\\"W/\\\\\\"2aece227-86b3-4d07-80e1-505ad9e017b3\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"08ac6d19-b8e9-4187-a993-feb5207a6768\\",\\"publicIPAddressVersion\\":\\"IPv4\\",\\"publicIPAllocationMethod\\":\\"Dynamic\\",\\"idleTimeoutInMinutes\\":4,\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\",\\"fqdn\\":\\"fabricnlp9.eastus.cloudapp.azure.com\\"}},\\"type\\":\\"Microsoft.Network/publicIPAddresses\\"}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:06.2644362Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c961bc1c-adc5-4f0b-a850-02060fdf468f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/c961bc1c-adc5-4f0b-a850-02060fdf468f/ticks/636483935459519543","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"statusCode":"Created","serviceRequestId":"cbec7ef0-5357-4ce4-b2ce-5d79377a7871","responseBody":"{\\"name\\":\\"k8s-master-25033075-nsg\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"type\\":\\"Microsoft.Network/networkSecurityGroups\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"0e94a593-0195-4379-b798-56011f9e1b99\\",\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_ssh\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":101,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_kube_tls\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":100,\\"direction\\":\\"Inbound\\"}}],\\"defaultSecurityRules\\":[{\\"name\\":\\"AllowVnetInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowAzureLoadBalancerInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowAzureLoadBalancerInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from azure load balancer\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"AzureLoadBalancer\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"DenyAllInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all inbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowVnetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"AllowInternetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowInternetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to Internet\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"Internet\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"DenyAllOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all outbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Outbound\\"}}]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9519543Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f7ec8371-3033-467f-923d-2af6b2168b3a","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/f7ec8371-3033-467f-923d-2af6b2168b3a/ticks/636483935459206868","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"statusCode":"Created","serviceRequestId":"2127672f-cb17-4957-a6fa-9c3d112bf86d","responseBody":"{\\"name\\":\\"k8s-master-25033075-routetable\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable\\",\\"etag\\":\\"W/\\\\\\"e999d01a-3925-4d88-90ca-dde1e957723e\\\\\\"\\",\\"type\\":\\"Microsoft.Network/routeTables\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"2c300a3b-6237-4592-9fd0-a7eb3f365a28\\",\\"routes\\":[]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9206868Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2a0e4d77-1830-40c5-993e-af900e4260bb","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/2a0e4d77-1830-40c5-993e-af900e4260bb/ticks/636483935457956862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"e8611b1b-c62b-4d00-b87c-aea3bc210226"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7956862Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b/ticks/636483935457800589","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"570b1876-904b-4e3d-8154-3df414bd0c79"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7800589Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0f57cc09-3d02-401c-8e6e-7bda7cbd950d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/0f57cc09-3d02-401c-8e6e-7bda7cbd950d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"7ca02e9c-635f-488e-bbe3-921f51760a4d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/7ca02e9c-635f-488e-bbe3-921f51760a4d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"519755ef-e484-4243-bfeb-0edde3c8c163","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/519755ef-e484-4243-bfeb-0edde3c8c163/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"direction\\":\\"Inbound\\",\\"priority\\":101,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"direction\\":\\"Inbound\\",\\"priority\\":100,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"79ede4b5-7470-4d12-8d22-bbac17c48a8e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/79ede4b5-7470-4d12-8d22-bbac17c48a8e/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\"},\\"publicIPAllocationMethod\\":\\"Dynamic\\"}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d542e1b7-71de-4cde-929d-d1174ea92deb","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/d542e1b7-71de-4cde-929d-d1174ea92deb/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\"}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"34efd43d-0a0b-47a6-be9e-3e3fd74265ad","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/34efd43d-0a0b-47a6-be9e-3e3fd74265ad/ticks/636483935441012452","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"properties":{"statusCode":"OK","serviceRequestId":null},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:04.1012452Z","submissionTimestamp":"2017-12-09T05:19:19.9694084Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"745490e4-6d74-4e41-ac44-1d5e5b10b68d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/745490e4-6d74-4e41-ac44-1d5e5b10b68d/ticks/636483935404291527","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:00.4291527Z","submissionTimestamp":"2017-12-09T05:19:19.9684077Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"}]}' -DEBUG: Getting management service client client_type=MonitorManagementClient -DEBUG: adal-python : de2a85f0-aa72-45f7-b7c3-bc21ad75ac90 - Authority:Performing instance discovery: https://login.microsoftonline.com/52807a8b-794c-4c07-825f-578847e1257e -DEBUG: adal-python : de2a85f0-aa72-45f7-b7c3-bc21ad75ac90 - Authority:Performing static instance discovery -DEBUG: adal-python : de2a85f0-aa72-45f7-b7c3-bc21ad75ac90 - Authority:Authority validated via static instance discovery -INFO: adal-python : de2a85f0-aa72-45f7-b7c3-bc21ad75ac90 - TokenRequest:Getting token from cache with refresh if necessary. -DEBUG: adal-python : de2a85f0-aa72-45f7-b7c3-bc21ad75ac90 - OAuth2Client:finding with query: {"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : de2a85f0-aa72-45f7-b7c3-bc21ad75ac90 - OAuth2Client:Looking for potential cache entries: -DEBUG: adal-python : de2a85f0-aa72-45f7-b7c3-bc21ad75ac90 - OAuth2Client:{"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : de2a85f0-aa72-45f7-b7c3-bc21ad75ac90 - OAuth2Client:Found 4 potential entries. -DEBUG: adal-python : de2a85f0-aa72-45f7-b7c3-bc21ad75ac90 - OAuth2Client:Resource specific token found. -DEBUG: adal-python : de2a85f0-aa72-45f7-b7c3-bc21ad75ac90 - OAuth2Client:Returning token from cache lookup, AccessTokenId: b'kslIbWka8YbxRUy8vLy6JNH7izY8GoVPIpyFsPticn4=', RefreshTokenId: b'ZKVr4cTgxa0EDZ2Kgqem4UHxIsbWBdRNnpWnblHwFnE=' -DEBUG: msrest.pipeline : Configuring request: timeout=100, verify=True, cert=None -DEBUG: msrest.pipeline : Configuring redirects: allow=True, max=30 -DEBUG: msrest.pipeline : Configuring proxies: '' -DEBUG: msrest.pipeline : Evaluate proxies against ENV settings: True -DEBUG: msrest.pipeline : Configuring retry: max_retries=4, backoff_factor=0.8, max_backoff=90 -DEBUG: urllib3.connectionpool : Starting new HTTPS connection (1): management.azure.com -DEBUG: urllib3.connectionpool : https://management.azure.com:443 "GET /subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A20%3A50Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27 HTTP/1.1" 200 None -DEBUG: msrest.http_logger : Request URL: 'https://management.azure.com/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A20%3A50Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27' -DEBUG: msrest.http_logger : Request method: 'GET' -DEBUG: msrest.http_logger : Request headers: -DEBUG: msrest.http_logger : 'User-Agent': 'python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.19 msrest_azure/0.4.17 monitormanagementclient/0.4.0 Azure-SDK-For-Python AZURECLI/2.0.22' -DEBUG: msrest.http_logger : 'Accept-Encoding': 'gzip, deflate' -DEBUG: msrest.http_logger : 'Accept': 'application/json' -DEBUG: msrest.http_logger : 'Connection': 'keep-alive' -DEBUG: msrest.http_logger : 'Authorization': '*****' -DEBUG: msrest.http_logger : 'x-ms-client-request-id': '7538e6de-dca0-11e7-b921-e4b3187aa3c2' -DEBUG: msrest.http_logger : 'CommandName': 'group deployment create' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'accept-language': 'en-US' -DEBUG: msrest.http_logger : Request body: -DEBUG: msrest.http_logger : None -DEBUG: msrest.http_logger : Response status: 200 -DEBUG: msrest.http_logger : Response headers: -DEBUG: msrest.http_logger : 'Cache-Control': 'no-cache' -DEBUG: msrest.http_logger : 'Pragma': 'no-cache' -DEBUG: msrest.http_logger : 'Transfer-Encoding': 'chunked' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'Content-Encoding': 'gzip' -DEBUG: msrest.http_logger : 'Expires': '-1' -DEBUG: msrest.http_logger : 'Vary': 'Accept-Encoding,Accept-Encoding' -DEBUG: msrest.http_logger : 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains' -DEBUG: msrest.http_logger : 'x-ms-request-id': 'EastUS_6f0df484ffd74fd68715d9e603be66f7_636483936600656522' -DEBUG: msrest.http_logger : 'Server': 'Microsoft-IIS/8.5' -DEBUG: msrest.http_logger : 'x-ms-ratelimit-remaining-subscription-reads': '14927' -DEBUG: msrest.http_logger : 'x-ms-correlation-request-id': 'd296cc29-2dc6-4c78-abc6-aed288516922' -DEBUG: msrest.http_logger : 'x-ms-routing-request-id': 'NORTHCENTRALUS:20171209T052100Z:d296cc29-2dc6-4c78-abc6-aed288516922' -DEBUG: msrest.http_logger : 'Date': 'Sat, 09 Dec 2017 05:20:59 GMT' -DEBUG: msrest.http_logger : Response content: -DEBUG: msrest.http_logger : b'{"value":[{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"766d0bab-9165-464a-94ae-105d8dcac708","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/766d0bab-9165-464a-94ae-105d8dcac708/ticks/636483936288958990","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"19b22b89-dd10-4c67-8c2c-4d458a4d51e7","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:28.895899Z","submissionTimestamp":"2017-12-09T05:20:50.0841006Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"e829aaf0-414c-46df-ab69-2d9f62986096","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/e829aaf0-414c-46df-ab69-2d9f62986096/ticks/636483936282577338","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"b2d3aa73-d783-4375-a064-98079cd2edaa","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:28.2577338Z","submissionTimestamp":"2017-12-09T05:20:39.9794141Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"fc96d187-16c7-4ea4-a80c-cb1abe3a938d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/fc96d187-16c7-4ea4-a80c-cb1abe3a938d/ticks/636483936269716382","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"9131a6b1-8c84-4761-85ba-9e155b40ffbe","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:26.9716382Z","submissionTimestamp":"2017-12-09T05:20:40.5339552Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"84e69362-734a-4d01-ad67-d40a51071911","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/84e69362-734a-4d01-ad67-d40a51071911/ticks/636483936133495638","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3931a993-da5d-4ffb-a53f-3725fe41f9b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:13.3495638Z","submissionTimestamp":"2017-12-09T05:20:29.7480002Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"172ee1ce-a08c-4869-808b-aefc97479870","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/172ee1ce-a08c-4869-808b-aefc97479870/ticks/636483936102743029","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3bacb20e-3fc2-4bcf-ad42-67cd9a56ee8e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:10.2743029Z","submissionTimestamp":"2017-12-09T05:20:29.3964496Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c863e3ad-861a-4842-9bed-5d7b5c21f752","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/c863e3ad-861a-4842-9bed-5d7b5c21f752/ticks/636483935975493658","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3c059bde-9ba7-4705-a46a-90f041019563","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:57.5493658Z","submissionTimestamp":"2017-12-09T05:20:10.1148471Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218/ticks/636483935968523897","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"6b4f8ac8-b6be-4676-a1ef-c2efd07639b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:56.8523897Z","submissionTimestamp":"2017-12-09T05:20:10.2353207Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2/ticks/636483935945781875","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"502f330f-757e-492a-bf5d-8b2c1a9c5e87","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:54.5781875Z","submissionTimestamp":"2017-12-09T05:20:09.9808359Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"629517bd-3422-4799-aed0-e76166f332df","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/629517bd-3422-4799-aed0-e76166f332df/ticks/636483935815203536","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"608c44ca-b946-4085-b677-c60b4364cd4f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.5203536Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0a3e8fa0-b1aa-430d-813d-717d9ccaba43","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/0a3e8fa0-b1aa-430d-813d-717d9ccaba43/ticks/636483935813640803","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"e8a78a19-e992-4a15-9b9d-1d396e76841e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.3640803Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f502a53a-bef1-45ce-a64f-3cec67be9e74","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/f502a53a-bef1-45ce-a64f-3cec67be9e74/ticks/636483935785592969","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"934cbf0a-66c3-40ac-83ad-5a900bd0a3ee","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:38.5592969Z","submissionTimestamp":"2017-12-09T05:20:00.1233196Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"76b649ce-1ebe-4dac-89a1-78bd004fbdbe","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/76b649ce-1ebe-4dac-89a1-78bd004fbdbe/ticks/636483935662684070","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"2368e683-ae0d-4e05-93f7-5251dd7859ff"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:26.268407Z","submissionTimestamp":"2017-12-09T05:19:40.0013894Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0/ticks/636483935658854059","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"770228b2-9970-4da2-8bb3-5eb17f427abd"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:25.8854059Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2ef95b9d-6cc9-4eaa-a265-599681ba4120","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/2ef95b9d-6cc9-4eaa-a265-599681ba4120/ticks/636483935628933848","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.8933848Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"fe383666-3d1f-445b-a21a-bfe1cb911e8f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/fe383666-3d1f-445b-a21a-bfe1cb911e8f/ticks/636483935626751699","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"97c87afe-ca58-46e2-8944-72c541d4a229"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.6751699Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"4c47093b-1a6c-422e-be0d-3b610067fa96","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/4c47093b-1a6c-422e-be0d-3b610067fa96/ticks/636483935624715321","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0179ac94-8373-4392-87f6-59dce144ba0a","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"40a6b458-3268-400a-b594-b782474e5613\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.5\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.4715321Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"18a7b81d-bf54-4f62-9028-d2f0d1507d78","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/18a7b81d-bf54-4f62-9028-d2f0d1507d78/ticks/636483935623914480","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.391448Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b6cc422e-578b-40e7-9436-142f9f132b8c","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/b6cc422e-578b-40e7-9436-142f9f132b8c/ticks/636483935619695965","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0488286b-cd93-4ba0-95c2-39b32adf684e","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"6e8dafff-a250-48f1-98f8-81ba6740af90\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.4\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:21.9695965Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1deef98-0832-4f8b-80f9-845dbd487bbd","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/b1deef98-0832-4f8b-80f9-845dbd487bbd/ticks/636483935615187666","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:21.5187666Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0c815960-230e-4117-b401-3fcfbcd9634b","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/0c815960-230e-4117-b401-3fcfbcd9634b/ticks/636483935608915102","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:20.8915102Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3b3a8117-8604-4212-a730-3d8b798b473d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/3b3a8117-8604-4212-a730-3d8b798b473d/ticks/636483935588001992","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:18.8001992Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1b08df7-d8a3-4198-90aa-b6f497d4c3a6","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/b1b08df7-d8a3-4198-90aa-b6f497d4c3a6/ticks/636483935584565023","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"cfbdf455-8659-44f0-a969-ca5c5fff6a82","responseBody":"{\\"name\\":\\"k8s-master-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"287a1f86-dcd9-479b-95f3-855f558519e8\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\",\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}]}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:18.4565023Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"eafa3e8d-bb05-4cbc-831b-515b421feb6c","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/eafa3e8d-bb05-4cbc-831b-515b421feb6c/ticks/636483935576596018","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}],\\"primary\\":true,\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.6596018Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0630ea34-5e08-4df7-806c-5ba277e8ee98","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/0630ea34-5e08-4df7-806c-5ba277e8ee98/ticks/636483935574567301","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"010e332e-ae98-4d7f-8d89-b13bcd67dd82","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.4567301Z","submissionTimestamp":"2017-12-09T05:19:29.9175501Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"23c16967-c5de-434a-883d-9dcbb5cf7910","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/23c16967-c5de-434a-883d-9dcbb5cf7910/ticks/636483935571498862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"9d8c0359-5075-4aa5-9300-41c5abe70457","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.1498862Z","submissionTimestamp":"2017-12-09T05:19:29.9514229Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3637760d-70c1-4541-a66a-eba014903301","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/3637760d-70c1-4541-a66a-eba014903301/ticks/636483935514628368","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"4d2efcf5-cd3f-47e1-87b4-25ee3eb24361","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.4628368Z","submissionTimestamp":"2017-12-09T05:19:29.8886293Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"96b089d0-749d-4278-a2b9-20d010d8eb76","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/96b089d0-749d-4278-a2b9-20d010d8eb76/ticks/636483935512332041","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"properties":{"statusCode":"Created","serviceRequestId":"fcd5a581-c4fa-4f03-9aeb-4aa694a54fbd"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:11.2332041Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"37a4a8ec-5993-4756-881c-7f6fe9d2b415","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/37a4a8ec-5993-4756-881c-7f6fe9d2b415/ticks/636483935510457343","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.0457343Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c0f2181e-829d-4b04-96e6-91d90ffe74c8","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/c0f2181e-829d-4b04-96e6-91d90ffe74c8/ticks/636483935507957703","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"statusCode":"Created","serviceRequestId":"3a931eae-ac9c-414f-b748-d28628f2c996","responseBody":"{\\"name\\":\\"k8s-master-lb-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"type\\":\\"Microsoft.Network/loadBalancers\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"a8c2b30a-7f33-4beb-b9e6-1cfb8b254ef3\\",\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"},\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"idleTimeoutInMinutes\\":5,\\"protocol\\":\\"Tcp\\",\\"loadDistribution\\":\\"Default\\",\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"}}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"protocol\\":\\"Tcp\\",\\"port\\":443,\\"intervalInSeconds\\":5,\\"numberOfProbes\\":2,\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"inboundNatRules\\":[],\\"outboundNatRules\\":[],\\"inboundNatPools\\":[]}}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:10.7957703Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e/ticks/636483935499050370","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\"}],\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"properties\\":{\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"}}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"properties\\":{\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"idleTimeoutInMinutes\\":5,\\"loadDistribution\\":\\"Default\\",\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"},\\"protocol\\":\\"tcp\\"}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"properties\\":{\\"intervalInSeconds\\":\\"5\\",\\"numberOfProbes\\":\\"2\\",\\"port\\":443,\\"protocol\\":\\"tcp\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:09.905037Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"42843e04-3819-4b19-8a25-1ec0a7634855","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/42843e04-3819-4b19-8a25-1ec0a7634855/ticks/636483935462644362","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"statusCode":"Created","serviceRequestId":"73c1ebb8-ec8b-41d5-aaf6-128425b11048","responseBody":"{\\"name\\":\\"k8s-master-ip-fabricnlp9-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\",\\"etag\\":\\"W/\\\\\\"2aece227-86b3-4d07-80e1-505ad9e017b3\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"08ac6d19-b8e9-4187-a993-feb5207a6768\\",\\"publicIPAddressVersion\\":\\"IPv4\\",\\"publicIPAllocationMethod\\":\\"Dynamic\\",\\"idleTimeoutInMinutes\\":4,\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\",\\"fqdn\\":\\"fabricnlp9.eastus.cloudapp.azure.com\\"}},\\"type\\":\\"Microsoft.Network/publicIPAddresses\\"}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:06.2644362Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c961bc1c-adc5-4f0b-a850-02060fdf468f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/c961bc1c-adc5-4f0b-a850-02060fdf468f/ticks/636483935459519543","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"statusCode":"Created","serviceRequestId":"cbec7ef0-5357-4ce4-b2ce-5d79377a7871","responseBody":"{\\"name\\":\\"k8s-master-25033075-nsg\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"type\\":\\"Microsoft.Network/networkSecurityGroups\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"0e94a593-0195-4379-b798-56011f9e1b99\\",\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_ssh\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":101,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_kube_tls\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":100,\\"direction\\":\\"Inbound\\"}}],\\"defaultSecurityRules\\":[{\\"name\\":\\"AllowVnetInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowAzureLoadBalancerInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowAzureLoadBalancerInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from azure load balancer\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"AzureLoadBalancer\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"DenyAllInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all inbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowVnetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"AllowInternetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowInternetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to Internet\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"Internet\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"DenyAllOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all outbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Outbound\\"}}]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9519543Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f7ec8371-3033-467f-923d-2af6b2168b3a","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/f7ec8371-3033-467f-923d-2af6b2168b3a/ticks/636483935459206868","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"statusCode":"Created","serviceRequestId":"2127672f-cb17-4957-a6fa-9c3d112bf86d","responseBody":"{\\"name\\":\\"k8s-master-25033075-routetable\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable\\",\\"etag\\":\\"W/\\\\\\"e999d01a-3925-4d88-90ca-dde1e957723e\\\\\\"\\",\\"type\\":\\"Microsoft.Network/routeTables\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"2c300a3b-6237-4592-9fd0-a7eb3f365a28\\",\\"routes\\":[]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9206868Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2a0e4d77-1830-40c5-993e-af900e4260bb","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/2a0e4d77-1830-40c5-993e-af900e4260bb/ticks/636483935457956862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"e8611b1b-c62b-4d00-b87c-aea3bc210226"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7956862Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b/ticks/636483935457800589","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"570b1876-904b-4e3d-8154-3df414bd0c79"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7800589Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0f57cc09-3d02-401c-8e6e-7bda7cbd950d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/0f57cc09-3d02-401c-8e6e-7bda7cbd950d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"7ca02e9c-635f-488e-bbe3-921f51760a4d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/7ca02e9c-635f-488e-bbe3-921f51760a4d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"519755ef-e484-4243-bfeb-0edde3c8c163","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/519755ef-e484-4243-bfeb-0edde3c8c163/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"direction\\":\\"Inbound\\",\\"priority\\":101,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"direction\\":\\"Inbound\\",\\"priority\\":100,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"79ede4b5-7470-4d12-8d22-bbac17c48a8e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/79ede4b5-7470-4d12-8d22-bbac17c48a8e/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\"},\\"publicIPAllocationMethod\\":\\"Dynamic\\"}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d542e1b7-71de-4cde-929d-d1174ea92deb","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/d542e1b7-71de-4cde-929d-d1174ea92deb/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\"}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"34efd43d-0a0b-47a6-be9e-3e3fd74265ad","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/34efd43d-0a0b-47a6-be9e-3e3fd74265ad/ticks/636483935441012452","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"properties":{"statusCode":"OK","serviceRequestId":null},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:04.1012452Z","submissionTimestamp":"2017-12-09T05:19:19.9694084Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"745490e4-6d74-4e41-ac44-1d5e5b10b68d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/745490e4-6d74-4e41-ac44-1d5e5b10b68d/ticks/636483935404291527","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:00.4291527Z","submissionTimestamp":"2017-12-09T05:19:19.9684077Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"}]}' -DEBUG: Getting management service client client_type=MonitorManagementClient -DEBUG: adal-python : 99a732ce-c4f1-4ab8-b238-2eccb2844bd0 - Authority:Performing instance discovery: https://login.microsoftonline.com/52807a8b-794c-4c07-825f-578847e1257e -DEBUG: adal-python : 99a732ce-c4f1-4ab8-b238-2eccb2844bd0 - Authority:Performing static instance discovery -DEBUG: adal-python : 99a732ce-c4f1-4ab8-b238-2eccb2844bd0 - Authority:Authority validated via static instance discovery -INFO: adal-python : 99a732ce-c4f1-4ab8-b238-2eccb2844bd0 - TokenRequest:Getting token from cache with refresh if necessary. -DEBUG: adal-python : 99a732ce-c4f1-4ab8-b238-2eccb2844bd0 - OAuth2Client:finding with query: {"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 99a732ce-c4f1-4ab8-b238-2eccb2844bd0 - OAuth2Client:Looking for potential cache entries: -DEBUG: adal-python : 99a732ce-c4f1-4ab8-b238-2eccb2844bd0 - OAuth2Client:{"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 99a732ce-c4f1-4ab8-b238-2eccb2844bd0 - OAuth2Client:Found 4 potential entries. -DEBUG: adal-python : 99a732ce-c4f1-4ab8-b238-2eccb2844bd0 - OAuth2Client:Resource specific token found. -DEBUG: adal-python : 99a732ce-c4f1-4ab8-b238-2eccb2844bd0 - OAuth2Client:Returning token from cache lookup, AccessTokenId: b'kslIbWka8YbxRUy8vLy6JNH7izY8GoVPIpyFsPticn4=', RefreshTokenId: b'ZKVr4cTgxa0EDZ2Kgqem4UHxIsbWBdRNnpWnblHwFnE=' -DEBUG: msrest.pipeline : Configuring request: timeout=100, verify=True, cert=None -DEBUG: msrest.pipeline : Configuring redirects: allow=True, max=30 -DEBUG: msrest.pipeline : Configuring proxies: '' -DEBUG: msrest.pipeline : Evaluate proxies against ENV settings: True -DEBUG: msrest.pipeline : Configuring retry: max_retries=4, backoff_factor=0.8, max_backoff=90 -DEBUG: urllib3.connectionpool : Starting new HTTPS connection (1): management.azure.com -DEBUG: urllib3.connectionpool : https://management.azure.com:443 "GET /subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A21%3A01Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27 HTTP/1.1" 200 None -DEBUG: msrest.http_logger : Request URL: 'https://management.azure.com/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A21%3A01Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27' -DEBUG: msrest.http_logger : Request method: 'GET' -DEBUG: msrest.http_logger : Request headers: -DEBUG: msrest.http_logger : 'User-Agent': 'python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.19 msrest_azure/0.4.17 monitormanagementclient/0.4.0 Azure-SDK-For-Python AZURECLI/2.0.22' -DEBUG: msrest.http_logger : 'Accept-Encoding': 'gzip, deflate' -DEBUG: msrest.http_logger : 'Accept': 'application/json' -DEBUG: msrest.http_logger : 'Connection': 'keep-alive' -DEBUG: msrest.http_logger : 'Authorization': '*****' -DEBUG: msrest.http_logger : 'x-ms-client-request-id': '7538e6de-dca0-11e7-b921-e4b3187aa3c2' -DEBUG: msrest.http_logger : 'CommandName': 'group deployment create' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'accept-language': 'en-US' -DEBUG: msrest.http_logger : Request body: -DEBUG: msrest.http_logger : None -DEBUG: msrest.http_logger : Response status: 200 -DEBUG: msrest.http_logger : Response headers: -DEBUG: msrest.http_logger : 'Cache-Control': 'no-cache' -DEBUG: msrest.http_logger : 'Pragma': 'no-cache' -DEBUG: msrest.http_logger : 'Transfer-Encoding': 'chunked' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'Content-Encoding': 'gzip' -DEBUG: msrest.http_logger : 'Expires': '-1' -DEBUG: msrest.http_logger : 'Vary': 'Accept-Encoding,Accept-Encoding' -DEBUG: msrest.http_logger : 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains' -DEBUG: msrest.http_logger : 'x-ms-request-id': 'EastUS_39836ef3d5474e4bb01b1e079921bcec_636483936620050523' -DEBUG: msrest.http_logger : 'Server': 'Microsoft-IIS/8.5' -DEBUG: msrest.http_logger : 'x-ms-ratelimit-remaining-subscription-reads': '14915' -DEBUG: msrest.http_logger : 'x-ms-correlation-request-id': '00b7b50f-7bea-49d4-8028-449fc666988f' -DEBUG: msrest.http_logger : 'x-ms-routing-request-id': 'NORTHCENTRALUS:20171209T052102Z:00b7b50f-7bea-49d4-8028-449fc666988f' -DEBUG: msrest.http_logger : 'Date': 'Sat, 09 Dec 2017 05:21:01 GMT' -DEBUG: msrest.http_logger : Response content: -DEBUG: msrest.http_logger : b'{"value":[{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c63c3a58-6e60-4d0a-8892-88771b5d2d2d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"06aebdda-7a37-4f4e-b766-26b3ea561951","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/c63c3a58-6e60-4d0a-8892-88771b5d2d2d/ticks/636483936458560786","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7e7d2109-9794-4a26-8444-026e9640661c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Created","serviceRequestId":"db62465a-e660-493e-8b3b-286ed8596452"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:20:45.8560786Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d256c2ab-b9ba-43ac-ba8d-bf1b809b8a9b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/d256c2ab-b9ba-43ac-ba8d-bf1b809b8a9b/ticks/636483936448959408","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"0e990a14-1a57-4ea2-8056-47380457fe70","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.8959408Z","submissionTimestamp":"2017-12-09T05:20:59.705539Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"efa72caa-24ef-4463-87bb-dff257d7896e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"06aebdda-7a37-4f4e-b766-26b3ea561951","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/efa72caa-24ef-4463-87bb-dff257d7896e/ticks/636483936445435451","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7e7d2109-9794-4a26-8444-026e9640661c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.5435451Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"078e8afb-ad14-432b-8327-9bd85371586b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/078e8afb-ad14-432b-8327-9bd85371586b/ticks/636483936443716624","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"35936685-5536-4681-a2c1-7882a7d6ea0f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.3716624Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6a34ff92-1bdb-40da-a940-ce61ee3143df","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/6a34ff92-1bdb-40da-a940-ce61ee3143df/ticks/636483936429993173","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"29718454-78c2-40c6-b631-71e4e334bcd8","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:42.9993173Z","submissionTimestamp":"2017-12-09T05:20:59.8731419Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"766d0bab-9165-464a-94ae-105d8dcac708","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/766d0bab-9165-464a-94ae-105d8dcac708/ticks/636483936288958990","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"19b22b89-dd10-4c67-8c2c-4d458a4d51e7","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:28.895899Z","submissionTimestamp":"2017-12-09T05:20:50.0841006Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"e829aaf0-414c-46df-ab69-2d9f62986096","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/e829aaf0-414c-46df-ab69-2d9f62986096/ticks/636483936282577338","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"b2d3aa73-d783-4375-a064-98079cd2edaa","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:28.2577338Z","submissionTimestamp":"2017-12-09T05:20:39.9794141Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"fc96d187-16c7-4ea4-a80c-cb1abe3a938d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/fc96d187-16c7-4ea4-a80c-cb1abe3a938d/ticks/636483936269716382","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"9131a6b1-8c84-4761-85ba-9e155b40ffbe","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:26.9716382Z","submissionTimestamp":"2017-12-09T05:20:40.5339552Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"84e69362-734a-4d01-ad67-d40a51071911","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/84e69362-734a-4d01-ad67-d40a51071911/ticks/636483936133495638","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3931a993-da5d-4ffb-a53f-3725fe41f9b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:13.3495638Z","submissionTimestamp":"2017-12-09T05:20:29.7480002Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"172ee1ce-a08c-4869-808b-aefc97479870","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/172ee1ce-a08c-4869-808b-aefc97479870/ticks/636483936102743029","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3bacb20e-3fc2-4bcf-ad42-67cd9a56ee8e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:10.2743029Z","submissionTimestamp":"2017-12-09T05:20:29.3964496Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c863e3ad-861a-4842-9bed-5d7b5c21f752","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/c863e3ad-861a-4842-9bed-5d7b5c21f752/ticks/636483935975493658","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3c059bde-9ba7-4705-a46a-90f041019563","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:57.5493658Z","submissionTimestamp":"2017-12-09T05:20:10.1148471Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218/ticks/636483935968523897","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"6b4f8ac8-b6be-4676-a1ef-c2efd07639b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:56.8523897Z","submissionTimestamp":"2017-12-09T05:20:10.2353207Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2/ticks/636483935945781875","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"502f330f-757e-492a-bf5d-8b2c1a9c5e87","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:54.5781875Z","submissionTimestamp":"2017-12-09T05:20:09.9808359Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"629517bd-3422-4799-aed0-e76166f332df","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/629517bd-3422-4799-aed0-e76166f332df/ticks/636483935815203536","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"608c44ca-b946-4085-b677-c60b4364cd4f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.5203536Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0a3e8fa0-b1aa-430d-813d-717d9ccaba43","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/0a3e8fa0-b1aa-430d-813d-717d9ccaba43/ticks/636483935813640803","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"e8a78a19-e992-4a15-9b9d-1d396e76841e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.3640803Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f502a53a-bef1-45ce-a64f-3cec67be9e74","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/f502a53a-bef1-45ce-a64f-3cec67be9e74/ticks/636483935785592969","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"934cbf0a-66c3-40ac-83ad-5a900bd0a3ee","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:38.5592969Z","submissionTimestamp":"2017-12-09T05:20:00.1233196Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"76b649ce-1ebe-4dac-89a1-78bd004fbdbe","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/76b649ce-1ebe-4dac-89a1-78bd004fbdbe/ticks/636483935662684070","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"2368e683-ae0d-4e05-93f7-5251dd7859ff"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:26.268407Z","submissionTimestamp":"2017-12-09T05:19:40.0013894Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0/ticks/636483935658854059","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"770228b2-9970-4da2-8bb3-5eb17f427abd"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:25.8854059Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2ef95b9d-6cc9-4eaa-a265-599681ba4120","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/2ef95b9d-6cc9-4eaa-a265-599681ba4120/ticks/636483935628933848","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.8933848Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"fe383666-3d1f-445b-a21a-bfe1cb911e8f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/fe383666-3d1f-445b-a21a-bfe1cb911e8f/ticks/636483935626751699","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"97c87afe-ca58-46e2-8944-72c541d4a229"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.6751699Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"4c47093b-1a6c-422e-be0d-3b610067fa96","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/4c47093b-1a6c-422e-be0d-3b610067fa96/ticks/636483935624715321","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0179ac94-8373-4392-87f6-59dce144ba0a","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"40a6b458-3268-400a-b594-b782474e5613\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.5\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.4715321Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"18a7b81d-bf54-4f62-9028-d2f0d1507d78","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/18a7b81d-bf54-4f62-9028-d2f0d1507d78/ticks/636483935623914480","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.391448Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b6cc422e-578b-40e7-9436-142f9f132b8c","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/b6cc422e-578b-40e7-9436-142f9f132b8c/ticks/636483935619695965","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0488286b-cd93-4ba0-95c2-39b32adf684e","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"6e8dafff-a250-48f1-98f8-81ba6740af90\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.4\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:21.9695965Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1deef98-0832-4f8b-80f9-845dbd487bbd","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/b1deef98-0832-4f8b-80f9-845dbd487bbd/ticks/636483935615187666","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:21.5187666Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0c815960-230e-4117-b401-3fcfbcd9634b","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/0c815960-230e-4117-b401-3fcfbcd9634b/ticks/636483935608915102","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:20.8915102Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3b3a8117-8604-4212-a730-3d8b798b473d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/3b3a8117-8604-4212-a730-3d8b798b473d/ticks/636483935588001992","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:18.8001992Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1b08df7-d8a3-4198-90aa-b6f497d4c3a6","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/b1b08df7-d8a3-4198-90aa-b6f497d4c3a6/ticks/636483935584565023","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"cfbdf455-8659-44f0-a969-ca5c5fff6a82","responseBody":"{\\"name\\":\\"k8s-master-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"287a1f86-dcd9-479b-95f3-855f558519e8\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\",\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}]}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:18.4565023Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"eafa3e8d-bb05-4cbc-831b-515b421feb6c","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/eafa3e8d-bb05-4cbc-831b-515b421feb6c/ticks/636483935576596018","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}],\\"primary\\":true,\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.6596018Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0630ea34-5e08-4df7-806c-5ba277e8ee98","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/0630ea34-5e08-4df7-806c-5ba277e8ee98/ticks/636483935574567301","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"010e332e-ae98-4d7f-8d89-b13bcd67dd82","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.4567301Z","submissionTimestamp":"2017-12-09T05:19:29.9175501Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"23c16967-c5de-434a-883d-9dcbb5cf7910","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/23c16967-c5de-434a-883d-9dcbb5cf7910/ticks/636483935571498862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"9d8c0359-5075-4aa5-9300-41c5abe70457","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.1498862Z","submissionTimestamp":"2017-12-09T05:19:29.9514229Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3637760d-70c1-4541-a66a-eba014903301","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/3637760d-70c1-4541-a66a-eba014903301/ticks/636483935514628368","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"4d2efcf5-cd3f-47e1-87b4-25ee3eb24361","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.4628368Z","submissionTimestamp":"2017-12-09T05:19:29.8886293Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"96b089d0-749d-4278-a2b9-20d010d8eb76","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/96b089d0-749d-4278-a2b9-20d010d8eb76/ticks/636483935512332041","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"properties":{"statusCode":"Created","serviceRequestId":"fcd5a581-c4fa-4f03-9aeb-4aa694a54fbd"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:11.2332041Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"37a4a8ec-5993-4756-881c-7f6fe9d2b415","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/37a4a8ec-5993-4756-881c-7f6fe9d2b415/ticks/636483935510457343","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.0457343Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c0f2181e-829d-4b04-96e6-91d90ffe74c8","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/c0f2181e-829d-4b04-96e6-91d90ffe74c8/ticks/636483935507957703","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"statusCode":"Created","serviceRequestId":"3a931eae-ac9c-414f-b748-d28628f2c996","responseBody":"{\\"name\\":\\"k8s-master-lb-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"type\\":\\"Microsoft.Network/loadBalancers\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"a8c2b30a-7f33-4beb-b9e6-1cfb8b254ef3\\",\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"},\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"idleTimeoutInMinutes\\":5,\\"protocol\\":\\"Tcp\\",\\"loadDistribution\\":\\"Default\\",\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"}}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"protocol\\":\\"Tcp\\",\\"port\\":443,\\"intervalInSeconds\\":5,\\"numberOfProbes\\":2,\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"inboundNatRules\\":[],\\"outboundNatRules\\":[],\\"inboundNatPools\\":[]}}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:10.7957703Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e/ticks/636483935499050370","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\"}],\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"properties\\":{\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"}}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"properties\\":{\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"idleTimeoutInMinutes\\":5,\\"loadDistribution\\":\\"Default\\",\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"},\\"protocol\\":\\"tcp\\"}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"properties\\":{\\"intervalInSeconds\\":\\"5\\",\\"numberOfProbes\\":\\"2\\",\\"port\\":443,\\"protocol\\":\\"tcp\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:09.905037Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"42843e04-3819-4b19-8a25-1ec0a7634855","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/42843e04-3819-4b19-8a25-1ec0a7634855/ticks/636483935462644362","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"statusCode":"Created","serviceRequestId":"73c1ebb8-ec8b-41d5-aaf6-128425b11048","responseBody":"{\\"name\\":\\"k8s-master-ip-fabricnlp9-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\",\\"etag\\":\\"W/\\\\\\"2aece227-86b3-4d07-80e1-505ad9e017b3\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"08ac6d19-b8e9-4187-a993-feb5207a6768\\",\\"publicIPAddressVersion\\":\\"IPv4\\",\\"publicIPAllocationMethod\\":\\"Dynamic\\",\\"idleTimeoutInMinutes\\":4,\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\",\\"fqdn\\":\\"fabricnlp9.eastus.cloudapp.azure.com\\"}},\\"type\\":\\"Microsoft.Network/publicIPAddresses\\"}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:06.2644362Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c961bc1c-adc5-4f0b-a850-02060fdf468f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/c961bc1c-adc5-4f0b-a850-02060fdf468f/ticks/636483935459519543","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"statusCode":"Created","serviceRequestId":"cbec7ef0-5357-4ce4-b2ce-5d79377a7871","responseBody":"{\\"name\\":\\"k8s-master-25033075-nsg\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"type\\":\\"Microsoft.Network/networkSecurityGroups\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"0e94a593-0195-4379-b798-56011f9e1b99\\",\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_ssh\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":101,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_kube_tls\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":100,\\"direction\\":\\"Inbound\\"}}],\\"defaultSecurityRules\\":[{\\"name\\":\\"AllowVnetInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowAzureLoadBalancerInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowAzureLoadBalancerInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from azure load balancer\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"AzureLoadBalancer\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"DenyAllInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all inbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowVnetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"AllowInternetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowInternetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to Internet\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"Internet\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"DenyAllOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all outbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Outbound\\"}}]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9519543Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f7ec8371-3033-467f-923d-2af6b2168b3a","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/f7ec8371-3033-467f-923d-2af6b2168b3a/ticks/636483935459206868","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"statusCode":"Created","serviceRequestId":"2127672f-cb17-4957-a6fa-9c3d112bf86d","responseBody":"{\\"name\\":\\"k8s-master-25033075-routetable\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable\\",\\"etag\\":\\"W/\\\\\\"e999d01a-3925-4d88-90ca-dde1e957723e\\\\\\"\\",\\"type\\":\\"Microsoft.Network/routeTables\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"2c300a3b-6237-4592-9fd0-a7eb3f365a28\\",\\"routes\\":[]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9206868Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2a0e4d77-1830-40c5-993e-af900e4260bb","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/2a0e4d77-1830-40c5-993e-af900e4260bb/ticks/636483935457956862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"e8611b1b-c62b-4d00-b87c-aea3bc210226"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7956862Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b/ticks/636483935457800589","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"570b1876-904b-4e3d-8154-3df414bd0c79"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7800589Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0f57cc09-3d02-401c-8e6e-7bda7cbd950d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/0f57cc09-3d02-401c-8e6e-7bda7cbd950d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"7ca02e9c-635f-488e-bbe3-921f51760a4d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/7ca02e9c-635f-488e-bbe3-921f51760a4d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"519755ef-e484-4243-bfeb-0edde3c8c163","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/519755ef-e484-4243-bfeb-0edde3c8c163/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"direction\\":\\"Inbound\\",\\"priority\\":101,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"direction\\":\\"Inbound\\",\\"priority\\":100,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"79ede4b5-7470-4d12-8d22-bbac17c48a8e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/79ede4b5-7470-4d12-8d22-bbac17c48a8e/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\"},\\"publicIPAllocationMethod\\":\\"Dynamic\\"}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d542e1b7-71de-4cde-929d-d1174ea92deb","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/d542e1b7-71de-4cde-929d-d1174ea92deb/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\"}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"34efd43d-0a0b-47a6-be9e-3e3fd74265ad","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/34efd43d-0a0b-47a6-be9e-3e3fd74265ad/ticks/636483935441012452","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"properties":{"statusCode":"OK","serviceRequestId":null},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:04.1012452Z","submissionTimestamp":"2017-12-09T05:19:19.9694084Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"745490e4-6d74-4e41-ac44-1d5e5b10b68d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/745490e4-6d74-4e41-ac44-1d5e5b10b68d/ticks/636483935404291527","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:00.4291527Z","submissionTimestamp":"2017-12-09T05:19:19.9684077Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"}]}' -INFO: Accepted: cse0 (Microsoft.Compute/virtualMachines/extensions) -INFO: Succeeded: k8s-master-25033075-0 (Microsoft.Compute/virtualMachines) -DEBUG: adal-python : 29bed4da-4930-44a5-8488-31d37034f412 - Authority:Performing instance discovery: https://login.microsoftonline.com/52807a8b-794c-4c07-825f-578847e1257e -DEBUG: adal-python : 29bed4da-4930-44a5-8488-31d37034f412 - Authority:Performing static instance discovery -DEBUG: adal-python : 29bed4da-4930-44a5-8488-31d37034f412 - Authority:Authority validated via static instance discovery -INFO: adal-python : 29bed4da-4930-44a5-8488-31d37034f412 - TokenRequest:Getting token from cache with refresh if necessary. -DEBUG: adal-python : 29bed4da-4930-44a5-8488-31d37034f412 - OAuth2Client:finding with query: {"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 29bed4da-4930-44a5-8488-31d37034f412 - OAuth2Client:Looking for potential cache entries: -DEBUG: adal-python : 29bed4da-4930-44a5-8488-31d37034f412 - OAuth2Client:{"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 29bed4da-4930-44a5-8488-31d37034f412 - OAuth2Client:Found 4 potential entries. -DEBUG: adal-python : 29bed4da-4930-44a5-8488-31d37034f412 - OAuth2Client:Resource specific token found. -DEBUG: adal-python : 29bed4da-4930-44a5-8488-31d37034f412 - OAuth2Client:Returning token from cache lookup, AccessTokenId: b'kslIbWka8YbxRUy8vLy6JNH7izY8GoVPIpyFsPticn4=', RefreshTokenId: b'ZKVr4cTgxa0EDZ2Kgqem4UHxIsbWBdRNnpWnblHwFnE=' -DEBUG: msrest.pipeline : Configuring request: timeout=100, verify=True, cert=None -DEBUG: msrest.pipeline : Configuring redirects: allow=True, max=30 -DEBUG: msrest.pipeline : Configuring proxies: '' -DEBUG: msrest.pipeline : Evaluate proxies against ENV settings: True -DEBUG: msrest.pipeline : Configuring retry: max_retries=4, backoff_factor=0.8, max_backoff=90 -DEBUG: urllib3.connectionpool : Starting new HTTPS connection (1): management.azure.com -DEBUG: urllib3.connectionpool : https://management.azure.com:443 "GET /subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/operationStatuses/08586888101433128342?api-version=2017-05-10 HTTP/1.1" 200 140 -DEBUG: msrest.http_logger : Request URL: 'https://management.azure.com/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/operationStatuses/08586888101433128342?api-version=2017-05-10' -DEBUG: msrest.http_logger : Request method: 'GET' -DEBUG: msrest.http_logger : Request headers: -DEBUG: msrest.http_logger : 'User-Agent': 'python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.19 msrest_azure/0.4.17 resourcemanagementclient/1.2.1 Azure-SDK-For-Python AZURECLI/2.0.22' -DEBUG: msrest.http_logger : 'Accept-Encoding': 'gzip, deflate' -DEBUG: msrest.http_logger : 'Accept': 'application/json' -DEBUG: msrest.http_logger : 'Connection': 'keep-alive' -DEBUG: msrest.http_logger : 'Authorization': '*****' -DEBUG: msrest.http_logger : 'x-ms-client-request-id': '7538e6de-dca0-11e7-b921-e4b3187aa3c2' -DEBUG: msrest.http_logger : 'CommandName': 'group deployment create' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'accept-language': 'en-US' -DEBUG: msrest.http_logger : Request body: -DEBUG: msrest.http_logger : None -DEBUG: msrest.http_logger : Response status: 200 -DEBUG: msrest.http_logger : Response headers: -DEBUG: msrest.http_logger : 'Cache-Control': 'no-cache' -DEBUG: msrest.http_logger : 'Pragma': 'no-cache' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'Content-Encoding': 'gzip' -DEBUG: msrest.http_logger : 'Expires': '-1' -DEBUG: msrest.http_logger : 'Vary': 'Accept-Encoding' -DEBUG: msrest.http_logger : 'x-ms-ratelimit-remaining-subscription-reads': '14778' -DEBUG: msrest.http_logger : 'x-ms-request-id': 'ab8b367e-548f-4c3b-98e8-da1b5a29f48c' -DEBUG: msrest.http_logger : 'x-ms-correlation-request-id': 'ab8b367e-548f-4c3b-98e8-da1b5a29f48c' -DEBUG: msrest.http_logger : 'x-ms-routing-request-id': 'NORTHCENTRALUS:20171209T052110Z:ab8b367e-548f-4c3b-98e8-da1b5a29f48c' -DEBUG: msrest.http_logger : 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains' -DEBUG: msrest.http_logger : 'Date': 'Sat, 09 Dec 2017 05:21:10 GMT' -DEBUG: msrest.http_logger : 'Content-Length': '140' -DEBUG: msrest.http_logger : Response content: -DEBUG: msrest.http_logger : b'{"status":"Running"}' -DEBUG: Getting management service client client_type=MonitorManagementClient -DEBUG: adal-python : efad1a8c-aa30-4662-af56-5b21484997ba - Authority:Performing instance discovery: https://login.microsoftonline.com/52807a8b-794c-4c07-825f-578847e1257e -DEBUG: adal-python : efad1a8c-aa30-4662-af56-5b21484997ba - Authority:Performing static instance discovery -DEBUG: adal-python : efad1a8c-aa30-4662-af56-5b21484997ba - Authority:Authority validated via static instance discovery -INFO: adal-python : efad1a8c-aa30-4662-af56-5b21484997ba - TokenRequest:Getting token from cache with refresh if necessary. -DEBUG: adal-python : efad1a8c-aa30-4662-af56-5b21484997ba - OAuth2Client:finding with query: {"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : efad1a8c-aa30-4662-af56-5b21484997ba - OAuth2Client:Looking for potential cache entries: -DEBUG: adal-python : efad1a8c-aa30-4662-af56-5b21484997ba - OAuth2Client:{"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : efad1a8c-aa30-4662-af56-5b21484997ba - OAuth2Client:Found 4 potential entries. -DEBUG: adal-python : efad1a8c-aa30-4662-af56-5b21484997ba - OAuth2Client:Resource specific token found. -DEBUG: adal-python : efad1a8c-aa30-4662-af56-5b21484997ba - OAuth2Client:Returning token from cache lookup, AccessTokenId: b'kslIbWka8YbxRUy8vLy6JNH7izY8GoVPIpyFsPticn4=', RefreshTokenId: b'ZKVr4cTgxa0EDZ2Kgqem4UHxIsbWBdRNnpWnblHwFnE=' -DEBUG: msrest.pipeline : Configuring request: timeout=100, verify=True, cert=None -DEBUG: msrest.pipeline : Configuring redirects: allow=True, max=30 -DEBUG: msrest.pipeline : Configuring proxies: '' -DEBUG: msrest.pipeline : Evaluate proxies against ENV settings: True -DEBUG: msrest.pipeline : Configuring retry: max_retries=4, backoff_factor=0.8, max_backoff=90 -DEBUG: urllib3.connectionpool : Starting new HTTPS connection (1): management.azure.com -DEBUG: urllib3.connectionpool : https://management.azure.com:443 "GET /subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A21%3A12Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27 HTTP/1.1" 200 None -DEBUG: msrest.http_logger : Request URL: 'https://management.azure.com/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A21%3A12Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27' -DEBUG: msrest.http_logger : Request method: 'GET' -DEBUG: msrest.http_logger : Request headers: -DEBUG: msrest.http_logger : 'User-Agent': 'python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.19 msrest_azure/0.4.17 monitormanagementclient/0.4.0 Azure-SDK-For-Python AZURECLI/2.0.22' -DEBUG: msrest.http_logger : 'Accept-Encoding': 'gzip, deflate' -DEBUG: msrest.http_logger : 'Accept': 'application/json' -DEBUG: msrest.http_logger : 'Connection': 'keep-alive' -DEBUG: msrest.http_logger : 'Authorization': '*****' -DEBUG: msrest.http_logger : 'x-ms-client-request-id': '7538e6de-dca0-11e7-b921-e4b3187aa3c2' -DEBUG: msrest.http_logger : 'CommandName': 'group deployment create' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'accept-language': 'en-US' -DEBUG: msrest.http_logger : Request body: -DEBUG: msrest.http_logger : None -DEBUG: msrest.http_logger : Response status: 200 -DEBUG: msrest.http_logger : Response headers: -DEBUG: msrest.http_logger : 'Cache-Control': 'no-cache' -DEBUG: msrest.http_logger : 'Pragma': 'no-cache' -DEBUG: msrest.http_logger : 'Transfer-Encoding': 'chunked' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'Content-Encoding': 'gzip' -DEBUG: msrest.http_logger : 'Expires': '-1' -DEBUG: msrest.http_logger : 'Vary': 'Accept-Encoding,Accept-Encoding' -DEBUG: msrest.http_logger : 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains' -DEBUG: msrest.http_logger : 'x-ms-request-id': 'EastUS_21229562534341718161e75af8ad9ce9_636483936729025451' -DEBUG: msrest.http_logger : 'Server': 'Microsoft-IIS/8.5' -DEBUG: msrest.http_logger : 'x-ms-ratelimit-remaining-subscription-reads': '14942' -DEBUG: msrest.http_logger : 'x-ms-correlation-request-id': '9701150f-e2a4-4a7d-9a1b-cbb5ff6d7762' -DEBUG: msrest.http_logger : 'x-ms-routing-request-id': 'NORTHCENTRALUS:20171209T052113Z:9701150f-e2a4-4a7d-9a1b-cbb5ff6d7762' -DEBUG: msrest.http_logger : 'Date': 'Sat, 09 Dec 2017 05:21:12 GMT' -DEBUG: msrest.http_logger : Response content: -DEBUG: msrest.http_logger : b'{"value":[{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c63c3a58-6e60-4d0a-8892-88771b5d2d2d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"06aebdda-7a37-4f4e-b766-26b3ea561951","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/c63c3a58-6e60-4d0a-8892-88771b5d2d2d/ticks/636483936458560786","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7e7d2109-9794-4a26-8444-026e9640661c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Created","serviceRequestId":"db62465a-e660-493e-8b3b-286ed8596452"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:20:45.8560786Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d256c2ab-b9ba-43ac-ba8d-bf1b809b8a9b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/d256c2ab-b9ba-43ac-ba8d-bf1b809b8a9b/ticks/636483936448959408","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"0e990a14-1a57-4ea2-8056-47380457fe70","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.8959408Z","submissionTimestamp":"2017-12-09T05:20:59.705539Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"efa72caa-24ef-4463-87bb-dff257d7896e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"06aebdda-7a37-4f4e-b766-26b3ea561951","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/efa72caa-24ef-4463-87bb-dff257d7896e/ticks/636483936445435451","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7e7d2109-9794-4a26-8444-026e9640661c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.5435451Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"078e8afb-ad14-432b-8327-9bd85371586b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/078e8afb-ad14-432b-8327-9bd85371586b/ticks/636483936443716624","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"35936685-5536-4681-a2c1-7882a7d6ea0f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.3716624Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6a34ff92-1bdb-40da-a940-ce61ee3143df","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/6a34ff92-1bdb-40da-a940-ce61ee3143df/ticks/636483936429993173","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"29718454-78c2-40c6-b631-71e4e334bcd8","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:42.9993173Z","submissionTimestamp":"2017-12-09T05:20:59.8731419Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"766d0bab-9165-464a-94ae-105d8dcac708","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/766d0bab-9165-464a-94ae-105d8dcac708/ticks/636483936288958990","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"19b22b89-dd10-4c67-8c2c-4d458a4d51e7","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:28.895899Z","submissionTimestamp":"2017-12-09T05:20:50.0841006Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"e829aaf0-414c-46df-ab69-2d9f62986096","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/e829aaf0-414c-46df-ab69-2d9f62986096/ticks/636483936282577338","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"b2d3aa73-d783-4375-a064-98079cd2edaa","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:28.2577338Z","submissionTimestamp":"2017-12-09T05:20:39.9794141Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"fc96d187-16c7-4ea4-a80c-cb1abe3a938d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/fc96d187-16c7-4ea4-a80c-cb1abe3a938d/ticks/636483936269716382","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"9131a6b1-8c84-4761-85ba-9e155b40ffbe","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:26.9716382Z","submissionTimestamp":"2017-12-09T05:20:40.5339552Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"84e69362-734a-4d01-ad67-d40a51071911","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/84e69362-734a-4d01-ad67-d40a51071911/ticks/636483936133495638","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3931a993-da5d-4ffb-a53f-3725fe41f9b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:13.3495638Z","submissionTimestamp":"2017-12-09T05:20:29.7480002Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"172ee1ce-a08c-4869-808b-aefc97479870","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/172ee1ce-a08c-4869-808b-aefc97479870/ticks/636483936102743029","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3bacb20e-3fc2-4bcf-ad42-67cd9a56ee8e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:10.2743029Z","submissionTimestamp":"2017-12-09T05:20:29.3964496Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c863e3ad-861a-4842-9bed-5d7b5c21f752","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/c863e3ad-861a-4842-9bed-5d7b5c21f752/ticks/636483935975493658","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3c059bde-9ba7-4705-a46a-90f041019563","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:57.5493658Z","submissionTimestamp":"2017-12-09T05:20:10.1148471Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218/ticks/636483935968523897","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"6b4f8ac8-b6be-4676-a1ef-c2efd07639b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:56.8523897Z","submissionTimestamp":"2017-12-09T05:20:10.2353207Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2/ticks/636483935945781875","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"502f330f-757e-492a-bf5d-8b2c1a9c5e87","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:54.5781875Z","submissionTimestamp":"2017-12-09T05:20:09.9808359Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"629517bd-3422-4799-aed0-e76166f332df","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/629517bd-3422-4799-aed0-e76166f332df/ticks/636483935815203536","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"608c44ca-b946-4085-b677-c60b4364cd4f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.5203536Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0a3e8fa0-b1aa-430d-813d-717d9ccaba43","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/0a3e8fa0-b1aa-430d-813d-717d9ccaba43/ticks/636483935813640803","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"e8a78a19-e992-4a15-9b9d-1d396e76841e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.3640803Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f502a53a-bef1-45ce-a64f-3cec67be9e74","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/f502a53a-bef1-45ce-a64f-3cec67be9e74/ticks/636483935785592969","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"934cbf0a-66c3-40ac-83ad-5a900bd0a3ee","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:38.5592969Z","submissionTimestamp":"2017-12-09T05:20:00.1233196Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"76b649ce-1ebe-4dac-89a1-78bd004fbdbe","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/76b649ce-1ebe-4dac-89a1-78bd004fbdbe/ticks/636483935662684070","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"2368e683-ae0d-4e05-93f7-5251dd7859ff"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:26.268407Z","submissionTimestamp":"2017-12-09T05:19:40.0013894Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0/ticks/636483935658854059","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"770228b2-9970-4da2-8bb3-5eb17f427abd"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:25.8854059Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2ef95b9d-6cc9-4eaa-a265-599681ba4120","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/2ef95b9d-6cc9-4eaa-a265-599681ba4120/ticks/636483935628933848","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.8933848Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"fe383666-3d1f-445b-a21a-bfe1cb911e8f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/fe383666-3d1f-445b-a21a-bfe1cb911e8f/ticks/636483935626751699","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"97c87afe-ca58-46e2-8944-72c541d4a229"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.6751699Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"4c47093b-1a6c-422e-be0d-3b610067fa96","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/4c47093b-1a6c-422e-be0d-3b610067fa96/ticks/636483935624715321","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0179ac94-8373-4392-87f6-59dce144ba0a","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"40a6b458-3268-400a-b594-b782474e5613\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.5\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.4715321Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"18a7b81d-bf54-4f62-9028-d2f0d1507d78","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/18a7b81d-bf54-4f62-9028-d2f0d1507d78/ticks/636483935623914480","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.391448Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b6cc422e-578b-40e7-9436-142f9f132b8c","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/b6cc422e-578b-40e7-9436-142f9f132b8c/ticks/636483935619695965","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0488286b-cd93-4ba0-95c2-39b32adf684e","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"6e8dafff-a250-48f1-98f8-81ba6740af90\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.4\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:21.9695965Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1deef98-0832-4f8b-80f9-845dbd487bbd","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/b1deef98-0832-4f8b-80f9-845dbd487bbd/ticks/636483935615187666","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:21.5187666Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0c815960-230e-4117-b401-3fcfbcd9634b","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/0c815960-230e-4117-b401-3fcfbcd9634b/ticks/636483935608915102","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:20.8915102Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3b3a8117-8604-4212-a730-3d8b798b473d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/3b3a8117-8604-4212-a730-3d8b798b473d/ticks/636483935588001992","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:18.8001992Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1b08df7-d8a3-4198-90aa-b6f497d4c3a6","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/b1b08df7-d8a3-4198-90aa-b6f497d4c3a6/ticks/636483935584565023","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"cfbdf455-8659-44f0-a969-ca5c5fff6a82","responseBody":"{\\"name\\":\\"k8s-master-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"287a1f86-dcd9-479b-95f3-855f558519e8\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\",\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}]}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:18.4565023Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"eafa3e8d-bb05-4cbc-831b-515b421feb6c","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/eafa3e8d-bb05-4cbc-831b-515b421feb6c/ticks/636483935576596018","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}],\\"primary\\":true,\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.6596018Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0630ea34-5e08-4df7-806c-5ba277e8ee98","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/0630ea34-5e08-4df7-806c-5ba277e8ee98/ticks/636483935574567301","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"010e332e-ae98-4d7f-8d89-b13bcd67dd82","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.4567301Z","submissionTimestamp":"2017-12-09T05:19:29.9175501Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"23c16967-c5de-434a-883d-9dcbb5cf7910","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/23c16967-c5de-434a-883d-9dcbb5cf7910/ticks/636483935571498862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"9d8c0359-5075-4aa5-9300-41c5abe70457","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.1498862Z","submissionTimestamp":"2017-12-09T05:19:29.9514229Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3637760d-70c1-4541-a66a-eba014903301","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/3637760d-70c1-4541-a66a-eba014903301/ticks/636483935514628368","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"4d2efcf5-cd3f-47e1-87b4-25ee3eb24361","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.4628368Z","submissionTimestamp":"2017-12-09T05:19:29.8886293Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"96b089d0-749d-4278-a2b9-20d010d8eb76","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/96b089d0-749d-4278-a2b9-20d010d8eb76/ticks/636483935512332041","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"properties":{"statusCode":"Created","serviceRequestId":"fcd5a581-c4fa-4f03-9aeb-4aa694a54fbd"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:11.2332041Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"37a4a8ec-5993-4756-881c-7f6fe9d2b415","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/37a4a8ec-5993-4756-881c-7f6fe9d2b415/ticks/636483935510457343","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.0457343Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c0f2181e-829d-4b04-96e6-91d90ffe74c8","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/c0f2181e-829d-4b04-96e6-91d90ffe74c8/ticks/636483935507957703","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"statusCode":"Created","serviceRequestId":"3a931eae-ac9c-414f-b748-d28628f2c996","responseBody":"{\\"name\\":\\"k8s-master-lb-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"type\\":\\"Microsoft.Network/loadBalancers\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"a8c2b30a-7f33-4beb-b9e6-1cfb8b254ef3\\",\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"},\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"idleTimeoutInMinutes\\":5,\\"protocol\\":\\"Tcp\\",\\"loadDistribution\\":\\"Default\\",\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"}}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"protocol\\":\\"Tcp\\",\\"port\\":443,\\"intervalInSeconds\\":5,\\"numberOfProbes\\":2,\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"inboundNatRules\\":[],\\"outboundNatRules\\":[],\\"inboundNatPools\\":[]}}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:10.7957703Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e/ticks/636483935499050370","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\"}],\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"properties\\":{\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"}}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"properties\\":{\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"idleTimeoutInMinutes\\":5,\\"loadDistribution\\":\\"Default\\",\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"},\\"protocol\\":\\"tcp\\"}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"properties\\":{\\"intervalInSeconds\\":\\"5\\",\\"numberOfProbes\\":\\"2\\",\\"port\\":443,\\"protocol\\":\\"tcp\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:09.905037Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"42843e04-3819-4b19-8a25-1ec0a7634855","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/42843e04-3819-4b19-8a25-1ec0a7634855/ticks/636483935462644362","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"statusCode":"Created","serviceRequestId":"73c1ebb8-ec8b-41d5-aaf6-128425b11048","responseBody":"{\\"name\\":\\"k8s-master-ip-fabricnlp9-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\",\\"etag\\":\\"W/\\\\\\"2aece227-86b3-4d07-80e1-505ad9e017b3\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"08ac6d19-b8e9-4187-a993-feb5207a6768\\",\\"publicIPAddressVersion\\":\\"IPv4\\",\\"publicIPAllocationMethod\\":\\"Dynamic\\",\\"idleTimeoutInMinutes\\":4,\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\",\\"fqdn\\":\\"fabricnlp9.eastus.cloudapp.azure.com\\"}},\\"type\\":\\"Microsoft.Network/publicIPAddresses\\"}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:06.2644362Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c961bc1c-adc5-4f0b-a850-02060fdf468f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/c961bc1c-adc5-4f0b-a850-02060fdf468f/ticks/636483935459519543","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"statusCode":"Created","serviceRequestId":"cbec7ef0-5357-4ce4-b2ce-5d79377a7871","responseBody":"{\\"name\\":\\"k8s-master-25033075-nsg\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"type\\":\\"Microsoft.Network/networkSecurityGroups\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"0e94a593-0195-4379-b798-56011f9e1b99\\",\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_ssh\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":101,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_kube_tls\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":100,\\"direction\\":\\"Inbound\\"}}],\\"defaultSecurityRules\\":[{\\"name\\":\\"AllowVnetInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowAzureLoadBalancerInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowAzureLoadBalancerInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from azure load balancer\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"AzureLoadBalancer\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"DenyAllInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all inbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowVnetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"AllowInternetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowInternetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to Internet\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"Internet\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"DenyAllOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all outbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Outbound\\"}}]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9519543Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f7ec8371-3033-467f-923d-2af6b2168b3a","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/f7ec8371-3033-467f-923d-2af6b2168b3a/ticks/636483935459206868","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"statusCode":"Created","serviceRequestId":"2127672f-cb17-4957-a6fa-9c3d112bf86d","responseBody":"{\\"name\\":\\"k8s-master-25033075-routetable\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable\\",\\"etag\\":\\"W/\\\\\\"e999d01a-3925-4d88-90ca-dde1e957723e\\\\\\"\\",\\"type\\":\\"Microsoft.Network/routeTables\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"2c300a3b-6237-4592-9fd0-a7eb3f365a28\\",\\"routes\\":[]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9206868Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2a0e4d77-1830-40c5-993e-af900e4260bb","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/2a0e4d77-1830-40c5-993e-af900e4260bb/ticks/636483935457956862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"e8611b1b-c62b-4d00-b87c-aea3bc210226"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7956862Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b/ticks/636483935457800589","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"570b1876-904b-4e3d-8154-3df414bd0c79"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7800589Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0f57cc09-3d02-401c-8e6e-7bda7cbd950d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/0f57cc09-3d02-401c-8e6e-7bda7cbd950d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"7ca02e9c-635f-488e-bbe3-921f51760a4d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/7ca02e9c-635f-488e-bbe3-921f51760a4d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"519755ef-e484-4243-bfeb-0edde3c8c163","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/519755ef-e484-4243-bfeb-0edde3c8c163/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"direction\\":\\"Inbound\\",\\"priority\\":101,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"direction\\":\\"Inbound\\",\\"priority\\":100,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"79ede4b5-7470-4d12-8d22-bbac17c48a8e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/79ede4b5-7470-4d12-8d22-bbac17c48a8e/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\"},\\"publicIPAllocationMethod\\":\\"Dynamic\\"}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d542e1b7-71de-4cde-929d-d1174ea92deb","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/d542e1b7-71de-4cde-929d-d1174ea92deb/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\"}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"34efd43d-0a0b-47a6-be9e-3e3fd74265ad","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/34efd43d-0a0b-47a6-be9e-3e3fd74265ad/ticks/636483935441012452","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"properties":{"statusCode":"OK","serviceRequestId":null},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:04.1012452Z","submissionTimestamp":"2017-12-09T05:19:19.9694084Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"745490e4-6d74-4e41-ac44-1d5e5b10b68d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/745490e4-6d74-4e41-ac44-1d5e5b10b68d/ticks/636483935404291527","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:00.4291527Z","submissionTimestamp":"2017-12-09T05:19:19.9684077Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"}]}' -DEBUG: Getting management service client client_type=MonitorManagementClient -DEBUG: adal-python : 0ab0b6bf-7e4b-4459-b4a9-cff6e0bf537a - Authority:Performing instance discovery: https://login.microsoftonline.com/52807a8b-794c-4c07-825f-578847e1257e -DEBUG: adal-python : 0ab0b6bf-7e4b-4459-b4a9-cff6e0bf537a - Authority:Performing static instance discovery -DEBUG: adal-python : 0ab0b6bf-7e4b-4459-b4a9-cff6e0bf537a - Authority:Authority validated via static instance discovery -INFO: adal-python : 0ab0b6bf-7e4b-4459-b4a9-cff6e0bf537a - TokenRequest:Getting token from cache with refresh if necessary. -DEBUG: adal-python : 0ab0b6bf-7e4b-4459-b4a9-cff6e0bf537a - OAuth2Client:finding with query: {"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 0ab0b6bf-7e4b-4459-b4a9-cff6e0bf537a - OAuth2Client:Looking for potential cache entries: -DEBUG: adal-python : 0ab0b6bf-7e4b-4459-b4a9-cff6e0bf537a - OAuth2Client:{"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 0ab0b6bf-7e4b-4459-b4a9-cff6e0bf537a - OAuth2Client:Found 4 potential entries. -DEBUG: adal-python : 0ab0b6bf-7e4b-4459-b4a9-cff6e0bf537a - OAuth2Client:Resource specific token found. -DEBUG: adal-python : 0ab0b6bf-7e4b-4459-b4a9-cff6e0bf537a - OAuth2Client:Returning token from cache lookup, AccessTokenId: b'kslIbWka8YbxRUy8vLy6JNH7izY8GoVPIpyFsPticn4=', RefreshTokenId: b'ZKVr4cTgxa0EDZ2Kgqem4UHxIsbWBdRNnpWnblHwFnE=' -DEBUG: msrest.pipeline : Configuring request: timeout=100, verify=True, cert=None -DEBUG: msrest.pipeline : Configuring redirects: allow=True, max=30 -DEBUG: msrest.pipeline : Configuring proxies: '' -DEBUG: msrest.pipeline : Evaluate proxies against ENV settings: True -DEBUG: msrest.pipeline : Configuring retry: max_retries=4, backoff_factor=0.8, max_backoff=90 -DEBUG: urllib3.connectionpool : Starting new HTTPS connection (1): management.azure.com -DEBUG: urllib3.connectionpool : https://management.azure.com:443 "GET /subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A21%3A22Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27 HTTP/1.1" 200 None -DEBUG: msrest.http_logger : Request URL: 'https://management.azure.com/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A21%3A22Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27' -DEBUG: msrest.http_logger : Request method: 'GET' -DEBUG: msrest.http_logger : Request headers: -DEBUG: msrest.http_logger : 'User-Agent': 'python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.19 msrest_azure/0.4.17 monitormanagementclient/0.4.0 Azure-SDK-For-Python AZURECLI/2.0.22' -DEBUG: msrest.http_logger : 'Accept-Encoding': 'gzip, deflate' -DEBUG: msrest.http_logger : 'Accept': 'application/json' -DEBUG: msrest.http_logger : 'Connection': 'keep-alive' -DEBUG: msrest.http_logger : 'Authorization': '*****' -DEBUG: msrest.http_logger : 'x-ms-client-request-id': '7538e6de-dca0-11e7-b921-e4b3187aa3c2' -DEBUG: msrest.http_logger : 'CommandName': 'group deployment create' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'accept-language': 'en-US' -DEBUG: msrest.http_logger : Request body: -DEBUG: msrest.http_logger : None -DEBUG: msrest.http_logger : Response status: 200 -DEBUG: msrest.http_logger : Response headers: -DEBUG: msrest.http_logger : 'Cache-Control': 'no-cache' -DEBUG: msrest.http_logger : 'Pragma': 'no-cache' -DEBUG: msrest.http_logger : 'Transfer-Encoding': 'chunked' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'Content-Encoding': 'gzip' -DEBUG: msrest.http_logger : 'Expires': '-1' -DEBUG: msrest.http_logger : 'Vary': 'Accept-Encoding,Accept-Encoding' -DEBUG: msrest.http_logger : 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains' -DEBUG: msrest.http_logger : 'x-ms-request-id': 'EastUS_0518c0796eef4751a06c43f5c7a51c47_636483936829184472' -DEBUG: msrest.http_logger : 'Server': 'Microsoft-IIS/8.5' -DEBUG: msrest.http_logger : 'x-ms-ratelimit-remaining-subscription-reads': '14934' -DEBUG: msrest.http_logger : 'x-ms-correlation-request-id': 'c46b32c7-785a-4d75-9e8c-28638e1c689b' -DEBUG: msrest.http_logger : 'x-ms-routing-request-id': 'NORTHCENTRALUS:20171209T052122Z:c46b32c7-785a-4d75-9e8c-28638e1c689b' -DEBUG: msrest.http_logger : 'Date': 'Sat, 09 Dec 2017 05:21:22 GMT' -DEBUG: msrest.http_logger : Response content: -DEBUG: msrest.http_logger : b'{"value":[{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d7cc4ff6-ae5a-4247-9b8b-3e5e8c6d7218","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/d7cc4ff6-ae5a-4247-9b8b-3e5e8c6d7218/ticks/636483936615161642","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"d5f1fa4d-c3fc-42f1-aa60-dc57da5b9a25","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:01.5161642Z","submissionTimestamp":"2017-12-09T05:21:20.0860134Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"4e7a05fa-80af-42f8-bd89-34fd6f8b219f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/4e7a05fa-80af-42f8-bd89-34fd6f8b219f/ticks/636483936604503602","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"f92ed3c9-924d-47d0-8201-48456822b191","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:00.4503602Z","submissionTimestamp":"2017-12-09T05:21:19.6077919Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"5851d2ad-f28b-43f8-920f-07863f548733","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/5851d2ad-f28b-43f8-920f-07863f548733/ticks/636483936601536698","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc7bd08b-866e-48a5-a537-9d4fe78c8e3e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:00.1536698Z","submissionTimestamp":"2017-12-09T05:21:20.0989911Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c63c3a58-6e60-4d0a-8892-88771b5d2d2d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"06aebdda-7a37-4f4e-b766-26b3ea561951","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/c63c3a58-6e60-4d0a-8892-88771b5d2d2d/ticks/636483936458560786","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7e7d2109-9794-4a26-8444-026e9640661c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Created","serviceRequestId":"db62465a-e660-493e-8b3b-286ed8596452"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:20:45.8560786Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d256c2ab-b9ba-43ac-ba8d-bf1b809b8a9b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/d256c2ab-b9ba-43ac-ba8d-bf1b809b8a9b/ticks/636483936448959408","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"0e990a14-1a57-4ea2-8056-47380457fe70","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.8959408Z","submissionTimestamp":"2017-12-09T05:20:59.705539Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"efa72caa-24ef-4463-87bb-dff257d7896e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"06aebdda-7a37-4f4e-b766-26b3ea561951","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/efa72caa-24ef-4463-87bb-dff257d7896e/ticks/636483936445435451","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7e7d2109-9794-4a26-8444-026e9640661c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.5435451Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"078e8afb-ad14-432b-8327-9bd85371586b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/078e8afb-ad14-432b-8327-9bd85371586b/ticks/636483936443716624","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"35936685-5536-4681-a2c1-7882a7d6ea0f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.3716624Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6a34ff92-1bdb-40da-a940-ce61ee3143df","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/6a34ff92-1bdb-40da-a940-ce61ee3143df/ticks/636483936429993173","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"29718454-78c2-40c6-b631-71e4e334bcd8","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:42.9993173Z","submissionTimestamp":"2017-12-09T05:20:59.8731419Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"766d0bab-9165-464a-94ae-105d8dcac708","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/766d0bab-9165-464a-94ae-105d8dcac708/ticks/636483936288958990","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"19b22b89-dd10-4c67-8c2c-4d458a4d51e7","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:28.895899Z","submissionTimestamp":"2017-12-09T05:20:50.0841006Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"e829aaf0-414c-46df-ab69-2d9f62986096","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/e829aaf0-414c-46df-ab69-2d9f62986096/ticks/636483936282577338","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"b2d3aa73-d783-4375-a064-98079cd2edaa","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:28.2577338Z","submissionTimestamp":"2017-12-09T05:20:39.9794141Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"fc96d187-16c7-4ea4-a80c-cb1abe3a938d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/fc96d187-16c7-4ea4-a80c-cb1abe3a938d/ticks/636483936269716382","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"9131a6b1-8c84-4761-85ba-9e155b40ffbe","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:26.9716382Z","submissionTimestamp":"2017-12-09T05:20:40.5339552Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"84e69362-734a-4d01-ad67-d40a51071911","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/84e69362-734a-4d01-ad67-d40a51071911/ticks/636483936133495638","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3931a993-da5d-4ffb-a53f-3725fe41f9b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:13.3495638Z","submissionTimestamp":"2017-12-09T05:20:29.7480002Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"172ee1ce-a08c-4869-808b-aefc97479870","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/172ee1ce-a08c-4869-808b-aefc97479870/ticks/636483936102743029","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3bacb20e-3fc2-4bcf-ad42-67cd9a56ee8e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:10.2743029Z","submissionTimestamp":"2017-12-09T05:20:29.3964496Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c863e3ad-861a-4842-9bed-5d7b5c21f752","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/c863e3ad-861a-4842-9bed-5d7b5c21f752/ticks/636483935975493658","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3c059bde-9ba7-4705-a46a-90f041019563","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:57.5493658Z","submissionTimestamp":"2017-12-09T05:20:10.1148471Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218/ticks/636483935968523897","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"6b4f8ac8-b6be-4676-a1ef-c2efd07639b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:56.8523897Z","submissionTimestamp":"2017-12-09T05:20:10.2353207Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2/ticks/636483935945781875","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"502f330f-757e-492a-bf5d-8b2c1a9c5e87","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:54.5781875Z","submissionTimestamp":"2017-12-09T05:20:09.9808359Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"629517bd-3422-4799-aed0-e76166f332df","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/629517bd-3422-4799-aed0-e76166f332df/ticks/636483935815203536","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"608c44ca-b946-4085-b677-c60b4364cd4f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.5203536Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0a3e8fa0-b1aa-430d-813d-717d9ccaba43","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/0a3e8fa0-b1aa-430d-813d-717d9ccaba43/ticks/636483935813640803","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"e8a78a19-e992-4a15-9b9d-1d396e76841e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.3640803Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f502a53a-bef1-45ce-a64f-3cec67be9e74","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/f502a53a-bef1-45ce-a64f-3cec67be9e74/ticks/636483935785592969","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"934cbf0a-66c3-40ac-83ad-5a900bd0a3ee","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:38.5592969Z","submissionTimestamp":"2017-12-09T05:20:00.1233196Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"76b649ce-1ebe-4dac-89a1-78bd004fbdbe","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/76b649ce-1ebe-4dac-89a1-78bd004fbdbe/ticks/636483935662684070","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"2368e683-ae0d-4e05-93f7-5251dd7859ff"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:26.268407Z","submissionTimestamp":"2017-12-09T05:19:40.0013894Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0/ticks/636483935658854059","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"770228b2-9970-4da2-8bb3-5eb17f427abd"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:25.8854059Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2ef95b9d-6cc9-4eaa-a265-599681ba4120","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/2ef95b9d-6cc9-4eaa-a265-599681ba4120/ticks/636483935628933848","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.8933848Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"fe383666-3d1f-445b-a21a-bfe1cb911e8f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/fe383666-3d1f-445b-a21a-bfe1cb911e8f/ticks/636483935626751699","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"97c87afe-ca58-46e2-8944-72c541d4a229"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.6751699Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"4c47093b-1a6c-422e-be0d-3b610067fa96","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/4c47093b-1a6c-422e-be0d-3b610067fa96/ticks/636483935624715321","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0179ac94-8373-4392-87f6-59dce144ba0a","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"40a6b458-3268-400a-b594-b782474e5613\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.5\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.4715321Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"18a7b81d-bf54-4f62-9028-d2f0d1507d78","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/18a7b81d-bf54-4f62-9028-d2f0d1507d78/ticks/636483935623914480","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.391448Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b6cc422e-578b-40e7-9436-142f9f132b8c","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/b6cc422e-578b-40e7-9436-142f9f132b8c/ticks/636483935619695965","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0488286b-cd93-4ba0-95c2-39b32adf684e","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"6e8dafff-a250-48f1-98f8-81ba6740af90\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.4\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:21.9695965Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1deef98-0832-4f8b-80f9-845dbd487bbd","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/b1deef98-0832-4f8b-80f9-845dbd487bbd/ticks/636483935615187666","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:21.5187666Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0c815960-230e-4117-b401-3fcfbcd9634b","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/0c815960-230e-4117-b401-3fcfbcd9634b/ticks/636483935608915102","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:20.8915102Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3b3a8117-8604-4212-a730-3d8b798b473d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/3b3a8117-8604-4212-a730-3d8b798b473d/ticks/636483935588001992","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:18.8001992Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1b08df7-d8a3-4198-90aa-b6f497d4c3a6","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/b1b08df7-d8a3-4198-90aa-b6f497d4c3a6/ticks/636483935584565023","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"cfbdf455-8659-44f0-a969-ca5c5fff6a82","responseBody":"{\\"name\\":\\"k8s-master-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"287a1f86-dcd9-479b-95f3-855f558519e8\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\",\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}]}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:18.4565023Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"eafa3e8d-bb05-4cbc-831b-515b421feb6c","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/eafa3e8d-bb05-4cbc-831b-515b421feb6c/ticks/636483935576596018","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}],\\"primary\\":true,\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.6596018Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0630ea34-5e08-4df7-806c-5ba277e8ee98","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/0630ea34-5e08-4df7-806c-5ba277e8ee98/ticks/636483935574567301","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"010e332e-ae98-4d7f-8d89-b13bcd67dd82","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.4567301Z","submissionTimestamp":"2017-12-09T05:19:29.9175501Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"23c16967-c5de-434a-883d-9dcbb5cf7910","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/23c16967-c5de-434a-883d-9dcbb5cf7910/ticks/636483935571498862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"9d8c0359-5075-4aa5-9300-41c5abe70457","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.1498862Z","submissionTimestamp":"2017-12-09T05:19:29.9514229Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3637760d-70c1-4541-a66a-eba014903301","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/3637760d-70c1-4541-a66a-eba014903301/ticks/636483935514628368","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"4d2efcf5-cd3f-47e1-87b4-25ee3eb24361","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.4628368Z","submissionTimestamp":"2017-12-09T05:19:29.8886293Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"96b089d0-749d-4278-a2b9-20d010d8eb76","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/96b089d0-749d-4278-a2b9-20d010d8eb76/ticks/636483935512332041","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"properties":{"statusCode":"Created","serviceRequestId":"fcd5a581-c4fa-4f03-9aeb-4aa694a54fbd"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:11.2332041Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"37a4a8ec-5993-4756-881c-7f6fe9d2b415","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/37a4a8ec-5993-4756-881c-7f6fe9d2b415/ticks/636483935510457343","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.0457343Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c0f2181e-829d-4b04-96e6-91d90ffe74c8","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/c0f2181e-829d-4b04-96e6-91d90ffe74c8/ticks/636483935507957703","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"statusCode":"Created","serviceRequestId":"3a931eae-ac9c-414f-b748-d28628f2c996","responseBody":"{\\"name\\":\\"k8s-master-lb-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"type\\":\\"Microsoft.Network/loadBalancers\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"a8c2b30a-7f33-4beb-b9e6-1cfb8b254ef3\\",\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"},\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"idleTimeoutInMinutes\\":5,\\"protocol\\":\\"Tcp\\",\\"loadDistribution\\":\\"Default\\",\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"}}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"protocol\\":\\"Tcp\\",\\"port\\":443,\\"intervalInSeconds\\":5,\\"numberOfProbes\\":2,\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"inboundNatRules\\":[],\\"outboundNatRules\\":[],\\"inboundNatPools\\":[]}}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:10.7957703Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e/ticks/636483935499050370","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\"}],\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"properties\\":{\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"}}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"properties\\":{\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"idleTimeoutInMinutes\\":5,\\"loadDistribution\\":\\"Default\\",\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"},\\"protocol\\":\\"tcp\\"}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"properties\\":{\\"intervalInSeconds\\":\\"5\\",\\"numberOfProbes\\":\\"2\\",\\"port\\":443,\\"protocol\\":\\"tcp\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:09.905037Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"42843e04-3819-4b19-8a25-1ec0a7634855","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/42843e04-3819-4b19-8a25-1ec0a7634855/ticks/636483935462644362","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"statusCode":"Created","serviceRequestId":"73c1ebb8-ec8b-41d5-aaf6-128425b11048","responseBody":"{\\"name\\":\\"k8s-master-ip-fabricnlp9-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\",\\"etag\\":\\"W/\\\\\\"2aece227-86b3-4d07-80e1-505ad9e017b3\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"08ac6d19-b8e9-4187-a993-feb5207a6768\\",\\"publicIPAddressVersion\\":\\"IPv4\\",\\"publicIPAllocationMethod\\":\\"Dynamic\\",\\"idleTimeoutInMinutes\\":4,\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\",\\"fqdn\\":\\"fabricnlp9.eastus.cloudapp.azure.com\\"}},\\"type\\":\\"Microsoft.Network/publicIPAddresses\\"}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:06.2644362Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c961bc1c-adc5-4f0b-a850-02060fdf468f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/c961bc1c-adc5-4f0b-a850-02060fdf468f/ticks/636483935459519543","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"statusCode":"Created","serviceRequestId":"cbec7ef0-5357-4ce4-b2ce-5d79377a7871","responseBody":"{\\"name\\":\\"k8s-master-25033075-nsg\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"type\\":\\"Microsoft.Network/networkSecurityGroups\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"0e94a593-0195-4379-b798-56011f9e1b99\\",\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_ssh\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":101,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_kube_tls\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":100,\\"direction\\":\\"Inbound\\"}}],\\"defaultSecurityRules\\":[{\\"name\\":\\"AllowVnetInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowAzureLoadBalancerInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowAzureLoadBalancerInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from azure load balancer\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"AzureLoadBalancer\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"DenyAllInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all inbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowVnetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"AllowInternetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowInternetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to Internet\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"Internet\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"DenyAllOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all outbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Outbound\\"}}]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9519543Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f7ec8371-3033-467f-923d-2af6b2168b3a","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/f7ec8371-3033-467f-923d-2af6b2168b3a/ticks/636483935459206868","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"statusCode":"Created","serviceRequestId":"2127672f-cb17-4957-a6fa-9c3d112bf86d","responseBody":"{\\"name\\":\\"k8s-master-25033075-routetable\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable\\",\\"etag\\":\\"W/\\\\\\"e999d01a-3925-4d88-90ca-dde1e957723e\\\\\\"\\",\\"type\\":\\"Microsoft.Network/routeTables\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"2c300a3b-6237-4592-9fd0-a7eb3f365a28\\",\\"routes\\":[]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9206868Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2a0e4d77-1830-40c5-993e-af900e4260bb","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/2a0e4d77-1830-40c5-993e-af900e4260bb/ticks/636483935457956862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"e8611b1b-c62b-4d00-b87c-aea3bc210226"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7956862Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b/ticks/636483935457800589","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"570b1876-904b-4e3d-8154-3df414bd0c79"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7800589Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0f57cc09-3d02-401c-8e6e-7bda7cbd950d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/0f57cc09-3d02-401c-8e6e-7bda7cbd950d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"7ca02e9c-635f-488e-bbe3-921f51760a4d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/7ca02e9c-635f-488e-bbe3-921f51760a4d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"519755ef-e484-4243-bfeb-0edde3c8c163","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/519755ef-e484-4243-bfeb-0edde3c8c163/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"direction\\":\\"Inbound\\",\\"priority\\":101,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"direction\\":\\"Inbound\\",\\"priority\\":100,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"79ede4b5-7470-4d12-8d22-bbac17c48a8e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/79ede4b5-7470-4d12-8d22-bbac17c48a8e/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\"},\\"publicIPAllocationMethod\\":\\"Dynamic\\"}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d542e1b7-71de-4cde-929d-d1174ea92deb","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/d542e1b7-71de-4cde-929d-d1174ea92deb/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\"}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"34efd43d-0a0b-47a6-be9e-3e3fd74265ad","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/34efd43d-0a0b-47a6-be9e-3e3fd74265ad/ticks/636483935441012452","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"properties":{"statusCode":"OK","serviceRequestId":null},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:04.1012452Z","submissionTimestamp":"2017-12-09T05:19:19.9694084Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"745490e4-6d74-4e41-ac44-1d5e5b10b68d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/745490e4-6d74-4e41-ac44-1d5e5b10b68d/ticks/636483935404291527","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:00.4291527Z","submissionTimestamp":"2017-12-09T05:19:19.9684077Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"}]}' -INFO: Accepted: cse0 (Microsoft.Compute/virtualMachines/extensions) -DEBUG: Getting management service client client_type=MonitorManagementClient -DEBUG: adal-python : aad83495-7fcb-4f19-bcef-d04c15b96abb - Authority:Performing instance discovery: https://login.microsoftonline.com/52807a8b-794c-4c07-825f-578847e1257e -DEBUG: adal-python : aad83495-7fcb-4f19-bcef-d04c15b96abb - Authority:Performing static instance discovery -DEBUG: adal-python : aad83495-7fcb-4f19-bcef-d04c15b96abb - Authority:Authority validated via static instance discovery -INFO: adal-python : aad83495-7fcb-4f19-bcef-d04c15b96abb - TokenRequest:Getting token from cache with refresh if necessary. -DEBUG: adal-python : aad83495-7fcb-4f19-bcef-d04c15b96abb - OAuth2Client:finding with query: {"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : aad83495-7fcb-4f19-bcef-d04c15b96abb - OAuth2Client:Looking for potential cache entries: -DEBUG: adal-python : aad83495-7fcb-4f19-bcef-d04c15b96abb - OAuth2Client:{"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : aad83495-7fcb-4f19-bcef-d04c15b96abb - OAuth2Client:Found 4 potential entries. -DEBUG: adal-python : aad83495-7fcb-4f19-bcef-d04c15b96abb - OAuth2Client:Resource specific token found. -DEBUG: adal-python : aad83495-7fcb-4f19-bcef-d04c15b96abb - OAuth2Client:Returning token from cache lookup, AccessTokenId: b'kslIbWka8YbxRUy8vLy6JNH7izY8GoVPIpyFsPticn4=', RefreshTokenId: b'ZKVr4cTgxa0EDZ2Kgqem4UHxIsbWBdRNnpWnblHwFnE=' -DEBUG: msrest.pipeline : Configuring request: timeout=100, verify=True, cert=None -DEBUG: msrest.pipeline : Configuring redirects: allow=True, max=30 -DEBUG: msrest.pipeline : Configuring proxies: '' -DEBUG: msrest.pipeline : Evaluate proxies against ENV settings: True -DEBUG: msrest.pipeline : Configuring retry: max_retries=4, backoff_factor=0.8, max_backoff=90 -DEBUG: urllib3.connectionpool : Starting new HTTPS connection (1): management.azure.com -DEBUG: urllib3.connectionpool : https://management.azure.com:443 "GET /subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A21%3A33Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27 HTTP/1.1" 200 None -DEBUG: msrest.http_logger : Request URL: 'https://management.azure.com/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A21%3A33Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27' -DEBUG: msrest.http_logger : Request method: 'GET' -DEBUG: msrest.http_logger : Request headers: -DEBUG: msrest.http_logger : 'User-Agent': 'python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.19 msrest_azure/0.4.17 monitormanagementclient/0.4.0 Azure-SDK-For-Python AZURECLI/2.0.22' -DEBUG: msrest.http_logger : 'Accept-Encoding': 'gzip, deflate' -DEBUG: msrest.http_logger : 'Accept': 'application/json' -DEBUG: msrest.http_logger : 'Connection': 'keep-alive' -DEBUG: msrest.http_logger : 'Authorization': '*****' -DEBUG: msrest.http_logger : 'x-ms-client-request-id': '7538e6de-dca0-11e7-b921-e4b3187aa3c2' -DEBUG: msrest.http_logger : 'CommandName': 'group deployment create' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'accept-language': 'en-US' -DEBUG: msrest.http_logger : Request body: -DEBUG: msrest.http_logger : None -DEBUG: msrest.http_logger : Response status: 200 -DEBUG: msrest.http_logger : Response headers: -DEBUG: msrest.http_logger : 'Cache-Control': 'no-cache' -DEBUG: msrest.http_logger : 'Pragma': 'no-cache' -DEBUG: msrest.http_logger : 'Transfer-Encoding': 'chunked' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'Content-Encoding': 'gzip' -DEBUG: msrest.http_logger : 'Expires': '-1' -DEBUG: msrest.http_logger : 'Vary': 'Accept-Encoding,Accept-Encoding' -DEBUG: msrest.http_logger : 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains' -DEBUG: msrest.http_logger : 'x-ms-request-id': 'EastUS_eba2a294dca74f5eb9c170218def0db4_636483936936810770' -DEBUG: msrest.http_logger : 'Server': 'Microsoft-IIS/8.5' -DEBUG: msrest.http_logger : 'x-ms-ratelimit-remaining-subscription-reads': '14673' -DEBUG: msrest.http_logger : 'x-ms-correlation-request-id': 'd445fab7-97e4-4cfa-ac47-769f7337e0ec' -DEBUG: msrest.http_logger : 'x-ms-routing-request-id': 'NORTHCENTRALUS:20171209T052133Z:d445fab7-97e4-4cfa-ac47-769f7337e0ec' -DEBUG: msrest.http_logger : 'Date': 'Sat, 09 Dec 2017 05:21:33 GMT' -DEBUG: msrest.http_logger : Response content: -DEBUG: msrest.http_logger : b'{"value":[{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"babf2609-61dc-495f-80df-ad433072a19e","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/babf2609-61dc-495f-80df-ad433072a19e/ticks/636483936774315016","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"381f670a-69d7-4ac9-a374-4eb3c2132e5b","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:17.4315016Z","submissionTimestamp":"2017-12-09T05:21:30.4136212Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"56378e6b-714f-4ef1-944c-259ede9dfb43","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/56378e6b-714f-4ef1-944c-259ede9dfb43/ticks/636483936759741086","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"1325bb09-8e5e-4832-a799-dc3766c6b8a2","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:15.9741086Z","submissionTimestamp":"2017-12-09T05:21:30.0927902Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"7f8ed437-3a61-4667-a316-a69d1901fa5d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/7f8ed437-3a61-4667-a316-a69d1901fa5d/ticks/636483936758491013","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"58c7e49d-29e1-4157-8871-dd1bebd42936","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:15.8491013Z","submissionTimestamp":"2017-12-09T05:21:30.0927902Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d7cc4ff6-ae5a-4247-9b8b-3e5e8c6d7218","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/d7cc4ff6-ae5a-4247-9b8b-3e5e8c6d7218/ticks/636483936615161642","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"d5f1fa4d-c3fc-42f1-aa60-dc57da5b9a25","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:01.5161642Z","submissionTimestamp":"2017-12-09T05:21:20.0860134Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"4e7a05fa-80af-42f8-bd89-34fd6f8b219f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/4e7a05fa-80af-42f8-bd89-34fd6f8b219f/ticks/636483936604503602","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"f92ed3c9-924d-47d0-8201-48456822b191","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:00.4503602Z","submissionTimestamp":"2017-12-09T05:21:19.6077919Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"5851d2ad-f28b-43f8-920f-07863f548733","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/5851d2ad-f28b-43f8-920f-07863f548733/ticks/636483936601536698","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc7bd08b-866e-48a5-a537-9d4fe78c8e3e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:00.1536698Z","submissionTimestamp":"2017-12-09T05:21:20.0989911Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c63c3a58-6e60-4d0a-8892-88771b5d2d2d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"06aebdda-7a37-4f4e-b766-26b3ea561951","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/c63c3a58-6e60-4d0a-8892-88771b5d2d2d/ticks/636483936458560786","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7e7d2109-9794-4a26-8444-026e9640661c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Created","serviceRequestId":"db62465a-e660-493e-8b3b-286ed8596452"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:20:45.8560786Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d256c2ab-b9ba-43ac-ba8d-bf1b809b8a9b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/d256c2ab-b9ba-43ac-ba8d-bf1b809b8a9b/ticks/636483936448959408","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"0e990a14-1a57-4ea2-8056-47380457fe70","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.8959408Z","submissionTimestamp":"2017-12-09T05:20:59.705539Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"efa72caa-24ef-4463-87bb-dff257d7896e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"06aebdda-7a37-4f4e-b766-26b3ea561951","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/efa72caa-24ef-4463-87bb-dff257d7896e/ticks/636483936445435451","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7e7d2109-9794-4a26-8444-026e9640661c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.5435451Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"078e8afb-ad14-432b-8327-9bd85371586b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/078e8afb-ad14-432b-8327-9bd85371586b/ticks/636483936443716624","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"35936685-5536-4681-a2c1-7882a7d6ea0f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.3716624Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6a34ff92-1bdb-40da-a940-ce61ee3143df","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/6a34ff92-1bdb-40da-a940-ce61ee3143df/ticks/636483936429993173","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"29718454-78c2-40c6-b631-71e4e334bcd8","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:42.9993173Z","submissionTimestamp":"2017-12-09T05:20:59.8731419Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"766d0bab-9165-464a-94ae-105d8dcac708","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/766d0bab-9165-464a-94ae-105d8dcac708/ticks/636483936288958990","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"19b22b89-dd10-4c67-8c2c-4d458a4d51e7","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:28.895899Z","submissionTimestamp":"2017-12-09T05:20:50.0841006Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"e829aaf0-414c-46df-ab69-2d9f62986096","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/e829aaf0-414c-46df-ab69-2d9f62986096/ticks/636483936282577338","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"b2d3aa73-d783-4375-a064-98079cd2edaa","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:28.2577338Z","submissionTimestamp":"2017-12-09T05:20:39.9794141Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"fc96d187-16c7-4ea4-a80c-cb1abe3a938d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/fc96d187-16c7-4ea4-a80c-cb1abe3a938d/ticks/636483936269716382","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"9131a6b1-8c84-4761-85ba-9e155b40ffbe","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:26.9716382Z","submissionTimestamp":"2017-12-09T05:20:40.5339552Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"84e69362-734a-4d01-ad67-d40a51071911","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/84e69362-734a-4d01-ad67-d40a51071911/ticks/636483936133495638","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3931a993-da5d-4ffb-a53f-3725fe41f9b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:13.3495638Z","submissionTimestamp":"2017-12-09T05:20:29.7480002Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"172ee1ce-a08c-4869-808b-aefc97479870","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/172ee1ce-a08c-4869-808b-aefc97479870/ticks/636483936102743029","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3bacb20e-3fc2-4bcf-ad42-67cd9a56ee8e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:10.2743029Z","submissionTimestamp":"2017-12-09T05:20:29.3964496Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c863e3ad-861a-4842-9bed-5d7b5c21f752","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/c863e3ad-861a-4842-9bed-5d7b5c21f752/ticks/636483935975493658","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3c059bde-9ba7-4705-a46a-90f041019563","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:57.5493658Z","submissionTimestamp":"2017-12-09T05:20:10.1148471Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218/ticks/636483935968523897","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"6b4f8ac8-b6be-4676-a1ef-c2efd07639b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:56.8523897Z","submissionTimestamp":"2017-12-09T05:20:10.2353207Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2/ticks/636483935945781875","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"502f330f-757e-492a-bf5d-8b2c1a9c5e87","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:54.5781875Z","submissionTimestamp":"2017-12-09T05:20:09.9808359Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"629517bd-3422-4799-aed0-e76166f332df","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/629517bd-3422-4799-aed0-e76166f332df/ticks/636483935815203536","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"608c44ca-b946-4085-b677-c60b4364cd4f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.5203536Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0a3e8fa0-b1aa-430d-813d-717d9ccaba43","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/0a3e8fa0-b1aa-430d-813d-717d9ccaba43/ticks/636483935813640803","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"e8a78a19-e992-4a15-9b9d-1d396e76841e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.3640803Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f502a53a-bef1-45ce-a64f-3cec67be9e74","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/f502a53a-bef1-45ce-a64f-3cec67be9e74/ticks/636483935785592969","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"934cbf0a-66c3-40ac-83ad-5a900bd0a3ee","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:38.5592969Z","submissionTimestamp":"2017-12-09T05:20:00.1233196Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"76b649ce-1ebe-4dac-89a1-78bd004fbdbe","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/76b649ce-1ebe-4dac-89a1-78bd004fbdbe/ticks/636483935662684070","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"2368e683-ae0d-4e05-93f7-5251dd7859ff"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:26.268407Z","submissionTimestamp":"2017-12-09T05:19:40.0013894Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0/ticks/636483935658854059","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"770228b2-9970-4da2-8bb3-5eb17f427abd"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:25.8854059Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2ef95b9d-6cc9-4eaa-a265-599681ba4120","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/2ef95b9d-6cc9-4eaa-a265-599681ba4120/ticks/636483935628933848","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.8933848Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"fe383666-3d1f-445b-a21a-bfe1cb911e8f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/fe383666-3d1f-445b-a21a-bfe1cb911e8f/ticks/636483935626751699","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"97c87afe-ca58-46e2-8944-72c541d4a229"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.6751699Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"4c47093b-1a6c-422e-be0d-3b610067fa96","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/4c47093b-1a6c-422e-be0d-3b610067fa96/ticks/636483935624715321","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0179ac94-8373-4392-87f6-59dce144ba0a","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"40a6b458-3268-400a-b594-b782474e5613\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.5\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.4715321Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"18a7b81d-bf54-4f62-9028-d2f0d1507d78","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/18a7b81d-bf54-4f62-9028-d2f0d1507d78/ticks/636483935623914480","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.391448Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b6cc422e-578b-40e7-9436-142f9f132b8c","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/b6cc422e-578b-40e7-9436-142f9f132b8c/ticks/636483935619695965","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0488286b-cd93-4ba0-95c2-39b32adf684e","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"6e8dafff-a250-48f1-98f8-81ba6740af90\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.4\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:21.9695965Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1deef98-0832-4f8b-80f9-845dbd487bbd","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/b1deef98-0832-4f8b-80f9-845dbd487bbd/ticks/636483935615187666","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:21.5187666Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0c815960-230e-4117-b401-3fcfbcd9634b","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/0c815960-230e-4117-b401-3fcfbcd9634b/ticks/636483935608915102","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:20.8915102Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3b3a8117-8604-4212-a730-3d8b798b473d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/3b3a8117-8604-4212-a730-3d8b798b473d/ticks/636483935588001992","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:18.8001992Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1b08df7-d8a3-4198-90aa-b6f497d4c3a6","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/b1b08df7-d8a3-4198-90aa-b6f497d4c3a6/ticks/636483935584565023","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"cfbdf455-8659-44f0-a969-ca5c5fff6a82","responseBody":"{\\"name\\":\\"k8s-master-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"287a1f86-dcd9-479b-95f3-855f558519e8\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\",\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}]}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:18.4565023Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"eafa3e8d-bb05-4cbc-831b-515b421feb6c","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/eafa3e8d-bb05-4cbc-831b-515b421feb6c/ticks/636483935576596018","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}],\\"primary\\":true,\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.6596018Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0630ea34-5e08-4df7-806c-5ba277e8ee98","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/0630ea34-5e08-4df7-806c-5ba277e8ee98/ticks/636483935574567301","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"010e332e-ae98-4d7f-8d89-b13bcd67dd82","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.4567301Z","submissionTimestamp":"2017-12-09T05:19:29.9175501Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"23c16967-c5de-434a-883d-9dcbb5cf7910","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/23c16967-c5de-434a-883d-9dcbb5cf7910/ticks/636483935571498862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"9d8c0359-5075-4aa5-9300-41c5abe70457","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.1498862Z","submissionTimestamp":"2017-12-09T05:19:29.9514229Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3637760d-70c1-4541-a66a-eba014903301","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/3637760d-70c1-4541-a66a-eba014903301/ticks/636483935514628368","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"4d2efcf5-cd3f-47e1-87b4-25ee3eb24361","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.4628368Z","submissionTimestamp":"2017-12-09T05:19:29.8886293Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"96b089d0-749d-4278-a2b9-20d010d8eb76","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/96b089d0-749d-4278-a2b9-20d010d8eb76/ticks/636483935512332041","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"properties":{"statusCode":"Created","serviceRequestId":"fcd5a581-c4fa-4f03-9aeb-4aa694a54fbd"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:11.2332041Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"37a4a8ec-5993-4756-881c-7f6fe9d2b415","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/37a4a8ec-5993-4756-881c-7f6fe9d2b415/ticks/636483935510457343","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.0457343Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c0f2181e-829d-4b04-96e6-91d90ffe74c8","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/c0f2181e-829d-4b04-96e6-91d90ffe74c8/ticks/636483935507957703","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"statusCode":"Created","serviceRequestId":"3a931eae-ac9c-414f-b748-d28628f2c996","responseBody":"{\\"name\\":\\"k8s-master-lb-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"type\\":\\"Microsoft.Network/loadBalancers\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"a8c2b30a-7f33-4beb-b9e6-1cfb8b254ef3\\",\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"},\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"idleTimeoutInMinutes\\":5,\\"protocol\\":\\"Tcp\\",\\"loadDistribution\\":\\"Default\\",\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"}}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"protocol\\":\\"Tcp\\",\\"port\\":443,\\"intervalInSeconds\\":5,\\"numberOfProbes\\":2,\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"inboundNatRules\\":[],\\"outboundNatRules\\":[],\\"inboundNatPools\\":[]}}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:10.7957703Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e/ticks/636483935499050370","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\"}],\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"properties\\":{\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"}}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"properties\\":{\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"idleTimeoutInMinutes\\":5,\\"loadDistribution\\":\\"Default\\",\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"},\\"protocol\\":\\"tcp\\"}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"properties\\":{\\"intervalInSeconds\\":\\"5\\",\\"numberOfProbes\\":\\"2\\",\\"port\\":443,\\"protocol\\":\\"tcp\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:09.905037Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"42843e04-3819-4b19-8a25-1ec0a7634855","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/42843e04-3819-4b19-8a25-1ec0a7634855/ticks/636483935462644362","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"statusCode":"Created","serviceRequestId":"73c1ebb8-ec8b-41d5-aaf6-128425b11048","responseBody":"{\\"name\\":\\"k8s-master-ip-fabricnlp9-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\",\\"etag\\":\\"W/\\\\\\"2aece227-86b3-4d07-80e1-505ad9e017b3\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"08ac6d19-b8e9-4187-a993-feb5207a6768\\",\\"publicIPAddressVersion\\":\\"IPv4\\",\\"publicIPAllocationMethod\\":\\"Dynamic\\",\\"idleTimeoutInMinutes\\":4,\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\",\\"fqdn\\":\\"fabricnlp9.eastus.cloudapp.azure.com\\"}},\\"type\\":\\"Microsoft.Network/publicIPAddresses\\"}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:06.2644362Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c961bc1c-adc5-4f0b-a850-02060fdf468f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/c961bc1c-adc5-4f0b-a850-02060fdf468f/ticks/636483935459519543","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"statusCode":"Created","serviceRequestId":"cbec7ef0-5357-4ce4-b2ce-5d79377a7871","responseBody":"{\\"name\\":\\"k8s-master-25033075-nsg\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"type\\":\\"Microsoft.Network/networkSecurityGroups\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"0e94a593-0195-4379-b798-56011f9e1b99\\",\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_ssh\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":101,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_kube_tls\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":100,\\"direction\\":\\"Inbound\\"}}],\\"defaultSecurityRules\\":[{\\"name\\":\\"AllowVnetInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowAzureLoadBalancerInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowAzureLoadBalancerInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from azure load balancer\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"AzureLoadBalancer\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"DenyAllInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all inbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowVnetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"AllowInternetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowInternetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to Internet\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"Internet\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"DenyAllOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all outbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Outbound\\"}}]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9519543Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f7ec8371-3033-467f-923d-2af6b2168b3a","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/f7ec8371-3033-467f-923d-2af6b2168b3a/ticks/636483935459206868","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"statusCode":"Created","serviceRequestId":"2127672f-cb17-4957-a6fa-9c3d112bf86d","responseBody":"{\\"name\\":\\"k8s-master-25033075-routetable\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable\\",\\"etag\\":\\"W/\\\\\\"e999d01a-3925-4d88-90ca-dde1e957723e\\\\\\"\\",\\"type\\":\\"Microsoft.Network/routeTables\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"2c300a3b-6237-4592-9fd0-a7eb3f365a28\\",\\"routes\\":[]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9206868Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2a0e4d77-1830-40c5-993e-af900e4260bb","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/2a0e4d77-1830-40c5-993e-af900e4260bb/ticks/636483935457956862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"e8611b1b-c62b-4d00-b87c-aea3bc210226"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7956862Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b/ticks/636483935457800589","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"570b1876-904b-4e3d-8154-3df414bd0c79"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7800589Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0f57cc09-3d02-401c-8e6e-7bda7cbd950d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/0f57cc09-3d02-401c-8e6e-7bda7cbd950d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"7ca02e9c-635f-488e-bbe3-921f51760a4d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/7ca02e9c-635f-488e-bbe3-921f51760a4d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"519755ef-e484-4243-bfeb-0edde3c8c163","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/519755ef-e484-4243-bfeb-0edde3c8c163/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"direction\\":\\"Inbound\\",\\"priority\\":101,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"direction\\":\\"Inbound\\",\\"priority\\":100,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"79ede4b5-7470-4d12-8d22-bbac17c48a8e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/79ede4b5-7470-4d12-8d22-bbac17c48a8e/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\"},\\"publicIPAllocationMethod\\":\\"Dynamic\\"}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d542e1b7-71de-4cde-929d-d1174ea92deb","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/d542e1b7-71de-4cde-929d-d1174ea92deb/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\"}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"34efd43d-0a0b-47a6-be9e-3e3fd74265ad","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/34efd43d-0a0b-47a6-be9e-3e3fd74265ad/ticks/636483935441012452","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"properties":{"statusCode":"OK","serviceRequestId":null},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:04.1012452Z","submissionTimestamp":"2017-12-09T05:19:19.9694084Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"745490e4-6d74-4e41-ac44-1d5e5b10b68d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/745490e4-6d74-4e41-ac44-1d5e5b10b68d/ticks/636483935404291527","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:00.4291527Z","submissionTimestamp":"2017-12-09T05:19:19.9684077Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"}]}' -DEBUG: adal-python : 48cf4afc-7826-4a6c-9929-1300afba2ad3 - Authority:Performing instance discovery: https://login.microsoftonline.com/52807a8b-794c-4c07-825f-578847e1257e -DEBUG: adal-python : 48cf4afc-7826-4a6c-9929-1300afba2ad3 - Authority:Performing static instance discovery -DEBUG: adal-python : 48cf4afc-7826-4a6c-9929-1300afba2ad3 - Authority:Authority validated via static instance discovery -INFO: adal-python : 48cf4afc-7826-4a6c-9929-1300afba2ad3 - TokenRequest:Getting token from cache with refresh if necessary. -DEBUG: adal-python : 48cf4afc-7826-4a6c-9929-1300afba2ad3 - OAuth2Client:finding with query: {"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 48cf4afc-7826-4a6c-9929-1300afba2ad3 - OAuth2Client:Looking for potential cache entries: -DEBUG: adal-python : 48cf4afc-7826-4a6c-9929-1300afba2ad3 - OAuth2Client:{"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 48cf4afc-7826-4a6c-9929-1300afba2ad3 - OAuth2Client:Found 4 potential entries. -DEBUG: adal-python : 48cf4afc-7826-4a6c-9929-1300afba2ad3 - OAuth2Client:Resource specific token found. -DEBUG: adal-python : 48cf4afc-7826-4a6c-9929-1300afba2ad3 - OAuth2Client:Returning token from cache lookup, AccessTokenId: b'kslIbWka8YbxRUy8vLy6JNH7izY8GoVPIpyFsPticn4=', RefreshTokenId: b'ZKVr4cTgxa0EDZ2Kgqem4UHxIsbWBdRNnpWnblHwFnE=' -DEBUG: msrest.pipeline : Configuring request: timeout=100, verify=True, cert=None -DEBUG: msrest.pipeline : Configuring redirects: allow=True, max=30 -DEBUG: msrest.pipeline : Configuring proxies: '' -DEBUG: msrest.pipeline : Evaluate proxies against ENV settings: True -DEBUG: msrest.pipeline : Configuring retry: max_retries=4, backoff_factor=0.8, max_backoff=90 -DEBUG: urllib3.connectionpool : Starting new HTTPS connection (1): management.azure.com -DEBUG: urllib3.connectionpool : https://management.azure.com:443 "GET /subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/operationStatuses/08586888101433128342?api-version=2017-05-10 HTTP/1.1" 200 140 -DEBUG: msrest.http_logger : Request URL: 'https://management.azure.com/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/operationStatuses/08586888101433128342?api-version=2017-05-10' -DEBUG: msrest.http_logger : Request method: 'GET' -DEBUG: msrest.http_logger : Request headers: -DEBUG: msrest.http_logger : 'User-Agent': 'python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.19 msrest_azure/0.4.17 resourcemanagementclient/1.2.1 Azure-SDK-For-Python AZURECLI/2.0.22' -DEBUG: msrest.http_logger : 'Accept-Encoding': 'gzip, deflate' -DEBUG: msrest.http_logger : 'Accept': 'application/json' -DEBUG: msrest.http_logger : 'Connection': 'keep-alive' -DEBUG: msrest.http_logger : 'Authorization': '*****' -DEBUG: msrest.http_logger : 'x-ms-client-request-id': '7538e6de-dca0-11e7-b921-e4b3187aa3c2' -DEBUG: msrest.http_logger : 'CommandName': 'group deployment create' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'accept-language': 'en-US' -DEBUG: msrest.http_logger : Request body: -DEBUG: msrest.http_logger : None -DEBUG: msrest.http_logger : Response status: 200 -DEBUG: msrest.http_logger : Response headers: -DEBUG: msrest.http_logger : 'Cache-Control': 'no-cache' -DEBUG: msrest.http_logger : 'Pragma': 'no-cache' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'Content-Encoding': 'gzip' -DEBUG: msrest.http_logger : 'Expires': '-1' -DEBUG: msrest.http_logger : 'Vary': 'Accept-Encoding' -DEBUG: msrest.http_logger : 'x-ms-ratelimit-remaining-subscription-reads': '14775' -DEBUG: msrest.http_logger : 'x-ms-request-id': '37e210d6-a763-4a42-9f70-4078b85c5881' -DEBUG: msrest.http_logger : 'x-ms-correlation-request-id': '37e210d6-a763-4a42-9f70-4078b85c5881' -DEBUG: msrest.http_logger : 'x-ms-routing-request-id': 'NORTHCENTRALUS:20171209T052141Z:37e210d6-a763-4a42-9f70-4078b85c5881' -DEBUG: msrest.http_logger : 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains' -DEBUG: msrest.http_logger : 'Date': 'Sat, 09 Dec 2017 05:21:41 GMT' -DEBUG: msrest.http_logger : 'Content-Length': '140' -DEBUG: msrest.http_logger : Response content: -DEBUG: msrest.http_logger : b'{"status":"Running"}' -DEBUG: Getting management service client client_type=MonitorManagementClient -DEBUG: adal-python : dcf32e22-b1ef-4026-8fd0-71c16ea4a751 - Authority:Performing instance discovery: https://login.microsoftonline.com/52807a8b-794c-4c07-825f-578847e1257e -DEBUG: adal-python : dcf32e22-b1ef-4026-8fd0-71c16ea4a751 - Authority:Performing static instance discovery -DEBUG: adal-python : dcf32e22-b1ef-4026-8fd0-71c16ea4a751 - Authority:Authority validated via static instance discovery -INFO: adal-python : dcf32e22-b1ef-4026-8fd0-71c16ea4a751 - TokenRequest:Getting token from cache with refresh if necessary. -DEBUG: adal-python : dcf32e22-b1ef-4026-8fd0-71c16ea4a751 - OAuth2Client:finding with query: {"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : dcf32e22-b1ef-4026-8fd0-71c16ea4a751 - OAuth2Client:Looking for potential cache entries: -DEBUG: adal-python : dcf32e22-b1ef-4026-8fd0-71c16ea4a751 - OAuth2Client:{"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : dcf32e22-b1ef-4026-8fd0-71c16ea4a751 - OAuth2Client:Found 4 potential entries. -DEBUG: adal-python : dcf32e22-b1ef-4026-8fd0-71c16ea4a751 - OAuth2Client:Resource specific token found. -DEBUG: adal-python : dcf32e22-b1ef-4026-8fd0-71c16ea4a751 - OAuth2Client:Returning token from cache lookup, AccessTokenId: b'kslIbWka8YbxRUy8vLy6JNH7izY8GoVPIpyFsPticn4=', RefreshTokenId: b'ZKVr4cTgxa0EDZ2Kgqem4UHxIsbWBdRNnpWnblHwFnE=' -DEBUG: msrest.pipeline : Configuring request: timeout=100, verify=True, cert=None -DEBUG: msrest.pipeline : Configuring redirects: allow=True, max=30 -DEBUG: msrest.pipeline : Configuring proxies: '' -DEBUG: msrest.pipeline : Evaluate proxies against ENV settings: True -DEBUG: msrest.pipeline : Configuring retry: max_retries=4, backoff_factor=0.8, max_backoff=90 -DEBUG: urllib3.connectionpool : Starting new HTTPS connection (1): management.azure.com -DEBUG: urllib3.connectionpool : https://management.azure.com:443 "GET /subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A21%3A44Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27 HTTP/1.1" 200 None -DEBUG: msrest.http_logger : Request URL: 'https://management.azure.com/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A21%3A44Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27' -DEBUG: msrest.http_logger : Request method: 'GET' -DEBUG: msrest.http_logger : Request headers: -DEBUG: msrest.http_logger : 'User-Agent': 'python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.19 msrest_azure/0.4.17 monitormanagementclient/0.4.0 Azure-SDK-For-Python AZURECLI/2.0.22' -DEBUG: msrest.http_logger : 'Accept-Encoding': 'gzip, deflate' -DEBUG: msrest.http_logger : 'Accept': 'application/json' -DEBUG: msrest.http_logger : 'Connection': 'keep-alive' -DEBUG: msrest.http_logger : 'Authorization': '*****' -DEBUG: msrest.http_logger : 'x-ms-client-request-id': '7538e6de-dca0-11e7-b921-e4b3187aa3c2' -DEBUG: msrest.http_logger : 'CommandName': 'group deployment create' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'accept-language': 'en-US' -DEBUG: msrest.http_logger : Request body: -DEBUG: msrest.http_logger : None -DEBUG: msrest.http_logger : Response status: 200 -DEBUG: msrest.http_logger : Response headers: -DEBUG: msrest.http_logger : 'Cache-Control': 'no-cache' -DEBUG: msrest.http_logger : 'Pragma': 'no-cache' -DEBUG: msrest.http_logger : 'Transfer-Encoding': 'chunked' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'Content-Encoding': 'gzip' -DEBUG: msrest.http_logger : 'Expires': '-1' -DEBUG: msrest.http_logger : 'Vary': 'Accept-Encoding,Accept-Encoding' -DEBUG: msrest.http_logger : 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains' -DEBUG: msrest.http_logger : 'x-ms-request-id': 'EastUS_19728565a7564ac88dfda165d752b25e_636483937051693711' -DEBUG: msrest.http_logger : 'Server': 'Microsoft-IIS/8.5' -DEBUG: msrest.http_logger : 'x-ms-ratelimit-remaining-subscription-reads': '14941' -DEBUG: msrest.http_logger : 'x-ms-correlation-request-id': '59ddd8ed-57ad-4f88-a3e5-92255c476037' -DEBUG: msrest.http_logger : 'x-ms-routing-request-id': 'NORTHCENTRALUS:20171209T052145Z:59ddd8ed-57ad-4f88-a3e5-92255c476037' -DEBUG: msrest.http_logger : 'Date': 'Sat, 09 Dec 2017 05:21:44 GMT' -DEBUG: msrest.http_logger : Response content: -DEBUG: msrest.http_logger : b'{"value":[{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"babf2609-61dc-495f-80df-ad433072a19e","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/babf2609-61dc-495f-80df-ad433072a19e/ticks/636483936774315016","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"381f670a-69d7-4ac9-a374-4eb3c2132e5b","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:17.4315016Z","submissionTimestamp":"2017-12-09T05:21:30.4136212Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"56378e6b-714f-4ef1-944c-259ede9dfb43","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/56378e6b-714f-4ef1-944c-259ede9dfb43/ticks/636483936759741086","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"1325bb09-8e5e-4832-a799-dc3766c6b8a2","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:15.9741086Z","submissionTimestamp":"2017-12-09T05:21:30.0927902Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"7f8ed437-3a61-4667-a316-a69d1901fa5d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/7f8ed437-3a61-4667-a316-a69d1901fa5d/ticks/636483936758491013","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"58c7e49d-29e1-4157-8871-dd1bebd42936","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:15.8491013Z","submissionTimestamp":"2017-12-09T05:21:30.0927902Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d7cc4ff6-ae5a-4247-9b8b-3e5e8c6d7218","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/d7cc4ff6-ae5a-4247-9b8b-3e5e8c6d7218/ticks/636483936615161642","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"d5f1fa4d-c3fc-42f1-aa60-dc57da5b9a25","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:01.5161642Z","submissionTimestamp":"2017-12-09T05:21:20.0860134Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"4e7a05fa-80af-42f8-bd89-34fd6f8b219f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/4e7a05fa-80af-42f8-bd89-34fd6f8b219f/ticks/636483936604503602","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"f92ed3c9-924d-47d0-8201-48456822b191","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:00.4503602Z","submissionTimestamp":"2017-12-09T05:21:19.6077919Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"5851d2ad-f28b-43f8-920f-07863f548733","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/5851d2ad-f28b-43f8-920f-07863f548733/ticks/636483936601536698","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc7bd08b-866e-48a5-a537-9d4fe78c8e3e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:00.1536698Z","submissionTimestamp":"2017-12-09T05:21:20.0989911Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c63c3a58-6e60-4d0a-8892-88771b5d2d2d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"06aebdda-7a37-4f4e-b766-26b3ea561951","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/c63c3a58-6e60-4d0a-8892-88771b5d2d2d/ticks/636483936458560786","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7e7d2109-9794-4a26-8444-026e9640661c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Created","serviceRequestId":"db62465a-e660-493e-8b3b-286ed8596452"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:20:45.8560786Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d256c2ab-b9ba-43ac-ba8d-bf1b809b8a9b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/d256c2ab-b9ba-43ac-ba8d-bf1b809b8a9b/ticks/636483936448959408","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"0e990a14-1a57-4ea2-8056-47380457fe70","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.8959408Z","submissionTimestamp":"2017-12-09T05:20:59.705539Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"efa72caa-24ef-4463-87bb-dff257d7896e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"06aebdda-7a37-4f4e-b766-26b3ea561951","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/efa72caa-24ef-4463-87bb-dff257d7896e/ticks/636483936445435451","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7e7d2109-9794-4a26-8444-026e9640661c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.5435451Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"078e8afb-ad14-432b-8327-9bd85371586b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/078e8afb-ad14-432b-8327-9bd85371586b/ticks/636483936443716624","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"35936685-5536-4681-a2c1-7882a7d6ea0f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.3716624Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6a34ff92-1bdb-40da-a940-ce61ee3143df","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/6a34ff92-1bdb-40da-a940-ce61ee3143df/ticks/636483936429993173","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"29718454-78c2-40c6-b631-71e4e334bcd8","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:42.9993173Z","submissionTimestamp":"2017-12-09T05:20:59.8731419Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"766d0bab-9165-464a-94ae-105d8dcac708","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/766d0bab-9165-464a-94ae-105d8dcac708/ticks/636483936288958990","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"19b22b89-dd10-4c67-8c2c-4d458a4d51e7","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:28.895899Z","submissionTimestamp":"2017-12-09T05:20:50.0841006Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"e829aaf0-414c-46df-ab69-2d9f62986096","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/e829aaf0-414c-46df-ab69-2d9f62986096/ticks/636483936282577338","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"b2d3aa73-d783-4375-a064-98079cd2edaa","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:28.2577338Z","submissionTimestamp":"2017-12-09T05:20:39.9794141Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"fc96d187-16c7-4ea4-a80c-cb1abe3a938d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/fc96d187-16c7-4ea4-a80c-cb1abe3a938d/ticks/636483936269716382","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"9131a6b1-8c84-4761-85ba-9e155b40ffbe","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:26.9716382Z","submissionTimestamp":"2017-12-09T05:20:40.5339552Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"84e69362-734a-4d01-ad67-d40a51071911","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/84e69362-734a-4d01-ad67-d40a51071911/ticks/636483936133495638","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3931a993-da5d-4ffb-a53f-3725fe41f9b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:13.3495638Z","submissionTimestamp":"2017-12-09T05:20:29.7480002Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"172ee1ce-a08c-4869-808b-aefc97479870","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/172ee1ce-a08c-4869-808b-aefc97479870/ticks/636483936102743029","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3bacb20e-3fc2-4bcf-ad42-67cd9a56ee8e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:10.2743029Z","submissionTimestamp":"2017-12-09T05:20:29.3964496Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c863e3ad-861a-4842-9bed-5d7b5c21f752","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/c863e3ad-861a-4842-9bed-5d7b5c21f752/ticks/636483935975493658","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3c059bde-9ba7-4705-a46a-90f041019563","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:57.5493658Z","submissionTimestamp":"2017-12-09T05:20:10.1148471Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218/ticks/636483935968523897","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"6b4f8ac8-b6be-4676-a1ef-c2efd07639b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:56.8523897Z","submissionTimestamp":"2017-12-09T05:20:10.2353207Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2/ticks/636483935945781875","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"502f330f-757e-492a-bf5d-8b2c1a9c5e87","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:54.5781875Z","submissionTimestamp":"2017-12-09T05:20:09.9808359Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"629517bd-3422-4799-aed0-e76166f332df","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/629517bd-3422-4799-aed0-e76166f332df/ticks/636483935815203536","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"608c44ca-b946-4085-b677-c60b4364cd4f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.5203536Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0a3e8fa0-b1aa-430d-813d-717d9ccaba43","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/0a3e8fa0-b1aa-430d-813d-717d9ccaba43/ticks/636483935813640803","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"e8a78a19-e992-4a15-9b9d-1d396e76841e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.3640803Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f502a53a-bef1-45ce-a64f-3cec67be9e74","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/f502a53a-bef1-45ce-a64f-3cec67be9e74/ticks/636483935785592969","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"934cbf0a-66c3-40ac-83ad-5a900bd0a3ee","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:38.5592969Z","submissionTimestamp":"2017-12-09T05:20:00.1233196Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"76b649ce-1ebe-4dac-89a1-78bd004fbdbe","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/76b649ce-1ebe-4dac-89a1-78bd004fbdbe/ticks/636483935662684070","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"2368e683-ae0d-4e05-93f7-5251dd7859ff"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:26.268407Z","submissionTimestamp":"2017-12-09T05:19:40.0013894Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0/ticks/636483935658854059","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"770228b2-9970-4da2-8bb3-5eb17f427abd"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:25.8854059Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2ef95b9d-6cc9-4eaa-a265-599681ba4120","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/2ef95b9d-6cc9-4eaa-a265-599681ba4120/ticks/636483935628933848","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.8933848Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"fe383666-3d1f-445b-a21a-bfe1cb911e8f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/fe383666-3d1f-445b-a21a-bfe1cb911e8f/ticks/636483935626751699","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"97c87afe-ca58-46e2-8944-72c541d4a229"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.6751699Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"4c47093b-1a6c-422e-be0d-3b610067fa96","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/4c47093b-1a6c-422e-be0d-3b610067fa96/ticks/636483935624715321","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0179ac94-8373-4392-87f6-59dce144ba0a","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"40a6b458-3268-400a-b594-b782474e5613\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.5\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.4715321Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"18a7b81d-bf54-4f62-9028-d2f0d1507d78","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/18a7b81d-bf54-4f62-9028-d2f0d1507d78/ticks/636483935623914480","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.391448Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b6cc422e-578b-40e7-9436-142f9f132b8c","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/b6cc422e-578b-40e7-9436-142f9f132b8c/ticks/636483935619695965","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0488286b-cd93-4ba0-95c2-39b32adf684e","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"6e8dafff-a250-48f1-98f8-81ba6740af90\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.4\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:21.9695965Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1deef98-0832-4f8b-80f9-845dbd487bbd","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/b1deef98-0832-4f8b-80f9-845dbd487bbd/ticks/636483935615187666","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:21.5187666Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0c815960-230e-4117-b401-3fcfbcd9634b","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/0c815960-230e-4117-b401-3fcfbcd9634b/ticks/636483935608915102","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:20.8915102Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3b3a8117-8604-4212-a730-3d8b798b473d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/3b3a8117-8604-4212-a730-3d8b798b473d/ticks/636483935588001992","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:18.8001992Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1b08df7-d8a3-4198-90aa-b6f497d4c3a6","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/b1b08df7-d8a3-4198-90aa-b6f497d4c3a6/ticks/636483935584565023","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"cfbdf455-8659-44f0-a969-ca5c5fff6a82","responseBody":"{\\"name\\":\\"k8s-master-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"287a1f86-dcd9-479b-95f3-855f558519e8\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\",\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}]}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:18.4565023Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"eafa3e8d-bb05-4cbc-831b-515b421feb6c","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/eafa3e8d-bb05-4cbc-831b-515b421feb6c/ticks/636483935576596018","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}],\\"primary\\":true,\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.6596018Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0630ea34-5e08-4df7-806c-5ba277e8ee98","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/0630ea34-5e08-4df7-806c-5ba277e8ee98/ticks/636483935574567301","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"010e332e-ae98-4d7f-8d89-b13bcd67dd82","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.4567301Z","submissionTimestamp":"2017-12-09T05:19:29.9175501Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"23c16967-c5de-434a-883d-9dcbb5cf7910","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/23c16967-c5de-434a-883d-9dcbb5cf7910/ticks/636483935571498862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"9d8c0359-5075-4aa5-9300-41c5abe70457","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.1498862Z","submissionTimestamp":"2017-12-09T05:19:29.9514229Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3637760d-70c1-4541-a66a-eba014903301","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/3637760d-70c1-4541-a66a-eba014903301/ticks/636483935514628368","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"4d2efcf5-cd3f-47e1-87b4-25ee3eb24361","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.4628368Z","submissionTimestamp":"2017-12-09T05:19:29.8886293Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"96b089d0-749d-4278-a2b9-20d010d8eb76","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/96b089d0-749d-4278-a2b9-20d010d8eb76/ticks/636483935512332041","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"properties":{"statusCode":"Created","serviceRequestId":"fcd5a581-c4fa-4f03-9aeb-4aa694a54fbd"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:11.2332041Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"37a4a8ec-5993-4756-881c-7f6fe9d2b415","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/37a4a8ec-5993-4756-881c-7f6fe9d2b415/ticks/636483935510457343","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.0457343Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c0f2181e-829d-4b04-96e6-91d90ffe74c8","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/c0f2181e-829d-4b04-96e6-91d90ffe74c8/ticks/636483935507957703","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"statusCode":"Created","serviceRequestId":"3a931eae-ac9c-414f-b748-d28628f2c996","responseBody":"{\\"name\\":\\"k8s-master-lb-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"type\\":\\"Microsoft.Network/loadBalancers\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"a8c2b30a-7f33-4beb-b9e6-1cfb8b254ef3\\",\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"},\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"idleTimeoutInMinutes\\":5,\\"protocol\\":\\"Tcp\\",\\"loadDistribution\\":\\"Default\\",\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"}}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"protocol\\":\\"Tcp\\",\\"port\\":443,\\"intervalInSeconds\\":5,\\"numberOfProbes\\":2,\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"inboundNatRules\\":[],\\"outboundNatRules\\":[],\\"inboundNatPools\\":[]}}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:10.7957703Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e/ticks/636483935499050370","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\"}],\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"properties\\":{\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"}}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"properties\\":{\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"idleTimeoutInMinutes\\":5,\\"loadDistribution\\":\\"Default\\",\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"},\\"protocol\\":\\"tcp\\"}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"properties\\":{\\"intervalInSeconds\\":\\"5\\",\\"numberOfProbes\\":\\"2\\",\\"port\\":443,\\"protocol\\":\\"tcp\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:09.905037Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"42843e04-3819-4b19-8a25-1ec0a7634855","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/42843e04-3819-4b19-8a25-1ec0a7634855/ticks/636483935462644362","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"statusCode":"Created","serviceRequestId":"73c1ebb8-ec8b-41d5-aaf6-128425b11048","responseBody":"{\\"name\\":\\"k8s-master-ip-fabricnlp9-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\",\\"etag\\":\\"W/\\\\\\"2aece227-86b3-4d07-80e1-505ad9e017b3\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"08ac6d19-b8e9-4187-a993-feb5207a6768\\",\\"publicIPAddressVersion\\":\\"IPv4\\",\\"publicIPAllocationMethod\\":\\"Dynamic\\",\\"idleTimeoutInMinutes\\":4,\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\",\\"fqdn\\":\\"fabricnlp9.eastus.cloudapp.azure.com\\"}},\\"type\\":\\"Microsoft.Network/publicIPAddresses\\"}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:06.2644362Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c961bc1c-adc5-4f0b-a850-02060fdf468f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/c961bc1c-adc5-4f0b-a850-02060fdf468f/ticks/636483935459519543","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"statusCode":"Created","serviceRequestId":"cbec7ef0-5357-4ce4-b2ce-5d79377a7871","responseBody":"{\\"name\\":\\"k8s-master-25033075-nsg\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"type\\":\\"Microsoft.Network/networkSecurityGroups\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"0e94a593-0195-4379-b798-56011f9e1b99\\",\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_ssh\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":101,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_kube_tls\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":100,\\"direction\\":\\"Inbound\\"}}],\\"defaultSecurityRules\\":[{\\"name\\":\\"AllowVnetInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowAzureLoadBalancerInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowAzureLoadBalancerInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from azure load balancer\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"AzureLoadBalancer\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"DenyAllInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all inbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowVnetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"AllowInternetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowInternetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to Internet\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"Internet\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"DenyAllOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all outbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Outbound\\"}}]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9519543Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f7ec8371-3033-467f-923d-2af6b2168b3a","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/f7ec8371-3033-467f-923d-2af6b2168b3a/ticks/636483935459206868","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"statusCode":"Created","serviceRequestId":"2127672f-cb17-4957-a6fa-9c3d112bf86d","responseBody":"{\\"name\\":\\"k8s-master-25033075-routetable\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable\\",\\"etag\\":\\"W/\\\\\\"e999d01a-3925-4d88-90ca-dde1e957723e\\\\\\"\\",\\"type\\":\\"Microsoft.Network/routeTables\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"2c300a3b-6237-4592-9fd0-a7eb3f365a28\\",\\"routes\\":[]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9206868Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2a0e4d77-1830-40c5-993e-af900e4260bb","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/2a0e4d77-1830-40c5-993e-af900e4260bb/ticks/636483935457956862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"e8611b1b-c62b-4d00-b87c-aea3bc210226"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7956862Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b/ticks/636483935457800589","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"570b1876-904b-4e3d-8154-3df414bd0c79"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7800589Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0f57cc09-3d02-401c-8e6e-7bda7cbd950d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/0f57cc09-3d02-401c-8e6e-7bda7cbd950d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"7ca02e9c-635f-488e-bbe3-921f51760a4d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/7ca02e9c-635f-488e-bbe3-921f51760a4d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"519755ef-e484-4243-bfeb-0edde3c8c163","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/519755ef-e484-4243-bfeb-0edde3c8c163/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"direction\\":\\"Inbound\\",\\"priority\\":101,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"direction\\":\\"Inbound\\",\\"priority\\":100,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"79ede4b5-7470-4d12-8d22-bbac17c48a8e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/79ede4b5-7470-4d12-8d22-bbac17c48a8e/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\"},\\"publicIPAllocationMethod\\":\\"Dynamic\\"}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d542e1b7-71de-4cde-929d-d1174ea92deb","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/d542e1b7-71de-4cde-929d-d1174ea92deb/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\"}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"34efd43d-0a0b-47a6-be9e-3e3fd74265ad","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/34efd43d-0a0b-47a6-be9e-3e3fd74265ad/ticks/636483935441012452","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"properties":{"statusCode":"OK","serviceRequestId":null},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:04.1012452Z","submissionTimestamp":"2017-12-09T05:19:19.9694084Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"745490e4-6d74-4e41-ac44-1d5e5b10b68d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/745490e4-6d74-4e41-ac44-1d5e5b10b68d/ticks/636483935404291527","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:00.4291527Z","submissionTimestamp":"2017-12-09T05:19:19.9684077Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"}]}' -DEBUG: Getting management service client client_type=MonitorManagementClient -DEBUG: adal-python : 355a04ae-576f-4352-afae-18cdff4398ec - Authority:Performing instance discovery: https://login.microsoftonline.com/52807a8b-794c-4c07-825f-578847e1257e -DEBUG: adal-python : 355a04ae-576f-4352-afae-18cdff4398ec - Authority:Performing static instance discovery -DEBUG: adal-python : 355a04ae-576f-4352-afae-18cdff4398ec - Authority:Authority validated via static instance discovery -INFO: adal-python : 355a04ae-576f-4352-afae-18cdff4398ec - TokenRequest:Getting token from cache with refresh if necessary. -DEBUG: adal-python : 355a04ae-576f-4352-afae-18cdff4398ec - OAuth2Client:finding with query: {"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 355a04ae-576f-4352-afae-18cdff4398ec - OAuth2Client:Looking for potential cache entries: -DEBUG: adal-python : 355a04ae-576f-4352-afae-18cdff4398ec - OAuth2Client:{"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 355a04ae-576f-4352-afae-18cdff4398ec - OAuth2Client:Found 4 potential entries. -DEBUG: adal-python : 355a04ae-576f-4352-afae-18cdff4398ec - OAuth2Client:Resource specific token found. -DEBUG: adal-python : 355a04ae-576f-4352-afae-18cdff4398ec - OAuth2Client:Returning token from cache lookup, AccessTokenId: b'kslIbWka8YbxRUy8vLy6JNH7izY8GoVPIpyFsPticn4=', RefreshTokenId: b'ZKVr4cTgxa0EDZ2Kgqem4UHxIsbWBdRNnpWnblHwFnE=' -DEBUG: msrest.pipeline : Configuring request: timeout=100, verify=True, cert=None -DEBUG: msrest.pipeline : Configuring redirects: allow=True, max=30 -DEBUG: msrest.pipeline : Configuring proxies: '' -DEBUG: msrest.pipeline : Evaluate proxies against ENV settings: True -DEBUG: msrest.pipeline : Configuring retry: max_retries=4, backoff_factor=0.8, max_backoff=90 -DEBUG: urllib3.connectionpool : Starting new HTTPS connection (1): management.azure.com -DEBUG: urllib3.connectionpool : https://management.azure.com:443 "GET /subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A21%3A54Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27 HTTP/1.1" 200 None -DEBUG: msrest.http_logger : Request URL: 'https://management.azure.com/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A21%3A54Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27' -DEBUG: msrest.http_logger : Request method: 'GET' -DEBUG: msrest.http_logger : Request headers: -DEBUG: msrest.http_logger : 'User-Agent': 'python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.19 msrest_azure/0.4.17 monitormanagementclient/0.4.0 Azure-SDK-For-Python AZURECLI/2.0.22' -DEBUG: msrest.http_logger : 'Accept-Encoding': 'gzip, deflate' -DEBUG: msrest.http_logger : 'Accept': 'application/json' -DEBUG: msrest.http_logger : 'Connection': 'keep-alive' -DEBUG: msrest.http_logger : 'Authorization': '*****' -DEBUG: msrest.http_logger : 'x-ms-client-request-id': '7538e6de-dca0-11e7-b921-e4b3187aa3c2' -DEBUG: msrest.http_logger : 'CommandName': 'group deployment create' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'accept-language': 'en-US' -DEBUG: msrest.http_logger : Request body: -DEBUG: msrest.http_logger : None -DEBUG: msrest.http_logger : Response status: 200 -DEBUG: msrest.http_logger : Response headers: -DEBUG: msrest.http_logger : 'Cache-Control': 'no-cache' -DEBUG: msrest.http_logger : 'Pragma': 'no-cache' -DEBUG: msrest.http_logger : 'Transfer-Encoding': 'chunked' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'Content-Encoding': 'gzip' -DEBUG: msrest.http_logger : 'Expires': '-1' -DEBUG: msrest.http_logger : 'Vary': 'Accept-Encoding,Accept-Encoding' -DEBUG: msrest.http_logger : 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains' -DEBUG: msrest.http_logger : 'x-ms-request-id': 'EastUS_9a50871f052f4558958058d58f797100_636483937151273621' -DEBUG: msrest.http_logger : 'Server': 'Microsoft-IIS/8.5' -DEBUG: msrest.http_logger : 'x-ms-ratelimit-remaining-subscription-reads': '14925' -DEBUG: msrest.http_logger : 'x-ms-correlation-request-id': 'e482a303-12ec-4e93-a7e0-4ea45c5b90a3' -DEBUG: msrest.http_logger : 'x-ms-routing-request-id': 'NORTHCENTRALUS:20171209T052155Z:e482a303-12ec-4e93-a7e0-4ea45c5b90a3' -DEBUG: msrest.http_logger : 'Date': 'Sat, 09 Dec 2017 05:21:54 GMT' -DEBUG: msrest.http_logger : Response content: -DEBUG: msrest.http_logger : b'{"value":[{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"e2d01640-14bd-42ac-b85e-51bee880bce4","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/e2d01640-14bd-42ac-b85e-51bee880bce4/ticks/636483936927918336","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"ab6c463e-0179-4531-afac-24348d49e94d","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:32.7918336Z","submissionTimestamp":"2017-12-09T05:21:50.3523005Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"a6f2997a-c77e-409f-9f38-0e4689643d49","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/a6f2997a-c77e-409f-9f38-0e4689643d49/ticks/636483936915973109","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"2e12aed4-0ae2-421c-a1aa-48463f7c5eae","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:31.5973109Z","submissionTimestamp":"2017-12-09T05:21:50.1043019Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"faec52ee-ad32-47b3-b19c-9f1c363e9e45","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/faec52ee-ad32-47b3-b19c-9f1c363e9e45/ticks/636483936911518846","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fe6347e6-221d-466f-9241-fc2e9aeb9d9f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:31.1518846Z","submissionTimestamp":"2017-12-09T05:21:50.301343Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"babf2609-61dc-495f-80df-ad433072a19e","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/babf2609-61dc-495f-80df-ad433072a19e/ticks/636483936774315016","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"381f670a-69d7-4ac9-a374-4eb3c2132e5b","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:17.4315016Z","submissionTimestamp":"2017-12-09T05:21:30.4136212Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"56378e6b-714f-4ef1-944c-259ede9dfb43","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/56378e6b-714f-4ef1-944c-259ede9dfb43/ticks/636483936759741086","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"1325bb09-8e5e-4832-a799-dc3766c6b8a2","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:15.9741086Z","submissionTimestamp":"2017-12-09T05:21:30.0927902Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"7f8ed437-3a61-4667-a316-a69d1901fa5d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/7f8ed437-3a61-4667-a316-a69d1901fa5d/ticks/636483936758491013","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"58c7e49d-29e1-4157-8871-dd1bebd42936","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:15.8491013Z","submissionTimestamp":"2017-12-09T05:21:30.0927902Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d7cc4ff6-ae5a-4247-9b8b-3e5e8c6d7218","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/d7cc4ff6-ae5a-4247-9b8b-3e5e8c6d7218/ticks/636483936615161642","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"d5f1fa4d-c3fc-42f1-aa60-dc57da5b9a25","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:01.5161642Z","submissionTimestamp":"2017-12-09T05:21:20.0860134Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"4e7a05fa-80af-42f8-bd89-34fd6f8b219f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/4e7a05fa-80af-42f8-bd89-34fd6f8b219f/ticks/636483936604503602","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"f92ed3c9-924d-47d0-8201-48456822b191","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:00.4503602Z","submissionTimestamp":"2017-12-09T05:21:19.6077919Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"5851d2ad-f28b-43f8-920f-07863f548733","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/5851d2ad-f28b-43f8-920f-07863f548733/ticks/636483936601536698","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc7bd08b-866e-48a5-a537-9d4fe78c8e3e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:00.1536698Z","submissionTimestamp":"2017-12-09T05:21:20.0989911Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c63c3a58-6e60-4d0a-8892-88771b5d2d2d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"06aebdda-7a37-4f4e-b766-26b3ea561951","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/c63c3a58-6e60-4d0a-8892-88771b5d2d2d/ticks/636483936458560786","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7e7d2109-9794-4a26-8444-026e9640661c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Created","serviceRequestId":"db62465a-e660-493e-8b3b-286ed8596452"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:20:45.8560786Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d256c2ab-b9ba-43ac-ba8d-bf1b809b8a9b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/d256c2ab-b9ba-43ac-ba8d-bf1b809b8a9b/ticks/636483936448959408","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"0e990a14-1a57-4ea2-8056-47380457fe70","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.8959408Z","submissionTimestamp":"2017-12-09T05:20:59.705539Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"efa72caa-24ef-4463-87bb-dff257d7896e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"06aebdda-7a37-4f4e-b766-26b3ea561951","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/efa72caa-24ef-4463-87bb-dff257d7896e/ticks/636483936445435451","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7e7d2109-9794-4a26-8444-026e9640661c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.5435451Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"078e8afb-ad14-432b-8327-9bd85371586b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/078e8afb-ad14-432b-8327-9bd85371586b/ticks/636483936443716624","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"35936685-5536-4681-a2c1-7882a7d6ea0f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.3716624Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6a34ff92-1bdb-40da-a940-ce61ee3143df","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/6a34ff92-1bdb-40da-a940-ce61ee3143df/ticks/636483936429993173","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"29718454-78c2-40c6-b631-71e4e334bcd8","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:42.9993173Z","submissionTimestamp":"2017-12-09T05:20:59.8731419Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"766d0bab-9165-464a-94ae-105d8dcac708","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/766d0bab-9165-464a-94ae-105d8dcac708/ticks/636483936288958990","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"19b22b89-dd10-4c67-8c2c-4d458a4d51e7","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:28.895899Z","submissionTimestamp":"2017-12-09T05:20:50.0841006Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"e829aaf0-414c-46df-ab69-2d9f62986096","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/e829aaf0-414c-46df-ab69-2d9f62986096/ticks/636483936282577338","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"b2d3aa73-d783-4375-a064-98079cd2edaa","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:28.2577338Z","submissionTimestamp":"2017-12-09T05:20:39.9794141Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"fc96d187-16c7-4ea4-a80c-cb1abe3a938d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/fc96d187-16c7-4ea4-a80c-cb1abe3a938d/ticks/636483936269716382","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"9131a6b1-8c84-4761-85ba-9e155b40ffbe","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:26.9716382Z","submissionTimestamp":"2017-12-09T05:20:40.5339552Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"84e69362-734a-4d01-ad67-d40a51071911","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/84e69362-734a-4d01-ad67-d40a51071911/ticks/636483936133495638","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3931a993-da5d-4ffb-a53f-3725fe41f9b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:13.3495638Z","submissionTimestamp":"2017-12-09T05:20:29.7480002Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"172ee1ce-a08c-4869-808b-aefc97479870","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/172ee1ce-a08c-4869-808b-aefc97479870/ticks/636483936102743029","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3bacb20e-3fc2-4bcf-ad42-67cd9a56ee8e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:10.2743029Z","submissionTimestamp":"2017-12-09T05:20:29.3964496Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c863e3ad-861a-4842-9bed-5d7b5c21f752","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/c863e3ad-861a-4842-9bed-5d7b5c21f752/ticks/636483935975493658","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3c059bde-9ba7-4705-a46a-90f041019563","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:57.5493658Z","submissionTimestamp":"2017-12-09T05:20:10.1148471Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218/ticks/636483935968523897","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"6b4f8ac8-b6be-4676-a1ef-c2efd07639b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:56.8523897Z","submissionTimestamp":"2017-12-09T05:20:10.2353207Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2/ticks/636483935945781875","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"502f330f-757e-492a-bf5d-8b2c1a9c5e87","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:54.5781875Z","submissionTimestamp":"2017-12-09T05:20:09.9808359Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"629517bd-3422-4799-aed0-e76166f332df","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/629517bd-3422-4799-aed0-e76166f332df/ticks/636483935815203536","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"608c44ca-b946-4085-b677-c60b4364cd4f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.5203536Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0a3e8fa0-b1aa-430d-813d-717d9ccaba43","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/0a3e8fa0-b1aa-430d-813d-717d9ccaba43/ticks/636483935813640803","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"e8a78a19-e992-4a15-9b9d-1d396e76841e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.3640803Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f502a53a-bef1-45ce-a64f-3cec67be9e74","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/f502a53a-bef1-45ce-a64f-3cec67be9e74/ticks/636483935785592969","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"934cbf0a-66c3-40ac-83ad-5a900bd0a3ee","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:38.5592969Z","submissionTimestamp":"2017-12-09T05:20:00.1233196Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"76b649ce-1ebe-4dac-89a1-78bd004fbdbe","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/76b649ce-1ebe-4dac-89a1-78bd004fbdbe/ticks/636483935662684070","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"2368e683-ae0d-4e05-93f7-5251dd7859ff"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:26.268407Z","submissionTimestamp":"2017-12-09T05:19:40.0013894Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0/ticks/636483935658854059","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"770228b2-9970-4da2-8bb3-5eb17f427abd"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:25.8854059Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2ef95b9d-6cc9-4eaa-a265-599681ba4120","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/2ef95b9d-6cc9-4eaa-a265-599681ba4120/ticks/636483935628933848","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.8933848Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"fe383666-3d1f-445b-a21a-bfe1cb911e8f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/fe383666-3d1f-445b-a21a-bfe1cb911e8f/ticks/636483935626751699","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"97c87afe-ca58-46e2-8944-72c541d4a229"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.6751699Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"4c47093b-1a6c-422e-be0d-3b610067fa96","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/4c47093b-1a6c-422e-be0d-3b610067fa96/ticks/636483935624715321","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0179ac94-8373-4392-87f6-59dce144ba0a","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"40a6b458-3268-400a-b594-b782474e5613\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.5\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.4715321Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"18a7b81d-bf54-4f62-9028-d2f0d1507d78","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/18a7b81d-bf54-4f62-9028-d2f0d1507d78/ticks/636483935623914480","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.391448Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b6cc422e-578b-40e7-9436-142f9f132b8c","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/b6cc422e-578b-40e7-9436-142f9f132b8c/ticks/636483935619695965","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0488286b-cd93-4ba0-95c2-39b32adf684e","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"6e8dafff-a250-48f1-98f8-81ba6740af90\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.4\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:21.9695965Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1deef98-0832-4f8b-80f9-845dbd487bbd","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/b1deef98-0832-4f8b-80f9-845dbd487bbd/ticks/636483935615187666","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:21.5187666Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0c815960-230e-4117-b401-3fcfbcd9634b","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/0c815960-230e-4117-b401-3fcfbcd9634b/ticks/636483935608915102","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:20.8915102Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3b3a8117-8604-4212-a730-3d8b798b473d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/3b3a8117-8604-4212-a730-3d8b798b473d/ticks/636483935588001992","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:18.8001992Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1b08df7-d8a3-4198-90aa-b6f497d4c3a6","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/b1b08df7-d8a3-4198-90aa-b6f497d4c3a6/ticks/636483935584565023","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"cfbdf455-8659-44f0-a969-ca5c5fff6a82","responseBody":"{\\"name\\":\\"k8s-master-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"287a1f86-dcd9-479b-95f3-855f558519e8\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\",\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}]}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:18.4565023Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"eafa3e8d-bb05-4cbc-831b-515b421feb6c","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/eafa3e8d-bb05-4cbc-831b-515b421feb6c/ticks/636483935576596018","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}],\\"primary\\":true,\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.6596018Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0630ea34-5e08-4df7-806c-5ba277e8ee98","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/0630ea34-5e08-4df7-806c-5ba277e8ee98/ticks/636483935574567301","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"010e332e-ae98-4d7f-8d89-b13bcd67dd82","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.4567301Z","submissionTimestamp":"2017-12-09T05:19:29.9175501Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"23c16967-c5de-434a-883d-9dcbb5cf7910","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/23c16967-c5de-434a-883d-9dcbb5cf7910/ticks/636483935571498862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"9d8c0359-5075-4aa5-9300-41c5abe70457","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.1498862Z","submissionTimestamp":"2017-12-09T05:19:29.9514229Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3637760d-70c1-4541-a66a-eba014903301","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/3637760d-70c1-4541-a66a-eba014903301/ticks/636483935514628368","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"4d2efcf5-cd3f-47e1-87b4-25ee3eb24361","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.4628368Z","submissionTimestamp":"2017-12-09T05:19:29.8886293Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"96b089d0-749d-4278-a2b9-20d010d8eb76","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/96b089d0-749d-4278-a2b9-20d010d8eb76/ticks/636483935512332041","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"properties":{"statusCode":"Created","serviceRequestId":"fcd5a581-c4fa-4f03-9aeb-4aa694a54fbd"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:11.2332041Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"37a4a8ec-5993-4756-881c-7f6fe9d2b415","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/37a4a8ec-5993-4756-881c-7f6fe9d2b415/ticks/636483935510457343","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.0457343Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c0f2181e-829d-4b04-96e6-91d90ffe74c8","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/c0f2181e-829d-4b04-96e6-91d90ffe74c8/ticks/636483935507957703","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"statusCode":"Created","serviceRequestId":"3a931eae-ac9c-414f-b748-d28628f2c996","responseBody":"{\\"name\\":\\"k8s-master-lb-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"type\\":\\"Microsoft.Network/loadBalancers\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"a8c2b30a-7f33-4beb-b9e6-1cfb8b254ef3\\",\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"},\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"idleTimeoutInMinutes\\":5,\\"protocol\\":\\"Tcp\\",\\"loadDistribution\\":\\"Default\\",\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"}}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"protocol\\":\\"Tcp\\",\\"port\\":443,\\"intervalInSeconds\\":5,\\"numberOfProbes\\":2,\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"inboundNatRules\\":[],\\"outboundNatRules\\":[],\\"inboundNatPools\\":[]}}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:10.7957703Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e/ticks/636483935499050370","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\"}],\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"properties\\":{\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"}}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"properties\\":{\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"idleTimeoutInMinutes\\":5,\\"loadDistribution\\":\\"Default\\",\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"},\\"protocol\\":\\"tcp\\"}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"properties\\":{\\"intervalInSeconds\\":\\"5\\",\\"numberOfProbes\\":\\"2\\",\\"port\\":443,\\"protocol\\":\\"tcp\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:09.905037Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"42843e04-3819-4b19-8a25-1ec0a7634855","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/42843e04-3819-4b19-8a25-1ec0a7634855/ticks/636483935462644362","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"statusCode":"Created","serviceRequestId":"73c1ebb8-ec8b-41d5-aaf6-128425b11048","responseBody":"{\\"name\\":\\"k8s-master-ip-fabricnlp9-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\",\\"etag\\":\\"W/\\\\\\"2aece227-86b3-4d07-80e1-505ad9e017b3\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"08ac6d19-b8e9-4187-a993-feb5207a6768\\",\\"publicIPAddressVersion\\":\\"IPv4\\",\\"publicIPAllocationMethod\\":\\"Dynamic\\",\\"idleTimeoutInMinutes\\":4,\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\",\\"fqdn\\":\\"fabricnlp9.eastus.cloudapp.azure.com\\"}},\\"type\\":\\"Microsoft.Network/publicIPAddresses\\"}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:06.2644362Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c961bc1c-adc5-4f0b-a850-02060fdf468f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/c961bc1c-adc5-4f0b-a850-02060fdf468f/ticks/636483935459519543","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"statusCode":"Created","serviceRequestId":"cbec7ef0-5357-4ce4-b2ce-5d79377a7871","responseBody":"{\\"name\\":\\"k8s-master-25033075-nsg\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"type\\":\\"Microsoft.Network/networkSecurityGroups\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"0e94a593-0195-4379-b798-56011f9e1b99\\",\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_ssh\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":101,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_kube_tls\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":100,\\"direction\\":\\"Inbound\\"}}],\\"defaultSecurityRules\\":[{\\"name\\":\\"AllowVnetInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowAzureLoadBalancerInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowAzureLoadBalancerInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from azure load balancer\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"AzureLoadBalancer\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"DenyAllInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all inbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowVnetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"AllowInternetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowInternetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to Internet\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"Internet\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"DenyAllOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all outbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Outbound\\"}}]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9519543Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f7ec8371-3033-467f-923d-2af6b2168b3a","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/f7ec8371-3033-467f-923d-2af6b2168b3a/ticks/636483935459206868","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"statusCode":"Created","serviceRequestId":"2127672f-cb17-4957-a6fa-9c3d112bf86d","responseBody":"{\\"name\\":\\"k8s-master-25033075-routetable\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable\\",\\"etag\\":\\"W/\\\\\\"e999d01a-3925-4d88-90ca-dde1e957723e\\\\\\"\\",\\"type\\":\\"Microsoft.Network/routeTables\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"2c300a3b-6237-4592-9fd0-a7eb3f365a28\\",\\"routes\\":[]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9206868Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2a0e4d77-1830-40c5-993e-af900e4260bb","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/2a0e4d77-1830-40c5-993e-af900e4260bb/ticks/636483935457956862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"e8611b1b-c62b-4d00-b87c-aea3bc210226"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7956862Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b/ticks/636483935457800589","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"570b1876-904b-4e3d-8154-3df414bd0c79"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7800589Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0f57cc09-3d02-401c-8e6e-7bda7cbd950d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/0f57cc09-3d02-401c-8e6e-7bda7cbd950d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"7ca02e9c-635f-488e-bbe3-921f51760a4d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/7ca02e9c-635f-488e-bbe3-921f51760a4d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"519755ef-e484-4243-bfeb-0edde3c8c163","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/519755ef-e484-4243-bfeb-0edde3c8c163/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"direction\\":\\"Inbound\\",\\"priority\\":101,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"direction\\":\\"Inbound\\",\\"priority\\":100,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"79ede4b5-7470-4d12-8d22-bbac17c48a8e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/79ede4b5-7470-4d12-8d22-bbac17c48a8e/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\"},\\"publicIPAllocationMethod\\":\\"Dynamic\\"}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d542e1b7-71de-4cde-929d-d1174ea92deb","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/d542e1b7-71de-4cde-929d-d1174ea92deb/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\"}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"34efd43d-0a0b-47a6-be9e-3e3fd74265ad","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/34efd43d-0a0b-47a6-be9e-3e3fd74265ad/ticks/636483935441012452","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"properties":{"statusCode":"OK","serviceRequestId":null},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:04.1012452Z","submissionTimestamp":"2017-12-09T05:19:19.9694084Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"745490e4-6d74-4e41-ac44-1d5e5b10b68d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/745490e4-6d74-4e41-ac44-1d5e5b10b68d/ticks/636483935404291527","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:00.4291527Z","submissionTimestamp":"2017-12-09T05:19:19.9684077Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"}]}' -DEBUG: Getting management service client client_type=MonitorManagementClient -DEBUG: adal-python : 6feb0de0-c5a6-4469-b919-805156820b6d - Authority:Performing instance discovery: https://login.microsoftonline.com/52807a8b-794c-4c07-825f-578847e1257e -DEBUG: adal-python : 6feb0de0-c5a6-4469-b919-805156820b6d - Authority:Performing static instance discovery -DEBUG: adal-python : 6feb0de0-c5a6-4469-b919-805156820b6d - Authority:Authority validated via static instance discovery -INFO: adal-python : 6feb0de0-c5a6-4469-b919-805156820b6d - TokenRequest:Getting token from cache with refresh if necessary. -DEBUG: adal-python : 6feb0de0-c5a6-4469-b919-805156820b6d - OAuth2Client:finding with query: {"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 6feb0de0-c5a6-4469-b919-805156820b6d - OAuth2Client:Looking for potential cache entries: -DEBUG: adal-python : 6feb0de0-c5a6-4469-b919-805156820b6d - OAuth2Client:{"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 6feb0de0-c5a6-4469-b919-805156820b6d - OAuth2Client:Found 4 potential entries. -DEBUG: adal-python : 6feb0de0-c5a6-4469-b919-805156820b6d - OAuth2Client:Resource specific token found. -DEBUG: adal-python : 6feb0de0-c5a6-4469-b919-805156820b6d - OAuth2Client:Returning token from cache lookup, AccessTokenId: b'kslIbWka8YbxRUy8vLy6JNH7izY8GoVPIpyFsPticn4=', RefreshTokenId: b'ZKVr4cTgxa0EDZ2Kgqem4UHxIsbWBdRNnpWnblHwFnE=' -DEBUG: msrest.pipeline : Configuring request: timeout=100, verify=True, cert=None -DEBUG: msrest.pipeline : Configuring redirects: allow=True, max=30 -DEBUG: msrest.pipeline : Configuring proxies: '' -DEBUG: msrest.pipeline : Evaluate proxies against ENV settings: True -DEBUG: msrest.pipeline : Configuring retry: max_retries=4, backoff_factor=0.8, max_backoff=90 -DEBUG: urllib3.connectionpool : Starting new HTTPS connection (1): management.azure.com -DEBUG: urllib3.connectionpool : https://management.azure.com:443 "GET /subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A22%3A05Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27 HTTP/1.1" 200 None -DEBUG: msrest.http_logger : Request URL: 'https://management.azure.com/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A22%3A05Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27' -DEBUG: msrest.http_logger : Request method: 'GET' -DEBUG: msrest.http_logger : Request headers: -DEBUG: msrest.http_logger : 'User-Agent': 'python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.19 msrest_azure/0.4.17 monitormanagementclient/0.4.0 Azure-SDK-For-Python AZURECLI/2.0.22' -DEBUG: msrest.http_logger : 'Accept-Encoding': 'gzip, deflate' -DEBUG: msrest.http_logger : 'Accept': 'application/json' -DEBUG: msrest.http_logger : 'Connection': 'keep-alive' -DEBUG: msrest.http_logger : 'Authorization': '*****' -DEBUG: msrest.http_logger : 'x-ms-client-request-id': '7538e6de-dca0-11e7-b921-e4b3187aa3c2' -DEBUG: msrest.http_logger : 'CommandName': 'group deployment create' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'accept-language': 'en-US' -DEBUG: msrest.http_logger : Request body: -DEBUG: msrest.http_logger : None -DEBUG: msrest.http_logger : Response status: 200 -DEBUG: msrest.http_logger : Response headers: -DEBUG: msrest.http_logger : 'Cache-Control': 'no-cache' -DEBUG: msrest.http_logger : 'Pragma': 'no-cache' -DEBUG: msrest.http_logger : 'Transfer-Encoding': 'chunked' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'Content-Encoding': 'gzip' -DEBUG: msrest.http_logger : 'Expires': '-1' -DEBUG: msrest.http_logger : 'Vary': 'Accept-Encoding,Accept-Encoding' -DEBUG: msrest.http_logger : 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains' -DEBUG: msrest.http_logger : 'x-ms-request-id': 'EastUS_67c3035dbeac448ab2e8e1db39409c1c_636483937261111618' -DEBUG: msrest.http_logger : 'Server': 'Microsoft-IIS/8.5' -DEBUG: msrest.http_logger : 'x-ms-ratelimit-remaining-subscription-reads': '14913' -DEBUG: msrest.http_logger : 'x-ms-correlation-request-id': '05043f4c-9598-4178-8a66-8da505f1cef4' -DEBUG: msrest.http_logger : 'x-ms-routing-request-id': 'NORTHCENTRALUS:20171209T052206Z:05043f4c-9598-4178-8a66-8da505f1cef4' -DEBUG: msrest.http_logger : 'Date': 'Sat, 09 Dec 2017 05:22:05 GMT' -DEBUG: msrest.http_logger : Response content: -DEBUG: msrest.http_logger : b'{"value":[{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"1d8e3d4e-a5e3-443d-a461-dc5794a35d38","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/1d8e3d4e-a5e3-443d-a461-dc5794a35d38/ticks/636483937082212628","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"686d0328-747a-46a4-b72e-a933019bb839","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:48.2212628Z","submissionTimestamp":"2017-12-09T05:21:59.5778305Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"40021681-948f-4ba9-8569-575365b8c50d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/40021681-948f-4ba9-8569-575365b8c50d/ticks/636483937078958824","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"b53779fb-b595-4c81-b2d6-66e1252716f9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:47.8958824Z","submissionTimestamp":"2017-12-09T05:22:00.0185721Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"1c43593f-4ece-40d3-87b0-2dd69ac25a0b","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5152062e-2c81-4aad-8549-a92d10c33626","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0/events/1c43593f-4ece-40d3-87b0-2dd69ac25a0b/ticks/636483937075688138","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"fbcc9bbb-b699-4b72-89bc-f6f122215474","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:47.5688138Z","submissionTimestamp":"2017-12-09T05:21:59.9781196Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b36b44c4-2071-449d-a15c-2a35ef564915","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/b36b44c4-2071-449d-a15c-2a35ef564915/ticks/636483937074586450","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"1aaf4088-f383-4d21-850d-45c40252aeea","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:47.458645Z","submissionTimestamp":"2017-12-09T05:22:00.1040083Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"e2d01640-14bd-42ac-b85e-51bee880bce4","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/e2d01640-14bd-42ac-b85e-51bee880bce4/ticks/636483936927918336","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"ab6c463e-0179-4531-afac-24348d49e94d","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:32.7918336Z","submissionTimestamp":"2017-12-09T05:21:50.3523005Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"a6f2997a-c77e-409f-9f38-0e4689643d49","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/a6f2997a-c77e-409f-9f38-0e4689643d49/ticks/636483936915973109","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"2e12aed4-0ae2-421c-a1aa-48463f7c5eae","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:31.5973109Z","submissionTimestamp":"2017-12-09T05:21:50.1043019Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"faec52ee-ad32-47b3-b19c-9f1c363e9e45","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/faec52ee-ad32-47b3-b19c-9f1c363e9e45/ticks/636483936911518846","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fe6347e6-221d-466f-9241-fc2e9aeb9d9f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:31.1518846Z","submissionTimestamp":"2017-12-09T05:21:50.301343Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"babf2609-61dc-495f-80df-ad433072a19e","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/babf2609-61dc-495f-80df-ad433072a19e/ticks/636483936774315016","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"381f670a-69d7-4ac9-a374-4eb3c2132e5b","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:17.4315016Z","submissionTimestamp":"2017-12-09T05:21:30.4136212Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"56378e6b-714f-4ef1-944c-259ede9dfb43","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/56378e6b-714f-4ef1-944c-259ede9dfb43/ticks/636483936759741086","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"1325bb09-8e5e-4832-a799-dc3766c6b8a2","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:15.9741086Z","submissionTimestamp":"2017-12-09T05:21:30.0927902Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"7f8ed437-3a61-4667-a316-a69d1901fa5d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/7f8ed437-3a61-4667-a316-a69d1901fa5d/ticks/636483936758491013","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"58c7e49d-29e1-4157-8871-dd1bebd42936","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:15.8491013Z","submissionTimestamp":"2017-12-09T05:21:30.0927902Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d7cc4ff6-ae5a-4247-9b8b-3e5e8c6d7218","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/d7cc4ff6-ae5a-4247-9b8b-3e5e8c6d7218/ticks/636483936615161642","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"d5f1fa4d-c3fc-42f1-aa60-dc57da5b9a25","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:01.5161642Z","submissionTimestamp":"2017-12-09T05:21:20.0860134Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"4e7a05fa-80af-42f8-bd89-34fd6f8b219f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/4e7a05fa-80af-42f8-bd89-34fd6f8b219f/ticks/636483936604503602","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"f92ed3c9-924d-47d0-8201-48456822b191","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:00.4503602Z","submissionTimestamp":"2017-12-09T05:21:19.6077919Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"5851d2ad-f28b-43f8-920f-07863f548733","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/5851d2ad-f28b-43f8-920f-07863f548733/ticks/636483936601536698","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc7bd08b-866e-48a5-a537-9d4fe78c8e3e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:00.1536698Z","submissionTimestamp":"2017-12-09T05:21:20.0989911Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c63c3a58-6e60-4d0a-8892-88771b5d2d2d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"06aebdda-7a37-4f4e-b766-26b3ea561951","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/c63c3a58-6e60-4d0a-8892-88771b5d2d2d/ticks/636483936458560786","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7e7d2109-9794-4a26-8444-026e9640661c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Created","serviceRequestId":"db62465a-e660-493e-8b3b-286ed8596452"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:20:45.8560786Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d256c2ab-b9ba-43ac-ba8d-bf1b809b8a9b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/d256c2ab-b9ba-43ac-ba8d-bf1b809b8a9b/ticks/636483936448959408","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"0e990a14-1a57-4ea2-8056-47380457fe70","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.8959408Z","submissionTimestamp":"2017-12-09T05:20:59.705539Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"efa72caa-24ef-4463-87bb-dff257d7896e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"06aebdda-7a37-4f4e-b766-26b3ea561951","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/efa72caa-24ef-4463-87bb-dff257d7896e/ticks/636483936445435451","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7e7d2109-9794-4a26-8444-026e9640661c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.5435451Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"078e8afb-ad14-432b-8327-9bd85371586b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/078e8afb-ad14-432b-8327-9bd85371586b/ticks/636483936443716624","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"35936685-5536-4681-a2c1-7882a7d6ea0f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.3716624Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6a34ff92-1bdb-40da-a940-ce61ee3143df","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/6a34ff92-1bdb-40da-a940-ce61ee3143df/ticks/636483936429993173","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"29718454-78c2-40c6-b631-71e4e334bcd8","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:42.9993173Z","submissionTimestamp":"2017-12-09T05:20:59.8731419Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"766d0bab-9165-464a-94ae-105d8dcac708","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/766d0bab-9165-464a-94ae-105d8dcac708/ticks/636483936288958990","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"19b22b89-dd10-4c67-8c2c-4d458a4d51e7","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:28.895899Z","submissionTimestamp":"2017-12-09T05:20:50.0841006Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"e829aaf0-414c-46df-ab69-2d9f62986096","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/e829aaf0-414c-46df-ab69-2d9f62986096/ticks/636483936282577338","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"b2d3aa73-d783-4375-a064-98079cd2edaa","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:28.2577338Z","submissionTimestamp":"2017-12-09T05:20:39.9794141Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"fc96d187-16c7-4ea4-a80c-cb1abe3a938d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/fc96d187-16c7-4ea4-a80c-cb1abe3a938d/ticks/636483936269716382","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"9131a6b1-8c84-4761-85ba-9e155b40ffbe","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:26.9716382Z","submissionTimestamp":"2017-12-09T05:20:40.5339552Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"84e69362-734a-4d01-ad67-d40a51071911","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/84e69362-734a-4d01-ad67-d40a51071911/ticks/636483936133495638","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3931a993-da5d-4ffb-a53f-3725fe41f9b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:13.3495638Z","submissionTimestamp":"2017-12-09T05:20:29.7480002Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"172ee1ce-a08c-4869-808b-aefc97479870","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/172ee1ce-a08c-4869-808b-aefc97479870/ticks/636483936102743029","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3bacb20e-3fc2-4bcf-ad42-67cd9a56ee8e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:10.2743029Z","submissionTimestamp":"2017-12-09T05:20:29.3964496Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c863e3ad-861a-4842-9bed-5d7b5c21f752","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/c863e3ad-861a-4842-9bed-5d7b5c21f752/ticks/636483935975493658","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3c059bde-9ba7-4705-a46a-90f041019563","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:57.5493658Z","submissionTimestamp":"2017-12-09T05:20:10.1148471Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218/ticks/636483935968523897","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"6b4f8ac8-b6be-4676-a1ef-c2efd07639b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:56.8523897Z","submissionTimestamp":"2017-12-09T05:20:10.2353207Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2/ticks/636483935945781875","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"502f330f-757e-492a-bf5d-8b2c1a9c5e87","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:54.5781875Z","submissionTimestamp":"2017-12-09T05:20:09.9808359Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"629517bd-3422-4799-aed0-e76166f332df","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/629517bd-3422-4799-aed0-e76166f332df/ticks/636483935815203536","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"608c44ca-b946-4085-b677-c60b4364cd4f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.5203536Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0a3e8fa0-b1aa-430d-813d-717d9ccaba43","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/0a3e8fa0-b1aa-430d-813d-717d9ccaba43/ticks/636483935813640803","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"e8a78a19-e992-4a15-9b9d-1d396e76841e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.3640803Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f502a53a-bef1-45ce-a64f-3cec67be9e74","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/f502a53a-bef1-45ce-a64f-3cec67be9e74/ticks/636483935785592969","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"934cbf0a-66c3-40ac-83ad-5a900bd0a3ee","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:38.5592969Z","submissionTimestamp":"2017-12-09T05:20:00.1233196Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"76b649ce-1ebe-4dac-89a1-78bd004fbdbe","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/76b649ce-1ebe-4dac-89a1-78bd004fbdbe/ticks/636483935662684070","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"2368e683-ae0d-4e05-93f7-5251dd7859ff"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:26.268407Z","submissionTimestamp":"2017-12-09T05:19:40.0013894Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0/ticks/636483935658854059","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"770228b2-9970-4da2-8bb3-5eb17f427abd"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:25.8854059Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2ef95b9d-6cc9-4eaa-a265-599681ba4120","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/2ef95b9d-6cc9-4eaa-a265-599681ba4120/ticks/636483935628933848","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.8933848Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"fe383666-3d1f-445b-a21a-bfe1cb911e8f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/fe383666-3d1f-445b-a21a-bfe1cb911e8f/ticks/636483935626751699","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"97c87afe-ca58-46e2-8944-72c541d4a229"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.6751699Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"4c47093b-1a6c-422e-be0d-3b610067fa96","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/4c47093b-1a6c-422e-be0d-3b610067fa96/ticks/636483935624715321","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0179ac94-8373-4392-87f6-59dce144ba0a","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"40a6b458-3268-400a-b594-b782474e5613\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.5\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.4715321Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"18a7b81d-bf54-4f62-9028-d2f0d1507d78","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/18a7b81d-bf54-4f62-9028-d2f0d1507d78/ticks/636483935623914480","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.391448Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b6cc422e-578b-40e7-9436-142f9f132b8c","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/b6cc422e-578b-40e7-9436-142f9f132b8c/ticks/636483935619695965","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0488286b-cd93-4ba0-95c2-39b32adf684e","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"6e8dafff-a250-48f1-98f8-81ba6740af90\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.4\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:21.9695965Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1deef98-0832-4f8b-80f9-845dbd487bbd","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/b1deef98-0832-4f8b-80f9-845dbd487bbd/ticks/636483935615187666","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:21.5187666Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0c815960-230e-4117-b401-3fcfbcd9634b","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/0c815960-230e-4117-b401-3fcfbcd9634b/ticks/636483935608915102","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:20.8915102Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3b3a8117-8604-4212-a730-3d8b798b473d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/3b3a8117-8604-4212-a730-3d8b798b473d/ticks/636483935588001992","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:18.8001992Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1b08df7-d8a3-4198-90aa-b6f497d4c3a6","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/b1b08df7-d8a3-4198-90aa-b6f497d4c3a6/ticks/636483935584565023","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"cfbdf455-8659-44f0-a969-ca5c5fff6a82","responseBody":"{\\"name\\":\\"k8s-master-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"287a1f86-dcd9-479b-95f3-855f558519e8\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\",\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}]}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:18.4565023Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"eafa3e8d-bb05-4cbc-831b-515b421feb6c","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/eafa3e8d-bb05-4cbc-831b-515b421feb6c/ticks/636483935576596018","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}],\\"primary\\":true,\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.6596018Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0630ea34-5e08-4df7-806c-5ba277e8ee98","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/0630ea34-5e08-4df7-806c-5ba277e8ee98/ticks/636483935574567301","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"010e332e-ae98-4d7f-8d89-b13bcd67dd82","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.4567301Z","submissionTimestamp":"2017-12-09T05:19:29.9175501Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"23c16967-c5de-434a-883d-9dcbb5cf7910","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/23c16967-c5de-434a-883d-9dcbb5cf7910/ticks/636483935571498862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"9d8c0359-5075-4aa5-9300-41c5abe70457","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.1498862Z","submissionTimestamp":"2017-12-09T05:19:29.9514229Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3637760d-70c1-4541-a66a-eba014903301","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/3637760d-70c1-4541-a66a-eba014903301/ticks/636483935514628368","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"4d2efcf5-cd3f-47e1-87b4-25ee3eb24361","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.4628368Z","submissionTimestamp":"2017-12-09T05:19:29.8886293Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"96b089d0-749d-4278-a2b9-20d010d8eb76","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/96b089d0-749d-4278-a2b9-20d010d8eb76/ticks/636483935512332041","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"properties":{"statusCode":"Created","serviceRequestId":"fcd5a581-c4fa-4f03-9aeb-4aa694a54fbd"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:11.2332041Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"37a4a8ec-5993-4756-881c-7f6fe9d2b415","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/37a4a8ec-5993-4756-881c-7f6fe9d2b415/ticks/636483935510457343","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.0457343Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c0f2181e-829d-4b04-96e6-91d90ffe74c8","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/c0f2181e-829d-4b04-96e6-91d90ffe74c8/ticks/636483935507957703","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"statusCode":"Created","serviceRequestId":"3a931eae-ac9c-414f-b748-d28628f2c996","responseBody":"{\\"name\\":\\"k8s-master-lb-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"type\\":\\"Microsoft.Network/loadBalancers\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"a8c2b30a-7f33-4beb-b9e6-1cfb8b254ef3\\",\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"},\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"idleTimeoutInMinutes\\":5,\\"protocol\\":\\"Tcp\\",\\"loadDistribution\\":\\"Default\\",\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"}}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"protocol\\":\\"Tcp\\",\\"port\\":443,\\"intervalInSeconds\\":5,\\"numberOfProbes\\":2,\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"inboundNatRules\\":[],\\"outboundNatRules\\":[],\\"inboundNatPools\\":[]}}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:10.7957703Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e/ticks/636483935499050370","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\"}],\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"properties\\":{\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"}}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"properties\\":{\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"idleTimeoutInMinutes\\":5,\\"loadDistribution\\":\\"Default\\",\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"},\\"protocol\\":\\"tcp\\"}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"properties\\":{\\"intervalInSeconds\\":\\"5\\",\\"numberOfProbes\\":\\"2\\",\\"port\\":443,\\"protocol\\":\\"tcp\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:09.905037Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"42843e04-3819-4b19-8a25-1ec0a7634855","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/42843e04-3819-4b19-8a25-1ec0a7634855/ticks/636483935462644362","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"statusCode":"Created","serviceRequestId":"73c1ebb8-ec8b-41d5-aaf6-128425b11048","responseBody":"{\\"name\\":\\"k8s-master-ip-fabricnlp9-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\",\\"etag\\":\\"W/\\\\\\"2aece227-86b3-4d07-80e1-505ad9e017b3\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"08ac6d19-b8e9-4187-a993-feb5207a6768\\",\\"publicIPAddressVersion\\":\\"IPv4\\",\\"publicIPAllocationMethod\\":\\"Dynamic\\",\\"idleTimeoutInMinutes\\":4,\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\",\\"fqdn\\":\\"fabricnlp9.eastus.cloudapp.azure.com\\"}},\\"type\\":\\"Microsoft.Network/publicIPAddresses\\"}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:06.2644362Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c961bc1c-adc5-4f0b-a850-02060fdf468f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/c961bc1c-adc5-4f0b-a850-02060fdf468f/ticks/636483935459519543","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"statusCode":"Created","serviceRequestId":"cbec7ef0-5357-4ce4-b2ce-5d79377a7871","responseBody":"{\\"name\\":\\"k8s-master-25033075-nsg\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"type\\":\\"Microsoft.Network/networkSecurityGroups\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"0e94a593-0195-4379-b798-56011f9e1b99\\",\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_ssh\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":101,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_kube_tls\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":100,\\"direction\\":\\"Inbound\\"}}],\\"defaultSecurityRules\\":[{\\"name\\":\\"AllowVnetInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowAzureLoadBalancerInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowAzureLoadBalancerInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from azure load balancer\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"AzureLoadBalancer\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"DenyAllInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all inbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowVnetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"AllowInternetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowInternetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to Internet\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"Internet\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"DenyAllOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all outbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Outbound\\"}}]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9519543Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f7ec8371-3033-467f-923d-2af6b2168b3a","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/f7ec8371-3033-467f-923d-2af6b2168b3a/ticks/636483935459206868","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"statusCode":"Created","serviceRequestId":"2127672f-cb17-4957-a6fa-9c3d112bf86d","responseBody":"{\\"name\\":\\"k8s-master-25033075-routetable\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable\\",\\"etag\\":\\"W/\\\\\\"e999d01a-3925-4d88-90ca-dde1e957723e\\\\\\"\\",\\"type\\":\\"Microsoft.Network/routeTables\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"2c300a3b-6237-4592-9fd0-a7eb3f365a28\\",\\"routes\\":[]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9206868Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2a0e4d77-1830-40c5-993e-af900e4260bb","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/2a0e4d77-1830-40c5-993e-af900e4260bb/ticks/636483935457956862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"e8611b1b-c62b-4d00-b87c-aea3bc210226"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7956862Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b/ticks/636483935457800589","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"570b1876-904b-4e3d-8154-3df414bd0c79"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7800589Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0f57cc09-3d02-401c-8e6e-7bda7cbd950d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/0f57cc09-3d02-401c-8e6e-7bda7cbd950d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"7ca02e9c-635f-488e-bbe3-921f51760a4d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/7ca02e9c-635f-488e-bbe3-921f51760a4d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"519755ef-e484-4243-bfeb-0edde3c8c163","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/519755ef-e484-4243-bfeb-0edde3c8c163/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"direction\\":\\"Inbound\\",\\"priority\\":101,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"direction\\":\\"Inbound\\",\\"priority\\":100,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"79ede4b5-7470-4d12-8d22-bbac17c48a8e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/79ede4b5-7470-4d12-8d22-bbac17c48a8e/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\"},\\"publicIPAllocationMethod\\":\\"Dynamic\\"}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d542e1b7-71de-4cde-929d-d1174ea92deb","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/d542e1b7-71de-4cde-929d-d1174ea92deb/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\"}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"34efd43d-0a0b-47a6-be9e-3e3fd74265ad","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/34efd43d-0a0b-47a6-be9e-3e3fd74265ad/ticks/636483935441012452","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"properties":{"statusCode":"OK","serviceRequestId":null},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:04.1012452Z","submissionTimestamp":"2017-12-09T05:19:19.9694084Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"745490e4-6d74-4e41-ac44-1d5e5b10b68d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/745490e4-6d74-4e41-ac44-1d5e5b10b68d/ticks/636483935404291527","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:00.4291527Z","submissionTimestamp":"2017-12-09T05:19:19.9684077Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"}]}' -INFO: Succeeded: k8s-linuxagent-25033075-0 (Microsoft.Compute/virtualMachines) -DEBUG: adal-python : 44e6c96c-50c5-4166-8008-3deeb101ed94 - Authority:Performing instance discovery: https://login.microsoftonline.com/52807a8b-794c-4c07-825f-578847e1257e -DEBUG: adal-python : 44e6c96c-50c5-4166-8008-3deeb101ed94 - Authority:Performing static instance discovery -DEBUG: adal-python : 44e6c96c-50c5-4166-8008-3deeb101ed94 - Authority:Authority validated via static instance discovery -INFO: adal-python : 44e6c96c-50c5-4166-8008-3deeb101ed94 - TokenRequest:Getting token from cache with refresh if necessary. -DEBUG: adal-python : 44e6c96c-50c5-4166-8008-3deeb101ed94 - OAuth2Client:finding with query: {"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 44e6c96c-50c5-4166-8008-3deeb101ed94 - OAuth2Client:Looking for potential cache entries: -DEBUG: adal-python : 44e6c96c-50c5-4166-8008-3deeb101ed94 - OAuth2Client:{"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 44e6c96c-50c5-4166-8008-3deeb101ed94 - OAuth2Client:Found 4 potential entries. -DEBUG: adal-python : 44e6c96c-50c5-4166-8008-3deeb101ed94 - OAuth2Client:Resource specific token found. -DEBUG: adal-python : 44e6c96c-50c5-4166-8008-3deeb101ed94 - OAuth2Client:Returning token from cache lookup, AccessTokenId: b'kslIbWka8YbxRUy8vLy6JNH7izY8GoVPIpyFsPticn4=', RefreshTokenId: b'ZKVr4cTgxa0EDZ2Kgqem4UHxIsbWBdRNnpWnblHwFnE=' -DEBUG: msrest.pipeline : Configuring request: timeout=100, verify=True, cert=None -DEBUG: msrest.pipeline : Configuring redirects: allow=True, max=30 -DEBUG: msrest.pipeline : Configuring proxies: '' -DEBUG: msrest.pipeline : Evaluate proxies against ENV settings: True -DEBUG: msrest.pipeline : Configuring retry: max_retries=4, backoff_factor=0.8, max_backoff=90 -DEBUG: urllib3.connectionpool : Starting new HTTPS connection (1): management.azure.com -DEBUG: urllib3.connectionpool : https://management.azure.com:443 "GET /subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/operationStatuses/08586888101433128342?api-version=2017-05-10 HTTP/1.1" 200 140 -DEBUG: msrest.http_logger : Request URL: 'https://management.azure.com/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/operationStatuses/08586888101433128342?api-version=2017-05-10' -DEBUG: msrest.http_logger : Request method: 'GET' -DEBUG: msrest.http_logger : Request headers: -DEBUG: msrest.http_logger : 'User-Agent': 'python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.19 msrest_azure/0.4.17 resourcemanagementclient/1.2.1 Azure-SDK-For-Python AZURECLI/2.0.22' -DEBUG: msrest.http_logger : 'Accept-Encoding': 'gzip, deflate' -DEBUG: msrest.http_logger : 'Accept': 'application/json' -DEBUG: msrest.http_logger : 'Connection': 'keep-alive' -DEBUG: msrest.http_logger : 'Authorization': '*****' -DEBUG: msrest.http_logger : 'x-ms-client-request-id': '7538e6de-dca0-11e7-b921-e4b3187aa3c2' -DEBUG: msrest.http_logger : 'CommandName': 'group deployment create' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'accept-language': 'en-US' -DEBUG: msrest.http_logger : Request body: -DEBUG: msrest.http_logger : None -DEBUG: msrest.http_logger : Response status: 200 -DEBUG: msrest.http_logger : Response headers: -DEBUG: msrest.http_logger : 'Cache-Control': 'no-cache' -DEBUG: msrest.http_logger : 'Pragma': 'no-cache' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'Content-Encoding': 'gzip' -DEBUG: msrest.http_logger : 'Expires': '-1' -DEBUG: msrest.http_logger : 'Vary': 'Accept-Encoding' -DEBUG: msrest.http_logger : 'x-ms-ratelimit-remaining-subscription-reads': '14772' -DEBUG: msrest.http_logger : 'x-ms-request-id': 'ed368ef1-6b2b-4eed-943a-1dfc3032c56e' -DEBUG: msrest.http_logger : 'x-ms-correlation-request-id': 'ed368ef1-6b2b-4eed-943a-1dfc3032c56e' -DEBUG: msrest.http_logger : 'x-ms-routing-request-id': 'NORTHCENTRALUS:20171209T052213Z:ed368ef1-6b2b-4eed-943a-1dfc3032c56e' -DEBUG: msrest.http_logger : 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains' -DEBUG: msrest.http_logger : 'Date': 'Sat, 09 Dec 2017 05:22:13 GMT' -DEBUG: msrest.http_logger : 'Content-Length': '140' -DEBUG: msrest.http_logger : Response content: -DEBUG: msrest.http_logger : b'{"status":"Running"}' -DEBUG: Getting management service client client_type=MonitorManagementClient -DEBUG: adal-python : 127be356-f982-4aa0-a167-375709d94b1f - Authority:Performing instance discovery: https://login.microsoftonline.com/52807a8b-794c-4c07-825f-578847e1257e -DEBUG: adal-python : 127be356-f982-4aa0-a167-375709d94b1f - Authority:Performing static instance discovery -DEBUG: adal-python : 127be356-f982-4aa0-a167-375709d94b1f - Authority:Authority validated via static instance discovery -INFO: adal-python : 127be356-f982-4aa0-a167-375709d94b1f - TokenRequest:Getting token from cache with refresh if necessary. -DEBUG: adal-python : 127be356-f982-4aa0-a167-375709d94b1f - OAuth2Client:finding with query: {"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 127be356-f982-4aa0-a167-375709d94b1f - OAuth2Client:Looking for potential cache entries: -DEBUG: adal-python : 127be356-f982-4aa0-a167-375709d94b1f - OAuth2Client:{"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 127be356-f982-4aa0-a167-375709d94b1f - OAuth2Client:Found 4 potential entries. -DEBUG: adal-python : 127be356-f982-4aa0-a167-375709d94b1f - OAuth2Client:Resource specific token found. -DEBUG: adal-python : 127be356-f982-4aa0-a167-375709d94b1f - OAuth2Client:Returning token from cache lookup, AccessTokenId: b'kslIbWka8YbxRUy8vLy6JNH7izY8GoVPIpyFsPticn4=', RefreshTokenId: b'ZKVr4cTgxa0EDZ2Kgqem4UHxIsbWBdRNnpWnblHwFnE=' -DEBUG: msrest.pipeline : Configuring request: timeout=100, verify=True, cert=None -DEBUG: msrest.pipeline : Configuring redirects: allow=True, max=30 -DEBUG: msrest.pipeline : Configuring proxies: '' -DEBUG: msrest.pipeline : Evaluate proxies against ENV settings: True -DEBUG: msrest.pipeline : Configuring retry: max_retries=4, backoff_factor=0.8, max_backoff=90 -DEBUG: urllib3.connectionpool : Starting new HTTPS connection (1): management.azure.com -DEBUG: urllib3.connectionpool : https://management.azure.com:443 "GET /subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A22%3A16Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27 HTTP/1.1" 200 None -DEBUG: msrest.http_logger : Request URL: 'https://management.azure.com/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A22%3A16Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27' -DEBUG: msrest.http_logger : Request method: 'GET' -DEBUG: msrest.http_logger : Request headers: -DEBUG: msrest.http_logger : 'User-Agent': 'python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.19 msrest_azure/0.4.17 monitormanagementclient/0.4.0 Azure-SDK-For-Python AZURECLI/2.0.22' -DEBUG: msrest.http_logger : 'Accept-Encoding': 'gzip, deflate' -DEBUG: msrest.http_logger : 'Accept': 'application/json' -DEBUG: msrest.http_logger : 'Connection': 'keep-alive' -DEBUG: msrest.http_logger : 'Authorization': '*****' -DEBUG: msrest.http_logger : 'x-ms-client-request-id': '7538e6de-dca0-11e7-b921-e4b3187aa3c2' -DEBUG: msrest.http_logger : 'CommandName': 'group deployment create' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'accept-language': 'en-US' -DEBUG: msrest.http_logger : Request body: -DEBUG: msrest.http_logger : None -DEBUG: msrest.http_logger : Response status: 200 -DEBUG: msrest.http_logger : Response headers: -DEBUG: msrest.http_logger : 'Cache-Control': 'no-cache' -DEBUG: msrest.http_logger : 'Pragma': 'no-cache' -DEBUG: msrest.http_logger : 'Transfer-Encoding': 'chunked' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'Content-Encoding': 'gzip' -DEBUG: msrest.http_logger : 'Expires': '-1' -DEBUG: msrest.http_logger : 'Vary': 'Accept-Encoding,Accept-Encoding' -DEBUG: msrest.http_logger : 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains' -DEBUG: msrest.http_logger : 'x-ms-request-id': 'EastUS_477a5fe7df8e4576971cd9cb56f0bc8a_636483937373795086' -DEBUG: msrest.http_logger : 'Server': 'Microsoft-IIS/8.5' -DEBUG: msrest.http_logger : 'x-ms-ratelimit-remaining-subscription-reads': '14940' -DEBUG: msrest.http_logger : 'x-ms-correlation-request-id': '1c460f09-57f6-4568-a913-9010f5ad1a25' -DEBUG: msrest.http_logger : 'x-ms-routing-request-id': 'NORTHCENTRALUS:20171209T052217Z:1c460f09-57f6-4568-a913-9010f5ad1a25' -DEBUG: msrest.http_logger : 'Date': 'Sat, 09 Dec 2017 05:22:17 GMT' -DEBUG: msrest.http_logger : Response content: -DEBUG: msrest.http_logger : b'{"value":[{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"49ec54cf-4f14-46d4-bd7e-f246ee8651c1","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5152062e-2c81-4aad-8549-a92d10c33626","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0/events/49ec54cf-4f14-46d4-bd7e-f246ee8651c1/ticks/636483937087255615","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"fbcc9bbb-b699-4b72-89bc-f6f122215474","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Created","serviceRequestId":"256f3de1-7874-4a6e-abd9-12e2a11451da"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:21:48.7255615Z","submissionTimestamp":"2017-12-09T05:22:10.1745201Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"1d8e3d4e-a5e3-443d-a461-dc5794a35d38","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/1d8e3d4e-a5e3-443d-a461-dc5794a35d38/ticks/636483937082212628","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"686d0328-747a-46a4-b72e-a933019bb839","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:48.2212628Z","submissionTimestamp":"2017-12-09T05:21:59.5778305Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"40021681-948f-4ba9-8569-575365b8c50d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/40021681-948f-4ba9-8569-575365b8c50d/ticks/636483937078958824","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"b53779fb-b595-4c81-b2d6-66e1252716f9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:47.8958824Z","submissionTimestamp":"2017-12-09T05:22:00.0185721Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"1c43593f-4ece-40d3-87b0-2dd69ac25a0b","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5152062e-2c81-4aad-8549-a92d10c33626","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0/events/1c43593f-4ece-40d3-87b0-2dd69ac25a0b/ticks/636483937075688138","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"fbcc9bbb-b699-4b72-89bc-f6f122215474","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:47.5688138Z","submissionTimestamp":"2017-12-09T05:21:59.9781196Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b36b44c4-2071-449d-a15c-2a35ef564915","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/b36b44c4-2071-449d-a15c-2a35ef564915/ticks/636483937074586450","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"1aaf4088-f383-4d21-850d-45c40252aeea","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:47.458645Z","submissionTimestamp":"2017-12-09T05:22:00.1040083Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"e2d01640-14bd-42ac-b85e-51bee880bce4","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/e2d01640-14bd-42ac-b85e-51bee880bce4/ticks/636483936927918336","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"ab6c463e-0179-4531-afac-24348d49e94d","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:32.7918336Z","submissionTimestamp":"2017-12-09T05:21:50.3523005Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"a6f2997a-c77e-409f-9f38-0e4689643d49","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/a6f2997a-c77e-409f-9f38-0e4689643d49/ticks/636483936915973109","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"2e12aed4-0ae2-421c-a1aa-48463f7c5eae","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:31.5973109Z","submissionTimestamp":"2017-12-09T05:21:50.1043019Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"faec52ee-ad32-47b3-b19c-9f1c363e9e45","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/faec52ee-ad32-47b3-b19c-9f1c363e9e45/ticks/636483936911518846","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fe6347e6-221d-466f-9241-fc2e9aeb9d9f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:31.1518846Z","submissionTimestamp":"2017-12-09T05:21:50.301343Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"babf2609-61dc-495f-80df-ad433072a19e","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/babf2609-61dc-495f-80df-ad433072a19e/ticks/636483936774315016","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"381f670a-69d7-4ac9-a374-4eb3c2132e5b","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:17.4315016Z","submissionTimestamp":"2017-12-09T05:21:30.4136212Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"56378e6b-714f-4ef1-944c-259ede9dfb43","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/56378e6b-714f-4ef1-944c-259ede9dfb43/ticks/636483936759741086","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"1325bb09-8e5e-4832-a799-dc3766c6b8a2","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:15.9741086Z","submissionTimestamp":"2017-12-09T05:21:30.0927902Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"7f8ed437-3a61-4667-a316-a69d1901fa5d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/7f8ed437-3a61-4667-a316-a69d1901fa5d/ticks/636483936758491013","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"58c7e49d-29e1-4157-8871-dd1bebd42936","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:15.8491013Z","submissionTimestamp":"2017-12-09T05:21:30.0927902Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d7cc4ff6-ae5a-4247-9b8b-3e5e8c6d7218","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/d7cc4ff6-ae5a-4247-9b8b-3e5e8c6d7218/ticks/636483936615161642","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"d5f1fa4d-c3fc-42f1-aa60-dc57da5b9a25","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:01.5161642Z","submissionTimestamp":"2017-12-09T05:21:20.0860134Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"4e7a05fa-80af-42f8-bd89-34fd6f8b219f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/4e7a05fa-80af-42f8-bd89-34fd6f8b219f/ticks/636483936604503602","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"f92ed3c9-924d-47d0-8201-48456822b191","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:00.4503602Z","submissionTimestamp":"2017-12-09T05:21:19.6077919Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"5851d2ad-f28b-43f8-920f-07863f548733","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/5851d2ad-f28b-43f8-920f-07863f548733/ticks/636483936601536698","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc7bd08b-866e-48a5-a537-9d4fe78c8e3e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:00.1536698Z","submissionTimestamp":"2017-12-09T05:21:20.0989911Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c63c3a58-6e60-4d0a-8892-88771b5d2d2d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"06aebdda-7a37-4f4e-b766-26b3ea561951","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/c63c3a58-6e60-4d0a-8892-88771b5d2d2d/ticks/636483936458560786","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7e7d2109-9794-4a26-8444-026e9640661c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Created","serviceRequestId":"db62465a-e660-493e-8b3b-286ed8596452"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:20:45.8560786Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d256c2ab-b9ba-43ac-ba8d-bf1b809b8a9b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/d256c2ab-b9ba-43ac-ba8d-bf1b809b8a9b/ticks/636483936448959408","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"0e990a14-1a57-4ea2-8056-47380457fe70","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.8959408Z","submissionTimestamp":"2017-12-09T05:20:59.705539Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"efa72caa-24ef-4463-87bb-dff257d7896e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"06aebdda-7a37-4f4e-b766-26b3ea561951","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/efa72caa-24ef-4463-87bb-dff257d7896e/ticks/636483936445435451","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7e7d2109-9794-4a26-8444-026e9640661c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.5435451Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"078e8afb-ad14-432b-8327-9bd85371586b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/078e8afb-ad14-432b-8327-9bd85371586b/ticks/636483936443716624","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"35936685-5536-4681-a2c1-7882a7d6ea0f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.3716624Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6a34ff92-1bdb-40da-a940-ce61ee3143df","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/6a34ff92-1bdb-40da-a940-ce61ee3143df/ticks/636483936429993173","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"29718454-78c2-40c6-b631-71e4e334bcd8","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:42.9993173Z","submissionTimestamp":"2017-12-09T05:20:59.8731419Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"766d0bab-9165-464a-94ae-105d8dcac708","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/766d0bab-9165-464a-94ae-105d8dcac708/ticks/636483936288958990","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"19b22b89-dd10-4c67-8c2c-4d458a4d51e7","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:28.895899Z","submissionTimestamp":"2017-12-09T05:20:50.0841006Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"e829aaf0-414c-46df-ab69-2d9f62986096","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/e829aaf0-414c-46df-ab69-2d9f62986096/ticks/636483936282577338","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"b2d3aa73-d783-4375-a064-98079cd2edaa","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:28.2577338Z","submissionTimestamp":"2017-12-09T05:20:39.9794141Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"fc96d187-16c7-4ea4-a80c-cb1abe3a938d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/fc96d187-16c7-4ea4-a80c-cb1abe3a938d/ticks/636483936269716382","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"9131a6b1-8c84-4761-85ba-9e155b40ffbe","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:26.9716382Z","submissionTimestamp":"2017-12-09T05:20:40.5339552Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"84e69362-734a-4d01-ad67-d40a51071911","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/84e69362-734a-4d01-ad67-d40a51071911/ticks/636483936133495638","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3931a993-da5d-4ffb-a53f-3725fe41f9b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:13.3495638Z","submissionTimestamp":"2017-12-09T05:20:29.7480002Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"172ee1ce-a08c-4869-808b-aefc97479870","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/172ee1ce-a08c-4869-808b-aefc97479870/ticks/636483936102743029","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3bacb20e-3fc2-4bcf-ad42-67cd9a56ee8e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:10.2743029Z","submissionTimestamp":"2017-12-09T05:20:29.3964496Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c863e3ad-861a-4842-9bed-5d7b5c21f752","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/c863e3ad-861a-4842-9bed-5d7b5c21f752/ticks/636483935975493658","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3c059bde-9ba7-4705-a46a-90f041019563","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:57.5493658Z","submissionTimestamp":"2017-12-09T05:20:10.1148471Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218/ticks/636483935968523897","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"6b4f8ac8-b6be-4676-a1ef-c2efd07639b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:56.8523897Z","submissionTimestamp":"2017-12-09T05:20:10.2353207Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2/ticks/636483935945781875","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"502f330f-757e-492a-bf5d-8b2c1a9c5e87","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:54.5781875Z","submissionTimestamp":"2017-12-09T05:20:09.9808359Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"629517bd-3422-4799-aed0-e76166f332df","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/629517bd-3422-4799-aed0-e76166f332df/ticks/636483935815203536","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"608c44ca-b946-4085-b677-c60b4364cd4f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.5203536Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0a3e8fa0-b1aa-430d-813d-717d9ccaba43","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/0a3e8fa0-b1aa-430d-813d-717d9ccaba43/ticks/636483935813640803","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"e8a78a19-e992-4a15-9b9d-1d396e76841e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.3640803Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f502a53a-bef1-45ce-a64f-3cec67be9e74","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/f502a53a-bef1-45ce-a64f-3cec67be9e74/ticks/636483935785592969","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"934cbf0a-66c3-40ac-83ad-5a900bd0a3ee","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:38.5592969Z","submissionTimestamp":"2017-12-09T05:20:00.1233196Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"76b649ce-1ebe-4dac-89a1-78bd004fbdbe","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/76b649ce-1ebe-4dac-89a1-78bd004fbdbe/ticks/636483935662684070","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"2368e683-ae0d-4e05-93f7-5251dd7859ff"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:26.268407Z","submissionTimestamp":"2017-12-09T05:19:40.0013894Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0/ticks/636483935658854059","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"770228b2-9970-4da2-8bb3-5eb17f427abd"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:25.8854059Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2ef95b9d-6cc9-4eaa-a265-599681ba4120","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/2ef95b9d-6cc9-4eaa-a265-599681ba4120/ticks/636483935628933848","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.8933848Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"fe383666-3d1f-445b-a21a-bfe1cb911e8f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/fe383666-3d1f-445b-a21a-bfe1cb911e8f/ticks/636483935626751699","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"97c87afe-ca58-46e2-8944-72c541d4a229"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.6751699Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"4c47093b-1a6c-422e-be0d-3b610067fa96","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/4c47093b-1a6c-422e-be0d-3b610067fa96/ticks/636483935624715321","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0179ac94-8373-4392-87f6-59dce144ba0a","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"40a6b458-3268-400a-b594-b782474e5613\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.5\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.4715321Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"18a7b81d-bf54-4f62-9028-d2f0d1507d78","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/18a7b81d-bf54-4f62-9028-d2f0d1507d78/ticks/636483935623914480","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.391448Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b6cc422e-578b-40e7-9436-142f9f132b8c","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/b6cc422e-578b-40e7-9436-142f9f132b8c/ticks/636483935619695965","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0488286b-cd93-4ba0-95c2-39b32adf684e","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"6e8dafff-a250-48f1-98f8-81ba6740af90\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.4\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:21.9695965Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1deef98-0832-4f8b-80f9-845dbd487bbd","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/b1deef98-0832-4f8b-80f9-845dbd487bbd/ticks/636483935615187666","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:21.5187666Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0c815960-230e-4117-b401-3fcfbcd9634b","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/0c815960-230e-4117-b401-3fcfbcd9634b/ticks/636483935608915102","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:20.8915102Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3b3a8117-8604-4212-a730-3d8b798b473d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/3b3a8117-8604-4212-a730-3d8b798b473d/ticks/636483935588001992","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:18.8001992Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1b08df7-d8a3-4198-90aa-b6f497d4c3a6","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/b1b08df7-d8a3-4198-90aa-b6f497d4c3a6/ticks/636483935584565023","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"cfbdf455-8659-44f0-a969-ca5c5fff6a82","responseBody":"{\\"name\\":\\"k8s-master-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"287a1f86-dcd9-479b-95f3-855f558519e8\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\",\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}]}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:18.4565023Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"eafa3e8d-bb05-4cbc-831b-515b421feb6c","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/eafa3e8d-bb05-4cbc-831b-515b421feb6c/ticks/636483935576596018","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}],\\"primary\\":true,\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.6596018Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0630ea34-5e08-4df7-806c-5ba277e8ee98","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/0630ea34-5e08-4df7-806c-5ba277e8ee98/ticks/636483935574567301","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"010e332e-ae98-4d7f-8d89-b13bcd67dd82","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.4567301Z","submissionTimestamp":"2017-12-09T05:19:29.9175501Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"23c16967-c5de-434a-883d-9dcbb5cf7910","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/23c16967-c5de-434a-883d-9dcbb5cf7910/ticks/636483935571498862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"9d8c0359-5075-4aa5-9300-41c5abe70457","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.1498862Z","submissionTimestamp":"2017-12-09T05:19:29.9514229Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3637760d-70c1-4541-a66a-eba014903301","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/3637760d-70c1-4541-a66a-eba014903301/ticks/636483935514628368","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"4d2efcf5-cd3f-47e1-87b4-25ee3eb24361","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.4628368Z","submissionTimestamp":"2017-12-09T05:19:29.8886293Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"96b089d0-749d-4278-a2b9-20d010d8eb76","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/96b089d0-749d-4278-a2b9-20d010d8eb76/ticks/636483935512332041","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"properties":{"statusCode":"Created","serviceRequestId":"fcd5a581-c4fa-4f03-9aeb-4aa694a54fbd"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:11.2332041Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"37a4a8ec-5993-4756-881c-7f6fe9d2b415","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/37a4a8ec-5993-4756-881c-7f6fe9d2b415/ticks/636483935510457343","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.0457343Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c0f2181e-829d-4b04-96e6-91d90ffe74c8","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/c0f2181e-829d-4b04-96e6-91d90ffe74c8/ticks/636483935507957703","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"statusCode":"Created","serviceRequestId":"3a931eae-ac9c-414f-b748-d28628f2c996","responseBody":"{\\"name\\":\\"k8s-master-lb-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"type\\":\\"Microsoft.Network/loadBalancers\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"a8c2b30a-7f33-4beb-b9e6-1cfb8b254ef3\\",\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"},\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"idleTimeoutInMinutes\\":5,\\"protocol\\":\\"Tcp\\",\\"loadDistribution\\":\\"Default\\",\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"}}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"protocol\\":\\"Tcp\\",\\"port\\":443,\\"intervalInSeconds\\":5,\\"numberOfProbes\\":2,\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"inboundNatRules\\":[],\\"outboundNatRules\\":[],\\"inboundNatPools\\":[]}}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:10.7957703Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e/ticks/636483935499050370","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\"}],\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"properties\\":{\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"}}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"properties\\":{\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"idleTimeoutInMinutes\\":5,\\"loadDistribution\\":\\"Default\\",\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"},\\"protocol\\":\\"tcp\\"}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"properties\\":{\\"intervalInSeconds\\":\\"5\\",\\"numberOfProbes\\":\\"2\\",\\"port\\":443,\\"protocol\\":\\"tcp\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:09.905037Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"42843e04-3819-4b19-8a25-1ec0a7634855","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/42843e04-3819-4b19-8a25-1ec0a7634855/ticks/636483935462644362","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"statusCode":"Created","serviceRequestId":"73c1ebb8-ec8b-41d5-aaf6-128425b11048","responseBody":"{\\"name\\":\\"k8s-master-ip-fabricnlp9-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\",\\"etag\\":\\"W/\\\\\\"2aece227-86b3-4d07-80e1-505ad9e017b3\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"08ac6d19-b8e9-4187-a993-feb5207a6768\\",\\"publicIPAddressVersion\\":\\"IPv4\\",\\"publicIPAllocationMethod\\":\\"Dynamic\\",\\"idleTimeoutInMinutes\\":4,\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\",\\"fqdn\\":\\"fabricnlp9.eastus.cloudapp.azure.com\\"}},\\"type\\":\\"Microsoft.Network/publicIPAddresses\\"}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:06.2644362Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c961bc1c-adc5-4f0b-a850-02060fdf468f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/c961bc1c-adc5-4f0b-a850-02060fdf468f/ticks/636483935459519543","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"statusCode":"Created","serviceRequestId":"cbec7ef0-5357-4ce4-b2ce-5d79377a7871","responseBody":"{\\"name\\":\\"k8s-master-25033075-nsg\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"type\\":\\"Microsoft.Network/networkSecurityGroups\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"0e94a593-0195-4379-b798-56011f9e1b99\\",\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_ssh\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":101,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_kube_tls\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":100,\\"direction\\":\\"Inbound\\"}}],\\"defaultSecurityRules\\":[{\\"name\\":\\"AllowVnetInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowAzureLoadBalancerInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowAzureLoadBalancerInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from azure load balancer\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"AzureLoadBalancer\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"DenyAllInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all inbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowVnetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"AllowInternetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowInternetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to Internet\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"Internet\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"DenyAllOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all outbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Outbound\\"}}]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9519543Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f7ec8371-3033-467f-923d-2af6b2168b3a","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/f7ec8371-3033-467f-923d-2af6b2168b3a/ticks/636483935459206868","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"statusCode":"Created","serviceRequestId":"2127672f-cb17-4957-a6fa-9c3d112bf86d","responseBody":"{\\"name\\":\\"k8s-master-25033075-routetable\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable\\",\\"etag\\":\\"W/\\\\\\"e999d01a-3925-4d88-90ca-dde1e957723e\\\\\\"\\",\\"type\\":\\"Microsoft.Network/routeTables\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"2c300a3b-6237-4592-9fd0-a7eb3f365a28\\",\\"routes\\":[]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9206868Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2a0e4d77-1830-40c5-993e-af900e4260bb","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/2a0e4d77-1830-40c5-993e-af900e4260bb/ticks/636483935457956862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"e8611b1b-c62b-4d00-b87c-aea3bc210226"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7956862Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b/ticks/636483935457800589","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"570b1876-904b-4e3d-8154-3df414bd0c79"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7800589Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0f57cc09-3d02-401c-8e6e-7bda7cbd950d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/0f57cc09-3d02-401c-8e6e-7bda7cbd950d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"7ca02e9c-635f-488e-bbe3-921f51760a4d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/7ca02e9c-635f-488e-bbe3-921f51760a4d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"519755ef-e484-4243-bfeb-0edde3c8c163","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/519755ef-e484-4243-bfeb-0edde3c8c163/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"direction\\":\\"Inbound\\",\\"priority\\":101,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"direction\\":\\"Inbound\\",\\"priority\\":100,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"79ede4b5-7470-4d12-8d22-bbac17c48a8e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/79ede4b5-7470-4d12-8d22-bbac17c48a8e/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\"},\\"publicIPAllocationMethod\\":\\"Dynamic\\"}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d542e1b7-71de-4cde-929d-d1174ea92deb","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/d542e1b7-71de-4cde-929d-d1174ea92deb/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\"}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"34efd43d-0a0b-47a6-be9e-3e3fd74265ad","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/34efd43d-0a0b-47a6-be9e-3e3fd74265ad/ticks/636483935441012452","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"properties":{"statusCode":"OK","serviceRequestId":null},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:04.1012452Z","submissionTimestamp":"2017-12-09T05:19:19.9694084Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"745490e4-6d74-4e41-ac44-1d5e5b10b68d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/745490e4-6d74-4e41-ac44-1d5e5b10b68d/ticks/636483935404291527","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:00.4291527Z","submissionTimestamp":"2017-12-09T05:19:19.9684077Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"}]}' -INFO: Accepted: cse0 (Microsoft.Compute/virtualMachines/extensions) -DEBUG: Getting management service client client_type=MonitorManagementClient -DEBUG: adal-python : b68562c4-949d-444d-bc94-8cd55dec511e - Authority:Performing instance discovery: https://login.microsoftonline.com/52807a8b-794c-4c07-825f-578847e1257e -DEBUG: adal-python : b68562c4-949d-444d-bc94-8cd55dec511e - Authority:Performing static instance discovery -DEBUG: adal-python : b68562c4-949d-444d-bc94-8cd55dec511e - Authority:Authority validated via static instance discovery -INFO: adal-python : b68562c4-949d-444d-bc94-8cd55dec511e - TokenRequest:Getting token from cache with refresh if necessary. -DEBUG: adal-python : b68562c4-949d-444d-bc94-8cd55dec511e - OAuth2Client:finding with query: {"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : b68562c4-949d-444d-bc94-8cd55dec511e - OAuth2Client:Looking for potential cache entries: -DEBUG: adal-python : b68562c4-949d-444d-bc94-8cd55dec511e - OAuth2Client:{"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : b68562c4-949d-444d-bc94-8cd55dec511e - OAuth2Client:Found 4 potential entries. -DEBUG: adal-python : b68562c4-949d-444d-bc94-8cd55dec511e - OAuth2Client:Resource specific token found. -DEBUG: adal-python : b68562c4-949d-444d-bc94-8cd55dec511e - OAuth2Client:Returning token from cache lookup, AccessTokenId: b'kslIbWka8YbxRUy8vLy6JNH7izY8GoVPIpyFsPticn4=', RefreshTokenId: b'ZKVr4cTgxa0EDZ2Kgqem4UHxIsbWBdRNnpWnblHwFnE=' -DEBUG: msrest.pipeline : Configuring request: timeout=100, verify=True, cert=None -DEBUG: msrest.pipeline : Configuring redirects: allow=True, max=30 -DEBUG: msrest.pipeline : Configuring proxies: '' -DEBUG: msrest.pipeline : Evaluate proxies against ENV settings: True -DEBUG: msrest.pipeline : Configuring retry: max_retries=4, backoff_factor=0.8, max_backoff=90 -DEBUG: urllib3.connectionpool : Starting new HTTPS connection (1): management.azure.com -DEBUG: urllib3.connectionpool : https://management.azure.com:443 "GET /subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A22%3A26Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27 HTTP/1.1" 200 None -DEBUG: msrest.http_logger : Request URL: 'https://management.azure.com/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A22%3A26Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27' -DEBUG: msrest.http_logger : Request method: 'GET' -DEBUG: msrest.http_logger : Request headers: -DEBUG: msrest.http_logger : 'User-Agent': 'python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.19 msrest_azure/0.4.17 monitormanagementclient/0.4.0 Azure-SDK-For-Python AZURECLI/2.0.22' -DEBUG: msrest.http_logger : 'Accept-Encoding': 'gzip, deflate' -DEBUG: msrest.http_logger : 'Accept': 'application/json' -DEBUG: msrest.http_logger : 'Connection': 'keep-alive' -DEBUG: msrest.http_logger : 'Authorization': '*****' -DEBUG: msrest.http_logger : 'x-ms-client-request-id': '7538e6de-dca0-11e7-b921-e4b3187aa3c2' -DEBUG: msrest.http_logger : 'CommandName': 'group deployment create' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'accept-language': 'en-US' -DEBUG: msrest.http_logger : Request body: -DEBUG: msrest.http_logger : None -DEBUG: msrest.http_logger : Response status: 200 -DEBUG: msrest.http_logger : Response headers: -DEBUG: msrest.http_logger : 'Cache-Control': 'no-cache' -DEBUG: msrest.http_logger : 'Pragma': 'no-cache' -DEBUG: msrest.http_logger : 'Transfer-Encoding': 'chunked' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'Content-Encoding': 'gzip' -DEBUG: msrest.http_logger : 'Expires': '-1' -DEBUG: msrest.http_logger : 'Vary': 'Accept-Encoding,Accept-Encoding' -DEBUG: msrest.http_logger : 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains' -DEBUG: msrest.http_logger : 'x-ms-request-id': 'EastUS_bfc066ee530742cb9914d6f5c079d0fd_636483937478683488' -DEBUG: msrest.http_logger : 'Server': 'Microsoft-IIS/8.5' -DEBUG: msrest.http_logger : 'x-ms-ratelimit-remaining-subscription-reads': '14936' -DEBUG: msrest.http_logger : 'x-ms-correlation-request-id': 'c11a9f43-db30-428c-8001-cbb7a771f841' -DEBUG: msrest.http_logger : 'x-ms-routing-request-id': 'NORTHCENTRALUS:20171209T052227Z:c11a9f43-db30-428c-8001-cbb7a771f841' -DEBUG: msrest.http_logger : 'Date': 'Sat, 09 Dec 2017 05:22:27 GMT' -DEBUG: msrest.http_logger : Response content: -DEBUG: msrest.http_logger : b'{"value":[{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"e8ac5dac-7625-437b-a00f-ac00d73e738d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0/events/e8ac5dac-7625-437b-a00f-ac00d73e738d/ticks/636483937246792693","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"8ce20380-abec-458e-b6ac-ffc0035d5c9c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:04.6792693Z","submissionTimestamp":"2017-12-09T05:22:20.3877595Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"962936e1-03af-4fe3-9088-c2b6b6e7241a","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/962936e1-03af-4fe3-9088-c2b6b6e7241a/ticks/636483937237581301","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7cc05f54-93e1-4fb6-b74b-356d3be748e4","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:03.7581301Z","submissionTimestamp":"2017-12-09T05:22:20.1548526Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"1a6d6267-532b-4e10-b128-1ca3764743c5","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/1a6d6267-532b-4e10-b128-1ca3764743c5/ticks/636483937228514859","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"0e2b86a4-e606-4866-b8a6-7d037e86a18e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:02.8514859Z","submissionTimestamp":"2017-12-09T05:22:20.5022003Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"49ec54cf-4f14-46d4-bd7e-f246ee8651c1","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5152062e-2c81-4aad-8549-a92d10c33626","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0/events/49ec54cf-4f14-46d4-bd7e-f246ee8651c1/ticks/636483937087255615","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"fbcc9bbb-b699-4b72-89bc-f6f122215474","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Created","serviceRequestId":"256f3de1-7874-4a6e-abd9-12e2a11451da"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:21:48.7255615Z","submissionTimestamp":"2017-12-09T05:22:10.1745201Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"1d8e3d4e-a5e3-443d-a461-dc5794a35d38","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/1d8e3d4e-a5e3-443d-a461-dc5794a35d38/ticks/636483937082212628","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"686d0328-747a-46a4-b72e-a933019bb839","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:48.2212628Z","submissionTimestamp":"2017-12-09T05:21:59.5778305Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"40021681-948f-4ba9-8569-575365b8c50d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/40021681-948f-4ba9-8569-575365b8c50d/ticks/636483937078958824","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"b53779fb-b595-4c81-b2d6-66e1252716f9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:47.8958824Z","submissionTimestamp":"2017-12-09T05:22:00.0185721Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"1c43593f-4ece-40d3-87b0-2dd69ac25a0b","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5152062e-2c81-4aad-8549-a92d10c33626","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0/events/1c43593f-4ece-40d3-87b0-2dd69ac25a0b/ticks/636483937075688138","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"fbcc9bbb-b699-4b72-89bc-f6f122215474","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:47.5688138Z","submissionTimestamp":"2017-12-09T05:21:59.9781196Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b36b44c4-2071-449d-a15c-2a35ef564915","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/b36b44c4-2071-449d-a15c-2a35ef564915/ticks/636483937074586450","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"1aaf4088-f383-4d21-850d-45c40252aeea","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:47.458645Z","submissionTimestamp":"2017-12-09T05:22:00.1040083Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"e2d01640-14bd-42ac-b85e-51bee880bce4","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/e2d01640-14bd-42ac-b85e-51bee880bce4/ticks/636483936927918336","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"ab6c463e-0179-4531-afac-24348d49e94d","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:32.7918336Z","submissionTimestamp":"2017-12-09T05:21:50.3523005Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"a6f2997a-c77e-409f-9f38-0e4689643d49","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/a6f2997a-c77e-409f-9f38-0e4689643d49/ticks/636483936915973109","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"2e12aed4-0ae2-421c-a1aa-48463f7c5eae","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:31.5973109Z","submissionTimestamp":"2017-12-09T05:21:50.1043019Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"faec52ee-ad32-47b3-b19c-9f1c363e9e45","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/faec52ee-ad32-47b3-b19c-9f1c363e9e45/ticks/636483936911518846","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fe6347e6-221d-466f-9241-fc2e9aeb9d9f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:31.1518846Z","submissionTimestamp":"2017-12-09T05:21:50.301343Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"babf2609-61dc-495f-80df-ad433072a19e","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/babf2609-61dc-495f-80df-ad433072a19e/ticks/636483936774315016","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"381f670a-69d7-4ac9-a374-4eb3c2132e5b","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:17.4315016Z","submissionTimestamp":"2017-12-09T05:21:30.4136212Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"56378e6b-714f-4ef1-944c-259ede9dfb43","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/56378e6b-714f-4ef1-944c-259ede9dfb43/ticks/636483936759741086","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"1325bb09-8e5e-4832-a799-dc3766c6b8a2","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:15.9741086Z","submissionTimestamp":"2017-12-09T05:21:30.0927902Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"7f8ed437-3a61-4667-a316-a69d1901fa5d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/7f8ed437-3a61-4667-a316-a69d1901fa5d/ticks/636483936758491013","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"58c7e49d-29e1-4157-8871-dd1bebd42936","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:15.8491013Z","submissionTimestamp":"2017-12-09T05:21:30.0927902Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d7cc4ff6-ae5a-4247-9b8b-3e5e8c6d7218","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/d7cc4ff6-ae5a-4247-9b8b-3e5e8c6d7218/ticks/636483936615161642","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"d5f1fa4d-c3fc-42f1-aa60-dc57da5b9a25","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:01.5161642Z","submissionTimestamp":"2017-12-09T05:21:20.0860134Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"4e7a05fa-80af-42f8-bd89-34fd6f8b219f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/4e7a05fa-80af-42f8-bd89-34fd6f8b219f/ticks/636483936604503602","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"f92ed3c9-924d-47d0-8201-48456822b191","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:00.4503602Z","submissionTimestamp":"2017-12-09T05:21:19.6077919Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"5851d2ad-f28b-43f8-920f-07863f548733","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/5851d2ad-f28b-43f8-920f-07863f548733/ticks/636483936601536698","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc7bd08b-866e-48a5-a537-9d4fe78c8e3e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:00.1536698Z","submissionTimestamp":"2017-12-09T05:21:20.0989911Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c63c3a58-6e60-4d0a-8892-88771b5d2d2d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"06aebdda-7a37-4f4e-b766-26b3ea561951","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/c63c3a58-6e60-4d0a-8892-88771b5d2d2d/ticks/636483936458560786","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7e7d2109-9794-4a26-8444-026e9640661c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Created","serviceRequestId":"db62465a-e660-493e-8b3b-286ed8596452"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:20:45.8560786Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d256c2ab-b9ba-43ac-ba8d-bf1b809b8a9b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/d256c2ab-b9ba-43ac-ba8d-bf1b809b8a9b/ticks/636483936448959408","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"0e990a14-1a57-4ea2-8056-47380457fe70","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.8959408Z","submissionTimestamp":"2017-12-09T05:20:59.705539Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"efa72caa-24ef-4463-87bb-dff257d7896e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"06aebdda-7a37-4f4e-b766-26b3ea561951","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/efa72caa-24ef-4463-87bb-dff257d7896e/ticks/636483936445435451","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7e7d2109-9794-4a26-8444-026e9640661c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.5435451Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"078e8afb-ad14-432b-8327-9bd85371586b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/078e8afb-ad14-432b-8327-9bd85371586b/ticks/636483936443716624","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"35936685-5536-4681-a2c1-7882a7d6ea0f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.3716624Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6a34ff92-1bdb-40da-a940-ce61ee3143df","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/6a34ff92-1bdb-40da-a940-ce61ee3143df/ticks/636483936429993173","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"29718454-78c2-40c6-b631-71e4e334bcd8","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:42.9993173Z","submissionTimestamp":"2017-12-09T05:20:59.8731419Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"766d0bab-9165-464a-94ae-105d8dcac708","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/766d0bab-9165-464a-94ae-105d8dcac708/ticks/636483936288958990","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"19b22b89-dd10-4c67-8c2c-4d458a4d51e7","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:28.895899Z","submissionTimestamp":"2017-12-09T05:20:50.0841006Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"e829aaf0-414c-46df-ab69-2d9f62986096","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/e829aaf0-414c-46df-ab69-2d9f62986096/ticks/636483936282577338","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"b2d3aa73-d783-4375-a064-98079cd2edaa","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:28.2577338Z","submissionTimestamp":"2017-12-09T05:20:39.9794141Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"fc96d187-16c7-4ea4-a80c-cb1abe3a938d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/fc96d187-16c7-4ea4-a80c-cb1abe3a938d/ticks/636483936269716382","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"9131a6b1-8c84-4761-85ba-9e155b40ffbe","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:26.9716382Z","submissionTimestamp":"2017-12-09T05:20:40.5339552Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"84e69362-734a-4d01-ad67-d40a51071911","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/84e69362-734a-4d01-ad67-d40a51071911/ticks/636483936133495638","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3931a993-da5d-4ffb-a53f-3725fe41f9b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:13.3495638Z","submissionTimestamp":"2017-12-09T05:20:29.7480002Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"172ee1ce-a08c-4869-808b-aefc97479870","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/172ee1ce-a08c-4869-808b-aefc97479870/ticks/636483936102743029","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3bacb20e-3fc2-4bcf-ad42-67cd9a56ee8e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:10.2743029Z","submissionTimestamp":"2017-12-09T05:20:29.3964496Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c863e3ad-861a-4842-9bed-5d7b5c21f752","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/c863e3ad-861a-4842-9bed-5d7b5c21f752/ticks/636483935975493658","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3c059bde-9ba7-4705-a46a-90f041019563","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:57.5493658Z","submissionTimestamp":"2017-12-09T05:20:10.1148471Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218/ticks/636483935968523897","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"6b4f8ac8-b6be-4676-a1ef-c2efd07639b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:56.8523897Z","submissionTimestamp":"2017-12-09T05:20:10.2353207Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2/ticks/636483935945781875","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"502f330f-757e-492a-bf5d-8b2c1a9c5e87","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:54.5781875Z","submissionTimestamp":"2017-12-09T05:20:09.9808359Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"629517bd-3422-4799-aed0-e76166f332df","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/629517bd-3422-4799-aed0-e76166f332df/ticks/636483935815203536","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"608c44ca-b946-4085-b677-c60b4364cd4f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.5203536Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0a3e8fa0-b1aa-430d-813d-717d9ccaba43","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/0a3e8fa0-b1aa-430d-813d-717d9ccaba43/ticks/636483935813640803","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"e8a78a19-e992-4a15-9b9d-1d396e76841e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.3640803Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f502a53a-bef1-45ce-a64f-3cec67be9e74","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/f502a53a-bef1-45ce-a64f-3cec67be9e74/ticks/636483935785592969","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"934cbf0a-66c3-40ac-83ad-5a900bd0a3ee","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:38.5592969Z","submissionTimestamp":"2017-12-09T05:20:00.1233196Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"76b649ce-1ebe-4dac-89a1-78bd004fbdbe","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/76b649ce-1ebe-4dac-89a1-78bd004fbdbe/ticks/636483935662684070","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"2368e683-ae0d-4e05-93f7-5251dd7859ff"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:26.268407Z","submissionTimestamp":"2017-12-09T05:19:40.0013894Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0/ticks/636483935658854059","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"770228b2-9970-4da2-8bb3-5eb17f427abd"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:25.8854059Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2ef95b9d-6cc9-4eaa-a265-599681ba4120","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/2ef95b9d-6cc9-4eaa-a265-599681ba4120/ticks/636483935628933848","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.8933848Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"fe383666-3d1f-445b-a21a-bfe1cb911e8f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/fe383666-3d1f-445b-a21a-bfe1cb911e8f/ticks/636483935626751699","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"97c87afe-ca58-46e2-8944-72c541d4a229"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.6751699Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"4c47093b-1a6c-422e-be0d-3b610067fa96","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/4c47093b-1a6c-422e-be0d-3b610067fa96/ticks/636483935624715321","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0179ac94-8373-4392-87f6-59dce144ba0a","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"40a6b458-3268-400a-b594-b782474e5613\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.5\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.4715321Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"18a7b81d-bf54-4f62-9028-d2f0d1507d78","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/18a7b81d-bf54-4f62-9028-d2f0d1507d78/ticks/636483935623914480","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.391448Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b6cc422e-578b-40e7-9436-142f9f132b8c","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/b6cc422e-578b-40e7-9436-142f9f132b8c/ticks/636483935619695965","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0488286b-cd93-4ba0-95c2-39b32adf684e","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"6e8dafff-a250-48f1-98f8-81ba6740af90\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.4\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:21.9695965Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1deef98-0832-4f8b-80f9-845dbd487bbd","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/b1deef98-0832-4f8b-80f9-845dbd487bbd/ticks/636483935615187666","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:21.5187666Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0c815960-230e-4117-b401-3fcfbcd9634b","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/0c815960-230e-4117-b401-3fcfbcd9634b/ticks/636483935608915102","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:20.8915102Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3b3a8117-8604-4212-a730-3d8b798b473d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/3b3a8117-8604-4212-a730-3d8b798b473d/ticks/636483935588001992","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:18.8001992Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1b08df7-d8a3-4198-90aa-b6f497d4c3a6","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/b1b08df7-d8a3-4198-90aa-b6f497d4c3a6/ticks/636483935584565023","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"cfbdf455-8659-44f0-a969-ca5c5fff6a82","responseBody":"{\\"name\\":\\"k8s-master-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"287a1f86-dcd9-479b-95f3-855f558519e8\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\",\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}]}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:18.4565023Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"eafa3e8d-bb05-4cbc-831b-515b421feb6c","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/eafa3e8d-bb05-4cbc-831b-515b421feb6c/ticks/636483935576596018","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}],\\"primary\\":true,\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.6596018Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0630ea34-5e08-4df7-806c-5ba277e8ee98","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/0630ea34-5e08-4df7-806c-5ba277e8ee98/ticks/636483935574567301","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"010e332e-ae98-4d7f-8d89-b13bcd67dd82","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.4567301Z","submissionTimestamp":"2017-12-09T05:19:29.9175501Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"23c16967-c5de-434a-883d-9dcbb5cf7910","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/23c16967-c5de-434a-883d-9dcbb5cf7910/ticks/636483935571498862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"9d8c0359-5075-4aa5-9300-41c5abe70457","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.1498862Z","submissionTimestamp":"2017-12-09T05:19:29.9514229Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3637760d-70c1-4541-a66a-eba014903301","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/3637760d-70c1-4541-a66a-eba014903301/ticks/636483935514628368","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"4d2efcf5-cd3f-47e1-87b4-25ee3eb24361","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.4628368Z","submissionTimestamp":"2017-12-09T05:19:29.8886293Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"96b089d0-749d-4278-a2b9-20d010d8eb76","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/96b089d0-749d-4278-a2b9-20d010d8eb76/ticks/636483935512332041","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"properties":{"statusCode":"Created","serviceRequestId":"fcd5a581-c4fa-4f03-9aeb-4aa694a54fbd"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:11.2332041Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"37a4a8ec-5993-4756-881c-7f6fe9d2b415","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/37a4a8ec-5993-4756-881c-7f6fe9d2b415/ticks/636483935510457343","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.0457343Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c0f2181e-829d-4b04-96e6-91d90ffe74c8","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/c0f2181e-829d-4b04-96e6-91d90ffe74c8/ticks/636483935507957703","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"statusCode":"Created","serviceRequestId":"3a931eae-ac9c-414f-b748-d28628f2c996","responseBody":"{\\"name\\":\\"k8s-master-lb-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"type\\":\\"Microsoft.Network/loadBalancers\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"a8c2b30a-7f33-4beb-b9e6-1cfb8b254ef3\\",\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"},\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"idleTimeoutInMinutes\\":5,\\"protocol\\":\\"Tcp\\",\\"loadDistribution\\":\\"Default\\",\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"}}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"protocol\\":\\"Tcp\\",\\"port\\":443,\\"intervalInSeconds\\":5,\\"numberOfProbes\\":2,\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"inboundNatRules\\":[],\\"outboundNatRules\\":[],\\"inboundNatPools\\":[]}}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:10.7957703Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e/ticks/636483935499050370","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\"}],\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"properties\\":{\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"}}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"properties\\":{\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"idleTimeoutInMinutes\\":5,\\"loadDistribution\\":\\"Default\\",\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"},\\"protocol\\":\\"tcp\\"}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"properties\\":{\\"intervalInSeconds\\":\\"5\\",\\"numberOfProbes\\":\\"2\\",\\"port\\":443,\\"protocol\\":\\"tcp\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:09.905037Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"42843e04-3819-4b19-8a25-1ec0a7634855","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/42843e04-3819-4b19-8a25-1ec0a7634855/ticks/636483935462644362","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"statusCode":"Created","serviceRequestId":"73c1ebb8-ec8b-41d5-aaf6-128425b11048","responseBody":"{\\"name\\":\\"k8s-master-ip-fabricnlp9-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\",\\"etag\\":\\"W/\\\\\\"2aece227-86b3-4d07-80e1-505ad9e017b3\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"08ac6d19-b8e9-4187-a993-feb5207a6768\\",\\"publicIPAddressVersion\\":\\"IPv4\\",\\"publicIPAllocationMethod\\":\\"Dynamic\\",\\"idleTimeoutInMinutes\\":4,\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\",\\"fqdn\\":\\"fabricnlp9.eastus.cloudapp.azure.com\\"}},\\"type\\":\\"Microsoft.Network/publicIPAddresses\\"}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:06.2644362Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c961bc1c-adc5-4f0b-a850-02060fdf468f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/c961bc1c-adc5-4f0b-a850-02060fdf468f/ticks/636483935459519543","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"statusCode":"Created","serviceRequestId":"cbec7ef0-5357-4ce4-b2ce-5d79377a7871","responseBody":"{\\"name\\":\\"k8s-master-25033075-nsg\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"type\\":\\"Microsoft.Network/networkSecurityGroups\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"0e94a593-0195-4379-b798-56011f9e1b99\\",\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_ssh\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":101,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_kube_tls\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":100,\\"direction\\":\\"Inbound\\"}}],\\"defaultSecurityRules\\":[{\\"name\\":\\"AllowVnetInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowAzureLoadBalancerInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowAzureLoadBalancerInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from azure load balancer\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"AzureLoadBalancer\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"DenyAllInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all inbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowVnetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"AllowInternetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowInternetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to Internet\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"Internet\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"DenyAllOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all outbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Outbound\\"}}]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9519543Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f7ec8371-3033-467f-923d-2af6b2168b3a","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/f7ec8371-3033-467f-923d-2af6b2168b3a/ticks/636483935459206868","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"statusCode":"Created","serviceRequestId":"2127672f-cb17-4957-a6fa-9c3d112bf86d","responseBody":"{\\"name\\":\\"k8s-master-25033075-routetable\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable\\",\\"etag\\":\\"W/\\\\\\"e999d01a-3925-4d88-90ca-dde1e957723e\\\\\\"\\",\\"type\\":\\"Microsoft.Network/routeTables\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"2c300a3b-6237-4592-9fd0-a7eb3f365a28\\",\\"routes\\":[]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9206868Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2a0e4d77-1830-40c5-993e-af900e4260bb","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/2a0e4d77-1830-40c5-993e-af900e4260bb/ticks/636483935457956862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"e8611b1b-c62b-4d00-b87c-aea3bc210226"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7956862Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b/ticks/636483935457800589","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"570b1876-904b-4e3d-8154-3df414bd0c79"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7800589Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0f57cc09-3d02-401c-8e6e-7bda7cbd950d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/0f57cc09-3d02-401c-8e6e-7bda7cbd950d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"7ca02e9c-635f-488e-bbe3-921f51760a4d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/7ca02e9c-635f-488e-bbe3-921f51760a4d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"519755ef-e484-4243-bfeb-0edde3c8c163","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/519755ef-e484-4243-bfeb-0edde3c8c163/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"direction\\":\\"Inbound\\",\\"priority\\":101,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"direction\\":\\"Inbound\\",\\"priority\\":100,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"79ede4b5-7470-4d12-8d22-bbac17c48a8e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/79ede4b5-7470-4d12-8d22-bbac17c48a8e/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\"},\\"publicIPAllocationMethod\\":\\"Dynamic\\"}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d542e1b7-71de-4cde-929d-d1174ea92deb","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/d542e1b7-71de-4cde-929d-d1174ea92deb/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\"}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"34efd43d-0a0b-47a6-be9e-3e3fd74265ad","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/34efd43d-0a0b-47a6-be9e-3e3fd74265ad/ticks/636483935441012452","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"properties":{"statusCode":"OK","serviceRequestId":null},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:04.1012452Z","submissionTimestamp":"2017-12-09T05:19:19.9694084Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"745490e4-6d74-4e41-ac44-1d5e5b10b68d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/745490e4-6d74-4e41-ac44-1d5e5b10b68d/ticks/636483935404291527","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:00.4291527Z","submissionTimestamp":"2017-12-09T05:19:19.9684077Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"}]}' -INFO: Accepted: cse0 (Microsoft.Compute/virtualMachines/extensions) -DEBUG: Getting management service client client_type=MonitorManagementClient -DEBUG: adal-python : 90aaa5dc-d054-43ef-8625-58a7602824dd - Authority:Performing instance discovery: https://login.microsoftonline.com/52807a8b-794c-4c07-825f-578847e1257e -DEBUG: adal-python : 90aaa5dc-d054-43ef-8625-58a7602824dd - Authority:Performing static instance discovery -DEBUG: adal-python : 90aaa5dc-d054-43ef-8625-58a7602824dd - Authority:Authority validated via static instance discovery -INFO: adal-python : 90aaa5dc-d054-43ef-8625-58a7602824dd - TokenRequest:Getting token from cache with refresh if necessary. -DEBUG: adal-python : 90aaa5dc-d054-43ef-8625-58a7602824dd - OAuth2Client:finding with query: {"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 90aaa5dc-d054-43ef-8625-58a7602824dd - OAuth2Client:Looking for potential cache entries: -DEBUG: adal-python : 90aaa5dc-d054-43ef-8625-58a7602824dd - OAuth2Client:{"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 90aaa5dc-d054-43ef-8625-58a7602824dd - OAuth2Client:Found 4 potential entries. -DEBUG: adal-python : 90aaa5dc-d054-43ef-8625-58a7602824dd - OAuth2Client:Resource specific token found. -DEBUG: adal-python : 90aaa5dc-d054-43ef-8625-58a7602824dd - OAuth2Client:Returning token from cache lookup, AccessTokenId: b'kslIbWka8YbxRUy8vLy6JNH7izY8GoVPIpyFsPticn4=', RefreshTokenId: b'ZKVr4cTgxa0EDZ2Kgqem4UHxIsbWBdRNnpWnblHwFnE=' -DEBUG: msrest.pipeline : Configuring request: timeout=100, verify=True, cert=None -DEBUG: msrest.pipeline : Configuring redirects: allow=True, max=30 -DEBUG: msrest.pipeline : Configuring proxies: '' -DEBUG: msrest.pipeline : Evaluate proxies against ENV settings: True -DEBUG: msrest.pipeline : Configuring retry: max_retries=4, backoff_factor=0.8, max_backoff=90 -DEBUG: urllib3.connectionpool : Starting new HTTPS connection (1): management.azure.com -DEBUG: urllib3.connectionpool : https://management.azure.com:443 "GET /subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A22%3A37Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27 HTTP/1.1" 200 None -DEBUG: msrest.http_logger : Request URL: 'https://management.azure.com/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A22%3A37Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27' -DEBUG: msrest.http_logger : Request method: 'GET' -DEBUG: msrest.http_logger : Request headers: -DEBUG: msrest.http_logger : 'User-Agent': 'python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.19 msrest_azure/0.4.17 monitormanagementclient/0.4.0 Azure-SDK-For-Python AZURECLI/2.0.22' -DEBUG: msrest.http_logger : 'Accept-Encoding': 'gzip, deflate' -DEBUG: msrest.http_logger : 'Accept': 'application/json' -DEBUG: msrest.http_logger : 'Connection': 'keep-alive' -DEBUG: msrest.http_logger : 'Authorization': '*****' -DEBUG: msrest.http_logger : 'x-ms-client-request-id': '7538e6de-dca0-11e7-b921-e4b3187aa3c2' -DEBUG: msrest.http_logger : 'CommandName': 'group deployment create' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'accept-language': 'en-US' -DEBUG: msrest.http_logger : Request body: -DEBUG: msrest.http_logger : None -DEBUG: msrest.http_logger : Response status: 200 -DEBUG: msrest.http_logger : Response headers: -DEBUG: msrest.http_logger : 'Cache-Control': 'no-cache' -DEBUG: msrest.http_logger : 'Pragma': 'no-cache' -DEBUG: msrest.http_logger : 'Transfer-Encoding': 'chunked' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'Content-Encoding': 'gzip' -DEBUG: msrest.http_logger : 'Expires': '-1' -DEBUG: msrest.http_logger : 'Vary': 'Accept-Encoding,Accept-Encoding' -DEBUG: msrest.http_logger : 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains' -DEBUG: msrest.http_logger : 'x-ms-request-id': 'EastUS_bbe5eca2ee1a4e818779d017b38f41b4_636483937582361635' -DEBUG: msrest.http_logger : 'Server': 'Microsoft-IIS/8.5' -DEBUG: msrest.http_logger : 'x-ms-ratelimit-remaining-subscription-reads': '14957' -DEBUG: msrest.http_logger : 'x-ms-correlation-request-id': '1dab08a5-d0a2-4c9a-8f64-ea68e54b3160' -DEBUG: msrest.http_logger : 'x-ms-routing-request-id': 'NORTHCENTRALUS:20171209T052238Z:1dab08a5-d0a2-4c9a-8f64-ea68e54b3160' -DEBUG: msrest.http_logger : 'Date': 'Sat, 09 Dec 2017 05:22:37 GMT' -DEBUG: msrest.http_logger : Response content: -DEBUG: msrest.http_logger : b'{"value":[{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3a1f2878-bd44-40af-b28c-5cf261653905","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/3a1f2878-bd44-40af-b28c-5cf261653905/ticks/636483937367361788","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"65265daa-0c52-42bf-8745-a1b5415ab306","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:16.7361788Z","submissionTimestamp":"2017-12-09T05:22:30.0593033Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"e8ac5dac-7625-437b-a00f-ac00d73e738d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0/events/e8ac5dac-7625-437b-a00f-ac00d73e738d/ticks/636483937246792693","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"8ce20380-abec-458e-b6ac-ffc0035d5c9c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:04.6792693Z","submissionTimestamp":"2017-12-09T05:22:20.3877595Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"962936e1-03af-4fe3-9088-c2b6b6e7241a","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/962936e1-03af-4fe3-9088-c2b6b6e7241a/ticks/636483937237581301","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7cc05f54-93e1-4fb6-b74b-356d3be748e4","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:03.7581301Z","submissionTimestamp":"2017-12-09T05:22:20.1548526Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"1a6d6267-532b-4e10-b128-1ca3764743c5","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/1a6d6267-532b-4e10-b128-1ca3764743c5/ticks/636483937228514859","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"0e2b86a4-e606-4866-b8a6-7d037e86a18e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:02.8514859Z","submissionTimestamp":"2017-12-09T05:22:20.5022003Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"49ec54cf-4f14-46d4-bd7e-f246ee8651c1","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5152062e-2c81-4aad-8549-a92d10c33626","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0/events/49ec54cf-4f14-46d4-bd7e-f246ee8651c1/ticks/636483937087255615","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"fbcc9bbb-b699-4b72-89bc-f6f122215474","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Created","serviceRequestId":"256f3de1-7874-4a6e-abd9-12e2a11451da"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:21:48.7255615Z","submissionTimestamp":"2017-12-09T05:22:10.1745201Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"1d8e3d4e-a5e3-443d-a461-dc5794a35d38","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/1d8e3d4e-a5e3-443d-a461-dc5794a35d38/ticks/636483937082212628","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"686d0328-747a-46a4-b72e-a933019bb839","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:48.2212628Z","submissionTimestamp":"2017-12-09T05:21:59.5778305Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"40021681-948f-4ba9-8569-575365b8c50d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/40021681-948f-4ba9-8569-575365b8c50d/ticks/636483937078958824","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"b53779fb-b595-4c81-b2d6-66e1252716f9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:47.8958824Z","submissionTimestamp":"2017-12-09T05:22:00.0185721Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"1c43593f-4ece-40d3-87b0-2dd69ac25a0b","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5152062e-2c81-4aad-8549-a92d10c33626","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0/events/1c43593f-4ece-40d3-87b0-2dd69ac25a0b/ticks/636483937075688138","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"fbcc9bbb-b699-4b72-89bc-f6f122215474","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:47.5688138Z","submissionTimestamp":"2017-12-09T05:21:59.9781196Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b36b44c4-2071-449d-a15c-2a35ef564915","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/b36b44c4-2071-449d-a15c-2a35ef564915/ticks/636483937074586450","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"1aaf4088-f383-4d21-850d-45c40252aeea","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:47.458645Z","submissionTimestamp":"2017-12-09T05:22:00.1040083Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"e2d01640-14bd-42ac-b85e-51bee880bce4","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/e2d01640-14bd-42ac-b85e-51bee880bce4/ticks/636483936927918336","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"ab6c463e-0179-4531-afac-24348d49e94d","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:32.7918336Z","submissionTimestamp":"2017-12-09T05:21:50.3523005Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"a6f2997a-c77e-409f-9f38-0e4689643d49","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/a6f2997a-c77e-409f-9f38-0e4689643d49/ticks/636483936915973109","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"2e12aed4-0ae2-421c-a1aa-48463f7c5eae","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:31.5973109Z","submissionTimestamp":"2017-12-09T05:21:50.1043019Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"faec52ee-ad32-47b3-b19c-9f1c363e9e45","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/faec52ee-ad32-47b3-b19c-9f1c363e9e45/ticks/636483936911518846","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fe6347e6-221d-466f-9241-fc2e9aeb9d9f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:31.1518846Z","submissionTimestamp":"2017-12-09T05:21:50.301343Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"babf2609-61dc-495f-80df-ad433072a19e","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/babf2609-61dc-495f-80df-ad433072a19e/ticks/636483936774315016","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"381f670a-69d7-4ac9-a374-4eb3c2132e5b","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:17.4315016Z","submissionTimestamp":"2017-12-09T05:21:30.4136212Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"56378e6b-714f-4ef1-944c-259ede9dfb43","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/56378e6b-714f-4ef1-944c-259ede9dfb43/ticks/636483936759741086","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"1325bb09-8e5e-4832-a799-dc3766c6b8a2","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:15.9741086Z","submissionTimestamp":"2017-12-09T05:21:30.0927902Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"7f8ed437-3a61-4667-a316-a69d1901fa5d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/7f8ed437-3a61-4667-a316-a69d1901fa5d/ticks/636483936758491013","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"58c7e49d-29e1-4157-8871-dd1bebd42936","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:15.8491013Z","submissionTimestamp":"2017-12-09T05:21:30.0927902Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d7cc4ff6-ae5a-4247-9b8b-3e5e8c6d7218","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/d7cc4ff6-ae5a-4247-9b8b-3e5e8c6d7218/ticks/636483936615161642","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"d5f1fa4d-c3fc-42f1-aa60-dc57da5b9a25","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:01.5161642Z","submissionTimestamp":"2017-12-09T05:21:20.0860134Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"4e7a05fa-80af-42f8-bd89-34fd6f8b219f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/4e7a05fa-80af-42f8-bd89-34fd6f8b219f/ticks/636483936604503602","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"f92ed3c9-924d-47d0-8201-48456822b191","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:00.4503602Z","submissionTimestamp":"2017-12-09T05:21:19.6077919Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"5851d2ad-f28b-43f8-920f-07863f548733","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/5851d2ad-f28b-43f8-920f-07863f548733/ticks/636483936601536698","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc7bd08b-866e-48a5-a537-9d4fe78c8e3e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:00.1536698Z","submissionTimestamp":"2017-12-09T05:21:20.0989911Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c63c3a58-6e60-4d0a-8892-88771b5d2d2d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"06aebdda-7a37-4f4e-b766-26b3ea561951","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/c63c3a58-6e60-4d0a-8892-88771b5d2d2d/ticks/636483936458560786","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7e7d2109-9794-4a26-8444-026e9640661c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Created","serviceRequestId":"db62465a-e660-493e-8b3b-286ed8596452"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:20:45.8560786Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d256c2ab-b9ba-43ac-ba8d-bf1b809b8a9b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/d256c2ab-b9ba-43ac-ba8d-bf1b809b8a9b/ticks/636483936448959408","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"0e990a14-1a57-4ea2-8056-47380457fe70","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.8959408Z","submissionTimestamp":"2017-12-09T05:20:59.705539Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"efa72caa-24ef-4463-87bb-dff257d7896e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"06aebdda-7a37-4f4e-b766-26b3ea561951","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/efa72caa-24ef-4463-87bb-dff257d7896e/ticks/636483936445435451","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7e7d2109-9794-4a26-8444-026e9640661c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.5435451Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"078e8afb-ad14-432b-8327-9bd85371586b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/078e8afb-ad14-432b-8327-9bd85371586b/ticks/636483936443716624","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"35936685-5536-4681-a2c1-7882a7d6ea0f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.3716624Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6a34ff92-1bdb-40da-a940-ce61ee3143df","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/6a34ff92-1bdb-40da-a940-ce61ee3143df/ticks/636483936429993173","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"29718454-78c2-40c6-b631-71e4e334bcd8","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:42.9993173Z","submissionTimestamp":"2017-12-09T05:20:59.8731419Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"766d0bab-9165-464a-94ae-105d8dcac708","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/766d0bab-9165-464a-94ae-105d8dcac708/ticks/636483936288958990","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"19b22b89-dd10-4c67-8c2c-4d458a4d51e7","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:28.895899Z","submissionTimestamp":"2017-12-09T05:20:50.0841006Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"e829aaf0-414c-46df-ab69-2d9f62986096","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/e829aaf0-414c-46df-ab69-2d9f62986096/ticks/636483936282577338","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"b2d3aa73-d783-4375-a064-98079cd2edaa","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:28.2577338Z","submissionTimestamp":"2017-12-09T05:20:39.9794141Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"fc96d187-16c7-4ea4-a80c-cb1abe3a938d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/fc96d187-16c7-4ea4-a80c-cb1abe3a938d/ticks/636483936269716382","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"9131a6b1-8c84-4761-85ba-9e155b40ffbe","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:26.9716382Z","submissionTimestamp":"2017-12-09T05:20:40.5339552Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"84e69362-734a-4d01-ad67-d40a51071911","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/84e69362-734a-4d01-ad67-d40a51071911/ticks/636483936133495638","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3931a993-da5d-4ffb-a53f-3725fe41f9b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:13.3495638Z","submissionTimestamp":"2017-12-09T05:20:29.7480002Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"172ee1ce-a08c-4869-808b-aefc97479870","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/172ee1ce-a08c-4869-808b-aefc97479870/ticks/636483936102743029","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3bacb20e-3fc2-4bcf-ad42-67cd9a56ee8e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:10.2743029Z","submissionTimestamp":"2017-12-09T05:20:29.3964496Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c863e3ad-861a-4842-9bed-5d7b5c21f752","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/c863e3ad-861a-4842-9bed-5d7b5c21f752/ticks/636483935975493658","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3c059bde-9ba7-4705-a46a-90f041019563","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:57.5493658Z","submissionTimestamp":"2017-12-09T05:20:10.1148471Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218/ticks/636483935968523897","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"6b4f8ac8-b6be-4676-a1ef-c2efd07639b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:56.8523897Z","submissionTimestamp":"2017-12-09T05:20:10.2353207Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2/ticks/636483935945781875","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"502f330f-757e-492a-bf5d-8b2c1a9c5e87","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:54.5781875Z","submissionTimestamp":"2017-12-09T05:20:09.9808359Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"629517bd-3422-4799-aed0-e76166f332df","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/629517bd-3422-4799-aed0-e76166f332df/ticks/636483935815203536","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"608c44ca-b946-4085-b677-c60b4364cd4f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.5203536Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0a3e8fa0-b1aa-430d-813d-717d9ccaba43","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/0a3e8fa0-b1aa-430d-813d-717d9ccaba43/ticks/636483935813640803","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"e8a78a19-e992-4a15-9b9d-1d396e76841e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.3640803Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f502a53a-bef1-45ce-a64f-3cec67be9e74","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/f502a53a-bef1-45ce-a64f-3cec67be9e74/ticks/636483935785592969","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"934cbf0a-66c3-40ac-83ad-5a900bd0a3ee","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:38.5592969Z","submissionTimestamp":"2017-12-09T05:20:00.1233196Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"76b649ce-1ebe-4dac-89a1-78bd004fbdbe","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/76b649ce-1ebe-4dac-89a1-78bd004fbdbe/ticks/636483935662684070","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"2368e683-ae0d-4e05-93f7-5251dd7859ff"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:26.268407Z","submissionTimestamp":"2017-12-09T05:19:40.0013894Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0/ticks/636483935658854059","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"770228b2-9970-4da2-8bb3-5eb17f427abd"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:25.8854059Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2ef95b9d-6cc9-4eaa-a265-599681ba4120","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/2ef95b9d-6cc9-4eaa-a265-599681ba4120/ticks/636483935628933848","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.8933848Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"fe383666-3d1f-445b-a21a-bfe1cb911e8f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/fe383666-3d1f-445b-a21a-bfe1cb911e8f/ticks/636483935626751699","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"97c87afe-ca58-46e2-8944-72c541d4a229"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.6751699Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"4c47093b-1a6c-422e-be0d-3b610067fa96","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/4c47093b-1a6c-422e-be0d-3b610067fa96/ticks/636483935624715321","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0179ac94-8373-4392-87f6-59dce144ba0a","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"40a6b458-3268-400a-b594-b782474e5613\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.5\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.4715321Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"18a7b81d-bf54-4f62-9028-d2f0d1507d78","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/18a7b81d-bf54-4f62-9028-d2f0d1507d78/ticks/636483935623914480","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.391448Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b6cc422e-578b-40e7-9436-142f9f132b8c","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/b6cc422e-578b-40e7-9436-142f9f132b8c/ticks/636483935619695965","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0488286b-cd93-4ba0-95c2-39b32adf684e","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"6e8dafff-a250-48f1-98f8-81ba6740af90\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.4\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:21.9695965Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1deef98-0832-4f8b-80f9-845dbd487bbd","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/b1deef98-0832-4f8b-80f9-845dbd487bbd/ticks/636483935615187666","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:21.5187666Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0c815960-230e-4117-b401-3fcfbcd9634b","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/0c815960-230e-4117-b401-3fcfbcd9634b/ticks/636483935608915102","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:20.8915102Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3b3a8117-8604-4212-a730-3d8b798b473d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/3b3a8117-8604-4212-a730-3d8b798b473d/ticks/636483935588001992","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:18.8001992Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1b08df7-d8a3-4198-90aa-b6f497d4c3a6","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/b1b08df7-d8a3-4198-90aa-b6f497d4c3a6/ticks/636483935584565023","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"cfbdf455-8659-44f0-a969-ca5c5fff6a82","responseBody":"{\\"name\\":\\"k8s-master-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"287a1f86-dcd9-479b-95f3-855f558519e8\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\",\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}]}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:18.4565023Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"eafa3e8d-bb05-4cbc-831b-515b421feb6c","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/eafa3e8d-bb05-4cbc-831b-515b421feb6c/ticks/636483935576596018","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}],\\"primary\\":true,\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.6596018Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0630ea34-5e08-4df7-806c-5ba277e8ee98","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/0630ea34-5e08-4df7-806c-5ba277e8ee98/ticks/636483935574567301","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"010e332e-ae98-4d7f-8d89-b13bcd67dd82","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.4567301Z","submissionTimestamp":"2017-12-09T05:19:29.9175501Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"23c16967-c5de-434a-883d-9dcbb5cf7910","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/23c16967-c5de-434a-883d-9dcbb5cf7910/ticks/636483935571498862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"9d8c0359-5075-4aa5-9300-41c5abe70457","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.1498862Z","submissionTimestamp":"2017-12-09T05:19:29.9514229Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3637760d-70c1-4541-a66a-eba014903301","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/3637760d-70c1-4541-a66a-eba014903301/ticks/636483935514628368","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"4d2efcf5-cd3f-47e1-87b4-25ee3eb24361","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.4628368Z","submissionTimestamp":"2017-12-09T05:19:29.8886293Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"96b089d0-749d-4278-a2b9-20d010d8eb76","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/96b089d0-749d-4278-a2b9-20d010d8eb76/ticks/636483935512332041","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"properties":{"statusCode":"Created","serviceRequestId":"fcd5a581-c4fa-4f03-9aeb-4aa694a54fbd"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:11.2332041Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"37a4a8ec-5993-4756-881c-7f6fe9d2b415","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/37a4a8ec-5993-4756-881c-7f6fe9d2b415/ticks/636483935510457343","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.0457343Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c0f2181e-829d-4b04-96e6-91d90ffe74c8","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/c0f2181e-829d-4b04-96e6-91d90ffe74c8/ticks/636483935507957703","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"statusCode":"Created","serviceRequestId":"3a931eae-ac9c-414f-b748-d28628f2c996","responseBody":"{\\"name\\":\\"k8s-master-lb-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"type\\":\\"Microsoft.Network/loadBalancers\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"a8c2b30a-7f33-4beb-b9e6-1cfb8b254ef3\\",\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"},\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"idleTimeoutInMinutes\\":5,\\"protocol\\":\\"Tcp\\",\\"loadDistribution\\":\\"Default\\",\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"}}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"protocol\\":\\"Tcp\\",\\"port\\":443,\\"intervalInSeconds\\":5,\\"numberOfProbes\\":2,\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"inboundNatRules\\":[],\\"outboundNatRules\\":[],\\"inboundNatPools\\":[]}}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:10.7957703Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e/ticks/636483935499050370","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\"}],\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"properties\\":{\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"}}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"properties\\":{\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"idleTimeoutInMinutes\\":5,\\"loadDistribution\\":\\"Default\\",\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"},\\"protocol\\":\\"tcp\\"}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"properties\\":{\\"intervalInSeconds\\":\\"5\\",\\"numberOfProbes\\":\\"2\\",\\"port\\":443,\\"protocol\\":\\"tcp\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:09.905037Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"42843e04-3819-4b19-8a25-1ec0a7634855","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/42843e04-3819-4b19-8a25-1ec0a7634855/ticks/636483935462644362","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"statusCode":"Created","serviceRequestId":"73c1ebb8-ec8b-41d5-aaf6-128425b11048","responseBody":"{\\"name\\":\\"k8s-master-ip-fabricnlp9-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\",\\"etag\\":\\"W/\\\\\\"2aece227-86b3-4d07-80e1-505ad9e017b3\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"08ac6d19-b8e9-4187-a993-feb5207a6768\\",\\"publicIPAddressVersion\\":\\"IPv4\\",\\"publicIPAllocationMethod\\":\\"Dynamic\\",\\"idleTimeoutInMinutes\\":4,\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\",\\"fqdn\\":\\"fabricnlp9.eastus.cloudapp.azure.com\\"}},\\"type\\":\\"Microsoft.Network/publicIPAddresses\\"}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:06.2644362Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c961bc1c-adc5-4f0b-a850-02060fdf468f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/c961bc1c-adc5-4f0b-a850-02060fdf468f/ticks/636483935459519543","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"statusCode":"Created","serviceRequestId":"cbec7ef0-5357-4ce4-b2ce-5d79377a7871","responseBody":"{\\"name\\":\\"k8s-master-25033075-nsg\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"type\\":\\"Microsoft.Network/networkSecurityGroups\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"0e94a593-0195-4379-b798-56011f9e1b99\\",\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_ssh\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":101,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_kube_tls\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":100,\\"direction\\":\\"Inbound\\"}}],\\"defaultSecurityRules\\":[{\\"name\\":\\"AllowVnetInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowAzureLoadBalancerInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowAzureLoadBalancerInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from azure load balancer\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"AzureLoadBalancer\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"DenyAllInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all inbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowVnetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"AllowInternetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowInternetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to Internet\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"Internet\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"DenyAllOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all outbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Outbound\\"}}]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9519543Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f7ec8371-3033-467f-923d-2af6b2168b3a","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/f7ec8371-3033-467f-923d-2af6b2168b3a/ticks/636483935459206868","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"statusCode":"Created","serviceRequestId":"2127672f-cb17-4957-a6fa-9c3d112bf86d","responseBody":"{\\"name\\":\\"k8s-master-25033075-routetable\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable\\",\\"etag\\":\\"W/\\\\\\"e999d01a-3925-4d88-90ca-dde1e957723e\\\\\\"\\",\\"type\\":\\"Microsoft.Network/routeTables\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"2c300a3b-6237-4592-9fd0-a7eb3f365a28\\",\\"routes\\":[]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9206868Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2a0e4d77-1830-40c5-993e-af900e4260bb","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/2a0e4d77-1830-40c5-993e-af900e4260bb/ticks/636483935457956862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"e8611b1b-c62b-4d00-b87c-aea3bc210226"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7956862Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b/ticks/636483935457800589","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"570b1876-904b-4e3d-8154-3df414bd0c79"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7800589Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0f57cc09-3d02-401c-8e6e-7bda7cbd950d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/0f57cc09-3d02-401c-8e6e-7bda7cbd950d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"7ca02e9c-635f-488e-bbe3-921f51760a4d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/7ca02e9c-635f-488e-bbe3-921f51760a4d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"519755ef-e484-4243-bfeb-0edde3c8c163","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/519755ef-e484-4243-bfeb-0edde3c8c163/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"direction\\":\\"Inbound\\",\\"priority\\":101,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"direction\\":\\"Inbound\\",\\"priority\\":100,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"79ede4b5-7470-4d12-8d22-bbac17c48a8e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/79ede4b5-7470-4d12-8d22-bbac17c48a8e/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\"},\\"publicIPAllocationMethod\\":\\"Dynamic\\"}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d542e1b7-71de-4cde-929d-d1174ea92deb","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/d542e1b7-71de-4cde-929d-d1174ea92deb/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\"}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"34efd43d-0a0b-47a6-be9e-3e3fd74265ad","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/34efd43d-0a0b-47a6-be9e-3e3fd74265ad/ticks/636483935441012452","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"properties":{"statusCode":"OK","serviceRequestId":null},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:04.1012452Z","submissionTimestamp":"2017-12-09T05:19:19.9694084Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"745490e4-6d74-4e41-ac44-1d5e5b10b68d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/745490e4-6d74-4e41-ac44-1d5e5b10b68d/ticks/636483935404291527","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:00.4291527Z","submissionTimestamp":"2017-12-09T05:19:19.9684077Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"}]}' -INFO: Succeeded: k8s-linuxagent-25033075-1 (Microsoft.Compute/virtualMachines) -DEBUG: adal-python : 88afc0dc-4165-4a17-a9b0-49b586ea5ac8 - Authority:Performing instance discovery: https://login.microsoftonline.com/52807a8b-794c-4c07-825f-578847e1257e -DEBUG: adal-python : 88afc0dc-4165-4a17-a9b0-49b586ea5ac8 - Authority:Performing static instance discovery -DEBUG: adal-python : 88afc0dc-4165-4a17-a9b0-49b586ea5ac8 - Authority:Authority validated via static instance discovery -INFO: adal-python : 88afc0dc-4165-4a17-a9b0-49b586ea5ac8 - TokenRequest:Getting token from cache with refresh if necessary. -DEBUG: adal-python : 88afc0dc-4165-4a17-a9b0-49b586ea5ac8 - OAuth2Client:finding with query: {"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 88afc0dc-4165-4a17-a9b0-49b586ea5ac8 - OAuth2Client:Looking for potential cache entries: -DEBUG: adal-python : 88afc0dc-4165-4a17-a9b0-49b586ea5ac8 - OAuth2Client:{"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 88afc0dc-4165-4a17-a9b0-49b586ea5ac8 - OAuth2Client:Found 4 potential entries. -DEBUG: adal-python : 88afc0dc-4165-4a17-a9b0-49b586ea5ac8 - OAuth2Client:Resource specific token found. -DEBUG: adal-python : 88afc0dc-4165-4a17-a9b0-49b586ea5ac8 - OAuth2Client:Returning token from cache lookup, AccessTokenId: b'kslIbWka8YbxRUy8vLy6JNH7izY8GoVPIpyFsPticn4=', RefreshTokenId: b'ZKVr4cTgxa0EDZ2Kgqem4UHxIsbWBdRNnpWnblHwFnE=' -DEBUG: msrest.pipeline : Configuring request: timeout=100, verify=True, cert=None -DEBUG: msrest.pipeline : Configuring redirects: allow=True, max=30 -DEBUG: msrest.pipeline : Configuring proxies: '' -DEBUG: msrest.pipeline : Evaluate proxies against ENV settings: True -DEBUG: msrest.pipeline : Configuring retry: max_retries=4, backoff_factor=0.8, max_backoff=90 -DEBUG: urllib3.connectionpool : Starting new HTTPS connection (1): management.azure.com -DEBUG: urllib3.connectionpool : https://management.azure.com:443 "GET /subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/operationStatuses/08586888101433128342?api-version=2017-05-10 HTTP/1.1" 200 140 -DEBUG: msrest.http_logger : Request URL: 'https://management.azure.com/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/operationStatuses/08586888101433128342?api-version=2017-05-10' -DEBUG: msrest.http_logger : Request method: 'GET' -DEBUG: msrest.http_logger : Request headers: -DEBUG: msrest.http_logger : 'User-Agent': 'python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.19 msrest_azure/0.4.17 resourcemanagementclient/1.2.1 Azure-SDK-For-Python AZURECLI/2.0.22' -DEBUG: msrest.http_logger : 'Accept-Encoding': 'gzip, deflate' -DEBUG: msrest.http_logger : 'Accept': 'application/json' -DEBUG: msrest.http_logger : 'Connection': 'keep-alive' -DEBUG: msrest.http_logger : 'Authorization': '*****' -DEBUG: msrest.http_logger : 'x-ms-client-request-id': '7538e6de-dca0-11e7-b921-e4b3187aa3c2' -DEBUG: msrest.http_logger : 'CommandName': 'group deployment create' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'accept-language': 'en-US' -DEBUG: msrest.http_logger : Request body: -DEBUG: msrest.http_logger : None -DEBUG: msrest.http_logger : Response status: 200 -DEBUG: msrest.http_logger : Response headers: -DEBUG: msrest.http_logger : 'Cache-Control': 'no-cache' -DEBUG: msrest.http_logger : 'Pragma': 'no-cache' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'Content-Encoding': 'gzip' -DEBUG: msrest.http_logger : 'Expires': '-1' -DEBUG: msrest.http_logger : 'Vary': 'Accept-Encoding' -DEBUG: msrest.http_logger : 'x-ms-ratelimit-remaining-subscription-reads': '14893' -DEBUG: msrest.http_logger : 'x-ms-request-id': 'dd6a691f-099a-4a05-9db8-a521b724c1b0' -DEBUG: msrest.http_logger : 'x-ms-correlation-request-id': 'dd6a691f-099a-4a05-9db8-a521b724c1b0' -DEBUG: msrest.http_logger : 'x-ms-routing-request-id': 'NORTHCENTRALUS:20171209T052244Z:dd6a691f-099a-4a05-9db8-a521b724c1b0' -DEBUG: msrest.http_logger : 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains' -DEBUG: msrest.http_logger : 'Date': 'Sat, 09 Dec 2017 05:22:43 GMT' -DEBUG: msrest.http_logger : 'Content-Length': '140' -DEBUG: msrest.http_logger : Response content: -DEBUG: msrest.http_logger : b'{"status":"Running"}' -DEBUG: Getting management service client client_type=MonitorManagementClient -DEBUG: adal-python : b02f2115-6e4c-4cd2-b252-53549edb9122 - Authority:Performing instance discovery: https://login.microsoftonline.com/52807a8b-794c-4c07-825f-578847e1257e -DEBUG: adal-python : b02f2115-6e4c-4cd2-b252-53549edb9122 - Authority:Performing static instance discovery -DEBUG: adal-python : b02f2115-6e4c-4cd2-b252-53549edb9122 - Authority:Authority validated via static instance discovery -INFO: adal-python : b02f2115-6e4c-4cd2-b252-53549edb9122 - TokenRequest:Getting token from cache with refresh if necessary. -DEBUG: adal-python : b02f2115-6e4c-4cd2-b252-53549edb9122 - OAuth2Client:finding with query: {"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : b02f2115-6e4c-4cd2-b252-53549edb9122 - OAuth2Client:Looking for potential cache entries: -DEBUG: adal-python : b02f2115-6e4c-4cd2-b252-53549edb9122 - OAuth2Client:{"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : b02f2115-6e4c-4cd2-b252-53549edb9122 - OAuth2Client:Found 4 potential entries. -DEBUG: adal-python : b02f2115-6e4c-4cd2-b252-53549edb9122 - OAuth2Client:Resource specific token found. -DEBUG: adal-python : b02f2115-6e4c-4cd2-b252-53549edb9122 - OAuth2Client:Returning token from cache lookup, AccessTokenId: b'kslIbWka8YbxRUy8vLy6JNH7izY8GoVPIpyFsPticn4=', RefreshTokenId: b'ZKVr4cTgxa0EDZ2Kgqem4UHxIsbWBdRNnpWnblHwFnE=' -DEBUG: msrest.pipeline : Configuring request: timeout=100, verify=True, cert=None -DEBUG: msrest.pipeline : Configuring redirects: allow=True, max=30 -DEBUG: msrest.pipeline : Configuring proxies: '' -DEBUG: msrest.pipeline : Evaluate proxies against ENV settings: True -DEBUG: msrest.pipeline : Configuring retry: max_retries=4, backoff_factor=0.8, max_backoff=90 -DEBUG: urllib3.connectionpool : Starting new HTTPS connection (1): management.azure.com -DEBUG: urllib3.connectionpool : https://management.azure.com:443 "GET /subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A22%3A47Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27 HTTP/1.1" 200 None -DEBUG: msrest.http_logger : Request URL: 'https://management.azure.com/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A22%3A47Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27' -DEBUG: msrest.http_logger : Request method: 'GET' -DEBUG: msrest.http_logger : Request headers: -DEBUG: msrest.http_logger : 'User-Agent': 'python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.19 msrest_azure/0.4.17 monitormanagementclient/0.4.0 Azure-SDK-For-Python AZURECLI/2.0.22' -DEBUG: msrest.http_logger : 'Accept-Encoding': 'gzip, deflate' -DEBUG: msrest.http_logger : 'Accept': 'application/json' -DEBUG: msrest.http_logger : 'Connection': 'keep-alive' -DEBUG: msrest.http_logger : 'Authorization': '*****' -DEBUG: msrest.http_logger : 'x-ms-client-request-id': '7538e6de-dca0-11e7-b921-e4b3187aa3c2' -DEBUG: msrest.http_logger : 'CommandName': 'group deployment create' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'accept-language': 'en-US' -DEBUG: msrest.http_logger : Request body: -DEBUG: msrest.http_logger : None -DEBUG: msrest.http_logger : Response status: 200 -DEBUG: msrest.http_logger : Response headers: -DEBUG: msrest.http_logger : 'Cache-Control': 'no-cache' -DEBUG: msrest.http_logger : 'Pragma': 'no-cache' -DEBUG: msrest.http_logger : 'Transfer-Encoding': 'chunked' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'Content-Encoding': 'gzip' -DEBUG: msrest.http_logger : 'Expires': '-1' -DEBUG: msrest.http_logger : 'Vary': 'Accept-Encoding,Accept-Encoding' -DEBUG: msrest.http_logger : 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains' -DEBUG: msrest.http_logger : 'x-ms-request-id': 'EastUS_6ceaba78427d4a0b9c4e9924f8a6c27a_636483937687633360' -DEBUG: msrest.http_logger : 'Server': 'Microsoft-IIS/8.5' -DEBUG: msrest.http_logger : 'x-ms-ratelimit-remaining-subscription-reads': '14933' -DEBUG: msrest.http_logger : 'x-ms-correlation-request-id': 'fe794876-6eae-4935-bd5e-562712bc16df' -DEBUG: msrest.http_logger : 'x-ms-routing-request-id': 'NORTHCENTRALUS:20171209T052248Z:fe794876-6eae-4935-bd5e-562712bc16df' -DEBUG: msrest.http_logger : 'Date': 'Sat, 09 Dec 2017 05:22:48 GMT' -DEBUG: msrest.http_logger : Response content: -DEBUG: msrest.http_logger : b'{"value":[{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"80ac9ea3-7486-42c2-ba69-a66cc2d57253","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"43e46f79-ac18-4e4f-b626-21b8ed2cb289","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1/events/80ac9ea3-7486-42c2-ba69-a66cc2d57253/ticks/636483937404347475","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"bc872941-458a-41d2-abdb-0e71bb41d329","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Created","serviceRequestId":"ba82fb07-8e09-40c9-bd2a-5f6c4eb4c63c"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:22:20.4347475Z","submissionTimestamp":"2017-12-09T05:22:39.8277359Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f743b31b-56b2-4be0-b739-64df8f116cf8","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/f743b31b-56b2-4be0-b739-64df8f116cf8/ticks/636483937399447061","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"f172354a-3d57-4b62-bf9a-f7966c4b2f77","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:19.9447061Z","submissionTimestamp":"2017-12-09T05:22:39.9032731Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"951dce02-98b4-491a-93f8-165828325b12","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0/events/951dce02-98b4-491a-93f8-165828325b12/ticks/636483937394769730","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"cfce0f61-e839-4442-9171-865242d8cfaf","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:19.476973Z","submissionTimestamp":"2017-12-09T05:22:39.9617636Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"67886206-67d6-4c3a-acb0-c4f508841525","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"43e46f79-ac18-4e4f-b626-21b8ed2cb289","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1/events/67886206-67d6-4c3a-acb0-c4f508841525/ticks/636483937393253781","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"bc872941-458a-41d2-abdb-0e71bb41d329","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:19.3253781Z","submissionTimestamp":"2017-12-09T05:22:39.8277359Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3a1f2878-bd44-40af-b28c-5cf261653905","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/3a1f2878-bd44-40af-b28c-5cf261653905/ticks/636483937367361788","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"65265daa-0c52-42bf-8745-a1b5415ab306","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:16.7361788Z","submissionTimestamp":"2017-12-09T05:22:30.0593033Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"e8ac5dac-7625-437b-a00f-ac00d73e738d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0/events/e8ac5dac-7625-437b-a00f-ac00d73e738d/ticks/636483937246792693","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"8ce20380-abec-458e-b6ac-ffc0035d5c9c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:04.6792693Z","submissionTimestamp":"2017-12-09T05:22:20.3877595Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"962936e1-03af-4fe3-9088-c2b6b6e7241a","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/962936e1-03af-4fe3-9088-c2b6b6e7241a/ticks/636483937237581301","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7cc05f54-93e1-4fb6-b74b-356d3be748e4","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:03.7581301Z","submissionTimestamp":"2017-12-09T05:22:20.1548526Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"1a6d6267-532b-4e10-b128-1ca3764743c5","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/1a6d6267-532b-4e10-b128-1ca3764743c5/ticks/636483937228514859","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"0e2b86a4-e606-4866-b8a6-7d037e86a18e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:02.8514859Z","submissionTimestamp":"2017-12-09T05:22:20.5022003Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"49ec54cf-4f14-46d4-bd7e-f246ee8651c1","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5152062e-2c81-4aad-8549-a92d10c33626","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0/events/49ec54cf-4f14-46d4-bd7e-f246ee8651c1/ticks/636483937087255615","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"fbcc9bbb-b699-4b72-89bc-f6f122215474","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Created","serviceRequestId":"256f3de1-7874-4a6e-abd9-12e2a11451da"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:21:48.7255615Z","submissionTimestamp":"2017-12-09T05:22:10.1745201Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"1d8e3d4e-a5e3-443d-a461-dc5794a35d38","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/1d8e3d4e-a5e3-443d-a461-dc5794a35d38/ticks/636483937082212628","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"686d0328-747a-46a4-b72e-a933019bb839","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:48.2212628Z","submissionTimestamp":"2017-12-09T05:21:59.5778305Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"40021681-948f-4ba9-8569-575365b8c50d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/40021681-948f-4ba9-8569-575365b8c50d/ticks/636483937078958824","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"b53779fb-b595-4c81-b2d6-66e1252716f9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:47.8958824Z","submissionTimestamp":"2017-12-09T05:22:00.0185721Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"1c43593f-4ece-40d3-87b0-2dd69ac25a0b","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5152062e-2c81-4aad-8549-a92d10c33626","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0/events/1c43593f-4ece-40d3-87b0-2dd69ac25a0b/ticks/636483937075688138","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"fbcc9bbb-b699-4b72-89bc-f6f122215474","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:47.5688138Z","submissionTimestamp":"2017-12-09T05:21:59.9781196Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b36b44c4-2071-449d-a15c-2a35ef564915","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/b36b44c4-2071-449d-a15c-2a35ef564915/ticks/636483937074586450","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"1aaf4088-f383-4d21-850d-45c40252aeea","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:47.458645Z","submissionTimestamp":"2017-12-09T05:22:00.1040083Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"e2d01640-14bd-42ac-b85e-51bee880bce4","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/e2d01640-14bd-42ac-b85e-51bee880bce4/ticks/636483936927918336","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"ab6c463e-0179-4531-afac-24348d49e94d","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:32.7918336Z","submissionTimestamp":"2017-12-09T05:21:50.3523005Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"a6f2997a-c77e-409f-9f38-0e4689643d49","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/a6f2997a-c77e-409f-9f38-0e4689643d49/ticks/636483936915973109","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"2e12aed4-0ae2-421c-a1aa-48463f7c5eae","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:31.5973109Z","submissionTimestamp":"2017-12-09T05:21:50.1043019Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"faec52ee-ad32-47b3-b19c-9f1c363e9e45","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/faec52ee-ad32-47b3-b19c-9f1c363e9e45/ticks/636483936911518846","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fe6347e6-221d-466f-9241-fc2e9aeb9d9f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:31.1518846Z","submissionTimestamp":"2017-12-09T05:21:50.301343Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"babf2609-61dc-495f-80df-ad433072a19e","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/babf2609-61dc-495f-80df-ad433072a19e/ticks/636483936774315016","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"381f670a-69d7-4ac9-a374-4eb3c2132e5b","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:17.4315016Z","submissionTimestamp":"2017-12-09T05:21:30.4136212Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"56378e6b-714f-4ef1-944c-259ede9dfb43","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/56378e6b-714f-4ef1-944c-259ede9dfb43/ticks/636483936759741086","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"1325bb09-8e5e-4832-a799-dc3766c6b8a2","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:15.9741086Z","submissionTimestamp":"2017-12-09T05:21:30.0927902Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"7f8ed437-3a61-4667-a316-a69d1901fa5d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/7f8ed437-3a61-4667-a316-a69d1901fa5d/ticks/636483936758491013","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"58c7e49d-29e1-4157-8871-dd1bebd42936","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:15.8491013Z","submissionTimestamp":"2017-12-09T05:21:30.0927902Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d7cc4ff6-ae5a-4247-9b8b-3e5e8c6d7218","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/d7cc4ff6-ae5a-4247-9b8b-3e5e8c6d7218/ticks/636483936615161642","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"d5f1fa4d-c3fc-42f1-aa60-dc57da5b9a25","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:01.5161642Z","submissionTimestamp":"2017-12-09T05:21:20.0860134Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"4e7a05fa-80af-42f8-bd89-34fd6f8b219f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/4e7a05fa-80af-42f8-bd89-34fd6f8b219f/ticks/636483936604503602","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"f92ed3c9-924d-47d0-8201-48456822b191","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:00.4503602Z","submissionTimestamp":"2017-12-09T05:21:19.6077919Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"5851d2ad-f28b-43f8-920f-07863f548733","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/5851d2ad-f28b-43f8-920f-07863f548733/ticks/636483936601536698","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc7bd08b-866e-48a5-a537-9d4fe78c8e3e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:00.1536698Z","submissionTimestamp":"2017-12-09T05:21:20.0989911Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c63c3a58-6e60-4d0a-8892-88771b5d2d2d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"06aebdda-7a37-4f4e-b766-26b3ea561951","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/c63c3a58-6e60-4d0a-8892-88771b5d2d2d/ticks/636483936458560786","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7e7d2109-9794-4a26-8444-026e9640661c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Created","serviceRequestId":"db62465a-e660-493e-8b3b-286ed8596452"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:20:45.8560786Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d256c2ab-b9ba-43ac-ba8d-bf1b809b8a9b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/d256c2ab-b9ba-43ac-ba8d-bf1b809b8a9b/ticks/636483936448959408","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"0e990a14-1a57-4ea2-8056-47380457fe70","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.8959408Z","submissionTimestamp":"2017-12-09T05:20:59.705539Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"efa72caa-24ef-4463-87bb-dff257d7896e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"06aebdda-7a37-4f4e-b766-26b3ea561951","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/efa72caa-24ef-4463-87bb-dff257d7896e/ticks/636483936445435451","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7e7d2109-9794-4a26-8444-026e9640661c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.5435451Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"078e8afb-ad14-432b-8327-9bd85371586b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/078e8afb-ad14-432b-8327-9bd85371586b/ticks/636483936443716624","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"35936685-5536-4681-a2c1-7882a7d6ea0f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.3716624Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6a34ff92-1bdb-40da-a940-ce61ee3143df","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/6a34ff92-1bdb-40da-a940-ce61ee3143df/ticks/636483936429993173","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"29718454-78c2-40c6-b631-71e4e334bcd8","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:42.9993173Z","submissionTimestamp":"2017-12-09T05:20:59.8731419Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"766d0bab-9165-464a-94ae-105d8dcac708","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/766d0bab-9165-464a-94ae-105d8dcac708/ticks/636483936288958990","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"19b22b89-dd10-4c67-8c2c-4d458a4d51e7","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:28.895899Z","submissionTimestamp":"2017-12-09T05:20:50.0841006Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"e829aaf0-414c-46df-ab69-2d9f62986096","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/e829aaf0-414c-46df-ab69-2d9f62986096/ticks/636483936282577338","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"b2d3aa73-d783-4375-a064-98079cd2edaa","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:28.2577338Z","submissionTimestamp":"2017-12-09T05:20:39.9794141Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"fc96d187-16c7-4ea4-a80c-cb1abe3a938d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/fc96d187-16c7-4ea4-a80c-cb1abe3a938d/ticks/636483936269716382","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"9131a6b1-8c84-4761-85ba-9e155b40ffbe","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:26.9716382Z","submissionTimestamp":"2017-12-09T05:20:40.5339552Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"84e69362-734a-4d01-ad67-d40a51071911","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/84e69362-734a-4d01-ad67-d40a51071911/ticks/636483936133495638","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3931a993-da5d-4ffb-a53f-3725fe41f9b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:13.3495638Z","submissionTimestamp":"2017-12-09T05:20:29.7480002Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"172ee1ce-a08c-4869-808b-aefc97479870","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/172ee1ce-a08c-4869-808b-aefc97479870/ticks/636483936102743029","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3bacb20e-3fc2-4bcf-ad42-67cd9a56ee8e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:10.2743029Z","submissionTimestamp":"2017-12-09T05:20:29.3964496Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c863e3ad-861a-4842-9bed-5d7b5c21f752","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/c863e3ad-861a-4842-9bed-5d7b5c21f752/ticks/636483935975493658","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3c059bde-9ba7-4705-a46a-90f041019563","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:57.5493658Z","submissionTimestamp":"2017-12-09T05:20:10.1148471Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218/ticks/636483935968523897","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"6b4f8ac8-b6be-4676-a1ef-c2efd07639b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:56.8523897Z","submissionTimestamp":"2017-12-09T05:20:10.2353207Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2/ticks/636483935945781875","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"502f330f-757e-492a-bf5d-8b2c1a9c5e87","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:54.5781875Z","submissionTimestamp":"2017-12-09T05:20:09.9808359Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"629517bd-3422-4799-aed0-e76166f332df","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/629517bd-3422-4799-aed0-e76166f332df/ticks/636483935815203536","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"608c44ca-b946-4085-b677-c60b4364cd4f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.5203536Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0a3e8fa0-b1aa-430d-813d-717d9ccaba43","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/0a3e8fa0-b1aa-430d-813d-717d9ccaba43/ticks/636483935813640803","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"e8a78a19-e992-4a15-9b9d-1d396e76841e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.3640803Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f502a53a-bef1-45ce-a64f-3cec67be9e74","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/f502a53a-bef1-45ce-a64f-3cec67be9e74/ticks/636483935785592969","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"934cbf0a-66c3-40ac-83ad-5a900bd0a3ee","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:38.5592969Z","submissionTimestamp":"2017-12-09T05:20:00.1233196Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"76b649ce-1ebe-4dac-89a1-78bd004fbdbe","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/76b649ce-1ebe-4dac-89a1-78bd004fbdbe/ticks/636483935662684070","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"2368e683-ae0d-4e05-93f7-5251dd7859ff"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:26.268407Z","submissionTimestamp":"2017-12-09T05:19:40.0013894Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0/ticks/636483935658854059","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"770228b2-9970-4da2-8bb3-5eb17f427abd"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:25.8854059Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2ef95b9d-6cc9-4eaa-a265-599681ba4120","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/2ef95b9d-6cc9-4eaa-a265-599681ba4120/ticks/636483935628933848","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.8933848Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"fe383666-3d1f-445b-a21a-bfe1cb911e8f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/fe383666-3d1f-445b-a21a-bfe1cb911e8f/ticks/636483935626751699","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"97c87afe-ca58-46e2-8944-72c541d4a229"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.6751699Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"4c47093b-1a6c-422e-be0d-3b610067fa96","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/4c47093b-1a6c-422e-be0d-3b610067fa96/ticks/636483935624715321","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0179ac94-8373-4392-87f6-59dce144ba0a","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"40a6b458-3268-400a-b594-b782474e5613\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.5\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.4715321Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"18a7b81d-bf54-4f62-9028-d2f0d1507d78","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/18a7b81d-bf54-4f62-9028-d2f0d1507d78/ticks/636483935623914480","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.391448Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b6cc422e-578b-40e7-9436-142f9f132b8c","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/b6cc422e-578b-40e7-9436-142f9f132b8c/ticks/636483935619695965","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0488286b-cd93-4ba0-95c2-39b32adf684e","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"6e8dafff-a250-48f1-98f8-81ba6740af90\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.4\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:21.9695965Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1deef98-0832-4f8b-80f9-845dbd487bbd","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/b1deef98-0832-4f8b-80f9-845dbd487bbd/ticks/636483935615187666","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:21.5187666Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0c815960-230e-4117-b401-3fcfbcd9634b","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/0c815960-230e-4117-b401-3fcfbcd9634b/ticks/636483935608915102","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:20.8915102Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3b3a8117-8604-4212-a730-3d8b798b473d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/3b3a8117-8604-4212-a730-3d8b798b473d/ticks/636483935588001992","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:18.8001992Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1b08df7-d8a3-4198-90aa-b6f497d4c3a6","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/b1b08df7-d8a3-4198-90aa-b6f497d4c3a6/ticks/636483935584565023","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"cfbdf455-8659-44f0-a969-ca5c5fff6a82","responseBody":"{\\"name\\":\\"k8s-master-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"287a1f86-dcd9-479b-95f3-855f558519e8\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\",\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}]}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:18.4565023Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"eafa3e8d-bb05-4cbc-831b-515b421feb6c","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/eafa3e8d-bb05-4cbc-831b-515b421feb6c/ticks/636483935576596018","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}],\\"primary\\":true,\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.6596018Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0630ea34-5e08-4df7-806c-5ba277e8ee98","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/0630ea34-5e08-4df7-806c-5ba277e8ee98/ticks/636483935574567301","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"010e332e-ae98-4d7f-8d89-b13bcd67dd82","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.4567301Z","submissionTimestamp":"2017-12-09T05:19:29.9175501Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"23c16967-c5de-434a-883d-9dcbb5cf7910","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/23c16967-c5de-434a-883d-9dcbb5cf7910/ticks/636483935571498862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"9d8c0359-5075-4aa5-9300-41c5abe70457","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.1498862Z","submissionTimestamp":"2017-12-09T05:19:29.9514229Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3637760d-70c1-4541-a66a-eba014903301","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/3637760d-70c1-4541-a66a-eba014903301/ticks/636483935514628368","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"4d2efcf5-cd3f-47e1-87b4-25ee3eb24361","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.4628368Z","submissionTimestamp":"2017-12-09T05:19:29.8886293Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"96b089d0-749d-4278-a2b9-20d010d8eb76","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/96b089d0-749d-4278-a2b9-20d010d8eb76/ticks/636483935512332041","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"properties":{"statusCode":"Created","serviceRequestId":"fcd5a581-c4fa-4f03-9aeb-4aa694a54fbd"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:11.2332041Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"37a4a8ec-5993-4756-881c-7f6fe9d2b415","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/37a4a8ec-5993-4756-881c-7f6fe9d2b415/ticks/636483935510457343","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.0457343Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c0f2181e-829d-4b04-96e6-91d90ffe74c8","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/c0f2181e-829d-4b04-96e6-91d90ffe74c8/ticks/636483935507957703","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"statusCode":"Created","serviceRequestId":"3a931eae-ac9c-414f-b748-d28628f2c996","responseBody":"{\\"name\\":\\"k8s-master-lb-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"type\\":\\"Microsoft.Network/loadBalancers\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"a8c2b30a-7f33-4beb-b9e6-1cfb8b254ef3\\",\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"},\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"idleTimeoutInMinutes\\":5,\\"protocol\\":\\"Tcp\\",\\"loadDistribution\\":\\"Default\\",\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"}}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"protocol\\":\\"Tcp\\",\\"port\\":443,\\"intervalInSeconds\\":5,\\"numberOfProbes\\":2,\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"inboundNatRules\\":[],\\"outboundNatRules\\":[],\\"inboundNatPools\\":[]}}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:10.7957703Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e/ticks/636483935499050370","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\"}],\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"properties\\":{\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"}}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"properties\\":{\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"idleTimeoutInMinutes\\":5,\\"loadDistribution\\":\\"Default\\",\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"},\\"protocol\\":\\"tcp\\"}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"properties\\":{\\"intervalInSeconds\\":\\"5\\",\\"numberOfProbes\\":\\"2\\",\\"port\\":443,\\"protocol\\":\\"tcp\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:09.905037Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"42843e04-3819-4b19-8a25-1ec0a7634855","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/42843e04-3819-4b19-8a25-1ec0a7634855/ticks/636483935462644362","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"statusCode":"Created","serviceRequestId":"73c1ebb8-ec8b-41d5-aaf6-128425b11048","responseBody":"{\\"name\\":\\"k8s-master-ip-fabricnlp9-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\",\\"etag\\":\\"W/\\\\\\"2aece227-86b3-4d07-80e1-505ad9e017b3\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"08ac6d19-b8e9-4187-a993-feb5207a6768\\",\\"publicIPAddressVersion\\":\\"IPv4\\",\\"publicIPAllocationMethod\\":\\"Dynamic\\",\\"idleTimeoutInMinutes\\":4,\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\",\\"fqdn\\":\\"fabricnlp9.eastus.cloudapp.azure.com\\"}},\\"type\\":\\"Microsoft.Network/publicIPAddresses\\"}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:06.2644362Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c961bc1c-adc5-4f0b-a850-02060fdf468f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/c961bc1c-adc5-4f0b-a850-02060fdf468f/ticks/636483935459519543","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"statusCode":"Created","serviceRequestId":"cbec7ef0-5357-4ce4-b2ce-5d79377a7871","responseBody":"{\\"name\\":\\"k8s-master-25033075-nsg\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"type\\":\\"Microsoft.Network/networkSecurityGroups\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"0e94a593-0195-4379-b798-56011f9e1b99\\",\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_ssh\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":101,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_kube_tls\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":100,\\"direction\\":\\"Inbound\\"}}],\\"defaultSecurityRules\\":[{\\"name\\":\\"AllowVnetInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowAzureLoadBalancerInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowAzureLoadBalancerInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from azure load balancer\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"AzureLoadBalancer\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"DenyAllInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all inbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowVnetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"AllowInternetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowInternetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to Internet\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"Internet\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"DenyAllOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all outbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Outbound\\"}}]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9519543Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f7ec8371-3033-467f-923d-2af6b2168b3a","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/f7ec8371-3033-467f-923d-2af6b2168b3a/ticks/636483935459206868","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"statusCode":"Created","serviceRequestId":"2127672f-cb17-4957-a6fa-9c3d112bf86d","responseBody":"{\\"name\\":\\"k8s-master-25033075-routetable\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable\\",\\"etag\\":\\"W/\\\\\\"e999d01a-3925-4d88-90ca-dde1e957723e\\\\\\"\\",\\"type\\":\\"Microsoft.Network/routeTables\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"2c300a3b-6237-4592-9fd0-a7eb3f365a28\\",\\"routes\\":[]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9206868Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2a0e4d77-1830-40c5-993e-af900e4260bb","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/2a0e4d77-1830-40c5-993e-af900e4260bb/ticks/636483935457956862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"e8611b1b-c62b-4d00-b87c-aea3bc210226"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7956862Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b/ticks/636483935457800589","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"570b1876-904b-4e3d-8154-3df414bd0c79"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7800589Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0f57cc09-3d02-401c-8e6e-7bda7cbd950d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/0f57cc09-3d02-401c-8e6e-7bda7cbd950d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"7ca02e9c-635f-488e-bbe3-921f51760a4d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/7ca02e9c-635f-488e-bbe3-921f51760a4d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"519755ef-e484-4243-bfeb-0edde3c8c163","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/519755ef-e484-4243-bfeb-0edde3c8c163/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"direction\\":\\"Inbound\\",\\"priority\\":101,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"direction\\":\\"Inbound\\",\\"priority\\":100,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"79ede4b5-7470-4d12-8d22-bbac17c48a8e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/79ede4b5-7470-4d12-8d22-bbac17c48a8e/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\"},\\"publicIPAllocationMethod\\":\\"Dynamic\\"}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d542e1b7-71de-4cde-929d-d1174ea92deb","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/d542e1b7-71de-4cde-929d-d1174ea92deb/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\"}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"34efd43d-0a0b-47a6-be9e-3e3fd74265ad","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/34efd43d-0a0b-47a6-be9e-3e3fd74265ad/ticks/636483935441012452","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"properties":{"statusCode":"OK","serviceRequestId":null},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:04.1012452Z","submissionTimestamp":"2017-12-09T05:19:19.9694084Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"745490e4-6d74-4e41-ac44-1d5e5b10b68d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/745490e4-6d74-4e41-ac44-1d5e5b10b68d/ticks/636483935404291527","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:00.4291527Z","submissionTimestamp":"2017-12-09T05:19:19.9684077Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"}]}' -INFO: Accepted: cse1 (Microsoft.Compute/virtualMachines/extensions) -DEBUG: Getting management service client client_type=MonitorManagementClient -DEBUG: adal-python : 4833a0d1-d7ce-4542-93b8-7596589149f5 - Authority:Performing instance discovery: https://login.microsoftonline.com/52807a8b-794c-4c07-825f-578847e1257e -DEBUG: adal-python : 4833a0d1-d7ce-4542-93b8-7596589149f5 - Authority:Performing static instance discovery -DEBUG: adal-python : 4833a0d1-d7ce-4542-93b8-7596589149f5 - Authority:Authority validated via static instance discovery -INFO: adal-python : 4833a0d1-d7ce-4542-93b8-7596589149f5 - TokenRequest:Getting token from cache with refresh if necessary. -DEBUG: adal-python : 4833a0d1-d7ce-4542-93b8-7596589149f5 - OAuth2Client:finding with query: {"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 4833a0d1-d7ce-4542-93b8-7596589149f5 - OAuth2Client:Looking for potential cache entries: -DEBUG: adal-python : 4833a0d1-d7ce-4542-93b8-7596589149f5 - OAuth2Client:{"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 4833a0d1-d7ce-4542-93b8-7596589149f5 - OAuth2Client:Found 4 potential entries. -DEBUG: adal-python : 4833a0d1-d7ce-4542-93b8-7596589149f5 - OAuth2Client:Resource specific token found. -DEBUG: adal-python : 4833a0d1-d7ce-4542-93b8-7596589149f5 - OAuth2Client:Returning token from cache lookup, AccessTokenId: b'kslIbWka8YbxRUy8vLy6JNH7izY8GoVPIpyFsPticn4=', RefreshTokenId: b'ZKVr4cTgxa0EDZ2Kgqem4UHxIsbWBdRNnpWnblHwFnE=' -DEBUG: msrest.pipeline : Configuring request: timeout=100, verify=True, cert=None -DEBUG: msrest.pipeline : Configuring redirects: allow=True, max=30 -DEBUG: msrest.pipeline : Configuring proxies: '' -DEBUG: msrest.pipeline : Evaluate proxies against ENV settings: True -DEBUG: msrest.pipeline : Configuring retry: max_retries=4, backoff_factor=0.8, max_backoff=90 -DEBUG: urllib3.connectionpool : Starting new HTTPS connection (1): management.azure.com -DEBUG: urllib3.connectionpool : https://management.azure.com:443 "GET /subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A22%3A58Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27 HTTP/1.1" 200 None -DEBUG: msrest.http_logger : Request URL: 'https://management.azure.com/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A22%3A58Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27' -DEBUG: msrest.http_logger : Request method: 'GET' -DEBUG: msrest.http_logger : Request headers: -DEBUG: msrest.http_logger : 'User-Agent': 'python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.19 msrest_azure/0.4.17 monitormanagementclient/0.4.0 Azure-SDK-For-Python AZURECLI/2.0.22' -DEBUG: msrest.http_logger : 'Accept-Encoding': 'gzip, deflate' -DEBUG: msrest.http_logger : 'Accept': 'application/json' -DEBUG: msrest.http_logger : 'Connection': 'keep-alive' -DEBUG: msrest.http_logger : 'Authorization': '*****' -DEBUG: msrest.http_logger : 'x-ms-client-request-id': '7538e6de-dca0-11e7-b921-e4b3187aa3c2' -DEBUG: msrest.http_logger : 'CommandName': 'group deployment create' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'accept-language': 'en-US' -DEBUG: msrest.http_logger : Request body: -DEBUG: msrest.http_logger : None -DEBUG: msrest.http_logger : Response status: 200 -DEBUG: msrest.http_logger : Response headers: -DEBUG: msrest.http_logger : 'Cache-Control': 'no-cache' -DEBUG: msrest.http_logger : 'Pragma': 'no-cache' -DEBUG: msrest.http_logger : 'Transfer-Encoding': 'chunked' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'Content-Encoding': 'gzip' -DEBUG: msrest.http_logger : 'Expires': '-1' -DEBUG: msrest.http_logger : 'Vary': 'Accept-Encoding,Accept-Encoding' -DEBUG: msrest.http_logger : 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains' -DEBUG: msrest.http_logger : 'x-ms-request-id': 'EastUS_2d6225f0ced14714a0244a5c70732de1_636483937787339406' -DEBUG: msrest.http_logger : 'Server': 'Microsoft-IIS/8.5' -DEBUG: msrest.http_logger : 'x-ms-ratelimit-remaining-subscription-reads': '14890' -DEBUG: msrest.http_logger : 'x-ms-correlation-request-id': 'ce0b3507-00f8-4305-ad0c-a35518cbc297' -DEBUG: msrest.http_logger : 'x-ms-routing-request-id': 'NORTHCENTRALUS:20171209T052259Z:ce0b3507-00f8-4305-ad0c-a35518cbc297' -DEBUG: msrest.http_logger : 'Date': 'Sat, 09 Dec 2017 05:22:59 GMT' -DEBUG: msrest.http_logger : Response content: -DEBUG: msrest.http_logger : b'{"value":[{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b0e4cb48-bf5b-4b06-8c0a-9143a0d4fcb3","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/b0e4cb48-bf5b-4b06-8c0a-9143a0d4fcb3/ticks/636483937576423377","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"3efa233d-8f27-4efa-b064-677b7b67bc67","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:37.6423377Z","submissionTimestamp":"2017-12-09T05:22:49.60389Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"dc9394ac-67c4-41ec-9ddb-73846e21d7ce","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1/events/dc9394ac-67c4-41ec-9ddb-73846e21d7ce/ticks/636483937560570872","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"bd23822b-5c10-4c58-a78f-631e647e78a0","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:36.0570872Z","submissionTimestamp":"2017-12-09T05:22:50.0088228Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"80ac9ea3-7486-42c2-ba69-a66cc2d57253","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"43e46f79-ac18-4e4f-b626-21b8ed2cb289","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1/events/80ac9ea3-7486-42c2-ba69-a66cc2d57253/ticks/636483937404347475","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"bc872941-458a-41d2-abdb-0e71bb41d329","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Created","serviceRequestId":"ba82fb07-8e09-40c9-bd2a-5f6c4eb4c63c"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:22:20.4347475Z","submissionTimestamp":"2017-12-09T05:22:39.8277359Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f743b31b-56b2-4be0-b739-64df8f116cf8","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/f743b31b-56b2-4be0-b739-64df8f116cf8/ticks/636483937399447061","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"f172354a-3d57-4b62-bf9a-f7966c4b2f77","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:19.9447061Z","submissionTimestamp":"2017-12-09T05:22:39.9032731Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"951dce02-98b4-491a-93f8-165828325b12","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0/events/951dce02-98b4-491a-93f8-165828325b12/ticks/636483937394769730","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"cfce0f61-e839-4442-9171-865242d8cfaf","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:19.476973Z","submissionTimestamp":"2017-12-09T05:22:39.9617636Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"67886206-67d6-4c3a-acb0-c4f508841525","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"43e46f79-ac18-4e4f-b626-21b8ed2cb289","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1/events/67886206-67d6-4c3a-acb0-c4f508841525/ticks/636483937393253781","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"bc872941-458a-41d2-abdb-0e71bb41d329","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:19.3253781Z","submissionTimestamp":"2017-12-09T05:22:39.8277359Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3a1f2878-bd44-40af-b28c-5cf261653905","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/3a1f2878-bd44-40af-b28c-5cf261653905/ticks/636483937367361788","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"65265daa-0c52-42bf-8745-a1b5415ab306","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:16.7361788Z","submissionTimestamp":"2017-12-09T05:22:30.0593033Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"e8ac5dac-7625-437b-a00f-ac00d73e738d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0/events/e8ac5dac-7625-437b-a00f-ac00d73e738d/ticks/636483937246792693","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"8ce20380-abec-458e-b6ac-ffc0035d5c9c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:04.6792693Z","submissionTimestamp":"2017-12-09T05:22:20.3877595Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"962936e1-03af-4fe3-9088-c2b6b6e7241a","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/962936e1-03af-4fe3-9088-c2b6b6e7241a/ticks/636483937237581301","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7cc05f54-93e1-4fb6-b74b-356d3be748e4","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:03.7581301Z","submissionTimestamp":"2017-12-09T05:22:20.1548526Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"1a6d6267-532b-4e10-b128-1ca3764743c5","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/1a6d6267-532b-4e10-b128-1ca3764743c5/ticks/636483937228514859","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"0e2b86a4-e606-4866-b8a6-7d037e86a18e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:02.8514859Z","submissionTimestamp":"2017-12-09T05:22:20.5022003Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"49ec54cf-4f14-46d4-bd7e-f246ee8651c1","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5152062e-2c81-4aad-8549-a92d10c33626","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0/events/49ec54cf-4f14-46d4-bd7e-f246ee8651c1/ticks/636483937087255615","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"fbcc9bbb-b699-4b72-89bc-f6f122215474","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Created","serviceRequestId":"256f3de1-7874-4a6e-abd9-12e2a11451da"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:21:48.7255615Z","submissionTimestamp":"2017-12-09T05:22:10.1745201Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"1d8e3d4e-a5e3-443d-a461-dc5794a35d38","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/1d8e3d4e-a5e3-443d-a461-dc5794a35d38/ticks/636483937082212628","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"686d0328-747a-46a4-b72e-a933019bb839","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:48.2212628Z","submissionTimestamp":"2017-12-09T05:21:59.5778305Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"40021681-948f-4ba9-8569-575365b8c50d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/40021681-948f-4ba9-8569-575365b8c50d/ticks/636483937078958824","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"b53779fb-b595-4c81-b2d6-66e1252716f9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:47.8958824Z","submissionTimestamp":"2017-12-09T05:22:00.0185721Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"1c43593f-4ece-40d3-87b0-2dd69ac25a0b","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5152062e-2c81-4aad-8549-a92d10c33626","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0/events/1c43593f-4ece-40d3-87b0-2dd69ac25a0b/ticks/636483937075688138","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"fbcc9bbb-b699-4b72-89bc-f6f122215474","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:47.5688138Z","submissionTimestamp":"2017-12-09T05:21:59.9781196Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b36b44c4-2071-449d-a15c-2a35ef564915","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/b36b44c4-2071-449d-a15c-2a35ef564915/ticks/636483937074586450","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"1aaf4088-f383-4d21-850d-45c40252aeea","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:47.458645Z","submissionTimestamp":"2017-12-09T05:22:00.1040083Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"e2d01640-14bd-42ac-b85e-51bee880bce4","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/e2d01640-14bd-42ac-b85e-51bee880bce4/ticks/636483936927918336","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"ab6c463e-0179-4531-afac-24348d49e94d","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:32.7918336Z","submissionTimestamp":"2017-12-09T05:21:50.3523005Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"a6f2997a-c77e-409f-9f38-0e4689643d49","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/a6f2997a-c77e-409f-9f38-0e4689643d49/ticks/636483936915973109","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"2e12aed4-0ae2-421c-a1aa-48463f7c5eae","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:31.5973109Z","submissionTimestamp":"2017-12-09T05:21:50.1043019Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"faec52ee-ad32-47b3-b19c-9f1c363e9e45","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/faec52ee-ad32-47b3-b19c-9f1c363e9e45/ticks/636483936911518846","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fe6347e6-221d-466f-9241-fc2e9aeb9d9f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:31.1518846Z","submissionTimestamp":"2017-12-09T05:21:50.301343Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"babf2609-61dc-495f-80df-ad433072a19e","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/babf2609-61dc-495f-80df-ad433072a19e/ticks/636483936774315016","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"381f670a-69d7-4ac9-a374-4eb3c2132e5b","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:17.4315016Z","submissionTimestamp":"2017-12-09T05:21:30.4136212Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"56378e6b-714f-4ef1-944c-259ede9dfb43","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/56378e6b-714f-4ef1-944c-259ede9dfb43/ticks/636483936759741086","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"1325bb09-8e5e-4832-a799-dc3766c6b8a2","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:15.9741086Z","submissionTimestamp":"2017-12-09T05:21:30.0927902Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"7f8ed437-3a61-4667-a316-a69d1901fa5d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/7f8ed437-3a61-4667-a316-a69d1901fa5d/ticks/636483936758491013","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"58c7e49d-29e1-4157-8871-dd1bebd42936","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:15.8491013Z","submissionTimestamp":"2017-12-09T05:21:30.0927902Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d7cc4ff6-ae5a-4247-9b8b-3e5e8c6d7218","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/d7cc4ff6-ae5a-4247-9b8b-3e5e8c6d7218/ticks/636483936615161642","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"d5f1fa4d-c3fc-42f1-aa60-dc57da5b9a25","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:01.5161642Z","submissionTimestamp":"2017-12-09T05:21:20.0860134Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"4e7a05fa-80af-42f8-bd89-34fd6f8b219f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/4e7a05fa-80af-42f8-bd89-34fd6f8b219f/ticks/636483936604503602","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"f92ed3c9-924d-47d0-8201-48456822b191","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:00.4503602Z","submissionTimestamp":"2017-12-09T05:21:19.6077919Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"5851d2ad-f28b-43f8-920f-07863f548733","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/5851d2ad-f28b-43f8-920f-07863f548733/ticks/636483936601536698","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc7bd08b-866e-48a5-a537-9d4fe78c8e3e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:00.1536698Z","submissionTimestamp":"2017-12-09T05:21:20.0989911Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c63c3a58-6e60-4d0a-8892-88771b5d2d2d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"06aebdda-7a37-4f4e-b766-26b3ea561951","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/c63c3a58-6e60-4d0a-8892-88771b5d2d2d/ticks/636483936458560786","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7e7d2109-9794-4a26-8444-026e9640661c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Created","serviceRequestId":"db62465a-e660-493e-8b3b-286ed8596452"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:20:45.8560786Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d256c2ab-b9ba-43ac-ba8d-bf1b809b8a9b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/d256c2ab-b9ba-43ac-ba8d-bf1b809b8a9b/ticks/636483936448959408","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"0e990a14-1a57-4ea2-8056-47380457fe70","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.8959408Z","submissionTimestamp":"2017-12-09T05:20:59.705539Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"efa72caa-24ef-4463-87bb-dff257d7896e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"06aebdda-7a37-4f4e-b766-26b3ea561951","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/efa72caa-24ef-4463-87bb-dff257d7896e/ticks/636483936445435451","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7e7d2109-9794-4a26-8444-026e9640661c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.5435451Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"078e8afb-ad14-432b-8327-9bd85371586b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/078e8afb-ad14-432b-8327-9bd85371586b/ticks/636483936443716624","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"35936685-5536-4681-a2c1-7882a7d6ea0f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.3716624Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6a34ff92-1bdb-40da-a940-ce61ee3143df","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/6a34ff92-1bdb-40da-a940-ce61ee3143df/ticks/636483936429993173","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"29718454-78c2-40c6-b631-71e4e334bcd8","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:42.9993173Z","submissionTimestamp":"2017-12-09T05:20:59.8731419Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"766d0bab-9165-464a-94ae-105d8dcac708","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/766d0bab-9165-464a-94ae-105d8dcac708/ticks/636483936288958990","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"19b22b89-dd10-4c67-8c2c-4d458a4d51e7","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:28.895899Z","submissionTimestamp":"2017-12-09T05:20:50.0841006Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"e829aaf0-414c-46df-ab69-2d9f62986096","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/e829aaf0-414c-46df-ab69-2d9f62986096/ticks/636483936282577338","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"b2d3aa73-d783-4375-a064-98079cd2edaa","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:28.2577338Z","submissionTimestamp":"2017-12-09T05:20:39.9794141Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"fc96d187-16c7-4ea4-a80c-cb1abe3a938d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/fc96d187-16c7-4ea4-a80c-cb1abe3a938d/ticks/636483936269716382","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"9131a6b1-8c84-4761-85ba-9e155b40ffbe","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:26.9716382Z","submissionTimestamp":"2017-12-09T05:20:40.5339552Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"84e69362-734a-4d01-ad67-d40a51071911","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/84e69362-734a-4d01-ad67-d40a51071911/ticks/636483936133495638","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3931a993-da5d-4ffb-a53f-3725fe41f9b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:13.3495638Z","submissionTimestamp":"2017-12-09T05:20:29.7480002Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"172ee1ce-a08c-4869-808b-aefc97479870","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/172ee1ce-a08c-4869-808b-aefc97479870/ticks/636483936102743029","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3bacb20e-3fc2-4bcf-ad42-67cd9a56ee8e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:10.2743029Z","submissionTimestamp":"2017-12-09T05:20:29.3964496Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c863e3ad-861a-4842-9bed-5d7b5c21f752","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/c863e3ad-861a-4842-9bed-5d7b5c21f752/ticks/636483935975493658","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3c059bde-9ba7-4705-a46a-90f041019563","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:57.5493658Z","submissionTimestamp":"2017-12-09T05:20:10.1148471Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218/ticks/636483935968523897","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"6b4f8ac8-b6be-4676-a1ef-c2efd07639b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:56.8523897Z","submissionTimestamp":"2017-12-09T05:20:10.2353207Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2/ticks/636483935945781875","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"502f330f-757e-492a-bf5d-8b2c1a9c5e87","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:54.5781875Z","submissionTimestamp":"2017-12-09T05:20:09.9808359Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"629517bd-3422-4799-aed0-e76166f332df","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/629517bd-3422-4799-aed0-e76166f332df/ticks/636483935815203536","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"608c44ca-b946-4085-b677-c60b4364cd4f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.5203536Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0a3e8fa0-b1aa-430d-813d-717d9ccaba43","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/0a3e8fa0-b1aa-430d-813d-717d9ccaba43/ticks/636483935813640803","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"e8a78a19-e992-4a15-9b9d-1d396e76841e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.3640803Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f502a53a-bef1-45ce-a64f-3cec67be9e74","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/f502a53a-bef1-45ce-a64f-3cec67be9e74/ticks/636483935785592969","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"934cbf0a-66c3-40ac-83ad-5a900bd0a3ee","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:38.5592969Z","submissionTimestamp":"2017-12-09T05:20:00.1233196Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"76b649ce-1ebe-4dac-89a1-78bd004fbdbe","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/76b649ce-1ebe-4dac-89a1-78bd004fbdbe/ticks/636483935662684070","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"2368e683-ae0d-4e05-93f7-5251dd7859ff"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:26.268407Z","submissionTimestamp":"2017-12-09T05:19:40.0013894Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0/ticks/636483935658854059","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"770228b2-9970-4da2-8bb3-5eb17f427abd"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:25.8854059Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2ef95b9d-6cc9-4eaa-a265-599681ba4120","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/2ef95b9d-6cc9-4eaa-a265-599681ba4120/ticks/636483935628933848","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.8933848Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"fe383666-3d1f-445b-a21a-bfe1cb911e8f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/fe383666-3d1f-445b-a21a-bfe1cb911e8f/ticks/636483935626751699","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"97c87afe-ca58-46e2-8944-72c541d4a229"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.6751699Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"4c47093b-1a6c-422e-be0d-3b610067fa96","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/4c47093b-1a6c-422e-be0d-3b610067fa96/ticks/636483935624715321","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0179ac94-8373-4392-87f6-59dce144ba0a","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"40a6b458-3268-400a-b594-b782474e5613\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.5\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.4715321Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"18a7b81d-bf54-4f62-9028-d2f0d1507d78","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/18a7b81d-bf54-4f62-9028-d2f0d1507d78/ticks/636483935623914480","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.391448Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b6cc422e-578b-40e7-9436-142f9f132b8c","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/b6cc422e-578b-40e7-9436-142f9f132b8c/ticks/636483935619695965","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0488286b-cd93-4ba0-95c2-39b32adf684e","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"6e8dafff-a250-48f1-98f8-81ba6740af90\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.4\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:21.9695965Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1deef98-0832-4f8b-80f9-845dbd487bbd","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/b1deef98-0832-4f8b-80f9-845dbd487bbd/ticks/636483935615187666","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:21.5187666Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0c815960-230e-4117-b401-3fcfbcd9634b","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/0c815960-230e-4117-b401-3fcfbcd9634b/ticks/636483935608915102","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:20.8915102Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3b3a8117-8604-4212-a730-3d8b798b473d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/3b3a8117-8604-4212-a730-3d8b798b473d/ticks/636483935588001992","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:18.8001992Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1b08df7-d8a3-4198-90aa-b6f497d4c3a6","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/b1b08df7-d8a3-4198-90aa-b6f497d4c3a6/ticks/636483935584565023","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"cfbdf455-8659-44f0-a969-ca5c5fff6a82","responseBody":"{\\"name\\":\\"k8s-master-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"287a1f86-dcd9-479b-95f3-855f558519e8\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\",\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}]}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:18.4565023Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"eafa3e8d-bb05-4cbc-831b-515b421feb6c","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/eafa3e8d-bb05-4cbc-831b-515b421feb6c/ticks/636483935576596018","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}],\\"primary\\":true,\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.6596018Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0630ea34-5e08-4df7-806c-5ba277e8ee98","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/0630ea34-5e08-4df7-806c-5ba277e8ee98/ticks/636483935574567301","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"010e332e-ae98-4d7f-8d89-b13bcd67dd82","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.4567301Z","submissionTimestamp":"2017-12-09T05:19:29.9175501Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"23c16967-c5de-434a-883d-9dcbb5cf7910","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/23c16967-c5de-434a-883d-9dcbb5cf7910/ticks/636483935571498862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"9d8c0359-5075-4aa5-9300-41c5abe70457","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.1498862Z","submissionTimestamp":"2017-12-09T05:19:29.9514229Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3637760d-70c1-4541-a66a-eba014903301","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/3637760d-70c1-4541-a66a-eba014903301/ticks/636483935514628368","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"4d2efcf5-cd3f-47e1-87b4-25ee3eb24361","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.4628368Z","submissionTimestamp":"2017-12-09T05:19:29.8886293Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"96b089d0-749d-4278-a2b9-20d010d8eb76","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/96b089d0-749d-4278-a2b9-20d010d8eb76/ticks/636483935512332041","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"properties":{"statusCode":"Created","serviceRequestId":"fcd5a581-c4fa-4f03-9aeb-4aa694a54fbd"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:11.2332041Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"37a4a8ec-5993-4756-881c-7f6fe9d2b415","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/37a4a8ec-5993-4756-881c-7f6fe9d2b415/ticks/636483935510457343","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.0457343Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c0f2181e-829d-4b04-96e6-91d90ffe74c8","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/c0f2181e-829d-4b04-96e6-91d90ffe74c8/ticks/636483935507957703","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"statusCode":"Created","serviceRequestId":"3a931eae-ac9c-414f-b748-d28628f2c996","responseBody":"{\\"name\\":\\"k8s-master-lb-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"type\\":\\"Microsoft.Network/loadBalancers\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"a8c2b30a-7f33-4beb-b9e6-1cfb8b254ef3\\",\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"},\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"idleTimeoutInMinutes\\":5,\\"protocol\\":\\"Tcp\\",\\"loadDistribution\\":\\"Default\\",\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"}}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"protocol\\":\\"Tcp\\",\\"port\\":443,\\"intervalInSeconds\\":5,\\"numberOfProbes\\":2,\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"inboundNatRules\\":[],\\"outboundNatRules\\":[],\\"inboundNatPools\\":[]}}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:10.7957703Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e/ticks/636483935499050370","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\"}],\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"properties\\":{\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"}}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"properties\\":{\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"idleTimeoutInMinutes\\":5,\\"loadDistribution\\":\\"Default\\",\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"},\\"protocol\\":\\"tcp\\"}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"properties\\":{\\"intervalInSeconds\\":\\"5\\",\\"numberOfProbes\\":\\"2\\",\\"port\\":443,\\"protocol\\":\\"tcp\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:09.905037Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"42843e04-3819-4b19-8a25-1ec0a7634855","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/42843e04-3819-4b19-8a25-1ec0a7634855/ticks/636483935462644362","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"statusCode":"Created","serviceRequestId":"73c1ebb8-ec8b-41d5-aaf6-128425b11048","responseBody":"{\\"name\\":\\"k8s-master-ip-fabricnlp9-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\",\\"etag\\":\\"W/\\\\\\"2aece227-86b3-4d07-80e1-505ad9e017b3\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"08ac6d19-b8e9-4187-a993-feb5207a6768\\",\\"publicIPAddressVersion\\":\\"IPv4\\",\\"publicIPAllocationMethod\\":\\"Dynamic\\",\\"idleTimeoutInMinutes\\":4,\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\",\\"fqdn\\":\\"fabricnlp9.eastus.cloudapp.azure.com\\"}},\\"type\\":\\"Microsoft.Network/publicIPAddresses\\"}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:06.2644362Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c961bc1c-adc5-4f0b-a850-02060fdf468f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/c961bc1c-adc5-4f0b-a850-02060fdf468f/ticks/636483935459519543","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"statusCode":"Created","serviceRequestId":"cbec7ef0-5357-4ce4-b2ce-5d79377a7871","responseBody":"{\\"name\\":\\"k8s-master-25033075-nsg\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"type\\":\\"Microsoft.Network/networkSecurityGroups\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"0e94a593-0195-4379-b798-56011f9e1b99\\",\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_ssh\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":101,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_kube_tls\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":100,\\"direction\\":\\"Inbound\\"}}],\\"defaultSecurityRules\\":[{\\"name\\":\\"AllowVnetInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowAzureLoadBalancerInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowAzureLoadBalancerInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from azure load balancer\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"AzureLoadBalancer\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"DenyAllInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all inbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowVnetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"AllowInternetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowInternetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to Internet\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"Internet\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"DenyAllOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all outbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Outbound\\"}}]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9519543Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f7ec8371-3033-467f-923d-2af6b2168b3a","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/f7ec8371-3033-467f-923d-2af6b2168b3a/ticks/636483935459206868","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"statusCode":"Created","serviceRequestId":"2127672f-cb17-4957-a6fa-9c3d112bf86d","responseBody":"{\\"name\\":\\"k8s-master-25033075-routetable\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable\\",\\"etag\\":\\"W/\\\\\\"e999d01a-3925-4d88-90ca-dde1e957723e\\\\\\"\\",\\"type\\":\\"Microsoft.Network/routeTables\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"2c300a3b-6237-4592-9fd0-a7eb3f365a28\\",\\"routes\\":[]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9206868Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2a0e4d77-1830-40c5-993e-af900e4260bb","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/2a0e4d77-1830-40c5-993e-af900e4260bb/ticks/636483935457956862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"e8611b1b-c62b-4d00-b87c-aea3bc210226"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7956862Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b/ticks/636483935457800589","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"570b1876-904b-4e3d-8154-3df414bd0c79"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7800589Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0f57cc09-3d02-401c-8e6e-7bda7cbd950d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/0f57cc09-3d02-401c-8e6e-7bda7cbd950d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"7ca02e9c-635f-488e-bbe3-921f51760a4d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/7ca02e9c-635f-488e-bbe3-921f51760a4d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"519755ef-e484-4243-bfeb-0edde3c8c163","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/519755ef-e484-4243-bfeb-0edde3c8c163/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"direction\\":\\"Inbound\\",\\"priority\\":101,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"direction\\":\\"Inbound\\",\\"priority\\":100,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"79ede4b5-7470-4d12-8d22-bbac17c48a8e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/79ede4b5-7470-4d12-8d22-bbac17c48a8e/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\"},\\"publicIPAllocationMethod\\":\\"Dynamic\\"}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d542e1b7-71de-4cde-929d-d1174ea92deb","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/d542e1b7-71de-4cde-929d-d1174ea92deb/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\"}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"34efd43d-0a0b-47a6-be9e-3e3fd74265ad","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/34efd43d-0a0b-47a6-be9e-3e3fd74265ad/ticks/636483935441012452","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"properties":{"statusCode":"OK","serviceRequestId":null},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:04.1012452Z","submissionTimestamp":"2017-12-09T05:19:19.9694084Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"745490e4-6d74-4e41-ac44-1d5e5b10b68d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/745490e4-6d74-4e41-ac44-1d5e5b10b68d/ticks/636483935404291527","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:00.4291527Z","submissionTimestamp":"2017-12-09T05:19:19.9684077Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"}]}' -INFO: Accepted: cse1 (Microsoft.Compute/virtualMachines/extensions) -DEBUG: Getting management service client client_type=MonitorManagementClient -DEBUG: adal-python : 608289d6-191d-4e2c-88ef-2fe384aa0d56 - Authority:Performing instance discovery: https://login.microsoftonline.com/52807a8b-794c-4c07-825f-578847e1257e -DEBUG: adal-python : 608289d6-191d-4e2c-88ef-2fe384aa0d56 - Authority:Performing static instance discovery -DEBUG: adal-python : 608289d6-191d-4e2c-88ef-2fe384aa0d56 - Authority:Authority validated via static instance discovery -INFO: adal-python : 608289d6-191d-4e2c-88ef-2fe384aa0d56 - TokenRequest:Getting token from cache with refresh if necessary. -DEBUG: adal-python : 608289d6-191d-4e2c-88ef-2fe384aa0d56 - OAuth2Client:finding with query: {"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 608289d6-191d-4e2c-88ef-2fe384aa0d56 - OAuth2Client:Looking for potential cache entries: -DEBUG: adal-python : 608289d6-191d-4e2c-88ef-2fe384aa0d56 - OAuth2Client:{"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 608289d6-191d-4e2c-88ef-2fe384aa0d56 - OAuth2Client:Found 4 potential entries. -DEBUG: adal-python : 608289d6-191d-4e2c-88ef-2fe384aa0d56 - OAuth2Client:Resource specific token found. -DEBUG: adal-python : 608289d6-191d-4e2c-88ef-2fe384aa0d56 - OAuth2Client:Returning token from cache lookup, AccessTokenId: b'kslIbWka8YbxRUy8vLy6JNH7izY8GoVPIpyFsPticn4=', RefreshTokenId: b'ZKVr4cTgxa0EDZ2Kgqem4UHxIsbWBdRNnpWnblHwFnE=' -DEBUG: msrest.pipeline : Configuring request: timeout=100, verify=True, cert=None -DEBUG: msrest.pipeline : Configuring redirects: allow=True, max=30 -DEBUG: msrest.pipeline : Configuring proxies: '' -DEBUG: msrest.pipeline : Evaluate proxies against ENV settings: True -DEBUG: msrest.pipeline : Configuring retry: max_retries=4, backoff_factor=0.8, max_backoff=90 -DEBUG: urllib3.connectionpool : Starting new HTTPS connection (1): management.azure.com -DEBUG: urllib3.connectionpool : https://management.azure.com:443 "GET /subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A23%3A08Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27 HTTP/1.1" 200 None -DEBUG: msrest.http_logger : Request URL: 'https://management.azure.com/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A23%3A08Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27' -DEBUG: msrest.http_logger : Request method: 'GET' -DEBUG: msrest.http_logger : Request headers: -DEBUG: msrest.http_logger : 'User-Agent': 'python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.19 msrest_azure/0.4.17 monitormanagementclient/0.4.0 Azure-SDK-For-Python AZURECLI/2.0.22' -DEBUG: msrest.http_logger : 'Accept-Encoding': 'gzip, deflate' -DEBUG: msrest.http_logger : 'Accept': 'application/json' -DEBUG: msrest.http_logger : 'Connection': 'keep-alive' -DEBUG: msrest.http_logger : 'Authorization': '*****' -DEBUG: msrest.http_logger : 'x-ms-client-request-id': '7538e6de-dca0-11e7-b921-e4b3187aa3c2' -DEBUG: msrest.http_logger : 'CommandName': 'group deployment create' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'accept-language': 'en-US' -DEBUG: msrest.http_logger : Request body: -DEBUG: msrest.http_logger : None -DEBUG: msrest.http_logger : Response status: 200 -DEBUG: msrest.http_logger : Response headers: -DEBUG: msrest.http_logger : 'Cache-Control': 'no-cache' -DEBUG: msrest.http_logger : 'Pragma': 'no-cache' -DEBUG: msrest.http_logger : 'Transfer-Encoding': 'chunked' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'Content-Encoding': 'gzip' -DEBUG: msrest.http_logger : 'Expires': '-1' -DEBUG: msrest.http_logger : 'Vary': 'Accept-Encoding,Accept-Encoding' -DEBUG: msrest.http_logger : 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains' -DEBUG: msrest.http_logger : 'x-ms-request-id': 'EastUS_2319de338ed84fe1800b189e5bc5fbeb_636483937892044959' -DEBUG: msrest.http_logger : 'Server': 'Microsoft-IIS/8.5' -DEBUG: msrest.http_logger : 'x-ms-ratelimit-remaining-subscription-reads': '14846' -DEBUG: msrest.http_logger : 'x-ms-correlation-request-id': 'bf4ce9c0-2413-4ac8-aff0-237972f0e448' -DEBUG: msrest.http_logger : 'x-ms-routing-request-id': 'NORTHCENTRALUS:20171209T052309Z:bf4ce9c0-2413-4ac8-aff0-237972f0e448' -DEBUG: msrest.http_logger : 'Date': 'Sat, 09 Dec 2017 05:23:08 GMT' -DEBUG: msrest.http_logger : Response content: -DEBUG: msrest.http_logger : b'{"value":[{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b0e4cb48-bf5b-4b06-8c0a-9143a0d4fcb3","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/b0e4cb48-bf5b-4b06-8c0a-9143a0d4fcb3/ticks/636483937576423377","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"3efa233d-8f27-4efa-b064-677b7b67bc67","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:37.6423377Z","submissionTimestamp":"2017-12-09T05:22:49.60389Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"dc9394ac-67c4-41ec-9ddb-73846e21d7ce","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1/events/dc9394ac-67c4-41ec-9ddb-73846e21d7ce/ticks/636483937560570872","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"bd23822b-5c10-4c58-a78f-631e647e78a0","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:36.0570872Z","submissionTimestamp":"2017-12-09T05:22:50.0088228Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"80ac9ea3-7486-42c2-ba69-a66cc2d57253","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"43e46f79-ac18-4e4f-b626-21b8ed2cb289","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1/events/80ac9ea3-7486-42c2-ba69-a66cc2d57253/ticks/636483937404347475","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"bc872941-458a-41d2-abdb-0e71bb41d329","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Created","serviceRequestId":"ba82fb07-8e09-40c9-bd2a-5f6c4eb4c63c"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:22:20.4347475Z","submissionTimestamp":"2017-12-09T05:22:39.8277359Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f743b31b-56b2-4be0-b739-64df8f116cf8","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/f743b31b-56b2-4be0-b739-64df8f116cf8/ticks/636483937399447061","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"f172354a-3d57-4b62-bf9a-f7966c4b2f77","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:19.9447061Z","submissionTimestamp":"2017-12-09T05:22:39.9032731Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"951dce02-98b4-491a-93f8-165828325b12","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0/events/951dce02-98b4-491a-93f8-165828325b12/ticks/636483937394769730","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"cfce0f61-e839-4442-9171-865242d8cfaf","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:19.476973Z","submissionTimestamp":"2017-12-09T05:22:39.9617636Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"67886206-67d6-4c3a-acb0-c4f508841525","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"43e46f79-ac18-4e4f-b626-21b8ed2cb289","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1/events/67886206-67d6-4c3a-acb0-c4f508841525/ticks/636483937393253781","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"bc872941-458a-41d2-abdb-0e71bb41d329","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:19.3253781Z","submissionTimestamp":"2017-12-09T05:22:39.8277359Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3a1f2878-bd44-40af-b28c-5cf261653905","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/3a1f2878-bd44-40af-b28c-5cf261653905/ticks/636483937367361788","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"65265daa-0c52-42bf-8745-a1b5415ab306","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:16.7361788Z","submissionTimestamp":"2017-12-09T05:22:30.0593033Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"e8ac5dac-7625-437b-a00f-ac00d73e738d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0/events/e8ac5dac-7625-437b-a00f-ac00d73e738d/ticks/636483937246792693","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"8ce20380-abec-458e-b6ac-ffc0035d5c9c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:04.6792693Z","submissionTimestamp":"2017-12-09T05:22:20.3877595Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"962936e1-03af-4fe3-9088-c2b6b6e7241a","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/962936e1-03af-4fe3-9088-c2b6b6e7241a/ticks/636483937237581301","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7cc05f54-93e1-4fb6-b74b-356d3be748e4","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:03.7581301Z","submissionTimestamp":"2017-12-09T05:22:20.1548526Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"1a6d6267-532b-4e10-b128-1ca3764743c5","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/1a6d6267-532b-4e10-b128-1ca3764743c5/ticks/636483937228514859","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"0e2b86a4-e606-4866-b8a6-7d037e86a18e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:02.8514859Z","submissionTimestamp":"2017-12-09T05:22:20.5022003Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"49ec54cf-4f14-46d4-bd7e-f246ee8651c1","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5152062e-2c81-4aad-8549-a92d10c33626","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0/events/49ec54cf-4f14-46d4-bd7e-f246ee8651c1/ticks/636483937087255615","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"fbcc9bbb-b699-4b72-89bc-f6f122215474","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Created","serviceRequestId":"256f3de1-7874-4a6e-abd9-12e2a11451da"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:21:48.7255615Z","submissionTimestamp":"2017-12-09T05:22:10.1745201Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"1d8e3d4e-a5e3-443d-a461-dc5794a35d38","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/1d8e3d4e-a5e3-443d-a461-dc5794a35d38/ticks/636483937082212628","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"686d0328-747a-46a4-b72e-a933019bb839","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:48.2212628Z","submissionTimestamp":"2017-12-09T05:21:59.5778305Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"40021681-948f-4ba9-8569-575365b8c50d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/40021681-948f-4ba9-8569-575365b8c50d/ticks/636483937078958824","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"b53779fb-b595-4c81-b2d6-66e1252716f9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:47.8958824Z","submissionTimestamp":"2017-12-09T05:22:00.0185721Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"1c43593f-4ece-40d3-87b0-2dd69ac25a0b","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5152062e-2c81-4aad-8549-a92d10c33626","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0/events/1c43593f-4ece-40d3-87b0-2dd69ac25a0b/ticks/636483937075688138","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"fbcc9bbb-b699-4b72-89bc-f6f122215474","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:47.5688138Z","submissionTimestamp":"2017-12-09T05:21:59.9781196Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b36b44c4-2071-449d-a15c-2a35ef564915","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/b36b44c4-2071-449d-a15c-2a35ef564915/ticks/636483937074586450","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"1aaf4088-f383-4d21-850d-45c40252aeea","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:47.458645Z","submissionTimestamp":"2017-12-09T05:22:00.1040083Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"e2d01640-14bd-42ac-b85e-51bee880bce4","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/e2d01640-14bd-42ac-b85e-51bee880bce4/ticks/636483936927918336","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"ab6c463e-0179-4531-afac-24348d49e94d","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:32.7918336Z","submissionTimestamp":"2017-12-09T05:21:50.3523005Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"a6f2997a-c77e-409f-9f38-0e4689643d49","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/a6f2997a-c77e-409f-9f38-0e4689643d49/ticks/636483936915973109","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"2e12aed4-0ae2-421c-a1aa-48463f7c5eae","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:31.5973109Z","submissionTimestamp":"2017-12-09T05:21:50.1043019Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"faec52ee-ad32-47b3-b19c-9f1c363e9e45","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/faec52ee-ad32-47b3-b19c-9f1c363e9e45/ticks/636483936911518846","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fe6347e6-221d-466f-9241-fc2e9aeb9d9f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:31.1518846Z","submissionTimestamp":"2017-12-09T05:21:50.301343Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"babf2609-61dc-495f-80df-ad433072a19e","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/babf2609-61dc-495f-80df-ad433072a19e/ticks/636483936774315016","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"381f670a-69d7-4ac9-a374-4eb3c2132e5b","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:17.4315016Z","submissionTimestamp":"2017-12-09T05:21:30.4136212Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"56378e6b-714f-4ef1-944c-259ede9dfb43","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/56378e6b-714f-4ef1-944c-259ede9dfb43/ticks/636483936759741086","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"1325bb09-8e5e-4832-a799-dc3766c6b8a2","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:15.9741086Z","submissionTimestamp":"2017-12-09T05:21:30.0927902Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"7f8ed437-3a61-4667-a316-a69d1901fa5d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/7f8ed437-3a61-4667-a316-a69d1901fa5d/ticks/636483936758491013","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"58c7e49d-29e1-4157-8871-dd1bebd42936","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:15.8491013Z","submissionTimestamp":"2017-12-09T05:21:30.0927902Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d7cc4ff6-ae5a-4247-9b8b-3e5e8c6d7218","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/d7cc4ff6-ae5a-4247-9b8b-3e5e8c6d7218/ticks/636483936615161642","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"d5f1fa4d-c3fc-42f1-aa60-dc57da5b9a25","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:01.5161642Z","submissionTimestamp":"2017-12-09T05:21:20.0860134Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"4e7a05fa-80af-42f8-bd89-34fd6f8b219f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/4e7a05fa-80af-42f8-bd89-34fd6f8b219f/ticks/636483936604503602","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"f92ed3c9-924d-47d0-8201-48456822b191","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:00.4503602Z","submissionTimestamp":"2017-12-09T05:21:19.6077919Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"5851d2ad-f28b-43f8-920f-07863f548733","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/5851d2ad-f28b-43f8-920f-07863f548733/ticks/636483936601536698","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc7bd08b-866e-48a5-a537-9d4fe78c8e3e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:00.1536698Z","submissionTimestamp":"2017-12-09T05:21:20.0989911Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c63c3a58-6e60-4d0a-8892-88771b5d2d2d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"06aebdda-7a37-4f4e-b766-26b3ea561951","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/c63c3a58-6e60-4d0a-8892-88771b5d2d2d/ticks/636483936458560786","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7e7d2109-9794-4a26-8444-026e9640661c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Created","serviceRequestId":"db62465a-e660-493e-8b3b-286ed8596452"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:20:45.8560786Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d256c2ab-b9ba-43ac-ba8d-bf1b809b8a9b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/d256c2ab-b9ba-43ac-ba8d-bf1b809b8a9b/ticks/636483936448959408","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"0e990a14-1a57-4ea2-8056-47380457fe70","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.8959408Z","submissionTimestamp":"2017-12-09T05:20:59.705539Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"efa72caa-24ef-4463-87bb-dff257d7896e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"06aebdda-7a37-4f4e-b766-26b3ea561951","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/efa72caa-24ef-4463-87bb-dff257d7896e/ticks/636483936445435451","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7e7d2109-9794-4a26-8444-026e9640661c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.5435451Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"078e8afb-ad14-432b-8327-9bd85371586b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/078e8afb-ad14-432b-8327-9bd85371586b/ticks/636483936443716624","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"35936685-5536-4681-a2c1-7882a7d6ea0f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.3716624Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6a34ff92-1bdb-40da-a940-ce61ee3143df","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/6a34ff92-1bdb-40da-a940-ce61ee3143df/ticks/636483936429993173","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"29718454-78c2-40c6-b631-71e4e334bcd8","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:42.9993173Z","submissionTimestamp":"2017-12-09T05:20:59.8731419Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"766d0bab-9165-464a-94ae-105d8dcac708","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/766d0bab-9165-464a-94ae-105d8dcac708/ticks/636483936288958990","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"19b22b89-dd10-4c67-8c2c-4d458a4d51e7","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:28.895899Z","submissionTimestamp":"2017-12-09T05:20:50.0841006Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"e829aaf0-414c-46df-ab69-2d9f62986096","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/e829aaf0-414c-46df-ab69-2d9f62986096/ticks/636483936282577338","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"b2d3aa73-d783-4375-a064-98079cd2edaa","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:28.2577338Z","submissionTimestamp":"2017-12-09T05:20:39.9794141Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"fc96d187-16c7-4ea4-a80c-cb1abe3a938d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/fc96d187-16c7-4ea4-a80c-cb1abe3a938d/ticks/636483936269716382","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"9131a6b1-8c84-4761-85ba-9e155b40ffbe","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:26.9716382Z","submissionTimestamp":"2017-12-09T05:20:40.5339552Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"84e69362-734a-4d01-ad67-d40a51071911","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/84e69362-734a-4d01-ad67-d40a51071911/ticks/636483936133495638","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3931a993-da5d-4ffb-a53f-3725fe41f9b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:13.3495638Z","submissionTimestamp":"2017-12-09T05:20:29.7480002Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"172ee1ce-a08c-4869-808b-aefc97479870","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/172ee1ce-a08c-4869-808b-aefc97479870/ticks/636483936102743029","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3bacb20e-3fc2-4bcf-ad42-67cd9a56ee8e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:10.2743029Z","submissionTimestamp":"2017-12-09T05:20:29.3964496Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c863e3ad-861a-4842-9bed-5d7b5c21f752","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/c863e3ad-861a-4842-9bed-5d7b5c21f752/ticks/636483935975493658","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3c059bde-9ba7-4705-a46a-90f041019563","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:57.5493658Z","submissionTimestamp":"2017-12-09T05:20:10.1148471Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218/ticks/636483935968523897","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"6b4f8ac8-b6be-4676-a1ef-c2efd07639b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:56.8523897Z","submissionTimestamp":"2017-12-09T05:20:10.2353207Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2/ticks/636483935945781875","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"502f330f-757e-492a-bf5d-8b2c1a9c5e87","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:54.5781875Z","submissionTimestamp":"2017-12-09T05:20:09.9808359Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"629517bd-3422-4799-aed0-e76166f332df","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/629517bd-3422-4799-aed0-e76166f332df/ticks/636483935815203536","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"608c44ca-b946-4085-b677-c60b4364cd4f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.5203536Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0a3e8fa0-b1aa-430d-813d-717d9ccaba43","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/0a3e8fa0-b1aa-430d-813d-717d9ccaba43/ticks/636483935813640803","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"e8a78a19-e992-4a15-9b9d-1d396e76841e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.3640803Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f502a53a-bef1-45ce-a64f-3cec67be9e74","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/f502a53a-bef1-45ce-a64f-3cec67be9e74/ticks/636483935785592969","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"934cbf0a-66c3-40ac-83ad-5a900bd0a3ee","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:38.5592969Z","submissionTimestamp":"2017-12-09T05:20:00.1233196Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"76b649ce-1ebe-4dac-89a1-78bd004fbdbe","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/76b649ce-1ebe-4dac-89a1-78bd004fbdbe/ticks/636483935662684070","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"2368e683-ae0d-4e05-93f7-5251dd7859ff"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:26.268407Z","submissionTimestamp":"2017-12-09T05:19:40.0013894Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0/ticks/636483935658854059","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"770228b2-9970-4da2-8bb3-5eb17f427abd"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:25.8854059Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2ef95b9d-6cc9-4eaa-a265-599681ba4120","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/2ef95b9d-6cc9-4eaa-a265-599681ba4120/ticks/636483935628933848","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.8933848Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"fe383666-3d1f-445b-a21a-bfe1cb911e8f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/fe383666-3d1f-445b-a21a-bfe1cb911e8f/ticks/636483935626751699","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"97c87afe-ca58-46e2-8944-72c541d4a229"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.6751699Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"4c47093b-1a6c-422e-be0d-3b610067fa96","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/4c47093b-1a6c-422e-be0d-3b610067fa96/ticks/636483935624715321","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0179ac94-8373-4392-87f6-59dce144ba0a","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"40a6b458-3268-400a-b594-b782474e5613\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.5\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.4715321Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"18a7b81d-bf54-4f62-9028-d2f0d1507d78","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/18a7b81d-bf54-4f62-9028-d2f0d1507d78/ticks/636483935623914480","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.391448Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b6cc422e-578b-40e7-9436-142f9f132b8c","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/b6cc422e-578b-40e7-9436-142f9f132b8c/ticks/636483935619695965","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0488286b-cd93-4ba0-95c2-39b32adf684e","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"6e8dafff-a250-48f1-98f8-81ba6740af90\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.4\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:21.9695965Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1deef98-0832-4f8b-80f9-845dbd487bbd","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/b1deef98-0832-4f8b-80f9-845dbd487bbd/ticks/636483935615187666","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:21.5187666Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0c815960-230e-4117-b401-3fcfbcd9634b","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/0c815960-230e-4117-b401-3fcfbcd9634b/ticks/636483935608915102","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:20.8915102Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3b3a8117-8604-4212-a730-3d8b798b473d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/3b3a8117-8604-4212-a730-3d8b798b473d/ticks/636483935588001992","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:18.8001992Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1b08df7-d8a3-4198-90aa-b6f497d4c3a6","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/b1b08df7-d8a3-4198-90aa-b6f497d4c3a6/ticks/636483935584565023","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"cfbdf455-8659-44f0-a969-ca5c5fff6a82","responseBody":"{\\"name\\":\\"k8s-master-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"287a1f86-dcd9-479b-95f3-855f558519e8\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\",\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}]}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:18.4565023Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"eafa3e8d-bb05-4cbc-831b-515b421feb6c","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/eafa3e8d-bb05-4cbc-831b-515b421feb6c/ticks/636483935576596018","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}],\\"primary\\":true,\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.6596018Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0630ea34-5e08-4df7-806c-5ba277e8ee98","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/0630ea34-5e08-4df7-806c-5ba277e8ee98/ticks/636483935574567301","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"010e332e-ae98-4d7f-8d89-b13bcd67dd82","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.4567301Z","submissionTimestamp":"2017-12-09T05:19:29.9175501Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"23c16967-c5de-434a-883d-9dcbb5cf7910","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/23c16967-c5de-434a-883d-9dcbb5cf7910/ticks/636483935571498862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"9d8c0359-5075-4aa5-9300-41c5abe70457","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.1498862Z","submissionTimestamp":"2017-12-09T05:19:29.9514229Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3637760d-70c1-4541-a66a-eba014903301","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/3637760d-70c1-4541-a66a-eba014903301/ticks/636483935514628368","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"4d2efcf5-cd3f-47e1-87b4-25ee3eb24361","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.4628368Z","submissionTimestamp":"2017-12-09T05:19:29.8886293Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"96b089d0-749d-4278-a2b9-20d010d8eb76","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/96b089d0-749d-4278-a2b9-20d010d8eb76/ticks/636483935512332041","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"properties":{"statusCode":"Created","serviceRequestId":"fcd5a581-c4fa-4f03-9aeb-4aa694a54fbd"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:11.2332041Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"37a4a8ec-5993-4756-881c-7f6fe9d2b415","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/37a4a8ec-5993-4756-881c-7f6fe9d2b415/ticks/636483935510457343","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.0457343Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c0f2181e-829d-4b04-96e6-91d90ffe74c8","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/c0f2181e-829d-4b04-96e6-91d90ffe74c8/ticks/636483935507957703","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"statusCode":"Created","serviceRequestId":"3a931eae-ac9c-414f-b748-d28628f2c996","responseBody":"{\\"name\\":\\"k8s-master-lb-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"type\\":\\"Microsoft.Network/loadBalancers\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"a8c2b30a-7f33-4beb-b9e6-1cfb8b254ef3\\",\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"},\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"idleTimeoutInMinutes\\":5,\\"protocol\\":\\"Tcp\\",\\"loadDistribution\\":\\"Default\\",\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"}}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"protocol\\":\\"Tcp\\",\\"port\\":443,\\"intervalInSeconds\\":5,\\"numberOfProbes\\":2,\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"inboundNatRules\\":[],\\"outboundNatRules\\":[],\\"inboundNatPools\\":[]}}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:10.7957703Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e/ticks/636483935499050370","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\"}],\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"properties\\":{\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"}}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"properties\\":{\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"idleTimeoutInMinutes\\":5,\\"loadDistribution\\":\\"Default\\",\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"},\\"protocol\\":\\"tcp\\"}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"properties\\":{\\"intervalInSeconds\\":\\"5\\",\\"numberOfProbes\\":\\"2\\",\\"port\\":443,\\"protocol\\":\\"tcp\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:09.905037Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"42843e04-3819-4b19-8a25-1ec0a7634855","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/42843e04-3819-4b19-8a25-1ec0a7634855/ticks/636483935462644362","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"statusCode":"Created","serviceRequestId":"73c1ebb8-ec8b-41d5-aaf6-128425b11048","responseBody":"{\\"name\\":\\"k8s-master-ip-fabricnlp9-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\",\\"etag\\":\\"W/\\\\\\"2aece227-86b3-4d07-80e1-505ad9e017b3\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"08ac6d19-b8e9-4187-a993-feb5207a6768\\",\\"publicIPAddressVersion\\":\\"IPv4\\",\\"publicIPAllocationMethod\\":\\"Dynamic\\",\\"idleTimeoutInMinutes\\":4,\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\",\\"fqdn\\":\\"fabricnlp9.eastus.cloudapp.azure.com\\"}},\\"type\\":\\"Microsoft.Network/publicIPAddresses\\"}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:06.2644362Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c961bc1c-adc5-4f0b-a850-02060fdf468f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/c961bc1c-adc5-4f0b-a850-02060fdf468f/ticks/636483935459519543","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"statusCode":"Created","serviceRequestId":"cbec7ef0-5357-4ce4-b2ce-5d79377a7871","responseBody":"{\\"name\\":\\"k8s-master-25033075-nsg\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"type\\":\\"Microsoft.Network/networkSecurityGroups\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"0e94a593-0195-4379-b798-56011f9e1b99\\",\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_ssh\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":101,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_kube_tls\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":100,\\"direction\\":\\"Inbound\\"}}],\\"defaultSecurityRules\\":[{\\"name\\":\\"AllowVnetInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowAzureLoadBalancerInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowAzureLoadBalancerInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from azure load balancer\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"AzureLoadBalancer\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"DenyAllInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all inbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowVnetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"AllowInternetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowInternetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to Internet\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"Internet\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"DenyAllOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all outbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Outbound\\"}}]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9519543Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f7ec8371-3033-467f-923d-2af6b2168b3a","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/f7ec8371-3033-467f-923d-2af6b2168b3a/ticks/636483935459206868","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"statusCode":"Created","serviceRequestId":"2127672f-cb17-4957-a6fa-9c3d112bf86d","responseBody":"{\\"name\\":\\"k8s-master-25033075-routetable\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable\\",\\"etag\\":\\"W/\\\\\\"e999d01a-3925-4d88-90ca-dde1e957723e\\\\\\"\\",\\"type\\":\\"Microsoft.Network/routeTables\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"2c300a3b-6237-4592-9fd0-a7eb3f365a28\\",\\"routes\\":[]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9206868Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2a0e4d77-1830-40c5-993e-af900e4260bb","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/2a0e4d77-1830-40c5-993e-af900e4260bb/ticks/636483935457956862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"e8611b1b-c62b-4d00-b87c-aea3bc210226"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7956862Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b/ticks/636483935457800589","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"570b1876-904b-4e3d-8154-3df414bd0c79"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7800589Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0f57cc09-3d02-401c-8e6e-7bda7cbd950d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/0f57cc09-3d02-401c-8e6e-7bda7cbd950d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"7ca02e9c-635f-488e-bbe3-921f51760a4d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/7ca02e9c-635f-488e-bbe3-921f51760a4d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"519755ef-e484-4243-bfeb-0edde3c8c163","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/519755ef-e484-4243-bfeb-0edde3c8c163/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"direction\\":\\"Inbound\\",\\"priority\\":101,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"direction\\":\\"Inbound\\",\\"priority\\":100,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"79ede4b5-7470-4d12-8d22-bbac17c48a8e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/79ede4b5-7470-4d12-8d22-bbac17c48a8e/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\"},\\"publicIPAllocationMethod\\":\\"Dynamic\\"}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d542e1b7-71de-4cde-929d-d1174ea92deb","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/d542e1b7-71de-4cde-929d-d1174ea92deb/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\"}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"34efd43d-0a0b-47a6-be9e-3e3fd74265ad","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/34efd43d-0a0b-47a6-be9e-3e3fd74265ad/ticks/636483935441012452","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"properties":{"statusCode":"OK","serviceRequestId":null},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:04.1012452Z","submissionTimestamp":"2017-12-09T05:19:19.9694084Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"745490e4-6d74-4e41-ac44-1d5e5b10b68d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/745490e4-6d74-4e41-ac44-1d5e5b10b68d/ticks/636483935404291527","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:00.4291527Z","submissionTimestamp":"2017-12-09T05:19:19.9684077Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"}]}' -DEBUG: adal-python : ac0b0da6-1e7f-480d-9323-00b0a62add2d - Authority:Performing instance discovery: https://login.microsoftonline.com/52807a8b-794c-4c07-825f-578847e1257e -DEBUG: adal-python : ac0b0da6-1e7f-480d-9323-00b0a62add2d - Authority:Performing static instance discovery -DEBUG: adal-python : ac0b0da6-1e7f-480d-9323-00b0a62add2d - Authority:Authority validated via static instance discovery -INFO: adal-python : ac0b0da6-1e7f-480d-9323-00b0a62add2d - TokenRequest:Getting token from cache with refresh if necessary. -DEBUG: adal-python : ac0b0da6-1e7f-480d-9323-00b0a62add2d - OAuth2Client:finding with query: {"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : ac0b0da6-1e7f-480d-9323-00b0a62add2d - OAuth2Client:Looking for potential cache entries: -DEBUG: adal-python : ac0b0da6-1e7f-480d-9323-00b0a62add2d - OAuth2Client:{"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : ac0b0da6-1e7f-480d-9323-00b0a62add2d - OAuth2Client:Found 4 potential entries. -DEBUG: adal-python : ac0b0da6-1e7f-480d-9323-00b0a62add2d - OAuth2Client:Resource specific token found. -DEBUG: adal-python : ac0b0da6-1e7f-480d-9323-00b0a62add2d - OAuth2Client:Returning token from cache lookup, AccessTokenId: b'kslIbWka8YbxRUy8vLy6JNH7izY8GoVPIpyFsPticn4=', RefreshTokenId: b'ZKVr4cTgxa0EDZ2Kgqem4UHxIsbWBdRNnpWnblHwFnE=' -DEBUG: msrest.pipeline : Configuring request: timeout=100, verify=True, cert=None -DEBUG: msrest.pipeline : Configuring redirects: allow=True, max=30 -DEBUG: msrest.pipeline : Configuring proxies: '' -DEBUG: msrest.pipeline : Evaluate proxies against ENV settings: True -DEBUG: msrest.pipeline : Configuring retry: max_retries=4, backoff_factor=0.8, max_backoff=90 -DEBUG: urllib3.connectionpool : Starting new HTTPS connection (1): management.azure.com -DEBUG: urllib3.connectionpool : https://management.azure.com:443 "GET /subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/operationStatuses/08586888101433128342?api-version=2017-05-10 HTTP/1.1" 200 140 -DEBUG: msrest.http_logger : Request URL: 'https://management.azure.com/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/operationStatuses/08586888101433128342?api-version=2017-05-10' -DEBUG: msrest.http_logger : Request method: 'GET' -DEBUG: msrest.http_logger : Request headers: -DEBUG: msrest.http_logger : 'User-Agent': 'python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.19 msrest_azure/0.4.17 resourcemanagementclient/1.2.1 Azure-SDK-For-Python AZURECLI/2.0.22' -DEBUG: msrest.http_logger : 'Accept-Encoding': 'gzip, deflate' -DEBUG: msrest.http_logger : 'Accept': 'application/json' -DEBUG: msrest.http_logger : 'Connection': 'keep-alive' -DEBUG: msrest.http_logger : 'Authorization': '*****' -DEBUG: msrest.http_logger : 'x-ms-client-request-id': '7538e6de-dca0-11e7-b921-e4b3187aa3c2' -DEBUG: msrest.http_logger : 'CommandName': 'group deployment create' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'accept-language': 'en-US' -DEBUG: msrest.http_logger : Request body: -DEBUG: msrest.http_logger : None -DEBUG: msrest.http_logger : Response status: 200 -DEBUG: msrest.http_logger : Response headers: -DEBUG: msrest.http_logger : 'Cache-Control': 'no-cache' -DEBUG: msrest.http_logger : 'Pragma': 'no-cache' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'Content-Encoding': 'gzip' -DEBUG: msrest.http_logger : 'Expires': '-1' -DEBUG: msrest.http_logger : 'Vary': 'Accept-Encoding' -DEBUG: msrest.http_logger : 'x-ms-ratelimit-remaining-subscription-reads': '14935' -DEBUG: msrest.http_logger : 'x-ms-request-id': '0aeb997b-0cb3-4d78-b27d-692827e01240' -DEBUG: msrest.http_logger : 'x-ms-correlation-request-id': '0aeb997b-0cb3-4d78-b27d-692827e01240' -DEBUG: msrest.http_logger : 'x-ms-routing-request-id': 'NORTHCENTRALUS:20171209T052314Z:0aeb997b-0cb3-4d78-b27d-692827e01240' -DEBUG: msrest.http_logger : 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains' -DEBUG: msrest.http_logger : 'Date': 'Sat, 09 Dec 2017 05:23:14 GMT' -DEBUG: msrest.http_logger : 'Content-Length': '140' -DEBUG: msrest.http_logger : Response content: -DEBUG: msrest.http_logger : b'{"status":"Running"}' -DEBUG: Getting management service client client_type=MonitorManagementClient -DEBUG: adal-python : 758abd69-bfcf-48d0-bfc7-e48aff390d90 - Authority:Performing instance discovery: https://login.microsoftonline.com/52807a8b-794c-4c07-825f-578847e1257e -DEBUG: adal-python : 758abd69-bfcf-48d0-bfc7-e48aff390d90 - Authority:Performing static instance discovery -DEBUG: adal-python : 758abd69-bfcf-48d0-bfc7-e48aff390d90 - Authority:Authority validated via static instance discovery -INFO: adal-python : 758abd69-bfcf-48d0-bfc7-e48aff390d90 - TokenRequest:Getting token from cache with refresh if necessary. -DEBUG: adal-python : 758abd69-bfcf-48d0-bfc7-e48aff390d90 - OAuth2Client:finding with query: {"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 758abd69-bfcf-48d0-bfc7-e48aff390d90 - OAuth2Client:Looking for potential cache entries: -DEBUG: adal-python : 758abd69-bfcf-48d0-bfc7-e48aff390d90 - OAuth2Client:{"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 758abd69-bfcf-48d0-bfc7-e48aff390d90 - OAuth2Client:Found 4 potential entries. -DEBUG: adal-python : 758abd69-bfcf-48d0-bfc7-e48aff390d90 - OAuth2Client:Resource specific token found. -DEBUG: adal-python : 758abd69-bfcf-48d0-bfc7-e48aff390d90 - OAuth2Client:Returning token from cache lookup, AccessTokenId: b'kslIbWka8YbxRUy8vLy6JNH7izY8GoVPIpyFsPticn4=', RefreshTokenId: b'ZKVr4cTgxa0EDZ2Kgqem4UHxIsbWBdRNnpWnblHwFnE=' -DEBUG: msrest.pipeline : Configuring request: timeout=100, verify=True, cert=None -DEBUG: msrest.pipeline : Configuring redirects: allow=True, max=30 -DEBUG: msrest.pipeline : Configuring proxies: '' -DEBUG: msrest.pipeline : Evaluate proxies against ENV settings: True -DEBUG: msrest.pipeline : Configuring retry: max_retries=4, backoff_factor=0.8, max_backoff=90 -DEBUG: urllib3.connectionpool : Starting new HTTPS connection (1): management.azure.com -DEBUG: urllib3.connectionpool : https://management.azure.com:443 "GET /subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A23%3A18Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27 HTTP/1.1" 200 None -DEBUG: msrest.http_logger : Request URL: 'https://management.azure.com/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A23%3A18Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27' -DEBUG: msrest.http_logger : Request method: 'GET' -DEBUG: msrest.http_logger : Request headers: -DEBUG: msrest.http_logger : 'User-Agent': 'python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.19 msrest_azure/0.4.17 monitormanagementclient/0.4.0 Azure-SDK-For-Python AZURECLI/2.0.22' -DEBUG: msrest.http_logger : 'Accept-Encoding': 'gzip, deflate' -DEBUG: msrest.http_logger : 'Accept': 'application/json' -DEBUG: msrest.http_logger : 'Connection': 'keep-alive' -DEBUG: msrest.http_logger : 'Authorization': '*****' -DEBUG: msrest.http_logger : 'x-ms-client-request-id': '7538e6de-dca0-11e7-b921-e4b3187aa3c2' -DEBUG: msrest.http_logger : 'CommandName': 'group deployment create' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'accept-language': 'en-US' -DEBUG: msrest.http_logger : Request body: -DEBUG: msrest.http_logger : None -DEBUG: msrest.http_logger : Response status: 200 -DEBUG: msrest.http_logger : Response headers: -DEBUG: msrest.http_logger : 'Cache-Control': 'no-cache' -DEBUG: msrest.http_logger : 'Pragma': 'no-cache' -DEBUG: msrest.http_logger : 'Transfer-Encoding': 'chunked' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'Content-Encoding': 'gzip' -DEBUG: msrest.http_logger : 'Expires': '-1' -DEBUG: msrest.http_logger : 'Vary': 'Accept-Encoding,Accept-Encoding' -DEBUG: msrest.http_logger : 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains' -DEBUG: msrest.http_logger : 'x-ms-request-id': 'EastUS_f53563fc44ed45caa2c16b7f687fbe2a_636483937996378771' -DEBUG: msrest.http_logger : 'Server': 'Microsoft-IIS/8.5' -DEBUG: msrest.http_logger : 'x-ms-ratelimit-remaining-subscription-reads': '14767' -DEBUG: msrest.http_logger : 'x-ms-correlation-request-id': '1d8ba543-5066-405c-8316-099f9654d54e' -DEBUG: msrest.http_logger : 'x-ms-routing-request-id': 'NORTHCENTRALUS:20171209T052319Z:1d8ba543-5066-405c-8316-099f9654d54e' -DEBUG: msrest.http_logger : 'Date': 'Sat, 09 Dec 2017 05:23:19 GMT' -DEBUG: msrest.http_logger : Response content: -DEBUG: msrest.http_logger : b'{"value":[{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"9888bcdc-806e-4157-af8f-de02df6300bd","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/9888bcdc-806e-4157-af8f-de02df6300bd/ticks/636483937732339804","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"fbaa2f35-a111-4656-ba5e-d300563acb0c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:53.2339804Z","submissionTimestamp":"2017-12-09T05:23:09.7624674Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f99ef43a-cd62-4a14-a4c8-9ae254d003b0","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1/events/f99ef43a-cd62-4a14-a4c8-9ae254d003b0/ticks/636483937722900476","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"5963d0ba-33f5-4e96-b85f-d323b3d912d7","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:52.2900476Z","submissionTimestamp":"2017-12-09T05:23:09.9713806Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b0e4cb48-bf5b-4b06-8c0a-9143a0d4fcb3","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/b0e4cb48-bf5b-4b06-8c0a-9143a0d4fcb3/ticks/636483937576423377","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"3efa233d-8f27-4efa-b064-677b7b67bc67","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:37.6423377Z","submissionTimestamp":"2017-12-09T05:22:49.60389Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"dc9394ac-67c4-41ec-9ddb-73846e21d7ce","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1/events/dc9394ac-67c4-41ec-9ddb-73846e21d7ce/ticks/636483937560570872","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"bd23822b-5c10-4c58-a78f-631e647e78a0","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:36.0570872Z","submissionTimestamp":"2017-12-09T05:22:50.0088228Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"80ac9ea3-7486-42c2-ba69-a66cc2d57253","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"43e46f79-ac18-4e4f-b626-21b8ed2cb289","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1/events/80ac9ea3-7486-42c2-ba69-a66cc2d57253/ticks/636483937404347475","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"bc872941-458a-41d2-abdb-0e71bb41d329","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Created","serviceRequestId":"ba82fb07-8e09-40c9-bd2a-5f6c4eb4c63c"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:22:20.4347475Z","submissionTimestamp":"2017-12-09T05:22:39.8277359Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f743b31b-56b2-4be0-b739-64df8f116cf8","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/f743b31b-56b2-4be0-b739-64df8f116cf8/ticks/636483937399447061","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"f172354a-3d57-4b62-bf9a-f7966c4b2f77","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:19.9447061Z","submissionTimestamp":"2017-12-09T05:22:39.9032731Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"951dce02-98b4-491a-93f8-165828325b12","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0/events/951dce02-98b4-491a-93f8-165828325b12/ticks/636483937394769730","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"cfce0f61-e839-4442-9171-865242d8cfaf","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:19.476973Z","submissionTimestamp":"2017-12-09T05:22:39.9617636Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"67886206-67d6-4c3a-acb0-c4f508841525","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"43e46f79-ac18-4e4f-b626-21b8ed2cb289","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1/events/67886206-67d6-4c3a-acb0-c4f508841525/ticks/636483937393253781","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"bc872941-458a-41d2-abdb-0e71bb41d329","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:19.3253781Z","submissionTimestamp":"2017-12-09T05:22:39.8277359Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3a1f2878-bd44-40af-b28c-5cf261653905","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/3a1f2878-bd44-40af-b28c-5cf261653905/ticks/636483937367361788","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"65265daa-0c52-42bf-8745-a1b5415ab306","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:16.7361788Z","submissionTimestamp":"2017-12-09T05:22:30.0593033Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"e8ac5dac-7625-437b-a00f-ac00d73e738d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0/events/e8ac5dac-7625-437b-a00f-ac00d73e738d/ticks/636483937246792693","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"8ce20380-abec-458e-b6ac-ffc0035d5c9c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:04.6792693Z","submissionTimestamp":"2017-12-09T05:22:20.3877595Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"962936e1-03af-4fe3-9088-c2b6b6e7241a","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/962936e1-03af-4fe3-9088-c2b6b6e7241a/ticks/636483937237581301","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7cc05f54-93e1-4fb6-b74b-356d3be748e4","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:03.7581301Z","submissionTimestamp":"2017-12-09T05:22:20.1548526Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"1a6d6267-532b-4e10-b128-1ca3764743c5","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/1a6d6267-532b-4e10-b128-1ca3764743c5/ticks/636483937228514859","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"0e2b86a4-e606-4866-b8a6-7d037e86a18e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:02.8514859Z","submissionTimestamp":"2017-12-09T05:22:20.5022003Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"49ec54cf-4f14-46d4-bd7e-f246ee8651c1","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5152062e-2c81-4aad-8549-a92d10c33626","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0/events/49ec54cf-4f14-46d4-bd7e-f246ee8651c1/ticks/636483937087255615","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"fbcc9bbb-b699-4b72-89bc-f6f122215474","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Created","serviceRequestId":"256f3de1-7874-4a6e-abd9-12e2a11451da"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:21:48.7255615Z","submissionTimestamp":"2017-12-09T05:22:10.1745201Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"1d8e3d4e-a5e3-443d-a461-dc5794a35d38","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/1d8e3d4e-a5e3-443d-a461-dc5794a35d38/ticks/636483937082212628","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"686d0328-747a-46a4-b72e-a933019bb839","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:48.2212628Z","submissionTimestamp":"2017-12-09T05:21:59.5778305Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"40021681-948f-4ba9-8569-575365b8c50d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/40021681-948f-4ba9-8569-575365b8c50d/ticks/636483937078958824","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"b53779fb-b595-4c81-b2d6-66e1252716f9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:47.8958824Z","submissionTimestamp":"2017-12-09T05:22:00.0185721Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"1c43593f-4ece-40d3-87b0-2dd69ac25a0b","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5152062e-2c81-4aad-8549-a92d10c33626","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0/events/1c43593f-4ece-40d3-87b0-2dd69ac25a0b/ticks/636483937075688138","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"fbcc9bbb-b699-4b72-89bc-f6f122215474","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:47.5688138Z","submissionTimestamp":"2017-12-09T05:21:59.9781196Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b36b44c4-2071-449d-a15c-2a35ef564915","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/b36b44c4-2071-449d-a15c-2a35ef564915/ticks/636483937074586450","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"1aaf4088-f383-4d21-850d-45c40252aeea","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:47.458645Z","submissionTimestamp":"2017-12-09T05:22:00.1040083Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"e2d01640-14bd-42ac-b85e-51bee880bce4","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/e2d01640-14bd-42ac-b85e-51bee880bce4/ticks/636483936927918336","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"ab6c463e-0179-4531-afac-24348d49e94d","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:32.7918336Z","submissionTimestamp":"2017-12-09T05:21:50.3523005Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"a6f2997a-c77e-409f-9f38-0e4689643d49","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/a6f2997a-c77e-409f-9f38-0e4689643d49/ticks/636483936915973109","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"2e12aed4-0ae2-421c-a1aa-48463f7c5eae","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:31.5973109Z","submissionTimestamp":"2017-12-09T05:21:50.1043019Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"faec52ee-ad32-47b3-b19c-9f1c363e9e45","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/faec52ee-ad32-47b3-b19c-9f1c363e9e45/ticks/636483936911518846","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fe6347e6-221d-466f-9241-fc2e9aeb9d9f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:31.1518846Z","submissionTimestamp":"2017-12-09T05:21:50.301343Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"babf2609-61dc-495f-80df-ad433072a19e","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/babf2609-61dc-495f-80df-ad433072a19e/ticks/636483936774315016","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"381f670a-69d7-4ac9-a374-4eb3c2132e5b","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:17.4315016Z","submissionTimestamp":"2017-12-09T05:21:30.4136212Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"56378e6b-714f-4ef1-944c-259ede9dfb43","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/56378e6b-714f-4ef1-944c-259ede9dfb43/ticks/636483936759741086","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"1325bb09-8e5e-4832-a799-dc3766c6b8a2","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:15.9741086Z","submissionTimestamp":"2017-12-09T05:21:30.0927902Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"7f8ed437-3a61-4667-a316-a69d1901fa5d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/7f8ed437-3a61-4667-a316-a69d1901fa5d/ticks/636483936758491013","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"58c7e49d-29e1-4157-8871-dd1bebd42936","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:15.8491013Z","submissionTimestamp":"2017-12-09T05:21:30.0927902Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d7cc4ff6-ae5a-4247-9b8b-3e5e8c6d7218","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/d7cc4ff6-ae5a-4247-9b8b-3e5e8c6d7218/ticks/636483936615161642","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"d5f1fa4d-c3fc-42f1-aa60-dc57da5b9a25","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:01.5161642Z","submissionTimestamp":"2017-12-09T05:21:20.0860134Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"4e7a05fa-80af-42f8-bd89-34fd6f8b219f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/4e7a05fa-80af-42f8-bd89-34fd6f8b219f/ticks/636483936604503602","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"f92ed3c9-924d-47d0-8201-48456822b191","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:00.4503602Z","submissionTimestamp":"2017-12-09T05:21:19.6077919Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"5851d2ad-f28b-43f8-920f-07863f548733","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/5851d2ad-f28b-43f8-920f-07863f548733/ticks/636483936601536698","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc7bd08b-866e-48a5-a537-9d4fe78c8e3e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:00.1536698Z","submissionTimestamp":"2017-12-09T05:21:20.0989911Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c63c3a58-6e60-4d0a-8892-88771b5d2d2d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"06aebdda-7a37-4f4e-b766-26b3ea561951","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/c63c3a58-6e60-4d0a-8892-88771b5d2d2d/ticks/636483936458560786","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7e7d2109-9794-4a26-8444-026e9640661c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Created","serviceRequestId":"db62465a-e660-493e-8b3b-286ed8596452"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:20:45.8560786Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d256c2ab-b9ba-43ac-ba8d-bf1b809b8a9b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/d256c2ab-b9ba-43ac-ba8d-bf1b809b8a9b/ticks/636483936448959408","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"0e990a14-1a57-4ea2-8056-47380457fe70","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.8959408Z","submissionTimestamp":"2017-12-09T05:20:59.705539Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"efa72caa-24ef-4463-87bb-dff257d7896e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"06aebdda-7a37-4f4e-b766-26b3ea561951","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/efa72caa-24ef-4463-87bb-dff257d7896e/ticks/636483936445435451","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7e7d2109-9794-4a26-8444-026e9640661c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.5435451Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"078e8afb-ad14-432b-8327-9bd85371586b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/078e8afb-ad14-432b-8327-9bd85371586b/ticks/636483936443716624","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"35936685-5536-4681-a2c1-7882a7d6ea0f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.3716624Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6a34ff92-1bdb-40da-a940-ce61ee3143df","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/6a34ff92-1bdb-40da-a940-ce61ee3143df/ticks/636483936429993173","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"29718454-78c2-40c6-b631-71e4e334bcd8","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:42.9993173Z","submissionTimestamp":"2017-12-09T05:20:59.8731419Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"766d0bab-9165-464a-94ae-105d8dcac708","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/766d0bab-9165-464a-94ae-105d8dcac708/ticks/636483936288958990","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"19b22b89-dd10-4c67-8c2c-4d458a4d51e7","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:28.895899Z","submissionTimestamp":"2017-12-09T05:20:50.0841006Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"e829aaf0-414c-46df-ab69-2d9f62986096","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/e829aaf0-414c-46df-ab69-2d9f62986096/ticks/636483936282577338","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"b2d3aa73-d783-4375-a064-98079cd2edaa","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:28.2577338Z","submissionTimestamp":"2017-12-09T05:20:39.9794141Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"fc96d187-16c7-4ea4-a80c-cb1abe3a938d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/fc96d187-16c7-4ea4-a80c-cb1abe3a938d/ticks/636483936269716382","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"9131a6b1-8c84-4761-85ba-9e155b40ffbe","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:26.9716382Z","submissionTimestamp":"2017-12-09T05:20:40.5339552Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"84e69362-734a-4d01-ad67-d40a51071911","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/84e69362-734a-4d01-ad67-d40a51071911/ticks/636483936133495638","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3931a993-da5d-4ffb-a53f-3725fe41f9b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:13.3495638Z","submissionTimestamp":"2017-12-09T05:20:29.7480002Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"172ee1ce-a08c-4869-808b-aefc97479870","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/172ee1ce-a08c-4869-808b-aefc97479870/ticks/636483936102743029","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3bacb20e-3fc2-4bcf-ad42-67cd9a56ee8e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:10.2743029Z","submissionTimestamp":"2017-12-09T05:20:29.3964496Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c863e3ad-861a-4842-9bed-5d7b5c21f752","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/c863e3ad-861a-4842-9bed-5d7b5c21f752/ticks/636483935975493658","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3c059bde-9ba7-4705-a46a-90f041019563","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:57.5493658Z","submissionTimestamp":"2017-12-09T05:20:10.1148471Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218/ticks/636483935968523897","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"6b4f8ac8-b6be-4676-a1ef-c2efd07639b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:56.8523897Z","submissionTimestamp":"2017-12-09T05:20:10.2353207Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2/ticks/636483935945781875","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"502f330f-757e-492a-bf5d-8b2c1a9c5e87","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:54.5781875Z","submissionTimestamp":"2017-12-09T05:20:09.9808359Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"629517bd-3422-4799-aed0-e76166f332df","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/629517bd-3422-4799-aed0-e76166f332df/ticks/636483935815203536","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"608c44ca-b946-4085-b677-c60b4364cd4f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.5203536Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0a3e8fa0-b1aa-430d-813d-717d9ccaba43","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/0a3e8fa0-b1aa-430d-813d-717d9ccaba43/ticks/636483935813640803","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"e8a78a19-e992-4a15-9b9d-1d396e76841e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.3640803Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f502a53a-bef1-45ce-a64f-3cec67be9e74","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/f502a53a-bef1-45ce-a64f-3cec67be9e74/ticks/636483935785592969","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"934cbf0a-66c3-40ac-83ad-5a900bd0a3ee","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:38.5592969Z","submissionTimestamp":"2017-12-09T05:20:00.1233196Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"76b649ce-1ebe-4dac-89a1-78bd004fbdbe","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/76b649ce-1ebe-4dac-89a1-78bd004fbdbe/ticks/636483935662684070","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"2368e683-ae0d-4e05-93f7-5251dd7859ff"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:26.268407Z","submissionTimestamp":"2017-12-09T05:19:40.0013894Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0/ticks/636483935658854059","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"770228b2-9970-4da2-8bb3-5eb17f427abd"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:25.8854059Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2ef95b9d-6cc9-4eaa-a265-599681ba4120","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/2ef95b9d-6cc9-4eaa-a265-599681ba4120/ticks/636483935628933848","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.8933848Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"fe383666-3d1f-445b-a21a-bfe1cb911e8f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/fe383666-3d1f-445b-a21a-bfe1cb911e8f/ticks/636483935626751699","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"97c87afe-ca58-46e2-8944-72c541d4a229"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.6751699Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"4c47093b-1a6c-422e-be0d-3b610067fa96","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/4c47093b-1a6c-422e-be0d-3b610067fa96/ticks/636483935624715321","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0179ac94-8373-4392-87f6-59dce144ba0a","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"40a6b458-3268-400a-b594-b782474e5613\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.5\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.4715321Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"18a7b81d-bf54-4f62-9028-d2f0d1507d78","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/18a7b81d-bf54-4f62-9028-d2f0d1507d78/ticks/636483935623914480","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.391448Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b6cc422e-578b-40e7-9436-142f9f132b8c","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/b6cc422e-578b-40e7-9436-142f9f132b8c/ticks/636483935619695965","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0488286b-cd93-4ba0-95c2-39b32adf684e","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"6e8dafff-a250-48f1-98f8-81ba6740af90\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.4\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:21.9695965Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1deef98-0832-4f8b-80f9-845dbd487bbd","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/b1deef98-0832-4f8b-80f9-845dbd487bbd/ticks/636483935615187666","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:21.5187666Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0c815960-230e-4117-b401-3fcfbcd9634b","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/0c815960-230e-4117-b401-3fcfbcd9634b/ticks/636483935608915102","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:20.8915102Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3b3a8117-8604-4212-a730-3d8b798b473d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/3b3a8117-8604-4212-a730-3d8b798b473d/ticks/636483935588001992","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:18.8001992Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1b08df7-d8a3-4198-90aa-b6f497d4c3a6","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/b1b08df7-d8a3-4198-90aa-b6f497d4c3a6/ticks/636483935584565023","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"cfbdf455-8659-44f0-a969-ca5c5fff6a82","responseBody":"{\\"name\\":\\"k8s-master-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"287a1f86-dcd9-479b-95f3-855f558519e8\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\",\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}]}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:18.4565023Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"eafa3e8d-bb05-4cbc-831b-515b421feb6c","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/eafa3e8d-bb05-4cbc-831b-515b421feb6c/ticks/636483935576596018","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}],\\"primary\\":true,\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.6596018Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0630ea34-5e08-4df7-806c-5ba277e8ee98","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/0630ea34-5e08-4df7-806c-5ba277e8ee98/ticks/636483935574567301","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"010e332e-ae98-4d7f-8d89-b13bcd67dd82","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.4567301Z","submissionTimestamp":"2017-12-09T05:19:29.9175501Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"23c16967-c5de-434a-883d-9dcbb5cf7910","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/23c16967-c5de-434a-883d-9dcbb5cf7910/ticks/636483935571498862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"9d8c0359-5075-4aa5-9300-41c5abe70457","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.1498862Z","submissionTimestamp":"2017-12-09T05:19:29.9514229Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3637760d-70c1-4541-a66a-eba014903301","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/3637760d-70c1-4541-a66a-eba014903301/ticks/636483935514628368","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"4d2efcf5-cd3f-47e1-87b4-25ee3eb24361","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.4628368Z","submissionTimestamp":"2017-12-09T05:19:29.8886293Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"96b089d0-749d-4278-a2b9-20d010d8eb76","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/96b089d0-749d-4278-a2b9-20d010d8eb76/ticks/636483935512332041","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"properties":{"statusCode":"Created","serviceRequestId":"fcd5a581-c4fa-4f03-9aeb-4aa694a54fbd"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:11.2332041Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"37a4a8ec-5993-4756-881c-7f6fe9d2b415","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/37a4a8ec-5993-4756-881c-7f6fe9d2b415/ticks/636483935510457343","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.0457343Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c0f2181e-829d-4b04-96e6-91d90ffe74c8","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/c0f2181e-829d-4b04-96e6-91d90ffe74c8/ticks/636483935507957703","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"statusCode":"Created","serviceRequestId":"3a931eae-ac9c-414f-b748-d28628f2c996","responseBody":"{\\"name\\":\\"k8s-master-lb-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"type\\":\\"Microsoft.Network/loadBalancers\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"a8c2b30a-7f33-4beb-b9e6-1cfb8b254ef3\\",\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"},\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"idleTimeoutInMinutes\\":5,\\"protocol\\":\\"Tcp\\",\\"loadDistribution\\":\\"Default\\",\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"}}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"protocol\\":\\"Tcp\\",\\"port\\":443,\\"intervalInSeconds\\":5,\\"numberOfProbes\\":2,\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"inboundNatRules\\":[],\\"outboundNatRules\\":[],\\"inboundNatPools\\":[]}}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:10.7957703Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e/ticks/636483935499050370","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\"}],\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"properties\\":{\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"}}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"properties\\":{\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"idleTimeoutInMinutes\\":5,\\"loadDistribution\\":\\"Default\\",\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"},\\"protocol\\":\\"tcp\\"}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"properties\\":{\\"intervalInSeconds\\":\\"5\\",\\"numberOfProbes\\":\\"2\\",\\"port\\":443,\\"protocol\\":\\"tcp\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:09.905037Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"42843e04-3819-4b19-8a25-1ec0a7634855","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/42843e04-3819-4b19-8a25-1ec0a7634855/ticks/636483935462644362","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"statusCode":"Created","serviceRequestId":"73c1ebb8-ec8b-41d5-aaf6-128425b11048","responseBody":"{\\"name\\":\\"k8s-master-ip-fabricnlp9-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\",\\"etag\\":\\"W/\\\\\\"2aece227-86b3-4d07-80e1-505ad9e017b3\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"08ac6d19-b8e9-4187-a993-feb5207a6768\\",\\"publicIPAddressVersion\\":\\"IPv4\\",\\"publicIPAllocationMethod\\":\\"Dynamic\\",\\"idleTimeoutInMinutes\\":4,\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\",\\"fqdn\\":\\"fabricnlp9.eastus.cloudapp.azure.com\\"}},\\"type\\":\\"Microsoft.Network/publicIPAddresses\\"}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:06.2644362Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c961bc1c-adc5-4f0b-a850-02060fdf468f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/c961bc1c-adc5-4f0b-a850-02060fdf468f/ticks/636483935459519543","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"statusCode":"Created","serviceRequestId":"cbec7ef0-5357-4ce4-b2ce-5d79377a7871","responseBody":"{\\"name\\":\\"k8s-master-25033075-nsg\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"type\\":\\"Microsoft.Network/networkSecurityGroups\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"0e94a593-0195-4379-b798-56011f9e1b99\\",\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_ssh\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":101,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_kube_tls\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":100,\\"direction\\":\\"Inbound\\"}}],\\"defaultSecurityRules\\":[{\\"name\\":\\"AllowVnetInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowAzureLoadBalancerInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowAzureLoadBalancerInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from azure load balancer\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"AzureLoadBalancer\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"DenyAllInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all inbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowVnetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"AllowInternetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowInternetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to Internet\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"Internet\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"DenyAllOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all outbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Outbound\\"}}]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9519543Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f7ec8371-3033-467f-923d-2af6b2168b3a","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/f7ec8371-3033-467f-923d-2af6b2168b3a/ticks/636483935459206868","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"statusCode":"Created","serviceRequestId":"2127672f-cb17-4957-a6fa-9c3d112bf86d","responseBody":"{\\"name\\":\\"k8s-master-25033075-routetable\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable\\",\\"etag\\":\\"W/\\\\\\"e999d01a-3925-4d88-90ca-dde1e957723e\\\\\\"\\",\\"type\\":\\"Microsoft.Network/routeTables\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"2c300a3b-6237-4592-9fd0-a7eb3f365a28\\",\\"routes\\":[]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9206868Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2a0e4d77-1830-40c5-993e-af900e4260bb","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/2a0e4d77-1830-40c5-993e-af900e4260bb/ticks/636483935457956862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"e8611b1b-c62b-4d00-b87c-aea3bc210226"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7956862Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b/ticks/636483935457800589","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"570b1876-904b-4e3d-8154-3df414bd0c79"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7800589Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0f57cc09-3d02-401c-8e6e-7bda7cbd950d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/0f57cc09-3d02-401c-8e6e-7bda7cbd950d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"7ca02e9c-635f-488e-bbe3-921f51760a4d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/7ca02e9c-635f-488e-bbe3-921f51760a4d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"519755ef-e484-4243-bfeb-0edde3c8c163","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/519755ef-e484-4243-bfeb-0edde3c8c163/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"direction\\":\\"Inbound\\",\\"priority\\":101,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"direction\\":\\"Inbound\\",\\"priority\\":100,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"79ede4b5-7470-4d12-8d22-bbac17c48a8e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/79ede4b5-7470-4d12-8d22-bbac17c48a8e/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\"},\\"publicIPAllocationMethod\\":\\"Dynamic\\"}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d542e1b7-71de-4cde-929d-d1174ea92deb","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/d542e1b7-71de-4cde-929d-d1174ea92deb/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\"}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"34efd43d-0a0b-47a6-be9e-3e3fd74265ad","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/34efd43d-0a0b-47a6-be9e-3e3fd74265ad/ticks/636483935441012452","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"properties":{"statusCode":"OK","serviceRequestId":null},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:04.1012452Z","submissionTimestamp":"2017-12-09T05:19:19.9694084Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"745490e4-6d74-4e41-ac44-1d5e5b10b68d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/745490e4-6d74-4e41-ac44-1d5e5b10b68d/ticks/636483935404291527","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:00.4291527Z","submissionTimestamp":"2017-12-09T05:19:19.9684077Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"}]}' -INFO: Succeeded: cse1 (Microsoft.Compute/virtualMachines/extensions) -DEBUG: Getting management service client client_type=MonitorManagementClient -DEBUG: adal-python : 14eea45b-8178-4199-b389-0c62ccccd102 - Authority:Performing instance discovery: https://login.microsoftonline.com/52807a8b-794c-4c07-825f-578847e1257e -DEBUG: adal-python : 14eea45b-8178-4199-b389-0c62ccccd102 - Authority:Performing static instance discovery -DEBUG: adal-python : 14eea45b-8178-4199-b389-0c62ccccd102 - Authority:Authority validated via static instance discovery -INFO: adal-python : 14eea45b-8178-4199-b389-0c62ccccd102 - TokenRequest:Getting token from cache with refresh if necessary. -DEBUG: adal-python : 14eea45b-8178-4199-b389-0c62ccccd102 - OAuth2Client:finding with query: {"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 14eea45b-8178-4199-b389-0c62ccccd102 - OAuth2Client:Looking for potential cache entries: -DEBUG: adal-python : 14eea45b-8178-4199-b389-0c62ccccd102 - OAuth2Client:{"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 14eea45b-8178-4199-b389-0c62ccccd102 - OAuth2Client:Found 4 potential entries. -DEBUG: adal-python : 14eea45b-8178-4199-b389-0c62ccccd102 - OAuth2Client:Resource specific token found. -DEBUG: adal-python : 14eea45b-8178-4199-b389-0c62ccccd102 - OAuth2Client:Returning token from cache lookup, AccessTokenId: b'kslIbWka8YbxRUy8vLy6JNH7izY8GoVPIpyFsPticn4=', RefreshTokenId: b'ZKVr4cTgxa0EDZ2Kgqem4UHxIsbWBdRNnpWnblHwFnE=' -DEBUG: msrest.pipeline : Configuring request: timeout=100, verify=True, cert=None -DEBUG: msrest.pipeline : Configuring redirects: allow=True, max=30 -DEBUG: msrest.pipeline : Configuring proxies: '' -DEBUG: msrest.pipeline : Evaluate proxies against ENV settings: True -DEBUG: msrest.pipeline : Configuring retry: max_retries=4, backoff_factor=0.8, max_backoff=90 -DEBUG: urllib3.connectionpool : Starting new HTTPS connection (1): management.azure.com -DEBUG: urllib3.connectionpool : https://management.azure.com:443 "GET /subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A23%3A29Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27 HTTP/1.1" 200 None -DEBUG: msrest.http_logger : Request URL: 'https://management.azure.com/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A23%3A29Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27' -DEBUG: msrest.http_logger : Request method: 'GET' -DEBUG: msrest.http_logger : Request headers: -DEBUG: msrest.http_logger : 'User-Agent': 'python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.19 msrest_azure/0.4.17 monitormanagementclient/0.4.0 Azure-SDK-For-Python AZURECLI/2.0.22' -DEBUG: msrest.http_logger : 'Accept-Encoding': 'gzip, deflate' -DEBUG: msrest.http_logger : 'Accept': 'application/json' -DEBUG: msrest.http_logger : 'Connection': 'keep-alive' -DEBUG: msrest.http_logger : 'Authorization': '*****' -DEBUG: msrest.http_logger : 'x-ms-client-request-id': '7538e6de-dca0-11e7-b921-e4b3187aa3c2' -DEBUG: msrest.http_logger : 'CommandName': 'group deployment create' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'accept-language': 'en-US' -DEBUG: msrest.http_logger : Request body: -DEBUG: msrest.http_logger : None -DEBUG: msrest.http_logger : Response status: 200 -DEBUG: msrest.http_logger : Response headers: -DEBUG: msrest.http_logger : 'Cache-Control': 'no-cache' -DEBUG: msrest.http_logger : 'Pragma': 'no-cache' -DEBUG: msrest.http_logger : 'Transfer-Encoding': 'chunked' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'Content-Encoding': 'gzip' -DEBUG: msrest.http_logger : 'Expires': '-1' -DEBUG: msrest.http_logger : 'Vary': 'Accept-Encoding,Accept-Encoding' -DEBUG: msrest.http_logger : 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains' -DEBUG: msrest.http_logger : 'x-ms-request-id': 'EastUS_816f505a7f7b4bd1bc61d5d1eee7cd46_636483938096875495' -DEBUG: msrest.http_logger : 'Server': 'Microsoft-IIS/8.5' -DEBUG: msrest.http_logger : 'x-ms-ratelimit-remaining-subscription-reads': '14935' -DEBUG: msrest.http_logger : 'x-ms-correlation-request-id': '43868d39-f690-4ccb-bf06-b303f37e3b05' -DEBUG: msrest.http_logger : 'x-ms-routing-request-id': 'NORTHCENTRALUS:20171209T052329Z:43868d39-f690-4ccb-bf06-b303f37e3b05' -DEBUG: msrest.http_logger : 'Date': 'Sat, 09 Dec 2017 05:23:29 GMT' -DEBUG: msrest.http_logger : Response content: -DEBUG: msrest.http_logger : b'{"value":[{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"9888bcdc-806e-4157-af8f-de02df6300bd","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/9888bcdc-806e-4157-af8f-de02df6300bd/ticks/636483937732339804","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"fbaa2f35-a111-4656-ba5e-d300563acb0c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:53.2339804Z","submissionTimestamp":"2017-12-09T05:23:09.7624674Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f99ef43a-cd62-4a14-a4c8-9ae254d003b0","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1/events/f99ef43a-cd62-4a14-a4c8-9ae254d003b0/ticks/636483937722900476","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"5963d0ba-33f5-4e96-b85f-d323b3d912d7","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:52.2900476Z","submissionTimestamp":"2017-12-09T05:23:09.9713806Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b0e4cb48-bf5b-4b06-8c0a-9143a0d4fcb3","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/b0e4cb48-bf5b-4b06-8c0a-9143a0d4fcb3/ticks/636483937576423377","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"3efa233d-8f27-4efa-b064-677b7b67bc67","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:37.6423377Z","submissionTimestamp":"2017-12-09T05:22:49.60389Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"dc9394ac-67c4-41ec-9ddb-73846e21d7ce","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1/events/dc9394ac-67c4-41ec-9ddb-73846e21d7ce/ticks/636483937560570872","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"bd23822b-5c10-4c58-a78f-631e647e78a0","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:36.0570872Z","submissionTimestamp":"2017-12-09T05:22:50.0088228Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"80ac9ea3-7486-42c2-ba69-a66cc2d57253","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"43e46f79-ac18-4e4f-b626-21b8ed2cb289","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1/events/80ac9ea3-7486-42c2-ba69-a66cc2d57253/ticks/636483937404347475","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"bc872941-458a-41d2-abdb-0e71bb41d329","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Created","serviceRequestId":"ba82fb07-8e09-40c9-bd2a-5f6c4eb4c63c"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:22:20.4347475Z","submissionTimestamp":"2017-12-09T05:22:39.8277359Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f743b31b-56b2-4be0-b739-64df8f116cf8","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/f743b31b-56b2-4be0-b739-64df8f116cf8/ticks/636483937399447061","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"f172354a-3d57-4b62-bf9a-f7966c4b2f77","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:19.9447061Z","submissionTimestamp":"2017-12-09T05:22:39.9032731Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"951dce02-98b4-491a-93f8-165828325b12","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0/events/951dce02-98b4-491a-93f8-165828325b12/ticks/636483937394769730","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"cfce0f61-e839-4442-9171-865242d8cfaf","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:19.476973Z","submissionTimestamp":"2017-12-09T05:22:39.9617636Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"67886206-67d6-4c3a-acb0-c4f508841525","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"43e46f79-ac18-4e4f-b626-21b8ed2cb289","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1/events/67886206-67d6-4c3a-acb0-c4f508841525/ticks/636483937393253781","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"bc872941-458a-41d2-abdb-0e71bb41d329","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:19.3253781Z","submissionTimestamp":"2017-12-09T05:22:39.8277359Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3a1f2878-bd44-40af-b28c-5cf261653905","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/3a1f2878-bd44-40af-b28c-5cf261653905/ticks/636483937367361788","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"65265daa-0c52-42bf-8745-a1b5415ab306","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:16.7361788Z","submissionTimestamp":"2017-12-09T05:22:30.0593033Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"e8ac5dac-7625-437b-a00f-ac00d73e738d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0/events/e8ac5dac-7625-437b-a00f-ac00d73e738d/ticks/636483937246792693","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"8ce20380-abec-458e-b6ac-ffc0035d5c9c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:04.6792693Z","submissionTimestamp":"2017-12-09T05:22:20.3877595Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"962936e1-03af-4fe3-9088-c2b6b6e7241a","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/962936e1-03af-4fe3-9088-c2b6b6e7241a/ticks/636483937237581301","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7cc05f54-93e1-4fb6-b74b-356d3be748e4","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:03.7581301Z","submissionTimestamp":"2017-12-09T05:22:20.1548526Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"1a6d6267-532b-4e10-b128-1ca3764743c5","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/1a6d6267-532b-4e10-b128-1ca3764743c5/ticks/636483937228514859","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"0e2b86a4-e606-4866-b8a6-7d037e86a18e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:02.8514859Z","submissionTimestamp":"2017-12-09T05:22:20.5022003Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"49ec54cf-4f14-46d4-bd7e-f246ee8651c1","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5152062e-2c81-4aad-8549-a92d10c33626","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0/events/49ec54cf-4f14-46d4-bd7e-f246ee8651c1/ticks/636483937087255615","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"fbcc9bbb-b699-4b72-89bc-f6f122215474","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Created","serviceRequestId":"256f3de1-7874-4a6e-abd9-12e2a11451da"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:21:48.7255615Z","submissionTimestamp":"2017-12-09T05:22:10.1745201Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"1d8e3d4e-a5e3-443d-a461-dc5794a35d38","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/1d8e3d4e-a5e3-443d-a461-dc5794a35d38/ticks/636483937082212628","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"686d0328-747a-46a4-b72e-a933019bb839","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:48.2212628Z","submissionTimestamp":"2017-12-09T05:21:59.5778305Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"40021681-948f-4ba9-8569-575365b8c50d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/40021681-948f-4ba9-8569-575365b8c50d/ticks/636483937078958824","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"b53779fb-b595-4c81-b2d6-66e1252716f9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:47.8958824Z","submissionTimestamp":"2017-12-09T05:22:00.0185721Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"1c43593f-4ece-40d3-87b0-2dd69ac25a0b","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5152062e-2c81-4aad-8549-a92d10c33626","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0/events/1c43593f-4ece-40d3-87b0-2dd69ac25a0b/ticks/636483937075688138","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"fbcc9bbb-b699-4b72-89bc-f6f122215474","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:47.5688138Z","submissionTimestamp":"2017-12-09T05:21:59.9781196Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b36b44c4-2071-449d-a15c-2a35ef564915","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/b36b44c4-2071-449d-a15c-2a35ef564915/ticks/636483937074586450","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"1aaf4088-f383-4d21-850d-45c40252aeea","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:47.458645Z","submissionTimestamp":"2017-12-09T05:22:00.1040083Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"e2d01640-14bd-42ac-b85e-51bee880bce4","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/e2d01640-14bd-42ac-b85e-51bee880bce4/ticks/636483936927918336","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"ab6c463e-0179-4531-afac-24348d49e94d","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:32.7918336Z","submissionTimestamp":"2017-12-09T05:21:50.3523005Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"a6f2997a-c77e-409f-9f38-0e4689643d49","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/a6f2997a-c77e-409f-9f38-0e4689643d49/ticks/636483936915973109","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"2e12aed4-0ae2-421c-a1aa-48463f7c5eae","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:31.5973109Z","submissionTimestamp":"2017-12-09T05:21:50.1043019Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"faec52ee-ad32-47b3-b19c-9f1c363e9e45","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/faec52ee-ad32-47b3-b19c-9f1c363e9e45/ticks/636483936911518846","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fe6347e6-221d-466f-9241-fc2e9aeb9d9f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:31.1518846Z","submissionTimestamp":"2017-12-09T05:21:50.301343Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"babf2609-61dc-495f-80df-ad433072a19e","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/babf2609-61dc-495f-80df-ad433072a19e/ticks/636483936774315016","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"381f670a-69d7-4ac9-a374-4eb3c2132e5b","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:17.4315016Z","submissionTimestamp":"2017-12-09T05:21:30.4136212Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"56378e6b-714f-4ef1-944c-259ede9dfb43","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/56378e6b-714f-4ef1-944c-259ede9dfb43/ticks/636483936759741086","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"1325bb09-8e5e-4832-a799-dc3766c6b8a2","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:15.9741086Z","submissionTimestamp":"2017-12-09T05:21:30.0927902Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"7f8ed437-3a61-4667-a316-a69d1901fa5d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/7f8ed437-3a61-4667-a316-a69d1901fa5d/ticks/636483936758491013","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"58c7e49d-29e1-4157-8871-dd1bebd42936","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:15.8491013Z","submissionTimestamp":"2017-12-09T05:21:30.0927902Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d7cc4ff6-ae5a-4247-9b8b-3e5e8c6d7218","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/d7cc4ff6-ae5a-4247-9b8b-3e5e8c6d7218/ticks/636483936615161642","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"d5f1fa4d-c3fc-42f1-aa60-dc57da5b9a25","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:01.5161642Z","submissionTimestamp":"2017-12-09T05:21:20.0860134Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"4e7a05fa-80af-42f8-bd89-34fd6f8b219f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/4e7a05fa-80af-42f8-bd89-34fd6f8b219f/ticks/636483936604503602","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"f92ed3c9-924d-47d0-8201-48456822b191","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:00.4503602Z","submissionTimestamp":"2017-12-09T05:21:19.6077919Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"5851d2ad-f28b-43f8-920f-07863f548733","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/5851d2ad-f28b-43f8-920f-07863f548733/ticks/636483936601536698","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc7bd08b-866e-48a5-a537-9d4fe78c8e3e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:00.1536698Z","submissionTimestamp":"2017-12-09T05:21:20.0989911Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c63c3a58-6e60-4d0a-8892-88771b5d2d2d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"06aebdda-7a37-4f4e-b766-26b3ea561951","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/c63c3a58-6e60-4d0a-8892-88771b5d2d2d/ticks/636483936458560786","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7e7d2109-9794-4a26-8444-026e9640661c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Created","serviceRequestId":"db62465a-e660-493e-8b3b-286ed8596452"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:20:45.8560786Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d256c2ab-b9ba-43ac-ba8d-bf1b809b8a9b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/d256c2ab-b9ba-43ac-ba8d-bf1b809b8a9b/ticks/636483936448959408","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"0e990a14-1a57-4ea2-8056-47380457fe70","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.8959408Z","submissionTimestamp":"2017-12-09T05:20:59.705539Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"efa72caa-24ef-4463-87bb-dff257d7896e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"06aebdda-7a37-4f4e-b766-26b3ea561951","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/efa72caa-24ef-4463-87bb-dff257d7896e/ticks/636483936445435451","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7e7d2109-9794-4a26-8444-026e9640661c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.5435451Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"078e8afb-ad14-432b-8327-9bd85371586b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/078e8afb-ad14-432b-8327-9bd85371586b/ticks/636483936443716624","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"35936685-5536-4681-a2c1-7882a7d6ea0f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.3716624Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6a34ff92-1bdb-40da-a940-ce61ee3143df","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/6a34ff92-1bdb-40da-a940-ce61ee3143df/ticks/636483936429993173","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"29718454-78c2-40c6-b631-71e4e334bcd8","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:42.9993173Z","submissionTimestamp":"2017-12-09T05:20:59.8731419Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"766d0bab-9165-464a-94ae-105d8dcac708","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/766d0bab-9165-464a-94ae-105d8dcac708/ticks/636483936288958990","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"19b22b89-dd10-4c67-8c2c-4d458a4d51e7","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:28.895899Z","submissionTimestamp":"2017-12-09T05:20:50.0841006Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"e829aaf0-414c-46df-ab69-2d9f62986096","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/e829aaf0-414c-46df-ab69-2d9f62986096/ticks/636483936282577338","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"b2d3aa73-d783-4375-a064-98079cd2edaa","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:28.2577338Z","submissionTimestamp":"2017-12-09T05:20:39.9794141Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"fc96d187-16c7-4ea4-a80c-cb1abe3a938d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/fc96d187-16c7-4ea4-a80c-cb1abe3a938d/ticks/636483936269716382","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"9131a6b1-8c84-4761-85ba-9e155b40ffbe","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:26.9716382Z","submissionTimestamp":"2017-12-09T05:20:40.5339552Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"84e69362-734a-4d01-ad67-d40a51071911","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/84e69362-734a-4d01-ad67-d40a51071911/ticks/636483936133495638","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3931a993-da5d-4ffb-a53f-3725fe41f9b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:13.3495638Z","submissionTimestamp":"2017-12-09T05:20:29.7480002Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"172ee1ce-a08c-4869-808b-aefc97479870","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/172ee1ce-a08c-4869-808b-aefc97479870/ticks/636483936102743029","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3bacb20e-3fc2-4bcf-ad42-67cd9a56ee8e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:10.2743029Z","submissionTimestamp":"2017-12-09T05:20:29.3964496Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c863e3ad-861a-4842-9bed-5d7b5c21f752","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/c863e3ad-861a-4842-9bed-5d7b5c21f752/ticks/636483935975493658","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3c059bde-9ba7-4705-a46a-90f041019563","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:57.5493658Z","submissionTimestamp":"2017-12-09T05:20:10.1148471Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218/ticks/636483935968523897","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"6b4f8ac8-b6be-4676-a1ef-c2efd07639b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:56.8523897Z","submissionTimestamp":"2017-12-09T05:20:10.2353207Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2/ticks/636483935945781875","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"502f330f-757e-492a-bf5d-8b2c1a9c5e87","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:54.5781875Z","submissionTimestamp":"2017-12-09T05:20:09.9808359Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"629517bd-3422-4799-aed0-e76166f332df","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/629517bd-3422-4799-aed0-e76166f332df/ticks/636483935815203536","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"608c44ca-b946-4085-b677-c60b4364cd4f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.5203536Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0a3e8fa0-b1aa-430d-813d-717d9ccaba43","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/0a3e8fa0-b1aa-430d-813d-717d9ccaba43/ticks/636483935813640803","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"e8a78a19-e992-4a15-9b9d-1d396e76841e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.3640803Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f502a53a-bef1-45ce-a64f-3cec67be9e74","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/f502a53a-bef1-45ce-a64f-3cec67be9e74/ticks/636483935785592969","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"934cbf0a-66c3-40ac-83ad-5a900bd0a3ee","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:38.5592969Z","submissionTimestamp":"2017-12-09T05:20:00.1233196Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"76b649ce-1ebe-4dac-89a1-78bd004fbdbe","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/76b649ce-1ebe-4dac-89a1-78bd004fbdbe/ticks/636483935662684070","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"2368e683-ae0d-4e05-93f7-5251dd7859ff"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:26.268407Z","submissionTimestamp":"2017-12-09T05:19:40.0013894Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0/ticks/636483935658854059","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"770228b2-9970-4da2-8bb3-5eb17f427abd"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:25.8854059Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2ef95b9d-6cc9-4eaa-a265-599681ba4120","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/2ef95b9d-6cc9-4eaa-a265-599681ba4120/ticks/636483935628933848","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.8933848Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"fe383666-3d1f-445b-a21a-bfe1cb911e8f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/fe383666-3d1f-445b-a21a-bfe1cb911e8f/ticks/636483935626751699","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"97c87afe-ca58-46e2-8944-72c541d4a229"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.6751699Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"4c47093b-1a6c-422e-be0d-3b610067fa96","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/4c47093b-1a6c-422e-be0d-3b610067fa96/ticks/636483935624715321","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0179ac94-8373-4392-87f6-59dce144ba0a","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"40a6b458-3268-400a-b594-b782474e5613\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.5\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.4715321Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"18a7b81d-bf54-4f62-9028-d2f0d1507d78","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/18a7b81d-bf54-4f62-9028-d2f0d1507d78/ticks/636483935623914480","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.391448Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b6cc422e-578b-40e7-9436-142f9f132b8c","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/b6cc422e-578b-40e7-9436-142f9f132b8c/ticks/636483935619695965","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0488286b-cd93-4ba0-95c2-39b32adf684e","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"6e8dafff-a250-48f1-98f8-81ba6740af90\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.4\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:21.9695965Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1deef98-0832-4f8b-80f9-845dbd487bbd","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/b1deef98-0832-4f8b-80f9-845dbd487bbd/ticks/636483935615187666","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:21.5187666Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0c815960-230e-4117-b401-3fcfbcd9634b","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/0c815960-230e-4117-b401-3fcfbcd9634b/ticks/636483935608915102","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:20.8915102Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3b3a8117-8604-4212-a730-3d8b798b473d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/3b3a8117-8604-4212-a730-3d8b798b473d/ticks/636483935588001992","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:18.8001992Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1b08df7-d8a3-4198-90aa-b6f497d4c3a6","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/b1b08df7-d8a3-4198-90aa-b6f497d4c3a6/ticks/636483935584565023","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"cfbdf455-8659-44f0-a969-ca5c5fff6a82","responseBody":"{\\"name\\":\\"k8s-master-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"287a1f86-dcd9-479b-95f3-855f558519e8\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\",\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}]}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:18.4565023Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"eafa3e8d-bb05-4cbc-831b-515b421feb6c","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/eafa3e8d-bb05-4cbc-831b-515b421feb6c/ticks/636483935576596018","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}],\\"primary\\":true,\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.6596018Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0630ea34-5e08-4df7-806c-5ba277e8ee98","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/0630ea34-5e08-4df7-806c-5ba277e8ee98/ticks/636483935574567301","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"010e332e-ae98-4d7f-8d89-b13bcd67dd82","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.4567301Z","submissionTimestamp":"2017-12-09T05:19:29.9175501Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"23c16967-c5de-434a-883d-9dcbb5cf7910","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/23c16967-c5de-434a-883d-9dcbb5cf7910/ticks/636483935571498862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"9d8c0359-5075-4aa5-9300-41c5abe70457","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.1498862Z","submissionTimestamp":"2017-12-09T05:19:29.9514229Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3637760d-70c1-4541-a66a-eba014903301","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/3637760d-70c1-4541-a66a-eba014903301/ticks/636483935514628368","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"4d2efcf5-cd3f-47e1-87b4-25ee3eb24361","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.4628368Z","submissionTimestamp":"2017-12-09T05:19:29.8886293Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"96b089d0-749d-4278-a2b9-20d010d8eb76","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/96b089d0-749d-4278-a2b9-20d010d8eb76/ticks/636483935512332041","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"properties":{"statusCode":"Created","serviceRequestId":"fcd5a581-c4fa-4f03-9aeb-4aa694a54fbd"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:11.2332041Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"37a4a8ec-5993-4756-881c-7f6fe9d2b415","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/37a4a8ec-5993-4756-881c-7f6fe9d2b415/ticks/636483935510457343","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.0457343Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c0f2181e-829d-4b04-96e6-91d90ffe74c8","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/c0f2181e-829d-4b04-96e6-91d90ffe74c8/ticks/636483935507957703","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"statusCode":"Created","serviceRequestId":"3a931eae-ac9c-414f-b748-d28628f2c996","responseBody":"{\\"name\\":\\"k8s-master-lb-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"type\\":\\"Microsoft.Network/loadBalancers\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"a8c2b30a-7f33-4beb-b9e6-1cfb8b254ef3\\",\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"},\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"idleTimeoutInMinutes\\":5,\\"protocol\\":\\"Tcp\\",\\"loadDistribution\\":\\"Default\\",\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"}}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"protocol\\":\\"Tcp\\",\\"port\\":443,\\"intervalInSeconds\\":5,\\"numberOfProbes\\":2,\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"inboundNatRules\\":[],\\"outboundNatRules\\":[],\\"inboundNatPools\\":[]}}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:10.7957703Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e/ticks/636483935499050370","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\"}],\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"properties\\":{\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"}}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"properties\\":{\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"idleTimeoutInMinutes\\":5,\\"loadDistribution\\":\\"Default\\",\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"},\\"protocol\\":\\"tcp\\"}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"properties\\":{\\"intervalInSeconds\\":\\"5\\",\\"numberOfProbes\\":\\"2\\",\\"port\\":443,\\"protocol\\":\\"tcp\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:09.905037Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"42843e04-3819-4b19-8a25-1ec0a7634855","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/42843e04-3819-4b19-8a25-1ec0a7634855/ticks/636483935462644362","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"statusCode":"Created","serviceRequestId":"73c1ebb8-ec8b-41d5-aaf6-128425b11048","responseBody":"{\\"name\\":\\"k8s-master-ip-fabricnlp9-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\",\\"etag\\":\\"W/\\\\\\"2aece227-86b3-4d07-80e1-505ad9e017b3\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"08ac6d19-b8e9-4187-a993-feb5207a6768\\",\\"publicIPAddressVersion\\":\\"IPv4\\",\\"publicIPAllocationMethod\\":\\"Dynamic\\",\\"idleTimeoutInMinutes\\":4,\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\",\\"fqdn\\":\\"fabricnlp9.eastus.cloudapp.azure.com\\"}},\\"type\\":\\"Microsoft.Network/publicIPAddresses\\"}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:06.2644362Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c961bc1c-adc5-4f0b-a850-02060fdf468f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/c961bc1c-adc5-4f0b-a850-02060fdf468f/ticks/636483935459519543","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"statusCode":"Created","serviceRequestId":"cbec7ef0-5357-4ce4-b2ce-5d79377a7871","responseBody":"{\\"name\\":\\"k8s-master-25033075-nsg\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"type\\":\\"Microsoft.Network/networkSecurityGroups\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"0e94a593-0195-4379-b798-56011f9e1b99\\",\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_ssh\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":101,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_kube_tls\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":100,\\"direction\\":\\"Inbound\\"}}],\\"defaultSecurityRules\\":[{\\"name\\":\\"AllowVnetInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowAzureLoadBalancerInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowAzureLoadBalancerInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from azure load balancer\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"AzureLoadBalancer\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"DenyAllInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all inbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowVnetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"AllowInternetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowInternetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to Internet\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"Internet\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"DenyAllOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all outbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Outbound\\"}}]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9519543Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f7ec8371-3033-467f-923d-2af6b2168b3a","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/f7ec8371-3033-467f-923d-2af6b2168b3a/ticks/636483935459206868","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"statusCode":"Created","serviceRequestId":"2127672f-cb17-4957-a6fa-9c3d112bf86d","responseBody":"{\\"name\\":\\"k8s-master-25033075-routetable\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable\\",\\"etag\\":\\"W/\\\\\\"e999d01a-3925-4d88-90ca-dde1e957723e\\\\\\"\\",\\"type\\":\\"Microsoft.Network/routeTables\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"2c300a3b-6237-4592-9fd0-a7eb3f365a28\\",\\"routes\\":[]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9206868Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2a0e4d77-1830-40c5-993e-af900e4260bb","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/2a0e4d77-1830-40c5-993e-af900e4260bb/ticks/636483935457956862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"e8611b1b-c62b-4d00-b87c-aea3bc210226"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7956862Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b/ticks/636483935457800589","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"570b1876-904b-4e3d-8154-3df414bd0c79"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7800589Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0f57cc09-3d02-401c-8e6e-7bda7cbd950d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/0f57cc09-3d02-401c-8e6e-7bda7cbd950d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"7ca02e9c-635f-488e-bbe3-921f51760a4d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/7ca02e9c-635f-488e-bbe3-921f51760a4d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"519755ef-e484-4243-bfeb-0edde3c8c163","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/519755ef-e484-4243-bfeb-0edde3c8c163/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"direction\\":\\"Inbound\\",\\"priority\\":101,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"direction\\":\\"Inbound\\",\\"priority\\":100,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"79ede4b5-7470-4d12-8d22-bbac17c48a8e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/79ede4b5-7470-4d12-8d22-bbac17c48a8e/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\"},\\"publicIPAllocationMethod\\":\\"Dynamic\\"}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d542e1b7-71de-4cde-929d-d1174ea92deb","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/d542e1b7-71de-4cde-929d-d1174ea92deb/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\"}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"34efd43d-0a0b-47a6-be9e-3e3fd74265ad","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/34efd43d-0a0b-47a6-be9e-3e3fd74265ad/ticks/636483935441012452","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"properties":{"statusCode":"OK","serviceRequestId":null},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:04.1012452Z","submissionTimestamp":"2017-12-09T05:19:19.9694084Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"745490e4-6d74-4e41-ac44-1d5e5b10b68d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/745490e4-6d74-4e41-ac44-1d5e5b10b68d/ticks/636483935404291527","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:00.4291527Z","submissionTimestamp":"2017-12-09T05:19:19.9684077Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"}]}' -DEBUG: Getting management service client client_type=MonitorManagementClient -DEBUG: adal-python : 8260b0e3-4663-44bb-9da6-1daf5e421a1c - Authority:Performing instance discovery: https://login.microsoftonline.com/52807a8b-794c-4c07-825f-578847e1257e -DEBUG: adal-python : 8260b0e3-4663-44bb-9da6-1daf5e421a1c - Authority:Performing static instance discovery -DEBUG: adal-python : 8260b0e3-4663-44bb-9da6-1daf5e421a1c - Authority:Authority validated via static instance discovery -INFO: adal-python : 8260b0e3-4663-44bb-9da6-1daf5e421a1c - TokenRequest:Getting token from cache with refresh if necessary. -DEBUG: adal-python : 8260b0e3-4663-44bb-9da6-1daf5e421a1c - OAuth2Client:finding with query: {"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 8260b0e3-4663-44bb-9da6-1daf5e421a1c - OAuth2Client:Looking for potential cache entries: -DEBUG: adal-python : 8260b0e3-4663-44bb-9da6-1daf5e421a1c - OAuth2Client:{"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 8260b0e3-4663-44bb-9da6-1daf5e421a1c - OAuth2Client:Found 4 potential entries. -DEBUG: adal-python : 8260b0e3-4663-44bb-9da6-1daf5e421a1c - OAuth2Client:Resource specific token found. -DEBUG: adal-python : 8260b0e3-4663-44bb-9da6-1daf5e421a1c - OAuth2Client:Returning token from cache lookup, AccessTokenId: b'kslIbWka8YbxRUy8vLy6JNH7izY8GoVPIpyFsPticn4=', RefreshTokenId: b'ZKVr4cTgxa0EDZ2Kgqem4UHxIsbWBdRNnpWnblHwFnE=' -DEBUG: msrest.pipeline : Configuring request: timeout=100, verify=True, cert=None -DEBUG: msrest.pipeline : Configuring redirects: allow=True, max=30 -DEBUG: msrest.pipeline : Configuring proxies: '' -DEBUG: msrest.pipeline : Evaluate proxies against ENV settings: True -DEBUG: msrest.pipeline : Configuring retry: max_retries=4, backoff_factor=0.8, max_backoff=90 -DEBUG: urllib3.connectionpool : Starting new HTTPS connection (1): management.azure.com -DEBUG: urllib3.connectionpool : https://management.azure.com:443 "GET /subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A23%3A39Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27 HTTP/1.1" 200 None -DEBUG: msrest.http_logger : Request URL: 'https://management.azure.com/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp%20ge%202017-10-28T13%3A23%3A39Z%20and%20correlationId%20eq%20%27475366a2-8ec0-42b6-9e89-56b79f3c1bad%27' -DEBUG: msrest.http_logger : Request method: 'GET' -DEBUG: msrest.http_logger : Request headers: -DEBUG: msrest.http_logger : 'User-Agent': 'python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.19 msrest_azure/0.4.17 monitormanagementclient/0.4.0 Azure-SDK-For-Python AZURECLI/2.0.22' -DEBUG: msrest.http_logger : 'Accept-Encoding': 'gzip, deflate' -DEBUG: msrest.http_logger : 'Accept': 'application/json' -DEBUG: msrest.http_logger : 'Connection': 'keep-alive' -DEBUG: msrest.http_logger : 'Authorization': '*****' -DEBUG: msrest.http_logger : 'x-ms-client-request-id': '7538e6de-dca0-11e7-b921-e4b3187aa3c2' -DEBUG: msrest.http_logger : 'CommandName': 'group deployment create' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'accept-language': 'en-US' -DEBUG: msrest.http_logger : Request body: -DEBUG: msrest.http_logger : None -DEBUG: msrest.http_logger : Response status: 200 -DEBUG: msrest.http_logger : Response headers: -DEBUG: msrest.http_logger : 'Cache-Control': 'no-cache' -DEBUG: msrest.http_logger : 'Pragma': 'no-cache' -DEBUG: msrest.http_logger : 'Transfer-Encoding': 'chunked' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'Content-Encoding': 'gzip' -DEBUG: msrest.http_logger : 'Expires': '-1' -DEBUG: msrest.http_logger : 'Vary': 'Accept-Encoding,Accept-Encoding' -DEBUG: msrest.http_logger : 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains' -DEBUG: msrest.http_logger : 'x-ms-request-id': 'EastUS_3cbcd8bbae56487a913a735d8cebbe12_636483938197662202' -DEBUG: msrest.http_logger : 'Server': 'Microsoft-IIS/8.5' -DEBUG: msrest.http_logger : 'x-ms-ratelimit-remaining-subscription-reads': '14956' -DEBUG: msrest.http_logger : 'x-ms-correlation-request-id': '33750477-56c9-4659-96e0-b3c5aac91561' -DEBUG: msrest.http_logger : 'x-ms-routing-request-id': 'NORTHCENTRALUS:20171209T052339Z:33750477-56c9-4659-96e0-b3c5aac91561' -DEBUG: msrest.http_logger : 'Date': 'Sat, 09 Dec 2017 05:23:39 GMT' -DEBUG: msrest.http_logger : Response content: -DEBUG: msrest.http_logger : b'{"value":[{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d7b77dfc-270a-42fe-803b-5c68cd72b20e","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/d7b77dfc-270a-42fe-803b-5c68cd72b20e/ticks/636483937892007570","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"a28b8539-c841-4475-8bca-a36a3f59eb91","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:23:09.200757Z","submissionTimestamp":"2017-12-09T05:23:30.5369383Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"9888bcdc-806e-4157-af8f-de02df6300bd","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/9888bcdc-806e-4157-af8f-de02df6300bd/ticks/636483937732339804","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"fbaa2f35-a111-4656-ba5e-d300563acb0c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:53.2339804Z","submissionTimestamp":"2017-12-09T05:23:09.7624674Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f99ef43a-cd62-4a14-a4c8-9ae254d003b0","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1/events/f99ef43a-cd62-4a14-a4c8-9ae254d003b0/ticks/636483937722900476","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"5963d0ba-33f5-4e96-b85f-d323b3d912d7","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:52.2900476Z","submissionTimestamp":"2017-12-09T05:23:09.9713806Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b0e4cb48-bf5b-4b06-8c0a-9143a0d4fcb3","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/b0e4cb48-bf5b-4b06-8c0a-9143a0d4fcb3/ticks/636483937576423377","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"3efa233d-8f27-4efa-b064-677b7b67bc67","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:37.6423377Z","submissionTimestamp":"2017-12-09T05:22:49.60389Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"dc9394ac-67c4-41ec-9ddb-73846e21d7ce","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1/events/dc9394ac-67c4-41ec-9ddb-73846e21d7ce/ticks/636483937560570872","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"bd23822b-5c10-4c58-a78f-631e647e78a0","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:36.0570872Z","submissionTimestamp":"2017-12-09T05:22:50.0088228Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"80ac9ea3-7486-42c2-ba69-a66cc2d57253","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"43e46f79-ac18-4e4f-b626-21b8ed2cb289","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1/events/80ac9ea3-7486-42c2-ba69-a66cc2d57253/ticks/636483937404347475","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"bc872941-458a-41d2-abdb-0e71bb41d329","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Created","serviceRequestId":"ba82fb07-8e09-40c9-bd2a-5f6c4eb4c63c"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:22:20.4347475Z","submissionTimestamp":"2017-12-09T05:22:39.8277359Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f743b31b-56b2-4be0-b739-64df8f116cf8","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/f743b31b-56b2-4be0-b739-64df8f116cf8/ticks/636483937399447061","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"f172354a-3d57-4b62-bf9a-f7966c4b2f77","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:19.9447061Z","submissionTimestamp":"2017-12-09T05:22:39.9032731Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"951dce02-98b4-491a-93f8-165828325b12","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0/events/951dce02-98b4-491a-93f8-165828325b12/ticks/636483937394769730","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"cfce0f61-e839-4442-9171-865242d8cfaf","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:19.476973Z","submissionTimestamp":"2017-12-09T05:22:39.9617636Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"67886206-67d6-4c3a-acb0-c4f508841525","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"43e46f79-ac18-4e4f-b626-21b8ed2cb289","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1/events/67886206-67d6-4c3a-acb0-c4f508841525/ticks/636483937393253781","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/extensions/cse1","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"bc872941-458a-41d2-abdb-0e71bb41d329","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:19.3253781Z","submissionTimestamp":"2017-12-09T05:22:39.8277359Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3a1f2878-bd44-40af-b28c-5cf261653905","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/3a1f2878-bd44-40af-b28c-5cf261653905/ticks/636483937367361788","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"65265daa-0c52-42bf-8745-a1b5415ab306","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:16.7361788Z","submissionTimestamp":"2017-12-09T05:22:30.0593033Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"e8ac5dac-7625-437b-a00f-ac00d73e738d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0/events/e8ac5dac-7625-437b-a00f-ac00d73e738d/ticks/636483937246792693","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"8ce20380-abec-458e-b6ac-ffc0035d5c9c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:04.6792693Z","submissionTimestamp":"2017-12-09T05:22:20.3877595Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"962936e1-03af-4fe3-9088-c2b6b6e7241a","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/962936e1-03af-4fe3-9088-c2b6b6e7241a/ticks/636483937237581301","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7cc05f54-93e1-4fb6-b74b-356d3be748e4","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:03.7581301Z","submissionTimestamp":"2017-12-09T05:22:20.1548526Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"1a6d6267-532b-4e10-b128-1ca3764743c5","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/1a6d6267-532b-4e10-b128-1ca3764743c5/ticks/636483937228514859","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"0e2b86a4-e606-4866-b8a6-7d037e86a18e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:22:02.8514859Z","submissionTimestamp":"2017-12-09T05:22:20.5022003Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"49ec54cf-4f14-46d4-bd7e-f246ee8651c1","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5152062e-2c81-4aad-8549-a92d10c33626","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0/events/49ec54cf-4f14-46d4-bd7e-f246ee8651c1/ticks/636483937087255615","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"fbcc9bbb-b699-4b72-89bc-f6f122215474","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Created","serviceRequestId":"256f3de1-7874-4a6e-abd9-12e2a11451da"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:21:48.7255615Z","submissionTimestamp":"2017-12-09T05:22:10.1745201Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"1d8e3d4e-a5e3-443d-a461-dc5794a35d38","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/1d8e3d4e-a5e3-443d-a461-dc5794a35d38/ticks/636483937082212628","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"686d0328-747a-46a4-b72e-a933019bb839","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:48.2212628Z","submissionTimestamp":"2017-12-09T05:21:59.5778305Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"40021681-948f-4ba9-8569-575365b8c50d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/40021681-948f-4ba9-8569-575365b8c50d/ticks/636483937078958824","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"b53779fb-b595-4c81-b2d6-66e1252716f9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:47.8958824Z","submissionTimestamp":"2017-12-09T05:22:00.0185721Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"1c43593f-4ece-40d3-87b0-2dd69ac25a0b","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5152062e-2c81-4aad-8549-a92d10c33626","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0/events/1c43593f-4ece-40d3-87b0-2dd69ac25a0b/ticks/636483937075688138","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"fbcc9bbb-b699-4b72-89bc-f6f122215474","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:47.5688138Z","submissionTimestamp":"2017-12-09T05:21:59.9781196Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b36b44c4-2071-449d-a15c-2a35ef564915","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/b36b44c4-2071-449d-a15c-2a35ef564915/ticks/636483937074586450","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"1aaf4088-f383-4d21-850d-45c40252aeea","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:47.458645Z","submissionTimestamp":"2017-12-09T05:22:00.1040083Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"e2d01640-14bd-42ac-b85e-51bee880bce4","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/e2d01640-14bd-42ac-b85e-51bee880bce4/ticks/636483936927918336","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"ab6c463e-0179-4531-afac-24348d49e94d","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:32.7918336Z","submissionTimestamp":"2017-12-09T05:21:50.3523005Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"a6f2997a-c77e-409f-9f38-0e4689643d49","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/a6f2997a-c77e-409f-9f38-0e4689643d49/ticks/636483936915973109","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"2e12aed4-0ae2-421c-a1aa-48463f7c5eae","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:31.5973109Z","submissionTimestamp":"2017-12-09T05:21:50.1043019Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"faec52ee-ad32-47b3-b19c-9f1c363e9e45","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/faec52ee-ad32-47b3-b19c-9f1c363e9e45/ticks/636483936911518846","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fe6347e6-221d-466f-9241-fc2e9aeb9d9f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:31.1518846Z","submissionTimestamp":"2017-12-09T05:21:50.301343Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"babf2609-61dc-495f-80df-ad433072a19e","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/babf2609-61dc-495f-80df-ad433072a19e/ticks/636483936774315016","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"381f670a-69d7-4ac9-a374-4eb3c2132e5b","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:17.4315016Z","submissionTimestamp":"2017-12-09T05:21:30.4136212Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"56378e6b-714f-4ef1-944c-259ede9dfb43","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/56378e6b-714f-4ef1-944c-259ede9dfb43/ticks/636483936759741086","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"1325bb09-8e5e-4832-a799-dc3766c6b8a2","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:15.9741086Z","submissionTimestamp":"2017-12-09T05:21:30.0927902Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"7f8ed437-3a61-4667-a316-a69d1901fa5d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/7f8ed437-3a61-4667-a316-a69d1901fa5d/ticks/636483936758491013","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"58c7e49d-29e1-4157-8871-dd1bebd42936","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:15.8491013Z","submissionTimestamp":"2017-12-09T05:21:30.0927902Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d7cc4ff6-ae5a-4247-9b8b-3e5e8c6d7218","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/d7cc4ff6-ae5a-4247-9b8b-3e5e8c6d7218/ticks/636483936615161642","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"d5f1fa4d-c3fc-42f1-aa60-dc57da5b9a25","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:01.5161642Z","submissionTimestamp":"2017-12-09T05:21:20.0860134Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"4e7a05fa-80af-42f8-bd89-34fd6f8b219f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/4e7a05fa-80af-42f8-bd89-34fd6f8b219f/ticks/636483936604503602","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"f92ed3c9-924d-47d0-8201-48456822b191","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:00.4503602Z","submissionTimestamp":"2017-12-09T05:21:19.6077919Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"5851d2ad-f28b-43f8-920f-07863f548733","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/5851d2ad-f28b-43f8-920f-07863f548733/ticks/636483936601536698","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc7bd08b-866e-48a5-a537-9d4fe78c8e3e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:21:00.1536698Z","submissionTimestamp":"2017-12-09T05:21:20.0989911Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c63c3a58-6e60-4d0a-8892-88771b5d2d2d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"06aebdda-7a37-4f4e-b766-26b3ea561951","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/c63c3a58-6e60-4d0a-8892-88771b5d2d2d/ticks/636483936458560786","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7e7d2109-9794-4a26-8444-026e9640661c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"properties":{"statusCode":"Created","serviceRequestId":"db62465a-e660-493e-8b3b-286ed8596452"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:20:45.8560786Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d256c2ab-b9ba-43ac-ba8d-bf1b809b8a9b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/d256c2ab-b9ba-43ac-ba8d-bf1b809b8a9b/ticks/636483936448959408","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"0e990a14-1a57-4ea2-8056-47380457fe70","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.8959408Z","submissionTimestamp":"2017-12-09T05:20:59.705539Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/extensions/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"efa72caa-24ef-4463-87bb-dff257d7896e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"06aebdda-7a37-4f4e-b766-26b3ea561951","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0/events/efa72caa-24ef-4463-87bb-dff257d7896e/ticks/636483936445435451","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/extensions/cse0","resourceType":{"value":"Microsoft.Compute/virtualMachines/extensions","localizedValue":"Microsoft.Compute/virtualMachines/extensions"},"operationId":"7e7d2109-9794-4a26-8444-026e9640661c","operationName":{"value":"Microsoft.Compute/virtualMachines/extensions/write","localizedValue":"Microsoft.Compute/virtualMachines/extensions/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.5435451Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"078e8afb-ad14-432b-8327-9bd85371586b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/078e8afb-ad14-432b-8327-9bd85371586b/ticks/636483936443716624","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"35936685-5536-4681-a2c1-7882a7d6ea0f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:44.3716624Z","submissionTimestamp":"2017-12-09T05:21:00.1324896Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6a34ff92-1bdb-40da-a940-ce61ee3143df","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/6a34ff92-1bdb-40da-a940-ce61ee3143df/ticks/636483936429993173","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"29718454-78c2-40c6-b631-71e4e334bcd8","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:42.9993173Z","submissionTimestamp":"2017-12-09T05:20:59.8731419Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"766d0bab-9165-464a-94ae-105d8dcac708","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/766d0bab-9165-464a-94ae-105d8dcac708/ticks/636483936288958990","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"19b22b89-dd10-4c67-8c2c-4d458a4d51e7","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:28.895899Z","submissionTimestamp":"2017-12-09T05:20:50.0841006Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"e829aaf0-414c-46df-ab69-2d9f62986096","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/e829aaf0-414c-46df-ab69-2d9f62986096/ticks/636483936282577338","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"b2d3aa73-d783-4375-a064-98079cd2edaa","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:28.2577338Z","submissionTimestamp":"2017-12-09T05:20:39.9794141Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"fc96d187-16c7-4ea4-a80c-cb1abe3a938d","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/fc96d187-16c7-4ea4-a80c-cb1abe3a938d/ticks/636483936269716382","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"9131a6b1-8c84-4761-85ba-9e155b40ffbe","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:26.9716382Z","submissionTimestamp":"2017-12-09T05:20:40.5339552Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"84e69362-734a-4d01-ad67-d40a51071911","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/84e69362-734a-4d01-ad67-d40a51071911/ticks/636483936133495638","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3931a993-da5d-4ffb-a53f-3725fe41f9b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:13.3495638Z","submissionTimestamp":"2017-12-09T05:20:29.7480002Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"172ee1ce-a08c-4869-808b-aefc97479870","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/172ee1ce-a08c-4869-808b-aefc97479870/ticks/636483936102743029","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3bacb20e-3fc2-4bcf-ad42-67cd9a56ee8e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:20:10.2743029Z","submissionTimestamp":"2017-12-09T05:20:29.3964496Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c863e3ad-861a-4842-9bed-5d7b5c21f752","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/c863e3ad-861a-4842-9bed-5d7b5c21f752/ticks/636483935975493658","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"3c059bde-9ba7-4705-a46a-90f041019563","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:57.5493658Z","submissionTimestamp":"2017-12-09T05:20:10.1148471Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/6d7d0652-1fb4-4dd3-9c2b-d9be88f0f218/ticks/636483935968523897","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"6b4f8ac8-b6be-4676-a1ef-c2efd07639b6","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:56.8523897Z","submissionTimestamp":"2017-12-09T05:20:10.2353207Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/a7a4c1e2-5ea3-4dfb-b248-e02a048fb7c2/ticks/636483935945781875","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"502f330f-757e-492a-bf5d-8b2c1a9c5e87","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:54.5781875Z","submissionTimestamp":"2017-12-09T05:20:09.9808359Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"629517bd-3422-4799-aed0-e76166f332df","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/629517bd-3422-4799-aed0-e76166f332df/ticks/636483935815203536","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"608c44ca-b946-4085-b677-c60b4364cd4f","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.5203536Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0a3e8fa0-b1aa-430d-813d-717d9ccaba43","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/0a3e8fa0-b1aa-430d-813d-717d9ccaba43/ticks/636483935813640803","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"e8a78a19-e992-4a15-9b9d-1d396e76841e","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:41.3640803Z","submissionTimestamp":"2017-12-09T05:20:00.3516226Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Debug","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f502a53a-bef1-45ce-a64f-3cec67be9e74","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/f502a53a-bef1-45ce-a64f-3cec67be9e74/ticks/636483935785592969","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"934cbf0a-66c3-40ac-83ad-5a900bd0a3ee","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Accepted","statusMessage":"\\"Resource provisioning is in progress.\\""},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:38.5592969Z","submissionTimestamp":"2017-12-09T05:20:00.1233196Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"76b649ce-1ebe-4dac-89a1-78bd004fbdbe","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/76b649ce-1ebe-4dac-89a1-78bd004fbdbe/ticks/636483935662684070","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"2368e683-ae0d-4e05-93f7-5251dd7859ff"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:26.268407Z","submissionTimestamp":"2017-12-09T05:19:40.0013894Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/b3a29bc0-db15-45e2-afe4-fe3cfb8b33f0/ticks/636483935658854059","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"770228b2-9970-4da2-8bb3-5eb17f427abd"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:25.8854059Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2ef95b9d-6cc9-4eaa-a265-599681ba4120","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"5dcf2493-24eb-4118-8b1e-2ffbf8abb8cd","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1/events/2ef95b9d-6cc9-4eaa-a265-599681ba4120/ticks/636483935628933848","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-1","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"c408a440-090f-4133-ba39-383804b79fbf","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.8933848Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"fe383666-3d1f-445b-a21a-bfe1cb911e8f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/fe383666-3d1f-445b-a21a-bfe1cb911e8f/ticks/636483935626751699","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"properties":{"statusCode":"Created","serviceRequestId":"97c87afe-ca58-46e2-8944-72c541d4a229"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.6751699Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"4c47093b-1a6c-422e-be0d-3b610067fa96","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/4c47093b-1a6c-422e-be0d-3b610067fa96/ticks/636483935624715321","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0179ac94-8373-4392-87f6-59dce144ba0a","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"40a6b458-3268-400a-b594-b782474e5613\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"b2daae4b-4bfa-4df9-8b70-89d88a614b6f\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.5\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:22.4715321Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"18a7b81d-bf54-4f62-9028-d2f0d1507d78","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d2b19b9f-239d-45a1-a91f-7815fb28667b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0/events/18a7b81d-bf54-4f62-9028-d2f0d1507d78/ticks/636483935623914480","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-linuxagent-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"fd142f12-ffef-460c-af29-183ea8ae3be9","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:22.391448Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b6cc422e-578b-40e7-9436-142f9f132b8c","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/b6cc422e-578b-40e7-9436-142f9f132b8c/ticks/636483935619695965","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"0488286b-cd93-4ba0-95c2-39b32adf684e","responseBody":"{\\"name\\":\\"k8s-linuxagent-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"6e8dafff-a250-48f1-98f8-81ba6740af90\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"97a97dfe-f538-420e-800e-1c1287057775\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.4\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\"}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:21.9695965Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1deef98-0832-4f8b-80f9-845dbd487bbd","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"8e288384-7949-4e2e-8779-88538252c156","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1/events/b1deef98-0832-4f8b-80f9-845dbd487bbd/ticks/636483935615187666","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-1","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"814559e0-2568-48fe-bcae-1b1d9b566b87","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:21.5187666Z","submissionTimestamp":"2017-12-09T05:19:40.0003887Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0c815960-230e-4117-b401-3fcfbcd9634b","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"bc0403a9-3981-411e-a0f4-536c64ef4bef","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0/events/0c815960-230e-4117-b401-3fcfbcd9634b/ticks/636483935608915102","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-linuxagent-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"ed9bb07a-288a-4d1a-8224-6b71c78e5e04","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"primary\\":true,\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:20.8915102Z","submissionTimestamp":"2017-12-09T05:19:40.528722Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/virtualMachines/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3b3a8117-8604-4212-a730-3d8b798b473d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7a7ca80c-1390-4c65-b3e6-19da0c9f3383","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0/events/3b3a8117-8604-4212-a730-3d8b798b473d/ticks/636483935588001992","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/virtualMachines/k8s-master-25033075-0","resourceType":{"value":"Microsoft.Compute/virtualMachines","localizedValue":"Microsoft.Compute/virtualMachines"},"operationId":"dc9fe8c7-6277-4204-945f-03aafa006a77","operationName":{"value":"Microsoft.Compute/virtualMachines/write","localizedValue":"Microsoft.Compute/virtualMachines/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:18.8001992Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"b1b08df7-d8a3-4198-90aa-b6f497d4c3a6","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/b1b08df7-d8a3-4198-90aa-b6f497d4c3a6/ticks/636483935584565023","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"statusCode":"Created","serviceRequestId":"cfbdf455-8659-44f0-a969-ca5c5fff6a82","responseBody":"{\\"name\\":\\"k8s-master-25033075-nic-0\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"287a1f86-dcd9-479b-95f3-855f558519e8\\",\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/ipConfigurations/ipconfig1\\",\\"etag\\":\\"W/\\\\\\"658382e4-e731-4460-a003-38a39c979be1\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"},\\"primary\\":true,\\"privateIPAddressVersion\\":\\"IPv4\\",\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}]}}],\\"dnsSettings\\":{\\"dnsServers\\":[],\\"appliedDnsServers\\":[],\\"internalDomainNameSuffix\\":\\"uqx1wdaiqajexajkvxm1orzt0c.bx.internal.cloudapp.net\\"},\\"enableIPForwarding\\":true,\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}},\\"type\\":\\"Microsoft.Network/networkInterfaces\\"}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:18.4565023Z","submissionTimestamp":"2017-12-09T05:19:39.9554452Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkInterfaces/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"eafa3e8d-bb05-4cbc-831b-515b421feb6c","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"192b8828-4e4b-4567-a279-b5a0db8a165c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0/events/eafa3e8d-bb05-4cbc-831b-515b421feb6c/ticks/636483935576596018","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkInterfaces/k8s-master-25033075-nic-0","resourceType":{"value":"Microsoft.Network/networkInterfaces","localizedValue":"Microsoft.Network/networkInterfaces"},"operationId":"c198c62e-7bab-4704-a7ad-76e11e5c4f2f","operationName":{"value":"Microsoft.Network/networkInterfaces/write","localizedValue":"Microsoft.Network/networkInterfaces/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"enableIPForwarding\\":true,\\"ipConfigurations\\":[{\\"name\\":\\"ipconfig1\\",\\"properties\\":{\\"loadBalancerBackendAddressPools\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"}],\\"loadBalancerInboundNatRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0\\"}],\\"primary\\":true,\\"privateIPAddress\\":\\"10.3.0.239\\",\\"privateIPAllocationMethod\\":\\"Static\\",\\"subnet\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/Imran/providers/Microsoft.Network/virtualNetworks/kubnettest/subnets/kubsubnet\\"}}}],\\"networkSecurityGroup\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\"}}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.6596018Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0630ea34-5e08-4df7-806c-5ba277e8ee98","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/0630ea34-5e08-4df7-806c-5ba277e8ee98/ticks/636483935574567301","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"010e332e-ae98-4d7f-8d89-b13bcd67dd82","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.4567301Z","submissionTimestamp":"2017-12-09T05:19:29.9175501Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"23c16967-c5de-434a-883d-9dcbb5cf7910","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/23c16967-c5de-434a-883d-9dcbb5cf7910/ticks/636483935571498862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"9d8c0359-5075-4aa5-9300-41c5abe70457","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:17.1498862Z","submissionTimestamp":"2017-12-09T05:19:29.9514229Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"3637760d-70c1-4541-a66a-eba014903301","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/3637760d-70c1-4541-a66a-eba014903301/ticks/636483935514628368","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"4d2efcf5-cd3f-47e1-87b4-25ee3eb24361","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.4628368Z","submissionTimestamp":"2017-12-09T05:19:29.8886293Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"96b089d0-749d-4278-a2b9-20d010d8eb76","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/96b089d0-749d-4278-a2b9-20d010d8eb76/ticks/636483935512332041","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"properties":{"statusCode":"Created","serviceRequestId":"fcd5a581-c4fa-4f03-9aeb-4aa694a54fbd"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:11.2332041Z","submissionTimestamp":"2017-12-09T05:19:30.1183249Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/inboundNatRules/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"37a4a8ec-5993-4756-881c-7f6fe9d2b415","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"722d07ee-4c59-46da-811c-18978438ab16","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0/events/37a4a8ec-5993-4756-881c-7f6fe9d2b415/ticks/636483935510457343","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/inboundNatRules/SSH-k8s-master-25033075-0","resourceType":{"value":"Microsoft.Network/loadBalancers/inboundNatRules","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules"},"operationId":"ba56268b-f780-4060-8b3c-c12b93a39cef","operationName":{"value":"Microsoft.Network/loadBalancers/inboundNatRules/write","localizedValue":"Microsoft.Network/loadBalancers/inboundNatRules/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:11.0457343Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c0f2181e-829d-4b04-96e6-91d90ffe74c8","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/c0f2181e-829d-4b04-96e6-91d90ffe74c8/ticks/636483935507957703","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"statusCode":"Created","serviceRequestId":"3a931eae-ac9c-414f-b748-d28628f2c996","responseBody":"{\\"name\\":\\"k8s-master-lb-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"type\\":\\"Microsoft.Network/loadBalancers\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"resourceGuid\\":\\"a8c2b30a-7f33-4beb-b9e6-1cfb8b254ef3\\",\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"privateIPAllocationMethod\\":\\"Dynamic\\",\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"},\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"idleTimeoutInMinutes\\":5,\\"protocol\\":\\"Tcp\\",\\"loadDistribution\\":\\"Default\\",\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"}}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\",\\"etag\\":\\"W/\\\\\\"f99db9a6-38a9-4cf5-8198-e1bde5f4d9a7\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Succeeded\\",\\"protocol\\":\\"Tcp\\",\\"port\\":443,\\"intervalInSeconds\\":5,\\"numberOfProbes\\":2,\\"loadBalancingRules\\":[{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/loadBalancingRules/LBRuleHTTPS\\"}]}}],\\"inboundNatRules\\":[],\\"outboundNatRules\\":[],\\"inboundNatPools\\":[]}}"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:10.7957703Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/loadBalancers/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"ba1f2570-b46a-4eae-8de7-122359b91cbe","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/events/6aaa1f6b-8ea7-4ba9-a520-e35e48652e2e/ticks/636483935499050370","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075","resourceType":{"value":"Microsoft.Network/loadBalancers","localizedValue":"Microsoft.Network/loadBalancers"},"operationId":"8b3276bf-b101-4223-91bd-d55173eb44ce","operationName":{"value":"Microsoft.Network/loadBalancers/write","localizedValue":"Microsoft.Network/loadBalancers/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"backendAddressPools\\":[{\\"name\\":\\"k8s-master-pool-25033075\\"}],\\"frontendIPConfigurations\\":[{\\"name\\":\\"k8s-master-lbFrontEnd-25033075\\",\\"properties\\":{\\"publicIPAddress\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\"}}}],\\"loadBalancingRules\\":[{\\"name\\":\\"LBRuleHTTPS\\",\\"properties\\":{\\"backendAddressPool\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/backendAddressPools/k8s-master-pool-25033075\\"},\\"backendPort\\":443,\\"enableFloatingIP\\":false,\\"frontendIPConfiguration\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/frontendIPConfigurations/k8s-master-lbFrontEnd-25033075\\"},\\"frontendPort\\":443,\\"idleTimeoutInMinutes\\":5,\\"loadDistribution\\":\\"Default\\",\\"probe\\":{\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/loadBalancers/k8s-master-lb-25033075/probes/tcpHTTPSProbe\\"},\\"protocol\\":\\"tcp\\"}}],\\"probes\\":[{\\"name\\":\\"tcpHTTPSProbe\\",\\"properties\\":{\\"intervalInSeconds\\":\\"5\\",\\"numberOfProbes\\":\\"2\\",\\"port\\":443,\\"protocol\\":\\"tcp\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:09.905037Z","submissionTimestamp":"2017-12-09T05:19:30.1173252Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"42843e04-3819-4b19-8a25-1ec0a7634855","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/42843e04-3819-4b19-8a25-1ec0a7634855/ticks/636483935462644362","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"statusCode":"Created","serviceRequestId":"73c1ebb8-ec8b-41d5-aaf6-128425b11048","responseBody":"{\\"name\\":\\"k8s-master-ip-fabricnlp9-25033075\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075\\",\\"etag\\":\\"W/\\\\\\"2aece227-86b3-4d07-80e1-505ad9e017b3\\\\\\"\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"08ac6d19-b8e9-4187-a993-feb5207a6768\\",\\"publicIPAddressVersion\\":\\"IPv4\\",\\"publicIPAllocationMethod\\":\\"Dynamic\\",\\"idleTimeoutInMinutes\\":4,\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\",\\"fqdn\\":\\"fabricnlp9.eastus.cloudapp.azure.com\\"}},\\"type\\":\\"Microsoft.Network/publicIPAddresses\\"}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:06.2644362Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"c961bc1c-adc5-4f0b-a850-02060fdf468f","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/c961bc1c-adc5-4f0b-a850-02060fdf468f/ticks/636483935459519543","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"statusCode":"Created","serviceRequestId":"cbec7ef0-5357-4ce4-b2ce-5d79377a7871","responseBody":"{\\"name\\":\\"k8s-master-25033075-nsg\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"type\\":\\"Microsoft.Network/networkSecurityGroups\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"0e94a593-0195-4379-b798-56011f9e1b99\\",\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_ssh\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":101,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/securityRules/allow_kube_tls\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"protocol\\":\\"Tcp\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":100,\\"direction\\":\\"Inbound\\"}}],\\"defaultSecurityRules\\":[{\\"name\\":\\"AllowVnetInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowAzureLoadBalancerInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowAzureLoadBalancerInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow inbound traffic from azure load balancer\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"AzureLoadBalancer\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"DenyAllInBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllInBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all inbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Inbound\\"}},{\\"name\\":\\"AllowVnetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowVnetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to all VMs in VNET\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"VirtualNetwork\\",\\"destinationAddressPrefix\\":\\"VirtualNetwork\\",\\"access\\":\\"Allow\\",\\"priority\\":65000,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"AllowInternetOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/AllowInternetOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Allow outbound traffic from all VMs to Internet\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"Internet\\",\\"access\\":\\"Allow\\",\\"priority\\":65001,\\"direction\\":\\"Outbound\\"}},{\\"name\\":\\"DenyAllOutBound\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/defaultSecurityRules/DenyAllOutBound\\",\\"etag\\":\\"W/\\\\\\"3aa41e13-cb0a-447c-ad5d-d8f3cca0809b\\\\\\"\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"description\\":\\"Deny all outbound traffic\\",\\"protocol\\":\\"*\\",\\"sourcePortRange\\":\\"*\\",\\"destinationPortRange\\":\\"*\\",\\"sourceAddressPrefix\\":\\"*\\",\\"destinationAddressPrefix\\":\\"*\\",\\"access\\":\\"Deny\\",\\"priority\\":65500,\\"direction\\":\\"Outbound\\"}}]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9519543Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"f7ec8371-3033-467f-923d-2af6b2168b3a","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/f7ec8371-3033-467f-923d-2af6b2168b3a/ticks/636483935459206868","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"statusCode":"Created","serviceRequestId":"2127672f-cb17-4957-a6fa-9c3d112bf86d","responseBody":"{\\"name\\":\\"k8s-master-25033075-routetable\\",\\"id\\":\\"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourceGroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable\\",\\"etag\\":\\"W/\\\\\\"e999d01a-3925-4d88-90ca-dde1e957723e\\\\\\"\\",\\"type\\":\\"Microsoft.Network/routeTables\\",\\"location\\":\\"eastus\\",\\"properties\\":{\\"provisioningState\\":\\"Updating\\",\\"resourceGuid\\":\\"2c300a3b-6237-4592-9fd0-a7eb3f365a28\\",\\"routes\\":[]}}"},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"Created","localizedValue":"Created (HTTP Status Code: 201)"},"eventTimestamp":"2017-12-09T05:19:05.9206868Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"2a0e4d77-1830-40c5-993e-af900e4260bb","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/2a0e4d77-1830-40c5-993e-af900e4260bb/ticks/636483935457956862","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"e8611b1b-c62b-4d00-b87c-aea3bc210226"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7956862Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/8ee2c506-0c19-4c48-8bc4-0dc28d4b4b7b/ticks/636483935457800589","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"properties":{"statusCode":"OK","serviceRequestId":"570b1876-904b-4e3d-8154-3df414bd0c79"},"status":{"value":"Succeeded","localizedValue":"Succeeded"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:05.7800589Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"0f57cc09-3d02-401c-8e6e-7bda7cbd950d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"603886de-933c-415f-8801-1dfed86bda91","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075/events/0f57cc09-3d02-401c-8e6e-7bda7cbd950d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/master-availabilityset-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"d6ccc0dd-ab7d-493a-af97-c2e646c95ffe","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Compute/availabilitySets/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"7ca02e9c-635f-488e-bbe3-921f51760a4d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"d3143e92-bd9b-407b-8dac-c6b3adee37c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075/events/7ca02e9c-635f-488e-bbe3-921f51760a4d/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Compute","localizedValue":"Microsoft.Compute"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Compute/availabilitySets/linuxagent-availabilitySet-25033075","resourceType":{"value":"Microsoft.Compute/availabilitySets","localizedValue":"Microsoft.Compute/availabilitySets"},"operationId":"61b0c093-7c54-43b8-8b97-1b9ed7ac125b","operationName":{"value":"Microsoft.Compute/availabilitySets/write","localizedValue":"Microsoft.Compute/availabilitySets/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/networkSecurityGroups/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"519755ef-e484-4243-bfeb-0edde3c8c163","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"e32316b4-fd80-431a-b049-f54c2cd4086c","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg/events/519755ef-e484-4243-bfeb-0edde3c8c163/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/networkSecurityGroups/k8s-master-25033075-nsg","resourceType":{"value":"Microsoft.Network/networkSecurityGroups","localizedValue":"Microsoft.Network/networkSecurityGroups"},"operationId":"cda6dbb4-2e7e-4ccc-88fd-a71df3ea8246","operationName":{"value":"Microsoft.Network/networkSecurityGroups/write","localizedValue":"Microsoft.Network/networkSecurityGroups/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"securityRules\\":[{\\"name\\":\\"allow_ssh\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow SSH traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"22-22\\",\\"direction\\":\\"Inbound\\",\\"priority\\":101,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}},{\\"name\\":\\"allow_kube_tls\\",\\"properties\\":{\\"access\\":\\"Allow\\",\\"description\\":\\"Allow kube-apiserver (tls) traffic to master\\",\\"destinationAddressPrefix\\":\\"*\\",\\"destinationPortRange\\":\\"443-443\\",\\"direction\\":\\"Inbound\\",\\"priority\\":100,\\"protocol\\":\\"Tcp\\",\\"sourceAddressPrefix\\":\\"*\\",\\"sourcePortRange\\":\\"*\\"}}]}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/publicIPAddresses/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"79ede4b5-7470-4d12-8d22-bbac17c48a8e","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"87cf0e18-5152-4ff9-8358-5e3c24de8c8b","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075/events/79ede4b5-7470-4d12-8d22-bbac17c48a8e/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/publicIPAddresses/k8s-master-ip-fabricnlp9-25033075","resourceType":{"value":"Microsoft.Network/publicIPAddresses","localizedValue":"Microsoft.Network/publicIPAddresses"},"operationId":"66463edb-e2a8-44e2-a271-0182bdc0d1b3","operationName":{"value":"Microsoft.Network/publicIPAddresses/write","localizedValue":"Microsoft.Network/publicIPAddresses/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\",\\"properties\\":{\\"dnsSettings\\":{\\"domainNameLabel\\":\\"fabricnlp9\\"},\\"publicIPAllocationMethod\\":\\"Dynamic\\"}}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Network/routeTables/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"d542e1b7-71de-4cde-929d-d1174ea92deb","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"cbd4c5e2-4799-480a-bb6d-92442f9b93ce","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable/events/d542e1b7-71de-4cde-929d-d1174ea92deb/ticks/636483935446863045","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Network","localizedValue":"Microsoft.Network"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Network/routeTables/k8s-master-25033075-routetable","resourceType":{"value":"Microsoft.Network/routeTables","localizedValue":"Microsoft.Network/routeTables"},"operationId":"ad250d66-9bae-4fc5-b572-bc0b4333c8ce","operationName":{"value":"Microsoft.Network/routeTables/write","localizedValue":"Microsoft.Network/routeTables/write"},"properties":{"requestbody":"{\\"location\\":\\"eastus\\"}"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:04.6863045Z","submissionTimestamp":"2017-12-09T05:19:20.35455Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"34efd43d-0a0b-47a6-be9e-3e3fd74265ad","eventName":{"value":"EndRequest","localizedValue":"End request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/34efd43d-0a0b-47a6-be9e-3e3fd74265ad/ticks/636483935441012452","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"properties":{"statusCode":"OK","serviceRequestId":null},"status":{"value":"Accepted","localizedValue":"Accepted"},"subStatus":{"value":"OK","localizedValue":"OK (HTTP Status Code: 200)"},"eventTimestamp":"2017-12-09T05:19:04.1012452Z","submissionTimestamp":"2017-12-09T05:19:19.9694084Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"},{"authorization":{"action":"Microsoft.Resources/deployments/write","scope":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1"},"caller":"imran.qureshi@healthcatalyst.com","channels":"Operation","claims":{"aud":"https://management.core.windows.net/","iss":"https://sts.windows.net/52807a8b-794c-4c07-825f-578847e1257e/","iat":"1512795030","nbf":"1512795030","exp":"1512798930","http://schemas.microsoft.com/claims/authnclassreference":"1","aio":"Y2NgYBBLa5ytrR7t/naJrnjSr7Ont7jb3ymvm8pQyXZKzPHRuUgA","http://schemas.microsoft.com/claims/authnmethodsreferences":"pwd","appid":"04b07795-8ddb-461a-bbee-02f9e1bf7b46","appidacr":"0","e_exp":"262800","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname":"Qureshi","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname":"Imran","ipaddr":"66.234.196.195","name":"Imran Qureshi","http://schemas.microsoft.com/identity/claims/objectidentifier":"ad2b9a76-a473-4506-9e10-e1ced8417eea","puid":"10033FFF997FB7A1","http://schemas.microsoft.com/identity/claims/scope":"user_impersonation","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier":"cE90zDXi5HZA3ExtXxv1YsQ6zNi_KTUXfO5ixnM0Ki8","http://schemas.microsoft.com/identity/claims/tenantid":"52807a8b-794c-4c07-825f-578847e1257e","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"imran.qureshi@healthcatalyst.com","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"imran.qureshi@healthcatalyst.com","uti":"C_V2MKBjh0SXger_GBIBAA","ver":"1.0"},"correlationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","description":"","eventDataId":"745490e4-6d74-4e41-ac44-1d5e5b10b68d","eventName":{"value":"BeginRequest","localizedValue":"Begin request"},"category":{"value":"Administrative","localizedValue":"Administrative"},"httpRequest":{"clientRequestId":"7538e6de-dca0-11e7-b921-e4b3187aa3c2","clientIpAddress":"66.234.196.195","method":"PUT"},"id":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/events/745490e4-6d74-4e41-ac44-1d5e5b10b68d/ticks/636483935404291527","level":"Informational","resourceGroupName":"fabricnlp9","resourceProviderName":{"value":"Microsoft.Resources","localizedValue":"Microsoft Resources"},"resourceId":"/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1","resourceType":{"value":"Microsoft.Resources/deployments","localizedValue":"Microsoft.Resources/deployments"},"operationId":"475366a2-8ec0-42b6-9e89-56b79f3c1bad","operationName":{"value":"Microsoft.Resources/deployments/write","localizedValue":"Microsoft.Resources/deployments/write"},"status":{"value":"Started","localizedValue":"Started"},"subStatus":{"value":"","localizedValue":""},"eventTimestamp":"2017-12-09T05:19:00.4291527Z","submissionTimestamp":"2017-12-09T05:19:19.9684077Z","subscriptionId":"c744e4e8-3d12-48ab-8492-9a600a00ca3f","tenantId":"52807a8b-794c-4c07-825f-578847e1257e"}]}' -DEBUG: adal-python : 73fff728-f1b3-4a9d-85b7-c2e10b027d0d - Authority:Performing instance discovery: https://login.microsoftonline.com/52807a8b-794c-4c07-825f-578847e1257e -DEBUG: adal-python : 73fff728-f1b3-4a9d-85b7-c2e10b027d0d - Authority:Performing static instance discovery -DEBUG: adal-python : 73fff728-f1b3-4a9d-85b7-c2e10b027d0d - Authority:Authority validated via static instance discovery -INFO: adal-python : 73fff728-f1b3-4a9d-85b7-c2e10b027d0d - TokenRequest:Getting token from cache with refresh if necessary. -DEBUG: adal-python : 73fff728-f1b3-4a9d-85b7-c2e10b027d0d - OAuth2Client:finding with query: {"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 73fff728-f1b3-4a9d-85b7-c2e10b027d0d - OAuth2Client:Looking for potential cache entries: -DEBUG: adal-python : 73fff728-f1b3-4a9d-85b7-c2e10b027d0d - OAuth2Client:{"_clientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "userId": "imran.qureshi@healthcatalyst.com"} -DEBUG: adal-python : 73fff728-f1b3-4a9d-85b7-c2e10b027d0d - OAuth2Client:Found 4 potential entries. -DEBUG: adal-python : 73fff728-f1b3-4a9d-85b7-c2e10b027d0d - OAuth2Client:Resource specific token found. -DEBUG: adal-python : 73fff728-f1b3-4a9d-85b7-c2e10b027d0d - OAuth2Client:Returning token from cache lookup, AccessTokenId: b'kslIbWka8YbxRUy8vLy6JNH7izY8GoVPIpyFsPticn4=', RefreshTokenId: b'ZKVr4cTgxa0EDZ2Kgqem4UHxIsbWBdRNnpWnblHwFnE=' -DEBUG: msrest.pipeline : Configuring request: timeout=100, verify=True, cert=None -DEBUG: msrest.pipeline : Configuring redirects: allow=True, max=30 -DEBUG: msrest.pipeline : Configuring proxies: '' -DEBUG: msrest.pipeline : Evaluate proxies against ENV settings: True -DEBUG: msrest.pipeline : Configuring retry: max_retries=4, backoff_factor=0.8, max_backoff=90 -DEBUG: urllib3.connectionpool : Starting new HTTPS connection (1): management.azure.com -DEBUG: urllib3.connectionpool : https://management.azure.com:443 "GET /subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/operationStatuses/08586888101433128342?api-version=2017-05-10 HTTP/1.1" 200 140 -DEBUG: msrest.http_logger : Request URL: 'https://management.azure.com/subscriptions/c744e4e8-3d12-48ab-8492-9a600a00ca3f/resourcegroups/fabricnlp9/providers/Microsoft.Resources/deployments/cluster1/operationStatuses/08586888101433128342?api-version=2017-05-10' -DEBUG: msrest.http_logger : Request method: 'GET' -DEBUG: msrest.http_logger : Request headers: -DEBUG: msrest.http_logger : 'User-Agent': 'python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.19 msrest_azure/0.4.17 resourcemanagementclient/1.2.1 Azure-SDK-For-Python AZURECLI/2.0.22' -DEBUG: msrest.http_logger : 'Accept-Encoding': 'gzip, deflate' -DEBUG: msrest.http_logger : 'Accept': 'application/json' -DEBUG: msrest.http_logger : 'Connection': 'keep-alive' -DEBUG: msrest.http_logger : 'Authorization': '*****' -DEBUG: msrest.http_logger : 'x-ms-client-request-id': '7538e6de-dca0-11e7-b921-e4b3187aa3c2' -DEBUG: msrest.http_logger : 'CommandName': 'group deployment create' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'accept-language': 'en-US' -DEBUG: msrest.http_logger : Request body: -DEBUG: msrest.http_logger : None -DEBUG: msrest.http_logger : Response status: 200 -DEBUG: msrest.http_logger : Response headers: -DEBUG: msrest.http_logger : 'Cache-Control': 'no-cache' -DEBUG: msrest.http_logger : 'Pragma': 'no-cache' -DEBUG: msrest.http_logger : 'Content-Type': 'application/json; charset=utf-8' -DEBUG: msrest.http_logger : 'Content-Encoding': 'gzip' -DEBUG: msrest.http_logger : 'Expires': '-1' -DEBUG: msrest.http_logger : 'Vary': 'Accept-Encoding' -DEBUG: msrest.http_logger : 'x-ms-ratelimit-remaining-subscription-reads': '14923' -DEBUG: msrest.http_logger : 'x-ms-request-id': 'c0275d08-1bd5-4b07-b924-8c118c67ac5e' -DEBUG: msrest.http_logger : 'x-ms-correlation-request-id': 'c0275d08-1bd5-4b07-b924-8c118c67ac5e' -DEBUG: msrest.http_logger : 'x-ms-routing-request-id': 'NORTHCENTRALUS:20171209T052345Z:c0275d08-1bd5-4b07-b924-8c118c67ac5e' -DEBUG: msrest.http_logger : 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains' -DEBUG: msrest.http_logger : 'Date': 'Sat, 09 Dec 2017 05:23:44 GMT' -DEBUG: msrest.http_logger : 'Content-Length': '140' -DEBUG: msrest.http_logger : Response content: -DEBUG: msrest.http_logger : b'{"status":"Running"}' diff --git a/azure/oldnewfile.txt b/azure/oldnewfile.txt deleted file mode 100644 index cc07996438d1492e640e40f0272d8d4375957b5a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 80907721 zcmeFtfdBvi0Dz$VsTV1P3IhfV7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjn7zAiZsWQV2mSw6?RQ|Q zb~ZCxZnC@4Z_uw?`;*@ikK>nEvM0$-m8-kakPwp~1AwyS)O`0n4U&>f(jq9y4(&Wi z#$%FreSq%1=bm%VB|v}x0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 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

?_r28k6{4HEg|AyXI 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 w2fk<`Pj;(N@?!Rcc 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

Z`C{!juP&+)R?+R5nTJz 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

w@g^z2>C)1J#}!1E;B7PaDZiKwJXs< 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

-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

igjF`&SlBtLyRuAx^p$>`kWQS6R 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

VPh(>zCle)*sAUQc}-l0dI5bD1>=E4{D)I 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

pD>!VSR@`w&SoE@1m7Ji1sJqsq)n z>#YyYD-q2>65MEVfW6*-E!^lcxa)9(A-X~D0UAd=!HstdLyi@01g3~l&~gFk1LGG3 zYI7!MnSwcwEL0g#UcmG(>k-?#7Hk`zE3lK`#@U0ol-9v?L^btO?OAmh0Bfy2Bm1YD%EXu*=pj|O##_e`_*|CYTz*JGnzs1Fy_p6+h5&-Gup3fOy%&0f_F;Rtu$7ZCOUX$VWvq*_B)tO;Yp zFjW?16qzKr@#lk=?qa@HIq4vW4_4hUXPlzlSG^qffgA80wG^IDw%KXwC)Id{dQQD+ zyoSC+1d~Bu0uwgl^31^VH5RxCafEosqpWM;pi%G9hm`~P^yh<^PaaLGw{=6l2WR*I z9wwt9fK+EO-*CewxUu9%CAg8`MuHoWD(pv>r|Tv^Z8{<~0y{r_H9g(dHafNR{oKu5 z{U$T$9AIey{eu^Xe0Tx4f#zSCr-F*IwndM;js!Ojfg61WcMWb3D+Jmpr`7_aX?)0S z%iiB_xWV$m2<=f)EDTm2LQ~KORGtwlwaSBaIg84p1UK#+Zcs63mg639Bepr<#%g)g z9n7}l>jXCv+(=}q)2Uyyb53w0!3`#Lz#DmuLfG@pNN{5bHwei|5VXunCE?vjn9Q8R zfAKuG$|=PPZWG+N5>)nzb6YZ1pTS*+8*su0kyXh=ruul{MqF#9(ga8Y9tVP<&f%=1 z5$*fJ(~=hXo`$JCV#iKV;DCfT%3Gh3c0->@Gia9M9&m$zOhs9$Y=m>z2aKnurR&vv zVf`NN^{9OZi>IX9NV<(C68wISGWd(?;D9m_sS=SY5vg_%sg%?%m++9(frd=zBETk| zLnf{S+Nu#D3-L*JUpVOf*FudxgS!qj;H#w#p+@7mmvkE+XJx}#;fexH*R(Uh8w$-& z@QKQ#Q|Q)%{u|0CnfSccq2DQyN}mZfXqMwXP=gG(W$1`~luaSFEvYN!V5)4S%0{Ye zq{@by4z4!`Pedx1)$QLcJXJQ9m5rPhg;lxFT<$&CR8nV_!3>jyz@;m>b}}kf6Orl= zB2}NkU56V2t!Rm%B*vQwZfuK<`ei+jRkuNMOKB-oRvL*#M;tJ|1#=(8L>fqtUgXgV zE)l8jm`J71SZpX=FUQ_+0~iHxLkeN&Q8$!cPoyNcQRCZWf}32a4hkw$bt6?bQgvfT zb;H1W3epXqu|mRuE-;D=R)~^@Qo;Q@!HuOeeXlsTt#0%g+;zCYiDrs26N&o? zZhV|@gY&Woj7NEJC_$fs6`aE|%$UT~hoA)G(VHQ`jXQ@Mlnk2XxCh)|AX1?tkm59v zsS=sWF&Qp4#CY=TGzPdzstBoo}NJg%FI3!~KeI(5FjoSx3d(Fo*T z^vWa53oUXAUI*H3h@2zQN(+}2IX8hKC~_=P$WwLWkm^RC!Ci+NRKl0Y8WL+t32uC( za6<|y3g8RN1Qs0%h?$F+!$@tl_POW5CAe|-WGZzg<)B%Pd%z9oHY{OOTa(~Mf*T2L zq@EiOlo~KD2I!@PKQWcm5NsY_PTcS$!HqYkO`n!HE(^|9S%nFrX#a&JZ$JN~l3)Mx zA^+laYVjvK=3w^-ZsgRVs|Ix8*5(CT{N-o_z&%5vHI&*?_{Qfk@=0*x5V+B2aIeD+ zZmoqQm4*v$f*T*LE0wg`!i#}roOx6?O7GC<27+R2v%aJzF32r2~k>Eyx8wqX<_Hb}YaAQ9|w0i_M0&$jG5;9j7I>HV3aXRNR#yls~ zm(d9~!Hol5srn4=I^2ksR2(|f1UEijS1PN0;W(_|oMm8H!1g$^q<|@$1m1u#E)gQO z+)ZSvJ0?@9GpYy8a_kK^fKkYR#+ryo)eWEEMuHm&ZX~#o;6@*|(_tpN_XutvwHho} zE+YnQ#f4Nf);Z8^tTZrU^(;`D$W-n?xY1{D*Wrdj*A4U|uKmCgnd;*tQ<;L4PLwW# zpcp2&9z8dVV7P1zJj53ST%~(yV}HLwP|9Q7^iLHtra0$TJ}a&2roWZUCYXrVL0} z32r2~k>Eyx8wqYCxRKyS6yoFzfsdz|V;a4U2`RE%={yTYGFY;}9M{HPa|v!70yp{$ z?mFDygc+#>O-k{PmrF&;pm@P~rgH_oRBXFp3hv>9TUf7|4~0x^H;zEMAtNoSS&qHo zhCGvi8_@hKW)s{(!t4I9u}Qv?~9;zrU0H;w{s zP%&th;~sD$`rvX7wSTH^BazP4`l;VfNjXs0B4mS)F90^sT6WsV{eQ<3a3ROZHu2>#1zEqjf zGT@&<6~rp|!KE&LM^N1mXMzoy<+umjfOdnTg9@_=ZX~#o;6{QQ$m*uH8BUm{O!ky{%$zazvcYR<;zPm{{GD`|NQ3d)31M+|8)Kk zJNN$S%aGtkf*T2LoF%w{rwu_8&f?_=nW~2yuEc9EcRbH17*<}ppsbCwo>bj9q`J{( zaM$4mSA-EwL^8s?DK`4uOtVWjorOup@P_6Dwrb>bC1Uc^5MSGE(DUp~jGL~a*L|Wd z9Oh!=-9_~_6hFI*d3;^(wf|o$GK@NWgv)eJ9NOFj2Hv9Z1>C1iDYL@T0{GtRkjF)r z;KtR2J@h_|XCXE}>`cb;I}9`e;~!^kcAbf}X(xo|i>KPN>M~4c?lJ~*V3q0&7=YMk zM4mBzCKWtw>*cry+#ryOE2#`mWU2%=65L2|Bf*UXHxk^4sWzVHg)$1MHjS1Wf_R(d zTtUQY2t~_3xIm`r#{5w2MxVi5hZ~HbyCMVkJH|*rc^8GDbChZp0>eQP&(IvKqL6LPZH<|=sWM9Z53vhGHR(Ap!{Ve_$PJ+Dsp zxZp+sk5rB7Av~w^fRbXaGv^5YS%e^&%cW6CDt;X?EFs11!VN(N&2roaZomkaFsf97 z8wqYCxRKySf*T2LB)Adb2Jr?p{8D8E#<$RJICygUz%wZeNp&f>L0LCdH=ekIsvA89 zcO7mJfiT5T7M)NN-1s=1snA(N!Rwf3rB^5^Is#)jU*;J+sbD>AAmAut8b4Jxt^o2K z!3`z`&2sDwH~1Ma3bBGpViK7u_1#EDxXGC+NyU?PBax{9Hwv9=U6ej!nz&4`GQbiS zWGd;E@r7nNBay|M$W({GjXs0B1~-uOhG~PAI;OW1-1s=*hGQl-XdRz<^jFEyXa#U1 z_t1-T1>U~2A-9oSo#4iu!wvAF7RzxDw1L)u5(Q$Onu;gs#xBK8l5RX8A}1Q66?8f+ zkb6-SLbg1FjIh!MnwL5kG4uoxAbGyfvM>c*Q~Y2}O!B&)5z=%%87|lX z-_KFFe^DKLr1R=!7&gaxd^vGL9H|<+qKIdljH!CgM;yRpO!d(kQ^6hwfllFpF%)PW zRD#w~nleMDKUS0q{{MN*vnI502-@f~xa(*`LnO|vA+eQvLK`0^+9;t5hsiXWZBPod z0h&MbQt-hou-v5L&gaBq`V-o?W3<7}Bp)=(aSylwh@uq}N{dw7cn`&mi)uK3?asq+ zb|urIYceewl{k=BU4$6iRWaHd{IQ51|MNv~7qb`M&D_PC>1+TMHP)7Y;fBL-F~!#3 zjl*Oit;fd~uDZmBQFI?`|1pN0o}Hdvx*^Ws66b*ZCt>ia8Wy8h)4?#zYQQj!2WmH- z&ZgHk=p*z`up_~aldXv7@|p+0A{?K+Y0Use`ELP^5C!hes;uf2;0gx+5v?*OG&n1g zs0`2zT0!bVffSbxAvSLw&#QQsQv&tlmtTGfneLa5^uw6xS_5x4pFrye1sz52Fjj z%la0g15!U!N0Ujos3)`L&m%R;m2xaI!4s4x@_1(%n@N>xTXIix7Xd>NmewNpDSS{P zh|lp5u8&e$8^D}$nFp^N^bRU;r+PSby1=9;a6jgCP5}shwk`ztVp#kT{+L5=iNkhu zocQ)+(tKUN6K3IjGNvKi%T`EyYRs7FyvUV01u_Z92c1>8Tw%2 zUl|sj$dm>RF;_bG>S(dRcoHilvntdH+XXWCY*a*NffX&p;`1kAIzg3oMZJZf%)3XB#SuG)$FbWPaZ>mAq@A^Hq(2XrU`sfE$Wx^@@n=rt9%e~+^W zkrxb((JbnkP?r{7n#^es4;80DA+4f~ixt4cfx2@J6o-B7VoB}+JY@8fGML~b@O~eD zQvKHY;m{*-pipQno4;?XAgG9 z$e>xXdq5-fEjLVSE>l(JeL$n#wb#R8QKEpQMuJI=o@61ZB7=bBHe?}MfPqet6jnK8 zA$cHKuHnj~L;+DcrOKBEXOh(Dhp5rZ9)r7%Nw~EzLn10l!V)IA36ty&Lyi@XlvFb= z1>_*eIbhL2kd>EcUJf9SOoYf;Su+6d8y;DqX?-jdFlq1gVmX{`@XhFaXXELXej+9`> z3hdaFgYUctTOwGW0q#N%DABFvkp+~X$4$_q*HmB>kCO=IODw%o(JUAseIW#vA=NZP z_iH9tfvz7ew%0jI_|X-ITnWxM*h*Y|iTLn6tI>fC7VBkCXrQQ8smJ(x@x|S=4wF%p zq)c05>*x5IhBawKU@bP?&s#K+w30?7L4#W}s#4k*h5pvih!h}cd019Od(O;@63wgN zq$XM9>uiJukHUF1Yzb2v!h!nx4`Ei7h*~@SB3oqAXMVfL1dxzxlZqlAxkTk26SX!V zlbM?=_*oq;6xdJoS04nGG;3u)SaJ^uQm-b}EXoC2Gt4723yh?;WRm+L>C@M(oO+rG zCG3%~N5USrhCR5WB{Ld^ScO1Yf;h-2nDJ1|mQ0~G!7bT}J(5Z8HM98WBRoCrGoYPd zUuljUsfoO^REF5M3=tvH!DWXy;v>W>)!R_~>@Mcfz3Iu)34P0{#29B;E2vdTs3Ry@ zIF}JGK`LZ+D^9VwGhR#s%+~+#a93dr&34|1y z2Y61UK6`8CwwvndTPa3;26#QTk3G69Lu23=X`+O4fdKRIupCV;>wYKh0-v|h>sOP} ze7pz^ACxYiRDO6djym0TgQw9;vQT;sJa9ox>NB7nEWwPV2t;BPB9$+;@PST$H`8oWCFvNbNhGk` zC?~R@ATfdsbnL|KRHh5Ub-*{&L`wNPAcZ#U>m>2}vYI|UOuz=svf2+5NWvJZN%sj8 zbO7Kns~5WE#>2}H-=S}0UE;;!O6|Q){jfO%=)6Yd?D3TVVb4kv?;{o@BE0_}0`6!Uivek5vc?HG?VybPYOW zC0IBCv5urZhGfT6irA^5mJojv#X`osL7vw+bWxT9-7hRFDDj*FA=NLK*eBy-Xm`&)lw~m)PS^N<~wM47()E3;hFrCl*wF5RNmcR!#UBl&37!lp#1{i-f4I=wr#P+CUOq zei!%L#JjpWrw-hE5A81KnJ|N9&F%q>C>c=5ZO~LBL8HXZGH9=B1xT1aHiKcZ%p|mR z==VvP)Zr9QvC7R5`_bAqN|M?(YM7VnABETBOpwE7!anIA<;2$EgJ3_f+vA@ z5_n@-r78+m&@HgDXkh{`1cCzzVwMoR$ee%^X5l3sk`Bytp4wfkRZ(`*f?7<{XK=fi z1OaJ$hGPCxMdhZ7%Fb!P2p%UMQAVMK>^_IlueK$s7mybtYl#Jw zGdMvjh^m-mnyT_0(Lx*g?SHmMXdZ>2T@RXjzIV{h&Irt-sF9kb8o~Q$iM??#ovr{% zKMf?s^H;qWu9HO?ii?}iUJUW~>2wmxFbP8+4d^0A!Br`qPw{+;=Tkg?d+|K=g2P`C zp?vTGX0Qc^izOOSu%b}bc_tmn@o3sepE}+~6p2E$ELZfH-!8n6%0Nw?$`y%1g|)v# zE;}vA)^X2jZ1@g%WF^8}93>K!I_^;Li@NPb6g4bq)=FFyHNcInmOwS=VfPD<~j^iE3e#8JW<{}wn(Iaj$5USy1*DX$O~93?7!#z0RB zrBvvaos`~J8RYG9<2KOmGoal-AEu>B$kYq_kU;+!l-|_2Qbgyqk{eL{3Wf&PsKCLD z)(e6{f(s!UvAshG{|<5cGFbnV+@ESpuvk{TAwgZKpai8rlZ4*yqf)V(MwpO7YFC%k z3{ej43YJ@^6*%G=uMi2x5F3qm0`;LlCt|&Lg^cI5teL`#B2_3-h2r)q6oD0lDnT+T zas)OE2K%{@A(J$RzT1%8*S41%D-_9V7UXj+vyQB{MGbuhcMUZt%e18iGIRu%iG6ev z`)GFT1bp=1QzQCb%#Kboo|9n%_I%icV7h5Mougz<{{!(?T1Z z4VvZH8*ZQifz}q1agx*w%a%K-0+CeG4~WPKc$qRYMFIawMO~I7%E$;S5fkU7&P9Cd zx$(F{)2$di$JAL;NuQ4L--3tnQFL=^Y?czPn2pc2aRHNY)U3kl`Rw`6?8!HeetSWF z{N)^uUtc}CJzU{b$x!cdnb)w362z97MHV$9K`3JtRMR3-uoJHEFREdf?yf-e8PE=v zpweniN%ES#uN4Re!Ga5LT_Y~UHrUjokcY0=!T>*%+RNaQ*DRhR9UaC_+oerAMRtAt zM0!?T25_J*qg@R=kTg7?GGd<*dB*4&r-No$?S~0af{0r6W~Zs2RO1=Cfz*l>uZ0LA zn2Z$5-TaOk`gPa*Q4}Mcdq6Jt1c&QIQV1XS^S?bg1eZ#@NVWV-b`l$ zKf1)j{V?~h`8YnxdmMg#=a`^$Fq35f{I1}5$?2S<|Ah4b2Gnz;Lv0X=mDGckgnGk5 z-P~tDyO;njeK7A!^@T$)K}<*;?2xo6)-+llIOdU}tLLhkaCDPl843)oIu zI8GZB*Hk73b#H8}Wi?L0tq{K=}xZ)(?ie-nqn61CYvr6sk#)Hx1 z{PflI6pd2lDgJ*QU*02JAr;pqD73SoBAPOl(Ps zcEIj4pdBm$_Jp9sBrI`A1>z`l(VWRV2Rt_cQXyeb&2t)k;tG#G^2#f;!)EV>6jB8u z6hAkxxF;r%gJxOnhY3g&9Fc?x-m6#AyZE#wR#IXmHKdWPfqBo)aOV|x0?n}=M*<2S z%GKBvMbuU(HDFu};FE?wk$17WVZsDgU9%G=SP@$Eyz}l6CeWn;!J6xgJ9KdaokAn+ zNg>!r8kAZ>OD9v$g?(5_eFn6P2|#zIAVc6elwmc&Yv<%O{s7iFPJlQUW?Iuk8v2Q6tSjP5g_9V|iM z&de1_SmF>`(lL}EO3OmQAzOeP8p3E@kj%inCz>UpjTmDv8;IXana* zDU9Yxs<2jT*u;&wk}C8V&@LvRk}G9XujWHA!7)e`3a|5mUZO166>cPQl{?8mIyjG|OraOc3h?)>upFeX0{|C@p>bw50FGVX|VfhGA9*`qO9t)NVYTO|NaxCoh@c zLV^nkE+n|{iNFP~xaUrqOa*WwL;)KYV_+Z-4z{MbEExU|uleICA;f3<58;nFeAeUJ z!CzE(7c?K#HaRf;G)ycnq{p{J(lOOBf zJ^5@@gtHSAp8lhca+{n9IcV1F9&jjPD9!|0>D(tc)Yi|A0|RYJ7bV(MqD|rHbC?%@ zl4B$}2Exof>4}5yu|}oeqv6A0_wYSZZWl}{&(JCjh(Joc`3rpWS==7vC-;cPUl zJRZz*1i)kCJFf*BeFn4xHV}hID@ZDl98w}V2HF$}))GfWMjb@kA~<9Xh*Tg@aRW}A zMx7*{W};24TM;i&MZ_HQd=dV?4~JJ^0x@WoRc}l{&ZHe^A|=09E#@}B%;P`@yA@NI zcJD4OLZq1Ycpv*0Za54Vv9OUUBqNMM@_A~4x#aT{Gr4Q=>dh*J_8Bopp6GdXiHhTN zG;E8GYe(woS(JR9K5Cz*P&&;#dgn6uzGedbb2Fp!JS)nQNnL29(zf=Lcofd7VOy=( zkVCA$KbbV;jQYJW3+JQBo7HIGVR2avtLZG(#$U#t>ZB9bw!m@Xo!tIzs**t8@fz}^ zDcaXgPyIA3^&WlZwhLUO;8N5@q@*2BRg%~g`CHh3uP)gG>KhxD^#MnTh@w-)0Kk|m ziX)vTNBdRW@4X|DW}Wm#BJ?a(C(dINoayOR|C=P>NQ|t+$V!Z?#K`(Y7+E0T1mnsa zP3w?b6`X;C&RKMf0#|`+Dve6jiG2hdeFn4}e!2XGOnrUO0(}fC-q;A(6lL_93afAyW1QRsNDq#X4f(Rz# z1!YlQgonHU?bgDfj5tEP^z*J@1+GPK>3*SW1kgM-Lz3 z4SEX(vdY2I2{ttu%?pUS3DgY^+?mV=MML0J@FE5?iLta|^wfFhwQQw6gW16Y%v#H- zPJJeJv6VW*j{C9=WcD_Q-4vhh%!GiJN%3#P`X}%hfN>4J z`q#f6{1B$2`NW449N}dZX=&B){G^(mRKxhuIfj2az;<;CzJm%@j@IvSlOqQ8M zg%^9UPoX zkYGcd;KM?KW?Ail3Ai0Z?d0uoIs`uz+oAKA*qLV26 z+$PoAh1@S%i~9Jpz+`=^G(dA6m=Aj#nGIaR1BuIXXsnh>1gS)TCt9z^=%M#m!ULbX znX6w{rMIe}MrTy{+BQXG&JdsZoVq-4XSq2p$JHuYpdQ)#uI2Ld8O#nAP@sb-Zc@Xx zU0C24xjdF~>Qqiq5HOI(XobH?*m&7MrOX8>%RDt^K!AL!r2&PIzFty$-~d4el5;C1 zOE@4kaBdQgN$Z=mzDetww7#E+*4K!jAX8+S=3ok;`vOFY1;`GCAWl-E(ReoIUQ=yg zM{Qt97wR*h>v({I0d6G#L5!L()Jf~RkJk4XoJcvO84mi4tZ)(yoB;u1v$ith8U@WD zXle6UVoP+PTXZ6&e9$bbJum@-6R9wSkc0^mU#KM^ButPnLBa$H6MQ0=Am_9Upg*HM z5eHug!c*in722|aK4c*GEeoIcLi_mt^cm0&CSV*k_Sz=B@2(obvGRq458RX-JqbjP zI)S7V{XOuvvM5SkirC#bVS-z(6Ho?BP%o=JFaak6hK4PK$W$jdv`)}1Dp#M+O z43|^y8O{Lmix%3Ny3JCm5v(EA{>eS$H-%uC(!Q{02Ofe+ ze4*RM0SM_AOKJ}sfZ6~@t7efp7bkn6r9d&&22yPx)do^+;1j70pa8%j5hyYg0>BqC zh+}LXicA(dm!8p5%gAa^SYQPUY)Vis`9ggLbPW$ktEB*GOD4Y1A+>>{;0t*o(M}^^ z@i<6u(EK)Y0wp#}N&>eU8rfi2Mu{(UTYMpE&!iqS%W4lyK*@koJO*{r5+}Y;;tM@+ z<8iIlBO)hSTbY?6`h~|}AU+}P+!nKT49)d)7hv19NTQn@IN^9G#(@_<*SR+$6YF7phGJE9d&8iLJz2tJg* zP{agk&@8L{FahI|Golk;DDj10Vwh?KsYZ}$1gS>wiPQ+3cEZ!ZG8r6<5(|hSb0$m{ z2y;Z3GS@!U2-fri9pXyM7wR*Z9V{SVp$mg2nXte;%GgJh~($Q7uvxWT51UT3}_bz@x^x{G-%x$kW0x+yl@y%V?(%QXMv*ci`p;q#KXOev3a4{<&-QK2uL zB?Km;K-&oiY#Qqis2kvB&@8F_Z~$eT)8sF7I1boYJADT%@ZC5}7Tua*S6UNn;u3fB zxbR}Kd5XZ|(hc2txI`QQ9?m2TURA?l^lCa7hFQ)0pH5dcp3bJ%Hs}*%B>h0r4wiAvU%a0E^7o46=U+W~d~5Xqt#TzSPyh{42wB8{ z#yXm5gJ_0`GB4@|tH)Cxh&R*^;g5Nk&f?p_UsQM(G#}II~mD|FRK6AMaN0eenUX$8XHqn*tBVEa(vgCvy8G)e@?sv|!+;N+6!wsB4w8d?Y zn|X<2zQqH5FX(joYEsQ2s_7*6cLJzpSFD}!B%Z*m3Rr1>KA6tjY(D*LR7C9d*(A7G ztu~&9$;--z)z!?nGC>&*CL>ChBEY=K@=|A#Nm>*D)3z+*+FTrQ^}3dbW5bCrzl(d$ z^B?QeS>5^SoH`fXe0B2gUq5^H^klK?NxYP^6GrHN#FMF?md~n7JfqxY?Xf~AI>0kb z(K8~?pmk<=*3|2+FJ!?!XrW99h3$Z7cAEN0HJ(+YVg20mdUp{3leoyaEuNGxe$fu* z(%K4mO?#p~RBNkK=oOz6+fx zL6#(Qz#TnFGKVB{=#yQ*19%M)y}rDdj@)=Knw+1$nw~OrzB$GJuS28e2CFV7ZaDa3 zj*#_5^`9?-yO_Q3ZssoDOlx7%!N;GE8_q|QH>-ic!{V|UR?}HbRK467 z6s>K6z;lUXfIO>p?+%n-TOPfqsVGAEUxj6MnJ*VVc#(<6@Pkg1kzs|{dc`Q0`Ia&=A}Ao6~g zSZvU&xjk?Shuf@_cs3tpUE|v@do`N;ehN)Q{NKmJS(ud0hv|~ZcY9>4?dS5lnP!`i z{;Nth+MOs#q`uT!Oxs{GbfB*LSuuH|_~odT1Xu>gHJ_}V;Iusl<` zbT;~--XqLn0y7}cBfPO9R%~!Z20b=2P#`!+(&!E#;}sn*W;yW1+oG2~GulNjXw8dW zT+#ph7KmBR6~-T1Pf=gd(%X#?Ubf|fn*09YY3K(|04}FJ(d{Dlt;g;)7~Q}yhFeRv zRXsk23W%x$$(U4#_6_3x+&jp`a*9@yQmMReV~nlmx{OA5Pha~rtM?h=S0KIoj0fY->3ho|MMVcg>ykbNSBxJ4=hSN0&~#Xj4h0Dii%v7 z&8E%e#@USOkmg9iO(FGZzPnNZ#c$(S;**!v6q{GWa}=Xy?ZEyx_dbLo#IcKm*sh7M zV5AxM#UHpYpp7H2D2J2=UJP($$R*}8*Me|@dspMnM#Hi?pD*;~@pR7qXKgC0 zv9GtG?LO`A9PPB7u3r{DxPA@qXGRa7weh5Si8+1zv{6~camODta_0jwkj+S6ZFSM! zJWp!rWwZI`Z?NJj-)xOKMVL%aJ8zNGm(^qj2l-~1 zO;3NX&t(RkSNwULR{hcP4F8IEF0SsUBIL{F(ppn!YMr^@sZ{ymr6+{_^!D9ZlZOh#%yy2kp)Se=(XD_?76ifW7KV3qzM* zV0OP8OJKCuax~t*{>D7i3kp2*6vVxVQppt0#6yUYL zG5dAA?A}jTl-OrJySXoJku)%o#(fL9uSWH^DVV$pQ`?PhKlhbHiSt=#(c;oe^nLiK zbgSzvg?B?5wEb!us@QbXitkfag4}=wqvyUzwTon9&YyfZe2(Rz<(bTfhxXm=k~O zb72hZi1N%AFj$Qx^2|!lu;6pfTv5W(FnS^#UNa}Cpv0=z z`z-72S0B2X;JP-nDL)?>s_ltxs<2w^tS-QqD8UtqJaBM_2>y$D3NI8Qwbm$o#{WEM zF1Iav;-9h7^xQ$F+5PPx9#N{90~f*E zcg@3>4w~34CBb@l4=-=Qehmn>hd?({*B5$O&nU^mw&G`E_zx?x?w@<(RVgA$k!(9Mjm2JLg1~;9AGEBk{ zW*SHdjbFv!6rz|an(3n17J)=qW~L}m&{fg1DGwndsOJWnmpT_QxT!aHJ~oT5Jzt-P z*L901mB<@t4&OAHbYP!ar&Z=e6lW&Ncfzelg8^?=VKXn2}pIPnTR$?rblrT(p!mZmQv755?iNJwipg;QqC5|gx7@Jci z+}bq4oSydSg1M|jHO0{Pulr88^#e!_2n@yRC+&W?^>{T0+f*{Q4_ddK$tHDt(itS3 zL4v9Ysy-p#R8iKNN~||^W4(KIGDnY169KAGFeDZX95JUk0b2}4PS)f|u-wBE>!;}{ z-e)e?0V=wsqHVmjw**jI(eaH6gLWfCiLJ5MExGdT7wKG`-gYm(Ek}&$fb9~CZ98E= zmhymlMDB;D_>riRsTnl)`W_G=d3pQrJ}8+T7p)~iOi}8rFb-u`3Sy=uXjTf7R{=?z@Z8-qA8%@*qlRV?7T(dsRw@nY8+^QT=}3_q zN0p2!>-(xn-uTjOJ-qwOW*04Bj3i;PAyX=6-CWMvIQSU17Se3T3|o(TGiunrTL(9I ztX;3*TCa2H!Qjp>fcjmLX%(Q$mtK@CYVns~q(3N|K?=fQ{{m zyoAJ6ITIo8ZY}c0X>4ScN25c&=_EI4kd;LD0v1FTG=~?10964}K%Q|t*sZtP<^e|6 zccMXt2HMfmsH^}{0=K5kAtEn%W~3~oG?Ln2+Tp*?zTF$A>@fZD{iAjVMc<+Og~ z#$6OxJhjI(j?s8_Gj5x?x!P_s>lo%^vro>nJ4&-JMy`0|E*waLlSj_~9)?9@fBtkd zy14S5zk_GX>Zx7xzP`xO=z(xfv^>qb=e%l@J;p^WH^${IY|2-U{CJp;=ELG!H~V3J z5sv?YtLx```s0sZXB#V@_0=X{_M|a?@X}q(14ug`x;r5-{Ux4N;`yULcw-=|kx z`FLdfhO0*S+pp}~^Iso5`iGNmW|JTE>~!eyi!(cRh}!UhQUk`t0PbS=6V1g|H$3@%k%q#@H_qsKXT4GWTkx~Rr-`Va z*bnz0qZ!b7nZxu7QXC@jNX$L@ebGFVROaA9lmRx3SO)iusQ)QvHT%qHC#$KEBT|G$ zzEa9+ZcQVu!n_s^X0_WL#w}$vm*yec2XH~%MK<;-|8idl`l|>&r7b?Xv_)eYxT_T% zQXDHC`aXedUy^FzX@!o3F=c*BNa6xmQn&yK+w3&; zjjE?6!u3J_IO9e0?|KgiKVZfSM#jAyB{i@`Hr;&3f1)yk~Y`sg{z^V-D{pBQ)-N7Q32HmveXf-eId} zu_=_Vzn{gkOc8yG=uiR@hL>~{a<`-INxVPyWu<)));k5is&X@?iIhr_jy}rs{_^BLsR|79#_(y<8Fz= z%3*tr!0GA^ow(f=#uE;{Kf0=;obQ~>z)V6XE9#}o17r?T<7f7W+gE;W8S!<}-d&v0 z-R{dBX{6pgmz8+E8fRC%=a!V|6tbs~J%#Kk zWKSXcy$IR4;#w;L*uBrtc4Bub zV3f{PV)Bj3*`Q6uA211f1@WEZ_Y38_yLAG3QLq5dY>AG-yo4Au&2lnxkV;@CcKMG7#Jl)B$Ci7GI_uAvlnQ& z{?lu*Sw8@C^C3E5CU;UX1;%-)4QdhuraLC*KJye$3m%Pk!k(r}H=e*gz^2cEa6Q*$ zOAF4?XQSe})xk7OURFN*5dN5l>8vhOmA;Tp8k)ga%At=hoQA9mFrIQwS>dFBSyK#p z-#d%xgBvhV=&0*uy$96d_d?3h=a#^Xd0_8brFC9EuLQM{UqfoFnEV<}8+(!HV{y%a z!hd1O+s}Wgla1w;<87>%;MU4(eCaGeTDa9`(z|dga(%c+MzslU z-CMY|0S?_oOL$5L&0^XY+$yFc}$3Z<&hy?`p7l#Ci0;ISF2 zLOCq8WnGl)&CQIUooTB*nX{`^c7wczKrf+N9tGKoZY4- z7^SsEZk>u%N{oFB!Px7t?8lS(xJS{tDtT9tD zGxZ&H2UD|lCeUB4JT^9Ko^ZB*U2lzn1#mx_LtH(k+fzRM$D?@aUq5^H^v8H%|Jzsy zZs?m4XX$^oKV#QhX&muWcHgcb@lx)3fpw>DIUjehY_85GKJiwT%<2>EYNK6uTX)Ol z#jQNvuivW2e1CPXXKkGw!yUEdg%d|UuJU8OtG1l>+FiKmJy}1s+ufgzCbM{{Lhv{l z>U(=d#_G+$ymXSjtQKaD$-?qV7iH{V5gR$T_T>^vSmsfIAysiP7Zzr>q#Hu9s3 zxCj0`^JDyX{36~OpI6h_q{`Fq z(0I(ZTYZw#)0rRF@5rakIsetXCl_DG*;#)zuI~}&^;p-`mWzz1eAn+ioZ9AvG`_xo zE1-l4IvG74!gOpjEUuQ~aDJJG$#-Qvb@j)rU5Ja$X6@T)Ig7_SO*>yJ%kXWDAX;D9 z|HiAv!>ZfQtp4U|m#fZhhz9Q`(UA04!qbLa!xFl!qzhNF zlAZKJjd*=?jk>$Cfw?BURQmk)x(O$%pfHuknzK-mz>*VEaxd{=Gb1|I$7-o?zRx?dv zvac9jx@!0>gbDvZSC5P4m{-(sd=U36|0r7G{ndAa1qXlNFGlmijmHD`7VaqnKf1&o zf7Kb38(IFHdm`?(nbPsl`!Jq`V$&04`5l(u#`fAD+PR9TLG!xV1Hdyf;8I9=%#!Y5 zn7tZJe&5(A@h<$THlNSRgJfxVky>!i#%BqxXzt-Z<(c2=E2$$aW|*A39xhL1PzpDK8LVc2pymE5^eyd4l4bNK}f&Z`B4L^l+N-g?d--NM@wXB52 zL7Fz2PbZKUEgG}q>4fd_CsyPuz+(+>ii-(2bMxE`cCc&=^!sB5r zuE7?_&BWYK=LYhNi+KEafO~ltu3f{C-iq-oGdHfH!F!mT{5uByKW_2fL~R5Q zVWddwdA{wtlkB=XYXW4k5S_Nkr>)Pzy0D_GaYNs*Y>e@@YD7B0X97{f37C8xx4swk;80G zW950>d!Js^cR$we zvy)cEzd0-b@JbQFHC%>S-44v^A$=U}BR;CTdCL{u*E_nsoaOWDnmVF=+NyK$>E%)_JR5y?SQ|N6*yMDQb>g=f*NY`Uz}+`a&4^(;13FzWAT@hp?> zCsBtIbtqAX5_RZaP=`tl(maP8fRkw0t#p}L#^J3E0)5UX+5~fl()&H44*9%5yKtx+ zgtlOj8`RA6Tot%1Ay|q25WF_eKYr>^|95W78|pKe8+b!ti5V3Y63HBcRa0@vvxsr~xf}i>%Yx2hb++TpYc+h?%0QIxcF0hv6(+JI!VDkc3wgUQKv4;njp!?*(3Ejs#I?bo(|$OURbEtiH1#U;e6&H&vr!!TziHqI$pf`E^pr! zx%QdXE^>txJdkS~om)Vz&1J?P+m74XjevhzfqUK2?_FAw^|Nn(ms!9ywP(9s__FN> zdJRY?N{nIGQn^wO5hQHH6KDdomjapq_&J!|VxgmfT%nz(uyVj}Eq98#dzfxMKx>FO z{_@~TXS3~0`#{`G{>4|SmFgi?^4*)WG(>wct#0h zYO{8K*>Z2wC|`Yv)7q%suTQ9RyMFi0$-l>*CnvGF-+X%V*{BF-CybE)h$m4$I%E4A zw0*xEV_+F9A>gHv5&MkDGiuL>j7=Eg%1cm2yyq?qTkpSx;^G>NnTA<{G11gIdO;<{ zK1(nr!I%VN?gfl7AuunA%7~A4dmb&2P3}cT3eQX-a*^wM24fWA2ATPgSri^%-Xu$? zmC?N#TIEo{YN~KHYIyG*9FQ}+{K)P z&O8e+;PY0NWzU}NTSLIs|9SW1b>LR7vfMWKA~nfj#)dj05r8iN^Z-MF(Kwt%sK^WA zwY_KXWwGiKd`a--6i<(8I>m!GqKIjP5wq#wRW&R|uciYC2TmmdYwh4Hsja}9%}2vT zhS!_a#t0pdm(Za;iksmmRHA-u(QYRKlVM)2e-vIvOug93*m|o3Uyx)_3BC*yd`a-- zUceVpN{wj8A_O2H+7VcfnV>?Z5$0hDjQR#Gvn z@NO2)N0T?J$=-*>Wi^b=wh<@4jB!=xFl$@jI6ED~KY0k#XIeWD2Ig{#6A|6v6NK3s zyC(>9jT_WiuDz=_vD8tQEmj`~C}d2wI2^ZM#r@_v{)LLi>aLrf9X-n+V$j_B2}j%- zj!2BI6?l=b#JB=gVgf)F(N=iA7?6Y|3NRk4vI=ozz!J|bTDW9RXec~l(isMOX#Pt* z60?Hp5Te3kJgQGk}G`2Y1oMys{OXU!G)FD!Zc`7f3H`kxQ^ z7q4f(ynac4oqn(0ep@~N=Gjlbl;6qf_3%l;688d2XjoXXV11@Ik}ATO0KHD&(Cg4r zQmu#+_Yg}YRu`DyeWo_yiAm*$7h`)`J9MIcGd=AQ4EKqHu4+ejR~ET1tgeJ9hHf~k ziFkeT-9SixK5%oi(wS6m>sn>RRIav6MHF#$1Gj=YB+^qmlsZJJ2WlQ;t+wEB>4wm# zTq2M{{~t5~S}i^xYD(1!{~{oNGPtb#WK`R``_W|^aK@W(cv&}fn!+47OacrBV>xI1 zDuxYctyIUgs9X|_x(vA0XoV(JY$%Y2fEEe0-E^t*+DyIPJRypefPR$!79F<|qDY7W zi|Sq=3iQFyQid`M!hlK6VA!0ahg?Pi6tYnjO;zl8c+aX6pLR=>K684=NLzf0z-E8DX7jY!;XT9;nP4>Cl{Um!f zcz6#ZyH_KFl`*{Ox>hz@AL{Fk3-%f8+C%sQ4fa+yhqiFH;c?o2m1=su@pq?R>{1NZ zX6$e84b(lCmAB94=F1Bn$i+on(dZF``WJ3E3>Ogxeuro1B0~|`=dnnU5V)S54&8rE zhQIwd(ccYc`nR0FxqNwP#^1mB<)7cYefsqe^PkQi;?;d)?WZaEBm`cKT~WkZn?g5Z zE(X*p{E3X1Si8dKk1r=~c=A2^AWUCWyM}eW{*@4Ts_Dhj>U=!Jt<>Y;H=kA5@U!PX zvnSs?`t1ez@t1QHW50Uz_|e0-rqMJBU(*4pAF89tBwWS&Gc7cZQb0Xy3WR!j4js3K z+R2$n+Ph~69Fpyl1d29wRD$(bmNqk7;-5$=Fi`~KO%!b%uf(YZY6rZ4Ta{CvnN2wS zrjp(}OagAMHfgXMjdvy)d+$z6oOXBXpl}626AwtE2j&cVp}}j@F<6KaYFJ)C1V!_h zUt2==?Si!JW6?wFv}u&zFF_7+tz*7%%W2E)Ojby^`kv zmHt(O*Li+X`NvNq;9da!Cw0l9L9U;_L7-6ixbgALKEuggL?LedG-N2D~H7ksRzti-Jt_;?vt^4e^8T<1#XR5_%O)g zhp?z9PEU(4z8JlUY`(j&!rpuy{$f5w8$_DQD9P+Pxx^)DRFX#Bi!urqp)3UKmWU%D zEo-N;JlK%&z{^6z>{`~vn2lwWFNVbr;g307TsH+o`1VdL7EoP+Q3UW%0o7MVY0y~? zp%<8%IfuoRbEu@?e2=$;a`XGOt&;SaxGr9xgfby-$e6|-uHXh=}D;{j#rGpWA7D{^*K{o#2GA(@rmbqz1obUDG$D*VV zt)7t%-Qx5%oL^jE$8PoEom#(sAQNiPEEel!5BCLX2Ub}@jA(XRRTn-V#NK1BpQmUxMqCt(Qh5*6!aMN+CoY?Jd(=aZ&>u$2$hGmD;T5y@U* zyJZAkb3KCm!>VBSs1~7x6c(LvG6lo{^HxDK=Y@bTvkWq)BvLui}31*=~&tnj3rHfZw30mcG@1|9}7bxBvV9`uvMWKYev}^3{Sec5Ww zoy50cv_QTX!K3p^Z$BEsZY02*;Ifw)@&`EC2uUly;hf*sZ!L%D1pTC7Dh4;flb4k{ zx#5Q&fBWTkn1VwlduC&K_| zgQ=Um8NAz7e-|&7EpDu{5>D6gcBp?0`NDV`{Q2N{lYxUx#mR$y-U%lUqUTq9rk(5# zy#9KRSMZO~==XR9xUo;hBY^W+)9~mtZ1JXM=Gy z4)NiMhxKQpVOgEeC-L-~s{Pr?42{-C^V#3wyZ5&fJcO(A&EKC*=HYKA9@5{xe>)n6 z<-NP>kPAuY6wf5Ej9)c}xpc4p&PmT>AZ7SEE|-&kyXiu{h%NWMUHt6?Vv*lRW%;~>uh3}ncQP=4t2b#r z|GT}qtoh{PqRKg5QIP%BE=1$e=mLXY$0KpXhvC&pY*Ki)SZ?h$=Cvbsv}M>6PIPhPOI@0Y*Vx>xq#9zFnU8 zY25>H`v1FemEj(mR-@tH(X~%z1RaIw|NH-x)y4l|?^~4IHnJ>#r9u%KGqcfP<@=$H zjTp&~ZjIZv+LAr)p5Aa|CK3|eRje`}vgD5b_dN+dibaq`uq0Qpr0Z#UED`_{2_$gO zz2}^Z>i_?3_g!`N`(J{+%J|p3y&tQDd&%Yhl23%kzm)wOz6zrn|Ar^gl|%@C&%fYb z|4TsHvtKHN&DvQ%va2E z&JB_pU+{PS<$oDPEX|kBFK|}|L=Jx zjS7yVoDJB38{vKR;yL?|SX={r-<{Ro?QIxr*=usKeH$2^XT~M&Yy=V z?bqz&Nm;$si_gERzPuP$&*wq%lfQlc-4~zz`5AtM4TRWp^6lx&s~y!BqjXV1qjFBK zejDQ5Qs)Lzx!nI4Wmi~ALHf}u>`s4%8ET)s@v2xn#>x@?k@IDRsPs+0U!Dj1b62*q z`~NQg^!e4d)%m2F&uF!HK~=-L9HLLUrOz+G9v#=NE*Q2Pw(V?-SzQvQPSQB{oL|gP ziS(*c`YVUpoaO&>0txsSFQflEo1zn0pTQMpjLT_t7DlgT@M9}S&7Zt;Ldh!Ri)Rn(LZwC=U0D+>%BbW<~r{)oG;#9!mMOcW})JJ zcK89Xt!%yVZ27~+-}@Zu1p=gmJHO26<;8efy~qhs<+MFMLZ}Ki@Bft?FK5Qs{{d!3 z#k|fhX7Te@tTyTM8||au`ZM6a5zc=9;wLR(7%kBF3*G)y-MGjlkIBGl%OX^;?k6LS za?)c1YYn!Ny3Y^3K-c6vE;F>^9#qesy*PD)Uc1l7i)Y8#@O(JM)2qnx@a(RTgj&^j z@o}izYsM9t#`hW4{E>JS0Bt-MqjWkHZcYh_T#!-m|x%MU0_odS=gu4;)a2 zyfN)xymC6A==OT*t#^r39Pu~p3(^)wC8qY6as{7#A?ixwa@2z?A zt~7jekv)~m_ZWCmxtz-7)Qw=%`DIQt8WykMUZ%{q6?HE77*sBQ{0N;Lg$WLhp|+IE zoq|trBUx2P8Kv-eG5Vd-y?deDws*&E5+Mj*FJ|METM#xmz49!$(TINY4ZQQcx1_@M znb7McY{iYS)(OR^E%HS(9ULBV^kK&CIO>g6{9QxoR<(8VXl!2V3UqZ8CRJn5GPvQD z=Qe7`vc%=ZPxYv3?-*wve(cS=Zm(?5kOY8tQK7_in71!hUw+`~HsWky28(;XZ*?0x zNk4EJ^m(K2w7T8X`v2zX2R|U;^5fNZd=D?u$(1(9dtLV_Xs4i^f_4hp@7->YTh>Tt zbLEQ7zp{nn8jB%WkeWO1c#;V(^yAUV9cj?cmqB}<3GD>!+8M*Nyd(YEBD&ZXr>!!` z%XqcKr%Sj~2uep8a$F5@x14Q9NY!f+Hj}5_puI^nb|i z7R)EEu&}V0G?rEJu5yU)VMH0RylRG?+Xboh2a9!j=m*mi4yBWd)(nkqokSt-p* zTNY62Gf$L(rwshPXW(;mwPYq%V9k_zKmIFN1_Nv~-$kI|Gk5@auu%qnL0sL|?tv{s z_db)kC3IIPe3&~5-5+rFy&G!u3D|dpQ8$O{yLLj*yNbKpdIZbbrf77fSi--&(M5IcTy74CINEuCV?W}RTM>+uEZ^ZWgPKpmNP&CnYBDC6{f zKL8qBRbzY!IwHht3^qa#?OASJu+E21 zF=oHz+iw}Y_nFpC^ezyVc*#oghZ66%ya1THV@SNaM!4)OBKQnBs7kt!(L`No+i-M> ztt}$`ezE-SdFWy4wr}Sni{}Lr?^po`M)L;kcir7uyY(c$Z%qGEqWwqo9lE>^-RjNb z*_MtNObuEN0~v{}U38mLwcWUI9W4IbTLssN!~m0(4|S#DzV zpCk?bR`0%LINxVdH^X@_;kiPu&pXnuF3zuD2Q(Ky8~&E-AK=hev~^e6-Q`Ajr7xr8 zJEFqhYWi;z%wG?(dQHcYNwcvlCTW#xZ)b_Sq!RSsl}LiYMO_MX2C31!sPRe!U0bdS zR$lG2J3)W*Y#bigUmy8VChKADwpb5`h4&1tTDap6iB*%|!n2|HFWyItzpM7MExJds z@oK1PlHZ3l|9OtHSGfD8e==mVJ|8n;y0SOg=Yum!-9uY%UFql*n#zeKiKbBXKq{#(ZTeI~aX?<>cYG^WIy z;5hxxEms!r`SN4CI!u?f{W}Pt&afn^xvg@9 zCzJ{SYV#Ude%UA^8(2g^Ig4NIfdKZ8{(aawSLbkr1#ajBIrkrJ{ccLDi`nGs(qiIO z!H$3b`=jp`9#O^V{mrn%wZ%$(IDx5X`REmp)BG~TvwM}}u8(5dqqY5hT1H9r1G3Q}B`%Tp zi4gQ42tf@f{LCa@B@gQlB@_JmOjB17;nsB>8jfTfLYz;I#J^10_J8p$!9<@K?Sctt z2`y}kN(}q^gNen--5fA4H@bT;aroThOqKDoQe)!b&TQ2NQ>(Ye|| zrR7u=8fh!%f^X_*g3JXX_P_{R#@7cF?A~o_fPQ6YxdlpIefhhD=!={DfDm02w@YJ% zKT5aD<NB|rmxGJ(tJ7c6s)=obFRp`QpNCOJNDrV^`^aBp?q6ii(-!adhY^dIS3vbI*wQs&< ztlnozJF&X;$}o8OmEe(L^?B&C#0LcKov|JgzVF)k$bxt~nBV<}#qeIBQ5ZYw82)k= z(X#Q`^Cxv(DjfHkZSRg{Z7~fm(RnPQ9o*>b65KTKUL>=c((aUYr?fkz-6`$BN-AmutLuMU!W&b?< zwa5i~_Q=6s-=!0y2ccZ)0#Vgjz}`65b%mZosRCn$Mdu*uO9#qpul?XE$~$zViyej0iqJQEQTbpP3yh^8OY5)sJEh&D zSEct~J>7Dal8Epo49`Lwo(-q(UgYV0gy%blayA^z-a;8MnpPXbq;Q?Wbqd!hT>t*Z z=36~{J0czJ!_d*{n&sRiTQ#gf;$0h7IqP`Eg=^4!3MyOqNg80j&ns{lzW15i&G210 zYryVxvc#0XKbvN8nl}fq%Z(5ME(7E?{Q3R!gzs||a8Aq7?&iSn`hi{(a=H-%O}eC- zC>os_r79Z|&@gumj4*?(QV0g!$q-)F3ct0=)^8%>EAOIRBkdE{@7edbLVM;0izRSC zXfN4-p?t{nQEOL6b8^^LyP|vaw%-`fS{i=Irm4sXle$rnK~4?eOWmlxqCEUKj0V5V z5MI0<{^#o)&Ze&u3@FduO{Q@7I>!tB{ta@x6`7;5UnQlG&1w`htc}u@uLGzyK}KDF z(u|tz@8TWrzGXz;XHq*6z0sa~!SBczXOZ!~Ie=YmboUYc;+L2F_@1FhpHTkBBlnt) z?StwD^`U`CeY~n1@$+Mxld%@=Kx0*-kZT_nM+f7<#H)rG**10^m5uj`0)lBbllr>s3??I~+dS$j0Hm|c!QXn7EH zc@vr8x^5~LIJ9~Uel?yW42jW2S zQpWz`{1OIzozyrCu-oqTI|GnDA^xt*dvkQZb1wwOtHgU-&}g_6Qq&$ga&C~V=ctl|{e6e%EjIiRt(3dt~9f9xQJE!@_y*gjUBG%r6nuE{(!{yQeuw|(dTL;*bo^c2uPtbpEX8v~CDi9~}ww6X;BI)y4i6svSH-mt=cG@+2`ftPtMew0N78$tP&XdD5`H-2n|26oeMc8;}AWWR6cqYLd9tKhKE{)jX6 z%L}mPV7j_)cdve3AH~|^Y(=_hzb6y<8x?=#OxedZken&WnG*Q0mtLtOu_b59Lp889 zf(vP2e{BW2<0u3jRTPX@27UQ58am1p3%~o5jpqBm_?AI@pBe20@yZ)0_wK4A)grd& z6|1o|z9?KJ~8o5*ufGYj5))#L!$e1aC%Ni89b1#eyl zr?WcHuV($0JD|aAcef*p(bZsalOGnNA8q=5S^Ri298YI!{p&g{z3ws(ziUw2)(M)&m8C5F1!dtW3;(dP@H)q!V#8sRhqg7S|D&I*bFQjoYLc`jS)M+{xc$A}f6EZQ z&*XMOc+lpZv%0V@?jR4pIM15{*yTodAHu)aWxz=-5y$Rme%CKtMPI$<=AfpsE;*i5 zk`-4TzBd|e*WkD!E51Y?-}dwAN?xXdxHs1@1x)b__UhJGBH>z$HTye)WwtP zC=D@tUu=RKr=akS;QezB5hPS@<2?9vII1sxoeV~KdWz@5a56!Tv1IEfk6}JPom|_X zPwufjN|@p(9ClaM!^^)=T1K(i{AkW`nQujK<54EKL2%Lqzphc6b5T?V<~+JKO-6YEgYQ8F+BH8{V2R*HYY^N4Tc!NfKGj|h&+}v& z&I^MZ1yT#!v5NVZOg|Rxu`+|ja_kK^++z);uxCadw^Ep@8@S+~=Qw+Xr8cMVJbL`k zM`2du^Cf~HxFO%2zd3i8e|h)g-@f|o`JcXmV(f*XA%cN1=Kj)tq+ z+*OyYMZAhj+zH4!1|s)BP}&tv_qq%?spEtjDli#Rsv+zF(omkGNwtNp*fJrQ6Q-$~ zp2~w=^Fwf>gpO~**(@WV*>-pLgBy~g-B-ID4}lx-9rYZZPkyn}Q5q8w+`yedaO1Dy zn^%8*`t;91znhM~v(wX2_^h@jZvm@#z2I{xYaotlmJ8Ro!_HYJF zufu4R&q|)1;0D2sMdZIT<|nvO-o)wR{B#rVEX^2Z6SS`#o?pV{_+k{M!;1p7Hjq=# zSu7XhS|{c7g=fEg{^L;p>2FWu7jLIOzJ0_0I{AzF?VI6GUlH7RU~q%6$g<*1)ff%$ zMkaI>0{$gq^d=Z1YUy$B5Zt&8+~_m8n{We8_^2!!O=PN%7jBfb))l6y>b{_Dh#DS}c>Lu`**e1}UP2~r z6xymWrEB#`cVF0y;d-UombwkoV{$j427I-wW8B%2js?OyD|OjXb1^<|QwHG-pD*b_ ze=J$UZ|1eztJLAz2G7SAZ;&S#&$qcs^>#T@TN1|IjgUcH{`4I=J$;;&jo=ju>}a}X zg9F|$XnulEOr?VfwLt$3lSn3hy*RO|UTnEhSKoc;%7%Tc#9*-;4}ltNAiY3G?4xW7 zv1>_fL8r^i<=r($zt!Wm6sf4PF&Uf>(|BGGE@^0TlO;D<%}fRD3#&3u8P#-db1v;X zFK4Y{2Cnc@lAA0dtUiton77+kYw#OAYOc3C{sV#=k=M01F;yX^l7Z2-@&aaX zBW=({u}YPV+f+9COztM!P-sQV9A_ooB)G9FHtL1?FoR2UbX=}fEPBoxWva$$EIJl| z@x2%Lm*JUZom4DVa73iK0>~>!akp?ol!nsna_kK^fKdQ9v{H^AbwlaR$e!RvOTHtS zIO#UvGIn^5nRFXOq+XH3>U5t_X%!%oNzgSRHcH4M zB_z0U?{I^&!D2Zc05=4PROkp~BquTzk*SDGMXppN6Yon5A~MzCK=%PvH<(Dus>s3X zK)VeUB@(T?4pkkc%N#*b5QRcc)s5T0jXsmR2{*WgFOhew)RYKre57zgE3Ina3ojHF z9SVq5D44@(>#a>O$+qN8aO0lghIy>@V6hwzfE&UKJt~{$@3a5cLV2sO@DsHb--MIJa2DgL7a_kK^fKk|h zmzs#8>P8~CL2!fM2Eh%28w581H;`J*UYbxbhqmHM8(!)h=r-0k7_laiIVUnzxFy`^ zGr5~^!=UR1`VqH&U__?+ILTD5W=&8{s30hY32s8q4HpEf8Z1I||7&WM3)&>Oaqn=0 zvB7*f9)LD@;ZnIG7N_C{p$$SCgf<9m5ZWNL0klzb!%gXEth@t@JShY|HU3MW@rI91 z%Q}?a#>Az%4VS9VIO+S0>KS}8w589ZV=o6 z+%VZhqiS6_#vodaPE_91s%qf=&sY$(XQULrE!^lcxf^i9c@J`%(ya7dATrg*Nv4X{ zGr&q;L8k*_Dz7!jRFI3;$wMdry_94Om!HT~_e`czkF_5xmg6CCgAFts{g|dMe*`xO zZcGVo5ZoZRL2v_bBZ`!gV7%hi!I+8#UPbV$pxt0xG*Ypeky8A&aHG%UZo&;Glte<6 zS%MoMZFR%PT$={ca3f;D_}Wy?>Wsf;Q!{Vi2S;80j-a}s9xE|eEXM=j2DBR-9aMxT zxIu7(;0D1BWOdCzNHyTz;7@tBFB(lhJ0FM9$zNvUJb69D$FHyVGd~}u@x`RDiqpk; zr&;wy{5hxTyoGf$%wvRep%&2xYpS3u>gJl6%4ZI;3I{_MlnI;LhEA8WVU4XhV^V(k z<(J;uFQ3{cg-~(O0450;F&t+$$>X1f=hRf3nu^zXlE%Z!>F{EN8v{2~E5rCaOhemL z9EOd`YNx9Py~V)mupX_)e5^e3>oR8^WGEgvq}{lUcB9YaZo&;?Je~oZQ&aJeSG%F{ zkMYi-kZ1rmv<+3zHlx#~&~>)S&IMCc-MIJahA=RhYL{bgxS>j~4y!%qjM{Dx+#t9? zaD(8+gsK}<-2nb@N*QG|I*f627FXWODhk0X!<}z*Y&bNm1UGK!gWG3vH{pin0)#3l z2yT45aKqW`gOeVV#o$og@S*g&fn7t>DC0GnL$(;7;Ksef4bCAIZZuY%JWWZ|z)^C*m_?H*bc&)bIt#<|$!WPI zM)>c^WSpBk&ZAWF(It@`h8Os+zlv{O{q^b7KL`D8I{wa1Pe?`Ge>dV-yM|MYn#xIu7(;KpNu8+h6j*zJ)xZ!HN z_F|B+;$T=M8?r&64Nn)UZrrB2(Pwfu;f6F!Fv}Df;eNbu11{5%1+=-z0=z|)YPe6k zMpw1xHSm41IhI97aO0lghJ36IJZ;yoR4=#{Y-I(20yU}NIH{ph0=&mTh{YJb=Qt@4>*nhZ5 zbsi?uJgx*1f|9|-nVqgBXwxK@Ea5W8`tn^NnO;S&ha`K;g}6xJZ1`KQe+Xx@k{vu~ z|9`C^hc;VX!z0zAdI-5#Y(0vaGbOHMfnD4rN`cZhReXRo&<@ zxtnlbpTkxa3SlQgPC55Sa=u*xE*G>n2sgvQR0}WLV;YOr?`? zskR~tR#?15rn(K>=rg$+a05wi!H}!BCB02>B#qKrE@LI7v75DQ-x*@rbF&EJQ2lbXp_#VmO3s zG3Sbj2Bu1}u~C)OTe!R&)*%)9rSfXbKh3o)!a&zlKG+bGygfggT!hQP#rW0fuai?O zVttDL&25~f?@kxWmdR|q@QB*!4%PEWuZC~(Xx(oLV;WwDx-KIoW2&CBSSIkA)mHk# zv)?}daj5_FwcrzTtnJ{KfqC&G4tMUVi^$^Q|7f9evHd8kWAu8#lqt#$I!A z+^{6wdx_&Zhdfgx3V<@S>J;qe9$3dV|CtwT%S_jvlbu_N2(CJUqje-AvEJq=< zaT~PJXL2{uhJ{F6ddEsDcS0KRc$0jCH_6*KWH>u(-I|z1=AMOFpweNsi;eyX|oV~&#CQLvsQo9;e z^h^j-DS~=rY%g~$>Qg;378{k6o_F2@!UU0J*hfLp9br)m|4j67aS0SC&jA!zt(p|c zwDz{L?mm;di3hYb3fWIfE&2B0f&F2~v0?$4n}BOvSFRE0gNeUYSa_;37Bs|YY)s~8 zvB2fHR7j@7jO6P-AI*`$XBTzRy07#Oi27T^@O7R{kio@QfB*ZV?-nkmCpf~JVR1(t zj$WM%Cnv*E`REm3+hl<4N>aHCIM$BcO&lyW7#|*PNIO_8$KG&5JXU^Sm~@`N#s>f! z{ZKyvjy7j`o$0Y4_mFKZai6Fu-`1vv#C^JR?o*w-^a^rrW0L~+DW}R8#-o)^nJjp1 z;i^sCr)$FQUhlwV5u(oocR+_>kXkrP*0uXUN3Tn9v_*(m3phrLqH98*R+Y4?f(7x= zNS=+d*}70FfW(2icMg<A^8kTDY)1g2sl#dngJWzfNsS})Y=MtT=kApfm$-JkZ?_BL$I?JAIv2w zGAq-dw|Ph$#=Kb-w@_g!!K2HyND*DP+Jbu7@!91QNU@M4+=h|)}AH|eZ7P1~p5h*`zQhxM{hK{x55);rZ%#YA0$HCx%*P;p$X$O`qj}d>D zqO6jKhI~F7XK*cxSZtEVZ-yzaKN(_hqJgRuVl{?lC9P$5EkdOmlT?l>8JT{EYRlD_ zI+dEmS114er;cdSeaoG&R%)us zdWSjH)yj);r%m$2TIC z>*-_Ch>$<7hUga_!=w=*jmSA(`uFdTYXG$j`ddRIQiG(GU|Ch{Ijf`^G_OLl04)k% zXDc*#nqLh^OTyHaaG?GE_b{s>qSju&$R#rAbA7wW1dvc#M@5m3T%z)TiCSBb$ux|2 zbO!|csr~AAK_!c|au_UmfCQ;u$HQsK#!VKiha)r#ETpzXCb^_fzh%mp1R`I4NdgfP zh}@AtLFQ&sL$Sp zx$U-k`c8^bp9$WK?Msg?FVGmcM4Bk!oPl}zY}8zg&)a@b;S8TIqt`!sM!K>#jg0T)yToi#k(AiK`+CBRy28mvC4Yn?px+ncp6 zx^KeSY{NjebF;3L6$Q4;BB}=)EjhMb!G3~jrUr{8c>wf)3R^mBwbukaJ^=LCuVlh? zzhxPLUJZMW*Lc8#2vK5L4jASc)=~FEs z?0x?&xkJ9kN47hKX2N-5p1AKC+=V>TQg}hzTvJ=%HIPiEW^G| z5`TY1X1?pEhY7@Bv8)cm1eytfYSKf(1RVf)%<6@1x$*X8h;PYciAl_uy8VB9nDioiXTrYVy}u?L;TH*$dyPAdEOAvMOiC! zzwn~wEJ+E3gfp7=$@m!BU36Z-OZ3v`+HRtk(&JBS!>QfHzDme8;MlnoxY3TY8q&m+ ze2fv4D-VCCXhr3G1o_G|TnK?wx_yY%kgL`bTiRU+Z5mml_+z0o!IQz{(&EEcTx1bA zSMZw)g%H&heXO`uTS$Vd@5-Lrcvn|r>cG7Z(C&giR&KCZvj;#U&ITNE8#L7*XhiHR zccYo*DV}1(Fhx|xTiYnjTHB~mY&Jj2Z!cFLk-5~P{L_3wgb|Jv$Hdza_6ZUZBqB)k z^vN9wym{@itQCR-4Pus3vaW)H6K0(>9Df6t>5|%AY*bP9(t?(lq|fAbF$n_F@(jfj zlqxDWRaEv~hNHzJ#u-#sP^(0%MYP{5)fZqAtU)h9%L7t@4J`)$9yOOOY4uJ#zQ6p^ zIm#ziiD}`+VmbDP8~m~M18uF7>_Le^mSwu*WoNO1S8u8MpmGa!7pLyxlCT9~i#x*> ziZQ_r>JnZ#)LdflC{CcexVBmv9bM9l1m_#rVn?EV&d};Jp&dM7o!8EZlHevhaTA`{ zI`!{^Ay!ZP$b ze6&Ys9)+OY4i@)(@1R{gW-yQ9PFq1Wf)CLWd+TC4T?3S9k|~~le0n-bugMISY6WA& zrJ)wl2WyalwaCR%BZ{TZV!Aj#-R$fQtCldD4r_|%?<}6@NlExCB9zZ5!wj~TaIr)q z3Q^a_ha_}h5i!qJ`qc3@q96*@s$9|I`gY-kHV$fXDpwGN3TuCbT=rU!ZQ`Ew*zi5@ z$XbNC5|4B#PVkGm>qZnUELp6T-ms*tC3v)X;hvP=%7dfCb*cpDNx9Jm-LgsP-J_1MQhN89 z&~Bg)(^7+^M9FFc;*nA9Y??bk?Cx;mJ+u*J#y>zEfrrqj;=I;KhxAe{(BK*sI3${q zVkjhpoQo0LdxY@s5x1{`^-szDsl^2IWz`!Jw3Q0ZPzrP;^!^Z)iv2Xg+p~@cDG*X1 zq(Df4kiy*{g)C~ujbas75rK_>!G3f)SDHuYyB&+EwY}V0p&+kWkk75II-?B{*#7>Dk93Lm}q?Fv9VE=w_dos9HQw~;rEo(8L6aCFXGQRfw_ZzxWi_c ziTTu#%Ac<~%o6hnYi2ebV)cCX(+}e7ub%$=n!Wh(RUZHJ$EVNkjQJEyBYpY))wC)UY{C`k^>CCYZS#a}4B%A-qR)hOumsoMO3uh@_BK?bV`zgd zAXo?)u4^ph(gvF+6!Op&TRGr|#wMKudClTE(y8|BwO!h_Q(?HYPo$T_^9&Bud9ka3 z2a<&cRK@&DrXLIbSn|PQSsjK6P=Y90^~Fw;G#*|~(K@kJtR$;cR@qgu#!o31V&#+< zl@Eq7^c;mlcY_hnDZK3-y%J>q`oljTh1vA=#d!Ez+a0sCcMJ$6E=D-B{am1BdFta- zI8&{GY7JCtpjtz(M`;IgP&@5I+i5oeX0if+KhzR0IU6PVPxu62z>`Ee)MrJkq#mp! z)EnmN<~|eJ#RPEaa|j#CcZY^1W;RPfnB$<7!+ zYqW%{nk2FhIr`d{Sn)lo2g|Up6IJgW?I&9&;Dg1oIt&v45J*L=Bw{56@>qR+QBTIX z$>Tgq8GY>^UH)3Cplvw-f1~QbUuJmqydGjsHjH9#&VEz%;N|x}Hs9*u+tJtTt6|Yy z9yEWXo4)hvK@71GhWX0yI#tT+rgE%q031}I+`x|Am$WBU57w#&d+9Js)X-;gH&KH{ zb3m@a6vM0&YWO%=Nz(DgSQaYdYm5E|2~AOC>4cD@OoB_1bulY=4_ra4q>_Js6V7HC z0Zmy-nNBAoECKd};>;12c&Mx-U;!N?;JM3?3Mq$bUa;sBS10t5H_4zKws=3JKoy8w z|FFafy;w_@G`%@8i=-tR!M35i5yUNyJJ*2yq8qNw#qySW8>U zfG%#JQ&^-uIV^>d2IZddCTQxpa0n}@&xCd{0qD*gWC&bysxRDBU)To6j)9e=U9!0t zjR|P^D#f*}oP+sTUBgKr)=KzR(*7RR1HuHizyynB_0eO3Ev2R75H0L2%aW}swR7k& zQhJihsr56pXG89tpu*iih1#a1ng-Y)YiKZqvXze@Zc3yMF?w zTtI=EU4SaK?YCYBjs8EPsD|DHSX}-3LcZ{x=kTeDAQ*(v^W}H|+z{v@=S-175H0CL z(vqkIL2csjSlnQ`6Rw~(af6%XA|!XXbGd`cHZa`;h#UfFNuqI8tevlKj;s{=3r_XAU$BFQX?3{)Mg4$!pSW|At9RDq-lQ<5sQT7ui* z+J_`naGKX5)Kw!;VNep7zzfz?%sMzfYUQjXslrCBVH-DQWuU5iOlTJqa4n7T)T{Y6 znBW);RO@78&9H);F-58nbQLtne!f;swl29W$v|~m(dKtFPz5GfEUN=BL8%jX=RM~S zsZOw^wDj@QlD@sn+?D9!ngTGSV8paHSR0Hk}{uFA+d4>aedHFp5{$=5p49kC?PG)iC z!9F?dW59m8B*?rPU(7Bir_JrNb9?DHOIB2$>$-_r&>vSLe@X)D$v)Jw_cGw_Szh#) z?=Iomb7kLi5Uc4u8AV-Il+70Hs3F1j*2AJH2!n_jNu7`e~((nmeBRR zm|eYCQJ;--nC9}Nn&k1DVan@IggP3b449YMlxLhr13edItb{YUb{eOxMVTpdZkW#S zB)Ga(D=@R=I;_4cd(PsE&dyh3>YV@LtCN5K)6197Pv*Oxe0EXi$0sN}{YM#0`^3GW zp9FiX^kA`G4}e1jLrI~~O6MWLp=JH-I55z*bP>^}h&F|%&+Xzxl4Fn@1EFP~^u(?2 zv4u5254)w?-NO&4L{bZFl0d7Z=p*D9vh=PFuC8LkqhnBJ1YZm*j|cM{0r1%R&Rc?w zJ`>sj8;C))SBy#|`@qK5smJ|!Yk+}$I}zz#RMLeKEPKxaR}~KsZL1uRHDKC+KqVbG zaTaxw!tQzxD6tIt4j*kV(6EZ&m!bdHNCY6ej7Ra`|NiK^Jh_;SQ$9iG>Nmp)TAvL^ zuTF-Oli{d*^a|5I8DP8L0Xb~DKs_;m8Z4GoZ%n`*Yd^3|Yx$sB%x!_0$AJ#^=LUf8 zQaC$n`|tVrmcE8zQDDfG{+ zoQ<)nn+EjK+9H*B9$Hxl8GsXFogCE{)A0$#4!EiniA z$`alnyg_(_@W$QX4G?g$3r$4RI^VdRgjizXQ(=Hh=8Ndgm!~`%(MY* zqy#`H1W~u^L%LlbgMdS77{?l?DfH1+`U;-0h z=>(gaipLtFZU%Kj0C%QJ+3=htSF$d_3^A70jGngC;om?iGCA!tnH@YJy!Vn@>NByA zt<;%z+?V&wR1)5DcsVHq{|V6+OQwoO0t;}&U{b1>>Ow=iXQtAY#QiL#j0TfM*U(Mf zufF^p0(CK1-0!^u^_E5ia|y1RaD=OKCx$3Ed3V1r+QWmM?{U zPRaY57&=?09k6WWCY&}zW>mej`k^7q>y!7=c8qNrsEc)~+* zgU7sttRpa^D({%}sYVBfP#*IH2{yavt)R$tm>f>pbr^)b7!%2>q`={PR(m!Ov|x{B7*02AJ52k4+=rUvP0gLHxJj*TimHNRsY;QDm}T(N9hc+k z5x5U^NF~eiK%dF%U;zU?yOw(Y|LooPqlb>F1{&m|8gaufs{DwiB01i-Wpr!O$3&H`^z?qu0h0DwKP0Lg)Jq&f_>caIk zJXA5}42R|h&$!sws7k)D-8`f*&}*r4=b!T1OZ>Mm!m;wf?cyk+3sG%=Y6Evx8*nNc z$P`6oC743!z5tP84YEV6SkRnVG@dQFSE>!{sST_Qefmu3CLZ8mfO`!g% zjT9$a8FZWTH!ricxRmMxxcTltLJ%cyGU(4}Pb9$?g76f%O@p>V&^2G^s_YZmhkba;v!X-R#H+X>L4L8yde^pDq8hAw|J*C7a^?6BFb&wGx%FsrG0G zp0gvqP`R`35(glppD(EcZ~$rp60MpQbuK1*AxE_Vstq6peRe($qm#c-ZQyhPT?^0t zTD2p6;n{DW|2Wit`r8xv#oOtRZ{P60PX1zk`)2slS1-T+vH4aH-;Ta!UkwZWVS_Yw z9UW6`U^>J-_t{TBh_AnT`txh{;>TBc{L>$wKD#r%5DEYi5`nrxApm?Khd9Q^Tvxib zQ76G0s|%~0u)rD?*p{GP@rC+K=ms9p-f9KXmL|T?ZE6FBn|kkFxR1oLv~jTg*3Ur5`0if8gLOc5G#%>|UTOqL|X zC^nlP%_X$+t(tOJt2@5pS!A)48GwqnM`>qXW_-shYn#v+{ zsL+!Y_8SdU#V(?IaPUcIN393Soqd zP7)R%EI_>nZqj0tmiW&3Lg+7`Ii!x2R1g$HE8rm;sL>k(wu#0d&Jol%c(#EBw!ZV0 zc%aXOZsGyQwP46d7P%?a25!OwTc`dAFoA*cMyUiO;FUrDV5dSXP7yl*%f*O4b~Ar$a}2hgw$U1B{dc zV=2hybXjV9HNKc#PEMQK>x#RDJn|PJe<8vHr8@)pjgsGJv9A5k*EyU`U#Bn)XYVG{ z0qkn=dYs+6rnmv)0dDC?Zsvx=D6u#V83pt7l#{VB`)n2AfwQl}8XoAp@0Rs}K9jkL z1+3HB3vb9@Xdf2nOgrw&Wf1f7-6dT5{`u%lIGYu_zP&A7x5cLWcS2mVO7pkfXT4M@ zHY`-eB+%_xNR=xJeH}bwFc}5fCLFMBu75|}fOLb!k~$0ra3Lipf1%ssfb9jm+hc)m zFY|cbt@#g+<^-Fv#KWxk50+%}1j@eiFbc2oIeg#oN*(9HuftJ&@#|zT%F~wlKbfp; zJef|eZP165O!@)pKR_NsS3MO-PyA8qiLHr7d7uEEix9Fd0gVs5vJTM0gpXcAde1z9p+ZY3e$Z?X!!^`RLVl+8T z_D)l8TVJ_LIMU}@Zo&~`1d`XRHI*g0(nF*xB~+GzQmkSyG{XHZWfg<;m2}dflaTee z?Qt`&aLhL_jXMZBo&Gu=P7A8(B=`3MsKu^WJD1}!fax$}rTz2KWE!Tk$!8aJ!ET?8 zbC|Yj<4GRB8K%6xnuRnj8z;eJMCnpxm^XRZ*h&k{>l$F%H%(ca^CPaG*9viL8TjhE zvga(mXos`D^VOI-C%yRUGD70%l}t&F1s zyuc-T$@F7rodupX?Yip=S+EaUC^N=kJD?UjtsX<|bFa^n2p4hA%bh*TK6EC6 zEYu=_S|m`51Zt6Rcebce2H|63RUJXYP#WUrfWEI)lVxh6i&8dikMuVH2Ajdo7o&O! z9=3!9`1WMHz!rFoqj-~FU5wwY2L?~-^WkVXnU+M=o2^07#uhlvUdU35$U!G*Dj~rs zQ5yIwcn(o2!~{(g&Y&`bSNF#QSypVSKG(7XS+sLn!PB#ZqzJXBL&L5P4cpM-F*vd| zHCLiRJlr(!TvCQ5tYG0Q?qm)wWQjT?F75+`EY>n1ARw>2x2&X8(3LJm35SNrZKH$@ zv3`hi((A$(Hz|2!F(JhW z!stqSZybjPgNvPz+CES ze)_QV&>H+Q@1eDwq?}%d(I}slk~m=n!U}{H2rCd)xI3(XGKQ1Jm?Gvwa#U$Fe-`Nf z78~@1j-GSqx$#%fwSF_kOI=!aR}=)7*1Y^*-l zv5OImg=3AU(#AfF(3y7JK=&;Usc|o7muzJO?4p!ls`3ha8YV-41p_m|9=Dn773*mW z6U*D=EDEhv3fiG)gR(2ANUE|TX~k<51bU_y9MK_Dt=Lvuz{KjiT?piAOdTNdVVGEA zuvl{k;1mhBS*`JGKFYerH+lN&#rPkm&_tB~|7ML6MawEhOOL)+7-+zA^`YkU2PG>pL-6Hp$$L=*5 z-N3MfTPwCzJ3o#qh^jNIgf@uw9pe6&0%T&5qt&D~CiZQNv2(1eXmtPO>yG&Sl_ij5 z_>jDUfZsyOFX5NuY-3Q9tyAVo#lXV+Vq8M#m7iYJAc8*n=imSSs7NC5{~qJdjX^BF z{{#LE>&3?JbI<*;muu7Rx$ZO2JPofFL;dg5zqkK9ilPo7D+uXg1OLFf!6Pt&*5-We zTrgZk(=0Y!oNl?AMIEv@QVtVHeHPzcsesD2WiIi_o8bhT4@a+1jG8Vd_Qfovoa3S|^lMSsN}Fdk-%^yBIaYSF^dkybR~@ z|7={!;bm&K;mduF{<58Jo)$j1ehwezir)UJU5<8#`_9$U2WFr=7RR>6_tr z3J3YcGMk+KqaDi>Iel$jNvH5-6ZWb;tp@gkJFI#VXH7xjl6wW@sI1j^7 zVZ^_fHO=sC84>=>etFA(t;6t_@N<3}e*VXsx99v~{M(eJL3}${?mS3m7qc3_Qk)jB zS9@xC6yh1K?w1$iU&FY@7|Su2XNe6<`r$=RGYAOZwNJ3}{fEA6dz|bR7i;+nxi%bJ zE@UA#bBUu#Igfv}r#OYtOc^x(bZ>{n8D1q=%5K|pV5{fZwm0qu3p z#z6YRgsW=Nu$pUT;ZuOu{?_c*@v?hAT~T76>)FkHNspv~D>Uvq$bBu0O11@)S7GXM zqr1<29qOY(qQpgvvuon!7AyrFbgJu13h$OQ=<=&wsAAjgQ{YScq`KL^L=5Kl`(be5 zc(s5VDDeu?t+JHIUNa}uK&SzRKIKtLotcoSCnt7tVn1dl_6RLtTPcU#7RoCuTd)Ns zSh281@C}y&Muk|*TT#Pt+L*wTMS<%G>pAb>Ef1!06(hc!Z-~1?ott zm4dYIgiw`O)r-xUCIs%g+~v>T;mlDy-fHZ)-3n z8gPXQ4; zOoa6_$=VrNm6_k073`*!x{0udDjr#Qf5$7S$6<+?oB7bUNvLc~BiukI|JZT?3l99~ zp)<*Mk;3oAn2iq>Pujy^>k%8X?R=uG(&a?npthOkZ_eH2U*7%rx37MC{-^I|-@kf- z7v2U{;yOTBXPeKP!A-`w$>ThNnFdlqm%otT@*t+c{rU@#PKpR|YJ*5lP2+${DumX@iT>Uh!_ zkj{XhDnZq+*;m6NYrQdpLM7IFFR@DW*mMP;Is-#uCD3*;Sjk{74kIV;qO$SzdhpI{5`qEu`c=x%QU9^BX(oB?wOjORgxtz6i@-c5q zNOPb5-3euJvU0IW%%hyRYqG<6~VB_Iwkx^)`8<>TkmIyV+Sj{u3TvAMfdl7k{d@<^$WaC0};yB3*meSuR(lQNp*vPeXIVm}N^yPUxj<9G79U;OVqqG%uN56q9BUo=K7ni>Ni{yaRD;{W z;(dEa)`AT_HUrK7^HG>hUtf%ezqM^ki=HZ^(!lg4P1c4Z;_{twZ#DxP$)Wmt#;~7kGekQmH*UjM}F0^VT;6KmQv1jF6yn$ z@%Ois-nLhns5TXPWAitJ_lxy#KzJ|wz;mlLJRVf$H6%ss3}1Gg*#te=NUt z*j_Vmy1qjvZuhlIOoH!^uIeb~hoCDj89G_=d$7$W9?U zh3pR^WS2%-YZ#Q1EI~-86|aIZp~`4}iZ^W0%#^h7Rs!Lt5VGIm4Y-Wm`%G;ocIOI4 z>CzCB@1nV4vEAY#92CTNj^8ho@9x$K=v6H;JhL@A3d;s!(9A0|eNu>)a+Wy?bVM)9 z>wtj1^P`7^^}BY)xQ{6T&j*WDa9D8f3h4Fnm=o~pEX2v_rZVsTcsAF^wHD;BDl92vA}?oj{I*CR_PxABCVeh=7nuk!N|+*&&^j{tu-E4x&~p8! zH)6AX0OsaHbihmu+6V*2d1D=F5)7t0F3MCTj;Dnz#yj~y)1?~+a0syJb0D10m2FJn z!OtPjXBYLFp8+OrlE-g`DSwxLndQl}EmJkA)qk@-qN)&8g$SxpRp>!fg%WE7cRa&Yq*R3>EcU(0rt-Y@ ztZA}U>A2+CB^$Iz+Lr9@ytuQT#f|V~hbsz0FMBZDR1P?|I@^j10nUB&JjD#~^^sJC zS`0Zk?Q^Up3u&G6N1+z#=|h=11=|FY}|((+2HvN+&s5bvW#JIodS z+FY-U;#Xg<`7pm;&RBRe|}nq{->8OpT8(4_Wu?Zf?N7#l&kbVyPvU} ztu&7KDSK#Fka8;by}-JcZgoBGVcA@bCXcTzne`{y)kgd7w(gdzlUsYdU%yq4`Tpvj z&&E1ChC6D<3#ZI{S>?xiSM3<~#$CAWJ=s3Bm%Bf|7*EToDkaOsSUm4GKFy=zOYQdzQmh!dXX;9${zUhGF{@|<%@D_ zd_J5^$HRygnX6dq^W22lSs78;sQdKAhev%?x+A`JK{j6w?WMpR#WrX>=G(0uwrMY2`>|Lq#Cd14<=bg>6_52Y?R~AR!nX~AXnSV=ubed=R^5JP z?KfAuTy=IsH25%yj%={VX;BR@tL!RSbFr_}*wx3A)+%0A?G7tEZOJvPpxauya4nJFNk6oR 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


pE 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

Hx9QH$F|qw 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 z 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 z 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� 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 z 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

QRNM25~EW$w7 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�Rg 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�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%0D# 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%0A3gfJmG5SgAM|W6wEsC7{`!2P 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 z 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

a*}@NL7; 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

Bw7{P0F))Gi-i0- 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%0D=y{w`TyfWPRM#qLj!%A@DhCaAm26q*1Xf8mg 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


AOG=}|2z(J#CDV6hme2l@hLut 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ⅅq*6W!P{E2oDX(sNS!0J`JS7wdEfOh&rWy0;6_Y!fF1)Y zm}bEE4w%E&Ap!E&5q3AKf<^=G2*HiB8M}ZK8z$=FyU!0dz>AtK$6eq?L#Bf22B+!< zRX3=*LDdbaZcufDsvC$>jV+x{P=5Ea^61^DVY^YQgz%@ToTw207_!~CYIUQ{;I6_A z1sz=BrBoRK5ZvgW4kqJt__jM7PjuJT$43 zlojdVt`sO1km5SwhCWhR2e(;{t>K0~(!OJ?mf9$S8w589ZV=ocxIu7(;0EA^*CKEo z%Yr8d2LK+Sk(1$uan97X3c^G(72h?^J#30Wqr*0Xy9zgigV%|5GJ`yV8+TI&w^kZd zMHLEOB{WQlS{9C@*bzCT;Gj#TRHW+0c|Oz)!42U$)8)7e+JG(jrVDh)YFW zD&kTRmx{Pljq64&Sf#WmkYPohHNx3A)C^?~rc&*qPQE5C)m70(*b;fyJ&P-ahY3#%KZ%0lo|25)t#OkQ-vrMh7*l|JIKGh2>3zzxYdSj65N zN5u^)ZcuT9iW^kipyCDxDlh_!C{p_XgUFI2#8PDA{9(Q4mY7)xw7QCu?NKs zb)-#awj6hW8_ajSc3fF%-Jt3QRX3=*LDdbaZcue2S2w&x?}jz8sDuXGa8jUCTF#;Ko(pMw`K1g&QFAJ7KXU!Hqi$H!2Y$&^_=4msoTWwi_|Qg##M6*#gIu z_=l<+qh%$r8{tx^BgJ6y*DS}@a03{{ceI9sktH$}!3}~N1UCq75ZoZRk>Q4`OKqH0 zg$fSBRGcHx$`iadETSH8tF+MB0f6AfRp3UO!Ci$L27>*9TSqQ`cb81X0pd#$9K8K} zU8ocTii-j|RTTgSz=jMm_e&9(>W0Zw>PV>0Y&q@#H-J$XD#Y9n+#t9?aD(6m!3}~N z1UE9=P)0{3v%w$aaL}=l6f~(kfQNP#30RA#B?(hqwRfY<;I6_AWi9$@_p&&3VcZWOU(WdS#Fra9!1syZ8MQE}rc#f`GX;I5(# z^q8V|#(QerxVva0dCQfAlQ?4r#f=hLxQ>+!I6tLIRI-*;RzW7Tal>ds9%oe|V2PH=KdXFkimr|QN*Aaq1`rtGzY(~Fm38+1D{E<3m37GoZrnKB zkh(Klj;-N_JW}u!hgApT1UCq75ZoZRL2!fM2EmO6ZZH>&5p_|4X`D53U;tn=FMJ8V z?LSg?o;>9}B0v zK=%$R%7L*m$lNVAPQB0@H(MYf#4@Y3upVm3(`p!6>I!Y0Qx-Ev+jQ@*ul{*2Oc2`* zyB|Y7SZ=fr<@8VYo_5P&e{|83O7C&R5w;s0z8iMOImt9Cfq0RVIvh>n;u=PWWs3_q z9Hvo!G9Bus~@HJgT+VAH@|u_9uJNV4@c#jbQ(sT z)5Se5`=^KHN$8%A4)c`g;m@PdFx6?8dS$+&`SB9Eef;S+@$C4w2M>M-`onnmvmGDy z!rzCzKVA&&kG-+|Bgzk_Z%^Ierw^}wfAaD9_did5IlhmLTOax~5!@iSL2!fMM)U5g zVv=}Yfk5tIwjotSb)y2e$}%IB6{=2Il9S-ZRp3V1VsKaChC{MjBaWcfjf-NVKi#On z8+M$A1vv6jGOG)AxD+v!qm)N*9`x*&r+CfL6RzN=X=(-?+*&7iilcEH27l6(RjFm7 z>c$@E;L0PWI@9I21KJR*BeakxP!ihs46Yj|-QMJVI8MFs*;3~#OPvF3-7CY%Ng5)8 z?w$@quk()y7XO>>|9O+b$@onf#^L0{Xxu?0j^{%8CiHsg1c>(DkApOv!ZUo_gy;=U zo8-4+4ys28=ublrXK;#h!1lw`dDrb#{dc2IFO3_#Fv>fc|9CVWo%=x>ut=!m9#fH7 z;4O5qA^uQM3Wr2yLP|!|KJi%FsB#J}3BC zbo#^N!*`=Y0gCt`{@1N=FT3Lpb5JƝ`;1F@f`)8@*1I_|zrz1hAV=ZT0tbqArU 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

bk;HR!-v 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

s61t8h?uY(jtZYxU{AmTv(~NJX=q2 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%0D=y=zh@!%A>tPaoVqi@ORp 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

qD0H4yzAcO>k2i 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

q%V0jHe^G_pcQ2cyIiVo1+~DI#Hx2vd0- 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 oVHvUqHa)igQ^=;-Jt3QRX3=* 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%0D=y=zh@!%A>tPaoVqgS!bgG#4OL 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

x|*4ZfKWK0e`l(9JIV;MFTK z^T_lX6&UU;r*XzQZ{c=C1+GyGlNAh{FHcjcV~;S zXls5h-0J3M<0Bc(qVU(~n-<(;I*X3?bGxokmM#Hi? zo{j5MJU8OscE=yb9YI=NYE_y8E>Ge*YP9`a;V+E!YWsne=W?*^LN9K=?W%6(i8-&B zVz92*Xk&8&jnCiVJ}o~3KB2nt|wUg)-CVH9ZZ|^ zvkBu1Q)YEVJKt#6)7IW{d2uVt`^87~ke{#i^{maaLwKULyl~>k$60=;Pt}&wUV92R zy(jBcd$Ieo(Rdm!RR|t$Mzh|neHw<*m*z2U=M<0dlV@><(w$7g{NXzZ(OL*DJ5PpB zt0ByG>ZnArmF@v5;{wfmXX-<D6AzQfJuj7k9b$ zb-?jlYn7i@?e;4?ZOAn&q1#Hja3zu7NUxdrqP<%@%{xkVT(Qv6 zq&d!?z!q3u8S!?4wml;4n|FtUa(-FcLCn6zf;zR;T;)FL#4S(bp^wg%)4q`XJINn! zD8|+Uwb*@aq^jbQ+-kgQJ5#85^6qbPF=lFT0jr5Gq!aPsm9mcQNw_gthQmwziND=W znc+j$e7Tl*+jgE?Q%83}3MVk^uY;QpE+5oh*YA!O-aeO=ckt$7dP)(c6j4eMr4&(0 z5#5Uvkzg>?2_T1aa1W6p!oQ4TGNZv0rxh1QZdJ72iGk=&nz+%vB!QaPL>(oPvcwf} ziN6N!nJ9wsCI?DCe46+bUcL*-YL~m($`-*K2Hc6%cVM#08o$C#*eiL|I)1kVQhT>n z5=kkccqsBLFoz~$A~4v3X_}$WJj)AD3YtfOz#e4s){pK(DBrg8HAv+e{YpZfgE5UM z4N`d_Gv`W>j_y%1)PVh-&gq=52z+d8?H<{&;?LV6!mH7aKo7qJ_tyVhwMx3h%9A)OO zn>_$LBYiG~l!q+o9){_g(fGG5ofdDuTi@pMSy@Pyh8L*?_w?*2f%gR76L?SH{a%1~ zZxziw{HI*u(Qm9IdFG5H8DTK@EQ?Yo6CFJ_@;eR_ya&!WRp_u#7SW@WQQ65)x_~3o7*X{zgce$S}*eElM7oVIpd!_W_5@27mUj)zuOWGticnfwDBrDZPH7VS zY+Oy>UDV;Oa8n$h{hODQ$*X&Erw13VXs~|zH}eFvnE@TsGDVp9adoyLV0#$Hw}&P% zz3JGMW#xO*QSTHE0%6>Y_!?2*ToN~_*V4!U`N0j37d8U_yV(stg>*_S`d{CKv5YNP z3G;(AZ8V>aLs`AW0b-_Q!+|c_%pnglsgpO@x4x?8M9#+5C_ZBGurS=Hvpv-~deSac zd{2h8xCUDwHxqL|tq1V8Ssq?aPvY_80SB3QeS<9* zbD&Rgqsm)8xZum3_T0%y@297eUN!9f^z9cfn%l9qzAl!%E3d8>53p&;{HYpGXYS zQ@MC}FFcO>h65L##;w*c4-cA0B>PSM>jUEvjqyZ=7tyV3vaHnHK6_~OEH+gz>hGuV zER*ghQHK(BC{c$Jb?9DDhe{37Jck^BlW5qjbeUPk;jIki#2By*Ui;xXtx z_H$lJN7B&BVdHS`Hi%i>p+yjK1&A(%LNAvb9Th|g?q4o7%W_Y0!8!M4-!>5|Ker4v z_dCmGw`-7r82Se*%}UT+D9AwQV3Ik7cHP#)>kuuV zM7=t|m&eh~Ic`GA!J=aX0VR@KC^SW3OlFC9Sy2QUV#gQ8!L^A0JZO$`DIsX(oSMyV ziw49zC&ckQQ;g$QOUp7_76c5pkn@r&>DWT>Q=eo_-uUnP3sC0^?FRx-KO3E%0h$in zYge7PygC7c1`4UWK&e|#SteAoR%#3-vnDuxTxv&phPWt_Xo^&u~SD zi&wAn_FW*?F1NLfTww(d^{z&{It`;!74?5@+2tebuNb?ySL zX>qpOZBDoSK&Js|MTs%&S}IrSA%cXBcmhp;_EJC-06zzlTTFB`kSnzF6jl!St>sQp zcfYDsKiAo8JJT+ZcE`S#MK`uxom7Z+g6Buo>GiKf=k3o0r0 zS%NVM#v~YXFJO!bfq6+(Mtro}^Jsx=axXGccxDQbi(KC`7^4U`$jpb#qVNFoCRswQ zjPBLYDu)7AQ-!lp!+Q^5%#Jtj0>X5;r5hj&7Hw&44DS$logmzLGAu{q(^?kkPVo66 zGOs%m&x76-kExXno<-xWB8+zi#_`AQ6@=Mw2Uf=5?%+$IAkZfTTNzt#mEa4K3@X8wVS+CSzT6A= zLQ1I-?O22W1VlRm>oF5l$TY%y4FVq4zsS+qScQ2Mj;mpl9mO`SV5a`Q*R+y~VTE_o za6B5nTTS*pEKaLoY_^R!`E`t|T8CNN0>|0u82-^im@c=q1z}(=r#KPO9X>&rt+9K8 zFc-K%t?AmidJ{_>Etg^xGR9jRju&6W{WcjKZ(2J#mO(_ndGr&GxHTM+7+ovyB4LTM z3RHFZD>w3aUeh3Xii{ z6^ROzKnL>p@ndWC<45{oOxa!vPmyrMPfgzq{E4ehCxeAFafUMZ%jy(eGbf|D$6NbI zZ%10~5{cCX zCU}=yoAAWA^23ueJE$ExQNNiCIt0UA;-K@|(cP6r?hC6cVTz#}PHQ4wmwY!6(w`69 zZ2Ahusejb9%9x#TwPh-zi1P<{A*e$lJ+(urL!^43W--=^fmJLxoVp=2DyImf(EkTb zfL4nSh?-J$!oLd0pY%^FKOWWg?tXN-2sqp|+bYbzYmP*PACqu@caa@?WFlRzegBQD9Qt3q*lF z7+T6uWic0iPGhs-Z7MDLLEF=mt?mW8zCLN zAa>P3*ZUWUTpo#S5~IgPaObDF9Yb7t?05#m6bjN^RAGM3?G0H`Lk&iYTbL>`af5!vUlNRbe@o(_iYzsAE~pO5u- z!>Rr?=kHEmpPIAp-~If{*MB_w>WA5n#}D!9zO?q!lzb8bug+Xi#9Es|H)AgP)GGXm zjF?!v!sky;$8OmB9(@oduc}?cx?cZE2t3vFVrg}DHpHXUVey+yD{T1L%b(cOuOI#T ziah`M7{%BxA3b^WFwSW-O~Ti-PwGW=G#-bOdVQ=TY@sDr$}#ZyJp2_{9;?O1qB9#B zw4vV|&0S2ZAxg=&0~IT3Ej5~ z(zcI92d&etopIjhAT7px*G1pOZ~_t|dKMlp0eLYxb=5Fl;5RN03m{s$ymnuO1{F7%9aL)n%)4F8QAlJ{|AyBA%-1@J$DyM4X`>jTC+oLN2v*_4OsTRRmR)nqY4u>m``iPCyyWG%( zdb*&VJz}1Hz|P8HyTP2*9a;eAJ{hZb2Q>*<;L(_d_k%2c2=j{KWKe{&lhM1#=DQ0k z?9J!lPi7OeL8J*sBpi`&M8XjXN8Ae>!9^$w0lOvQ2uRD?sVomRWIXV)&@j7}bungR z8Rd&%@k9811{c>&0TI5v6N?2@mtYhDJXApSl~EdWmP61{YWIl+$Y>ch2K zzrH6EYS1j^^JNeB1#0_NSwW0wc3M`k=k!vIVwMO7wl=6(qe=}cei54zIfXt&1U;5` ziH9d)2=5XV>vBaBxKWdHJyPUb;K6a#2>K74~dF}fmx%Obua{q_|I1EFpzOXPis{F~Gc4(9C%u;L9w7 z%qhv0xrg=&9|?}o9d2F=M-ag*2x=Ou;Vl@lErZbbb6Z`d6ONc?gku7B2?_QgTrPKt zT%$;4dhJeTF_d3Iwavig25>|h4m`gTyEW2p9_)PseuJi3`c?z}|M}~0|Lgzx{EJ6F zetFb$g*(a4-a()~>>c%pFG_3ClNueW9h@^o?A{ADskEhM@XIvWq;&2CMW6Fdd8vrl?4 zxip#76YNQG)XV?&+vMa){?Ff>`B(n-hacaW*WbKT|Ml%xy87c^=F8Df&z_vUdpvoD z)nzC?{o5x9E$aEUa)4jH{%I`yi{rPBeDV1&?Cay-!>Rc3tG7=k`9B{OKYTkp`{yt} z`RdK%;TNBtFVv^N>yv5!tU3#E@x)^N*=Sf+$Fp%f{ie=-)SIF;+GsZY6i#`c^soq5 z<-1Q`jA!AKo`+cX({D$^uzYrR9da(hoM24?FZfM!m{a%mQ%*V_14+KOak}*WcG-n| z5u*jHkiBN}o;wC@c{1&N@$FANv=OU0%}2d>86AIj9Hw#I!MVPS|A|xhRD9BdyyLe~ zS-vdc1T-3dO8VxLdXwh!Pwn|-&BiAuRnGB>f>5va4LTc*PB7?oa1lp*7~b?^o4V({ z^KE*6r~in*x-`sje?U|f-*e0J-g@B0t8&xcM-a#M9(?)5i{AT}K`!RrMXJCetvy&q zdKic)7U;=<7-^I-2Ki3GIc0_m_J7@3mEq}|RHNaib%#D8GfL_K8_+&|5c~P{s5l?+ z=2?uR@DkAiBtaPLrbN{H@rQ5l2wgTp_j_DglVkHR%zcC~5_l3i?(!<2N$Ys!eYJ6% zd-&&XKjLkhJ&fJR|AwEKhlB&(hgPun_kYeCPT&^ee|^%YidmaIe@6bXSb1QO*{7y2 zdh;I`ARLCsu=(4|dLGO_)7WE9Mmc}d=fMFU3>>5PFwU9m`R89}k4NL|**r9T_{)z! zeDT>gPw*?G&)ANuudiob70A9A`cVu>;zb?*QDH?dLJ3J(=zfg2E3B6wk*JkugI{49 z+GTGn(9PlzkMLUvXBlF_*WG@39%9ek%i`|;JO0zbU|LH+0J;p2G)7caqySkiQ zbdWfkW+!fVJcDmpJZczbKR(~F?_#Nm<`?JD-NxCn=^eU0VJBy!;Uv`2{tT}_tai&c zz{X=@)t&FL$AtYX2K8AS!tv-NUgvO>)q(zwORZA(0f-WtOWFB2|rpmPArjc0V*c`xX+~wdLSOeqA;&k@^sEFaLXWB!b%+4JBL5KrryjOZ`J z3h*hX5DgPT{tw_j;+P^lpXHy|%D73F8wA;Ky^1_{(@%QD_C60D^O@=%+6@b|8)m&P zpYD1c*H6&mN&hAckEgHVV~7A~#~Ccw1wUUYcPvf$-~L?I#~=JK8^#Cp!AiDgks3IE z^&-Bm8$$QyZ;a;uy_{k}{`Bc+SRqh;x{PN(t0De!vRup^DddcTFVT!yqR$-YKLSl7 zUC4|t2rp@Fq%{YVJG#!vUXsGum{i;Qw{9qR)bV#~WZJy`ZZLP$@z)PHcXX92xJK^i zDnEC3xudI`?cTYgtNaL7%+YL&H1s~XqpST;${lS_N2T1+2a!8MMy~GKI~knY8zVJW z9lwHpq-OTUNCDq2V}wCn`kSn0fMiC{Kbro3|8H5HKUI3%&y2#J^Xf*(dSu;dlJ&KNyT$b{oTBv$X_N7bI7cl;2YZ z>H{0yow4kEEI*Jm*6BPtK7aC?ELO~Xk(9-n=ipKn3%SCS#cJ}v{flX`IV!&WELNQ^ zfEWLT+^~N&8~zrG9c$PHAb*2d%SCSBF0){tTp=rV8wr>V8M1#OZ20l{%aUo1%$T)k z3LuI1kIAZls$R!d|>*r%kKMU z3a#jT+?4=mE!U=)b3sCm#avu9TpWc;f zQyo%mSIC$(WVQe9)-wjxkF(h{3|?2`>CBxx#rlPMJfh*ZC}qTg=UoV^x1H1`<0i6t zs(upYPK#I5One^lS+rqK*0o75vCTiWBhx?WB~m-e?JYLJCGH@Kj`1a0R_&=Vxkq}5 zz*t!Zf?oC|#L2=~of&H(yk@y@CGm`kt=6@7qPebOE3x;_&bik6Z=s9sGPoD@43aZ# zv?X9a-Hx82xz0<~4E@DMVDqCoUT4E=GXH_!23*wQbR)9bEF;)x|kcHQ}AX zM@29m@~!PE65JS-u~qA7t5yACeTcf6m(^*48wqag=#(M36WU9i$%2B@Wek{zl*hib z*1}ysluB>yRhi%h=R~9Ky`FAcz>O}0yAC(NqNLOqsbZ9i8u|%V!Y9Kh!K|t2?gXDN zg6J>7$vm6Kq7TkJ|5rA6))e=5#;ftiwu+|{+}J%f`@s#OpuPph_twD^K{NRLP~kI` z7tR;CK#S)Fb1D2{AM-TGAQP;?M=Dmn; z!-_2T+-AWVB_$`uQ4`lX7^_X!gVqE$cEF7;gS!Sdm{nSHDWt`yC%CaK727QgIR|Ek zRo(EOs~~-u!9WzYq6keRZ-{2OHo26}*_=kSnc&8q!wstX&2-!YZZMe2YAMO>T1@ma%S9m`$` zZ7kb>le{R=2RvHZ&@u|v;XMoVkb@1o%`! zi-a~%!Tm7N2G5x*4P*&9ddEbEQE;hMTrf*a6ICb$8;XIympb1mGtWm?Su?qV*1S-68s#gwak-7=m7a|jYtW&&rBZYWd6 zx-HFPi7mm6tH6yegS!qll;8%PC}blchJAuu-}p4bKWDyzr2U zvodxxOmO3l;f99Ab-$U8o#BQ)k|=J#8=Kn1rSb`GB)IWvRGhcINr*NS>-232r2~k>JJyrTUD=R!8WQWMd|=A=o@QMNf*}R+0KeG0wVj zBEgLpKmJ^PC#$!^r{wD@a{kv!T$hg@jQAXoTC^TYa07#P3veTpf(nMhhT{d`#{bXW zyEeCRTwB9`#idX0Ta^a-e&MGh#dhrD_%5epSE^Kf8wx%o$N->jsr>h6^$;K_fD{Li zB7)RT*^UHa0I+8ov)A71VoYTa928c0P{;-0m~J#UOmJftxG`jL*Wree)_LW^CkonL z*7G>Ux2vI>0nAFI-VfNwnCfP_*A-(cEZYTg=+{js2YP6(%yL&@`C23F8Stm*bg5Cq zSZw?5yf|oGGj+Sd_VV4ynCjrsbys)0nEP+Fi!cM+b7aw}2ap zkE|5}`YVDP1UCq75ZoZRG1@}s@Xov@e--%KFP}}!H-9`nbi-vODv-VCF!u)BfM6F(d?-Y_M{olaa-S6htEHHT$_M70 z(elict~F_u3MwFi8#}^{A&a{XH@Hx+Ikbwj8xI$5NZ}#hkbz~z6Jj@vVlfNdOd6!& zx^lyt4+c#)?i_AtFupH-?tZ1UDXZ%3sHmvR#%; zij2T9(P&j3d4D#PSc8?>NJ{y;61}_CbYsZkuE7oAK_he)-BHw=q}_O!(+#i}mC}$& zS=sWl0WpB_@t^Ll$=(ZrH%# zf(tbb!How?rZS~+IN>@beFog{aGwq;7nW>iZP(QzeB;s)+_-bN!Ncf$J8pqCAl*auOK4-`J66yHTD zK4fv%(S`w+3bAjYb+>7_@i2!Q#fc6GUo#jb!Wt z)-sEj4WW&*U1uBJfW=)$8)%C3AC@J6?qrQmas*_-4@ zD1LVLLUD7T4AQ~-?Kl{10HW}bfSZ-|lqpVdgWv|i4T2j4Hx6jH(S{o?CoMgO8zLhW zMpVdEgEGtuS(U(W!@0)lpy9?&!;JxpyAC&C%I&3gp^cPixbZND8$w12<2S@?z!m_* z4G~x>fc(h3(Y2%wnGGEcH}(N;ARc_V9k+lRs-qty_MbuFu!TK z@nD7GTx(=G2*X_01RDlu-&d=c3_56+s!f8V8+$;e(gzw@z~|d>Fx=1w2Gb2GkRL3U z2hH@dU9)iYIu1b;Oq=5>%Pz<->h*OQ}av#s;Q+y00_iMRjx%fBDR zGt_po$=lf8tc8}ueEz3LJLN*oGY~Is68j$JiM+-fkB;gLpLNnwnn(XSLmKIe$^X2l z@o4cP$3;APGhdAI$uU+ozlhUmJ;LQ0hki&Ghhnsj4Yj zm5Km>*vM481C1Pi4YKeOd5wkBbYoZTMi{WT>u|$y7}{{9Nh$ttryIJtFa#~3-B7S+ z&`LA!n;~w^T@|`B&NVI_O*ig%x}gu?F}2)|TfhwsxDgc6Itgyjbc3cFG~J--22D2x zH9{Ud+^AJ|MTx>pKV}C{ClJZ4E0nsiE8G~exa)Ak7-Nk$o}}Ur7j9$$ z`za5ZR22sO?HJ+D;Lz!=f;UrYXI&tv_+Csmgc&Wj;}&p30&e&gMNU$2f*S-k2yPJE zAhxa)93g`l+d-ec8C zD*iB~;zgnR?OcWruC>7UAlCShEGs^ChKuS$Au`n-zzx-SQOoVP1>AtX+#$wMC{1K4 z3i+duKMMJy*bR!^7((-W@Y9VFrAh%NIYM@rZb&%g_@V+U+KK9<=(^krUxFLEz>Oh` zyAC%{ryx*VIYV&c!D=@wyr=>Ur~ooTGr~=9rcw>^J7GE}M0T}hJQA7ej>%N&KAXPt4GlN$K6XPL2xN-)+i?r90d=|d&P&pXlW>EC8zkHy;RXpeNVw628yZS*<&ZB{ zQwE1TX4q1J%)@F(n!}Y-Mc*tLX|%D+Xk*CYu7eE+oj5FubW2tw;l{%hZU`fCaT@c) z4xLZUt6;&l@uKuPN!3;7Nw~2G!VP&~nohjmj$5D&j$lBXPi<(nL2!fM2Eh%28w589 zZuFrWRY=S)EbAQ9s$fzHFsW){rG}W40OByM%T91(7r22s^47&&hZ`0t)6M6fm{bp! zNfoQ_6r78gbPm?jF=>XXL@)&4Xq%$$pq--G#@)|0WKW7Z-;UeB4KS(DFF;r)QK^VZ zMN}%HQW2Gks8mFy!gK?@ROdTrHo!ARqqP*tQbM=YlpIAd$-CGT%LF%efg3{>cO7nM zZMYU-*U)t1!BVL#2W1X^w~$9gsHIw@xQAydQ=Ru+$zhpvL&A+a7H-G`sYlE0I2dm9 z7)2vD#|J@hgWv|i4T2j4HwbPJ+yLCjp@Ru7q#7m_kg2#q<>Sz8O{ z-59dC>u^J&nJRqnlHkUJg&Q#&zf;tG-C z{dU{}Zb%L?m6B2_f*S-k2yPJEAhMs-}OVie=KWVqlO#EmIrjs=KWBZA11 z;WXXY6>bb!+;zCYt&_%zzTPD5#>3QZ*i=&Tp0k=AGX9J&ESZp537ylOmZA1sI+||W z@pMBRXp8)eemf3^8=@t3SnZ4;=>|zRNV-AN4U%q$G~A%!1`Ri8xIx2>Hr(K%B%3Ph zz~5lnE6F^9{g|^_mTHCbfsCnk9&QX++;zC&kS1=F^<+%-aN$PoqRPG+R;6vyjZU&y zA)hL$R7CuBrRz5x!HqkI8$yqk+i?rH0UKQIxmJdx8#LXZ=>|`9tlzDRyAC(tpsBF%mZlpI7j7gGbutRO zjMoCehSUrh@|hU~{Uuw#U@Q&e6Wq9CxWRi`)cJPY0&a*fg0mbqoTeKDHwbPJ+#t9? zaD(7RgBv2C;z=^HB5aG@fcd}Yrm|40>{RkdA#0jtB2(=`rW&%i>u^JB1?4ceWK8vN z;f5()G;o?`F&MxNuQN-+ab^RY;8Ni_c9r19-TUD31Fc8P?YITp;FxY8vB*2}!6mps zaD(6m!3}~N1UDMo2ob=dNMwjd-jw1gu;fKx!KG}3a;2u006=hK7q~HGao6F7v{qQi z_X%!1T(}W=^vXF55<94-wDgt5Yzr$%NQH@5)?FKJ(RAa^ryJ6amfLYK+~5Za(+v~2 z7i3IDaD(6m!3}~N1UCq7G`In_PgfEs9aUyDT4M)G&JHctT$Js)qG69qDSx|aH-;?k zI@}N-eLJOP19@aj^)QX8f=E^*ubA};+KmvA@+UCjh?!f%tAS#QrW1O8&QNcrOsOd->eMc2WpLBy&pyr}|jf+?DA-0gHj zg#)8U%k8)Y+~8ppq`+CE=?1|Kf*S-k2yPJEAh^-sMpA{#Todbr0-4HX!J_FhvpM*x zU9DUZnQB+KF=TPq;f4!R8Ye>wJE7^u!<=puXfs3xzKEp)<71-164V?}akx@~60*v6 z`U!5_Iotp*YPlVU!i|Pe!pM26yqC*^=6N7qZvNYC9Zb?c-5{N>+|;u&hY+2n0(Z}#W_59ISdJ^FrNVC^YN?MWYNZJ^NdRnpLje!OBcVxd_3eA7|-hbNK}A+FFQla)LkoE`K=u{mGNRNAqSe`^7EB)A+x$>7T#O+>g_R`!lIG$1jil z>CbPT{qfz~pT7C!?63%|;bo3aay**6t>qu_=&aqYw>thmSCB(rK3dkdMBe*UfYbaGth zi+J3MIcz=0fB|@T$_+Fa2NI#;=i6}$xY4v53UDKk5iU(PZb69zHy&}FxC79_*Iz*j zkrffqU$rtWyHG{y97+`I;COmEDKXDl(SpC$=jZrKT43?^z#0I0eS9=OiKnBJ+2Q!r zd@MOPWBfBIb-I`=-mK8r{A@Oj$L%Zq=QG?aUQBj=rNha~I$gfjx5u+M#VbutV=3(u zTZ-VfrHw zCo6I-9&_|sBi{Y=Y|@H9!Ex*S`s=Sla9=-hj~fPETgCT(fK@xmanY2f*2>+;TTl)no6?U&Cc=9@nrtFK-!p1po4exLtr-~KRp{@v5xo^?N($?NI& z{JV+Y_T!&7bo!MT)X@2m-wCTdX&1%lU+0(E|GcR2Xz?P)MLc>lUyRTo*!=hd*X-;R zt)(F^f3}$5iGO|m5BdFfPyT$te|>g{6Zf|#-#&TVS_m)uOGu1(yEo>O*{mM*C$q0v z5L>IPjmXKUnKzMlyRv*>#wHgaHx((in{%lbeJQ*Z9_W$7m-sdNSAoqxM}cdZ)9qF8 zqJSIDF$GK9qPWjI5}9h(>Bf-7U56Xm<9tZ#n;#fWHy-G8!=d}lE8M3|6HFPIS&&do zMQmMfZ4J>And)7{Z~-YkE!^OKwA_wczzxYq1|XORL(>h4`J@z9#YV?5P1HygcL{+Tosm45hVf~-amUjQe_-TjxgEEF8_<`#z;y_eyFt?p znr;x8il!SxrW!PUc<^w;WKfJ#moRSQO)8G@h}Xq2gKEfTQ#mFd1UGh!`5Ush>u>}4 z3sUgl$q4u1!i}1s6<4tXya%I7>jbzFGxSrYdTFz$F=&Dtcb>bU{DE?a(CD}0V7TEA zbklBVXUUn0v>T+|AngWNB}Aqg*r_Kn)fF+;z%{!^WGdlwr%P;|RSmdNpjr)`4XlKk zT?(?`W=n8mN4PO$ao6Dn7d?^HHzp#HsU9Yos@9AIO^=ac(+TSiVK-is$aty_6vnQD zUjV_4eSjMhOxDIL_kJ6=ftbIh`6Xj28g9^VgN7S~HfXp(!;K~us=+6b706Rjc!*X@ z$3o!{8TpPY;Zn)6)xE@}+KEdwU~$*bhV>BSAW~cr+IYaj4PW3!)wCK_z>W%xD!9SH zsKF>_Qz#|-NGX4NAl>i>+>DmnaSOBo>4xH3I!ADW;0D1Bf*S-k2yPJEXmF#zVX>Hk zSicHu2py0t9-~3!lTxcO7onfaEvjC{+Btrk(fOn92n&Qi4j# z3a}WphTQ}5HUgYbr6|gD#c4|U+XJ}a8ZBzM9k+lRh~03I<|yr!2VHn|^yVBxY-G{l zAs^g29}nB-%||639reB{1MFY&i#VOuBMi?TeOc4lAr|}GG`4pRK5Mtd#-W~r)o>iA z@vt7l%m~&ovpRY;nU<4R^U<^}dP}K!dy&jHS^JFCZe{gqAn`EW|`o|E^uSW;;zFDqm6D>VHCUZaHktx7BW~M zd#@x0i8jGqE+#nncHZ-@1Jf$E;002O-?38M9l*PCxg7_?jUJ;|A+51wOhwZTnr_f^ zgQgoa-Jt14YvW`mWz?KAB@3n-Ho&o2afntcXjTD{;>l6U->yEmLl$=(ZYXc8liIgc zC+Wt+lx{ekOi?i~*$G5z7VNj6;bRTt4^Qh(MJLAskgA3_ZAhbbfgU|+{4MH1)HVAD1Z7BHu$1DQtl0l!mPUvi2{7|Imi zb+|EPao5oX(y^tpI*<+S!$liXa&27U%;y4ohAzMi4h%*>{E(rT%Ai!Ws2dt?-0^V3 z9%zTWzJ5Dyfi^gX8(LZwXt+UKD&kTRmx{Pl#HAuGRpV00ia08esgSkNXdN78oC)j! zW?_x%E4MsZ3i;a=ZVXx6HMn7d5LPH|Xt?o!;fAv+;ykmO5U+{K6myLb3Ns;^95oU- zDoHo?V7Orqlo&0y<6yV}i~^;&);?%S(+!$#&~$^Q8#LXZ=>|bb!+;zC&jOWH%f*TLmn2Ki~d>1?`Nf)@mVZ`A>!p`d) zpoYu3q!x8U(~UcyZU{44ZpSU)hJ>4ykWvWp!KLX2O*d$|LDLPIZqRh2O*i1b*#T2@ z3_@`H6*-5&wi*#ei;;zFD%eAl?$zoV_Qi?xJrFg1cgdYQE z+;Cug56ls|SONLFgt!}B;L$*E;ZUD%k8)g+~~V7OrpOc+^bl(CxN z2Eh%28w589ZV=ocxB<8kjEush%tZA_01yctISp=D?``Kwlr~YQ_^xnc$l|WU4e60} z;=F1gkER{ zE=$wmYlMKMOEM)mYf>Vf5;U# zy(240H+GS33|ZVYxB&xPC%u3fE)6#xESD-JE276PgVA&a+>kJz?qp?L!w$DfE{dbn zjXfA{=mTR%%k8)Y+~8ppj2GIGbc3cFG~J--22D3;xd(EG)qdf*S-k2yPJEAh4mY%O(9L*9O7VvaHFKRKHb+PLMkjj_y=xWFO{BQQlXytfFMrf&VA`ugF(d~|$qj`PX!I3LBy@qFAai7Ea(pU-MnXLXv}85MZjI61+eewRNS{{H02-=lf6 znEm1w<7xcg+4Rp}XYR-8!u^@lo8y_dX5ODqX?13k^4R8E)hOi@T0CpfQDZCIpgh zJY2Lvr)D@iF% zaD(6m!3}~N1UCq7G`L|6;;TL88nQ^(;KGionQ=xIlg+h=fb?U^6yJ5YF=TPq;f63u zDXDsWKH1wX%l^xqvb;23GJ+d-4mXq;Ew|%fxSC2$86s1W4=(xOk`FHV;F1q6`QT!@kxQydNCN_SK-h-T3Db=NZk6L! zX(x48n0ghoq#4>BTv(I96q?6smK(Ea2x@D%IA`e zsx;l$10P&1 zJ5Ly*ydeq4Bd!y75U)VRhWbOpDI6A=6)hRrg(_0#l5Q=yczQZPT2VXCy{7c}xu!*e zy2#rDYoe0Z$4B#%cse?n9gbhk#}X9rG5(npoXg4L%}U`iKbuYCaZ|PYe16&N{7Q$D zmvy>)t#8|fh*z4N#!}iRwss^HzEXn4zpbvi`ou48eCu~bIqRSOB>h<-(dvJrZqo07 z2wYwo*VFI$ca!F^vi7F$|M=%3xqc;vY}L(|-{N<|Y7h8!TKo6|U;peB za=jrhf3}$5iGO|m5BdFfPyT$te|>g{6Zf|#-#&TVWLYo!OGu1(|D}2|o7JQKWcD&b zWM;s!HcI9z*xy>Fc4hg%jD@#Ur?N<~i7!gM(E8!6@IVhBzQmVs|0+(JnsJ4q)mnf$ zg2#NLG%-h45lF^us4A=u`k~*KmyO4-rsbFVud_N|;2B3J_|~7it>qu_=&WsD{Pc_2 z^2hx>VNnlHW^dY8`pe~09+%_EbTVJGZ~d2zy0!5lYtO*z^jF8-N*D*-2gm(7&&NX+ zcpZ5_qlzZD5ES@#8}b-*DsW+~^s7(bGzskG75M#y$nqxk)@6Bf-SxTE@wj>~<`(_t z>x$^K5AbMEfFN4O=2N909Pc0rRV5|fD|s#sTHk=%y!(X=cw>+4@GAIC=8L#^7a06{ zmNO(MwSDVsyvgMc+p%Zq*NwxkJF0!}_50}Qo-i1EWXF z{jvo%5PT#MbAu{`u)#;b22d<7>g*C1@HJd;ehb?T7kpXM*&!|u!UQDiCQN{huvV2G zU);o+Q@}bXAxtm`cP{ZCVSL6FX3(2QUW>^-~@1Z<<6b=flEGrFJ|-Mu7rW}WK1kD?CZ26%3w-Ph{dc8^M``K1P2;p2Z^_D=BGL) zTmpMJ?bsYdT#}ovfd-d9{P@^Fn$dEI;YQ3k0ZNELCt@`e~t7pe%(yXr#jm;purHqfAGOYNEWRYcKAVR)-hX(VxF zBr)hdxWWcQ7I*_2aCkoj>1Zr*8w+aCslfHSpQ;FGB4DxRk*EfYz_im%*i>N#1tOG_ zozXGxZF=`UVFNx|?w2jFfr1^Z5=!WM6?V5@33u1+K9WUKvK`5yA@n9$G|8fG^@O;4 zS#&8;RW3Ah7{@@i9|eX33XTX>+FGryp|<`c0f1Wo0EPo?eli~qS+USjT0$6KkH0?)uj4X#07fKVNO zrH;S#{hb-=9O%IPLjbTcwFtO}MnC*T$?M`OLy|Yz3!sDx|^>4G2v(xjE@KG1j zY?7x(r_GIO^@N|AYP8hZtz~0-vvq%}joPx6ud7$?tJk}AnY#5fTv>?yvNbA6n=VPq zEQd{x7Em!K*r~GUibQk2Q>l-I|A4Ch(v;~#0Kmqp-~#x(q|AUD%k8)Y+>p=~STDS~ zS2Kc*lMURLaS7u4XW#cZ!HtS9!_m7oH|J(h<9N1sF~y(f^BK6jvpUV~jJDoKoSYDE zh%^PHDZnluxPdQ(PXITRD+&_=k96GHxXnC4Rap~*)v$6BhK^8M;*${E*adD3S=@EF z0S8;-Y!GeL32wYkPjG+XhABFB*(9b4oXRxzA4>&%AtMkW7n+x@`@kW?HMQgIaB}=| zGFzNoiDTb*mCp`tzyxWz9k+lR$eFVkZwTv_2VMAC_aHqxt*fqJi*AOFTK4Pe0B%+kTkLJ3xraEDZE7;;XDlW8n z=ai%&3%ZUc5I$|-#_1@TVHZkL)6=geEL)E(8iKoZhO=IWZBmj1{ES6Hs(bPV%45I- zkosK5csAK9-uX^{pz+bF^xOW^E{7Sw1$#qD5(lOg?fo^sP0`LrXmto-DP7@XP?B!= z9(xT`(@b;cVw?k{FQ0fRfklNAg-0RhgO!>ul*mpP??WTColtEotEPU;4%s z)$_O4^Y7jVSM~jn1zxZ3Av;9`w>2a=*r~qX2z~m1djHC6?Ns_-JsuVH1>30a0V``# z*TOixz~BHBC1{MJ!C#Sj2y>hmt!_lKi-T@un5_ekEARfXDN1{U4YVIE_se$JfLo;6 zJAa=V`Ww?5;tx?8^Pfq*IevNUPk(;%?2qr>{`Ac+XTKe`>q%x2lTNyH_48gIekc?20?a=0Ts9GA8fiS@pOmHi4WrYWZEbay#Fv?ry zC<jzG~l}3x%Ypin#RlQ&{)5$-Zm!!$%Y^*QkYGr!5|5~FrOe4(qIvJV=^Xd zA2<=XeD{xy1wJRaf;iA-wA_w^;RfaxkShT0!B>{x#z%-kxP70KT!G{Y>i}q=IVn+! zh*Ct9qEALCf(MJ{1~dp+H2f7qGGI=_o<->7kvAKi&;&QGFt`Urey!lfki}ht8_oJ2 z6A11}9sO|OMlk}O{X8(9WMI0pt|gEpR(#^sh^#`606BX(dicEHhV-N5cH9PTAYDNl zZ+#%RL2$z-<^r-zb>@zFX`o6%GfB5rlyP;8eLjf`R6N26WV{=$8bxxNy7h(h&e zeCVGwc*H>JXvwd4yeGIpaD(8+CxaW_7Qv-P{n2z| zm+8ik#a)LRPFSg=)$OK3>gb25j&{;^JR{!O#$aK=3W;DLYG*tV6{Wh!mv)PJizog7!tw~kveCpm)dAz9|( zDK`g790)Nw-;P_L4F$BprFDje8y`bwLBow6S`gYeos^ho*rk00?DO*lk;tXw?SVDu zMZ*mU=^B|fRKZylxfZX5tF`s9PR}Nd*&;YsiqHmDVvzmBuGiSoTX=GOYsSKE*YMeC zv%eVd@^>HMP;)ieWz8Ur2HMa78WAH6mXu81Xy_>P#cn z6WVx~Xd~HbQ-$N15e6m&$Pr^HmBK0vVXd=1=|0+<(8e934SrzMXt^D?fE%JkM;jj8 zy^4-r3G(;U@3o=B9pfZ^Bp)V}BNQpIEc+-Mx*7kjRkrVHZ(tV>iTL8pcMZ;ll zmZJn85pVSY2w_$3ZU1Ta(0_>^Xgyk9?^_h=a9R~Eh@dsGkcfpuETk7FI?V;Hl+P#W&k9rIzNn^X zXNq>db?k8Wa{=Yy7w=VK$ae-I0)r_QO2J;wC`=MY1l14=X;;z1ki}iE=asV@rHX9W zo$C3m>iH|W=yMCm52)|2yjD9ATbKG*k4H!IqJZ!Hmb&B<(w`$UHt@zmg6KgR$82Ye ztr0h0@qtx8X{;Y1pA0gMtxD!{jb6Ag)INRi+M!Hq}O zj*xma62ao%7QeJ?A%EMbDPP<;sd#_4p5VsQ-=1|pn#t=a*}UEl8d9<7!wHBU&_;mV zQzE+|brtS16|#qrZ1EyvchI=t{o{h`EnbH#?mFC%0*O&t_MScjHy$S3@HQAzLyLry z6`M|G2B|}3&LtQD@d)$RgiUvWQGSTWApT#L&$rGsu7Dk~bUJvnJKT_BwA_wczzr2f z@M(5}9Asw%HwbQ!gDg47l7s9ZS;87OY@l-IKB*o$TeAkUqD?K45(o3x0BZ?mYYM?s z@b+sZxN-D-+y!pb0gJm1H@JbmT6#yShlgwFWVwP@EV39o59x!hQNTy7lT2BSGhc)0 z`e;Ui8+I(xIx1W8g7gRR?cnc z^A0;Ke--%KFP}}!H-9`RGFG9cB4k9~z$yTG?Oo(~jhwsGfZqp_{ex8qQ>0f=JwND1jdhrCb2 zjg`cI<=!%e74JOHCZ~(Z$#g!>pp;czJ?MWh*wsEJ=5>&Wc(3rP9G@In<(PV!rmb3Zzb{=4h1Ui~b&tAtv7|Sq;2nWTTVVqo@#^ZT@K~Z?? zenbO1=afxBZn3C&$t@NY{ma^{n8oP)OZ8+nt4FbY)A!O+?O-fwBPI_uLs}|R^C9*D zO4H;*r?N<~p@LE`ZV-5_6->BrbwW0ew2+0fNY%a?b74=TopA>-<)nIXuz@COTIVVolFi{gkq5C zQlWN2x*hWZS=s^FE*J+^h0}|-`T(@BD*d+qwEO4og!)_B(ej$#qG)gW2k2OYHB_{J z%%WXT(N0A>MLaAfWaUIwPWQmdNjTmq5UiQ+8t)qIXcm(bj7Mcag@LkKk+yox%IUhw zQLKvgAq%=uv?J`+a-(D`A%TyM0I$BCb|fu-i|Mq#x?y)yeGt#?$lv|8}~lvo7X3zmT_ox?cOu zpXH`*`*f12<9>QT#XA-6RJ`-=sCd5z#e3%z(x71fE;2_{lyre5iK+vv_l|?$BRl!mvkZTNQro<4 zpD7t)N$<^INHKr~^+$JQeXVM}KSGw1 zFN(u%2&|bl@5i5_13BMGtx#wLn4FT`&{_xnIL^^ryFwLRmF{)GVqR0aYYaZ@Co0{S z_wwuNvkk87o^{_hmL0#uU3cC&vPN>Ukk0dr{{(L^z~W%fc(md>SwTVjK%df8xwlbH zZ=A02%gJnUcI8?sd)&Bd#tD8T|`x@`W znxV$Kq?(;-cB3DLlqErN-U{mfK6hsM8@|7KUp?u*G~S0XXl^{YgBD{*Cu8Qe%_leayut=S7jM4z5aQJPWT^QIGepx5SmKl2WZns-0>UTRx~hi`trAGRy+xef5J75iA;-^69PCVl$T zwe4^EP}hCK@vF&od0s!nr{>F=&JMBN@==6ubq|QnnonB`*_op!ejKN8#W{vA&M2SE z>gd&ET25ZgN7K3(xBgdwP`f0ekvs|bUT8+ae9)=8PBZvCP9`t;%< z5VqR0)}nxpCwX=6iBxIdG6bNuqypZ@&j*&pA%{pp)u&VD<5yv&6yz3QUPiNoKfTGyOz8e0G?`R2#xO@tG_CbG>{0>hyD->TjpvbdY|zV=+h zeF)#_pP=4)J_H8bz6O_A07izVb+(w)zBoJQ+yC{Xv>N6j zV{663|Gv)WsMheKfBy5)FLi!$hHTj{dMm^^n%tA=;TMzn7n5mw=n%ZA`3TQzfN7J) zf916|PR7O0+L34J*9{H8b!V`>O+Su&IytU*zvEWSNqBOxtFr{ajpcUS4sHmISK8}g z0#x&h`ZT7aJC);J{S?=Iwe~+>v`2|qV`sv;q=WGyt$TSCo3gYe)cYjKyI+g18 zqEuHc09;xRf^GxYKU?=4ZL`O*T1Ym-e|A zP6E_+r?xw_-KmzRTK-VayZyIf%OBN&A?pz2NitBt%pLN@Phdbb^rXRAj z8#TRD+QH4wQ%!%Rrr+TtY*pKDy#BD-e)F)6+TQY*y(yJ-GJ-AVHHbS#dxn1n+Vsg) zzGYK><4w1z?Qc4G&uV))TJC}^i+ckLD!tdm{n1G*PvTJoha1VRD_^8f$I|~{InjFe zb6hFvj}le#M9e=|Do9IRdFsl4PnG<=sN@~5w#!||jA$xconW_}QP_9E7pMoFg!4A) zn$MO%Gvt=HD&2>ydRZoYu|apiz;t}hQ3Mgx$eL{tIY+XV*AT{%i0_g1us?>JA37p zvl27JmvM3w)8q(NIltD$U6kiHev~VLd21h&%5^H&sa#KgR@h(_sJtmQmXfEA??LjE zDZJJ$JJ#_Ijdx=?^Ue#1$$W?KDX47KXK8@>A-BL)`95TA*UNY9odvtst5#F~_nGg@ zU-SJ1?CMD<0avW@Pn;mTR&312Lkf}0PkVcq?D`uFT9EO^Q5!{llAXz&*388WG%S1v zBh2Vnj?p5WOb1ys-fIA<=Ee(h)xCXBU4P55`&HU=KU!{qElPXEM;zlrZdOE`y(;Zj zD0Inby4J4f4!!NyKF^glyo8I4;!t>#5hk(YsSi(u{p%_9;UC?LK74Sp3QYD{)*3F{l=lL%S8OA+Czc28Re664y!w=t{f!@GDR{k# zSm$*?U3==!%tryO9*18|5GX@Z@<|m{EVu28 z?Xx4it{!OR%{nh=A zM{N}LolsKA5}+d&7TtQGSyDDK#RV5Bz}lwDVTJuo?>VHVzvb9H>(-mm^77xVoDW_a zy^qEG3XF@c^si3EVo(lTo`S|R# zs)!%5q8mlL4%WiVpNKbCm9SeB9oy9IS6+5l)qeGWjYhnXg*))(Syv-y^BG!LuZ)5; z7QA^Ay{URjznUv=cTw@ZhcSQMmAaQ~8a-NGCsO!GFC{z}{VH7G$UHB8~!c!Oies$qZO;M*#z$Oo|HJJY+Pu6?SippJ9&Sod_ z=UBIY(EV>!!Vg*8jS?QTdGDQRtcy?3hhP4l?=N6iPx|zI_zyY__@!3j-P`4`H&~to3hNpKEHz_muvFUj-My=M^f; zG*7C%G{hWyvOgv5=cW%uaKi-%l6#iRYa;y+>1P3ptZ_by6O@?*H=YvQ zxLM=m4{#)(oTPb`qzNYEMqsI4{BZ~GoPUB%c2Jd5(PiA%WYBDV+ujZp^U5s&6P3Ci4HLEAj z7xQMW)H|+5h=w(1sY7Tk3L#KVvw}-a)36fU$S)>S*=DF>n_xbpW*tPpQT?HadCz+@bcj64r()}+u?>1 zi2Lfd<2G;uzN10F^C>J3+Dl_1f*UC4zpUx(5SPb!zqnm9@vK}y5Ck{Wo8y3?scxK2HN+&F@`&KZC1SXM6xR$YE`Ij$;fBzo<#yZxZnT&K<%2VO zonS_AgWv{M;CK1M;qOnL{5_gCi`g%3F`mZ%olXDzb>@DYF5I7q;Ku9YqxnfZ9i7Y$ z$FJsN$+;QhpYs5*OKQ{Ms<8d3Oe%nH&@C`mWjioftCu>Ji=@Ce>__y_MuRigM zpU-fgdNIMn??rLz??}@Pf*bb?Zg8G>)uLmaHSlia(y$ouAC*$D(OOwlz&0Sbu?yT7 zvbgJT15Ws8^;kn>s)q|V+Ft9d<3JklIM5Pvju@h7Xg`-MI#JS=hN%N;#|=8sHWQj9 zzXtXE=cL_m2gZ+<+i?rH!9k`Hk|rDV5cUD5^Klo`Y?7x(r(uk%=OwD9*?fHa)iOx&fYr`9+*g>rv~m(`197#JC<}C4|B2+ zgGR>-p=)4u18-P_pWqS8Oti5`Kdufs+<^uo_0Y7n~$@D)3B}{gE?qiw2z5-q<=T71I{DoIjU~Fnkf?8Al(KL zsc5o6aAQCtWH*R*kKjfUr39NYizzoLn{g~im|@CVm5H5l(KN*>O*VF!Yz$f4b-1As zMa#Y5t==TKaZ_zH2=!qFS4Gc$xl-{Igy^(ooj2HYJObkf)N2?fips0WIyEaeB2wKk zk;)y&7AW0s$H8y|7zJ>{Xzj&b2THFuQV4GJS|8GF5RnQV0k8;|=NA>hqN9O@G7+h0 zx^X?lZaF?9xN-2v!+Q$Sjm%^*&}dcZSgc7gn`P0RsGWsB2EmQ*<1TPx$l|WU4aJ?b zLi$GBC%Ex2;f7LOsZzD3aP2^!f)!lEHe}M^)YodYRE^t9aO2M5hTx;+cH9DPND!%z z2xOHYG8K`j$d!s@;-uRc3fhQFwLQ?iN7D^1vvxWO@H!B;p_4+RRg}m|QoaflMNu{i zIZZcqfg3{>cO7mB17D)xd7CK_+<2gH!)T)m@I{asn+^j+78~a9#s%kc%Bn_!8}ArP z-3gh>9vCxPZpSU)26P*NOW}eixIu7(;0D1Bf*S-khN#Lu12R=ass?o7A*6zczl0zF zl_eUjwR1thH$Jt>hv3F8a3hJ^7x!Jbp+X37q;hb4ShCNVWwA_x{z>Q{ttI#%Z1UCq75ZoZRL2!fM2Eh$jb5tIK z3cRw|71!Vf{5WHbOv7CAe|48<}dz;;zGuW=W->GbOn3a9yc_%OxsU!Nnk< z-GJ>e3%tM-&H!(~7?*3^OzDYCb;o2Xdm!9sxg7_?4PX>L5^W};X}XaKZV=ocxIu7( z;0D1BzzwukYfv^a?hz}ljTLRqfwZyC!-zG@Dg=?K;*M}*$l|WU4U5zbR zm}Dwnco%gS83e^J!Oh6r@KJKsVG|<#uPeGXv`KK|&fx~!1=eE41L=low5a8F z91J(ifdSlr=HJRdaD(6m!3}~N1UCq75Zq{7D&c(vv4dIdnnzBqER@PwO(rU7yVM0z zito&&8nC$Qa6@Pqg&D8gOo^r&4|BSawD-wn&6FwNQq?xy2uMu>hssoGl{bRm#$Lb; zp-0Q@xCPv3KDbIj?N8GUl5RwT8w589ZV=ocxB<9ft4&rH!#u)Z;e+du4Qq>L9o+ws z5GzaIq!iy3ZVXx6HMrqJ0J%*Y-f|ZRZah%9;Q|M&3=BFQ7*hpfK&FCRyyO6(0Q6Fd zbDVx6Q{6F{N*|aoT5iW};07NVIQnrzDSrev2yQG0ZV=ocxIu6Oa3jf_v*dya=V466 zqhJaADrh&jke$-Ja8ioz3O9xODYhFh5$#y6IEXDa?$ zZQ;Sf4~|m)_F%f9540RDx8oLY1KJIN1Qi(wZV=ocxIu6OU0pkpN{>Xa__uwxFN3DP zJ)Xts7eAlP>ioq753l7e98dD>WZqcC`Q&&!DRsJ-EZ&UsQJfsl$0zB}niuDfc9S|o zITwpeAv(*Vc9@$RZds@TWEBC1E+`YO_JK~PXOn_w3(l4L`s=Sla9=-hj~k(4s}C^G z=!oHU&gOOYd~!^o;uI=g>O9XTr;EwS6c+|As9uKgWn9E>&#ySIo$-cs$QA>y!v#c- zg~S5->#9}}RcszPq}|v>y8$=MTNig7Zde=e9UugSia%WKhQa@A@E(Ii3%FriWYM^a zq)ll`b=jQ@rf9lx=hF>oVKUWk$H8zzx2z6lf)JcyHwbPJ+#t9?aAQu>4VrEMe|W8} zwgw4f0?Fb!1jUk+f?451XHqAiVI{b+qYv(o#a)LRMo18krk}rxy?T&_C|S7yj>Dg{CPf~)vnI!G`D_qYh=gC z3I6oE{NeETCr|z!&6~yS7q=KsRjMH?K{It5C!-?yPDdjBe-$La6=s! z3s2jAJ8l6tIHcm%Sg(joMR0@Q2Eh%28w589ZZtBLN~u_H(Q0#u+|WD+mXw8v)pLQ! zKe#~BbmMGS?Z%MBU56WzBVAE~`;B^&q~bTVV*k(2*>RjN>WoP=1QmyiGap}R(B^q< zUBXq5_34{NGQF%`w`uma6LFH`(d2C{|ABRm_-TgzL2O80*q>`yFo^{ zD;aXWiUsel}ZrMBV5PHSm=VCok*t zs^1ho)8sUk(mpX6Qw?0jwt(+gZRM{5fBWULiTUP_$Lg!si)XK2ir?oy+qXYVo`3iB zw`bjtX7YOaJ^yafa*@|Ag7+JHor~ipt?52U9JlfETl`LVk4ZBj8~y9tgzSG_)OfUb zk>S{M^k&{0k8OVZfvf+zm<`9I|M-#z*B1^@NgAsog2_T<|qkDDCp zW$$e!M!a?6^2uygk9rMYPsl)xqO6UQ`IV z2F9?UbqE7mN9Q|+q(50Y3;+MrUWL%cE@)%O;;y3&2a&i6p0_A>LK_bgZFJCu!(dEuP{GBHZsbvUu5bPj7+)IyN zf*ttQndcW3jPap^p?d^7x)3UuQ;}ux%0cfC8qUobPMxtzqYM0*Q{Phnf?xaq1bUSR z|JAhoQvY=ZMnWr**IDlP=@+x*j~i-=i+Xr6dvo;#9+%_EbTVJGZ~d2Tma_38YtO*z z^q}-^9a9F~2gf~9n~#Sq@CNjNkeGArh*x!+YJAYCz=gG+QVs(Xqry{U3Zo4W8Ux^m zH^BUWo=HJJF3a93$3a6{V=n!A2HsOG*Yln(e~3N&QHf8$26D9AFWX^*;DkcAg|NX# zzy`PLsrq}sPPpL9n$8Zfi3t;si_}d)6$2Z>G>V{%jO)i;%lXuRj>Xy}W#E-}k1#>v z74}h3bSGHU!aoxkE?;;f zwTn2%h51e*2NQo|*m#;*2O46sE@iv7Sm1QlCM1hVMf3IFkIs?7Ur$QYx?kuWQ1$nS z;rlwDql1ed{qvuXep$Mhet}nbIce^wlj-3Xlld2uX?y4pux&oV^IB7R6L4I4?aju) zN`vw7;f8Xf<#rqlH{^j1Bg>T!1U5bb*cgWT32^j1%XgU`=NM{Cwzb54qENnTLk)@h z^vStTB?lEW>9?n?3wz(_S3}P2I`Yw6EA1fb!4i@3<9*7HVb##S zj$Bd(x`p`>f^s|z9z>BWCbS)Rbs{DFUCFjf?i=#?>#Txn*~DV=I(s?E_3Af6ie7e5 zl|rn>5mwS$b{83$>1@_D>1-xaOJVOK$I?o&0RAU zAT|0fYV;wCyN*dz2rxt9w(WhwB=5r{x0fONibp!(q%sSW#LID$DwA_x{!HvL`bV?8j?7u_;+f4D<9di6gYIKy01Um?JAT;{x zC+;!94lt5}&frM2{+WbO(>U)zkr2|jMo?Mw54T_rVnrY{&v{LJug>gHw$KM9|}X&|}c4z$)&i z8a;Q|dYu)ldLVtRHMXH}f+77{YFUu_5nH^@Uc!$}amc0M{2E({%O9dX{K#r_V1x7h zvL!UI!dc1~|0uq=*X=_xsxm^l;6wjCzE-Kc+dd|Z2>Ih0h<@QQOd1i=h#cdlfA{{l z7EsF~-x?Z`0+LpSWmU81WLb9zuR>UWk&Ul&Ei`yi4=2+VVd|Q4p#S-Q!>o#kTDST| zu8_%)^Sg;m011`zG!%K@5|w*Q)Vc8Q}Mr6mO2l7YF^Y<~M!oTaH(y-}aw& zd1x!V_s7^)*wONu-==7X;M<_fs}#|U?g7n+lnq2NB8m}FjD}>>;O4kCxFd?uwmEy% z$BZH*GbBU7b6>f{BIg~337i+FDm)&Q4XQ$_-;iE35*(6VoPMc15^@N|AmuRW8Tg%7xX1A8L zt&Cm0a$m*nUpsN*R9sn%r*E3_>(aXD_8Pjrh67%+Vx13KpYhAdY;ktwg1K`11_JQ8 zO1PkM=&a%K2HACmF9G&q*J1Z5Q%nw&w|CaN=)R0cXKMz!8yD+^vZBG3vxMovS|rDH zXKYC_IT;Tj?qcH>yh1NS z&h0vSX&HaUSV3_Yw@pH>1CAS~0vFnTPD8qsb4V$Hauwk3l$>NfB#^IcC!~~UrMvq$ z4Y`b#xF+sG8r!LY;g5sT1m6s{wuq0wgsd_Oq2V_d8zE{_^l`zhx`rfp@w0a1b-b&~ z&$I#eK0@4uIM9By+_PIiBf&=kavOwd5HuoomVd9A$lej=tCVJZ_!+YDPY3kM= zs;^Hk9wKw8NA>ynf=DYpZ;pw(5%viZ5hNl=^yKj;5_pT^t124BfdMf~YgJg(aKbFv z!0|VNnXV}AVr`0YD=lb+Nro)$CMH2a+P*{a4N4Q0_f1r8Jq>${N36G)u3%P)s71u@ zwdo5m3HD%6pydInz=jqd{sU$%*R<6)>hashFB`A&nN4DPxUt-hgW-laFkxhz^NQaq zG0196x4-Nx-tg*Egy2Wli$g za1xxaVT&6Y?dJ@wAq%>JC!7z)d)XS?geTsIC$3%k55W*^#cx&FudB#gjdM}>_p9_r--9z&z6zy)byygcN?ec)bJW6=u zB+UpuMkMyNn`wLnQ0951dj4QMp63^221~Po8S2tlWD3z)bYLBNu@pqH@>$F$$K&;6 zZ&0(l-p8sU^yvSO?UlFBz%@t;_MZv`qK@_qS8)B9w@`Re_TKd%f22l`&>SA0m z;QVgF3u8Uhc z($5kCVqQcbrT5D4ZVZEf-sWyTzI}vsqw4JgW(lP9CZ#tiy-Dd!vJKqvKY@c(QZ{Lw zHIp2nyjllvl!VDlf}T`6W096kO78)4gbStjkOkc=^kG_R(UfRiZ9qISsy$oOjUx8u za^nNE5pBgk!W==w*y-lH)+vwnQjrL_#sm(HrmQ&z39;5@#P$It{0G$S7sdMLTr$Gu;7A~yjOz4EdM#5k} zc~hAY3Hol&Q|@gqubohk*DT2A&ae$x?`k|SWO3I}gALLJ;UPmO)X*(P?_(d`UWR-C zg1FLL-w8}yJ${3q6qC)`s>--#OQ-{F$A z^m(BTB}dEcI2dkV0)c1?BNZn#!$sr{O&~}m{fO(t!OJwvmjeGuD2}wPr>7HyZZ&>SYn_owdVG@ptQpK5iO^S}K+_TIJ0ZDY$8{5}!$A1V}c=XBpN$b2F*>xN@mvSnNCBU`p) zx9vV1ibQ6j1iOl)`OwSZ|2`|hN3lp&6%3q82Qv(z+5|(<)Q230H(y%^*!$^MqXt;8g{p%YbfS39g-yoRQY- zRj5X{!3JBPVZkS;t}&mo4K@!bT7-1f4u-&0-zds`gweyR>Vk%y4N}q!-Oe z0tf0O%hf;w$v^|DVD1Iehk_qU-djwo{V)Ma5V==K@PIh-q%jM_7Ia50Q^2myyQ$J;XmO5fB_E@=}?yx zv64Ell2C7$cQ9nrHe65zV%&tm@yHP?iC9U5D-H-(yz7T! z-<(YPxg2zcXB8eh_Wtvq8vWHT59Q;x)1ThH=08uqE8l<9y!@JQMIN)+C>N8Pld&K4 zexF0s|9F-B@$^;jQ-Az!GVOtsg}2?!vyyZvjZG!&Y`DszOm$XTRUlq#mtu0Uu9U=y z60TUo6&JFSx(w(RmH>M~ab^ii+*MW*uz;>Az;m0>Dx@r`dEUS$E(Z9>m!X6mw)ill zKoy7-e_Y~(POK!Zdy8qcA0}YA;fN6?_^4V*AEMJrtR!M35i5yUNyJJ*2yqQsNv5_S zSW8n#4;MGkDGbt{9FoFFgL21s?KOEW?88dxGN9X-0CZ;#G6e29)fX}Uz+E7MVA(8d-22{B8 z{kNngbs5}E*ieFWT|&MpXPXH&Tm%~~y$u+_D>pW*2?gaFu}NyVyldbzdfRSyh`I&_ zSFs4P1{YAEX6Mlr+xo3Xui^hAa@WuY0E^RKU$ifL;5GbRn;;k(qvz9c54a)VB4^9o z20^r>k4a0S5(L@AVOiW@x)ZJ-o4DS^?IP6faP935DjCmo?a}1mK}!;~Evjf;AypmA z+E#+M9i2o=x`dXrYK-nOpj%ji!Ky))jIhL2Xi2xB1W`MYqD0#Q+M&@HZ6Yfy)O)g6 z5^ThTfY?CRbov0KKqZKMOAs)LUQDY!FadYHGAl)rSP}`ST1XwhwB00XRiIV{YE_t0 zt3umLa5Y?ems%C9=27@q)B+U-C4mW?V0FQah4Q0T)<|kq*r+w^;>N55RCR{|-Npo5 z%d&Lj)qE99a2o_vV=z@@m_fEIbE|^ah1Veaxv1)7Y_Lg^fa>3QVw=R(oKA zTqkhWInM7=onS|4>HgD_z8$6UTy6G~2lKwlR(5t4K~>1_?a5)kf8q!JD4jsj9?gN{ z)O*tm;_%I+H%QYq(4S-hpykGs>Ez4?UHA?J7YHs8Tp+kGZ#};Ea3Pd3NUv>CCU7HE zgp7-|5D*6k+we+9f&as6{`Qm*@*Vj;{XT=vdVV{E;|A}7#RsjxIV+)M8KW-@RA>rS zt5j6zE-ge^$>ep(oz4N~e8(rFhcSY`lHVF-*%MOrxGV8*riPp(D4^$;&$Az1WPVAL z|JT+K%7_w2=L`anj}HY>^`13PN8U_0X=(d0!5!vF=J2vH{3tFW@<0Vn?f zwT>O3>jyErIN9M-{n1L)$^^LPtR%V`WIgv{M%PAUOYRP?|SgrFs8!;6rTP) zpG>>rUf?Ie4wddL=Ib7CC}Suo6s&aa5*%9A&u#|>+LbOM+7!{Iu=-prUZi#mYR5om z*(E)31xmL9V(GTq01m(l~lP3?HDq9S9=?as^*nt=*;jg3s&A9%ySEX z$If@&5^QuC&@Hfm7(_e8s6=uZ*w{Jrcs{QTFtG1dM0zPI*@hA>o4 zz;p=$m9*f*8PrKKyXym>#4_yL|7<&fhE)W=4E>)X5rFJ6mg0Z?>%sSFGMtS=I)HQa z>t+J$vu1E~&`b`RLH_6n!$0X^yT1TA?7Bf6F@fqWrd4N5zz((R8K$+oQxD?b>dxOUK$NjY3F)MJW5B+U|Fr$5p}iSAB-2}jP|`SO-IA=yE941c+w1- z$u!r-U+16N3Wpw^-2%s>a<$RgI>prd2wWGneb z*%dJd>Bml3h5VBUyfD@ZZ(^A|Be&~a;r*&A z@|R$O#k3+!pj1-H7BX^?+l#QsE6{Eo6v~)qEO=S}m9)_hzynl+pc({7&||^`gb4@} zTn{EFJtUnVQ&aFNqN$sqyTOAyQ-oCVlq6R&=3s^xOKU<;JL>SS(JC_OcNxqrJRqEN zk{j}wxQwl|HSBmUZAG_)ILD(y(z&q7Er zn9O|*+o}82mw!Q^E_#dSy>p=6(ug1~!4;`5UA@0+SMr`(3#hdK3&7QA*%YW#YXP+u zJbL&LGw2$~LTEIOtU@-&@lqq}s633KeJVK9(Z=9|X$kKXsILX;JKuTB)`Bhrx*4ns zbg*kkzGU_}CGRg{=>Y5k2bgbkIB*oaPM& z?C1i3V$HNkZO`yLe9uk1SZ`NJ^!w9VAZ%_ez_i*25@eGGc(ya@HvXtS(ZuH=NPzW^ zAOV(I9|gR849vCAcve6(x-8%%%8JAT)EyKzDS3?5Xx4U7Vl9%AAOS&wYl8&I3g>-| zFor8cFlDR@UzM&9(bc7J@Gx>Eo=<`Vmq3D*AZwQa-G&6{)qwIXbsJxnzuyH3ZUdjE z5>a}O6&@WoSmq_#Iy@^?;Vd&QL^wG3yv!3M*mTibL6MJNCIBQ@OshRGfpopBJ%u{K zVyBgwS}WhyMNkd*dG0pU?$N0T{pTltJn%EKz(S7RI)4&bQ#PoEKq_DQc6pPZI@wztzk#tbWkud}A(-vRoufzc*Li%<}?STUn>uD*S)`D;V890+!n;(tZH!V|D z_Au0ijhX9Pa$i(cN>FI7vBp)ksZ`DvwwwDf271kP?({Of9pTTS6qe-=t`l!dev+Lo0BGthpk}`9J~5WM2lZ@>RvXieoZLywV&2a ztGG*iq3H-lij$oTy3O&Mmswj}O7#IeeAm!IP)S}V(4S#XB*7O#<0*2RC2ZM1AF^oo ztz#g*&_4P)XtJVp&3wfjmnlLE6v(e++bh@8;VgvknG8v~j zjng3HmY$r5^9^bLkoFJt4`d@;!UNZX2e=U__p*TQY=H+XS_dq%$Z#f*UyL%&wl+&t zBUq~uY`yQ6e4#FbxrGIoFiJAvagMg>Df_y~ z^oI@7*jaQ;wSj4aXYR9?KZ>VcKl=3*d;Zf=8o&JV(UWWA3!wlY(IOBF6av5(vWR0` zm13czsdNy$HafG~2@9-Yfn5pe6eR~LQgT7E%soMHr;S5kEwB2Pv zIgss&Ai%g|rj*n}u-k{=uj(t#n4s(}rqzC!Ku9eGGsG7nzK}Mlk2SgRQ-p?GbAirU zCUX*EP}Q3s&0A>aTUpm`bzw%7_(EM`De5Vvo?^^2;tOHXxrY7$Z@daTi9#n2p~Q%0 z$Vw<%BqlslwysQ|8o@^Yz!q_3$rtJ}m|IvtX=5SqqzMbu)80i`U~AYhVmDnI(9qeC zlGTMl=up6u74jQ3x{7TD_h9dWPL`|(@{@g?wE@*zOsPF^0E5mbh?4MuCLC~89I&f) zO5OuIJ0}SX5EdZsfs1;vsh9ZL`9km)&>XFfg;Z!LMz4TF+dzaj24oY<5^;_o-{9E> z7TEdDTjGH(1GMwV!{Mi05^&y9k~`%AE5dG)d#Mv zhk$vRZ0%VAzX9|RNQT@dm$5M1L>GduyvpQf;tO5E7h3fYbQ#cXOn|VFSw{LoceRHg zS#PZ8u1L-ST6?b1P2gg|Bf3<9ui-pNeZ^QuuCq=6Ot6?%gb9>ND%nCtj;GVYk=~+~ zRX7hJCC^y!vhFWSZAatbY&7ZDSMMv{F65EE5a|mM9?0$tq&G@>qglH4KVBt&Jbe}X z)E~c_OnZ>4#p`i)<2}VS7!OcOM{+aO972g%X{b~XPY)@Srb;duMR?%&sb9kbTkpGN zeW1%=ZejsrwRXalq%U+C7T6kgJeSKL=Eb`aRQmpS@Y)~GvRvP#mae;E)5~{4T(e5^ zx9+n}s!-L;7iAehw_`pOHh1W2?-+x~D9|?HfL&w#7xoQE+gnVj{cr#mQgYH4x;hTn zUBJ6K7Wj6Q#&fskPaez(HhGHsS=JxS$>s?<`%e78AEguMzT=fTPQ5qHAP(P5dV@4= zng5f?+QyUVh=yF?8ywK>ft`x}VsTRjC|M08hCQGUkBBd0rTcXojh} zimk!w?Wqss7s2=G_gR{t$LkNgCmOs979X@BnvS6sknAahN^n%<+=9)`Qz2j!g`Ur< zvLQPz&v$$>dKe>u%KX+S%N~3HdI$;dZ>IB~r0J_+e)&B6;l%^I)>>l>2qIULFm6WE zW;mGigSpn!+s;?+5{`7amz!{;ECrI+tQD0dy3$>wD+N@Ryi%-S5H!N`E@e@9=?ZD3 zg_DqRcn5c2*(_vfQ)wlbj3`~I1o0*(Yg1^Ud5i$luCDXkoF8%hx>kr| z$BD1L%X`kM=k4jN?|gbrTNl0f>fqnLdhz1f!F<<)d?|+qg7JUPC)2K$FPamqQU0X$ zX=NM^@B+8!1=EM;`x$~70=CQ^@ zT-rDVt?9r_VPT0K**c0AP>Xw|;&I zorxd|StO7}0$C)GMZ)#TqE^xiR|QtY3N#F*(fsV;`&!gVhPtwqly&Qo{u;nwGuU}N zh)eLWBP_tT2jc~{z-t`En{+fBzgrIs9>$Yq&`hQ|QT2LfP_(fHj&mtwiK615lhlQf z;FKs0{N)`-Q!1JX>PpxWl^MLc?+;{Iv8lS;%Pq*FtQ;y~VuS53?ZYZUi|zf7A|)59!J#$U=~XAPYejf-KhuS)eNEbmohfAvk0) z(Td?ksSE8~X*qf@xHuQGJW5B+-~!Onet#pd2g1}V2gmrptOpNBrYR|RwBuABo z`LlrkTUEmsx^kSOpBt~`JH*H`-UM%v%ZGx~0pH@054 zOEy-Q`?!q}N(03jN2QI+Fv8Zb;{m$q=8%YIIoV)}Qa~ zAo6jTSfaO>b9>+v3AI_Ru{Phzy2dwY`er!(t&g6F{QsW}rfFRJkR~f8-}RBP&Oevm z?4;O*^al-I6!}34o-hlRx!y^$uCqzXv!pyr%CqY;V$;oylxMG9c~%A3>N;5!+?QYy z3z5)Y4!*XmN{+b4)ZS%1)H{S(Y!Vg(dW1Jl<%$ii$Qt7cP#`2o(r^dR`HF5YX1U^v zcZpuQ+|h0H0&8A)aphe7H4w8FSD1fnGevz$OJ8n;cwz|;TJHN_PeZ@r4Z!6rPxSmI z_j8ZkX)v|}!yIm{*jDZMSgz1iome4siD=&S~N}?zyg_(aUe& z_8EV8X9-#|oDWW+f#0B&UqUa*nz}?yHipENsyy@an=wM8S9&yzAc8*l<6r-JkXs`0 z{|@o*g+VO7{{;Uwak24-Jab=mQf)eath=0On);)~ss300U+q5+DiOU;3XODC4gJ7a zV+pK4YqKs|>r1YxvR-VuxZHda+OnvE)U{zPJB6A4JXtWVB-iZD$z;?Q(Pf#(9sk0} zUG`W{FGl)wtK;Rv^R#WfTx|aNJIuHyEVf3!)*wyuSNR66o`#Pwxt`?OSigNDV;WET zTW^v6>t;NKg8X8dP5QsJ=Q2f~SN?gNR{PQF4FAkeF0SsxkKg4Jo{nc}@zI%K`4PW% zI%A$Zd#$kbpMU;O-Zl;<&(m~@>Cry5`I_60#xNI~KgaE6el$WSZ2UZLz429(@&CXd ze?C0%%^)-4pU>*Ld7IA&|IU7Y%il!b{O*5EZ~d>oy?%SbhvWBC7JAj&-g4(&I3CU- zekCg{V6XPl(!f{8xVv8r$8Y>N;vDlamsg1mbNbw7EpFEG z6>{cuaJ!I&*vuskCiy!4Y%g&Np_zQr_;>qpSX|+0f+g>^I|sH}&vw0`PrtmuEZ8D; z+an9sHY8HD{)4m>cV)n+A#qJ|0So_lILYMzNT~HG`$gF=%6_fS2+DrlxTYe9ICN!s z%+`^rP<4scA0})OMa?4D%s{6Aul=3buiMM+{rfg0cDbM1xi9IEG_aY*eGR#q`pnjx^}#9= zyuy+JTTp@(3uy#bb15KHh`GEIHQY`a6KJw1a2+8%=Pb14!Bj3ht5pFr)KIEaD`?K+ zitby@{8Y@O!yVni4Un63+Lc*v@)~f%BFxD@c7JN--O$6i5niXkSe6e?1HPW7Yg0ydiP(@i89*j*ovFxp|DztBk6P+TrbI)}Zjb48Hw$Jz@)XbH&kRz&! z5FxOdOXP*qL14mHQutUy(lBcxp;&vxnmI!SC0D&ZW?65)`q1eOZfirk^7EOYx;)Wc z6;@}wGZBo58eE~w0|$4A;XgcZXrVA|j6vx$|MOsRxy!OA{+cUIe_hSIOg8$uuF+DW z(TZW=0pe^8gNieb_+{%QWC6iF; z{KiY?V3Q|kW7&dP3Fq1xnJ~*T$5`oDMP*F|t;}2g=M6JeTL1Koq1 zjzQA%FIM%vmx-`$B3b7~R(a$v%?fU(m9`UMceQzBq5WN*wtDQBn7Nn_eU*gDt~A00 zbn^R_3s`XA2X~!GejX|OMugdTZ?V$u2U~BkFx$B++A3X66fqH zKl|$Y*$+n#@xt4nN}L4<>umG68Qf%?>NHLRh-n}tGs!ei5BfNDz!5-S1QMQ<qXmqSW+EFh zQ90}4a@Nkl$G9ya%}wfe2h812Lbcvh9?!i2^!LWc!juVp`8udtp$NAZk`s1F_e2Lt)HrK$B4<(YE0u83(amJ-QwPyZnv9t4Dqq)-%hkUw`Ly? zeSGAPJxGG%M?U8C1jBAb#Vg-_MTI?Z4pW?D_VeKmV%OnGbBQmUP*n8-bX@DmZ31U&42R zvEXIhU&cMuW1hh0`6%v$$Y?I&amr|h>uxgN`2wemCS^29Ws!*b#C~Y9T~6=!8D9IZ zn*Vr}{PFY^te^a?%4jAyFH4ACp%sT|c#l^BeqX#QG}jfl5OsnKBeDc{jHv&2&T4kK zqgz=`gB(%Gc;+inR+F-t)86@GFqc}tkiBu)&UccazmDK3ZE^3?77Nk9%dF^-;#hO& z`x|8Ys8!?Rw`y?HTfA@g$y%@;=THGsZn4uOEV_DHB3u{rkGK2W{JY%)jUN!>g`yBF zoMB2G7$~qp*9G*ptul!VZ4%J@9}oO&`f50C-nX`;xu431Y+!m(Pu7Ma;_{twV=@C9 z=d&w&30FhPT~O|Vau<}lpxnis$X&1!;sRd6Kp`;@m@+TRvN9C90)@#Wo02=%SMEj} zBAP6N@*zgdSK=Xed-p9#QC$XgJAIIeW0GZkHA)|BpxksPJ&tg|7-+n*MXGsw~Mf4QWQ$$Y@{hf&Dg$%rO=s^fNLN-h)I7C?)3l~FG z=};TTTTQ^%X)xUkIsOh2efJmNGMw)+qTAs-SI*k8<;;ewMd2MqfPSd&cM*{*&TXr{G7k>bMC{o-Ih#HyWvLpUYaj-i(S< z@3|FannHF8*(qeFkex#II}x(WQW{e-bWXB>Mmnu{;mgt&3FfDG!{(luoEF|mApARo z>{oaLE@SsDL%S8ba|NMvSrU_PSf8@ku5c6f3gWkp-z}8i-fb(OS5YKrW@|VK%Nos~ zi5D<^QizsPlBp7KM9SytkMI`vvzlgI*_Za{_*yg*fSN zcIMq2&*toTtp)k(os*lVdu}5kVF1DagaHTx5C*st7{HZ~MRJi9M!5(HRbwF{RJlU1 z2qHnWsWNv=7Rd+^nSnWx3Ryg*j3`8K9tv)qu?iv~70*|6`(=?n?t6KOOuF3gZDb^40v+z#Z zQ*`OV6W9mXbU6^N=TtT(^Wf)@=d)p4(=))pP15*v6VmtT_gR`u+cH%hqW0SI0>V-r zKE6;Iay~(L%KOqOuNB0aa?tzHLDWKJVb|^aI06j3x0u#@KrMMES{b@L64z-$v83>w zJuiYTQ^hjJIf$|IhK@*XLvN?Oim0R_vr@d(?o|G4LmOF@2JI z=P|_1$U|idACx858P(&i#J@V<;I$18zMD7MUv@_~-4=$`uL-S85o{7NRwTEIyP($~ zjaS|#G&wj21zMv^Fr)xXOkLK=MNui9XUEQR%k4E*B)GNq8ea;{6>JH&y4>__xRtp+ zQjt(C!L2(Bw|2mxo3MoEytkN4`+^)Jg%)?Go^-qGM^qJ}st{F$2&zz3=uT9H0;>hL zJV8|?SA{A_?7K3Rh2zn&x=u!g+tr?(vq6ibZO-n_i#zLC+zPtvP(@+zvIoOWC68;1 z$rM}&aPBL|LzMu&?nzas#gLPJm)p1nJ{S^l#xMdO`+^TVKHYmq&SZkIXNSIwv%73n zXi$z3rmSi-dNZ&&@myoNR@9!6ZEz#&<|N{sFzOoM~LheyySOHC_|G%<5scRIh$< zcDqb4YUg4FiSq1vfhu>V8QSb=lyJ+Fu2pp2oHfCiz8fvaV!P+(%&lJhYicOlMi~elE9`pQC9r*OJRajq=*-W`fO|!O?U0BP@Sw)vdqSb2&x6oUI1k+aM~* zJThStiLnaBwaVdb!{LKsE1^}YF%dN3(Hzil;*S=iTuy@{S-a zuX-a)}G7$c^7(i`}3~q<2*5^6;lk>6^%A_8)$s~4)Rx zw_IJ^+VXz(QN7L2*Y@>n%(L6@M4j`($s?a<`E7lw&N=Okr*PMMvR$>8yFVL_r}B=c$CEUF_>NPS7J|yolflzw0I{7mD$)5%yh*3S zFg(tC;NKTvg#YF*@}u#2GntN?3Kp5GSnKmt``K|mqrB1f>WdF=^v zC(`Kb1a5#5#;^VHlL1uAhJ$!I6$i7EDviIb+gsOuES3{-?rgSvJFV{GZM{vGzE)P@ z+Xg|jy|VwwSB=GL+s~~1=5&`+XE#KHca!MIdW)PE)c})9wvdsF%bd>k)2lpv7SE3W zsRl?jK&k;!4UlSpccKPZdXJh}2{+8-4YIOGGkYyqk)%!v#?&H-Tu-=Tbj81A9k9!- z+^hpC=NJh2CUfmc7$wWh&^Sm6m{2H)~{P<=ygW-cYjRiiM6vn&b2d+ycvMBfg!W z-5!zcn|FhQa(Y?kgP47b1#N0;ah3a|6VG`XZ~N$+bJ}OJf5+7qJBqRGKrMIQ7^x;+ zkXy}n?a~w~p1ix8T+EpoT)=wb3+Y6Bc%`i4_9WbyEW_b7{>{I=oif9RV)5lh;_bZi zJU4Z86Qpnk!TvV5xp(=X?REX;c;VaUvi1(%T}-DG5v7PIMMNngN)g?O6p<1T)JY(R zOK=a7BEo;H7rNjnFmFn!tUkA+^+p6lFQtiF6Ka;Y%_iz7k<>M=NNW5w$sklrHrNU% z{r1zuuki9+wybu!t6SM3h{J$8LB0c%b=LS5Zo*#4qpjn2OCW9Uwv|LGOI6Agt0D;x z6ET$pWWfwC;4?3(7+B<0ZV=dmOuqG_`w+^{+xY`Xa zX+l?=GnHFhI+MzG2eb>2bORKE?IF7~`d*yuE{=!rDI_7_(pXlYXhUEPevJ^c)lB>7 z662lX-d0< zs%O)0KO)O>O1XOS?6un5t_ykjyxfG!$TIG zCz%m;YNmj{h=M5N>8?^|ZFq*&ju@ia}9k{<_%%zzf!sT4{Zo zTe=5n`er!(?Hs4Y>v!wheLiao$x85oEV!qmLjvyv-U+-Dc)t_iJ-Cur0s2!u2KbHD ztSY?KtY8A-o^`BMX|tl|PJYMj1n)@-$xApa)G=$6O707EuDhbvDu@sjvt_^)-G1=C z*K2nP+q>M)E!eJ|h9(~=O`U=5dky~_BX(qa>^w4#uoWh6cj)fkbqlzM=*w7Tmyu+$ z1a=4znX6;r4Ue@<-U^j_rS|~tJAZf|@P5$&J^;W&upyXKvqDP^ep*PXs6f^) z$Qx_2(r0G?zaGjiK-dky_T7VZPQ<-9&0T<9daromvIrF#tCcc&o!3wUu(b@qGs|3c z7O-E49Cx19;^(go>8C8W3~0}=WMO$X!2AX+@4951*AAWU&Mi)9lEQ4P`iJP=*X=Z?Y?*~Uq8G--3*bP60bV}RwzqyGJg;=r@<_B5WXg(XK zx_OHOI-CU3BBdsT}Q8I7A^e#G)&A-K_Idzx|9q+NCKJsGskHP`~V znVkFCdH{c$Rq5sQI3GVB;I^+fJD=0W!{;PM682bJxyx7W{}e!jr+H;cO7^%EP(2XhT60Uy*rm_)=BnG??T0yO{!g$5=lz~(d~crPORnrrJ=FOo9b|6jLFJGAAe_MF?kb8Sd)&z^on8Cs{t?UOmm{T+v;9qL-JmTEEV8M=Y1SzcAQc{=_8< z@5XtaS%2FnZFK?b3ozTAPq^^8UA#ayR;*i}QP>H}c3;b_dsbJ`z~%zHx~aGHsa!t1 zXCB9W!+|qT4{tS(NcR@?uY1NL8smvfFS1(MWL2rTe)iD%S?sD{wBJwjSyJB* zQHO{+MARXo4&4drP;Ee(muLr&EDLs*rY@Y2(AEZlz7iZZ!P2Ajeut<-p^C5zN0);# z4lHtunt4@~5tpTusNoMGTk-tcPaW$1&Rz0`y4=hiydki}Y?(VGNE~KS@#uFS`#CSA zBWY;uuz9#I7l>KkVT&N-BZw}sgqKSNM+H@b`&VfriYl;5NhyQf*Ct}^=T^byerLJZ z?E}a_0{+3J5jE&89AqFkm=wN*UAGI+I)p`eZOb?x^llarD>6`faczvc0ChKjsMiPh z;y8M7j=PX@a&U}bphQZC4owxUEgTEJh%xb$9bbe5*CPM(U~!ZS2|;V;wAlQ*Xh0%J z#=NYGQb^ot?L^_~$iQ$*m8@l{y;wH?jbDD~V^Ifi)mTYm&+>0;wFSLPvvR|&5YUM0Lrc=b-;RpD7u(ZKD`N;HNr z#Jp$`1|P6?4Bv>7Raw>H4&l`(Ig~dL`c%=Odz~4`v_>C_fc9)3Q<5eKT+!{ts~__A zT_V>mw{;u2LJA(pHIL3UAlJoZ<{vvBw=FjU{#iD-KZ$U#`w&aAZu0FPau;w-%d#!1n!Q zglAVk5&~Kp1#>T$KIHC@>1@J~XC6Tr^^si|&VByo9T#U{%p^?-#$-|JtOZ3K`+{H$ z!5D%ucLK)Pltj?1ELg~LdjS^6whF3XF$fz~r7CmBU`)xRMP@z~4uuDZH|ZMP%5bkn zuX2iznu^}#9^N|$V=j5~E+I^pTe<_nVA0mrbv|$y**idI=3h*U?9$+~znuM|lS5;)exH|@4 z=Ch9A3&EE@R*z-^&AS#wOfrm^PI_;eK^(rB^w2oa*9feQhq9z`3U9WM1rr5cZ`xR^ zOhR75r1mI&ilcCi`n7}IP6j4}s^0u4z0H_&=WGD%~3<$mue7O_wh1J?1 z+HnX07>ITZ(qlH2sW1rh4G4Hx|1w8sXBFmAI%)=s>?pR`3TE2x4;EHZIjjhNnvRC! zck9XChw-EtWV3C=$**%mn$VxSsk7r%(<~UL6|e# zpsnfJxq6dJ9a}2JC}fP!Q8-?HmG|2vaJ*~n=vW3(y~U$XIO5uH1TnhS;00lcQ3I;P z7=S9Ht@Ls}AcQ3%7>`Zeq&zZUiB}F5E`?VH9UeL941qnE|MGyutl}o6+~F~rHJPZu z8TvrJ_~Hxa%omT$!<@3c5S}98h@YCi>xX0CoJ{)5*2Edg;4hmKxMogC1txfx zTT6Ii+=RjL$n{%=PSkHE{SLu!mpJIOc64)Pk-Ng`B1|#xgK0~|>yqyVLi*!@pG{vu zIQ4y7tIXLM-%6$;ia33Mmko7Dq>~*=8zQv>HOsM94ywSazD{hAfG2vHECz@)kphyp$sM(b1; zNm($-1q7Qbc*qqjp+h!zMe{N{9^SF)#NXQzrOQ3NVJNW(b?{_eklkKxgmm|<#gW*qX7p?XcY2!VV~7in+-W%agI(caPQ$O-J=#&a>y{{ss%ABesAfLMJ_7ks zS@Ri~yFxD7@Bs*sKbtnG?R(E#pRta>-w*$Lrx(Gg8OHV@&IrY=>lQ-(aBt^_OC%GQ z;&f}9ZAvz;J3Yj6O&79;?GBd)T-|gShR1m%@b9Ma#6|MC=j%y!Giw65#HHT&4ZpU)E{EBLNo$>dUU+k(GZke&azBkbJxvaf? zcAGEHc_7EfZAGI)5E@?j!5|%H9QZBP(0PU;v(Iypf)Kcw_6Pny$Ae#=kIlD(srj{% z?@nHy*wJ_Ie){F>_s_oie)hxBL%g~#toCgStw?{E(*-om`g;54aiRd1-5usjHp^w|3+sWHZ+Ph;294*^5 zOB^|wDZTJ zL$A|iJL9}hL0XRaJ`{b&!2~2mcorV50C^mq_-2qV@Sna)OCVbNYViaBmHyd+*I9Mk zgeT83;GP5ir)|k%fm}a-hd`kTdFwy(s!Y|$zqT5=CV6;+IB5MW))3GR!AgQZBvMD} z4n%1rO5>e?KT#_I4{KAvsXaTlXH^8@;MmQ%QOP?I)4A#nx3@j&Z!E0d<%SaK>4JLp zhnZPT&ZsQXLiKmY8QCEgN4JRdT72N!HOo>{_?Qn4M*m$AkEN z`h5l!*IfY-zP%BN1yq+H6ahRG(e+huo=j1p(F;t?N)+&3)%H}tok<&PB%l8JYEDj*Th&{{q~udY8A_zp3nKkke!FP@QQo8 zciF-S9Sfx$iXc0GaFv$6pk#B=jyT`5#gBPOAxk}@V0(_z+hBHlj2*YD4RoL*{B%u>lh)&>=8RH-4wud*qTFX2o}J^H8D@22DLiHe1R*`S$q6b3kg^wVIS zVTB_R6$=s!^LDw8qnHQqOnVo}D_kl`ahIrAN-GCvoT3C`fOxCog%3(WmsuxWaaNV~ z4$3S1O>l(iaPzis1XIF+pk}ZdUV|XpDhSO#cdn{5;fQ%gI459NkYFFeRHfByW(|NVb`{`k=kUmhNO zIj4*roObyiEG&W!=4p<_|9d%oH%gyA9S)l5aQt*73Gmr*gHpokXg>PmV)PE}?t_EF z0~K79rdEa4o`aE^(Auoo%rKJYy;qn2Q<_{0*@$lpzc*JlAZ<^^VWa;WLx&{uK z`e2ZtY%uZTcfAk0>TmPKiur?eSVQSLKMw7WAzzpugFha;Tx8%NQ*rR1n|8v%gRJ?L z*R+GnN$P)o#4GscaQIuk0zB9UqancgwDHG_A;e$C=$}0Nh(C9?2Iq_645?nVHZY4J z`IyhpG6p!9j8cH^TsT-f%lXGY?hj38<3YaJTa)D&Pr+>T$w5w4O(yLGdlC;1s(<`8 zIet?8*KgkbT)qANhj;e%Ki`%A`OR0RdH=Kha`@x3C!=>?OrBwN8K_VH@d*NzcD}70 z;Fqs|9INo+=&fguKmSF1ee`=eQ9pe3_Q|CBuSfCwZw90P8dS$$z4>DB_|wy6{{-lN zGVP6;QOb)a7VFQ3gSt7Ijq~X*s`iHmQy8rcXVXuiyZ6Zf7U8CT_vwrAEPZki(E9u7 zH^V_%J-e43a^BK8!I}h?@tehAPW;2mOoi!S7GjyQ@*-RWh`#>dA^CGmEBPJ& z9xYn=J-0gVa}T_HRqopR5UsWc559c-;@~Pxl^E65$7Rw#6}-XlHb<|(C}?XvIa0v4 ztMl%+!QkZo^P{G~Gc;+2gHPewrway0A^!jVKXr4A>i?(hzAI;pH#*$`2y`3r(Wa79spS{f__qFM-yc%Ugx8Sv%@|-s2Cl#o)oNCpwSi zOT-*#Q^GAyTp$U^i@$i7ZPx#RpO{Cdec3}3{^OFo#C@nvUK#c(=qXgloszd{VP z%iefZES9l+gx^vc6^Ke-cl+geus>I2%e(*Y{7;u(eOsJNius5Zix*VU#C(V@>6R|P z0C{xWyO=R-K5Xl3i&0$?rVhe5bsS%eP>%G9T>8t0+8pKobAT4`FvD2g z8Dlgpj{V?h20gZX)HEo5cz(&g%jGJIdYs0YJ10w*wQn*S4koF^9W%U$v1G2^MLUm) z*lWJW9`p6H3@?g2gyZ3HzRtn0Xd%ZXm)g#bXJdbK;`iO_1sb3yP-i!O}hL>yA+&V1O5x)><`ahnkWOz zjba_p$6E(&Q81NSyUNDWA?x_El%=xLX{il7f~B;w%MU(>YjPUr5n3g*iYHH=_iayi z*?oS#SUZlJlV*z5E4Srg?Jl7CzpC-#V;|dl#+6f@UIp_d@iYM1SQl;7UQ`IQOhBlm zsuBfbI3pJUKM;j3oprAJ=>rGkQ{EW%$IoB<@cb}GXC6A_rXq^>#%MN8{nyQS zI`hX*v3>zlAsT**mp~48Z-Q!j-bw9hOhmtcyP^pz2lR2hbrhv2za+LxSQqrin1_u#cLf@Tu~`svmm%S zSIp!_Sh!6Vm%d7F1QG3UHV&!9Wt0A?jKPK4^qVi`PVc`ZQ?|?Co~>|eDU3CaS(_77XRezGFkJrV2)Am|!*+SN=DV*m0oIPaMZ{Qrm-qaLHfYKoD$`p` z$F6mGzzT*$ptQoU@>=Wi9Zd^5-)szKz$1A3m)j3${3EzQgxv+n_FMtOjzJ&64T2j4 zH!jgm)DlL0L7PHH9T~u6VrxNF&x0dSCoa`IygB7IM@u050`}lA} zqK-eGj-BC#J=CnHndMA6f*aS7-66PfnPVCC2cBp5I|0M9?QwWOaD(iZtHLpXab>WVQc)S zGPXi1mvA|54a&9GXe)ncD+r9RNTnECLP}CYvxc?+@RtHp$+HE z7mv(CLK}oO{$gV&R>d05P`MX~*RYo=p+=IenK?M*fq_U>u^jgj+E@^rJB7K+;zpOj z-9#IfDe$S3QG_9VY{RXXT&8*VMykd^SYwG1xk5ycI(^A{B}uJB1IUOJbO&bOb? z#*L#5(4rR8aSyZsQA4Xxt#X!%8&uq|7sfDs%=5-ifs?rA!Z?jqE_^ho>dlYR+tKPH z>)Ne0a;>M`=>ftp^KO)WYX(cj4JvM=XcZ)gQfBFnW^K|I8W&Q2@x>PeH?*+K_=~41 z#%*K5b!6F5abx8}D@q?ig%qo-fH@RPC46lqd}u{!>%0K+DuZ5v8&`oFT?Tg(Zj?$| zXcO{GrlI1-c|7yG4L9mkRsriVa04iw;0EFi$jjt}MsF^?aVqK3w&`}! zvcoYhY28quQdPCCill2qK0&L(+7t?JB{!uIyec!TgW$$h;6|6h-Gm#;8sV%ebHfb5 zjr$2VoU{SG8>Zk6B@ShSDxA%pX_fZ2lyzCP#VvvxHx4(1?JcI`9&kgUx*?fjT2gg` zsv8%lOsTrjQLFs{p$t`yxb#7B&PERSIayT+#t9?aO2U#hnPXv05?*t zxDqIAco_jVv`(;xMdXv1lSw3o>PD`<5!|>6+~_j6n{Y#l(pYKSHCZoFr}#O|A%CSX z6_*ChXdx9PGpT@IsE0fQ{^X5{$#d^xnfs*(ZrnKB;G(yfj(flj$$DkUIr^^%ZV=oc zxbbQjPi<@`2<}F2vUpvKA2N7QV3LAHR#+%x6sqJ{4Xc#JYHB!;Rkf*9&Ug~sm^-Xa z-z|A^!|K=UQxoA~0K=pNj+F(*kQIpsB2#US-`s<{rIk^212gOz z;6@pkjY8H%sNp!MDi1{ zXM*Gj$e!1DGXQR&VakKSn1qSm1XMbFz@#I%al>$4#ScH#-|FV=;3@mM$r-wh64%A!M{wgOm~+1T^3juP zt8RcoZi7U_YJ|xaA|Hrz`jUl0s+1}vtB44Q;Kr#JR;Q+cWvh6X!QF%#j7#{Lm6Ccl z?l0UB+@gI$xFSe~d|uMB@G!H>A`L<_m6&E(b&uf2jl&JadyDC~2i(a0<)ucxmZ}>B zHwbP_sk-r?EPFy`!)>^AyZmZjv=2Wyfxj%ljnj%v9+xxqn()}M_n-gN=&ycxC?CI_ z{`B@W|9SFV`Tm>c<<|r^nv+TY4!Qi*tdeCNL?L*9;TX@fDht2A(nX(KDS{T{^0#Ka zyBFN(GPoOXgIm<~Oo{9$)+FlPxSzcnU@uCk&?Z%i=pYBDG3iSDCzd{?P_f$Utj|Dj zsjkOVm0HEAReUS4-BC4&dN-(dgL*fvt-9fA$(RCr zs`ea-*5D!j&%o=@umv!+PF4h}Zd?^^bQ#=DxKTO=62SYNs6|VJa$aP;rBb8;4Zf=ygPY zRNOf1_a|YVKIk}Rcc{3bRTWuw+^DSP$g?VNsZxzvM+_;MQ0CeP0v~GKxJv6rm%-gc z8yZ|H*uJ@(-KOHk{VZ-o!)qXXRX`{i!c;n%!gGh7aUQE^lW?`px@3elZWwLoL!G%) z?R4A&ZUCY{MO>AHHVADH+90$+Xk$WXql^9MM&rr-LmRdBbtNlXl*)igWrGKmO4Wsc zt+fc;2Tf>WcGcQOm%-gc8%T>9A%r9<)&1?Q$S9KDSbX+9KQQR;lvpT4_ai!u$hr!*18|WjmLK&A!N>tpqpT!L>ynyfdxbix3zDa)CB&TT&!0)s0s-nCdO2;~sEBKnB+u z$4WB!qv{4#H>kQn)eWj{P<10_haD!A7LcSW(I1XPtI`nT6t+Nd!zxvybG%jrH?Amy z+huS!;0CksNG%Ie8vJg%=WvWzGoLV<-0hvl2 zD#%yPr(36w+{y0sBGpcS-bt4hnAhdxo%t)Zgd&kO}L@8F16K`TE*`#+z1@mre&z-tRNe zOkXws@hbV_>8s$U{`lQw+WVWdibpSG5F2Eh$m6(CLq$gnU|Sb?OTHr6VWxX>n%G8HLPkunu2Q~gcg zhT+WANUg%w560punX0G)w*`YXlB!vyg~^Flf*V(X8(ju>6K*h*>l<89@5cQlQ>9>; zgm-wsgYt!Po)=bUIXF}K0M89wwYQ((#*M=bVSpUk>DU==0HeTnLklM?p$$SCgf?Cc z<7AxbG){w%pla5W84DsE7515XhZH!y=mTgj1Dtwb5f zX_j6<(F227v_~;2X=%ACjILF7 z06^dqwJtc+Ih|nOlB;UD(>MMEG9{-Gz~e#uKK(vRlPR`19tMBhyif5*e>}@-CiwPX zy!iUhPadFZl#Yhuck2gu7*Co(GntNYRj+f0$kstNw!m@P73!8NrS#h|p7gs6?pd?} z!6FWSMFt9g9u6Gm7(@AFP!Go^?XCC6_h0Qy+MPk@B z_S+j__?JK3K0LSlHmnWAi+5RJ=k(Fty0-r7W;|WDb3E1Q=`=PM?T=ww0f%ELd{jS?=?S?8aaRQH!j<&&)?l#2>s45X)hr3yqP9OMC|%F3%6 zy;DG&RNFW$My=`>y9%Jon##wnZHSf>HJ^_Azzr~|kS~B)CsC=0N<~yEqEbC5VcsKE z4@NxrH}_-?TAs**C%Jc+8aJqM<8RWqfn2JwHE5II86(jeqsX*LUg#J+kGitP=h;Ek zjjJ?nbQ#=DxS^D0ii2H4)s6exC(b~bgWfILqddB$vZc6%W@;g8YwH-?!s&+K#*M=b zp?Zty*cooL7)8N1$2v}MgWv|i4T2j4H+pYRjweGu>J7(7{Wp`oU`+S%Kj_m9rVYW3 zzX{w3u7(IMS~YYPL8f9Fkq+Wx+y(QlHSU8L?-O!KrnFS~sY5gIYJJb%RUZ7}e(@sBR4xIx7YDsE75gNhqe+@RtH;6`FRR%Mln8vKnySqW8L82c5b zR3fI58|z4z>dM894uiW1Hw@gwA#ZF+nCkw*jZk|TY|=#%Wp3T5Md1_Lr=pAr7JqfD z+et@oNaPCjjWUbqQ+4Ai)eVf_rGvW(H=v*?G4Lf-H|{UosJK^^mY8KMMKo*( zRlq|&6dFcd^+v{H@NFTS&nH&)eV9h1UCq75ZoZRL2x6( z4ek)}RKgdLm)Uj$;{TTE1iQc_YFSyhkma6bf*V(X8(ju>6K*Ia(K*aY5~jMpa6`x1 zYbZ?@-f6%Mt3pw6!-~>D39gDv`8qpZ65P0PxS>>UF&+1S8w}MAI2Kt$I=BQk2yPJE zAhYbuMlZ+_-VLA`Y_`pidl19fARX1*d4lX<7thbns z`@jwCWSrAf-53+xAhAQYEyh9Lo(;RNc7Q z>V|ZOTJ;vwaSyn`T+a!PyGYdyf*S-k2yPJEAhls^0YsF%xNfM-XS+pUkS&HB97gRQ2XZ>FsFsk#+4>ucp({VZT2KuhNO1^iEdy7#79-aO|6tNk2al1N?b1 z8K*jp(;(zKnp23r8RAbri*Js8e)Q;{UcZ};zcZNg}vGaD(6m!HxXxW0fjP>sS$Lw63bM2HapJFDhe< z(yp>)$}b-3-MC8cMwh|egd3$4j4R1Wnd+k0=r=nl@P?hHaUt-Amdxma_17Y%FiH8f zy$pI@yvuRZY4o~J^o7G54}(8$-lzDZKc3~+^r^Xim~( z>Q8bohpA@@U;yS`FpVCJLjhCq`E=X^Zsgt#3Ao`%2$!lGm!L#~8xNSOm;unj@)zMk zRB{jNuapWVYL|Fb8-ysB!G1Jqq7UO7wBWDl&E`>^^oA)U}(QQf5cJ03<(&YQCE%1Dq^SP9V|4m(*M zQnaX}r{wYLqgj)KKhE&#{Njr*oHJiMG7mEb-5AA-Phgpjm`&37Wpgr0L^Pjze^ zspI{~<8tPT!ehtYfBsXWzxw5&eEfF$)7#hl=gD{F`)`_;U%&X_r}|snyd6AcUpIE& z)1N1F+L7p#(D{&S!f2DJIC?h>X9#f1!l=ODIEJvzWAYaglDJVa8<;0D)m5t-T?Tg( zZYYcUAxfL|z^J-$PpcaS*>9GhKCN@Zlop|I0$o$StnfvdoVP@#I*S-qkm7pb2D81z zbld}O2-ed8!OUr@Zjj9%+5C~sAHfZ>`6IXi$d$NIg3Gdy(jn1mMJy`lQ59Yw0E(4L zK4v&f)s3rEH@Xb&CftDOiQ-&p>fN}%)eVTim5hTuWonL&jhdmFsNgDYDj06mTChrI zj8D~#8?J8HLoIrX>9_~nK!3S$OgTrs8&ut(>IRXisJcO9DynYedYTTP7*}dV?*{d5Aj~2% z6_KfkOa=O$QMHObXI2&9Mnu=Dt4mizmx8IBhl%6i1UGI2+z`CCn2!6v4cPqUo?jBCqT&V> zH>kKlXoHFyRNTnLjpS^_g9LfXbBm_cSQjobG#S~NNp7kbM2>rjOLdjvMwh|eKpUmi zvV^6$B(!mliyJmVjVkwQBn~+$Fsh&i2cZTnO><;=#dO>QZJ>2S zG9`>5xIu7(;0D1Bf*S-k2ySG!5uvacb%d>7f;5D3a2EGoBl4-LP$nZx-3t5=+_(zd z=rXvQaHDi^ev^hw#V-`?yxYQ5##vrf=#nZqSd2<}0pOt=lu!kaQrFQaa{0RjaKmI; z)M7gB0XJZ~VbGc*m09ex(vWRs$-2nMBEv&ExM|YwHqW6k2I08lR+^^+V)Cw}0M(h0dZT-4kKvB-mqK#PY#_70K8EfBK(2$a4iAcq!EGZ?bEO~~`3k`J} zSIfXFpVe(*TD|P>Q~01o4xjs}Z;z4>;gwTa10F2$6jWioQ3dy^lnHTBYm3eQ`{Uv zyK*rdJHw3@qm*2fx+GyLs%}tqgQ^=;-Jt45Cp@sBLVW+=MleEn#aJOlM0KNdP;8bA zO{)n^AO}nF%8<+7RdsN?4DKe}kXDyQD4R!}S~u=z>xNO4j?%kA)Ew5D5%bL{qzi!j zkvgcQHzMDDf*UsuH@NLBrsFU2c zmo~R?WoQ2tl|H?xN`rS__$iV-o^c%SnkmoJRJrcf6dV%dVA0~K{P*{{jfE5d3Jp*u zLFy!SLK8p(yp7v^o^zfBuD3op1`1UrQz26aybf7V2$_tDNr{Zdtb=w#QS8Rkoo-m=d5g>?h{V0cV3JF0KVe~p8-jHOn1fTO z_)(Cl7<_Q&+i?%L0qq9k!bwkPgU|+{4MH1)HVADH+5ovq!uLNU?wdAh^jS4D;|_C; zCOhqNia~Nsnc{~IH~K8@I@&-wwy;KdvcY}2XhR65w9Tw>DZ`$j^)Q12gAowlCn%;8 zC{;D;hK3v0os9>v!8NDKBCoI8j(eaDhT(=1MtT}<5SNO$RK%qsE){X9h)Y!^aiSoO z3S=r|ZB$wZgBfQ8d!R9}#&v}m77c~`9SS%4EbbcI(4KR{CDSzAc*1bQ8X0h&n-USP ziOLjn4exWKeb6Z=BytpzZXCgI!<2wCvS%1>Ffrs zEbm}MIvHM$CcW0?W3R`ut&l^vZn3lhehjQ(ngQcGU=H7g0?6M+#NDV2j|RN!>P0(G z-$&m4!IWra<2Z&Lk;4iOzEny@nr<8g+z@Us-;VpB4fs+qi@7jKH;79`Tq@#H z5toX%RK%sKT&mOxmX#I_I;`lkMkE`DmSN1nRB2t*#ka(zIuvd6S=@EB!6kRXdrheu zPgg0<7z@G~)8vq9rnp7a4O6KRyrkf*PRi6xM_j50mTu@%E(eS4xCh*jY=BMdy>T?$ zpy37$H)yy)!wnj4&~O8AgZtJXo!mAE^n)d*Xkk(1nS&*#Li8VU#dYV%O45x(q#Jz} zcMWd90M`n~VTMb?jdnVCn!}A44G#{x3`Wxha6`a+x)r5i3U;^!`hjdIb>j$z8|qY> z!D2h^0XLW*cVe5r>Qtz~Vms~uH-J$XCdAwj+#t9?aD(6m!3}~N1UD+&P)0{3 zYrr4uaG=;I3Z7IRz(YHW2CT)^l8mVi)o%1z+;zC2tc7mISyGBWUAQ4dG8}6023`#C z!8LG$bJ^P_Vba*P)_~qv(I&x-2ZtNXBCxM+$34&n2ban*0W*NbizaD2yqd!Jw=+Rb zNB}IVxJG6;?kWdUK&QL_;53l*FqVR>4Ia2Khtafqg%%ij?kHPf>-+ELVTRIfJp8?L z%&xXxA=S6VW&QxqV|WTDd;{^~W4F78A6W|L=Vgq~I=mQ%(coV*IMTfy{@3dg&Zno6LXa}3X(e_7(}tp4ge3@^HATA0F-1vV8JnI{DxUeNJ03sTZjQh6Wd0|e)UU({KTjs((w1=o{eC+B$xcs3;lIbD-+mt3??+SnTa@oF-dwn=AK(A-k8ghe;V(bU{(ANT zFYf);7lqIUp$$SCy{=4ayXxJ=`Q$QO4KBxLCvPVwf-!x9e-LainhvM$ms@;xRj=?p zE_}1;5KsK#*T0Exzj^uFYxeUmXJ!2BpI?6c@kIUV-oOd^p?j8ie z1^7-uG_E8D(M2?kFU~jGU@+0j#AC=fMlP$H9o`DR=;jn(;sQLs_aSiu5!SIWybd=I zyV1nNQiC*craA19a$Ao=!;M3R8>z?QuA>cTOrf3eo}?R37i|=8xspf{XUt%@k>G{v z7&ftQOUWY3R_5x0OlaeQ(S|(Le6ZM#d%%rOx*?qrq!g#&#txK7aN{{s5g}6^{Oz3K zn*miD=-dTFQ_=duV{4A z!ACk9zA2-{vA(XD7e^Xig`DdrHfA8C8h|H@f2%C-<`bXY`qm!;$n`SwGX7T3PUwoy zcG%U50W@77s`H4luo=~?7KNNOg{P98;uf}tc=xN>u!3rMAxinxS6_K=zj|q3R1CVd ziXZ;~%XY+Uf~s|Rfi$Mc(p(z&k72Y*relV`tw`O8rMdH06@ zee$FE{k!3>-@N+kFYWhw_-^zq`({}A0DFD>c|)gLi9Vfy&BO2UH(|AV;DNP|-}Cs7 z2yPgS_-co_hR6cnPuNjaGtSV2Xz&H)9_h!FDSqg1qtD{5!ws&bltOm;e6qoPqDt}N za`9O=m?{Pk7?HmbxJ9;H&HhWRG%QzNGJ+cq4mYG8EVg5BxFJs!GQ|IZ z+G-+Gkq<8U;F1q6O*hB~m!=zl8!5*kxzHG5dW3CA6*1kwOw(9qq_RS_rOy5cZX5zP z`Yi4`+^7>zt*s;J#?yrxEr%vtAy3n^3_iH6F31#za2%6v=~7Nw7MgAxfe)@cWgtLw z+i?%HA=p4@Au*sNwDAeh#`$nGdj|o!}LR7 z@bfGsNKi_Zd~LkR^@H`bv-tDI%eTF%7L(mRdNsT#c*lz>nngN^Z7>pI{uR@wQk-fv zSnQWQumNWSj+h$=)d(AW0&D=q^0bVvaRFPy1#=bRVYq-~-6ZQ?lx(+(9eP%Nq_ZHM z#dg^>VS<&cI|%5AwY5!@9-68Iws#cCHbt?P$IO%NR7f<5xPb|F-v5?(pwHs2;{gMO z8-uME$+~ypft{xTRpxPG0qt5Xy<&~E3~1c9y73Bum|RB2U?sz%t%dbbVu7o1{aDjs z={$Gl$l#01TmjMxV1lb@hY9At|F%pf=po~wfBy6NPYYP~3`ck~tWD(M=TdUpHwUG2CE217BdjISsgx;riiKPEE$v<0itqG?I(dhx3gUq}VdvSUvXX z;f92Z)OFy1if?@uoE0_yp69eq%v&-@O4_cS`VmKO3rj_sdW-BY>#fQ(paXPQDhc$2Sbst_O`MWOCAHLDvg@X}t5GT2sM)NWotL>cP!_ymn)(wNvX{ zYn)ZbelBo!wv{FEhHHafzd^4bnr7d$u>?djnJlHnTdiKSK4;tcmUmG#&#T7Tl;6-I zU-#^{ti$z#pT42b4Z^0o@BBVRI~z#tARZyI&!=eU?ep$8td3-s$nwNyn+YraYG&;YkZdA)B{7_Y+xr}#~ zjrGmeSy~&lWi4NqNA9ZEhixP7JPkJ%;<#*$a#XsF!Ze1#rblt8m?P{|n_#m*bHA0b zi-o^K)qicubQb`yaTI(3J})UV;KpJ*?g2Lhv<1d-Cm+>}VB=&1_a%Gx7sh-i=`v^ng4dI(jydmNZ5pU=PE(rGk zH>AxH69R{H+)}yCEJ9UTVuSd0X$1@&p|->)A-Hh}+~~8o>u>`Ow%Quc>#7sn_?VvH z@xl$ARcMorjm&T=Q`mn^%-{=YjtDtly>#szhYVY4$K7!9>)@Tm57zl?0ln5w7!*z$55>ub6MTlaB*3}gq16+V+e?|Sv4lt zxP}l|;{t{nS|Fzy{Ai|fZK@NtxPdKhA;QloNqrV{9Zw*9TEmUgQZmCKl%%SsUrt!| z9$DbE`xo7tlq3#6V;+&}9-W5r81Mkw(zXptIyuQ&*Qz@jA1zD2{XgvyrYrDMU5oba zJHJoS&IV|8aBe7F;ZsnOZn=(qki16q{3%HcNMb+|1NIF`3?6~RAn_t~iMeS_?n0lT zE-*?qEjn64!|gwJjVr3>ch~bD-UpZTq&^G0Uf)A@ifBQjNpf&deZLX*YNp}*yP5`X9-jF9DV0fpBfU5?A(?QoPY-%bXjGCjfe z8BP!g(q*(xYHdE9eDH)mjl=FJVTz-0&5?qF*y-9t7{zw|SLI#J2An?&>527OYvHiO zAG!gMdgi4Of9R{Ph(AR9p?l&F)nIF>Av-q0Cr}x@ZGuEHLXM_Io8O{psZ<8S1UE3j zPU6ZE5A<2w4LqQwGtyEN!ekd7*m)Z8y*;@1f1?h@VGd}lUsrFN6M<;F=LIRux>aD1 zc$XU&Arw+z5jm|BCTn+`2wcBA$rZZE=EfPUXQjKUeI)3apDI0AY{%Yk1M>^W6#)0( zD@$b3``OiOSaYzDMK2}64Xi|; z&H&bJ4d3_tjx9KA!;76Wg2RqKyQ&P)9*2K;mm_$vD5gP!5Lv-r(MJvDH0)WpiVk_R z!E!}#;|7DfSLD|cZuD8)HMmi&?=gX3j?~dl7j9(D;n~l8!=mtwYK^T4B(cdZvZ8sC zKGmDTQH~xyCv`MG6>hNDj{Cq3q$?=xjPnFH2yVF8SdT1Im6&au&`>3znWSnfO4~xy zjpq!m&K7f>#^sDbtl^=Fv6P017Nv58Nt~+Tui@%ym_r()vg$&aew~kd1d?LdmQhd7 zQjn$_1UCq7ynJy_(+y`bXF{R!F~L^Sg=%6lZBsnU5;pG~PEFYBG~GC4y3uEG*Wrfc zMo3{)y@HZD`e~}8tuQT1h<7%@8{A+akq#NT&rCCTqY2i+j*H+1cq;#X{wAEys(Z{T z%z4YGY4sSo+>=@SdBZxkZl!grv3}DH&Ij}DxCh#hKpRXLt7*9LDRdSz+~|l?#HAv% z0Z!j=`hID%bs2vvFh9ukw-n((`ih;ilZPK}lvH%GNi`5g18pb(jewCx6QzjGDs&fI zRq+zqI0S93*F&ty8teT-)%<({Kyv~9_sNgu_wR1NGYNLxte-7|G_OL)kB17Y)wvB1EHYI=p%IYQVk0zcqeoF{Ajp z>TaJA+*nbo>biVDtV)0K?DsE!8S20M&>?Dbagfz}qi{;Kup4;SjjdXK~lz2Gh`23uj67@N_Mm43qGRMHXZ0 zAbn6JaQLXTqLD`7%onfQE}D_x#)GRKm>w*);~sFMCQx%`nItY1aj9syL1=@98-tz> zTZA^AHrfzqq{4&^u66<$c3LCjTEfDOrzk?JVIrF=tA~ag2ceA~i@Sz4xI;pc;!acs z8x1#}=5QmqD71v^s5p!?RL~h3Yp$E*LXbHq8(K1uojtgtlkk-mwb+h(pbdt+3I#`C z@{gt22F*5TwsA^mgV08wJc%{oPEUmPh-Mo~TclH9qJhE(vkh%{<9x9VjGSzgStB~H zin<7G9D+9bEbcnmu!?J^r6;uUbY~mV$lOZ!8z2V}88H}TK&lNN`vS3chHrD24-{#( z@vyTEppDA5o^Qv#Xag_OY#_OCphG^U;l@(pe;kfZ=flzL9dfWo(?%emS~9B}My^gs z{7$ba3U6Id-Lo#EYzoSzfHMKPI-#P!2UjO#^9Tc3coVHvjdH5WG$cdvwuE79_xXP=y0f9y|Ga$JAJSMRU(Qz7?Sgp)VJ z@pN|mE!ZsD+r*?d(KW)9ZW$8hYRH0@&`Ad?5=!~%XiP=Bf5r4^E!y>9@txnJXjg2Y z&>XhM>5=qZnZCUo|L@6Y{{O!oP0P3qsZ3V#_WSF#-~L%{E8IuJL>>358&u;DT|3ix z7+y?H!fg6_gr6tZR;ajESAuRBUg9UpQK)ovEX1wuL_K@=XG6G~FOJpu9bt)wS0U$` zUrokHJy)?VAQ>YqMrb|P>=ChfS}TzT1^aiN7^0$t^-UD0I>35w83;Zu^UqQ{aNyl< zS;F^O){PP#6dos~ye9|N#b5aG>UH^~`!C@SJOTJ~mQdmLLjKlc_gak2>TFvvpSZ%t z!e*)oY{|REp}vRzQN;GjjEPc_T90D>*3Y^s2|t3scD)#BcitJYMp878&a;I7DAecQ_dN=Ablz)bu|CQ=eHTyy)=2ijr z%f}k;#G0YTyP%q#YIdsGA4Sa`Qx3v8*0gX*N6`^e6B)7z40qL1J6Pwdf5>M?bwBX# zx2)d#EbB(~E>Md3ApHx) zCp6x5C8LQ9Ypj;*BC|!Mk2j;nJE&G{#iS8vykiIKSVwXW1?v;S^rsb-q*XBpx_y9)Dhkx`@HtV^A zZ+^EQ_ABq1@$j(a$5`IqG7j1n2X}vM``bR$wksUF`BA&baD3-eI6p6yo804emtKd_ zsGP%I_4$`2&d#vi=JfIo5X~}vUybM{=!sv15nORD;EOXzm*X;cI~?W9x0AuBOi%E# z;iMj9`Q*uT^1&1Opt9~LVTz-0jgT97AIsWF8O3(}SLNN+>Q^9a)n~2Q=$%?;O+(Y}yT^tdvuZRnoIe?*LV8%&BU!vE4(6eFUt z1;CQ8etb>`IPohY+uRU3-bS|B9wppoaX0II<(QJj;M;u<_5R{MU*GKZ0(beO`)}Xh ztqkc?_uuvoWpzq>t<470<;Lqb5I`=lB+A@2CBhR*g#fjAMwef<3Wk`lh=Ot!@4A8w z-%*tC3$XaFrrTNktH-d=pP0lCxUtxd`@s#a;O=$Q!vrYLr{z_M=MO5!z4)*t;-@N?oHT(IOvoikm&o94z`Qil%i+k|C zY(e2?Ciy1$0Oo>B@ar@1`GyEL=Nwv&W*k1rXG;j`f8$#Y5BjX=CYXSh(89K;*03}@ zSoo3jUwbTD|H;9P!`9`#9ZoIV_BUU!fe{K<82uFR=v;R2$aksqKDjCEue&7uD_3SmBS-?Q(g>(A2I5I!A1rvo3%k)10-AA&mfT z2pM{|PiX`|BLEr!+*_$GYsi&~tg*_X(ttv+iADOR*fzk6B3REpOTF#wcj0ZFs_xFW ztkwH0=|-(?y)q15epIVtV1B^j?^UdClve#p_RW`V6z){VK1^T#@B&VK zWioltZu{nExp5^MUNzS~v@0h8YP(b0o!aiycBi)cqiDOk#9OPJfnB|>w0$O;5YTpK zoC}|A>r(uz+wKS40hcv>pQYWX>4j7lZhnqx`WrR<0ViRv+J58s{c8Komu=MchK1yG zE=?-}*m6#RxTBS8@GnQ3KH9?eY|3xE={~jnZ7)8u+FlG6yI{}aUc-V)9d&Vkei`!1 za2`gfhD0rWk?xPB|J`Du_2K8ZQPiJDs^p27KUXRULykHls^qDXe-xFxWyQ3qZ5z$2 z3RgwgZ6_4=t#=vfK`Y?Ajk@NuCD8P_6?6Ncv@4$ong^K+R#M0tMeN4XK0xArlqT&HrK%JukL zfeluM%6r%jI~94zB7%xwnxHJM>YACx7tWf(Q^`(oTS~pEU(JS9EzTKI@rXo2B$|68 z(df)dX_IYQ)}ryQ4Qrfryy3#N2%mz=R@U$5XIHM@Ea zp83A`Ge2IyE}w)FaLFp~3}OCw6Yjg51^i9RPkVa?)opLkYe7!dYM{xcXHFEYPOVan z4GCzNyB0>6!8R!bgLE}G}c>Orcx?UVMY>vz2NxJrBG28%7QM`e~PHm-c%-d`HE7FWcXTcd0Rv8Lo5NxWJ*+WALl-9A!w1F3K#kVWwW#sB6ER zq3^i;E$jO}>$*|jYa=0nWxCdw)Um(3xPn37Mr#}f*j>`^tp!M*692a9=Hu15WW+9NCH^;na zPH1(E#rzUc-KJ5v&uaem&vK(rLHbv+v(F*b$b#;k|0@;rRM1mFe=#|EOm_C##=xUO zBhes-R@Q=Er_e-*VwFzD8`ge~1^pfFfXkZR_E_4@njS2Akn!q-*@QK_8;5zxgR{?4%XxrhA-B3X{Zw$=*iFk8U3A;zpu}|%O& z(?#v+S99a-_Nml2Uv^|Qx*9CL6{ql5=--Z`r)>*5~z@Qc6m;|1*UN%!A}ztd^JAJtzDdwccOYi;%lm37JSq>^m7 z^3@>$v1>jU*)UcZJfpJWzGtm}+xl#&9Y11%)B7m+0$h#j$Y44wljo=ZUii{~ahVGm z6{~Ppbe226`fuT)9?t4R|NQ6kpUUKNHcsUkj__tU8D5TtqqAqj$+O|8{^|^;YBIp{ z>L_E=?*7KHH~x^-WA&A@`16KW{!p`VicxVCYRapH;9^ zx6*o~a38qgPL&xfwqtL&;Z8M_!k!s<+)Clw@ik31o>#ul1nH|6VFbK<0ne2|x*V6m z+uXWDn7erh1lBI@jAPwlcbrZ8*ljECqJ6szZ?Gg4Z)2^ z1~(j%13b^rKO}|9M`pkcgnu=OE3Vqk7QOO12yPq#H~K8@8r)!BDa0vLw7>^IXQP;Z z+;Brggv!{2kz#h(c_>YBgEbKx9&Jr5K15NKM+7$>9ByzmSZv2V;6{x(kj`6u)Cpz; zH&FO~S>o&rTWwBHsS~jiJ~MKu9$JNf!Us{_V{tKKpTow%F?-e*IAt zxBiYa-5|K}$lwNJkrl<;rZpPgjZEk!1pFTvqc_1Ak)_8rAh>Y|+~~8o>u>{3_-OSQ zO=PMYbCo9sH|kz%jb%U@@HkKcbB^ExuV_Ez#9N-@o`$JCYR3&a(Z=*@W0kKbJd1`m z#s{C1cEg@(H&|@PJ>UidnTiXVY?L$j09;K@+7QRXG&;ZXC!KC5m+|Ce_qVTKO95ZW z6wc4P)Yu*_C+T$NX#Z>{Oj-ndcMi!C`=*A+eA%0SFu8{4^p7hpFI2h%U_22FaLNU z|MYJ9%R8EEbcSBnAomdwsf@NEYIsP3M_L+XbAe5~giPEh#Hul+v-+&l7uIXIUiZHx zk*d$)u0sv@YFWp)v)Hku+qg}a(Cai{1&@n3!!UZbpvl0grDFyrqRKKERerp z63N78oeq5|y;zZ@?vqGmPn8%fw&OlfgAJq?NW?zMP>9>M)CR63nK4h1N!oM#$P=t0zQzL~tYWoV|&u2{BbEo3@P?FvAq3NF7>fgRY8Inrs|0+32&l z>u^IMik3OfYQ0HtBeMmvC?i5+#tANOc0GL zV1O$TP2-F6jW*HxRwf=p6=UVH5-9><;TIip_%cjGr}TC3o`Q5EH6m+hw2H7zC{Z>h ziL6>)S_6L!f*aq4L*PcA#a)LRl38K6aFw`EaN}vh4Jq4Pgp3VR=~~dIUPs<7$ja>{xbfg{gR{Y6JMIBD1c+2f1TvBnnTp6%4Xw1w zz!zR9Y&r}On@}-_)7D#?Vv;2g+<160l{wXVu-J}!zzyg&JQLh{M{tAS2Eh%28w589 zZV;IYtMv1 zMB$vsRN+9l(Pwej;f6u#2J(nIKQJOwJxwx|%d8Em4GjdvFu_g8+;Bm#ro|>i`d^z> zsc4hn#)HER#s>54xCh$cl}qKSSe%9%gf<9m5ZWNLL1=@}2GB<4hMSsbth@t@JSh}D z89xaGZ}{l6%%Nr*6PM}`E>)k!T}K-Le250~wqiU&8&4B$1m&{#K{duJQ4{{)3ujy2 zWN0=_Qar0}(-GQuV6>r6l^!g%;~sDW5QPcjK*A!pL2!fM2Eh%28w589ZUAniC{Xw$ z-UMNhZOmA1qOq|lP77GFz#P}ttT}=khro?Ki@OdtBoj^>#Yrjtbh%WlEkat;|Qc1y3(Q++p#y?(5D)31Dby$Ji!fu8w589ZV=ocxIu8E za;dm;1;mcVC|f;pQfYiHtSM0kDNGw%PfGEFxl}zCcO7nU1*0(SRGlf&bmM7GH==Sb z+N2t(Gq_ZxPB-9T-GD=-i!jn@PH^KW;09NN#dh2SZd4y!DWUeK=>|zR0>KS}8w589 zZV=o6+%UyNqq1%sV-T%ICmL_EYFfDeGZsYljFjSs!i_$Qy9PI$_aL_^&1&uf!Hp*h zH>_uXmA-*a2gX!hYmliR7thHWS7#FQnEHhGy9||}6Ebcnoa6(Bm zRGB5X@nn5)eJt6ukcJx(E5_HRaaI@nXEB+113x%Q`8$H?hB{SZu-J}!zzt|OI1*HZ zC%8dygWv|i4Rm$QKu9&<-r(PQZLeu|D8IhG7>CibA7|q-c|F9hUw@cq{_#xj%lKPK z(_t>7>98G^F^(6qh(1`;1Z6Qd*Q`cAbC6Xy7`mWL*wO_$UCo9W&*qFt`PElnd2hdZ zXzbBpY2g62XwbMS(LH~K8@ zI@~bE;~Ky@g^E92?S{tx81Ebgi3V^(+t37U3z9a4&c!A>7fjJ~F*{Vd z(Pwej;f7#HR}|oWquwN`_|ue%XLzJqOb_8X9ScT^(KaD4{AVsjix9OlBo#jb?S?#6 zY_Qml`@jtt;WELEA-F+sgWv|i4T2j4HwbQ2xWSUc48JuEgYhl28v&l2smMm_thsHK zbQtT>bmQA_&~&56;;zFDrckChE~*nM!HuU0H;}Ah;B_pUHW`c*1A{SKYGVUWDp*fD z2sqkI(~ZeS6b+uGhH zxbZaMMi4GKM8`J?W+4rNRsc6*f?ix2@bm*R$`8_$`F%tEw+q|=Pvi{TKm#Znq3T9_)u)<#uZZ{g}{m_w@eOZC=Rew}Ms zgn_Q9{$fo`($ffOG8->EqHcAE>UpHI;hQqL={JSXG`tEq*H28wR6SRbjH#ZqF%|4_ zQ0U|YjA20Q;2N}!*0l|i{zPsK{QqNZC=%K@1a0(L+;y~JArhC~u^Q!0Xya+3jTX9a zm`o#VgL9w_(EOp7f)8%ScGE_N6j{RQC$#avXhWQ83IED&JMIBD08y+F%2-9ijZZM# zI3JE?@4^|}J{ticwL~wb;U_nQ?P*eYomFAxb>6vw4y(K9;9qlh(f@i~!uj-d3e#}@ zeli`T%M0wS^g4`2b7|f=msi)RTA0<@f30CBC;%?P2%q2rp8>BQm%-cN zC||yv3`S+z0ftFE(DKQX>Ewea^bz_K>>$`dez@d^JHI*|2AyYD)f1%0#cwtp;)!4U z`Zw|IH!pvC&3^vn3`WL(e);vw7u5ygO?MIH1J+$sFUR9@-d!I%*Alcwr7=M?t|W%> zM66EB&Ntdb>sy(43>7fsva%MzTj3WSg7^{_;qEA{_XW(U&?NB6LGR!S&dmuZAa!2E!oQ9?g1^3f{C zK|@+&F8w?M@2TYNyr=62u?nA*_ylYq28;c&A2#roOLSWZ8+-z6a1kccGQP$IYz-I8 zZ()bwf-g&)oniM8CLkB7+kz^3HqmJmK^Ymh=YI4n+Mhfoh^)Xq3X1Lsi(2?+BE!Wc zP@p^qP+(cLDUxaJp|b8ii@S~ov^5IdPfL+}yYRs7GUQmXfGlmmInIr11#&R)Ukx^% zYK#R9F&Z0_Ia(}mHLkd3IxL+GVvY>HxXf!>i23ioEt3g4xVY5*^PkUuTDX`#!x7#L zt2^p&boOjGc{Uu?U!4KAO$K;g?SE_njt9|Mh*N0?i|yDOZirLm2Zl-K32b}j=>=tiKPUKsy5k-=P>zM<3oNDJVr#&pN;NeDHnst2 z#Ytpsg+8u%M+JmS<`u{+>3j%w*5Vg)ZkQ~}w8%COiNlz;sOlCfOe1)7C5sf1x`nl! zzwqm;7m#A1(~6$#h8k<0FN8;a`0K0Mg?()Ft3Ky;9r-Axq_W`GVTnlj@iFB`ziQ}c zkxv4;h4~SJavTgEcot2FXgjcCd5rjPDe5kHY{=(}aS3zxsYw~X8K!dc$`FGSEmWmo zjWUFlbe7#&ghsa}sS;H(GW`M5mg~>7f&3N^J^O!udG+dtXFqqevS)RAbovYySN~Bz zOh={si1(E^6>PBBvwJ`zOt<*G?`4rG-_w4m>SVR*Un#j;Zh9)uuiS7pywN`srE_jl>+nfPjedw4z0cyVV-o2-%#fI==0}7{K88tlmm$ZB zM_O)$)CzJC^c=A1Ajpa>!pi~V(TPw|v>gNRvEh*$G_9vX0potK*pBl%&-0^y|4kyknr z!HyfSV_Oe?<36|~g7sP8P3Qq7y0@~jfCzeg40`lB6;`%|fq(8A59oS&LU-pCshFe1!qh@TE;qOkZ%o*NCrtO!Lq8_b2dq}2(Lm|fEJanvlSY=EN8>fk}$QU z9OxeZBh0FZsI}8Ca*0g(oZn4k0!S#WqoK$Xm#92qqSh8K^(-P|0Gi z><3F8AwlZxcsQ+c!ASyC#U1(x%>pZ_?LcihjU@Y8^yk{5}fs_rTY#?O=%@J_xzlS+OaUr1y zNez;r;JGhtYyx8~h6#*iD+@fQC}(fY+;-bM{Z@)mp9Nm8?Q2Gt7YGKfl_oI4Ioft# zkJ`)eMVEIH&hh(Y_4?=W{pvNbG9=nxHIPV9J5eRk= z>>$`du!CR+?veKZJG>EIn!+06qic)%ywN?-b1M+iIbf6H+~ zpT*sP9MWpXB_r<8F7D9I({QwK!=}V^s})2<*mpm}QTP6pK?YJM@;95CMl^zq^Sbk5QCOwI81>p+96@)7YSKJS-;K3lc z+t@}+Soo^~3x8;&p_ooVA~g;+PKl^VJ;oU;YEqvC-M|vUX^ujqP9bP~@ffK|tcd7L zP)#wA7{La*CUFPT*vzCYc!ax3DZc|!SeAVoP5hlis%vV}XNC#HV6mHDQhf7wQu!R-6j z;RVHeQ@nRBlQbS)O%bOH9u2-w-BjVrFb(r?2w##`sZJp{)C?vo=o)NkTCi{mY8}l} zZHgbyC}O9IT0{KJj3|vr4t?GbkfN*=(l5NooFyrNkh&X8&B=HQaTgo6;N>Jl^*Fcd z=%r@-X>B;gUF@2K^y0zci?-y89T)kkjVbvUBPdrM{!Y<~#`y^Hm1(&U0Fr`L(_=bxj0_O^TbD>(8_S z_dY?~1wU18u-LPEKqJlu9C90kY7jIcc9uiDu2&#orWyt#blYfX>yY=!g|_7cSFvH3 zqI}?;ZIou6ZPX~X>%S`Ru2#PybE)U$*ZG17BOI%aiEG9DyNmP5Ww;t#j?YfsPEOFM z&?oq3qpGI_K=Pd>bEy~i5q-2O7jIrDSe`f)i#=8W+g`X1b)fi?u1rPFm0s zlk{2KO-zDC#$r46h8z4;`+>IBN%pA3Aj>h`vaNcAYOjh{4^(~7 zxP{E4$UKV7qsTn!{>-BkV}cvZCA@N&xy0ZxoItv`wptn;UDAvM=WE#FmPY&BJgU!v zZr};)ymn611~=h}kKu`}OMe#(QCEDY%Kqfda6Fw|e+z1jvnu?%sbz%Guk|ga7mydD zYl#gN1)QJ_L{&ly%T0Snw6HAw_W!ik46V&M!gbWdmUXy(@U}_9w$&qF!KaAC-nyAiZUD+ODU9m*laon$UC_xGP!PrG^#0lJHkVDPK~78Elqtu|yDs$l3Uigbpm? z`?-}qb-Y0oM4?)ZD|(#YO?aV=gPNSi6-1%J-d`b?ofc&4xaVeVcn3Ukqr#jYrNWC1 zcPRKp-FFa02TK-vr8g|;W(giKFWi&Tdue!g0x?i$b2mBJJ;M55H)*zE5q<~kK}v5@ zdXv(dl-{KD#vT729HgQ&QK_UF!4S%;lm|zN>(mI)lS-=%(y~eEeceGmx%Hm6EcE*< z=w_i0(^7+`1kO3l5%!%U976~N5201nd99TW?WHUbaE%EZ8cj(t3=+b;y>y2X{tk8f zs#yP=l-?aCm~X4zkf57XaE4K!Bcb=Fm{jbh5gyJuBBVe_fsg_r1wsn0fYVMbZIn?(04l)Q)hd*bwWX2vml>a-Q23M?z6aSsKIz)J$I0y6KZIugO8zx z-DSwJs;fgZNf}uh#x2yJ}n#Hgq92PI=MzU>HNb5Zw4$oc(DT z1vpUj9@qchfBySQ1p1!3^ait<`XsssieVW3Ry%S ztbz8_67y+|3%IV3pI=Hl4jADI?4Wy?Km^kYpxDqP3%e-AeA{?*Q5#m2ao#{RttthZ za7B7O9F@uL2}GX--M|uDdn-93uh~PWM#nIL5D+Yc0@pPbN{zwh34=VOVk-yy(AuO+ zAg@_mM>cdAJ8hS?y{Mm9Lh`|4TkVGlFoLLBb;1OT7|u_^O1g_8f@TdgYoJ*J%^C<3 z+z%#b1I%Pafon^aC}wPw$e-{Dzo5&jK39(0lO@S zc3A4l(DYz>bwfOVF-+sjNv#Lc<;8}-E=>=9IYVB^pI_deZaRk83d4M3c!uq?hvT$k zxdm`gm2v|+c3<0`G(EU6J=jTyS)ztMi@S~*EW!b~22%{HPFjYi$x4!rx5l#27@sZj z4-!IAWKBXSQ6|BqD7u;z+yPf?@QJoG?sr3sjiY>atR!v+i|x1v+K_CZIMQvnpb5mM zoInsOiC9UvED|e;aK-wUfN;e$oWGxRunJpbHXY(S^2M)z6W@OG^0(LQ=X=K$+DPk) zL7WX&)s(5NPOAvE5!#nrd~TzX_@IO>(Pu$7umso>iZe%8;*bf%F|d+= z1$2yn=dM61q#UMs!6GLvC*;VRWDtif?uHa-0#Wkc!uhP=g4vIi#PwjYt@gtNtO|}8 zVS-QUl|-y0!UTi~Xx30Y9@l^&VS*#W1h#b`SWDZ;fD|{-DJP00|@q83G%I<_jO2FKmNj$G}R`F4#W|3unMBRu$e=>D zDXF#vHYgezOrdP!BZ!+4ZBUm?Midf7Kd(WBo%g@xD51~duEPcc(zStoRqZwtZ1@;# z*m)YTf(Hv5ZX^-Z6R~%K+s)T+$Q`n7fx%U7l5D{R6qwlsIOTMC>p5t+V2G+3x&yG- zQaj%1Z}?nA5DdcT`F7j`ZV05vIa6g2L`(XVv?Llq&SEynG z(`|srA%K=7TGzzvd?QtxP3xlIouZRyNjqpsD`9k>1>L|B3{efzFv1dt(2|Z}1krj? zvV?2_a%c#nZDx%V48sVg5F;i8%mylZ>JCVOMiBdsAP^G0*j9UB0`3Q6 z%%^5k)F_MEkDkDKK&94xvKeU|Sw_7WiMR^YM%j>KXZ|{A*SwxJLgQ_lY6y1&d#FHkZu6%QENCSh&zM zs#T?lP?t8sL|KA1-0OO=oxkwws~0%~&(*tzF#{phfO~^~D>dYzAQh?Je17=rtID?R z?BtG|6}&_(ea`DTYC%4(M*oxq)}5u>(_}^2Vi89T3AVQ$7EM7Igor8RLXm9z#&3qH+`J;>XoNCgUKUfYaUKDBF3Q*lXG(S& zf3_BNe@~`iI_qlAHwy{%3d|e=bgnP3?d9Z`- zA!9BJZIVEIYV;9u3|X_QgUd~9d2|fQjNq$bXD z$sr?>W1vm3;ynvoH9SDHtx7=GfN28)m2}|5SsP z7utx>I`meR6yTssQ5~beRgjizXJ|UHkAS1kf^HW1SZM>=NG*Uc2s%ge?dwr{Ilkx! z%HbTpU)mo1x!$tp72xyh`}U0|{4l*fXdb0=P3xDu$OLxstgSGsIZBVf3_d&s(yU`Yh%K9uVGp$t~qf>|!fz zEIYoJ%R=VW`)aIzJ=xkx1E&^WV*ZjR?hqwA;wf}%rdIMdnX z6q4--?^LMYDAc!gkXH2T z`sY8N|5PTIvvDfVaD+F*N=qA#&Yle?&xWJ=t1~SBWPs<@F6|~NxN+3oO`LL;gb|`c1Rf zxsTwr-D_2HU%jnEJ;DQ^)m9hIXM_g`4_sbs?y8<+u1ACi+T=~<&Nken&Nf9g!Lih& z$U`hLcBF8|$ zK^|ibe$ue<@`Y<16>Hl_!3;Q0_c|IdDCxT`wFeGRY@ns|S_{Gf6yQu+U%~=}1y0uW z%QPE6=F4Qk|9g5^z^P&&QxuJrUz>n6>%*}yS4kxEE20`wV84jKW@fB-eDt!<8qN$`arJVkHQAeIgEAqTl{n-lScZb&b0D@<2>p*{<`feDZVXQlO|_uVxk z*oFy?fiI*|k*<}wlJn? zPH^a)U~`ZMeaM0SKg1WJgyvd;qBOsiw9~Uwdj>!A(c)NLnUCwy@G2mY6$jslW4-xA z;tLTTNS_B^h+9z#PX%;m2Rz^)9dOK{!&yLnvC4Ya#VpZ`;Kqz#<9@f~3-wvd4J^Qf zRgwu$^MQ6c_?Vn{W7)A{56u^nF{CJ1X=Gcye`13CCM(exo3ck7cqxwfLiddWP}0x0 z)E+nhvjK^yW<|-xWG_V70HhtL0EA`(G#fa7Kba0b6D)uMfP_RKHy8wfFXT|i_*inI zvyD0l-dbH*?SutxV1aE7>J?w8&w{Su0qw0;AZ=;l3mq~WI10W{Vj6K81)C>8f`jne zCMb;9JZl-;YItRXVH*)&=)U+u+@ETTys&Ot?STn68*q-xpd~Fa@r8&lM0_E_1e!Di z)9^WA0+TJM3>w)0mENFomW@vc4a-0V&b6!+yjH4&33gzD6Momn9qqkC(KD2FG*WXfpF!_x>GQZJagG#)JMwbAi#0)WH6v{P) ziNKU=qfIm;Skn(|5LcFbp+1Ybfd!Pd4hBz}u)rha3uz`=DOuZClnxCtSp#$fP!+p~ z^x)u=E{>uH>Nop7X9H@m*iw7o00y5?5G9cVO*r6C9Izd%lXjrshOrjDbkpz?KTodh zK2d+y21giP;wRD$kaoa(`_)VPqJAkp>LI%hMwZ^gvq>5MI=n#k%;a)3H#6QiQcnd& zJsFfe@MQgkkT0M)q>hbL5EMfz;2|5xtSPWfGzN8!pxoe_F|Iqc#C;ZY9S=CJ1w%)& z%1voD@F-^kP~Iq&fCRiU$PacJQvz$7WLQ+vsFYQW-zL7$Jz@gI2a9dB4<=v(sksq? z^2k0ZUx*@#DWZ6@n(bMGPG)1m1cV8C#kkxB=Ky^VYu3czUo(gjUl0H5bqVLw*XhFy z;Wb3o^E>>A@&{Ou#kGMo$Qyu$Kr-|;xy+5_Hv5!9462f!i7&K+FSODS^jXkNOn|bH zIY$0Mk5xlZT(B;1-xTiwtpnFk6ZqWl43#SIHDYf`S6mVA{bGW}wjxZhJ4NkeDa}6{ zU(T*3C+*?7;*I$!<&nLn8NqsYyJsy$c;KtAz9Kw8cmQ|LH>Fx(@xi>oaycHC^KRhN z1z#$Qrm_jJI4lYA!Xg?tg*xA86RmG$;xW`Dv0PROn>g08wEq&Yr#ngu#sl2a(cCO8 zhf!j68Zrvz>8T`RWAVkR<%_=Se82wv{7pEYRsH>+M){}muUVN)@r;c-Jsy2FUOe2* zjHl)7a{T@|k~fzJc#$uLqv2#a#$WZO)=L`)S$hVKbJTfcJr;8v3s|SM7v7M+&@L>n zS!O)EzmS(I#g>J}m;|~V3#oBcp|68y3?`#M+k^wQZtRrG)fAcnZ0X4?{yYuS8In=2 zuMOK?RG-{+CSDCMaMcMHSGWoZ#*wBd8s=XyeG1)xbc4l~+7AbCAtfh&p~G>&r{)WN z501l<;6VArlutZw+~UG;SeKUkMu{`T^a=i1r&cWnP&6MneQr%O$^!-PQiYJY7BoKa z#yV6pOtmq00jtL|AE?)YB?>|Lkj{t5%UJxPLpVC8R=``N5vs&Saqht8=A{t`ih|}d zMwcp1n!oVts~7MeE|VJ4zF|Q;Pjbg2Km7GoEk%w1ifp~*F69e-&gD8BF-D+y%{o(A zqANW{x>CYqDJaEI5JShHkZ;$-Ablg9bWj4KHxQ4TuJpyYgo+FR49fV;FqNCTSxDoG zaS}{Mj4oAyd6So|ZM4ulXMkznwjHL}02C{w^0qd^E;MrenKoJ!i-(^5zrVbC^~19{ zka_mSWiF@B08Rd*A7&9|FyD85Aq#L0B9s~9upLl~7p)pS-E}Y7-9rGZ@wAM>Xga@A z3dd}KxwQ2PUek%$#vwwlf%;-)xrsmL-_OHr`ucJ_{C!@W5?m+}b4Z-r<5gH( z!-Fl5#abo=1mq2-`WV#aI%-~wYzI!A7<2jhiJ+9Y9xlL;xdaS=R>M@8ce!U}{HUcPv7KUe`{3s7E=mce8n3{oVKM|* zFfbGBahu70bgbcRau$QuCI#&6a*`a1t`^(|%$y3Sj9#ER zkXl@P9WA#7ptj7)s(bFe=NxN&g%${jCTX|>=yFB37qjg7;$5JZE;G7`USQ1&FRmhW z{RtYg=2ut_c6oAt@goGL3wY4x^8fX1=zC58E@yF~m)AKi-FK(K*bEFyxOK7C;kW{+ zIx`f%45EF9xIfkbG_lBGHK~n>U5zm=J=bM4dj0fmp7DHRocGzNocW}mTRQm+eH1zd z9{*S38PLdmsJ#M#zr0f=biJHy3~I8e&RnS&Sb3*nGR}sBaeg#R(6V^&&;S1K2ZcU} z|2x8;D}z{k{~7-D)BMLDa?gF$Nww+nvF>uBc@mE2r~3E9|8D z(?6ch_~qqvj{a+HD*I=3`y0O4W^tTbJ8g&SmxT{5Uc<+k(fw!bY}9{^Ieq&5oMl&;L3;{H;Bg3A8E7;c;5+N6Rz(qujZ;y3;UvS59~`n&$aO z7l!309PNC?JpKN)!mt1MdzxqHvqUgg8>@uI5xi9IFG;rk&_6c%dbJpLsVDdanUHs_N=e~%PIGyCf zIa+)c=H3E}>gz@bzcFQ(Y+BI4Ms*!olN;&oo!#%d!G+t)1zbak=a6ohrTlaPCYPVf zRarceF*%}|xucqSzv;I!+Eg>2oL#yi))f(Fs!(nB0M*P9Rege*c?1`*t&~G<3*{A- zExH9Ix?&-X;2SOlgbFW14L731ek~smnk)*vj*y=74%+hQRIUPRR0ZAo+Nj(pXwKt` z?pw|LT+F1yjBeltC{TOtjV_@)5aJ1N`_n-)9G$jBv~YsYm$k1_11$M_{N_CAz4C+a zOEC?li`j3s5#;8fMLF30shJndwHTwDteIz2#v>H2&sXTXwmxHzh=%* zK`B+Qk6G3`Un*DD_BM(+ZEa{3h?h1J{OZ9>OHgI=N12aet$hJW#zLkopz zYb{Ej<(~)h%Pq6{NowXMyA+zH0i{HPis9e^;#~uUT#(R>MMb^wiz{0%F5^`1e$AZi zS2N#zM*mec^HLeUSVE?nIfjI4<{5o336fe064#Ye=w|Z4peKg0I>=_}{i5!K8Q zac%gH2;Q5=Zj=P;pgp|21-ls#?w153;>e|tpGxOcIw#`DYBLEX!6tpY*uHrAlX&*c zqhDXK=RY6k(aWzMJ^f^*b99quXk)pGIf>Y%K_<+x(qpW2ib**ep_O^(O6Pxe@<^9i z-AsgO?ksc`UW0)nm8B%+>wS`y^Dhr4g=ZC%SN;EZmBY#86{=(5X~2;j!roKy?O!#7dw?ELh3VEe0Vc?;;c>?_i1bWiWiHnND%?_G8}I!m0;uy) zVq2WIL31sE-=cB<6RGm;7U`Uy-sQZ4OZM1l0M>cFn>u`VLsR^gu#&m!&F}RcAOdN5 z*ZE_#WNxTv6_!M~p~k)ST>RxmcaMvVLVIc;QjWZahC;t;SOu2>U+jr$4T`G?u0Y=FxyW0m zaZaIh^(q?CA1h6S`|PAl$FGT-Phjwm?3n1BOGLKpaXB5sS+9` zaBKPq5_uylr*)&X)7)pb82-Dg+r4$l_TwM#KAYPbhanEpL23P5jXNbQo>pTT(=pfV z7Shk>=KOctyN;ntHu=+ub{A^)$uOix;Uo;|JbD!B-|`^M<&izK74Be_d^@ ze709hy6nU;fABh-OfNc&Y;-kz6kT>?H0SX+Wi)qc?V*e&jCL7{egX!hP#AN{W-heN z)TsY}DX27A59E*%u#qX|$}#7PL3l0m*x0B_mIG!N{S@jEHR>;9_lNPSG>y0l^PmqWC9}F})$V4AwBdAAXUb~!E+4>I>n^gf=lK`Vl#zt| zeTvTJTTLuqMevlixOZubxoF^ZR&+>ltT^=j39@}e)xgtgtLI#KSMEpE;I=n^-|mvN zU_H*E0;K$Wqj5cF^~?%d9VF&(#xo)Fc8e~wb@V6w^Ff%xY;x3p-%7BS$8`Y684iH^ z&N~*@9{CrfD8@JM5wUhY+p?E%HKcAVa)=<20b*`2Vr~?x-`k$MULBc>GGc+)j zzAVQ~UFnDxCYxQ({!(AL8*zx}C%iL1#E5yXtbMn4-=Zn1%b;$i4@%>hWSr6m&14<@ zb{qbE5(pRfye%B<7@uv@Di~*3O0-7>tRXBd+n^ZW&=$xgKgZkC8*cQsS-%rX}QbbP?Jw@~s(NjdTp}UwGjoD_xXZ8 z&?YfI9h&Ms_PCP8IbL53T-j}>5jb4k0Hd)C!Q0{R$<<7v-yg2(DCdWuD=!(GtazAX$sjXWT%jwLUsz-??lKhjkMM%Qr`yOw=MeN>XXg6Yat{{{y4R!JjS5onNOu|k<{Ko#fh4P!5Z3Ofxi44tb z4M$>1=A;mXenozqktoNSzbE?^cx4=C9J<}W1RPGO2G5pd==~#+`9sLy}Zo{ z_|-1N@!>i%@6#)zF8Y2hp4Uo{zsj6kKix}-goFVI0}uuv3_uv*PGA6UAdBP^tE}<~ z5~|igL@4@7u!Kf}$yl5Nj$y??(qwbCrc{)A?}(7 zleTqUJTHP;uxBJ=Mbc{k$sSL+o!k~kui?dyKR4g${@cMbf?9V1YDpVZa2X^A@1a0z zwLymzfQfBPlYJ6VagAlLwcPS3ANL3IsAO9}(0+d~=VH%NaFcvI9K9=?zlEaH!*tpo z^v9DC*nqF|w%x4#0#Qv_l#AnHS2NVK8XghcT6v8xl?B)WZgrXTO}JHheWW6xT7p}5 z7H(~ULpNaw&v|dYn05s@RthcdPCe;%*N>6w`gYN?uZ1ZQy6n&hW$>~`hnva)*Os!axDe>MkDk}DAfkIx6>2dg z9HTo-;|BO(kPo$%5%|~@eBk!!&KMAw3}Tx;QkevON8UPS72oDl9v@5YF~p7qi~H@xhe_te7Q!{-j|9l z2LB8`>G{zxA?@+tpV0dngws5i{aQikD}7D)vZ#mMQoZ{5*=;kyXuMC+2UA=xP~|Rd zhOT%TLF6}O-KgY)y=a0ld3UxLi)-$!`C$w3zKBKPuSGX4hw)@u6z^wpYvn$g^k-Uf zWvEeJ>*T?(SR!9dmxCT$Euv%rnJ|gOSVVCxdc18od{A5zTIEL0kK2rf1L$C-r{8}u z95nsoX~|__(((1te_b`>Ps)a9T3&Kh<~v-T#D}oaz5-?HYEKy^0I{7mD$(Ujyh$g+dU#T{z@HcO8U9_qD7VJr zQj+V(=}N5iI5%N>QqHLSX!Gfd4{!CXY@YFj30Z$Rv{QjGifw>;n{T)FB*%x7`mB9N zem_6wKj!br+1F)u)?bb5Ta|Lo#F?|%;_bAY#oIbf*S=Pk;oDk+XnSSVWg6<-HB0w&WU?&}}7MxRRCJNI$fQXORl} zXr(1!)%6RY~WyCiVw3{QcIe9lYDCd`TIf&V{SkR`n z=2y8(I`NXb@wSi7C8vEM`*#wbY$?XJ1GU(EZKV3?iri|MwQEzTxbyCAaNc@pjpHUYa_(iKcJ{!TvV5xp(=X&FA{f z^@VSq%gQ@=doi6-M3f?;6cMF}C`EK9QbbBXP$#1~T%z|7DI)yK1)(dRYZk1L%IQlP ztv4bddTpDyvvtEVcf~{YQCAZ+BoPg4ds_@jPpK+Gv)Z*o60TxN^*?on8uPuQ+d)=2o0K!@k|ps za?VttxO8qR-yYD;LDCJh5Nr+_n1Y8_WVv(^06wlt437iyF6=7}!j9mJijLeW=fazwSl24js|K-G)sx1W&Z zId5-&`u%IQ{=1XKMLf%}QBL@}bZ=d3UcM|hp$c+NgYok`Dcxdir%6fnrQvDl56XJ^ zD_lKJ=KDNv9mfY{%jWmAXuLoFt~cw!@6{*6X$og&z3_fI%DsAciY@+VGbmSf`ET44 zWwY%q9S>o^cQ)B>z_()u=2x(9jkW;puo5~sya zuUEDGd{!PLOTi1W;GUcv5qKx?PT-xu`<(#qwKqK0(4PvahTmAjVilZb6%!EmY*M3) zD~g_5`#WwYc+XNuZs4%cq@qzOd8oi#_f?}+E$XD0Gc~U0_JjAGUb_p}-eo>FV7vC3 zdreAH7hwBN!#~4_9lJfY?iqXN(Dku>(+%KWr(jYnE+g3%3GBLt$Xt`EV0mg}4o;}T zmEHlkZ$0oX;Qgu{d;oxlU_)(l!zwK``qS#HswnDQ>0~{8je>Qy=v8+H@T;Nh9E9Bf zY~Maumqgt2)7%EwWeAFAE~`3%Sgn*T&v^|s0N2R64$LthF9P-}k>l3Wnjd}vlJVCM z;E8uY`nkw01KKk@vhaAf!2A}JcWoHwjR*7H`}rx2b3GmPC+{xua94U$0-*hym*erP z`3ARrrVlS%(c${(f1EquJe5|avLq|;$yQST+GM3Xu1Ec|6$0DCGQI~ei8+AUWYhHP zgURsV6bb@)G#~M`MuBrm+_-&~mJW~~!r*uzS@6H-o8eGMr?jO1^`8h)iA7h!Y$tOY z&F@FK>Ax-4gg;w$bk)xS@*v|jd4p}+tD2t(DDJ~@i3)imUmfnixEUR$VF9Pp*bntH&^nd?^_aEO|DIw)z;J8|=FyS~FqF6Nfr#dB8P z^2SBK-049$IXU?0+4!J8IQZ$?FJH{3W9|96csK&>u%U`mhJO) z?LmBF&)mg5wsL=Od(19=cHvem7qdL^^I+C!JXx;`7`8rGOHAj__v1z0A3U!T)<_R)ysidJETvGe8j!Fn=iSdyLv}2E@%1ty1(*x!wt}+l*K+Ib)nzoW{s3N1>Mgx1 z7dP*P+i}-$;KJQ_sWi;PTir*bd-M9&J?kTa9_b{%C~9TnWu@lRcMq+e#kLAY`~9Sx zCGmc!b%Q()zeBAT_$r&-w?XQoGArJPx~$ z{j4vgW7E*eZp(0AFA%f3!A65nNN99P23{@^jtZ(l?_bnbRIz4JNhxc$t4+kp;g-SX zZf7~)>;syC1c`%E>5IGTarU{VDGyKY}Y>kt;@jWcOB=-n(Lmd!xz#kDc&9Ms(a zqFx=~tK;bTIc`JB*~2k{p(Rp!Ff>(iuJWu7RZ5xX;`kyYdM(O759WKhvLR^YoaR6O zRBb?_mW%}%D;_mGJ7Fz^fv#tdfP> zpOYYlFvPr|2%{gc@eJPx!(vf&xI=g~Ne<-=gg!BOu-BP|Olt~tRfC=#QqI!W0#|f< z@#=@XeHX~J%d~DHS4hDFxt7uS1ju!MndM-Y_*fPWSQ_g2aCLoCU<$+v&VEZ~|J zXZr%ya@*A(E;~S{0ojNWOW3t!uCzl03LC2#I03fS3Y-AwIk@Pt&|x5#Y^XV;9B{1V zMwjbUTy~~iAni5VUX5$N`vxai+LHTq{vrQ9MT2{LY1tXhBac|q0!utGc$Y$+rV1J0 zrxu(EVYYMkpHESA%V|4#|NKjw)>ig@dqNwx>v!KA{9ExnIe0z^@BuvdVwm#Lfne<4 z%Sp74&SHN90glr%xGxGwLO@HSV*UlwN8BGVT}&9t$|ESFKC%nLrT5>Aad830jPrzG zOcAv%T2RE;7X)Jn#t@9T6EMc*ENab6#p)urSHl9?#adM?)xsqeRkU{u#uz3YGV{6e zC_F&CNjG3C!@U|@<(wcjm4YuE-a80mu6gq=AWWAj-2!3o(ALglWC+6S9sAq{_>v3= z`YeH-A8kU}N`{h?uvING1o&#No2H{@`=!IM(0|?t=+7nkuGw}!_@XU~5Mx7~ktx8J zjP?M>fzc$CMYxKI)z;rJ_%d5{1YZcg9OBX2ACG}^3yK&Q7%>_5-t-4)_-5P#ao|uR zu(koplGZD{+3F&gDDZmI);VP}@)9<;dkGWlg=^HWJ?wT0Fd4*V{iFQ0VCvbgoNs?c z@C8W*L-1ul@P**Zoq#W_(H7B;M+m^sXvZKu=Ca9^MVN2VfQRQ_>CxF*g?W^Z`-6FQ zw1mCu$@KR7gSnMd2`lO_$;ZRdyVbPx!*tpo6tiu}hrBLv)y8hteu4d5s~G;LhcI2H zbpygcT+T?QiaI<&m`mgDYd|Ch@8&BocLl=Cl)+aY2PkBWE>SpMe1!+V))L9KXGg~} zi0aL6eZmo+3`bB$*9yEKEOFLHtHcO^s-Ug>ayB4@B@#Lw`%OQWkwKSu^ssQLg0f(E zl%z8R_F(?YYb0hBw>cMv$Jw->3NU5hfjoKg#C!YXk$qTFwpYT_etW3NyTke<^iRi! z3u@vNW$>5%Q@Cc1hck`0%{{$6JsA(fS#LNxK72DiL;+eK;(zPAEK+N;&*oQDf9cu# z$3OS=*S|cJU%s9E{Ps2f$M|pN{kQ#>-@N$o=jJ=ze>-?aSmI7#2@45Jk$qhmiKL2h zE`zU=CHOkL(cBsq)E&eU)YXMf@GetJcw*GA2PbF#uvO?x#jmzQKEF#GbQ>_mUFqr~ zOfd+9S+`o3d^Zr%KOclCtaL{G_pO9$fn%YSOhpuNegiKEbx5R>9ZDM_wF5ORvDTvC za2f{SsGK5ZgZ~dqfL4nSh?=N6QNPN_pY%@q^=R12yVt|hMZj5Z!og{4>NJKpa2{m{ z43=`v*_#qJz*?z|Yf-sm7Ihi)R>KNSnPMmqbB0AiD>vQP*ovvQKPN;1D%WCshw;~< zxJ8J95Cs<1oj?@u!LVBArpn5plUzWsIl@D(Vi^qC!iwgmI3C`y>cpSh5~a(W-Y}Gy zhdQ{kHi}Uj@leSyFB1MOMc`jg5V<-M+eSt&MsVk+c{wxW$~|`)j>E0tVHu<)-J>0) zyKadxuWH6&LN)V2@ewGu%8Jjx%oTD@!v`Ql{%q3EE$_Yj`hs-?{(kgdTfGR*%`i51 zaX~0g`qdV_l95Wk_@-V z*nhe=(B`?UynVKtFPB$A4ejH$qR}A;tzU(~AfFT*_#K|1vkXP)J}*TILg03CI0*ka z8vOcvWWO6s?5|P2JAHlX&i?l9=U={g|NYlLOn*Fnh*$TOwV!#(hY)!GETmLwZ3b?} zQuVku_)|J!O6>}tKRq3V!NK3)gD`&8ziwF9>tBSxsis#-tJAXqZlw+nzv-lpAAa%j zC-Ll?N58&e&woBfG4`uRPai!jYZ|6W_?q`v`%oQ@M){RO3nGFVQ@SEc?l(ZVcj76}Bec^)^Og|2j(C)>8vYl1bl~opdNnj7VgitR=@VG75 zPQjI?y*q}$LD_Ct=CG;b8eNY~<0~gM{)(i6P$|3G71Gx2r8q5s+8!_91%qL!i*F%dh_^Pi3k`{%fm|E0Tvdh=W$o zVg&(h5v(NmLn3vg?m#V#)Y5n-;7`&@z{A>BaB45k?L`$qcsO=*ZdDFmqxHTsEUxO@u$g_&#_%P+O zli|D4&36-0*xS#eKADbTgUAU-5RM=mK{$eN#GSwqQspKo$StwJ(6nrWsbcoIl36y% zLhM?%#h9&SlrIPAhnWQJwtxuV-iX8ks!I@x03J$UeN~)iTSXAP(5V?EB&I?@B?aeu zdrK%+zh4(sk}easi5EEILg`N=XT7|TZMVm=U-97lXNZzV^C0IFbu2EAeIce=#xm#U zb9pgj>n^Um;@^yFA=I9Oixa* z;b!&WgREcwMIzK_vzV=y9n=@N?|I`Db85cPvWh)xFSRIUsq7$YgNik()R5v=#gr%* z_!KdCEXf8p4`B#u#k!7>gx;v}IUlL?Tj0hC{UQGAAL85Ne>{5h*P!1`Mn6z176xXm z&8(v^z%its2CE%b*b}v4L4sj+b9NlXGJqH8T_mq?tt7==YQ<7oc{t-#28aRTt%_Hn zRtmbzI_t<;H0}<{EBr}tgzYeS8#sa~;nARG@ihDdf^5qmv>a|-%a3pbxX7#Mr6gdN zkYJaF%jHI;*Qhizy$&bS63Q=!csp?U2smOB4m`gRxi!|C-`Kkb{0^pC_LBzu|MSOR z{_p?m@t2Q&{Oai7t69s~!8yzSU~Um~FiUgH|L^4l)=Qs18xH!D;po{?65xxIK1vD8 zy@eD`sWkf!1?Ne%y8mm76Z9Xy-~HB89Qf(CPrf@k*lR*w41dcD4b-E>4KgVo9yFuj=|LS3 z!yUZoPhKHQ*Nng#IOsPAgN&!iIE>!)KJ2Q$D;FzfH`Y-DrR#D#vhm-jb;x8lcCyzej z;qKPpJQ+@r>QyTPGar(Vc@HgOfP?W_uAw_uAI$INa`2CPpviPJD3iUhSWa*kOwT?$ zD5hr&RhJ41?eg0xJ&7U3Ap#FaT?QoEn_wIGOoKZT*cqXCC_|1Gbr{V4Al6Bk%QigBKayj_R zRTuJQi9PUyJedFdARMC!dOSJ!^4p*AZku&TA03p-=y=>wo|NYf&h=&aPn^Q%>azoo zMSdGL&C3S5Lc`JLtmi&!e=`64bANtW)6vOEKT5o!K>KS|h|Y$?6AXGAs+18QQa6uyaz?AyyuqZed&%DugYy(AAxFn@ZhU2UmWa1s>GFA;Nqri3Y*m#q$d{Nb;-5w99&8eO}wPPdQcOdtuv ziJP+HCa*HwXGbfq&iUi#;sFlu&tHDTi@$nUY}WsRL(HPnL)ilf^5Eb8K6BEjpg77| zkM+0_-dE4RXaBx<2txU@$6Zey%nopfI3MiE`QKi)OLF#^Jvg03$LDwcEKF&?W(N<; z>aCtX{-$~|997@Xg5-z4{P@F{U;Onc4#IjuTyyd5<;#1c(uMk7+vNc{6^T$}(!*4mCRftMocRTVd*q^DgmCgTm`KQZK z-&UvNYBr+P`~_9@Q`tqAbW4{bKpq`)mkNe0yKS9qF{+D(se^iyJB}|#s6={IDgBjQ zt&j5mIRFKGgqP9h(+Ql&x}025#yFc)Ct+|rg&tekYaUcTKEGz$#p9}odYs3ZTNg{0 zXW#g2I2h*^cTDjj#v^n2F50?J#9p&4c37`p6nIgUAsh`)%5@HgRSP+;xzu)bd_M}u zr(xHvUVs2ShC17YRaL*54t~q2%TfOY^S#*R`a17&I$yp$gILM9j6%h`Z159cTlw|c zv*ok3zjxWya|B2=?));MXT#B?dY)@Um6LY=2%#$6yq`;smosDR{{S^SM4_9u9H6fU%*s|hTq~PP{Q4tXtllUq_$D{*y^d)<2>Wu z?cq+giC}Is(8M9f(rNiJ%43=ySMle>br|kY|Fd1d>U|3i_^WliT1KU z=RErAG&Wa6Z(GXZ0VU0*(N!%q4ANm>0|lX2BfPF796>zV;5%xJTz~dmYUG{wa&_bF z4DRL9aZ@Ub)A6%X(K{}Me29PiFkgQqvHrSW;@XnA?vH`t%16hTs&Nm$E5kM0e6!>s0? zv@GAzv!L@_V=QYlX59X#ZJEhEdv*zJP`~cH$M#bF!j3T?p$$SCgf^~`PRv3yO=j>? zZa|Jx&Li;g9vMavRcKf(xVlt2@kTg*cL{BD8QgWWA*{2WIadfAgf=dVjXHrojNmOr z8zR=wCpF;M8Z5eu6n>0SqL0#`{~;#B>*A5wp$Yf0@j1szgf?2i*bRu%1#P$^Wqb4G zxC7i^XgiQjSY`-re2U}_!40AZ?n~+$qrtPKI6NS@LGH`3vRB*Wm`5JUDkw8-g3nWKmYxC>`8!xWNph(}D48A3)o(0y+~Mk2w=ls8dw1C@mF5 zf*Z>|p$E$X#uk?8^1F{++;B${UBk2G*cooPBh7l6InJafxIu8kT^Yk1Vx9NH1SKS{ zxqv}2lclUZh|T&(`R&>ABZuBX{Aw-wIj4)%YyQZjMuI+SeTe_9n=29Ac=F_l_x8yn z`;g$ql}mMV!F8;A5!_fBL&Ypn*NC#JYgOQeM=w<^eU-g48hzz1aEEcGUaEP6bEi0W z0XMn~?i$<>-dHQO(jKEu)s4%t_noEzBX~Qj8+9#B)^$@szz(u@2u&;3;9npuM6E;c zkr%W{aO1||1~Vo! z7{Cj84c-&l*wu!X#g>v@NpL@JM7~c>V`0(t|L;cGAf41C!5M;DL~yYt|`@B9!rUh;Kn|1 zqs!o~!wsXPgAzI~%`^lz?kC)6vWYd)DV1)Zeyx0=ZfGZ~Bvh?x4Y|RlIBF5xxM8?q zA&T0YFUQVs!yaiAH=w4Yf;6|6hU56XWS>c^Bg)l>K<9@;oFI^4phOM|q zi9@+sRo)ec=BR@+vN5qOZV}wLakwE|Z@wINfEx6y)f}|w4L2%=f!3|gmas|=VD#!%5p>?i6I7n4yUS^RQsvG70B)G8; z+~_j6>u^H~W1Y1A6B)hEsG_UyeJ#4as`O za1Qld!8?i3vnO&T=QX@#4pyo9}f0 z?cf>vre9u}YvhWn#}6(;0Z6U*Do`^O2JaJ8H%!f360)i4ra>Ed3}`5KURONT-a9d4A~eI~RaxG}u9!c^YYl4l@$-XIYLxB z{o|ke`s-gF$}iteet!F!|6}|&^ZwiZ%Wnv7^iRi!cgW-qE#$72AgrdOVe$v^Mit=h zS4ov~R5B(+Km<3=op(DaA}xfex(x0*++Z+JcHT(hZroqEA-Ds5LwK0{u?X7@4g2hx zt0K}MG*g*rRz$uDZrnKBP`o!^jyu4O!Y?-(nx<6UAhpT>iqIaHGrMuE7oNP}j2t*-^xs#ND{8S*R20 z!w4>VziyeQxKL6m(4>q=@DvBc0LI6^k_kD(R=f$i=ra)9xN*24bZ@>KJHrigq*zY~ zCxKI_nTndJsF{l32Eh%28(k#2*LuM^LbN+n-SCZMOrd+K2^@*mIzarNp|3;37Qi+- zJ5f`0V_&$@WpLNwhVcw4xM0%|+_<;RR61n_C0ttxR|9T1s84%Yrz)Dpn5M~zyV6TX zaO1||2J^kya@+xJfVv^I*Pf9u6%{wAxIx8@BSIU5HVADLij0bh6~~R}G)JCQp_eK* zsCA?|XIq<6`#|7B)Qx?p8(ju>9c^gzQo;7km+UqbH|}R~BU#=6;j0Ql$q=T}$yR}T zaK?Fx$z|aiU3AF^ZQL;0&_}xTQnkx*2e<)<0u^y(2yGDBAhbbfgV4s9&<3Fmpp8a{ zCd%k4qbypfTpiF#rJ72>)>_m&)SA%7bl=)Wm%&{}8%T>s{6~_V6wK_17mPk zqoAm4fLNhXRrIb-qINo3B8pETn0e!9Lu$B#x683J+5kjhJq|T1PL#SLpqR|ge0_9||47~FNZ0hK%_l=Y>g zM8%E!S=`_v2nfHyW&^SSC~k0H#RSL?&l{CfY~b0@P;uinzzx`g&zIv4a6=Z?4W~7k z{EY~15ZoZRL2!fM2EmOYHymtoy3P>B@j`>SQN!PlF;S(M!RZJZ24p4APHB z*Wm`t!91Kdh$ue3zts&?3|%zZRF*q1HyBL*qV=h&YX*T_piS476sec$#;Y4l_2$cQ z2e=_1gX^qkhD`nlZV=ocxIu7(;0D2s0yh9HlopVrGT?_J(W*4WIEAZF+;B=YV2(G6 z;KrW1R9yyl4Q?=JgfkwU-&EbWw?uKK6uca`u542X8yaZeWg{!$l~*=q6FE^gZb37Z zI#Mv_nk~o9a6=twR5t{Np_iC%G_FVevq^tAXe}OViyD^7u9Arh^sk0kIpsy=p+C-$ z>#2h*wXK;2Rl7we3#vap`{#o&MQk_fzYpbLr57#0bGZE1gJ=D^vn%D&7jj$!@nYk{ z@iZ>4VSL!-0uC37aL1$J^lW_CggENggOf9Vcs3fohOqu}Ni)I~8PFh#x zez8sK{XWIP2EHupAPj>c+m@4c}pK*Wrd`5VT=Z5mWsB zRyR~pVem?TyCEUZproptD}uPWZZcPmwzl-rQFY^ns~hSF8dLM-xC7i!fE!-It&`ve zRX3=*LDdbaZcufDsv9MZle21)yBY;QaZDS=2$5JeLcH(aA!`9c~~_fuXpxn&8I0mv;e{i#L1=@}2B8f?8-z9pZ4|VjvX+jk z%IZcH2LJ>El~V>+BpIo+u}^8E%iykq4GW$)B#TsW zRwUxa{UmO1&Ff?p>WK|9pNeH(c~i=Z!l@`^ldU7-#w{Rjh$CHi;_Y(W0c|iC17bdv zrrHL<4T2j4HwbPJ+#tA7;08h+f%=818Vj~6I;l81sdB7R_903R#Gy-;o#4hkaHGrM zuEPxjm+7MOPn}fvx05Pl*GMQARl-_GPlu=~L?yg}0gf^;s0Q3As%_kSZ9}w8QM2W^ z3*0~_74iiz>!emHYNeu9Dr%*oRw`&>dlv9XSmT~6b0WL=Q+U*f*S-k2yPJEAh9c~CDQ@Qg_5Zt)8a3j65JrTL2!fM2Eh%28w581H?n0yCM_#g zry44_8g^q6o?{+l)&L{2s2No^_Jtc=26r89Fk^)_yp1=ByKz6c8z!b0onuw5Ej<3T zOI6gqu99!8YLxJ~?WLpY#tm0D_>nU3&uEupXSl(OQ-@JjbE0k#b%UrIMBO0j22nSN zx>2Ybb#l=LP&Z)o2eiRs>7^=6@meR=@SKt>=El@ZwNEcqm%&{_8)(2#Xv1KP9L4W1 zb)z&(rH19oCQ&>$IOG{>V=I<8ii$qttD*%*XyeAwhUC5Za@+-Nu%3|kM;j_`P;rBb z8&uq&;szBrsJKyz8;qxDVy+tWZ&b=jQ8^g?4z6mz6-cu34Yz(*HU$_x@P*F>)GL{nv8$wm^kgqEZqrYepIv7*I_yjj@7;dn(Eo!zL zcYqt*_n<7tG^6SU!3}~N1UCq75ZoZRQQ!vmh=a3L$4 zWoo9{rGkH9%&-h4Uk05=$_8*nUgmUM6lZV=ocxIu7(;0D2s0ylgBut)+P;(-;Wc=T0t+*jVl zT61Yrj>Q3h;Kn|1qs!o~!wq2!H=yqm+_=ARBe3A4wJ0PuU`;9EausTmsua19sEF07 zDa9?SZrpfvLzv!tId+B{>`0=zp*?e)gsBK_5ZoZRL2!fM2EmO2H_+|Vq==S|ENUcL zLjy_91}WD%Nz*h*K^~V}{`Tc=bQ#=rxWUo%ZKVD1JQ^OItc;W3ZukI~ zKaLVdsF~3$YcQs$x^WA1aM=-Oz4>z71#Vy?>%FGx#)#ks!3}~N1UCq75Zq|t2AspW zh_Pa!E|Q#Z9g7Jrf7t|;qtSt9vfbDlZgd#jHMn8DvJ8IHf~ey6x4NODM*m_qaQR~( zOu^H!3buh#0}ojlXj6Gs2vbzuxY_E4^ha9t=F4#hxWRnS3yxW&>IT6Lf*S-k2yPJE zAh=QBMwE$(I>)Nv63tY$=2g&5U76autZdFqQZv=QaHGrMuEP!Mh0s>`Vs=8+jr&>M zNZ@Ah8u%il42+M8Mis&40E@$>!Nz{vp0S{>P(7e+~NG zWb}ib91g;Njt0LzAKC8)6Z>nF?@nKzy0gE%`}vn|-hcn~57QryA7bOqhd#{&HwbPJ z+#tA7-hC`8W1MGI-GI8POar*V46mZKR%sud$>qgE+>L#>8(ju>9c~yY7*~>$GSyYF z(Qj^C;SD>Txcw?M2Y@;$4ZG&ZE~|qA%>`WLSrj{`;JM3MbR@ zy54E~KUR=K8$KG>q+sd>B}E%5RW}Vx#U-N7E=}5E&j|{grdYMB_7$jYWup6&%ja`YF_-613p2 z`Q;3M2?H!%K3D@lZ%*qdZ|42C{g>ao`0?lFJKcXfc*efzyIoIzme6TOqEkZWL#_#<-7hyq@Auhl_8+fu zIGMbv!z7%%8&7&j5Nw`)$1$6pA+^+H_tQxqKm6k5PvY4(kA8i{p8tG|iTmo&(?<_W z3gLBo3-KN+@5XvK8s(FAGTWF1wzblj0H2IpvqJJNcb4;&Hqm;}O?eFE<(%>|FNH(l zgBCeF#$~p9fy_TcfNLtN%3iQjzzu6F2}#@}nX6f#W~zOw8(ju>9d0Ox`4GkxJus?n z+|%lYMfRIzs88!cn9`!IyZ~z|VCgzzvJZ}$sV*XhC8YSYaD%ztd^zp_Hw5cxfMDh| zRX51yk8J+P=8xb8+5C0E18ZRK{=tpRg%VtvN=lDJs}re;(4(q?Kme4Y${`gvOx2Bj zsvBJfcO7oP^h9wkHE}oYZ*>DAaE5VoPuYfpvC%M86BS&=ZG_=QqXmn)V0@}>+;DZn z9cj^kk6{3fr^-KLj`Sfg4>0 zcO7mR59c>&$yEGG(ayUqOl7^}F@hy!IJy{>g4_fAHawJ21y52p$trUBy9IE=mbR$* za@+xKz;?renj@8+Z?x3vXvI0Y$jBnYLpr#5eAsQB7af&wa?7gE@tKl>Z!f`%@m=UC7M!EN;pHt4DLGI&`PT!6-Krj_qV#y)LeK2WbdRvA<;yr%Y_If-^MxCH0ZRdi}3<6#c!A? zZjYc{IbV*Q;YN#53>QWl5~iZ+230qxx9c~C=9k?5cY&Y(2b;Byp8+a~(B1`1|8hla@+xKfV;uCaMBanAhbbfgU|+{4MH1)Hh?xH zbpJ!mebq#bJgWw0+@Y>fC8u4gV~|{vr})0bjV^<`jyB+qEv!+VWN_~<+7N;%Z4;|p zogmN9c!u!lrYj$af5oPsF#X* zsi>EVda0kQn)eWj{P<4Z<8-==Il8!?2N@kAUjs)j1uNz<0f{7Sd6QiZ-#=dZ)%iylV z4XYi~&Jf(V$HG*scHTAKRVk_jH8_+woR3&}jRn-OwMwyA-B5Mo#;Y4#_vXuS2e=`i zX2pfzoOE!hx zbz>juMwh`|hZ}||ZWNrwFzUn!$6eq?+e`)34Nlb!s%}tqgQ^=;-Jt3QRW|@PjIEu{a5nZbd2lxx*lsi` zBm7CpiG=vakf->*)r~HLyAC%LbZ~{2QW4x}CcXO!H+-#gik4LzrZ;f;i+~#-OI0y= zXi{e>6Y1biZb37ZK2k*ow_T2%;f6lazGtkK+9-k>1UCq75ZoZRL2!fM2H=L*B5)n+ zif0E003M-{Q{aYi&NMa!VIrA|?+Z7&4DLGI5Ds1^*2x0$sJd}K;YOo0S`}5Oc*-D5 ziAGkAqu3ESq~M@SrBtNq#;t%G!u4j$aTl}!T`Fc#7bfZk^-@tU74=e4FBSDtQ7={N zy3q)hlok~-tjM!QI2(tCq0GTlZd}yaH`GhDFWRU(4DLGG;F3Gxy(ZU<`^yw(j0NG0 zsZywmr?`dH4O4X`c&>xDx>lwvI-+jeFm*#8aoL+M#~t8?WIZfm?~SA41{F7`xIx7Y zDsE75gNhp{ZgAfiWwotf=m$wo(LkcgGY3gd1?xZfitAR9m8cv0P&c{^?i$>H0In5| zLkyRS8~3)CDn`SD!zzQ&bOziI5T9;Du9$)xZWfFuORgKYptzxqwCT;4;|_3x`JUH~ zD@)W3s%}tqgQ^=;-Jt3QRX0j?!&`7Stcg_;8gRo&0j9Xpm6OK!;Ji(3TL;07ec(oy z!Ci+NXy$jqVoQP>_ZDs>5hKt&@CBDxbP={2F~fxe8o0#*$JF?Tsv9@Y6jw)z!Q`)9 zj-BBKFpBSK4F@Aj%~S+82yPJEAh? zg)R;N1UL498(ju>9c~y1_6u$ux%}PVW-1O4UyI=2?dO|H?_N02eiS_OXZk=7{Gj^aXspvP5Q&Z)0Qm<2f(bdt7PH= z^<;7);tNv_Q%8ny~f3AD{j6L6{=68};9Za!Nz{vp0S{>P(7e+~NGWb}ib91g;Njt0LzAKC8) z6Z>nF?@nKzy0gE%`}vn|-hcn~57QryA7bOqhd#}OHVADH+90&izWd;~0SoI`8D5GT zu-&L)&FTtn;!JbMBc&$c=|aVgeTo}(hrwM(8{n9NJL5f3H|{Um$lh`#;UvzOL2;vo z7OrD81J2Jmi6k4DiV8BJjT=TA@<{XEd^zp_H(Kh3bVd+UoZtq*4T2j4HwbPJ+$eCv zXxLXf)HOsBkimr#olc)H;#f>h5yAC(FmQo7Y^7Bas_kPOY#_Uq| zNmr;U1~f3jeP8xtiY^(!jT?s>QupS|u`}F|M+%Mgm9OD<95dHVDx_7aZtPRtFdYVW4Q@#9tPAe_NN2$mHw~&AF2L$0qp>FB>|pdKR7$1Wf#AlC!wvLB&6ndYa0Ap0A)U6G znyE+!mvnGR2bXkkNe7p7a8cc;Q_PYJjRtZLvkj>tsv8NtRhAj4tWZrZlAHuL_JJE+ z26r89I3&BZwvMP9_ZMz79Gq|kKTXpx=-@Uw!&4l@aTxqbSEpLbOx2BBpo1%qnCi`z z;|^#;u%6IDqCiP#<0GJrlm1}(HXP@{qyimAN@jJ%4_BBb^*D1dS02>iDPqK5qFAE$L-i zl5vHhFa|r~Gz@SCr#J^}Kgzu~{XrVO8TSTx(vmO6Wk-u2k0;{`Kj^}|AqvL>rXsT- zuYkpd_(MS{91@usDH+lD%wuDtDk->dcGibmQJLqKQ~GkoX%T2$WaWc3QpwxXlkqT| z^@gM4!#CqYffn&Y{I8!dm;K4R1;b@L9Sy>1VYU2icH8W|r{n(XJecq6X}J-xr~X+; zshqJfJt6T(@dkfNT($bcgGk(9H3?!)+N21TpAqNd-jfB@-3ABvlkvgldS%v2ad zR%MQsl@ej#O@pJKP5b38hrg_pPo6wMrt`@o`>pZ<&_*N#M&rMkKM9j*zZ-Qnr9cKRLnKRp9ougmVIlRkd<#mk?>vu_^# z`iedO`4|)T)uX469u`{G>-HAnJ=Q){hoezGX(zL#5yCSAlC?opE~EQfiCFF|=PPZX zE!D`H$56-@DKEKxI21l;0mNfGgxkGXp>vHp6sgt()ZrcK8>x^vnhZlSW_*@@vC+5f zx;#%jemO`#v6AQ~z~o-P+j6+Apx5_U^b@3S+1D;9)z?VpEHCTcIuCEQ-Jd&ckGpqSw`dn%lX#x7hK7B5+)ac!SiWdgMyOFQ)lBK=Ur}6p5=G(R^ z&%JgXz389fF%wP;X%_Azwn9mW`4>zdNpYlAZ@yl3zy_T4IBaeZg%CFQ2-pCO4E=ibbCip+bS#8@R)e5Tf|J2hT+f*~fCkugZguxLwQeJioR*{Gb>q@P;{iy1QbVwg%6;2|)<*`&n; zv(KO9@faCgeD&Y|{oseWtk41W@VZ~*iu!}&gZ}uSKPVp^1GbHO_+7yPv&~n*+seK- z@W%4Hj}JE#M5JcRaR<1;05_PIMv@~R@hpgEK|Bj8K@iWPQ;lE^?A^Z-1Z1PEv9+nV ztC0n*k==_z)m0-K=YmfVwJGIBf*bq5jV^<`4mTj(#RQYC)bEJaeOY1PH#e^CFx+51 z0bgLfISsgxP@(oJ)m6gM<0eA9G?I$c#rnn)Qfw)2EWi8sa6>{xYPK9Z!wper-Ci&c zdsC`ze1z&ow=yH3k&UaTWCF z7Lwf7YDW-Wr#iwGGZ)P76ATk9+87&9yj>ALRUzUQxRuq8%|gU^bJG@RaQ@}T#|A?8 z=Idn_Y=BY(XINvziuf3%h;0k;V|G7%N2~}$MPzI-Z&10En$Qtt5G#UM5!;zJ)B&|* zMKIQ6>+7b{zzDzw3N6|~xyrfB18)S^tVF0(l2|E8bb1diutApr-oOS7+D~3sDob3~ z1=VRPaR1&;Rs=W^kXUnYR0Bq+lvRb;lpzL%Mkp&9twMck-MeoSHekK^df5RRNXWrT zF1fl>W_P#C;cnaNBU&^$+Yv1qL~o)+6D|5$O^BPPMW+;GW?WSk_S_1E%*OPBsK zV?QG}JKM-y^NMSOT)#oCADm`iH8BUsh?pd$#i5oPt=HMEJ>-Y5nrBgCNy=|;<^sjH~!@Td==tERyO5{@_pX80G$p^3f zPtfGk)W%ydC#&c=a*1_=INk_VN%R@mpwMg31|Ss2uf*}!zW)|6eV4)AjOn2Ka*TtUO==Ek*rmmfam4UcjvPLN?-9%w3!ywb6I9SXPa;jCZNg%o3$k^J# ze?ZiKF3R*F0AOP;xB>oLRA#`9`EuL=ZU}G-jN?w;sT#q?WCQorxCQb2x$Wzm;6}#7 zuy;}BW+n!87^ag~1N`@RJVGz;C=co~qb2td`a|j)B2EEu3a|9n{*s*WywjgZr$($M-gF&24 zsxqnAHH5$_7f{sD0#?fCk7g>Bq&i`X6>PDs6&KvRSxZuv0bR!vFrU^?L3?}8?-I1L9#S2g8**3p7%fScJjdPw)fCa(@gbboD4r*Z0Z|Ny zVnEJocf)zD=2_|-Q`MN%nm&VFV3e#HWVD2a+J9;jR}{}*AJ1QW4=&>SE(5$C--C7v z3vQ!{abHLK**c3BP$5A*yixN1-LF2D*J%l(; z2u77gv*kwDc9^XLkCmf;>=vb4gbkGI&DYCr*nkAp0}p8FjI?BhFuo2CTssZ8Z}-mquSC<> z%^r#M^XP4}A`p%DJi~=qHwqmj-lfV#5QP-Fh@93nDr+BD5ja2k$HoGGCb|MYQo1)^ zj-BBK>KC9Z0PaComf*%mutKfH5w#S3vX&xfuqdX{1|gDy zzM_vBozswK;VL@#%?8UA!Hty;?oO6p3%Jo`aM$2Qk-kR-f;nPG-(R?qG>2wC^A(H2 zSE@0#IFQ6DxyZ8Swe)oW$hnoJhd&qG5Uw|0j=R7OxGN~_jPnFH2yVDoSr0E$RWn;T zp}|T*GD($Gl(zX0>%1Q(h@OalumKMoDY}P-@Z_kz=Ip6-ObBTf2(SmJPyeGIp zaD(8+CxaW#B+i6F=TK_G$C)Og2Ct>lx5~$FnuKX5$CzMKt+fG;I0AFM$yDsF&CSDI;k=B&!R&dDim zb1r$TvuVF{ws6LzB(#B%=p;X}?>#ox7Ve*3>#?xkJv==t@)sR;fAba&xz4(_wW>gj z2HH>n8UZDZDoPQZRk&AOVet~$*avNN8QgWWp``&O)aue$PiW(QqK#;>i5ZG#nrny@ zz(=f#F{LU)5Y|}ZqH3+Z32odk+F(ao_U6lR2e`qDb+l&Q-YM(o1tI^I>b(|pxTl@O zccjCFaD*%+=3yUsLl@!SwaE4&_XcwDpomZ29nSTG7te(0IFDZTPstm4d!>wU#nKyE zsv2s9OrTx70d-WwjQ)+Fs;oraXv|)d!w{;7g54>e-zlD7;YH6RAU`0! zU)figh@C_I)$NhdTn6y1-cl1?g!^--wDGKTA%XNDwXIB}waEc5U;cqnKXI%dz@cE# z!nAD$yL2J3BWXc;XqRJWxB-mfd(uO9e1wIKz98w58V7}JC6RgZgvKgE7&oVwx?{xp|fMj0pMjKKx$is1v9*{-=-BZB3AvPK6G8wc7A5C(+ z#_FJQ!PVu0?GmqD26r892oA?6C0b1%f*bb}ZaCw$&c0Z}iHt=j>IzhcTv;0-1jGWw zUn3UX5~F+@PSN;(9zI`N*H{5NBx{nroC$86JPZ54joe{y z*Wm`!;8zQ0iS=-QC7leD(29i@W8*-5P&shus5PRJMq%c&*G+59NO0pEVJ&&oTS`sK z?>;uinjJCSn=i*5;6`zv=FBoly;T1{d+)m4#&K;6zlw%_?fs23Q1^>|ZOKkzZO2zB z`RtsW;ZapxO~D~S1^{(&M&A9*YFr4S0ir?5Bq*&Ua%2DvR9AI%uesKoa}k${iW^ki zpyI}$XXIRpKG)b`>5rcM_T^6_{ng)}%Rj!K{q+7V|9Sd@`R&`$FJDt}V{|qhJ|?sw zkVu6s0$l9`de~_#Dknjn>h1EmFja#9O9+SI)Hn@X_pyEyx1{)POKF#7r za#3gr*->^VX{exUkd?Wvk_$oBLD|rdf$Swn-Vcj5gfFzH#dbUZZ7}q!P;dk$|5&PR zP;G;18&un%+6L7&ib_jqi|!PtXdv)GZ9^MgIiF#o=%kIZ)@YqqL|ue7Zi6=ZOztMy zu!?J^r6;uU>DD%+k#!^CZ-73C=n;cb2Bg~XvCj}|*YIr)^MWGPHXa;p6t?wzJN88z zfGC;`Bo_{J$j4ONSW5ht?kz)D@lMlZbTJ#9kEg=~N?BIff&K@BUFAZoobm!K-VI}c zLFp%(;nE1w>seO22>(t}=Tn06-KU^FpXuz?D zOTN4APCEI-eXY^cB}46m?sk>q=%ww^+XdyoEU~=!sXL&BW$1VKXphg`3GufugT*y} zK+scdj+}W$M#wjmB;xqB5twb@#P5%J#IO~hYH%8#H2UTRl?*pU7Ao= zLoav2{(zuev4KKz*dC`x(zki`?tJpk;duW4FUPYy zX+p}=mAw7_a_zgvvMbv@9wo}SUp%AWoq~4?-r3g_yg!2Ay|EJApkV*b6GN*gVSN<^ zq7Ja$8wP@ptNCZC9k}JwZyCb(nbuAS4+@WyQr?pT>*5S=4&j#{y8jUVmJ84;kl*>; zy(Xg@opm$tO-fv0V_`Fu4s6N0$|1go|53#Dsu>fxAhjOB{LZniLc$vm*uH~{w71hc z`PF5DKS7;Ky{_}!S8sk~S#SyHa zo`QG^;vYwo<>+e3U^fKTOsV(dZ^43`Z-tTwG(1dB$!=&P1Ai8#NUp6>MVFy_?lGBL zLU)D2hqc7N2#vvPYJE?@T*R;-NF|482BDG?31-gnxLaQNUtg&p4#w8<9al zyQ5F(GTiHg)1BoSz8y_wmuuJR{LteI)aTdx0f9O)@1-*7@Qe^4U?{ zZ~63FM(=&5wG+Jyge6`wRs!nZpF6WS!<(b`<%b?i;=Lb(X6NGenv6b)ch?A)9i)FD z`-H^1E@U)O!y2pMI?LK3(#MZc;vJGqwqnu-(-TUv z@Han;cRc%+;e4M--3;f!gy)JwDqMm}3g@p=ihG70eUkDwF6==8{q;e0*)-fGm7xEw zL=q5}X9<}(b{VwcUI{pFTCRF}ZQeNMTQF*_kNhaLt=z#kzugaqh4;*Oc-Zn|4DWYw zS+;bazQ45nu0d_P!?E?wb!nRK;#2cwj+ZCcZs|0@x4H#Hm&K>8G})OVCw>;jaK$-; zFU}yHPx9d1Xk4Gan-0c#HpF40DUMlvcsiS2`#>L5)_zNv;aj*ylN)#+%aTbM$7b`T z{QhF~5(r!6QyZ;-&PHi+J}tWYbbdCRpVF`(zA^qjolbI-CwZJoA*N&;!sr}-`&oQ@ z^7D%qe+l}-Z1SU>4aebsC*xmVP3(8$nf*1&4`*-B+{F(ce){{@zkUDJkC%Tvd49-G zpJnpDB>zkDza;<5a$mK( z-dBz(xDVl;eh=~fr$oN#gdu(6{#}92RrFOBVy`T?!*p3Y9#xN3hQ7@X*BO>XHMdoc z@Ptw!Ky6+l%P$)RLrhpiK{<|wsh;Zw=4h=^#4v*!}mJrnc!M6kxeP*-^CZHv>uq`SP5ETy=#e@EHk7?Ua=U-;w z*S>aJz}e+>jMgQAGS3> zzmn2!flF6!{w^W<;vzpFL>I;F(pce-((Q6N_2Z*A&gl?+$TSCq3gYe)cYjQwI)&sS3gO4nTw`fpXuKvSfcrUDA?5Jb-i_3UAN-w{EUe~3<@u1oE?pW6DWTT7f%074H zBtU6*O1o3qonm>4-O&@J$ z2PWk^KYB=Pzw6*5i|xf=u?r3i?lml^)KLfbr{|%55l#a*-01AO^hLTqmj1Vkiq`dU ztOfO_ks^5_=FgQ1!cbP8vhv?hB>yNPdCRhCQqxqL7Zt9Gu-i@u>>KZDs0Xcp^ETp| z&z3;b=aIJz-TTaCCv*pY7vYDZ(7ou_4hl35Ax*E%=g7< z-W z!B!~*gYIO?i(28gdXQ>%UXaV|?G17Lo@0+Iv}bOx*a8QH_L2=4%7;uZi8x0U+AmS) zg449suIK^1?Kj4=mWCH_k&z4vZ!*Fpc0A?bDX@P(rab)9N0Ep3R%DLKewCC$Bl|`{ z!`dia`8t4V6J*r&XU(YD{w&_{>{~|keI~UN(Hrf#7yO=#aTc-0%>nH4L-!xiFMfGx zBHuIg=o8A{_|3hhWBZ^AlXw-Mx40)Xu(0<5T_U_~Kvt6|aXDb-8ccZ@=oMx>50WbM-|@hfmin#+3y_6Lh!ndSf_bL zS$oRbQ`Vlc_J94U`A&~0xQCV6qX_OzWQOaysa)XD>M{7$c#be6Mi*r*Yr{;rv3+(V zo7+DAmhpX`dF{ma+DJ%XnJzIVW$e$-E@05tNsYq*yY2M5GXUum;_q7Co1^=kM|A@G zhD#wu?V%&*2HAS9swhpUB;$-n4{Mt&`UUp8ezQ+ZzvtK^%hv0`;_^Q%ocB&>b&SFM z5|ZuGDBNc>zk4iec?#0MlAV1W(gd+f`^^7^0(uJQDWE@_4lgfCKf*^5&|7U|;87uw zXwZjNmVjQTP(_Ghl}^SR)_jfu{T-fw%b32;)OKTfu;@8sr9yHKG5z8!Zw_OZA9}c) zeK#c9ABOY^>vt}4uL&7;hSkm3OEjJpp$Uad54_BC@uMsv*r?FQ3XLOVTMS#J`F9)F z?;LBN$bR3!M;F>JcEMqx{SjyCmkY4wV7gkj`&YlNk78{ntw=ZR`(z?d&8g7ffi$p0 zsweKvBZ=l~1Q*i4{@My~Cl!K@DxyV8Wzd%|qoJcrvGBV;yY&3F$M4M#zGV>KXGS|g zyz<7t%%6xi>q^)If{sIC_qDI>7qzb+&`HE|Q8NqPeAVOt+I)f*)=4cPjRkLB2dA?- z(646g=T;Hl4UGA1SL#u+Y1CkGkslVLA8q=5S^RiAn#|Vw*Il(GTP@%H1?;;9we8+T zO=aO5MoncY3x7^oc*?>*t}MLHF{s#Z*yN#Y4eI~sC+nQ6YMGiOtx1-r&oOSl)AMf` z!uOfnP6!X$ymM9;*2O*K;TPw5a{#;i(EaD(@3ag!sik;#zZ`aV^wn!_ZfNV;&CR>y zcv4ALTzUB3XtZ7P!N`iS%-|VSEAD&7`n%?5OYC?<=->NWZ~=T?O=X!FEVkoeU_@S(m0%79QVZL$iuu<}KNIemGK0l->5-v4G!%A=?y%~+s@3L3AZ3#E}OztM! z;2aHCwYje@TZ?#gTR?VY0l)kZRX3KwYG-Z^s&1&jWJsxoum?y(d5$L47P?}~gkVmX zrf!PJgy6;%VtAfXzL@2D+l9J%57+1PGQOIH*(JijtAn>4RBBH9;fCaB_tkF4L*NE{ zM?HtxLh;gvR*?F1UKY|v$tpN;)f4E{r&6TzW?gS z%fFsH$AtCPU!3LHoAY`)$xWVQw3aLQ?BZS7$Km2)ROXtg$Si}lOHbeoO(0D z%QvF9&0nPI2EmO-1~(XsEGynrjnVLKWI|UV;2$zZZ-OzRmLA)H;Kps>MxV*ugd1?e zN2Uf+lyG zOHkLtvoO60<8eMMId-aS5Y$*i{X64*f*R#1oX*cW=xS*raXHPCUq)va*wg3ZFdLm0 zn6-hLdd^~5jB8z>(;q$i?aQA=`m4V`mw$Xe`{_MZHri%-S0MKh5vh!}A!>L?f=8Mw zW$O%^cnO)fQE02il&;lh-F;y*hU@kGTN0`IOztMsfUlNyj5~`ROS+9uv$7GqLdFYC z*TCuq-Y{r>f>%tXg9)`j{|%E!CVrg@wW?m+XJx}aQ(~~#j)y=EHjrMRBlb}?h1j*F zwn%-J;lvR1v=td_I!qQ$!zw!z=Ady=F2u^A`**QAU@S0}f^3G%nj*ms(rpltiYglf zH+m#OZU@mG5!{HpuDyw=3NaNao3@n~FvAo%OC1_%gD#3ys%+e*ve9R9H{pgtD_Z6_ zEAb}5ja{)(FVu$_Tn0VIk!O~5Qn6UU5s~VFiB$HP zC=I3C?bsV`0HXkIXr&xK>W0#ri4=kxt=5Nh8$_gnM*u7Wrs+*aW6?p+K$(bCRNdH4 zv0IeS2yQ%k>fk*E=|-wVt)bD%!d4+iS(zki)$rUH_+t><_$J&2ZuFVlO}HVM6^08} zi2DRLK25kGWm9J%OHw#DpijXHE?^s0LSyN3HcH6C?IpPJ;BbSp!D2fe05=4PROkp~ zBquTzk*Ua)ie%!X+vp40h)i`j(0xSJ4JMMZDsu2T&~8ITi9{=}LsduVGDlDpM4^yV zb>lX0qtE1S!VRwBOXM9ZH6?-@pD5hWN~;?9!V85>hXP_13g&RydTUcmG6#Yi*Nmke zgiK|gX+2nM#{=L7bQ_)tZoMP8L2!fM2Eh%28w5A{sLDPAGF3oV4d}wXk2PBSMKl7C zNg&ah8|yiI<70_@2yWa4ZbZI+a<9V;>Ai;|m4yo~!HrMWl}dZ-;l&^-DH5t1O$umq z1Hm{P`K6C&@MkT#QXPSI!#tCIu-J}=z>Q*pE0H#^1UCq75ZoZRL2!fM2Eh$jb7U60 z^ek7QscnH9@Z$_2R6-=lcxs9hF2Rk{+mWgIOztM!D3(+bI#YrhpROyFx2X;iR&c=! zXg6ScTzOW*6ix$gz!;Y)RZQuLO!dHID)Wrn!D2i1h8w^rY`{xRL{W7k5!@iSL2!fM z2Eh%28-N=~t!6JxsF*`rait9}bq;hJYaEPNlgOMCnJU~8ZuFVlO}Jsubp!o~TR$)& zQ+=9bDp#{6s3uep6vG5Jq34DRf>jMRA-exHwaNu;65M!jxWU+9z8w!h8@zC-ToH>? zaf8qXp$$SCgf<9m5ZVCRsJY>$bTn4pfkmDa0-qXx6KK5QqtmhurMEG0scyri>NB~U zXaj%`t--u47?04#r-?R#a<%tCRmLkAiFyuSINR{5hGxSg#cS1WIzk%{j5hQ$r3Z`c zcmUi0L}9`>kgy1D5ZoZRL2!fM2Eh%28-N=r3IslhS3y|xHfF4@qOq~cP77GFz#P|? zUULLDZUZ;^OztM!kW4sj6ep$lr^}^cO*XQYva-=YFIC!ZxLPLo;MP7_k#eo6?Zy#E zH*}#zEw*ECxS^kEzzt~rjqn6F2yPJEAh+=o&FV%}&PAJ4C3OuhRW8*HkFIIpQ0Xj; zbea>~I10GI)nKt54}crR2Ukj{{i(V^(v3iHgWv|i4T2j4Hvl(GHqoeBR}Rf!;e+eY z8`jjSYT*8l4zZ&4jFjTHg&Tb)cLQ!X??G-;nw7o_1UEiWxM4j5tn?LhIxwd4T7ygl zxpj4}lwOpyBApG8 zq?82X6}Jw?R4ni+f?oyg2IHcUiq(vi;J`R)XgRgp8I$r)fBKX6 z_D?VD^FpXNXaLiMj2OP>a+)WCugjcykfC_wkapuX+6}m2?w#CCxM7UPJ%Dp+D*oweH#GiZ zymKfd8o&*0Llv~m=(H(xoo%vn!4y?D9=y6C3{0ll?bsV`sM4#$YR@^Nwi^UD2yPJE zAhIPLefIpm4Mj4F`V;r5umG`oWLh#CP=Nlax4h<{8ja&NQ_Ljt{# zEDl;FeA*08vPxwIsgA5Ue92shl~W!h)==oH;Isx=_^Y!#4&zySgcgq3J#p*P|NP^ipq?&Q(x5)Cz!lN9=X7i=|{$ll#^X;c@OhqqJ;N_ASZ`PY-@IJoyupJjp@1UCq7JR`V)yA4AU&g0<-nQDR?uEt|81{o_3 zhE=j58x-1bccJRWZK@l6CU+BVNW%oPOpy`prwcdWG96h!o0}}aTU4or`?PCxReN3o z-zS@6*>nUq9vE)OXWGEiw%v{gzzqhexY5Q*B2y9EAh@Z-E_1A}KNOPbRrGpDvbQY6c?zea-*Wx8aC%v?g9jb|pEcyr zW~*y>q*_!D;W-^MN{Z1|Au#-FowF7pYG+6)egxVL`Ao6FVmlrJH(-Rz1UH7@2Eh%2 z8w589ZV=ocxKZE+OAa;s##9W(x6p0`cygvJE3IqIZKI?^S(mCC--KILH+oF&Cfr~O zVT$9TIH3~U_%z`LI%^ns9m}do1|`M7U<{XN=oT*4EPTCD3Q{e$y+h}dwq)J#8DkYi>OI(ntbTTg0Rz$%H ziPw+U{1ns6fs7ady1R|#ez6&kGoZo~w=xHRDHYoDVp zBc_A4M{hiG8LJHXa${4Yvf)GhmbAiTrttW zR4Fz#s*-vO7Z;;Cq+-8R9*y~zxt2v3=$gt48)B08XQ$Kia4|TaoDAPhhuFk=i2rSx zJ54Vq3y-Ls?od6y>16aakJtUCFs9K(sOvIfGN$S|i)8|@S#701diL9wKaKQPe}69j z_rv^8ym1lSZ0t1`$BjzTy_Yzy^YsUu z6MkbhblLvk^Y{#V>yo-+cYz z*Ej6dPbY8``}2#JFP;}U*4x(Gj1O4J#HI7eB%ih#z?P7K7)2TrMCEc~zzMNfo;hD> z6RmG#;xUv|;2vWt*yAA3sS_}U0j+~;&^j8|ROs|4>c+tTKbCJHv~e4>(Pwfu(T0Uc zTzbb!D|bR0pC;O9pbLk|G@5O24zvN9KlD=Y!L6~~w2>i2mazPUHXaylh-X^Dzp~wq z2fz(L6l;VsR#9=|BNR7IN8`));RGI_SG-BS!JFjm6Ed8hwol9+Pu}zU>+z6n9Yzc5GF+B0q=YZiXT#xH7-Ixy7y}$hCwcI0G_KFzO$XyVYXQTwe9`j5 z)7kXe2l~V^1Um?JkRR@q$1lMS+;yhuO$KAUZ(-;W!H&lJ4CYj*5_sjHcW?#g<^-qC zkcCz?{F!5$QviaWeG3G-&V&Esxc)K!>k^EF5+ZN1-0|*{$>QyTn!+rfoKHTif5G$m zY&0HCXXUQ{w$xHOU$XHDd`}BXAJ#FY*K=^#BDLwT&jfd%2ZY3oDNDSneX8+ZOMwgP zIHepKCPp=jp^_+VfY9gxKb!{U2lR{*`f*Vot#TYRqz&fMt4r{na=o4RboD0o@JA&+ z0ULm6V=W-Xp>Uk!9FNLD3yyQ49Y}^l)(r6e!OD6j-gA6v?#qwzBR%le>ur zv^5IZPfIQN_Thp3VaTy!0hybCHLfey2=u|kzg5_HsxlTd#As|x=4i3N#iUe7W}}Sc z>%X7Qk--<|bizK2cM?txXMy`*iQzr#gA*73AE;CI#+OPL(f=M=PB&S@7DzRhzg^*M!}@ zo`K6EM4t)nfDXeTwQ!cKYxjYUUQ2PbMTl4nI7W-2YeJt^m9(pZ1@X{Go{h5Ex=<>B z#DRKn4wQs_?R-lf06cW@lX6&K5_o?MKdF9u{r1pc7iiS}NrY-dEz8V1vb;JpdY^Z@ClJN=;Rnj{%ML*IsWA zi--b7jRY4A9a5tg1C$LC()A)=N6Me@3_}cei3h?jqcfs_5e00I8ojX!40Mj9u!)d` z#LTK_;mTuF4N*GhCN;%WfYj)>QKR>n+)Yd(y@weRGiC1+Cb<>eZ6^}IB3aJ(3 zAjmmj(?O6G8#FHmkVhs$MbWejz{iG1)@WLv3I&Y&!D2fe1~)vD!b(mgu-}OU*6reR zd&uz}snHQK66_$@fu_-adSRav>;NOls|1cj$)5=bHMMmP6bUZ0Ed-?vP}Wl!Ldugb z;q}$lExhJ+g5g!=T?7%#!|=|_##J0G2!xYDM_%Yi1UuGX$F>}N=Q+3}g7ul;F7$vB z-CJ2$KmotZ~*#YS*rLYaT;_6MrhaXvu4s0;rF9$*c!>yqn;~&KrciTQBqbkjX_0G5V@r_93dit0&BIJ*& zA^L^KFlj_cBXWj^{=@s@8bB?B{?^cl)F5dkSXLE#&MK(}&8yHXK#RiH*$NF_)|%)(?xcR;Y8+P8ie zRI=DBhryCZNRWCr8O=&IZn|JS9HCiYA+;qk$t8XIEmOuM5c$)eNFYK2k$Vz|$iN%n zEDW(~g|Y+-kW&bkpqOohL2W{MwiA1hN$xeX_~Iix9rl^fPOxvRM2^%I-Wio44lP3z zh;-|+Lz(eSd*^RPX>vZj0e6%bXH_d`t9z&;7+r@@v7|vN6tStCRi*hx)WGi{N>&_? zR|kE&;WxeaCx^?>@9@zs4lRNA@fh23Ggw^nhXm~qd~0NRr6iisBcK_PvVkZ@L@^?Y zQJ>y4csOnp?ucS^XrI08LP8LdDs+Z|=f1SD3XC-uGUwU+TfyTfk(nJa86wK3?kmcwb!A<&KZefl;ec1HSf{<_ zXZUtBnO&}3Fl)zm5P(Zrzy*~-XAO@x$gVSd39uKN2D?w{S|?Ba_AXl&-M8WNa>GEk zbFr?J6$Q3jMpO?rT5@b#!G3~jrUr{Gc>wf)3R^mBwbukaJ_7XEuVliy-?EHAu!CR+ z!485Q1UvAIypQ(YMtEs5ub4#jKs8xb9<-$@pNA8TNIO`1>m|^Fu#B zOdtk}ZFLwX&`bzalO7W$=m5ZDRxfnRjkhmDd`BirWU@qR22wL%7Z7B)AIPA5PFkf> zh2T&#m|8*CU~|=gg_9BMXr4+^{CG+cdsWmL;%{a|u0(Rk^M-&f%37iOg%>qvNlG9j zoYA~b#;4HkqVot|qL)5vyNO;(k3X#qr*;?nDk0l|V`nLFp&e&6q=_l{7$YcG9{x_z zipu#2@|9`05CW-m`xvVsSFI(sw7U@6G_pqV$3kg>JA=uk#fPuB$RcpA;5QcvA*w6- zSaGYikOWunl_R(DuCB(^fqNgJ-35Q9++eY14}eCT4LIaBXsSWbh}c=~Ml;JH?qZ`b zLsZ6F+bGRi+o*ADHebr`FIF#+xzyAA%X~tF5snqd#M=?}2@(+`B1rV&`8^4|dF`^S z6@mi|VwO^}u7ZLSW}P$~e*>85lG3or@xpqHTK0ja=-7K6V-&1Fkky%Ue`FTZrYOc0lbT0|eLK?c?$ z7fX#OmOhK={A{?{*&9|ZVLThv6wlvVJkOJo@K;1ApHqezY%SqpiAEHnu8j{#=)fXk zo~`t$<84Gi6slFZqR0An;e|F1YH})95QPeRe}!E3T99qxp7q%94tQiO!d!_*x)dk) zMcsEJiWZhE_DXM9($*3@+PrX2O7ErN-4F%=t7l-@n+2rH#`p9$>-`Y0D_Zq3?Dqrq=dyYlVWmWW$j2G5(2N^n{ zhGsUniG8#`47me>SWB+o3QVjY-{B{PXp%BASBzVztF`1+Xt48ylFHT4<$G0Ves{nX zouvM40MXhxT(OouFSH@WV6h#0!wpm*(Aq)^$w%EWx?NafE~9cGF7 zggtXP8)5f+@yp-DH($T_^$mOV(@CEE^5+*X?~VBsOe26|LzOJ-q7?H@<&j0LSXRb) z1J$%D6l}s3>CI@Ir)~3uZ4BU51)|S{cCZB3-b&8MYxXu&qhn};Eg)D38Ln$A2UNxUYo?zG z{!H@0Vp|=C2~dJ4TJ^<2(=-`f%+NZqRjeedR94wlvc^v-7h>g<7nKi&G4vdTLwAD_ z&ndj^5xo**|M|nepN7lXoAb%&x3)WGY3~>iN}P{zX8XB7%ktExsc@!R1JxR+))y;h-w2KMg z(&rF9mH-IfL#(7jSV<)zb!*4gZ6W907_6&qZnBZeW>dju2PHdW0IksyvTBmZKIG_Y zUt+~OR1cP6Uni>GJKE2-PQV9?ZFLwX03eWxSV_c63gof+=DeOxa+4={oHF{_KfQQY zs-SH-0RKkSgC8#O=y@~3oNO4y-kklW>cQ*3{?vS@NAJhqu&+l&cX`nKk#73ls|PW} zMi}NR!|PNjubaxTx&d%dg>nNsc3;w-R6SU$9_*#VEKx(B$=yT^7R>><22%{PPN?D2 zWF<+*8)I3hjIS;FA0#wIk);ztjxq@@Mb^cv;10NgSV<-S{x+OmW&|{4D{YEY`c)vf z9W1uv0cb7L| zG}2%F{ki<(``J(L-}0ZQKbYUX9sTk(;fgY6mlvg&JUW|%@!(%`i26ToayXs6NnsXF zKTKx>kh1W!dw5ooHqyFm(9VXdV#?GMr&R^wwf4ErzHXwD7%1V2HC%BcE2+ks(HbpPh6eQN8TiZcG%)>NP#L4x&GS{C-h<^aXnaU ztHUq>D}p0NnBb#&CEdlRl~_r{N+MPgv66_Dgb?B$ypn9=K(Lm!k^x=ZK&P-sdvaI` zBMr(u<4w@ibKwwHQlAO!Vgk^eImi%LbE+@gRA1Nz$Bu!Oq+PPP7>x;N`6|V=t(=4T zSY5+OAl6FwR?>cl>H%SbTVR64w)*5T!Isj}aflZ7mSxFSmD)LU7%4r;<<$C_+Or|| zPEg@~ph9g^QcVMFkTo=zLfOhk5H}^#pe~sjt&pho^9EGd`}|wdlKM>UCTuVuT^ra} zm25M?hMQo+-etfH-dfnOW)xHwVw2ReUo~(Qy>;adwQhjHRb3_7fD0&4vkOqgw*A)Y zpwa(F6xGljfW_6XFXRh%JcrL!1i>JTo^Qtk;D$gKIcJItf@nz}la@p!2x=3D+u{b( zop1%Ui5uK37a_UBy~`a`wt?v;K;#fWOA?K%V(ok-Ra2YBMZsG|C()Aj(2`cd=spwL z!4eFu8l+)_C2m7YI))NN<3+9|WDAf(Ll|vqRynx$6tg6>5fcJt1I5$n4oHDY5Qml^ z&?I`Xtq#Bh+z(7~iX^inGEjA}IzZEQn@OrbQU#JK%t)%xY6)(KYaf$T!D(KLP*;sW zg+WPR0xwuoG3(&`sFkylqzW6ghHc!Km4T}6F`->dz_m2SQ?KURV1i>XP_2`VHNy^a z#uTYS&{fbN`}tZm*}CMiBm>oLMVsHzKoyu^v8@ik1f@>ko%ftSraHlv($c3-OZx62 zPv&m3e|S3ARkpUXmo=yg<+(k5HXNRXaX86maI}XwaFPe_M&tVY-E=U{vo_G576YK= zho`gYwGZ^+I}ltTxIl1$;KE#b{K> zN(f~|e$4;6gwJ|;I;7JPo&}2+T7z?D;AL6Yp|WtHsZ^tK6`?Mzgo!c-ZMfGZz?>iW z^5S`2gTGRq8paHSR0Hk}{uFA+S%w38dH8()*Vlz#GAe%`PA}uigMB*eW57OK5@b#$ z=a(1LVRQTJ++I4)k`>iwT{lq+`r~TkPf1`s-G^HCE(5Nf<)Xj-Z~@nzEBl^pR~^obBAqrD0Vp%IkN8IvSx2n3vg(}2unIHP(i}N}^dxFB#f0x0ucibELNw8;14;K6N060`I zloSfBbRH8NTGr2w0|RYK7ZGiWXj8cR+%8@uIR?ow5L)(0Pu%(%TUZ11uv@y_HT;N5 zB(=~c3A9RzK0=NmOYiF7>MAxoItFD%@Wrt5crecq0FSNDyd~J^Goc-@ffz)4#i&HG z4{U6mdR(8k1{gTD6OrykC0!`NviB@-Rq+7Pw#orn1EviKRMLSHXHh39?5;aNiDlS# z_-K29hE)W=4E?`BA^_QC+=~D4kEcK8>G|a($B1LonZQ> z1AOjxKn~j$s3#^+gT=P$jS1K@?FW`=Egw~jxh*jBIMBiV+yKyB3a6)SKi(eC{Kcud}d&r@!K6$!m_1$f$yOz zNuI!+mzAy`x`MvrJ>*FxhC{_>npb*{K5N?rE?P;g+9DEZ$3IQ&_+ze;bgLMsFHGje zkW7OrVVH#B>+Mph`L=L((U>f z1RPSsIMz5_A+e2`gmJKc5{XyVIT37aa$wZ$dRutEs*3zBm|(H32oorkRd$uExhV1? z+~gH#w;m2c6KrZK9&3oY8Pp8{ z+?gt6!*iBg$+`qH#8_H0dfHNle+#L|bl7JyJ9t2N?S()Wu+Nz4s2( zTN)9}CAcE@rQ7Sfwk7XLT0qhQ+yHJz%cek`qy;1`c=7x>cF;YLg&;JpSwuF+bEA=U zQ~`~mL#{Z}wX0J|wk5n%puQHUZ++%1r3HN^bTe2NP_S!Qz7+O3CGT%y=xm*O%-TZ- z?A%A#uENO}UErYDP3WzN$Q@lAYG~Ba(?RoWG0X=J*r5V|W6f-oTg~u1d@mwi+;3M& z^iM}xAY73aU|Ssm2}+X&^lWFOHvXu6qKVH#kO22Tf&{qLhFYMPk41AW2+t~*Mw<$q zL|K)2g1dv_Hs^r3y0~mrl(-j3Nsxdb!M#C(?1T@YK^VgoA{bLQRfxt{qV|mu9zBe_ z!SzXyU=Ji%8M5}7&@Lo^Rs+trq&D7{zuyK4j)Bh;MJ+?X9Uh7s+~y@@9f28DdB?0z zH99zia+@beu-Qd#1w}r7nE;Srv8@ik1kw+R_Y~>`i-T5fYOQ@+A44^)^Ss+odql4y z^nd>F@2BAser}V|Z*z}P*gSW26g7NHYTT8C4xL8aM+2 zlxA&BC9Tj+R=n}CJTj>^aF4YCE(eQkbpR$1a3WQRUl?Hm;tNp&=XsD{B7DLGmqp*fkv0kob+Rx|f~DUo(n)?W@hGb=)Ps(Ch+@6sKDmber=xFSE9| zl`zvn>rC+=n(&(J`>u(1n2~3rS+uu z-B%+xR=$u*S-M7|CxMEn6KKxS-vfVZ>bjAQD&3t46BNXIpO`=Z6SUjv08Aj+K%ij@ zW18v&x2+R&3wh)RnlUMZ>(S%9>GZJh#K!phbUMjRp5$>VlAe-?3nTLWA@3j350pl@ zga_^i4{$4T(XxQX(FIHLa+BQp6BUq~ube?xhzEGdZ>|g;VtddOl z5-nkx$qRIs7ieeNF=G$S7m_igC|Is!Q@np-g8ZgdqB1ts9__$$cElGdSN4740EG1O zEp-46Ky5&xRkNbb#bht!s5U^g0mPs$&n98~VO~@a(TuJJKIL`|Zo0M*6G2 zKbL=eKl|zZTmJL(2lLyvqhG#${nwwG@AT;X_#5{1sL&raNMqO0G1UfUBV2P|{PH*P z&DSq}eZyY;bdo2({Q1Spd*chC03aa|s4El#z!!3eV|>hYrE42?61=gxu-XX=tYLv| z3F;MJsLzCM-~sKeRv>L@;tSoTHc+^!4~_{E(`cuWv3UX{IB0$g^9YpKJZl)-YItFT zVVJ}hx-U$?{WEO`i*0oPCg5zqIc|fNw8X?0B1}M-fG~mXaG(eitkIp`pPf$6!^Ply zax#239SW3{hxp$nws}N)VpCgC88mtW6ncZIYgze(reQUZfpZOO1TT>)VS+uFVC65= zXF@xe0G+0UbiTM!QjOqH4Z$(^3z?`I7m`C~fS4h>D~56)+f_+`amTEYq#@Yehv4_p z6&Flk28(TV7$y)>OTjGhg@`YtZ64yDJPI>}hFo(2Wi68>2{De%=1X%4?fg^Dx1YK( zBT9UsKCu*Oib+$9okn~i+;r|iKM-tCiDyyi9AK1KLkt;(a#dy`Fy)$P6V(Vd^aCB@ z%91bCXEHljKxyk>@T3U~G_%1?SfDfQn6Zbh4QTjmNXeSYB6O(GlNI(G4OGQ0qI+=g zNoPl`2g;RwpS1xsSZt{SZ~%kPD2S5i15G&Kwm4v0?UZ^CY*kJY79cD@y$5d6Vw0Bm z-uXi4FQ7T3j+Imp6hkZEAseXC8w0k9#vslS)HnEY0}E_@<}L9+p9$T>1CDFKkdZ8M zQ>qQzga@`x{SjaS1LciU2}r;zgZ{xzqe@_Hl?;nY8kK5Q+HVtI=pHeF;)BJuIs_B2 zfz;dxLH)=+Dqo0N6cZ-E4RE7a(vxdJ^#Q66P<`OuGz2Wj?3%zT^c#SNKr-YuxvVS8 zZS7MEF{na*Cce-fzR*fT&}Txsm;hlTbBz3j9;=2RyI@`5zRKPMS_iJ7Ch&E|Yp7I# zuhDsubj7%j+-IEtm|(H32oorkRd$uEIj&BJj`R+-tjY%%DFwz-kj-#eYCD;nUtUay z&Fyu?-9jGu3z5GN;epbff&50vZ?ss~{?D5nPG@gYn1$01)7b!awRk*UKDeg10pkH~ z=}2zohQlbaI1L#E^YoOHu`&B>72$!?Z^9ZL=sfS1^?^QAd~^ldo3EOvc+Te@zGP4^#!xMr2+Z@bTWsZwlMsEkRV+p&-;R}}g> zc*bBd3bai)VB1{(j=BNq28%6q7!Ke2Vlx5ok73wXE30^eQa$-GvJ{kJ6@#G>u6HS`7^JVHlMbDPtjA@Ki+P1(zJ+PrLC|UV zZZet`RMScB?*&kcL$P-*CS?G#QN~XD_tWVt%r2*2oYw`reKE;l)~b!CdGdCY^7?KT z(ztA#1d|b^OO;{XEas9kjh-1sZSMQZ0FXO9rIO_*rjj40e zi?^Qq*H^D!fB$5D=#z3P&z=az|GNyPy<5H>o#7r8&e}e$jH3g*z!JS?`Wdv&0{5DB z-}QwoI0h}08RM`WP>X|Bx1sjF*XK@zMV#|;=XXjpkF^2j($*_@O($k6hZcGj)E6tu zO`J{%!Eqy;jDDL3=Ordbm!776!f ziyCDRJ|5Wz+UZe+yu+8SMOVTra`HmaqWtKA9}A1s>xl z-sF?>$%pm8;CX#E8jq&4lBjySH7MHn1ioi4WT{2upp!I}kl>Uk4g3{6hbR?df+h-Q zP?^D_`_q9eD>hZ1wd_C^?VMKd^eiDMLM`ghu&YDEHneyQj;u}1m1qzTHw`?Olwk=w zSon%NnS%>iq7I40eWZ}ZS|$VpSjbbt{uyl$U z%eQvbK?=m)lzI28aEQU;dOr*ioHWK1F&~nnN~8I+K>xScpf7avoI}rz$MPd$ zWZ7U-a7glU>5&jk06tM>Q*mDhmOPB9Tv0|p&hkd*al2$=^;yR*MlcqRHJ(Zv`!GUh z+HnCrv^b>3wVYkDl@YLuQi7?D}nO<;2hfK9%TWtXotM_&xkgG9ufXK&TVu`_G&mDkMB;01T#=ZF{ z>l)wY*}L<}KZnpnl>dJ@p5;jsQl74ueD_Dj+C7$kx@oly>5oTvP?QTP1;Q-2%?-{* z>pq+0JWI~A5Fq|qHfmoqwE%yP>I?-ITASSi-Fp+p3)(#}!1? znN>m?MEeeLe@p=~vB=SCQX3QdHpbXF)>SmRfBCv2zPqvnk_;b`R}k=9NckoFlALV} zYO;08T&WmXm@mc!gkJf@c?}}y(|`ZtA5V)U694xMe{Kw7@%|t1XH+jfe3xtP&%Iom zcF%R6f#z8_Sq%06AO55L&(kRC5VC@hE;jHFtQ*_{BWP{T*UkmQRW!}wql?omt69_` zi*L$d3aQWHy(<+^dAH0ZUU@s3;^U+735rp(<;1?aOeyC&m$@sGxZD$ezFbWw+!xTs z5m;10N&_zjxH3eI^^DdDWmVRO%f->7i!aW{&FJKEt}idcdG>!cmU48F+RyOiF-N~_ z!_Cve3)j!#_#o(8yg5*g!94`s!1s%ZulmR(iSk_?I8B z<3?%mY3Q}ac~;&k3%I%(KEmdDS!!d$_KK|YWIF6TMTT!jlNlW37u#$){AW9s8FXId z=P|7IrPT=kQ?6W`-C3A?CTgN9jv_nv6pR+ligymmXDBY!@+VP3$d9?98b%6{HHy| z8H{Gipz)`BIV{fbD#20?+nxhk-Osi?p|9S2z%1Azb~_*o)(R4-T7M@m#cdfd5+tr! zF5t#LIiHqt04&sol>MUY7iGWJcLZg>9^6xr!yGy~UYFL9s#1-C^oI#o)uLfF*UZAF z0FV8x*{|be_kO;j#6IiU&3#Faq=73m?t936EsRRG1(R1{>heSPpZhx0M}O3OeXi*OwIDEoso@Tf0!jw#%o$m-bF|vww*g%&+&u;KK200XIAwC{vam5G)o>$1+Q z^j26E+BeOKu8`Z#v96-g{ma)K@kgkcE9YQG6suIjV6~LUE3cElhL2K&x`Cx(@kBzg z_Lensh6+lldVS2Y-eL8js|9XrL)-H6g`v6}=(Y;0x53*QjEM$Zp~3?PcZlI1JaKrT zFm0_x>9hRj>Ed*kWl#KTsWkn5HFJ|)9h#55!RKfYZP=%@ob7YR}A&s%wuDtD#1x~YyQodM|#2&xiP{f2!#Dzera zGbmJIeee>iM2}5Z0ID-EBvt}#7lV}y_Tn&d@-8YXA7P30^Yj$&vzD6x72Q(NHs1St z0;o&T@r|{_<%bX@E{(nJ$(3(c%(cx2s2?od@r@-Nu)CPL>mW?XN*>V8$m8%7KN3|k zcZ0>XegH%uFYlC3K7za8CQfKo5=6%w4yTFen4K{3{n;rw8Ih9_IT@XPn6}nth!-v& z94kZ~nX4OH)h*jLS*2%}bEg{WA`gbSn-DKceZ)3o9 zZvp*-4RvKrhAv+x)rg|SUxAIsr$t7gy>4Jqj=YA3L%(WRg)RfWv?od$5?2#kfxP>* z$Xl0jA+tOh9r8_s+@?V`8r=&-R#mnVUJMFU1$3a2mBfwRCvSbsFuHya4Kg&)fj7=n zHHZ?pG<}4KypfgDy3yKc?z3A?|6}&;-nwMB(;pwcnpXv4OyxmN>sM~vb&bu_dQ9Ux z7M|Tg`o-E@eQrDJ80KTM&(5^FNV8ARL;WJ029N|NFGBif9@h)|^Y72kPp`b^AK>1y zKD2Az*QXJU9+;HO>S64TdEF-a0w=NhFiv-FQ@;MqFURrxa$J8KWSFpb{h zF`?fVkCo;+f(y}P*f1hX@W_bzpL15T&x&@knie@C!+7B>aa`xtY zGWxA;TUzu~A(aNEH)*mq91)k#j0dwB*ci{Y>?OJyQtpCs7nHl8+y&(>9!2hg8JG(M zi3SRpfxuLFS&o@h=?Dsw%`RuZv#;EPbch%g8U{tHmeSjfDihVFLT_yT zhVXu|9}Wobg&%lswPyU7!+Yo;X8CpLYCc`9-Tepk>!a8f%D3;&$|xzKr-+^+dWz^N zqJI<-y^x6;4-G=nHEhGALWd|P>&n+DMx7e#dFu)IHjihUA;;$s(f5DwEyMXfGujR3 zx$@4Lds0L%Lep*WR>$+HJkOVLavP}LADZev_c)W~8288WYhT-I28QbgbmDejyTl~; z{^+WXa()Q9@{*yG6;C?E44H$r_?ZLZ_O+i|MSPuTy0cE}qde9aeQ}W=7^7?SpA<)( zg1@+or=#@p`vs}`K_m69pciFeX$P%}?=!Et;8<7T!uA{2W5|TRZ`mv3sAX?Zoa}!6;oCV)C6gS1h($EW$xS zeCPZ7h4S6QIsv_^MTTd#Mn_@UKn$9Bg{Dsm(NfMbM}dy$WqTbE(06|Hkg$H&!5H^3 zCE)pBu?r3h?p*=BULJD-ew~Fl9d0V~9*$>oeOzln{}mzoG+XV$eny zFwPt6P?KOV-EmQ-DskK`WHH{!2bwP3IDkWdO`k8q`CQq?6dwE>@_cb#ulX5Z;--1> zc9imu`CpfLI%~^RO{#U!j#n_23h3htry(CQjHf~{UIndS)>MMtj}D?1E(_b1^WzvW z@WEnR9{{!FqmVN6xg_qh3B{7acYRz0wf^vQ6lNgSqW1}$3*pjJC<5cyY`!$_BRKz* zLsb-?y3w0|y}Kd)KE3K~SiTuYhtWCy_Otl*cnFE87Z5ojIba8_=nFN<~_Q#`r|aM{8O#^64q2HYF`(Pe?xKKSH^xyXLs zif(pWIFG+(NSSJ|NvN?Rb*p#`ehtzF6u>E zZLCOeYwa<3Q<*vszL-+s4Da*szQl1f;*n!DpIOK5f=O2WK(%wd)74Bs&riP?2-*yByCG} zcV66C&*Db-vcnaHp_e@vZYl?yTb*sig#hP1dY)ni`1(YuLM?`z4*M))2YfIj;;dx^ zJ`M#RxP1C+N3Lapabyo&#`Qxw6&jRdgf+2&(3^qHiR&8MHP%(FHMiiKDV53D#?>1(_uyjk4Cj?}MyF}iI{FdFac2#fO4^#WDyLNj!wr%}d|XWgjU2YbB< z#_YqzaxS`>pKD9K_}Owv7PBb)Yw=CXVLH1kj`wrBwQ?QJMsqK@GSw)ry&X;Q@zMC? z75XDAe`}@IUmUsIB7eSIO?q%iM9Bg&VG@b4h~irGc-nCEL2*%Nl^eM@x|y7h;e%Db z{QiscaWgu(oU}u{GUDI0;(sa!g0#HSsw}>6HHf>Y(GGKkzc$zF?FZJb%i*pQz5e-K zXZ3Nen5&8@ChL}sHnum=`0@kRY1KhvgPFSgu?JY1jgdfqwRYRsu6e>}|8u=H1~$Os zXby38AufkJ{L70n^sipO{{B@tvH!cU5Zux?qpZ^Z*?o`QY^8C;ciBU`f|OHv=nd9g zy489-z_z&>O`craGV6D=s}JqF+Pa@yo!r{({raVP%-2`Xu|0<&o92y zT&#uQvh#BM&1ej>oi-}bbsyuhRwoS>7m@#+Re%Y%+>yk-3VszRXRy zJS`(CAL`zH@#0ahN_WK97G(3`&@Kh$D7Hc4F<)-&Ag9Awx@ez~-!I1epT%=>{&rcN z%}3+r5oKMEbx-X$$ui`Je(qst+c(n1^$k1%N|?M2r!U8FEju6AS6gv>c^32JyQW>b z_GPi$i1W^7%cs+76_0h9_C8it;oAm5v^}%`Th1Cct8PED_MNLkt~$FR8ho5YM>bgG zw5SG{Rd$uEx!Bj~>@dH|t7~z01V}YNssU0BkZOQb1AG)UKobILW(M6bbFj$DBF!AM zU{#hnD>SASS(JLhBcm&RmUX~BOSxGGRNgZX@@?VTlQHxm0*-kp>ilw&@_rAwYk^al z>is^@*AIF0b->A7YZb4mc83+7w&WUC&}}VUxR%K8q#s(uvrGkjw9*o=>Sm4Xy1iQ& z<^v@=ZdvG9q&cpxzz$emoAGXfwmT!;#e2X>xjL=gAm-3wL7UoIoaG_u#2r`TvCqzq zVPDJsoyI?HDaN)FwLE-drbhJ*xz)02dsC>m@*Zz;v1Dp+0_%w{q!aPtt+I~YO}I5# zhOgK7Q+~UfGQ*2v@#aS2ZPz$=rj8zh6wYAS-v&3ITt29KUw=4Wcy}yo&*1IFbV?CX ziilD~lp>-O(W6KaDFH*B405;x_Yf%}{KEyIE1nYz)=1^_PDSg37>Mqri94GbmboiU z)KMa78k~{T_}46xP<3|6MWFQKr-|R<;k%Tq_F2_Vwg~1h;7(BAf$2JH{1%IFQ1Ynr z{rwV1-NQObBx973xsFv90ZqhI7O(}gyh5LO5$nWi9*aQW05W;!M-L&C?>hJnq;iXX zB{@bgrm>|#Dz9}FLIctc|Eib7`>Xc`a}NF>ot|IT;o@QteuI0; zAf2D#i2t-1lp9(8ook{Tww==P91Zv`X4@O^t=_}-n_kAk_P?AWmH8Beo6GBdTAg(E zM{%xVaFm%pZVmwOf(@irS|78ddz@$Q&L{ue(P{DiyY+1!&)SV-Wq3g?xMvs72)q+` zC-6?-{ZWATb zJXBDw`>N3@iBv1*Ou`u*KX^arvAcxreb%!B+qKv57Qf7o@|e;-;8hQ zgvnin?)F1Fz&+K$)Uk9K$+lQvrv#I^rmlkJbt7|dLKUs_0lFZ~B5e0C*TS zB%2#nX{o_aOIcM>q+IFRdh|64*4g6p*&D#Ghq4P0_5iSb`(*8ixEI6R2H0f?if1mX z6d|lu%9i`Qh8uuuWJ-ZK=Hqq1ej{?+I;_Rd-y71;#cmnUp5c~-+q(tkw~)MR!#Hm| zl<(dzhBVFTax$8IxUR!p63_pc* zN-O%`{D=^hSh5o4U$SVU`TZm}qxblNl4;rUMK^scAP+KalQ%fFJ*&k)E+(V%a*36% zh2chPIGUi`qr{(+07aaTjX6seBaSlg%DV9-I z;bK$_-t*+ie__)9`yQ`N)JAXcRzI?(9i8J$>@GZ>CR1<0pUn_K&X@%dv5PUEcO? zeRsY71>0_!e;Z9^m*Mo=c@A?ijJ5l9?_+x1bB$(f?{&R-*KJq(c}bf81+2lj-ZM`= znd^AZnLVnDx-8O@!tHz#!)X|&U4g^(>vA(DSiZY<8SeVX?wfLFTKiqw%ir#OIUgKE ze3{1|a7lj(*YDO-Il2qBjIzDoZrq3;?4G;4#@4RyZMWIw$F5z97610I0KkhPglo7AtGXMQwNv`C*hhR)SM!cD zdaPIU@^n`BuWRav`W8>XBZR%ZvBg<#=c~aP4Z`X$|xIsCh(su&951VmzV=uE_kl zxRp&;m74o!53P@4TLq(ie^y3Gx*wtr5p{^DLqr{V6x5-{f;2B72av27b{pGNUPyRr zgFqhzN1I?7Pv zt*ByRQAsJ2JG4#2+Rv?m&BI2yIP4B&Ac6kD#)<}X7Y;HII+#?!pk235@H#|`^2V8Z zKI#2hM6Ad_?a8$<>H^d~0HR)>;G5&<#Td6CxnZrPf|lzNr})ZaKmC2#zn z#|u#BH`-4Gpnh?Fb^&NQ3~$5eG{n&<7&K5wJp@YKIh0eFcfSuO=qz1r40F{ygzzfi zRl=);R|&5^3cM-;%c{2M_U9yoAq+7uB*NeWHlE=fVOT7#4vz@0){?_{1EEi>J=E*W z!ltzjsY;M%hdO6zlfW4rFJ8UN(|3tn`z&i0xxxw_$hFMQJs{V`X_g<`joX$V0{&SF z++Wt{V0V|6Wc}>h@3IOwr{!pO+nnzDfnF2Ri4sfLwNkFMQv?YcOAML-o3w%^0DcZG zdTewwkgIJ-999nat<^zAcfYPwztY+48fhO$yXV-OaqV|sV}OO0JW6@JV`+AV^T;Fi zw7?dx8G4t(o~8;J;3o;rgfQE+`>U3F+h+OdO$=+RdcPe|=W_k->nHzJdY(L)%l)5x zabD+VPXuHCT?WzKI!pT-w0%Fjz_lx22>~ySiuu<}KjZ!x)1?VR*?9zI)JN{Zu=Dzx zD=x0Vm}#C7j47tp#S4lQ`+{H$!5D%uj{?THoJG>iR4f&{y@VFXE+$p6Itf>+sG@yj zFvc+HkeSbwN8thHO}c?v8QrU)Rn9f6rt08}hW8P|m_1M4C4}j-q+1{iZra-U65b*3 zIz_nka@?Fx&RSVyIK}JB$h_@LJP&%;Jf_w@@O?4fs`F%TU|fFeQ9+nJE3h^P4+mdr z1A#uPA9lRTj>+^Th0fYlX zjlkLlI7?cu@MKHHFj3&~rmb_zX5=MoZoehW@GV@Ue(lk2rvQ_2Y&KuY?+d1$f6Dpx zQv_d-WH1C@#spsozB~%}!WwN6?RbO$3`9Ey>oJ#2t}McQ3j!YQe}$v7wF>hhpNz(f z>?l6d31-^&{~vpA-rUBOeF^?Q5%V1wis`BD2`BLOg&mG*sVtXOF0YcSWcP1E@wTMk zA^{cvYOAR4KIbI>k^;CSAX!{=D{PlUBC)*8m$>KNv+OOSq-t4_!n_#B{XS$hPY=UT_`&mO|`IjtKI2Ig``GF9E-3Bp`jyAyZoJGr5J;Z=_L-wt6$aQE;2a2=-$zD459|hOP_GWC&LlM=sE{42umD~K$VyRP*t>5 zUMv=butWyqanz1VT^X>%qep~G6O@I*qc)vku!rzpp3s<8+?G-m9>*u6N>tzsI*_lw z{@Q!{^&|VRwrsD2r)W6hrRHyk=`f6rX2X><@dRV=7o#JjX3i!HkGIWddUJF*n}p-R zWO^`sJsV;Gt%vw${VA)}+Tv%+Pm~^e_U^0aBmK>959Q-G^XG3~@n2^@nRnlhUVQuP zm*?#ddh}-e9bt((fh8;~EJg9DF%nG`Y%gP(anuT?h31mFvU2G=N%ERPrn-o>E92+$^0dZQ{Q#7 z%G#X?onr63}qvzu;h?99}=hZCYWSI|%5@6~aO5CtI$Y^pnfD3F6;wJvQ_lmnAo zz_2+YL#|;33fZcP=B6ed-m&S#=N*aC=bYX!lvtKJxU#P3Zm%AMcJzwa)fHWTyg=mY zO6(#rdJTd*dz+VIh%2AD*K!QU7nOSy>4=vL{jN1`mJnsJgb&3sUE1nQ-7E@xno z3b~Zw0}!HrHXoHv_g)|UUUUThzW={3%py1o!`OU^_l)As`xe6faO>oUYb+C2=5*&C zwr<&cKItJ}8oE$DY%fS@z^9u}(&VtN1pZwQp18_B_i{hUo&gUZVP&@pGB~$}SADK? z4_jaA_k#kGlOs_Zo-pGqR6~nDM_Mh$>X!E_C`}Vmw ze0jkGIXvtp8a;~8^fHXc<*?$wA8-#{bSNtOybdV{f!q0T9R4~T|NeApe;Cj0?@_)z zdUfQEe|r1;w{PG5_|4BJzZ^WoSND~(pXJDh5cudgw=!bt>GJ~& zWB>B#$)ksLPa`x5zvcth-Bc&jX*ulfk6neWtd_o78<-ZgMfu7<4(j35fqQLzjg}UFBha;z7{>S zPS+ib_k9M^YR&hd=sS;RATc7d@Zc1X=gCnRjq3;eTZm-^MB5OTR{&7ye>(7b5)Vh| z$&VFqF982{-N<5zT)%pYLSdBZqyJOy$~2AqW2celEDvuG2c3Tx=Mc~ZhLr?=$fSKzQhQBqudWEfBe9!vt4i=9mrLCpZm&G*Gd5Q5b3zIA^g%sa z)I8gOopVpy59XXdU<2UXC1dsepoWkIE{%ElW01wqWie5l4Rbj@oV=}UzMHVZzW9Bl z!;=|e5INxp!V!cc2uBc(xDz-+s?uf!yCoJFNXs^uCKg{BS!A0n%&v7ejJa@(@_3wo zF8?}#i|a)N5q^6k77Lgz!6*WFC`0wta9(T^A@l-MGfG%Yg@8#4-tX-lpI&sUQKmc%bdNR%ZDKsKE;)v zcyRF{8yKPIptQ#jW?RRvyVXjR9hSd8^`0NJ_z%Sr;8S zi^knSdxg&gN7x=GZv#g#B|Hdf7I(u>V90h_gw~h4)K!{r#G)fy8?dL4U>m~a=|Poi zRLM-Q!r@6R_4v^* zf7#y)IUF{}Zy``0@9pn#X_+x_`nPRBcB{(Jp@T2iAmXU?9s$nWw|mXr!-ciN{O$ga zWm^5s2#K z7rf_>^;)M(w1=$#8!-6)?Y$a>y(?b$$@gFXu;U4NHu+~+xt8w#Wx)d6o7W%iwbRMb zUJ9tX_Fj+XFVR{I_xKdkuk;RsWu{TANT^>XN53?06D z8T|Xfi)GIY#u9rE`netKJ*X~S^)9q`J+1sdAMq3XZ8G_1{RFtM_l_rk)ALa{TrMI0 zGKJ!C|0BNK-CCTlCnspms&fmoT#}D@4XwVl_h!c>!6`1SuI2jTANPgkC)05~*&CbX z5Ldy;@fUlwxip(~8|+Em-;00x=j`xF{Kr3o`!&A#`Ioou)!*KlzkdIX9liV2{blm^ zADSsb5HQww|}3i^z7hGV2{80O?-RsuX3b*`R2`&S^USN z{PXwY_&YAygr)`jz`C(-aK)${_|wqjt)+y_3ba`?E8CjM59ek z=3l}o?~6U$gh%b$FP}|M$`^YHV%;ylpNz}twR_!DE<~6!+>^iye!YB}qwwZS$$CBq zntX5ScG>&WRUhPWtrl>H+*>|;FC2ijJe%)5{{HWKh!N{J&HH=xWAuF8X_?pi4&LjF z`bWHlFVz=&kazrZ(zY*JH~~$jU$TMwqI<~l=U@7>k99IVJRC)duP6xhI^Uq<$>b1= z-W3;h#mD9KUX7`Hx_9=Nz5mYtM}5^(!<_IAqN@5mcly3Bed5(u=OEz zZaC`}Y{&=vLCy2qfKGAw+A zuoAcudLHt!Af$DA?)&P(b>74O{`3pJZJUQRjr>n|iA6~`lmlo5_x}4o7J(Buh4^Q{ z2HXhmo2Ngr|FOFBz#wzL-9YUvUSNoF7$U>v-(Gb4VDU4HBNk+ovnzd39N@yhbL>5= zd!~8%)wj*plWFtgqBMQ@+b=&q{`23S;8oZ_h-*H5_jwjmf#&fzO=>|>Kh(jy5$@=@ zw2+jQ{?Ablh4m675}gul_&ZEP`y7oM^z!CWpW&aS95<*1U-f(CMTxy|FRO?DKlOio zUiD3LG;0X7b{fjtEP^~ z>Qk++^8eg}RC`1-@$?(`er!so8@e1J2j#DcARDpAYf)%`r?lX7y7vyw3rD2iU2PUcWb7eR8@5>$Vl7 z`l!B+Msw_}Dy_nOrGanz>6{Kf4!L_jTzSv>yrsqSF1QfOeX6xq965V6ZX5A?JR-KM z*tUT&l;EK)oSU}yQ^T`wC81rr9emW6sf^XS8t>n6{_*(fvtOR>*9w4(E}<9EWAeBC zkM+_|QQIZlKA>O6{+Z63rzN2vo_8l1)n9`tBn~X;& zl)pQzXaC$m{L{_ye($Ko;2K4sXxa>I0U{!i!v>i)u38u+msT1P%&qAieaM@=qJ?u| zQ*G>)8*ISN9-N-eDz!0JKE(Fd_eDLmzTS_-q9}acI)2JE-!*R=Hz6G zHuN^VqupMJdPkSHqo{XuFM3Dl$aSf`v*DS&Fvls_j<$W<;nP;C0}z7dk@He z#IEJ4H*k|(urGG#ihYU(%mp2?f1qsm<>?Dl1@L?;TngVR4HG!SYvy}$hItW#d|{+f zPI@gZEY}6cbgIw!eTtSynbro)DSfGV^5p5z4RoKwcjy$_-p_lk09xy{=@L?GAzpGa z=SKOcnxN4&G(IclVfy53uTQ^t`~BN_7VW%`^wQV0+DwmD+YTMGC0Xr%_sfjI^yBzs zUWTtm)A>m_{0{do%;QlFzriS@4m@u{Sbf=>y2!YRoqwxoRu)c+yJ;rAD)FS+u#ab5wd}wvTl;pn8zco7=F<) zH6f;m{8tatgPxAE*T4HdiiqCNa<$BQ0ryJPSJjc`$?Utz20y5>4OqRN&QZE1Wvy#5 zOWqsJFhs9B%>$gO*#M8L%e6TC{0Tev+#9l+)8Ex2KVs-ThVe`e7Td9}2m{AJb?uB{ zR`X9P!swY$+522$EfdI@xBqVY0WMF3Hb|YlR8(J@RzYZE($=Kbqm88c)%~H$YF>#4js#udsn7uGx9{b;QhddAM#GK$2U-SYleUe{91I5M+9q;Y8V0c`vb;)bZ0)ns zaAV0h==J@#8gBGi+;zAC%@*g*X@gZKxN%u4w%2LE3f|J;1~UlC1IAB2KyhdVTtz{l zYD~-_<*0Iwb)rac2BdZ3w`j{%QGVy+Qolai`%!-Gqeq;HCMMr+Aj;0||0f*ZTQjXsOJ1~-H^)=I6k z$Ep+DxSwz%C25LIZG*T1gczVSZCs20MC+o~A^6BE+9bGf<8XtU!E!rp0XGC9EFiUE zpVrWpxKyQc3~{Ea2AaHWkdB9>3!smN7pW7hQ%hvE?j^Lb3)<+jxa(-cG010N9HIzqfG~PL z(T0p7w9c^x!su$JsKBMFo{FI;#f|r+=z97IZQMB804-{{9k)OmRl1=tt@4hB8#LUY z;l|5JK1=nhAn*8fRd>Nvxg$pR%iUN!oQ4~4kzLW`Ch_+g0+3-#x5ixS=s2v*GHkighEnAsU$HG602G zuPo;q*xOj&!tW+_vD(*2H-rf(MYLFD1m;kz7(Aa8kZu?UKVD&Zte}_R#x8K9&*HAb z4Wpz(?j5gW8X9igPq@(*6BF)ljc${x7EFK}+Q}vhl~mG5&1h?WI>C(_h8q@vI)mkQ z>+K%KY|+@vJ-+E&whE{{-8&1#@`W_s>fLO=DAb~ zRI1o&B*p3$l~2-Y5&jXJ3T6my+)udSrAyFm z*oJ$IIFv(fvxoU>!=et($QBI)nr@t+4|?NpL%6|mJ8l6t6s8-JDW)Y&HwbPJ+@R^k z17ik4)?ihnvijOdToP=a93cU3?^2Qa``Z6?p*Fz{f*Yfw+3*h8;FfCh57X5q$PBol zb!i|t$W38h7Eu_c8+H0daAOy^(Pwej;f55(I%&NnxN&dER9srkxda~Il3VpsG~KvyxWUC>xgEEF8z0;W>E= z^Bj|PB)D-Fh1JUuX=O~+XK~lzM&<4^p$)-}YW96kryDj&UV!X*3z{w91_V<948|gC z4mM%Z5fZ_To1bo&eQgHI?YITp;B3IOH_DR_E|ICOA%qi|ipW$n-8j>u)Ts}_jr6h{ zg;`&Sc88`Lppd&HAy~~>BjgX_jV2)7uaT;hsASBjfCz5v2sipH?mFCHT*6h|NYZZH zU$`N-gM34Hg#59H*bOb4kT^25+afemg=to^ZfLr3!_y73ulQiO9k+lRRbOs2@)Bse zL2!fM#+;@bG~MW1IuqQu*O}rii_)}7G=e7tj`2#Xa>)BLK8NCsNLoy4ox@UVa1pNd#Vi_jn))k{?EYc z(1-=Ftu9U^nr`e0H~K8@I@~ax!37s;8iE`5mQ1B{VQ|8=jc^HY!@+&p%aogFT4UO_ zWbP`Lj^M_P!wu#Ki|x1t+JJOJYOg&bV=5YM&~Sr>8~cPd2yGDBfKRhlF|(Su5uN7f zvnp_@N{d-XPNmpn>g)rB4=KfWQHu9j+;y~}!KFg%o3Gt%8gAUr;YPN+1;SSijFMqY zrL%1U_t1><9J4FJx4Qb05!$$6w4wKPWZtNfV~fm&mWCTQ?@Oik5f8rHj$6PD zSyMNh))ewLCAdLwgWv|i4T2j4H*(Fqx7q1bV2tC1hH@jNCNL(N91AoZK_h^y_Sp$; z>;gCXEbcnoKscC3@&*aTXZLryfr+7uMw`ZR2jvDs$X~QRHz_d~~7YMrJO+Uk$Nw z%8SOsf1IJ$lY*?Xt$7)T@w__%R&~r?Q@1|&&lmrG5Kd6rO-JuSeX$zJ9@64Z5560v z>EucTU*6yqXE<&)d_5h_s~h1g0rBD;4`(Ow^fSzceLlc&T4s|Inr>Wo+9-8{Qa31d zgHkurndQJr$c&~NyJ|OlkHuYw8ggt|js&TFw;+E7Fu3Bwv< zOx0&`*WrfrUMl6B!>W^1{C-NsvqbmX+5{h5V}S8NtZ_b?CcDsT#*6cr$W*rgZpg}u zT5iWJ;0E;N7BP-oDk4)+$RCCLQOF;~Zcyw7Ia2{{weTglu?yVjv$*SU19b`l#ii8*H}0)=!@!Hm!+;7P!&f8R2xlr;A;0CiwVWqg zYQ`gxscx7|CHIvYEVttpaDyS`5B_q7Yl0gDHwbPJ+#t9?aD(6m;D+VQwrH&))(^qr zs@T}X#9hPSjig!@wXn6(N^oNrxY1{E*Wm`Ub-uv`X*cdKnW`kmB(lRBo>XX*54>@@ z+QHcv5;8Y*>`p(yjT?s>!U8#T+p#y?07gOXh8A8pLK}oO2yGDBAhbbfgV07r8>(pO zxN59!RZRdu;ghv)INUkCVBnIgNND5myRZ}5=&`u(qYW4qapWs9Q21%Mac_qk$*7d! zHq;?Za#KH?sH^{ciV9bumN?sa@GmbiIZ@Hgc~H> zAmIiHH%Pcqg&PV=aA}b*R$>B&JS5msfy~ns9~FZurwp!IGSX;c7qHQ1ao53yg-#rn zMXDw%l5pdG3OBgsDO-hkVvEkFVud%})bXNlDhk;a>qxk93xpeDUss)Yw;i`Y8w|mK zIG;+>Y=hti!3}~N1UCq75ZvfOHwqV+Uznz~P^*GT#lfU1vB|}UC^-;^u3dJ58@s>_ z)REUN?mFBsNSUra|HP!azf7u7Tr1&R)Cg-~JsqNIP?hio0XWLUpjv3BXtr_lvklRa zq88h68@K@`75W7T>m(`_QK^VZMN}%HQW2Gks8pD4pqFZ03(W?2#%Q$WESeb6ZPhsi zo^^CKRK+sEja}eIpT%8=8%k-WIM_8b-MF_@D#JjTgWoOWQ2}bH8Y%AJncB$Kxi%-i zOu8ZA#tjQM#J*62<#y~1H#&@>kelN?C%8dygWv|i4T2j4HwbP3ZY1Br1Q${b9W%&O zOr!F#=(a}1g=L0;-$5?8yM}J`S=@EFA<#_a&O1SHt$W)>AkV`QQgDNz` zFcHU+yZV01~QctLP&xe1UCq75ZoZRL2!fM2H-}qOvtQd z!%|Lg!PSTxlgJ$N5VHmZkwwjDy0I(V=(D)%aDy2uwBcR7N!pG3sogL!$LJhuO0vlK z(=Inr`_yFLTGcAyOUI?7>BbFDH~79X$j|7uV{f>@Yf^_%R&$bWkaUBj8zkKz=>|zR zNV-v_8!5YJ1Ed=W`UBeFv2v-ZQatI*T3&K?HQboERJ(Ag`Yi4m+5iDVfrh~tC5qo) z=|&|><(8GkW>GUYIP4jcu?@={Lq%WktLg+#L~3jZ#2qD(KrPAHP$GRi{aLJGN#&jxY1*A*Wrdmnz)w6 zkulZ%g&V02GP$CgB21NTw4w%PrtWY{8|1Xw{_%61l>B!(^In>=?R%^}BX) z*Wm^nG$j_^&~)Se!i~s-idtfqv63O!5UN3jd}=g;{-ViXFy@N!32xjl++ZCoYOx)+ zfE(No;4H^9qv;004T2j4HwbPJ+#tA7;Rg4pc%leR=BCDO!2I7aT^e7CXk~OrA*-5Y zB2(=`rs}h}>u^IU3FR;|WK4B`;fBs_&~Tb=g4ci>PNgPt%Npb11Q#;gCXEbcno5XNu=`98so`wKS$3r<>#L1GKlloGBqA(`Cd$c4m2EUC5* zw`jU?y>55n-(M$zrWKB9X0ri#USO6K`@0( z$0pboP7OR1W#CQaSrtstbmL~H8`AGjud+;zBNy%5?8U&Bslx^X|J8yVUR zo`5exF2MMhXfzRO4yZV6&R%j+L_PfkH*OqmfETsgj(y=q#VCGYosrIog9ZXygwYy(#vub zW`m>CbDSne!*m!%N3&tQB*ysjY&I=znU-;?XSB8u!)Ss({VKjc`1R4FzXknvKKG=1jQ~SesZhw#R?a`|vcl^`a=f8dX?#FL_KKbR~Ar9{S(np2h2Eh%28w5A% zcOQ$&80T4&T1Z!wX#qEw;Z3yGD(#~)rGD{{c4HUqMxVu9hZ{x;#+BscOm$Ul^iMZy z@C`dJ(?;MMS~9B}Hau4`rCF(8+pD7I+1pw-omH>fR9|?S!$}Hi2f?2VWRbg$JU}m!43|`$D-1J{i^Gk28FAe*N{=-rKJq*@qQ_ zuC3zLZ(!AqIGL5{i_y_>na(ETMXO`unR=d&x-Rd1qV(9acV9gp>2H2}C?CI>KY#Oz z|2q50y!(Fi;@fAxJa2!{qc`L4*ta9M?b}~8bh?%3)zJBn&xF+;)r(^Auf=8dzh0Jb zIDeVKJRH8A%?D@@Y`*=TYj$#s)>5CRKbep4z(2qEyZG+gN58*hPoE#)#Qo*blSdD0 z3*l9F3Go4|-;HT9otDGyWOg+RVr!)_0XZ2Zu`2SeSC;dQHqm;>O?eFU%Q=_Rz7$>x zKj@IdSNNFSv%uz`p};kbRrOi$q<|aNHWHS&Su&ScATrgi(~UlhyAC&$!}$=#RX;GA zZrs!9hDGk z;r6u{EVttpa0B{s>zVSNayMwYLDLN)Q_*yT$W*XUWB&Rq?mFB+{(|7lJ2Jw(zi^{OXvJk{0q?=6QYr#&garMRE>4)l zOYn-|#*OE0NVhL7A~d?~*c)!ReO0v^${KQ}BJBogH%PkyRtb@*dUooGOm$9-)pO16 z5SfZw)v6q7XH@}iWT;ksYkZS^Nj7?s@nuVJV@J5rXK~lz2IC!()m0`Uk*V${nW~h8 z1WkvLV$}(&7GXDz=g_cNEGUd^3%>w@8@B;&2ryYIuiUw9;09v;s^*uBsc5)C!wnj4 z5Za*O1`Ri=Sg3dxd6FPc1@0hP&28f|gUHCWOmZ7@61DCnF4az4sve8GhBl0YAP14+ zlF-II9&We{H>#@DC>(ZFU{t{k4n_@HS`&TF$puRJy9Lq>x6kxoxgEDa8<1{Dri8Tw zHwbPJ+#t9?aD(6m!Ho(xG8`7O&WQCZu!c|`$>JesR6a2#Q>?IUXYfOCV;8v5XK~lz zhVe*#la@louQctv+s0JZJ02rcQig-Ys1)oTkhkICgerKJy3JNm%HJ)38@AG-mfLX) zxPjOW3u%s2c6rdLS4U^g(Z@y>9Uk(*Ewf?2eO`T3!r@`(tJ1^%CA|#eaXG~B?7>$h zo*ZDY7pAeDbMQ(1TC5!E8CVTRVH^(15zLHW9WyP1*Q0Tsyq*olW!_mz&FYh^9z2`R z-g`hFw;M91B4a8traChUBQDjw=2BH}tDwB99`In1m!ujOtZH~rMi$gXxzj8Y+}H(f z^jX|>xS^F+)hdi)H}3CrqfK0R17z={z#!2?xXXnIC*RgN*0x|;r5e0IO7R<3iram7 zS1z|>Z@AH66vKtlhK#9bx4x!eY?ch7)dHH8 zN2GYPl=8Q$4{o2uU56XeX=8(2d~nGJmwa$ZDNa7P4sIFx5!+ANZeZ_=5UGa zCoIfxL$Iy@b8re3zZGOE1|QtTcH9DPK)b=XaMBanAhbbfgU|+{4MH1)Hh?xHeE&n@ zzGz z4>LG07yI&FVWg+w263r~OGR8N;!+Wp zinvsjOC<{8s6eJd)<&guFqm;hum>6gYg|{DVbM^?->z_@&*HAZ4edEMTry3=je86? ztdRldxhWCxny5@M*YG|!+6SG2LLx^Y>BcP>ZkT<^2g~i)8*TujKq;=2^GeWkgQgoa z-Jt0PO*d$|LDP*Y-7r~4p?M<<2e%_5dCcq9H%TxN18ZZnG~L)0ZuD8)b+}=*W7-*l z8~50liY4b=>s^zh%5a0jh{O4ao!44G4VzSsHR^_@8#g}P;Cis!j$6PD0XHiy1n1;~ zOVbUSZqRgtrW-Wfpy@`PZoq%D1*T{l2*uH8RfqwIk+n@hf1M>IJ(so5PSTBCq#Jz} zcO7mRrnpf^7Q?EOQv7}@#bap${1{lnGy}$Wz#P5}1(3guh`Ui49t{LHZa(DC?1LAz z+>YD8jgCwO*9}h74VrGybc3cFG~J--22D2rH;heA7bF{dnLV@{En+uXRZ#xq>_kTW zV<=O6*Xc%|#a)LR3O=~POQ{HMwDZCJgd0BTlA~n}N9YYw{vzN8#8OQR9-h=i%1l1E z^IJfs()+6V;C9=wH{8(s+7FD?QX55ZgWv|i4T2j4HwbPJ+yLD0S_H0RYIt!-0N@cG zITdag=S*vJ5GGQn_^xoH&*HAb4dIY=Vx6oYkER><6K=FhgQ}=P!*hXPO0=?Z9K(*t zVFd?YDy1S#H*N*o5N@#8j@zIO_);;8xiCpLh)YFWD&kTRmx{Pl#HH#|H(J56(xO3! z6@Au-WaH2>j5(Mpt&6(&mbg^AqK(vJao5oXm)r^OHKlIcU!^!>EC^>zlS8VR;ucXi zOr=Kfl7hE7DN{EcNjGj-x}o>E94xov7H~td0XDJs#?f$th8r~8py37$H)yy)!wn2K zxNnWJ+BOLEgC(bEVNvCogC(az^dEA?b?3-R(v4lD8+{gc4Q{{y*9ymBhD*bZd&{MY z(eU7~%V0EJ05=58r(01PreKF#1moFK>c%Y?Zm4~22FvZZ1>9hM;I-q*l5~Tn8#LXZ z=>|u>{PekUxB zB)D;J;YJoQ0^I{&aEVP95xWr!QaIp&TO)8x!vAQxaq~)XwXYaL{<`hh8*Tuj_<`0) zFtS9ZBDg_tgWv|i4T2j4H!9q4ZPLbB)u`ZLOvO1Gt-K(6!=mZ|w@M3L695Qq>;gCX zEbcnoFfi;F+&W76yT4>A4iKM2aLD%aZKFyI7%mFW0ZwYG0_q zayxDTH-J$XCdAwj+#t9?aD(6m!3}~N1UD+&P)0{3Yrr4uaG=;I3Z7IRz(YHW2CT*1 zl8mW#)o%1z+;zC2tc7mISyGDMU$`MfG8}6023`#C!8LG$bJ^P_Vba*P)_~qv(I&x- z8;2XrBCxM+$1TtX2ban*0W*N*L9;X+9nVLT@smz1hXlZ)ifd%%0`p{;0y^ad0H=YZ zhp`l7ZSc&?IE?4r5n5p6c}>~+;6Gpd`$0HCX*V6c3-!ew?BfS%@uvshjnZ^-WspsI zgIAp4xY_XabTqG7OS6P45Z@8Q*-1S846|YC@d1X@GMk)C32j_++J;!>QJ7KWyD*)W>mPrr)q4}N|0=x;&4olk$Z^WixBbvpk2>D2x(p4;D}e0%ij$Q}Rm z_W5t$zWec;pHF@{c!-00zw}Wdv_WWt&<3H6?z<0(8;G!ujp22;f!K{ECYBnci8IY% zkCfYty9*6Bb{TG@9*et>ZroqAQM~0!B1xPvgW*Pk7p`N80q2*JMV771 z)diW*#towlxv%+PxgEEF8=Z7RIwMFaPH=u|%N*{!v8B;B~b zaHHkWge&A}nwG%_x77ui;t-A_;7_`gla__18@Ip*SMD=4SZv2F(1u_Gp@qbNlF-IS zKpTgn@yVNTP{#8Hau_L@)eRq>Q<|h%;ZUwTNa66XO!1vII+}*@;9n<@kGvfHua_kp z&R?c54~K7O^8sWH_&!T7!+2Z{;eGbthvPC`XkGB*PVdl(UQTK=t|}B}P)8hvG2X!u z-UE)Gmci@MI8R>B2IDgC#22&rM5_nS=Ck)6&_{Vg5{?H5GM?MS!}<>JQdLC2x)nXOnO|m`o3buV+I6iue%! zj55yUX#RGkaG9M<$Kj}|T7FtwHakDl!RS>PFQ4m4y%6zCqvMcseaFTOgv2ey8~j`A zs`C%ryY!{s7v-$K_euP{K%&)sqIT5nfB@@5A8MMDvf!*}W*V#^YYGQtrB)dDropQp zpN#5Nj(k}uzyA7bbUMF&WFOW}*V-yx{RUPNuajAsz8D>0Kg}lN)s|X&rk>}cuFHF$ zC_VP<-B-^?`kUV#%Exc!&)>Y_zs`O#@4g?s`1aW^&)XmL=*{>$_U)*8tgOB0)o*_x zlIvEY&sN=h`Yk>aR=daDY3=RzeEyST$o2X>{mFcU2mblR-^F*|KKlJ7d;0tUC+;tg zo;-S3Wm&JfONb9xcT=5Ar{%CanVpOfnHjLG4We-c>~AGvy|SEdw1Kx&D-(~QiZ60G z)%xM3@PiIOe1)5E_bgWEl5mBh)tZ4iyu*AWS20Ih5J<+1FVe3L`o7zjXN||lsn!Dw^P&Q{dlq$fMV(z=gHauReQQC9r2# z;CH7Y%gfkXXXVXB*XLHpZdZ`jXk!*v*44==3)LmFnD^B5+o?4-gP!!Gl3~%-!unQXf#Yd?Tk}!r5-b+T;Lnp>y8sV?36AF-CRqIZyE2=h zgNtAN*MB|ud1))Ohi7;-s&+-A@xk6`wl^Br9~}U;%?5Z}#Q}@M&x5yf&%J>+PJj3D z;f8{V)M7hs0XG=n2J_NLO5`J*1?enEXF($f(pmJH5v+l|`!|AsZIm@OnTETBE@(n` zFA9~KR<_OspJ8fK$BhIxc7Ypx7Iz(Pz`BbGCS9H1k*xc&!N5P=thvK*gZT`6f&Jz* z;6}!T+N+$JjIGB_gn4Ns7peE>8>f)sg7L=b?>;`%qUWXnaNFup}`^tPI=y4VF=vR{5)@er& zUgs1Mi&-k>_Zfi+7Bt2d5^q<{PgRJx1a9TDV{;I3MsB(Q8l3&|<6{G%2h07k4K~0i zf-~$fQbl}>QN%?X@nf=|ejrr@sv-)uSQ1n&l_vB=8KjCJRm8>08)876sv;O`i}k5( zG%y0NfdWNaDAzbwc;Kzzn$-%GMiS>n61~0$SJ0&idg2Ja^?ER7|uV?p&g6}WzH zrz!%P2w1E+B&q=;G|H+fY$`B=0ujoJR;!S1ZF=`@!Uk-x+%H>T0|`4=$t72JD(vod zCEQ)K`$!f|$#x`*hR~a2(Ikt$))V69WzjhYSr}K1#W)7C{lGCCkZ?pO!jxiE@ul`B z2>@IJ05BY=^OM=I&w{QO{L*;mLA9oWf0u&40@R%gd>p$$slQeyTv__39s7mA+1XZ> z#2c;+di@5yerTF~)5a2DBVw|Y7B6*r(E6P1+L!zgRr8{1tWEh1E%I5<{(^Nl`{l=P z=yQXx>F%1}rf6pasU5^4ME3a@4gKp$eK_ws5`9R@OpSbMUbkmBf&GUL4j+~6(Cf{pR41q{r+3k^nDh0v!;i~l)^BjR+w1!L(F!c zjN8fdsB^XohxqxbYW>S}a&o*V2_Li}PDg2ccwF76RuA~Gsz!5}URyTS7hCtI+NdpS z`MP@Mu6n&$m#J${!?}gHUA9I!D&0n58pB}Iqc~K|5q7FguvwtF-^$pocmOSlAa|GDk^oZv>m&2aF(&CS9L zY8X!DFUR=vY&Hd#cUs1&p3&O-2%`z{hDcLDngZ+sf*ZIYd;+*3ZI+l2IHcp2%57#5 zs>%`@SPe@nVCV?7CEf|aja}eIpT%8=8*s4I)_7i5o#4h*dV;$PH*{8^O*%F*!>LSR z|1~j#FQhplkgzRt5i`1Y_VLyrVFvD{RJ558pZ-+DaaO^e_<`&9ntH{@IPPt`$4TOC)3fp zg@HO;g9FUnC)L_}qj#`zvTr{n=|db@e;`c)VGF_*ge?eLe6pkl#}E)_vuaGPaSb7` z#sv&Dv_OUenm44g5+vP9=xZu`M zlK8%^MSFM6Z&S3h0a_iL8%kIB7?h+-?qhF&YN~1OY>4DFs^>{!KoSFz7*O)s-AG-qP;2Uqodp9Nm8?;$%y1h>&7IoPSb z-w1vBfO`MjbL~|6pFbWI^(ot^>j6unV_U;G9mn7R6eVbkgT`NxdI)oz5R9rsv(tmF zWtgo4k8`j7u_;Qo2pcFjSnikYumLkjwYTmrHS{;8H^d*JH0Ix!l}+S7pRcIV#zxoR3uvqNM3ta{s= z2t?yOFGyk5tpbC@yWF@4p^yTL$Z4H0S^L0=z}c&RY%K6O$rbp%(u3u8>=EAndvH~K8@8r-PX_n1I1N9ySN3pcXn@a$*4VNv)-wZ_&2lGtPy zSSaptLj26Wk!U;bLPwvP@NCwsAs3m4s%Js;ww( z%Mkl~6y~USxaP=s*GyK5}Zh4&wU2dtGOElL z&X|;hHn0-C>?d};#+Kf~qoZpx7IwRaPmZhoMUSVy`3Q%SicU7E2Eu5d4F#YPFw$tE z6wz6QYt>a1FQJWH&_Tqo4PK+8HS_jPMMtj$`M1>XwW7lv<0O6{A10I|6e+PR z`zRZ_8vm|Uw(o0iU>6UG`26i~=^wnhC!Ea6^u_3ivY{`Ylo75t&4!jL!Htj!(8XIw zM@1~)Zv@p8B~q&`&&gH8LBbVR5tjfLZ-|a2*Ut;@84VKsY z7KJ*TR=M@uD@80MVj&R=>E$G!1w_n%8IE6P+-1Ts8vXbiL$Db7-{jtg?_GdXU;Srq$Y%fG=PEfmJ_gtREnuU`1iN=nVE@A+ddF zA$sVxV{f)oIsWrIE(hv)%q1js!FvKwMs;4V`jd+^a@#}jr3jSH?G7hG)d z+Glas;fCNyj8dZW^dY!$KjDTmUhCp(B%CPNbRsp7I+VuR2qPdCVE!7h=}s}q_u&Y{ z|FiP>+PTI#utSzk`ww=98-fp(+i?rHA^iY8&6bmc?3CaJ!3}bdB?nn@knJT)SmTEE zRPNj*)kAAaQealpsU=e4U>@sXEzy_~z1Ic2{Za^S9DWyefg7dA;;zFDrlGGE&XVfk z{#rU2CgBx}EXLMB`k+eS@KI|;BaOnDFJ8A@G$X-{GlX@jqrPC&bo#rGt+8hNOb?dZ zaSOOn6R0_}OcIxhxKuRUpy37$HwHZ`=Q{Lxj~$jCd-m?D=Og{iZx7|;H}mIjUh!XN zKbd#mk6wIB!;R6=Y!Z~9Fz?$8OWZ1TclH9qJhE(vkh%{<9vaMqLVht ztP!18MO}n8c0n6`7Iz(OSjDx|(i7Uazq1W#WNsz=4UmI~j2MhEAk~JCeSugz!?!ss z28uM>xN)>m+188g*cWX8qG&ddTsY7n@6vE%CGlUmw+vy$J4@5i@q9EH&xQ$4cic>qclD|_Cutcyh77*IvZZk1FVri zhokYyn{WVQnMNSOK{BfwMy^i7;ViwRD72ZCoikfF{kGB&v;MnaY-<$4EI{CzX*2r`zP&*;ru5lb$+8)_17zY-K(~Fn-0JN|w z{kDI%x6j=P^|vsC739_zyVjzpex0u>;tng`zCK~4$F1Jt zO%?5JV$z%F8evM;E=`!LAq!qYCmpOvDCMi8F%|7yQd=$B^Hc)5|+uP}p z^nIDXo=pEa954R=$#`C-ZAfKyDsTUEz4puB%Vpj6@hDNp{dk{>cPiegcxT^I@qP!2 z_tr|JLBal=Cx)mfVSN(?st&N;TLyxU%lxy{4(#~tw<_WLEbB%I4+@WyQhp)_*5xO> zx`ban=+l?*JDz}Eh5V(@-D@#6tFz4xe47$i*jU(1HGwU8*ErPo@IQ*!UYRjbDpKoF z%wPImPfNlp5ZHAGS84A?cJkAc1b>2D>b!2_xzB$2k!8WPpqGQ?4%nigM;G2Z;hn!z zy5QCP!D&3dg12w$)Q$rG4JD?^!HQ}kCr-Gge`a4n3XA7yTHIS`l zThq%i_YV--!4OckoRv04|5?)Dul_E+Q9ec&<34!nLTRa{hfvanI7D zPgDNN6T4MG|NfiWWYch$RD%Ay5lKK?UL<7Z*k#a$dnMq!X}Rj@wRz=x-hol`{yV>w z+E(u1o8Rq+?aF&*JUndqZ7lCEi|%mjd~#iyl@IZ$`KrW|18lc+ z7~oso0iu)Y(^f-vX6T6@g)v-lj^K+kNRw$9ydI774RtU*?SM@ zgUY&R33EIP*9f_R_pz*U{P zpJ%gaY0I>XQys+Ajzbtt@TXtJ_Xoc|di1xT-_EB$+xc)D{yH81{&Z@87|-qRQNBHT zb>xnJdi(shZ{Pj+&Ce&l96a3SrH=~vUy}bN`CpR%WxcQ3U{Yl8w<*R}r<=+a08765 z@i`sf#IJ~KbDqG^>-%q2@Ap~U&3a!srr2Sx7Ew^n;#E%%x>mV-#jE#$ z0oSj=85V$%;c=PHN2M#y7JU0ZPjancPBXSvJpAvVd0+zxJVg=f0e!vv`2=jB<5hc_z6J^wB)y0vz{pVxOu^8=b6 z(ENbr2Q)vp6Z3->6nO!`Jd>O9<-!#kT?zeO7c6 zOh8L$VOvxyAQ~PlhX?)F9?Nz;oqyGZKlij36`Y%Vj`Ig>V1&XIMn45SI+qy2|Zh(2VRgFyvx_ldhdrc#|s^*d3j%NlZ}B5SO&s5GDuY+{kVDYgypq6pTr z&r)xD`M2;zovO|*ZdI%IS<;PK-Fjshy!@zE$H07t#oww}-zcs6mF$~`Z4~ZOCs}zs zNUaVT2C_9pLV&Yx88;@zs==+Nc#Fb)<3+bA-!D7(mKE_90k!q&->!!D!V1Q2bq#-f z5)Vh|$&U|nt`m+M?Y3{emveWr(Q$KTpL^;gKy7zwyHnepYI&;V??f%{5^t??26pwj z()O8XLO|P{aV~tetxNHQ)!`hm(*Wg~I?2HrrT_hMqV@j!I9JpkMylkAn7>de2t!?Y>dJpdmHeHk zNs~URAg%!frdEuy4J~P!C!G=WWzApDlr=&sW~6bnmm48>Kt=yC^>tmF`u) zwpF3A4Qb}R)7Y<0fB%q;8a)W*Y6?V?i;$4l=G-82C^cZru;?5_eQ8U1?RzhHTIFrf z&^HM_7ae%ZYIBaL*zPjlvNnfA!SR*F&aHCGS&13Kt1vnYadZf)oTp`e6Xp4(Z{=KI z-rC!wa-GU`D%a!h1vXe2DsPI7rR1rjJCHo3Gb^P{wrN?5#=ADGan^B&$y|%@DX47a zXK8@>Azy*3^1aX6u9xr1Sp#;jleMP&76&tf*pF-s9 z-CiFiyZ!>b7G$__)J9PsMXOV*RAWN|8s@Hr5oWMW3c(9#HaOn zhkHT`3ws}s65(wNvYNz*%K(4qtIGRp;MJ$B>@R&QOTp`T#5yZ;>e^G+p1Stbwg2UL`-2`)aStoC zJ5k)5$PCxHZCv2c>M{7$c#bk8Mi*t4*)UUYY@Z#;X4kL3Rej%QT{r4`Z6qYHOxGHd zI`)&JV;J;pw8mk8-6j2AT7dK^@h>~QS6BC!9<@=}w_FM-vWJeG8+7ZrYN9luk&H7Q zJ*;ht=vUZZ_L_Za`fHB8W!-u`SYH0ymGj;St!`s6zk+0!X%s$XHGlbgIoGEk{VUno z=a8nTUApi57gW$wK~Dw!(QJ5fT=NL;L_u%0je$pnMxsFut*iyTPN9hq#VVbQH>~{} z3;GZE23*zjeU^5!rU#3jGgc=gpP;5+e#)!M*wuq>u4lhl5?x=0^eO8vJ;}WmWVrFR zHaqqb!LuT?p_1u=mwBmvlvM;96>_W)93i`5*lC;pa^w0--)o=B{2SO zx42WkIsxY#Oi$0-r&qt8e;4O=(kbbt`#qV+Q#cg@9!LXAqvTNqqvX;_SaT` zJE>4~G!YRkjX^G7L7<~dvGTh=yY~D=U%yv>@vVyZJ}bIW#4B$M%>0RXb6yF%MbWWM z?SAfQ`&I4d57=nLbCH<^Z@y_u0Bt@&3+tqokj8>HuY=P?ZRuBY?&VG^zAG5>7hS2h zl1-xq%Zq%w8vWL`-&ezrSEK3te16?oEZOPl`*a2SWpC=Ddl!Yu!Z(aUWvL54p)Ndi z;qO)#UY8hDY&mT55L<)!Kk{Uqb4`}1P12fVdHNjd_7D30Tb1yA7I&kB2W{Rtt1Ii` z6ZGMipY!ShcJ-i7--rL8(|`}P67OCwhrPV|>a{jk#JX43^umH{5Xh8cJc$jJ(}S;mh$gO*bA?zRwI%v`1ka z4$2XDAA>ZRmci@MI8R>B2IDdx;;I_WX1Hor51!3u?>#`nGu{Rl8%VQ|eo27UQUQ zYzYtzE7rsop}8o8KsikkE;UudN^m2+9F388*{j{Qf*XAncO7nUj=)uIK2^%rvR=KY zAUm^wUp?bvMJzpU%Vl1ZCja!51A=XHM6{4apJr)osUZ;0An0J%{I$UmkQTjfn_u zprHS%#FGPD9*cf)y=KBmK8GL(ZpgPsua4aDPj8?9_U*eLzxny(mxG5`u-^KMqcVRv z$+Kx`%d{X`uHv)f*L5F<n^aFR6B zbmJBOb@r2a_xGa zA}flwO=~o~8=25e2>6eT(VJk5$kJmQ5Zu@WZuD8)b+`d1e6)IuCNkCig&TFRwZ<|a z4R{9gDQ*l9) zjdB3{faBS)4RJb3BXm-z8Z)GUNWn1b3sn4pM7=oU5N(P$^lZDf; zDh`7=Xk3&Fv2jTMu2u((1;$d4?Qk_yB)CDk4I)y}WP{*Fk4DID5bX}ZjmUHMCZ;CD zRHba%HeSFCQ#Bf*YOIhjbf6q=H8PECOcfWkIm$pl6{>L@JtYTuiZBj?V~g>_2euo`Q5EH6m+h zw2H7zC{Z>hiL6>)S_6L!f*aq3UEoHa#a)LRl38K6aFw`EaN~Z$4Jq4Pgse^B(toDG)SaSOO1K%_zpu`f>_!4=?>P(5? z#yy1_T4|MmFT7CLbQmBup<)iFt+zJCBugN;@t(2NjgYC#zSe`~cH9DPK)2zU;MO~W z8w589ZV=ocxIu8EkE-l5AX5dTYCsq6eawjXiwFXcNubeMTI)G{<72IS2yW~GHzL1& zao>j<(t8g_Dhn4}f*beNl}dZ-;l&^tDH5g|Z3+mwfnXet{L)7R{8>w`RJTC8VfLjT zEVtt}aHE>wO0*3u!3}~N1UCq75ZoZRL2v`s9EAlhJu6LUv#oFgew-nMMu;RCPi=L= zCAe|88=0!l;;zGuYDp!bGbOlje_g4(O*u$d!38g%-GJ?J<5`9&oCe;2F)mZ8n$i=Q z>W0ZwW}n-^ay#~h8^9=R!0Svz(R3pb+#t9?aD(6m!3}~NfE#G77B5X`m_w|%(uUVL z2hzq`2P4)b3g<+o3OmA$K8w2!Hw;oYkVoA4ff1SNev+wNW^GVyXdozt32s8>h6{o< zEjA(2|JtldMVkaSZX9kfHdt)OEzkz9Tq;+^;xybKv_WWt&<3FmLK}oOfHpEW+|)#4 z(~JhL29m9BQ^PajACUQuSHfb+iG%hiEWwE5;+VaX-;UP%e8PRAan? zk*MeJg|jVhGBg_|DV|lg=?HDyFxt@jN)MLXaSONsh{A+%AYl>QAh|zR z0>KS}8w589ZV=o6+%UyNqq1%s!eHTp>yQm=vT9nm|05w*WY0(`zAN15v$$(;!+8&K zo6@Z2E)d+fr*Ol123YAE=yYIA<+TQx3UcwBJcI(!OG(CX`iV?+!(=M8ul-=T9k+oS zY@p%j$26t<5!@iSF(7c7t)zO2slGrTDIJ zqtD{5!wn~tL_?KXf*beN2iM1vO$%wb5wT)?Z5n5F!C#BX%p3T@QOe&fm~NS3 z%CbZ$opYRtNdN>I=*C`queEk&g+|?65|!nFf~-Qp&;?~ehq|HD*{mwCH6?`eCr_T_ zxqk9UKa7Nmy-r}_krBgjW|J^}Rh_1$;;E^45hi|IolUFJ5Dx|(s9J{crJdTR^C!*- zEse}d^cDlJL+5Bcmb)xRew~LvEw|AlCuujXqTPTS=FY)ghZ{=eSOX|cO~vo8c0=MH zl^cUXq5|BI+GbYjfKHoC7D0PG7fhw<#;sR3n1abvJsms44H0{FXqi(=QrnFLHxk@P za3jHuNvdw7>IU$K5kd(i(P50Dv$)7}o;k*7rl`qF=}HO>Yl0hB^ug^ixa)93QU*d5 zX9;fHU$|j($gSZyD2vvhx{=%1>jriWWhqoH(HyeI_z7;@I^3WXQt^5^?g2NT-QeiD zf$llYPRoQ(o#F9Xh#(-<;RS^+nXxW2A_s}pM*1o^t(Hgr>NE`Pa9ZynnIU>d-1^|p z&;EE|XNc{_)dxGzF5v@YKkGcxvt^!i8$U6;!!J&-^jjL2Qx(x0*+~A5ZqKQaGxc3)sz-8JIi#9ibfww4p0rzQB%B;v~ z0etUuaB=^xa)9(5p-8%;C>_COj7Y}so3AlBs;Z} zX&7e=2|-Ta;!FlB30gl1F-y3}vA%pCNv7w~>pscecq2yMo>U(~@uNMN#q8i-`~SIu z9O`U!0gqIT>LEO*T|i0E>C9S!zZM}#W}P%DNyQI9yTOkH={M7HAGiS{T*9bQ32r2~ zk>Eyx8wqYCxRKySgd4;g)bLA{5g6Y>yJ6wU=>yNCEF{&X;09&gRNZ)HuTKQ8Q~^psw5Rp+Koh}!V9+0PV1ud8PmjOf|UW5xFAzWuZ%A= zbBsh5Zz5A&1#Wa1+%>p?q&FkT)$5qvPH^LX!VSxeGiV*3d6T!FVQ z^WgGGu1;{{*5L+tQS<4z2iibuK#2k|Pff*>bYqv|CP_CQ5aEc1Xa${43*=rDg^>B(ed&-$bB@!;)bfJrO| z`2Tftr^#&GctmY=hw6BwkoT@Wh6!DCcF;&M=j01SVYRf;)$%ik0s^r(d zJminxO@Dg#hW_1)ydoq3P;n;NYeo`BcwNJm}@n>hz1ggW~XVVHBe(~x@_UxNS zzrH3femaJu*jJC9K6)7CSZ``?GukIH6X!?caX6_pfHfflF$!18vdjcefD>G_JTrMF zmD732J#{vw0(Tfw!5#;JPT_$u6lfh(g4R)*GDD|7R+I|<|1KUSp^dAcjV^<`jy5zz z;ygDbwsKEs<9?!z61s4hOrzNbr9c~?`9m)SAKU`dO)74^BObRup^aNc8|+AO_*d4` zaSylwh@uq}N{dw7xQ61!Nj03kv&ZlNJ?Bl*HQpqx-;nm?q<&*|c=P(#b~p?t6TE)E zgMa5-T921(?Jycymv$DzkQly9js}BMJH#2B;vC>eIu8A})vy@7o%DxcS_6hjJkVm} z$#imIgD$a5f*lEVBtP79kKY74uj1`h*TT>pf*oa^2Qa5>=D{lmy@LukH+wjB z+Q6hJ;Lq&poB|O1^jjd%RUZ7~Vex(VeFjEC43XDa?)bJhZoZDF$xg%ZX#9Tl01u1P zYFJICan*klYbmXRtZjkg)S&cs9aB2J2M0A$n+&=Pa0_}sNKA;(iC48tHQwn~;K4df zDTjoKQ9+!|I7%BJH0FRGMgsE#dO8mMI4cfTISv}q8guEz47{gMZ00?ke~CGKt;8o_ z1J-Zm%YN7(*OVjMlCZ%wV1wOys`?#pC0y`jaI<4f;)Ds3i`2G86&(}8sT7fVWNa>X zHT9_u8H=?_O2;Sf4q*aE0_>xp=ytHEg?}b`xEK!#R89dDNFhq^l4 zP5Rg_CY9TOW98WG#KA&?as6wYsGJHrijB=Wu@+~f&tTm#tXhWZoWsB@MVnI3Zt zHAuF#iTjkA@@;Htn7B_j&V4F;&T|1dx6)pK`xJbZN5-S(MySAOq2a2XxK9^^-JRZn ziy}mq0d9c~MIf~>I$7850v(-h#laRKT*2TN&7!UeeOiT=CbJsEL&a%OLI-VZtNNeM}4m}bFDs{~OyCF$0Qcv(Cy|^Lig(24G z0hUs5u~iUo_}DcAHntYsiajf&X7aG=9kBwnU|u2N>Q5@Lvzia)k`x|>;FB$h0CS+frlA`wQWl=RdrRS=hTqzv^;t*O8AP zf(s2<4~8fyKQ2>#bc==#wdCSF&@If5&?v{i;DHt_vkqwo5;S!Vf9EXDlDmd{z8D8^ zEu&a$62@;TA68ceXALW%Duq~$pjk<6*cY>cw~j9bzdl8H19XlaX+|`6V5cJi3IkENMP+QK39hv z-z7CVLdFC;66`?J=qHc#!vs6PNXmr=MNUlP}@* zRo5+YNed6dt1LGTM6eu&cR4RjM$v+R8P24mk&cvL#|rG&l!I@*2Ny)JE(6?#9#Ep^ znnxB;f*zMak50D&qj;EVbYEiXm5OG;0O<=MFb%1u8M%kNEZ1z8==9Ya9j-+ zgsBbTK>huvFsn*Lt(|_63uMye{wKgD=sU2_W4hZ&B{naNy zCCyyf50>0Pg4Ek_HI3Q0NyB4|wNpw73 z?)2@N-}KI(94tb={m-`9H3r^?V{A)Rzj@~O3ECm}mdNsQo@hpQfM%4G4T)luC`O55 z)TK8KUXE*pyF@YCx6fWM)*}e<89GD3bDwLMSwcz_69_3Z5Ad8yefHMOZ8z1^w^EF{ z4DfnvAA5A=42^+fq=^#F37Dr(hvjH|TK9vpC-{63y?!+w&Cceb;e*n;api|6XHloS z*x-5e5-q}bXZRR@Y-d;-!`Q`<>nQf{(uu8Gu`(Dh-$&)wxpmR*7&^Rz175UZopc(X z!JBG4ovl1DEBm()fboIB1(iT&4Uad-t^<4tFc-@bvyaO{`aJd9o7FD5Z|uoz%|N&H zur8Gq5w^@6st0Q=IX2zFZh~qe`puNw1A0J(&5hPFmkD}Y1N7LfWWs&FVi_U9js!ar z>`1U9!4AA5Z=$`oVmViVW`v`9Aj-hA9JHm(qg}XDK{G)u&SWEf>91Ns*!lijaEI~^ zgWG}}TuVbaN!+1Ja`=Pa%p}`+8}QsN5Yl164edRVr4$emVdja_p}(FMF5^-a+y&UZ zh1lKwBMJ`ZVCQ3M53QphuKR2C)F8ayOvnA;29?5~s&tp&#-c`bKj}#cS0r4Ka7Dru z30K?vDMjp5QA>!wiDDsR-XPCwExIU6f$kSMD=6`t z10msx=6y2mL%WOCD|mrky4>4!^b&jgNvUXRcd@GyvI#i0ZUr8+!>ops&imXs2g+3r ze0sLurDQL50}jBhM%c%u*`gH)kUu zsxA6ha;r9w1ef2%JvZ^L&d;d@_pYJc1w9g`-^|%Ppb;f~3b_rMY9wfs*jeUMGs^*1 zvC2*nmC@QZN|M?(YUs-KkHWjNOpul9}uRPA<;4MYJ~j+i4r7Akm%9F8xnZa z!USFj1P2ntEFpN2Spg@^!b>>*S}@ajYIm_#McGLUT40hcgWJX=2uR}^iWM|fR4%Ki z?7R&Ji$|1EsIH(^iB^kfzZa`7z$BQ1IR`BdNCh^uIQfsLxok+Qx8m{L<(Jk`{$iDw z8g4Yxu`}GDM>6kAtqmu4N({0n(;Y55i$uJ7Mb$?tx1{dksk=B&*dk$z8^acY5Jna1 z61gy_xj37nIDzisQcJF+GhUJ;IA6mSTN3SahE|sWZQ%)Ra%l{U3GRd^F2fTWhyG(Q zL>%#*D*JU6d5m$EfqyN#cQE?Zd5P);;5u4jZ=6hn6+r1HA;t4YgTchVPG+#FRxn0fY76Fa zs}(Y^8oAiih+^Th=trl6_0Ha~YO%vzTB~A?DdgpE}$|6p2E$ELU{6zioISm4TW(l`9g33UhynTy|QJt>d26*zhCp$V!B{ z6pyqiPVkGm=|&VaENSLSXIN6#5^}V8p?OkzFAVPnFbJq^?k0oXC9JKgw~weLB&By! zdMBlKQhF!Z2HyBL;2`C=azc2KF@mPNLge5mQRy=VdQvE*LbvRs^zKkcSSr1{3}`#h zhiR!oQX*!x0r8Si?Q9xaLG1Q$<0G^Yam25ojzFy~MRZ;(xj}lVU}$iS3LFwmUJw)# zYzWba?IS|?kBHls!TMjx{i((T^J&!?64aFnN>BiM=At8l? z6cSRn8Ke+cL8uZWqrxGuVKCTtMutpM2Yt68&eyh=8!HsaYZl~lEwh%acTpbbGPrA~ zLFG*6)If%wP(wNGU&cP#9fo`af>=qeUkOaC?%(1kS*N^EJYOGSG1D)R{=yT*Kp2S`fH&L&ic)C>U=jWge(2wG;8JXV1z=@zZe_zxwLY(;H(xSyeKiSetnbyC^~O zGRu)g%}5Z+USSNPY}Fih&^37Z(e%L+u70c~LkDs#;#NnW#8p&A`R8*B!_ zf(>w8BR0e~*wmwthpyPd06&!4%V3k&EY^`$wP&a8(x#mv!=+x4URI|89H`T1R|5|u z4G*Y{;j2HMRVXVuH$XS+K zMF@J1!lApw8P6%a^&XuPWPg74#{)Z?z8;OM4|R9U*xu11lo$k1+tkaS|(OA68OKNL|^nbyLW>GX`s`o6DfM&_QMJ*+I!pDL`wq zgv?6MLT-c0i#*1PA5lG6gng~3dgs~xW$OgA-%P9hFaZDo7m1aWSV=Z{tiB!q@3bo+(=ROysi63@J(g2N5YZuw&0-+A~!TR;mX(=`ah_&}DGfQG-Tv zKq|o$!>A|Ja6ef|+|W{KVl$N&8vPGEnxgR72_ZP{8RaaXC+{cIK1f-3+uc4ZNh+>QP-tgEMKon9qtmJY@ml7g2zgOD!EvGqSFGTQ zOIb->2DF7Gz@8A4n1m(nDk}+CKspC_ZUUr2!l0UGHTuLA9)0AMS7?XLJ`O3Q3PdP= zT;POGtRyP?&9vGN6Obr4A_)^*t5?#;__QWgQeq_~R#IXmB~}tbh#T-q(xm~xn(K^P zba4ZnLL==-VJVC>D9s5itxP=^_F*M;8PGN+0Nt5_41s%|>I;|E7dFAMLtrII<8_Ee zV+>lpOi-yaV_-g36mSx7g91vdLC8wR31O zQaX~$Q|sr{o(;M81Ql)uDiqp#QI^04K|+JcgwApY;wDEL)Ob~(6;f*byap9^zW)}q zq%MQI4jU9m*9!JkG25JA!)35x=WW0UURl_%ViXi_#5$>Ew`$-#dTYxa3Rwb!iz4&9 z1Q(E@W@n*_t^2JPR-*q8i>jfI02b%J-pCg|@*4iCA_xLu^n5z*0XG=B$Qc!75Q&y_ zowTG>f=F%Ruq>`I-4m`zZQ}Zu%SDph;l||-B4|rwX(4j3pe3==WUerI#zk4E(l|zI zMQ5TV?Vu$sh0$FGw1p)IS~YM*5|+3ME$I+S5M|Cn!693K92&xCU69Pcy(gL_p^X@0 zFdK-TP9K33QVC+;5(Jt=H`8hlOhEI#icXQqEGZeN8dx2mX}bO|4>I54~OZT6a^xat)&)sG}dob5k*0!^=0#t?g-kux{2B&stkHaY(?I8{vhyL4Y zSd89I`ol1-1N})f09tH3nNBWj(1q`i;6j262`(hKFqa%LS&wfAe^TLH(0ouEoD&5v%c8KEh6_z5N)a*# zb!o)#bjfqZahXmB^naf%Rk;YT0=k@boNh z`pfrcaP2v_@7ash^pT9BHY-X8jds+KVCOoAMU!O;4Fd%FL@*W5UWF({Jx=~3Y8@Lw z*NYB2RyubH4lU|uhk=1MrHc}6D$%B}`dlquOmd7Q$3SS=B|UNF zXRNUX=wP>WwP*Mal}HLEm1k&`v{W3Ir-{ zz=_kSlSFpcM?i^1*th@Lb^;B{2!0XzKSLq_*<~!n|Ni%b@55v?8~e~h=ju1r1g+1i z;c>5;^r~U}=orI4>0`T3fE+g6ppKY8^qXnb8558rnfEo3lHaKoa~ojhVW5NExdEU% zZ%n#@hIs z_*1QL=;6gJaGX>n31hhPlGyb_X3%%MgFGq5aH!Z!!cyptu6Z16F#xSc36)Z{Jt~Z7E%c{sH!352; zN|->1AcDzwL0Oa+VUZW0-R5v8BbE?vdHE@6qaT3>QVk;2AV7j1CrpqqLBa$#g9(&{ zr4wvwGU^J5x(U<`7TlT42Sr2RRPZ7OGl{XZV)V434*v#Hk;$OTV7Bl8%k!L5o%&4d zVk@yG)|rA87$IQCfg$wGSkSO&ZX%og}sKwf2cle4Ydeu>K`TfTh+J z4843bnrlILmccYyW#}YIvOqoD9R$@OSd7)#tX5HCE#f>uf&>X}3=#yxa%)S3F;pOe zQAL?qr}B&yd8t^A9!9ys^O+#Q4oI*xWbHDbZAbvE2Apq`+IUy~eiI}(1U`>r1-BL} zJQO!r<~d{?mMD?shUnZE=-^=EGM^y9dKbMV6uJH~0U$v$t@gkKJnu*EDbxv?otAED zwS8L`Lp9vzdAFf@k4{DCKR^59ft|t6ZCrhrdyK;7$@(cIL3kJLRKG79{2i#q_#^l{ ziQk|2{fWzyxICSf(W_$4<^k*Ac5pRJdxzYIN}sEO8l6$)Yugl&Swnp09kniSn{#tm zj;jaYKGY(WEXo622D60)6zCv|o7Avv7Zzv@I|8rUE)C?AQ>z?BLBK#BqZR&3!o~|Z zA1R$6W$9952Hd9>U+7cf0ELjgo>F_@073ea^IS@na6oF{oSL=Sv$Oh5ON5I(3}t4D z$n{m!X3m8GhvpJ%oGY~xF<)43Zv7bOHP*SqtMKj&|IHLLBz|zUI4aSFQf(mB25zi2 zU_?-mDY8s+Fon>40V2f$WQRf!D=E=vJR5VbsWz~qHn24G=`x_}cz}Wdo=X4%jC7(4 z-9@?(hcv@NpOF<-qJc9YKy21lW?VB_20_c*#aCvk4cuUDfbxDbt@gkK3{Ip1@e4_q zAn}D#1Lt{=A0zyP31&zG`0>^0?Kz~MiA`ZR~gr~@DDzs$-eaJxWTNXa? zh4%6P=`x@#On^>sn(I92eRtIe4wWw?eBh?!=t&?P>I9Nf^!LDjl|@nVQpE1g2@^!b zdy|-e0Ta~IY7b1nNuQx%3n4Pq39ecvXczL5A85d!^e;w_^QO~-$P*jlzbBJ%D8o1m zeU$XXM4YXX_fPWvN&11<2shz@o52HAvk3#IyZHjrBowW zsS&i^cMHBym%(gd0m8K4gyk_>!Z0T<&~09ztzpNA-8Nr{JL?@IA>(EA{&61in?kTm zXyR z8t58%_7|!h{&7w|eECx)zy9SRfBbIx)4MnH=gGg+hi|J_-@N?cr}8^ly&FCw-&B$Q zutplYh>lZjU|Qjs`{LD)?AbSuetk_|{B#_~ufBTp^v3u?C;)Is1d0rW0Puwj;+Wip zB9n!7(lc6W8CmTK3#?#)O$q8HU#QD~uHgZhYbik5l8G;LmD)h$rrtUx@I<1WM!@8; zkl>*CEzBcOV#`TM;8sH;8w{tJ_(C^@321&Kb-$Tbdtd@e`jlcB)JaR6_(BO2ButPn zfoyT05++!oJH0zSnT+gNe>6TGyqydf%E|-$|2nq0LwaIWXiym>dILmygD47~VZ!Bh`cnc3^^~zfhL}ZD9g*nqu7K(UmgQ2=>(w9D=`)a-uZW8*~P60kXSj zCz@r9%g1FXrFogy@(k}@c3 z36DvLp)1!vnoDTsTbaDx>e7s8;tO?&rIMyNX^Jt^5?=_5&JE}XthU0_z%m&uj1mio zAsrJY3xruBOzE^wHG(z$K#RDt;0tvb%oY|9QX3dN$%F;UY5y`T&>D7(*lpJaBz!hF zCuOD)I%Md{3j2)`s$%2NJ=o@629sJ3#3%bEYXhR+OsPF^0D;dah?3|7op8Waaloe9 zY3e<&Q8}5gK*9p4_rPUZ?4%{WalR1x3rGs7W5xvp#n1}mkPQ^*jRD(4r4Z+^)Hisx zh6Ogh^A>oZ%Yd%q0YfDt$Vf)HX{rreh6gqd{Q+PC1?7zp9!MY;3jKqPM3q46%q!vq zSHc$}w%<;Cp&P^mg7%wfwGSpBeJ-hDEcGM1R=!YbQJgRV7QnS)Nk^_lst=_4K&lVi zn1+B@9!zOThJFLk5O9LrCgnw@sV;Kwt+OJMpA%nb2VZEZA?PxoZA^f$kr&Q*k34jTjX_YX65J3c!@q*&%H0Vfg zP|M143nL{tIi& zuf3hxllPNpA9l5PJ^ z?-uoeE`zy_1+wQ3dOPV4 z!?b4pPbMoHPo|R#8+0KhC;dR`Kaf0z&U-2(J@LKP6Kmy^$bkZAh(gFB1~j>)nKp=K zh$vlAH&{KK`apaUd>?+Fg$XoXf8ae);a$*tP={!;@Fjy~PsT(*M@32v*xWQ^42`0o z`E<_s*l~HjTFt#hLeHUH=26e_{v?tkuLXg9gZl)kh~_fscfPv-9@^RM`g(hK{5hEBRub%XU_6G zq8c|IvxxW)YHM?T&oQ>lNOsjyI_Q!+C)J|uU zFGfYgZeNUpoz`mONf^JWd{~{$j4KnA;b1bNbSVPNn{r<2OfpG}0$@5X%Q!dZM_j$G zCF0m{;>+*io-_BNKAqK_&(EoK(al%AzkmJm<@4Tr*IvAoqaGvlAMs@B)$(O^iZ#lf z)_qzDMF)6>TlA91BWRr&)|z_Wb%iY02Q8Edp|Bkg%}&c@s9yKFtVFnpb6)Ozr9|^s zZDB60a{;euPjqI`LN9~*VrjXF%ZVX47Q%7$VIG{vm>gY}Mnl}Yu1^4l+2aAg9*4Jn zehi%{L6+1aA+<^vS83-GWZEWo$Daf2=J8b|Ra9FNBDR|A8G#c4IHCexUxdb2SoTH6B0*$G(+<|ybS zWyUx-B|-v!*_=X@3Nbd>&QL&GMt zcnFTHWkCfi5f7IoJePzb9y6Hb88tjuV*^JW5;ymbLKdwFV-S#Md9F!Jsh}&Ja~uv0 zj_Oh{ZC!B}A&cxc^KL)Pf~31B=%gsR+xJu?S^2L?+ zIkK3LVpyhRCi7ew3JnHjTOrG%a9j;90WJ0Sw*p)Kx|NnL_p=3C7)%Da5vh^HF5=fF z*m4M_v3H}=(yoM{MlqfjSX#x5#aG+vAQ57(%e*^QI9R`V-uHtGgb;2_a&x^hUTD)M z>r~dsNr?RPD)!Lo|32@bwV9;sU)$j@oWzoN!U_p1B&?9ILc$6+hZRu9FkC4W#e7JP z3W?^=4E^6+iN4S-rxbc_yq50}BTHNDtwEBP@*D|K58&f?P#Mh&OMDJvDif8_ceA|F zdfhJASY7U88zU$U$C^BqHg;iz*0AFNx@~btfoC}wuQSD97bO@GSuVh*A>3M6Fc4++ zVVlXGvz|6Ev2yK=MxizHRvHv-P<90sNo1ONDQF=qL(lYxBU)stCEIEPm{@+d4S}4W zQwxY(4-<>^n>n`!PT_Eyl@e?7LDn_C4b!)y@oxiYBI5r(9Ztizv_4FhOum~VV{Jc| z-^?W2g!G3MUKH^`@-|@>EOY(SYSm{mInO5N+2lOCIwRJ*xh3b>8+V=+9&L4V?lNi> zn8b_)=*z*^=1x(>J-W1c^h3Qvn8gHUK%hr>lZ#lf!4(;;^9&RS4w5vw1ITzqhl^RR z_~Kolmo9g-jb6~27rnS*uKosySXu4`kAt>?OoMt9%7 z_8EV?vILTh-1=NVz^@_Y=kQB1x>Tsi7CulRoF#UCGtMCN3Xetwh@cPt`1ijbL`fw6 z=Lml;4Px>AXZTYU&Bh<|%zf3#wQ2iUcRA58wa3k={@38&^*;|BE36FyLONH%Kd>mV z1Uk^#OkNmc6%|gE&8E%e#=9BSAbu#3yg62{x~W$0$Zk7X$lZ z=6wi7h+`KAaWN;pnk|PD?h9z+2rSAWrGXa%Tp66i{dC$ep+%62@@DVq?2FN`td3`M zeR({cqyJvJmDQQAx1o!D4*s?c)-MYmT)c+sxuaLVYiHx?4esgF=Z(rTjywLKkvs2` zzHCPNe5;ei!}F|`UN)P5`5rT_^3B%JYYoFReid)v@@cq+$@MhW#s>8hS%mRq(0Ypu z-c;i$9ORp6HW~a@pUV_FulVygt@@+o8U7icTwL9$9lwt!JRQ$M^U;N2`4PW%K4YFf ze7{;t9S8?@Mre>JNmY;)$jJ#@Xr4F+naZ%bTs}jCBE<8^%pz${mE!n;8&v4 z0`{seEex$Y!QFi_8o#yU0_PZyxwuMf7}F0gf}cS^_`Y7j;`i5m+jcnFH8*SV3b}AP zxLwFXtmhJklXx9})|WVi(M&vP{AoW9%@v*}SmJJ*b70H$Y||V1{L5R+f;F+*9$Bzj zkeI6VALXUEDFc=Si7S>1Sop`INh}AzLT!+;Un%>QvR|t+B4xjB-BXdm9NHOL#MY4_ z6QzRmhcJ^BtRw}MM8l^5ulLG`H}IARQ#rGw6d9VKdL=?B;5m;gx^Fe} zb2F0;ceI5YU^kh|Tt&ah8^8@sm=k~O{?yF7p@*#zUZ=rWln>4W!*51Pwels)m+SZVrnHFFhAVau|Fq(nlBVbB94 zHzgc$AwpLg74N4}mVFvc;$@2}fS1c7!Pjmf8`vGNBjAB&l?M>!owB z$pgHxOhybx=h_mPFhe58SjfT^!e|Gt%q>Z8mWY^RmliLkpW9%;P4-MQ3bzr@VteCVqrR5qm%E}@g(w_HHO zfgj#=Ciyl}_^lYT(SEbi?gv{B*qCkWindIbC-O#Wn|b=?)SUh6{ZGGq^Wpi|-_L$H zeux*|8dc&VKv-p)&zr$b#-R-3Foc-~QbK2MV{i&lOcf2X&}@r9A}ljg6e#Gb=-K2# z$O!7Wfx1#V5rdn0bL%5Ii-oK3D!i*(M5#pH7*4CQs%;7rc_WcG4w<|`JX*8l3i4=< z!XBs&I&*^1jF)IZgW{;-B6e)qNZvSH-1=81aCEt=E!;{>P9-G_w>#n1?UC4JS^Grb zKrqmq{ecq4IWCONsS<9zT0h>V7<&D>?}S@Ff#iU|P`qAg_rtA+t2ww_>~Sb9Q`gn; zNoSCB1_`PrsQQe2Q$<|Vpn%}_^ z>tEATyvw~@2dLxNwUw#8hVe1N*a(k(}f>45FU z)NMOqK$h}=dPMGqr}%-WlBwx8&-xw^A$fWGaC{B!g6lY;R!Jl}=3p@KiH_L{6W^Vl zBqyWfWR#qYPTo&yYcs?Pvs=dsjyhtBQfGy+(DzXgGjoDwr7(FFkhBTU?H%*+ra5%f z&@95jJDS)^r6GNTkGGSS6wX+xWK>z-RZa57m+r#DyUX2dqXmqSBrG;$O69D}%UK%- zALF)wG`H#B?J;+~f@{5Y7SFu~^taj;nN|V1eCb8Wq85J%HtwDl8HM(ugh@H_8WIlu zq9hr*4CJvrk(ZFTDr+L--K|C5cpDp;<-zEXFFVOi8e}EWy?_Og12P&R% zEbO_@b?yR;u5U$y3=OoUrBPV{q68kz+(ATM^2|tCN@*m`gINs!UH0wXc+0M)Ki>at zo)?HQlzTa?pSy7v1tw4JF^yw1p52V+&AmC_ZZqo`=3~>poN0HIW}l2~@yMQ7kOaq% ztp61XUGTm>acJ~FI44>TT>G3?ZL-gB5zCEnxpSNH)gwP0 zy3uS{d~2uQ&rZVOUvPEtdtg1TDlV=quIpcDWmCcT4cWQ1)egRDWjQO786lFu^+0~E~o$d46psy)qlJW_GJ1R zt)J{cWi$giFLRh)L5f2pdXGDgeqYpOl1c|IL>XYih%CV!BkKQ^vzlG*Xe+C!kt0%s zM!r(YYNo8_w7-1}=2q*MvNv|^d?yL|s|Y@&E$&^~qA?BJ)rt-&j+G95e}QaYl4@MP zRD(RLSP`53OdMfK<1JlbiS!<4ni+9GY*$k|m&!+4px*De3 zMao^I+(pV=q};`w$XyTxa{DdqPh%fJADv|W1K{PwUjE{d8wwA`sPJ?i2)Fa4*kdgkXX8#YKRX5NQT zgs9$X9e;OA=}mjZfvQuXmo|Sxc;C#2J;HmI_j9VHB=nHOd*~ph;brV#CL92x{K3)qHnfeulI7g=6-=cF%nPHRuV zH(@wk4>|q{5qtkW;rM5WJSHSE6tbs~{Z54JTyd=xfpU^~2{oaLE@JmC zL)(hosen;BSBc3tD$iMLSGWm#1@W!pcMIj)yR`y(QLq5dY>AG-yo4Au&mBcN~n=sscnww-a_hm?S){bm;I7u=f&dUJlr3HVhO;$*O{%)33F&BgOt z3G!E!lk2CuRY;gHK*9hC10)QPFu{)9 zwaF<_wmW?Jt7wfLQoGIV()Zn6o*g2H$4yb{#<>_KIx zAl9Py37iYz(i15HLszbUH18ug-^!pWimfj7=3nh@i2t6P_cn}2#@@CX;lF-n-yZ+` z=+Qr|d_Nt3ucw2d{m=36*B4{`-EgXZb^Lv5tk}uR_P7GAV`xv~V)`^{=P|_9nT5+1 zK2QqljOf!`;g5_rcxA)hzvd$QU3YZ7+rr5G8X#pVz$QtJ6;rp0yWrQrwH4L`h#c}9 z4zyY-Fr)xXbg9aa7t9G7XUE2J%i%UwOmJ)EHNG&K%g6$5b-C$nxD~lRTqL8~1h?)i z+}Z$#ZlfhUrTu0y?F(`=XOi8WdeULnk5W}ARfSSjC_$A}6}l5uAx}z14GnM=iB%y7 zi~U>$mF2X^Nm&Lh{9(znV>YNs+Q#heytuQP#dYvyhbsy}FMBZDM6kHFBIt}V2F|_9 zsdoY3>z-7FY799Ubh(W!@IjD>)0!mku`l?*9pJv-rQnR#UT5fvD2b57%owLXX25f!*bElgH0 zaK22*e4fXOE(ZT>G@OJ-qvAc%j(@=KD`pxS+piUrzQSw5m(e}!K>g~Qv)j}Jqs;Td z!J<5Ny+D;a(hN=PX%ukFgDgdnTYa$!#`OK!Vl3L4p9{CT`PukLMzbjVHTtFnJDJX+ zf>PzM3ru-5SpvCl;A7j>MQl zan0p;+fejDF^)+QO5W^Ujz>fIU=>fFe=!=C)$wdxpW?X@|F%2+B<={(@=~kP9B_FO zAEQRw&lUc{Sg*DpSa~i7+b;Ct_S>%NdY+i`iYW%`ij6ilH_-U@0C%G~#QB4`IOV}VAH`Gu`sK^#FXDy$Ph%mtp>IaK zOaHxnja_f0alotWzFk4$rQG%eYu~!%{kVl`bAC2qd|}G0u4v~Q?RwhUTP`ndWqH5& zs2=k3)xMs!d3Fd-)Rq@c9QioQ5A~_qa@uQ8;imUwy=pIZe?A&d?EF1+^D_!;=_Z!EA2DBa6{H#4)v|T7`ZxVJmkl% zKFP^o>d)$Ta=wapXh?BWEjfD*=U z?8(z1T+2qo;(RI&XQwWVzboroSAWbF6LH?zZ1Hwl-o-<`O*>yJ%kXWDAX;D9|HP}t zV%6?vR)2H8%Xw!vM1yye=t%laPAk;_g9s+$1!cQBo$cpWdHyVJj{s8*Fx3E44KURJ zQw{J=)Bu&WsF^8r!wgmjeXedA$K8gibK8I2m0bJcfJldo@=e#dDU*e!qbLa!xFl!qzhLP z`K|Orjd&KRpld5F0jsXp$S&Hu#nZf{WXBZ?9Zj0!{0VG<<&_a{CurLv(!P1OI4I|r zwH?IlTP&zkTg_GOlTO_7G#>isY&q=<*}oI_WJ58w9;n6cYa>+^m*iICUE7&L#glh; zlZ!D^g9}(qd?B5P53iJUY)`_C$ub;X;!phTcFGJNvgXUR#M`#>+?qPN4N^FPVSgRm z+`D{GdtJXhUU>UlR^Gvzi|Hvvlu|?~MU+xRDMfTAQbdBmP$z&K&cQuIiU|KQmdT6; zPpnp47`au^dMgH^J89xZ`;r7|ViR?gNXimd#3lY3xM!jW#v2Eee)u%;E4+LclGQGE zwUsS`ISjZHsqesKl{J2ao3K~%sCE2q38eOJtt66CLh(?zEHH~EVj?iuf@zwe&pdO5 zCk1s;Ag~9Sy!E5|5X!gh{1K#bjeaG;IWVR%r9mn$WM*v%(lORFCLN_jM2SmhQu*e9 zwgE}EKp|)k+0N*@IoVAd4`zc8jG;@Ta-e9#U=95mVQ4Ffv_&2W)sA1Jo9~yz18m&L z9{=I2sL58%scj&S6Jxz9@aAzQ;2lJb&TRBoD1$?_LR+PkSwPi`>9-$|_$LBYiG~l!q+o9){`L(fGG5ofdDt zTi@pMSy@Pyh8L*?_w?*2f%gR76L?SH{Z4>)pDXG-{HJW;(Qm9IF0)3Gj4+scmPIL) ziH@Ed`5lJ|-UDZxDs)&Vi|A3xsm-8V&$Chr&wL?>Q65)x_~3o7*X{zgce$S}*e-Jk zPrl?dbpf{THT-jo*pcnA@yIwrD@<-HbT{wX0`9)Bs&KK(NYK#&+k2SIl|^PXElM7& zVIpd!_WHzt!Rt_xOmYc+nhzp#%!f=CI!9k4tBsCMpPd2xYAD-) zuv>ubn+I!4#NC|cCcw_E6*N$uc?V&&5IU~&5^eydG4g zh<3|>_5@27mUj)zuOWGticnhSP`>ARb4ruoXX9%6{-O?dg_~jl?cctdOkUrSJ3Y8? zMT7Ozzn&+c%?#+6mMOx-kE^p40o%hkzCARF=}pJBEGyrej(VqX5D4RD#Mg)d=aRTd zy_QA>$oF=5ys#1Y-_36LDWp?s(f|4;jAd-WN|+y{X`}gk9Lnk)4iGaf8xC~YW)^vn zNu9jGzV%f#CvrBfM)47ghlSxro$aZ{(UW$m;(I!*#WmOhxtW;zX+40y&0KgjJ&DJU z2RQWgX5&-1b`1ymD8{qQ>{%5J-ov=}cMSSJZt&SeZ3K%jQl#~LzUilv?0PzD0%S24 zoi373Ti4Ed7W{}e!qefS(QH`Um4|oJ^$oUM%z-||jVf>X;DRrA+OsDoy&s=VdeyM^ z{Pwdcd3mh&!m+LXX;@g$SaN8!^7vE|HebuZJ*&%TV0{5z-qZtqDi;s$g~xHpV&D=Rv;If2ZCHh0~+C2a8 zsYBi0xeMMUcWV)`Bm>nKSI4LgsJjJ3y*j{`$I;C>ZbHf-N5=>PN+i#r&=iF+ zSx&soiXzYuJH9Xuu0{OkL35N#2|+98)NFoJG$7_VA(p#LF^*d;bC%_0LBMbej+b0X z%NBy4`Xp=e#(&>kfI44j?+HNtVsv^2XgaWOY;|H?bpi$r6jHZ=Qn#MU3Cz3S*<*B; z&el$I**qlS)r40QUQKv4;nh2VSD7V26dK+B42Lj;Am)Wc7<|AoC-{ab;-ag=9m1;x zr*Pgt=;MkU>UE-F(^^=cdC0SE5dznq;ff9yuYSzicY$2H+}1X7g%v!IYaE>$K(5VY z#vj{`+ZG!E|11RVPYZOg`x<}Tox7H7NN=5*T+bQ+LWlo-RVrE;YnB1qVX zC(s0FF9kFK@N+OO$3#a1xk6h{Vda3|TJ98e_p3_vbDhn$GwlLtckFvPuKn&CoM5CS zS3azEEDc6c>Zrq+pSn3qIl#7Db5j~2+r zd6ALAGgAmBoW5f)MiFk1nGacx!UN2kWC^u0x>rN1912)X6*i9=-a80mcD#8P5T?s5 z-2h>*XiJmF@D7333Bs+X!*Vn}t!0t+1fMS=^SU$fJm_8Vm|EH3c{JWC!gyz39DnRi zL6{wPU}X$$555!%0)0|Ip6_&lvK6;6C!sUX0u1k@oP@MVD2qng0;u0|1)2qUJG z{@ZF;jNVTA5Dp9^0&8vIEU9yWH=B=!i43ndsf`gjATOaqeH1&zQK&@yI!C*m2uy~q zT>mJ%iZtn{6XbeiP%W)?wDR zz;SjuhX3UuOqbi*f-o?bQ=EwC4xb>**4RBkmds{ z?sBwn$*j;&c*LYL4EE6cmwF^-1=S%$g~!>fibMrUpaXgG5P6i8U;tXZ*SJf%HW==+PkGJ-b-kqLIM)s^f8XphdP6jAI%K`p>{gBaW zZT?wvMgDP4K79F8CBOdVA%FaC`qR5N^ykUH)Q4}YSKqw+;ivLDS-l%ROIYGgUT8IfG%dLl3!(1Sn*qDw?X; z@$imSC;r+kQM%mITZR%%sDmf#lI-?kBc!7j#I8E%`t$;k%OkN(V)WPu?))^jV~9(S z+-W!l!%g8~Ov5kb9`z{Q^_D12Rnv_MR5KsMJ_7MkS?Mz{?+V$-@Bs*sKbuye*1gBA zFSL%p-;e%#V=sd9W*F^5Tri4T^(}<`;ohAec337Z%;{D(Teoap?etJ=ZMqOWY&Udi zz|~DhesmH?0)N&UPh4i7yWLN+V}pll7}>oV8LW)qW!JT`+4@jlY+SI<|#aF4O*BO7e`o%8AaEpxn&Aoxz=d$wl+1z}2&I36)sVf>Cf>8h34u|0+ z;=u2)hR!n-k$oPE6bXUr>0oI8b3FX@#aMqgoa$d4e}DSs)SUh6{ZGGq^Wpi|-_L$H zeu!81rL~`?5i;eE#%wY=^ynp%233b+v0)*Xv&i zfv1{YEUnJYhIo`ZEPk_Tg$=)W^&@-s&7)smlNUc7qZs?uqoZY>n9AZX$N zY4pIXK`%6TZCVBkQ9=!K1w>HP#r)b5x^EYxZ6AvcTBlt*OFK|FkYFfM{u5^8^5u{#k?9nLDZc)8`Rz&jJ6lx@6HH*Dv2AP^f&| z`p>v3r)uP8wU zPyy9fMrqKQgU}01O~+v|Wi2WxIN!r9piaAsY{I=@s`k@6y5u9Sfx$iXa<*aG93Aq-1m1 zjyT_o#gBPOAzD47V7tZXZ8$qQ!H(_f!$-A#{X{0zpjpi4%O36vH1Fps7sQBWr)3p; zPA}CcW{F^6YlDh4s?@OJ7qKakRp?Vh&|`_0cz6|Rh8#OuCBSpRi9voYZ z@LxZ(Z;yX|^yr^fzMqc2PgE=n%o@$CqcOlSte=Lf3@aQdQL$jbFqg}99K|?*7vx>Z zUSX#t#a*Ie2`O@P#>o^A1I$|m&8!y!zRWU6M~PGB4%#dHMR0`faPwL?f(Vv_pr)}J z-hd(7G6;=7x7AfT;fQ%gI3{41kYFFe<#MOUHHu`WH}+%}L-{3C+YDT;0Y|jqz>8b4 zTOKr&RJM1?4?q3($#+M+E8UQnqu;{9 z1NCU}fK20uy>dJ{?RkqBuJ^W@zDAa=978qGtIFOmz}aA8$M5?ech%p;i)Hf%>!^g& zb$lG^A49${J_dh0c-3U!U{le1(9Juc_aJ(H#Wk(Bo235dHD19#N2A~372v_{os9s_ zrr-uFChHzZ}oPXFU(;@8{o+hGF^a?mFaL(mBDJ1eWpJ<}j!B-RGQi zJO)yR@8Wdn{q3>~c^qR8tdPBC^PW8h33@W^J^uDbyxZms>7!n}jE=uM4%4{q;9OtD z|HLVLE5S@)iCm8fP zREZ-#3~zg}>D`Oo`8K`3(|^QYUE1&150GfZ_uTTlw;p)$s@$~q5u~=g2VXsY*}ICU z5~Eu8ahVLx4R0{K)$waE3hG){*rJ8Jbk1;pgbuCo_VMLiGRr zf6D3v)&I}yeV3j6{ud+10soq}_ahlIFDd_D{GrI>zw|Ho$_@+s8=gex5+VFO{EmP9 zF9vDPZmAG9t4Do6`}9F1vl~qMNM3;0+mtTNAI__N&F>E|+-PsnSx*$yT{5W(RUyM+U^s-p` zi-%et<^R)z1bmE_(dV-%I+1lbx#)~>HqB1#@OTD4ws_Pq%zk*WW8cMc6-_<0FL1@bG@lDPGQmkpBbBjEZ>?Ud-H= zwODP^OAqewo)nmN^vC&&q4GsI0Yt@ z?DB&z&^0-X;|MJiTG`X5F9xRHY4`d0V(mDoPOB+auPDpI+MU7ke_7+j$F`{N85Mcn z=~Xaa63+vmwRJHsg7hB!-tekK!I-0awdFd;n@(9*7E-Iw{bwR2IiB*`us?qB@`o2k zF-oJXZow>aVSYKfuAhcxyI$&E*y(3IlJ~w09*YjuJ@k4O`H?Waub%A=8Jac7&sXIg z%b@$)GJW~q-CRWR-Z-00!{ALdp3dyaGptp>REUP(;Uy5m-P@qrZab+>Qa-YJs(upY z+WV_j(Z39C7LB=*nMtakZ*vssSo=*C^wgkWd(#C}mpag7BOY97zTWZ4yF(Rp!;~v^ zp)wD`8A>a>%&Y}*HIz=F&cfgv99dz9!@{kix%5?XBZz26v#}2~E}IO_Z455;reA+4 zcY6OVn6h04_hN-xa+%8}uODp{O#9m?Xn&%R5Iyz@~m zC*IECUWkmFSXrD+p2dpZaV+G+{Nwv({>8-ln<~b&F>_r_fZ^gt$GBCKKDLX)HQ#-e z39xeP77=6lUEK2;+n@mC z+-P!ud%=w^gS!ql1V>Xk!$fQ`nc&8@*r?NOzz7~D+z_@mIR{G#Zq$ykEsPRl)Qc1q#MN_l3d`!sM=VGX-k(p$JCx_hpyqTzFXM5xkHY`U6XCjL?BHsiTAV z)rt?z1D1*#M-KvHWf@4wbcvFN0Iwr6c@Cculr?NgJfmW(Q~Rx0jNGN-Mwh`|M;lBV zofBi?+)rp@TQq&g(FSu6ZZQ=VTbOjgIdn$gJfq-C5!h@h>Md@6DsC)!LJyV&49tpk zmFe=k>n?7XBcc1vbld}O5EM7KVVbA}Hxk@1m&Pyy%=5}lfpn>)3=N72k9nq{E7v~? z@6MJVnY`X=E&4f^i}8I+nc>+*me-lH3aIrOsqQ3&0IiW{&dMh8=`#G=(aa-rAZu!41xl!^~P-;suwg z%iylV4RFdS1yf()=}vItp27_R8G;4I_ql}ykY=#8qsXc#S6E*-Q4}s#6cgOIb-2MH zQk+l6&TzvVNz#|ZP{Q*BHxk@PaO3r;ICox*9e~f?M!qE!qIJ;Q&CO)Kx%IJCW&~v6 z)f|5@#gc(~GEh$j>K%$Fx8H}>1&+Fg4rsE!PgTX^xOG$3lQ86huVkFw(r3>2=c*mT?xHl;`l5!()sZw!60XmmzP97Vxu9q1#YflE(7 zq;e$2y$NkxMY+*saM#g>A&}3&r%)ucQBD^U^_C3#ZgZ))W41JgKptM8xPk0m<_Ij9 zY!HH~JP$#}+n>Bbg=@H|}R~qYTPY=>~%71UC?G+yLAVpi;R~ zx-7^Nk&l-mGbop2)^Ms7W7Mfg>qv0pDsZFA;I6|BVKmE)P{{^&bZ@I0IX52K4V}>( zB@SV{$a2Grj5ukH;w9>nsk$)(+2z*Z1~dI;I_?2C1gaaH2qJl^Zlvl)s%|9d#sj7L zFvdm$Jao^?Vu`gzels2SfE%3jm7)~-s{}U^+(>XE z!Honr`g@o-U7&~g$2s}%(-JgWzzqndEEtS|>B4G{N{96cZrpx#Lmf%gZ>HlOaD$RQk+~9i^1)4HsvY{% zq}@o`ja1z@*Q3O$Pl6kM&W`K|(e4o30EOIm4#8?sNHqC_cq6mu?w4^9f)m^oh=3B@ zxFX!>GPvt-gHWEET=AscxW90NQ3Lq~%hBYIpr?3{JhPsPXwtwW5rIe&d)=h!#w}Mj z)RCb5W;*TxH=@2=NwiQ%)r|x<65N=k>PD(=r0PZ&&%CQSU)>?NQ4+^h=~>38N5e51 zX;lXO{#0JrkSpdTOI`l#72!sg!CiwJ)IhbQ6|$pEyx8wqYe zk`K#VLIl`TrKL!;dJFS^0$ztiTL4|kV3<$UjjO_qE`z%cH&jmGf(tcGf*bc%DlUsa z;DoC)W<21Af%|mMeUUj;Dpi)DpeAzZ65P0TxIyy%d^+xdHXz;LGM70?##E`ek%}9s zxN(%wMnW42ZA1ew;R+HvZa5<;@~i?}s!*cVQTPzFSF!eiz$Yoiuc8$1GPvt#LxM|% zwr_dNZl~hL{VZ-2nwCKLB7;#fjHzUyGfQ)5#%bXS6Ifo#=u4K+#x0`_c_bs3s-BK} zzzskYxQGjt&_+TV32h{_k0y-a9h zcGcQOm%&{}8%T?4#u!gjs{5_0yG^~q5)aVvnRN56}Zu5aM$4mnuF!&ype?BllxoUK*i8F zB~_-WfpUYO$)D4Ck$F#GkPEbF>XKsOQr$Y2iimzQ9ru763^uq%=R~C@e+h0RxRKyS zf*T2LB)Adb2B3wI43<<1`fwy#g@hR=GZ~5-Mu-y1@iMkIPH^KYaHGrMuE7mr6f-IZ z^E*{H?yXRq2!UP>RA#!2f(;3@Z-U|(%SA4<3(CtuNhM^r!>pfsq zNA!-k^}(N?{qexg5ZjHb4>tZ-Y{_o@{J$PNtNeI$DS{90@QV}dHyOMgSJUW5IPpNd zIOD-&=9bqm8FaaT!8lAtvsB&Kb=y+cjns7`b=^o^H~i=n3+}zQ!Oep#1TO*_0N6;T zA|+_#_-oDzQdkmfK~i<&s@jb%gS!qlG=ZTF;UX!;?{9TOL>Go!FlaY8>=^_XnK982 zH~2D8QOf_Hy*F)cv)z^vMW`pGc^TY0%R~~O69*l z>oft90!X3(DI`d3UprR<(Exb54|=b?*I;es($RF|o~Ik?2p&_*?YINnP=Fg=BCV6) z22D4%phSWj1UCq75Zw4o;6^E`&64LvdxVauw#|*VNZruEs0bptv6)gg_JtdL7Iz(P zXswNQ+L2WJ@xqP7VL#;{lPX-Jza0Yn87w;8g|li(ZH@IL6+ejS2G@h-cH9AO2*3?j zqsU1rPH=FtsrDgL z^;z6?xFNllN;&7S>Le9^oKo>D(fzhI!3WnEV0;j3oR6l-F0`8Q;(R7D)d9c_S$R>* z?YINnfWF)!#*s@!WGV{zqmVxe`J>nkGQuTiD!`2#gp3|0Ib5`uZU{K#xGa5>mF2|> z-nOY0z63Y+fg61mcO7n^PC=l!w3^_?qt$L0cu{#6PyuB4YJ?l%OeHJiw_LZD^JGiS zcqB5_J(H>Aky3-@cH9AOFr@s!U(Rq%aD(6m!3}~N1UCq75ZnOVu$>X3vepfUJEs>6Tyhl&ZJc}`_Cgyy7WYH60mCAWd_@KdKMgk??QkO*l``Ch z8U$>@mC8Gf>ff_t>Z|)q2b2;$8N|Yj!f}xJMI8Bpe|R=Izc*d5^j)igM=F- z+#ulw2{)>6LqQ2HE%L=mOyH1*1Y0VQd79#*VsPb@!BtB}8g1+YHu@~?I@qw#iNmr; z)nr8yZahxm2G=}gt1wS&(fL%Y@Wz`uUKCD6A=_dd2{#TvxFL>o)roi8aR;=)5DbX( zsWih}LOVsXjr*T%h>jF> zz8!ag8(>nQUx2VqqEZo+il|gXr6MX7QK^VZh3N)*sn)g7Y=CEsMr+QZi4omaom1dh zM`uG-EEC+=2X6FP+;zC2lxB*9T|?82M@ywL43s(e-9jD}pq8qU;trmvjclE3bMnii z8xn5Zvv5Nk2{l-5$KG(G!zc>5InHx}8w589ZV=ocxIu7(;0EAE@-0koA=S_^gG|LV zDj$n(YgAlVW*GP#SVsiY7>65JrTL2!fM2Eh%28w581H;QFKW-S|* za)Jx4M%YwkCZ`vMz|zRNV-AN zjVj$p*+m;5-9XSE&<2l{OI4NPNoUsblC!Jf#>A!ChfCFGao5lW2p9@948|x?{P9XR zDp@MGtTZ-@nz_MY&yb95Smqci`hp)-FE~OQ_l`CsA1t@yE@*=dgv3AE&~Sr>8#LUY z;RX#iXt+VcjXK<5JVz5t(}KUzC?`eZ5bW1jqeL!-Tj$A`YVYAjkHuYw8y0EeS{g^j zRF4;Kq&CRpif)Q9Rl3oNCKSl0vdje$e{F8NO-FF!-r)vUgXMPI0dBwsmpP`SCg}!E zH)y&+(+!$#&~$^Q8=ViXYM~X#vhgjqfE%#|mkOd)mm)~y3iAz*B7% z4LE2@EWDxV#^Z$>kp~sE#4ckcL$D!KgADo9XaxO5lfhuj72^}!xM#S*I$G5EcH9AO za6f>v9Mg=Z8w589ZV=ocxIu7(;6{ZT+@s=&A~czs8oL4Wf5&ubd?})p(IJJbYLu^ID!wuy71UDWp+z2cBhZJH-s51w_|U(!Hy)R8`?9+$(V}Z2Eh%28w589ZV=q4a06_gHb+o8ib!a*h8C8b zEn2QAOVhSl!5)`V{`S>w^jX|>xWPgCwo-`-^2nI#aT-&39u1F9HpWS4H+(?KAIFFz zBxW=#8j2~JZXAFQE<56Eu-uNjzzrN^z1K9|m=fF|xIu7(;0D1Bf*T#&Kyo-2F*You zYRQSzv6zwaS4>bP8Xb6{*p0p6Mvui^gB#W>%aAuMNGkq#ryDwI@E40g${&MZ3Ym^g zuq~V#cqq!io655)n4;;%{Z2QeKhkQj+>SfI4dw@4aGXV&ZV=ocxIu7(;0D1Bf*TcX zM46dLB{nUWAXC}Io1oj&nB-kiwiG6bOtmlE=(D)%aKm~bv=zRFozQgSaZWcfv>7}B zUxZwM@iEb8BGepEaoC)_ z-`20(WR)taxJG7|Rw2g6ukECpGO0_J5BCiCtHEgZ93>eeU!`OCkbgavB5 z>F9l^Z}#K}52W)yJ^6l=rl+&p5PW%ycbwt4+3?MDG_T{eS;8fVPduD0;>GVU8}|7H zhSM@TUC?x6+i4qOnMYxcMdlj0x?VF`*#wi=u0K@Xo?SfTeD|zZ^ZD7)a5zh^$~eph zemMU9*|Wa~{cb+}#m@@~bf(lB4{0~{(Qfov+;zBNq+nc0PR>-f)kgp4W)1GJ z^D=D&?$DB1-LT=6iYd)Xy=||Gp6Bms-E>*K?oxf>Wlm00I2pY!`5)nAQE%5f9si#z z$e}AAjcao-sl`aqhDN2fMX0z$)tSA?A#3eJ4Z9(@ae2a?rc}=6r4D^IPR7O0u+S)s zf1QWOD+OebMnztVqR;AZh^wD&6= zk6xF_^0mGlPs0SSG&&18*H3H=qIlGRdxQUKE9vSJzqs+OKLn8LpZzrcSiYx)Ir(5s6O@%8t1tu8AC5R#o=SF@qn8r!?q`cpE&e#et@G=zzxLjK{meeC7<6qF zZ~p+RcEn;ze9Z5J)gIN0V(_o?%j|z%m2fhD zmBKunyqnDjXb^0E{GMyJI74fx&&x07BRui1FaIIF|L)nJuh_3Ij&b7t_UzkdPiqU| zb$1Ez0ju}MbUK}ulkQ}8H49>Er7;0H86~kQ@~&5w^NlvqddN+A4E5%m%SB%bZ-oas z`G z>2$-Q`^^g6r*#!fX^|Q)pqdKUy3Uy5gCjE4hlt?dLmO@5o7gSvj;?` z;#RdPhuT?HfEyXARo@!lWM7hvUS!;C32y8OH~K8@I^1BqBeJ^6L?klR<0Mm+l8~V3 zFjA~KVbvn+#_=2)7K;Uiv2EcOKyc#_;D!K`werfH+XZeQ=C5jg$(V|U8#LUY;Rc}% z8g9^Vql$%!cabLv@>JjsqSf3sJ~N1nT+1Z4F(*;$UgA>i#ii=8xNB&`I0$kODJ}_Z zJmTSo%W$KrT8+YCM+HU|+~8o;prtj@=bT)il)nRzZnz_+2g~ia1KNOeLoy|-CAdLw zgWv|i4T2j4HwbQ2xRK$om~}?1Ux77*@<f*bq5jXsOJ4mXTP z@|(02Dt@bJ=fgIpvfl9+p^`EjEJmeZ_kg?&4<}T?v(#<2icKRxK<1h)wWehVTSjSAu;LT`~Pv6W2lQQotrDpX-R!^SIXCFMF zkJ}9yQ;{(h8B<*vg%OwPQFE!Pw^dMHRS$Tu$V*a<3syBeC?gB%qTFeg32y8IH~K8@ zI^57ot7;WSu^W$fy3r;syaBRzQecp1BHZOdgp+UU9BW%Jtx^qMAf@;{E5+>*yepU6 zu{Yf4FpA;AXhX(SG~J--22D3;x9nyzxw`5k-FTeR4XdKgGWbTc9MPH?`^_u(SOfXP)4G+xihBA9 zZrnTE;BK(oj=R7OHsD+d^_#{H=x~MTsY|oZ4lZZv_WWt&<3FmLK{FE62AW-ao@C2 zqtB|L8F!d#G}&pFQw)-8$`s#sxY1{E*U<*jv4u6tlMU|UMH@merEO-7OBwbIt%n&L z7>t1UK0z^+K&h%xH#FS1=i!DqQWklA-FDmoZ7>WslrYlMaD%v1#HAuG6>+JEOGR9& z%B2zoaa15vA#0=3IvC72BiI9tfiBhZJH@F@wx8n|QL%_|73&A=0;L>!1 zrW-Wfpy>upH)y(1ryKC!Y=J4-210Q(S`}gdVq|So&|hasNzY~Nvy*gVAL&M)#a)LR zhAD0olEtvEw|$? zaHAtr!F7Yvbc3cFG~J--22D3;x? z-*>vvXK~lzhJp{S@KP#*8|{4XIN^p*y5wkC!x4Iel)nhL0kKpQgNG+|kusAH?)(7A zRQgC&AKY#`_J$k!Nc(}YT56*RZV=ocxIu7(;0D1Bf*XJvUW>qWObss%2>?98Bd5X* zxFH;}POOs^)Dj$_ynIjrE| zOQlq#>Bd384dDjo+i@4P0beR+F&8H3263r~OGR8N;!+Wpinvr=>P9PAR$4UZu%gcz zk!&1VhA{_IrFBsk-x8Nv$4Q`{ozhN;vD zUQ+N@CuQoUBk9IHOE>fpmxJYY+yQP#HozwK-Z&a=&~Sr>8#LUY;RX#iXt;sl2KTK| zR@(-Fez4>eEi9@$bFk!8i2g&axb7TTNxHF*bfeGWuE7l$;9B80%y4PA@o2eJF&Z8m zb{UMO3*d%;`E)Bv!xZdri(oukO5Hes;f6ZWX0Y6jJHQR*2VOg_EJ-(LxPkOyAC%%=6Ay4NP-)W z7H(t_BhWqY1((=#5wRPwAcX@SxHSUDB>Y3ujr&)Mt0Tn_^4D$0-f#mL#SgSbf{`UM z6~PUH8w589ZV=ocxKZJTYm+w4szwC|V=B(kXypaj8x~a$xK&!{ngBp>V;{KDXK~lz zhJj(f;MP&f-{U1yae(+FfSpSxOce0 zECT!LcH9ANaB!&{6EFi<9yCkS(b;@-I{CI!%OL@>0vAd zSsOg_G6|D;cZ3!gd2T6NpZw=9|9%n{DD9@B_o2SolOsHk&j0k}`%#*n-Wp_6-r^l+ zIBqt4Gab!q*3vBD3dB8PI9tSv-(faPJ$`}Vw9HNyQ$ibCPTLU6JPLCxGS?haG|f7T zkV$OUA1ZIpE*^5ed)BM@{Oo8roTXP~9A<;@#W_x=<6$}pqw#E5FNq2MJey5RTc%}_ z>KWyD+b}xCpMDoV9RL38+24bHH=q7u=fg?(-|6JfU#IrR$=v=K<-76gu{-ViyY zSfIjZV5Doe`uIC%8dygWv|i4T2j4H!9pP8u8T*a}ALNY;a*mRn0g< z6QW5abC2|6$`s#sxY1{E*Wm`&Qc58^eLmUXK296lSX?eX>jqQB00JZOHv+e!VKw_N zwbHO$eaQ%J+&kQmda&G%z2SyDQpglXR0rb(HwbPJ+#t9?aD(6m!Ho`XFc*vwZIi(? zt{yoE05F<2J|XWo7OvY|MXNO3*k`(7dMxf5+>qW|qdjLN-FUpyjhLg6&O#|}T1+=w zK-5hEu_lz_5cDTh&Xw&zaO2+L26$1+?YIlvfOJDhr>!P375U(j4=(xOk`FHV;F1q6 zrW+~8BDv5Ykb8t}NEI>N$lz94W~8!0wWV5e65QAaZuD8)b-3Zs?AF>kl5RX+xY2TG z!WHr~P0Qee+vK zoV=UO2aq-3ewJQ^$)udX`|Qb&XJvY>b-}}(-k}q{ENU~ZDimf=M~uS+pJ0s7fa9lS z@Mbj0r*CG1Ntt)zi&=f4)stuQ*#}SPqr4#r#}lR^vkiTM53rJWEoNo4Cby?nAcYW@3Jg(l0xkb16+RR(!JUkjCAc#_-`cz2>$6H83WsZ?`N}h{@);HiT z?|vZz-q>S%yb6Ak**wfY1O~q@Qi24f)Nh@QH@W;_J$4a)-8lTZqw4oww~wBW#`u~E z<0_g(I*DyC5@P;2(??PqX*F2xmmRPHX9JFy8&n~L4L$)jfMR)GrkA*Yt>J?6TiAZM z;L8#h$GAKQ6OgQ%Fab8gT2(r}xQSJ#fOSwpn4lN#T;e~%1V>MTfR0#O+eGPs{}b5W zQ6$?G#abRSPr5_QG>O<}647UI*YSWsH-^F1i)7u~@WA#mGl3~%-!ulYwz}d8Ztof*P2^Qzb;IF5-b^)FO6P(REOmP1A_hmLi2Nys3 z=RcqPva}WY0LM*J={<* zkviXwJHQPFxWT+Mk`nnyXF)m((pk_5f^-(WW&~?s@9~WwU>jwPO{U>4p$nSO-HSq{ zrj@O8!DpD-)Nv!hjeX!opT%8=8?f$Tf=O5BcO>h+X)y4AZq__txWRk|zQBHS8gL_H zLhV&fO~%&aCc?Zll8e-b^NkBgam{$+;%A>8Zb-ODoo~n9a6?pCw-?MK-jt>rpJ2Mt zZ_J2uPs}GWuifa+_bl0n`9#bow8e<|gtGGvm`?#dsRbt5jYkF__)`)_Qc9-=4mZLV zqf6^MS|dn=^L63{F`q6c{TmG674xaj08v+c|#1S3snSTZLvPJjRr;l zHc+5w3*{Q;3J<&$T(erC(n#XUNTSz$aD@%}Ebs<4VDNtO!qQk`8w;w}slfGnn5qb9 zB4DxRkf;WX&?u{_u&KZd3PdO?TCGAl*!1p0!Uk-x+%G#|0|`4=$t710D(vpC67H_s zeI$#fWIK{YL+DMiXp%*5^@O;8S#-`p7RFU$F^++3KX42OBpeZnFr^q(e5w6O0svb8 z0EPo~eli>OSnqm8E~tu|F3$JKM^Vc*C_p zuiv284^6Xg+E@Z?L`;^_;;k+YTA#CReanwgHJ?|FwJE=$MZWCWU$YLEKm7C!eQppo z-Cgs$6zyyvwS#zs$UdKK_1kb<*1+GC?fKVNOrHw5QW? z=WG>D@c61~{oC|(aduu3K50Xoj?(1hth!OHp72vujpj1lS~k`A5ryRnlgP10N8jH zTmYY!lo@bixgB?a8v@z_&EWrgq#8Cx@>`)A`~`9Q($re0FdHCP>TexC7ik&YZz`gB!a%=)%vs z1L?^sRa606ELX7ULTqY(0Y_bVadivFbW#^GaMQ~eZ zIO}!TCMAi(&zMJ~x<{v>JO(@fsn50zOFB8pTGy(NG(K9De!G9#iO;U{D=3!Rej%Qf!FJM$W9T#Z8S*^_NwnULZ3dO z-oNr%dzJoIk4Hs)!8Yo8z|!d0)-X=TF*pE42^!;|@mHiC!W<_Aqbkwt;-IYzvvuHc z<=sCuMd^UBfpUZ8e%TEhFoRTk>mE`=e`9(>{2@wX{xiyVBDd3q>JN6aqydP!vMV|F(q-sUbTy!Y5D}ylsL+GD41~MVsHEYN=EP z!UR_^!B*nR3J>&I+zmXSr8Ck}6vAv99@u&saNX|R`@d36<7M_}tY21dn-hU(yypce z%(_)zka(9H7aXKT>+I+>X8B2Id!#D**1nSC-($ zCx}AWzRyXnKyrn30Myf*lqf|+DI!YIol%P5!J?Q34MJoEe?=cPnA5Ol;VL@h%?8UA z!Hp{n?p~2!E4a~Tao6BRwZ6v$f;m!0KVGx$ZCXmD?yU2>>N%|B3 zat?Cz@Oi-v;Reg?xC`7sx`NWqI8Shc;D(Eh^~f?+iP^>p4OJ4FNvgJ@v@JvI^HG?i z;^CSj<6SdZDUy@eu0K@Xo?SfTeD|#0BL-4O3wFKZJ;4ov8w5A*3~o4+ITH$%j|sMt zE>shfX`A9%mauu}aB9NWA5Ay*nQru1+;zBNxe-zrRc|_^j((i#Xe&(165^dr@CFvF zkVuD&+-Ig4ywL<}VaJ8jPjKVkPhN+UMRkw42y?z>)O7K)D$-cQUpK5{>sDHqsnnTM z_pSDPG%lcTjcYL{7=rF0S!Vt@(?^mYaXvWTjys?Y3ADk4v6_Y(pF(Fr!;KDF5ZX8! z<&dV>rCkK<%ku>h$facUfi>tw!wm@ODw)<7&YHqg$xd-wO6_BvEk>2u!Wom2&<0kb zm;J=P*Vxiqcr@Ocv9RAYyf~}&7d>A7{v#YpDmvMu8VI9-HWYwHz(}KsQbcDJu2ol6 zyo5IPK^uJ*cO7kLX&?!;x)SRNZ9Go25lu0%!0}9T4U+=oh&3_h+!PqX8f#osU9>l$ zjeABL>`2SOay#w-H+YSX*38=n6&<}2C4fWvZ1e^lo77D$cC0G!Htj!(8XIwM@1~)Zv@p8 zB~q&`&&gH8LBbWc zU~C&owP(flXD6hz42YNkGn~E2_?8K0X!PT64B7G){Hw<0j4vg_1KJj)G)%PU6GlW; zDzkbz%>}NM&!_Rv0#oF!sHSLVigw;QcDVn!fOPPScQQ7}cLpH>gQ>>njJ=*vm_&>S ziY6A)zM_Xdi@RRWOKTWP6;ZJ})$=>m^H+4y=N6D3QQu#At$HGMF7>Y-kB;U=0pIy8 zwb4bSKZiye&ngQEq6evMV_L0E3Ap+4kF5GhWBmjP1uF{Eb!V^-3yB>`3(-Tj9ecwK zU=%-)9=;WfXh=ju3IsO@Zagt&fYhr2_Xhvf_@!kF`P)iO`QpY&#qHgCf*a3&d(r-= zM{g%&^ZGDoNZFtd$02$^8v$}pf$WCZ7P!k4$R2z&+3|$kLF0nk#|770y!Kh#b+{oo z5~GypJbegmJWjabjMuvO8VM%~Hl0Wfqzw|#AGlF^EbcnoU>f>r;Vh{h9@k z$YN|Aqz|eD4j;8vG}0)X`QmlkMKcoIxI|bNI_hgiO&34=)EaAc#Pndf9e02mHG!Hl z%Or8Bh)YGo4H|CHaAVN3a;`(457=SpE6?74`C_EM`Qxel>h1i++t>W}+0W+v52Kgg z(Qsolo(&%o+7M`@!WIFpb^;l8T8qX>kSBSHBD5MNvbnN)Xt=Q#+UT*kYiNTzcnB)) zL}jqiaN}_fHoRn$dj zV;{89XK~ljhE-fUEj^))$2;4QM&?$+-vBv?$cVux15$1H*cXVkGklxF`9P6o8~2Vj zD%<*eJN88zfGC;`Bo_{J$cHrCSV{a>?kz)D@y^n8bT%KIPG-XdN?B3Gf&K@BUFAY- zobmz@?}o9!p!AdNaAkyWJUv~U&4z7=(@~n7ocSSAPF|yFIh_r+^8jlk(8*}BcpHvk zEYk=?I7nu7!^qWXIGm+d6ot3$N7S=(PT3UX7K@sf++tDDzb@5^nGeptR8ObVauVt{ zeJ3qd7RI6`VDeBBq@^NOA7baBG>z7`GVvHHD#+#H27%XF!GsG}CuH*o16gX zs4CNt49VLPhOr)A?Y=U`30qvj7T4bQR`GXz7IYm?80dmgiZJ3zZNn4SE?XXaeDDqAAuHDrQhzK_VC=D zP=5b?dam!i>f_3BC%DYB8 zx(U(ph6SlXg@LkKlD2xy%IUhwk*|vOJ`1{0v?J`+FfBzbA%Txh0I$BCw5QW?hta~x zm9q42wbynowtaHhaJ%w^pO&q+t%BV8W?Lg{}05qDVe@cM+69=H04_f@pFiAisw zYlJCXyEI|0hAemqopi7wp_H$V##FR-No}=g*MsFXzeCZk*g&B4!3Zb2|OM z;pF`Pe><6%X&X|RUC7(-uGfC^XSu1{J{cwIxSt(S@lM4%74PgjD&8MJ@!ndAG$`1= z^TZGpC9H3vK-B@(d&@xZahZRX+JQaqeyb9`&$4cm@SyNGDdinGur7bY+e`S>lkUER z-}40YD&%i`?OuzqS)FZm;M4I1Dle;VD zcT(X{2cC*}D&nb#ry~Agge*swC4=1%STl9rk3R(qa=sNxqR{X#IVHQHwGR9^%+OrB zLKR(=?xn|KUQ@a&3_i>qmF~-X`E~W#23PjLy6+pyj$h)wJMRoxBPkk4=UKx4c&9PI zVqniWwBlP)KtcORpVC#iw^2@SoUY;P(R9AJa;=^pdU%EU`Srd-p^nab%`DajS*LFU zO2A18U=2gH|Nijm=Ff6ltjqMP`diA8$sDcSthX1(Qag@s1s^V>NH2cFryj zy3qA>6t6zoPn?E%nS{x_JEE7w>OX(^_mi-I8_9I^zT>r3d!c~n)6)q`^Gh(bcAfoN z(qf9d)QDY0BSvVs|R& zKm1UeY#Q#8O3;5dA_<7gi-gP^yA0ZJuLPVoEmu9gHgEmRdoXG~{Nx9zZRHNW`Q3il zt-NQ(!^4&zVtIcPm*txD>AP#&-}Irb`-Wpzlk3u~e2h=cmnANavE9;1fNymNh!)kS zt%mH(&=Vhr30!f;@WmOV(`gyJ8BOx(o7rGe=0hAdn&Fs>C(q`y51!Bmm36NY=6DsZ z5po0XV_7>Xli035RNkIlJOsj4eb!nO(0G)lr?aZNPp9MI`L8srh;M>F&t}uomT8%! zI*6$qhcG(DpMDoV9RL38+24bHH=q7u=fg?(-|6JfU#IrR$=v=K<-76gu{-Z!lf19FM8T zMTfrY4(9?(qReemB0Ql~2vD16bophgV2BBeC@5#~t``SwRW9H1?tNgu_BFV~0x&W> zE7SR?bj8^@-~O+sxz;cj8CxqJ{`X}zL$!t<{qvtsekrrl1+rzo=&TTDXmXDx$6t(Q zUyLU8p=0o-W&=F00;WwG|CQI?I2ji|t4A*4uNxYG>&{?(n{FKWd^9e2zi}<*1U$K# ztFr{ajpcUS4Q_CSS32ln0#x(!@;tyRZau|26z&^ux=ZN;#9IW^)~kQF8r};l7(3`1{%jFXM(Nw1p5|O9 z9QWF7-~23BzR5;s&82i~Ez)ke`K< z01h{jU01$HcgNEIVL8$I@N--#>Q5q7@|y~|J!S^?*6)HRe5UkZNwcAXnYnTk85P#~xN`&)i_S z1$HRyB^xk|51C#OaSp1qU!l+?r|DX|qI>kVU;8{)+VBD{GLk{zO-7i+j;B6674~l@ z)Q5laAo}p$io!A3Z<107vTqeMtgX_G&jD1MAfwKoHKXSGd+`nTzEwrvXHhpQdZRt} zg5Qxb&a&3Hy?|Xk>Fz7~qgellY=O?{H6OVPWqBQX;%< zK~|F(aXDb-45mB`a%2LHzF$#)>u27jV?Q}3RIDxMA*NO_Gg$729m;zS*(my#XYRl9z=0(A~Rg)wsC<& ztHe!!-&tTBE(He&V zc9-;fV*%2q#J}nE-d^3`c+^H=-*PFW$R0X!ZqTjgs)^EsMl#NL^su%mqF-Tu(|h)* z>9-tvVBLB>SYH0SmGj;Stq!r6UqP~)GzxcF&ENc4uJkEL|4MfDIix9Sm+qebk_vh% z=&7I|&xVV$nn(B`3VN$;3_L0{5)E=_Wi9A+3QdG4R_SECVeRKw(0{}oa8=XyS=!B- z9xQs!Se=mEK~2B>EpIPlS5LaXp8aM?w7m@JQ`X;jl6x)4aN}cbcI+jBXGLg3CDQ{h z^HTjNs|YqKes8E;>u3CAl-C7Clh%Jr$WF3X<&&|Pu!aaQq5-+7t+A~+6r(d6^f1~BBG@+$mJ^t zbd)Jpe)nhBp1y31Iyi_>>^1^Z1O>bmbP3YCR#7=_AG7ygvG@YIEWSY3EsVoi)MX;rlG^MhOqvymMAp*2Nw4;g`SX?FH=WNq66e z|ESY|Uuq@Z-7bf{x%%q0Hn+sOZuaI~ay+Rd8?HQjZ!}`pd@!+WyO8ZTK}f? zxu$l!rS$LpD!2eXuTWVg2FvZZ8`zM#dQu&vA!hHBeV4SKn?4l54eKFD?pQ8wiS$FH zpE)eDhUp}XP-YU`cusKRVZjY0QTs5>8mVCWrxH@EoHK2cv`;>jkc_J4AfMfs;G^z; zE4a~Tao6F70N6nG0I#b~aO0y+!@{rk!5aIz?%U)HU3n!?HGeaZh=JqGC1eXBhmjmvBv#G^|(?TZHDK5CY{i zNx0Nh4J*No^lCIg-es?L+X`;T|stf0l#_@O*dA>>c-ma zG~G~v$&gZpum?y(d5(~33th2gLNF&xo7*ZfA-Hjg7@nq7&gLawccEVV4A(-c04uxYZrD39lyFzSj?0B8s(@D}y(~Z~s_u0?p{STv;-x1t+ zU~t1BIl%J_{X$3>T2%nnA_I&ptie z;A*hkjyu4O8gn3>xB8$H%m{7}+`tO_E`B)v{n@j>2mNk7{l(6QlkmUO$)CSY?T?eW z{WB8Wcso9sorbf)>GXK`W;PUz=^_3-4-mVgHXV;%m&qiI>p1n>8Y+cv@X=Ywxq3bs zGZ0b@K$69OwSRl{iC_G@z5m|a{1A-g-z>PkOyAC(tgpXE_(L|xMr zhq!uPqiUMYhTE^cek}!DlAy_*lv>pF@GMNP!emlTYLA^J8w53$RsW6kK0%Fo7fz?+ z4Rp1#kyy;i^yO%LhCO{c3G>lug;{H;spl%zlkq_cbo$D(_g}sk>2LmcD!+O=fAN+k z8(o;*CCGh1L@J|gh#DS};E|R_*<4@~FCh~*3bATT>8w8M^o8{ruGjr8ge;K1VG_y2KjcDPOfT+ovSE*u z7%aErE>MFFq!&oUKFCmro3_+7QlC{hF$6vBf($krCJU!wRU8I$(6}fUV&jnhU9Aon z3yh^8+u>@aNN|I68$_g{$p*oV9*vOwAld_h8#Gehm!HrJqL%IzjQo$nt z76G&LsvuZ&(6dk`A{9+HuBX^7$7cjLj-EJpPeHno8j&?LT1D6?t${xV z!Hw_3K5(PY;;zFD$*eG3xJuk7xbZmQhLmkCLe{2mX+fWY66 z#=XN0&IZfvxC7h}AW|U_$Vg6PDk4*nD;3GaNw?7#v=NzVccA-#rW;HoWmV+hbs%m- zMTtf$&!Ndty24Qu1yL#FG~L(-ZuD8)b-2Mbe2Khcb*4mcFd|buPBN9ttPQFS4Ftt7!A;2Aa6z!9#U@1hUz=5_Xp`W^y~7R0 z2It#x2eiQ}m&#SKI1M)lZ4lZZv_WWt&<3FmppDE8H#N~%c?TAGQYd^f{v;5*;iJW`(EE9Zi zvrkr}k~PI{9DsB~S6b9^JNAYf`bYzAK=W^eC%8dygWv|i4T2j4HwbQ2E){pKfY{L( zWvfR{Dvi&DH6`jGg=u5!Nh!WJm#W9&uEPzkU=*gEsxu{;ZamKEMpVv4n^Yrp2A8VT z>4ryY8aPzC2qT^51UC)>Zg4eNZpR(qM)kp!5^8^%Zjf{%5ZoZRL2!fM2Eh%$4O2`s zD(l7}3>H4P4%x6KtEPqfKN4a^_KcL``@)Sri@OFlocAENDa~r`0>O<(3OB50fR(<1 zP6x(RUTcu4AQ#WcLnr{flw=I2pU71AOr}yt+7Fi7aTmD31{#ijOjF7q!3}~NbAlTL zHwbPJ+yLB&BBdl4Z@6_Zrec9N5&SA>Hy9VKR4g-6ith_I`Yi4`+;BokG*p=-xbbLx zaD6Pmrg2sm{I!_Oyn!DarTiVhbVD5}F<5TL9pDDE8ypEL!V}yexIu7( z;0C(7W+0>*aBuKm{cc|dO@BL{hRGK{FQ#SoYJ`W^au>#K{%AWYQggk z)oy6~W4v=1BpSdCZ9@~ZElAoFIv1PlxnPQ>8}~ll5C$ew-FEB^H&o5)u-bFZD0YM3 z2Eh%28w59IG~J--2JnYd$|$3eFvgKAuDq8`6oNN~JKyTqa%flyZtUrU+h=jt;fCe{ zgeoZrZaiMN;cW52Ne{|maF}lRP_u4e*U+}gc#Uw#4&xKtxOce0Ii%vpRU7`tWrfmsv|RpFPRImams_l8Y+DioYo*Ke|26aVKVQI(84jhrEY!l zpTGS3Nm!t^n~vUx^X?KJK=-rjGkt&2C%uWESl;3tXL$B(_+~nq7kq?O_i{K}#Eaiy zHth2Y4AHMWT}%mXY&mU1Eb}PLYpWUG{1#n4S$UL`*secR-kx1Nw;gwY8w^r$qm7e9rXsjOaD(6m!3}~N1UD*~O2(Lt zGibG0L~baSd=sUCh}AKU$UnG1(sX07uXdx);;zFD!H}*f!2L$ONmB8fTCxA!pZ1;$^Qr^i`pIB>G=O# zK@MHFI>RH?VtNSA=~ysQjJ64Z;jg(AEke}JkW~Btv>WnBvB7dX?gBSpgv$gshTsOl z4T2j4HwbPJ+#tA7;RZ_%GyK*x492(6ZUlI8rXm}yv*xx{(qXJi(~a-LUek>pi@Odt zm_nK2xTsF31UDWh+(5F1f!DEY+GH?N3=GC_sf`UhsbD?rAmC^-PCrdIF7e^hl*-w> z)MeSgeiuIjt^@7o*Lj$Kh*hpT2;`&lneFq@xXk8ZT&XJX%&-j@PRu`N`bfwlp$5zC z*c)zi7=?MoHFHF!qTCHK!X;-al8TddgUD34!Dbt+&24IgWuZ}`EwID|nMx<)Qnn%r zR$076rrHN?^jX|BxPhj(VCdD`+TJF(@i^f|5H31I$2SRPAq|3705@WSUR)aR_O&n3 zS8_GMjeCb1;6+T^?Q8z~>}T`-htbRLp8xiu{ZWtJPQGW~jcP9P+C^}?vDdjcZd9A@y~J@FFTca@ zg!dR#6SBd-&P~Yv=T!+O^H&LuO(*YWo$=V_$M5<2i?eD1)#K$C^AVo-*O&hg-+%Y) z&sXf%7sqfE``fc`pFOQ|tk<2l86U9PiA$%`X*uaMfE^(NHHtJQh{lz~fD>Z1JafL$ zCR*Rh#AB$fz%9m9u*X56lM^t80j+~;&^lVzHc0vtxi#?rkM&guZR~?K`Yi4`+OQCb zOYc~XawoL$IMGH6T{ujp5w^iO&<1G!&`ZGwH)FeLBSVTT;q(*QxM#E>j7#^UPyh*;so8;XcGMt=rcg!Al-t;O=Cgo&?+wYI? z?>v{*<0jiVj8@iVSkyA4mM^oT;cy%#_yl8o1~`&V%izsul26~v29q-H0K=@l(CW#v z`Rs!y^r>YCb`b0!Kio@?UxFR@)|sVO1&r~&gP{imJ6i7xm{Xxi;FW{k!4;gF6P!9j z5n5&VGsmu{00ck(0SNRe5B{r3{-ykD0Y*YCk=I%7_~{qZ<&P_B3iEP&I(>Kb1)k>d zXfm43>$m>vI!oDjk+o;wbvjUbzm6%r?t{Y)sm+Fc7I*`CKuFA(vc#*}rW)^cDsW*P zrj$d-{E8i~;c2#p@_!)aiCK+hoato0u>Gxk%j&eV?jfV#>Qk077LtB>x5)JDrmm` z`^h;n`0Ht|TK5aR1FHTGF??TUGjwqAqksPM$uCP6(=YG}uSeA#bu>BtVl?|=G^r0A z1GdcucwTKPZvu`huf5qgSZOdmJ=~CXu-uNl;f6R;eqfk%p1{T@02}>KKLL)eXZa!1 z;~YZ`$+nibPZY{`ZKxq}pYELdl#`cULC$S#Qs6$7)cDGHw9+Y41kV<(+QfbOK-k^u z9=IAp^jY8y&|w&)7S57&?KaTS>r@=<5F%y)$7oS?O~`3gNxLRk5D$&y#VA{>3v~iW z9H@KeKuOrwo^Qz=fQPPrQVu7W1m2&*PpaQu-yeDq2Z~ZNz-}Pv1!aPh^x}@B7mkJG z3oNDJVrwAaNHsMBHnst2#Ytpsg+8o#N1Z^em{(}HrjrraS<45`B`LBf(<0kEBo1TV zqN-b{Fpc2Rl`K+3>Q*;UuLpj6_7qYqbXw7q-B4ql=L_K{KmGQ+c3~eH{i@HoT}M8O zDXA=EJy;@Ae%z+~=vNIL>c}M~pj((9At=Ye;DKk+gow5SE0)KIze`bf$wNavf1MU^ zEvr~;R;I59en|dtN*`#n2t($i}#f{5^S*CvpYZ|Ot<*G?`4rG-`|Ndp zSVR;s3KCp0bV!X}4N%rdNFNUQHl+Ls_b}9O3)~Q1j>bd*BMR6SHF|3m80Z{LVG|(> ziG?-M!j;FU3{g7gCbiX6fYj*wsL}f@?m8xs-op%unY#B0liY?$wwED?ibq;*h13di z5cC|d=^)68EyBwISXgLILA`u-uNj!41!(u#yuA?7u_;+f4D< zA9DOiYIKy01Um?JAT;{xXZ9(<4lt6uO5jM;{+WPKQ(Naik>EnxN>Ew@Wj&Q4q&)c& zUSHkZ!fT!r46hpRB8XrfhId}JuHlFv5Kammd8H!}?6?9uuIs^X+y_@gus#dC2|b`h z_f}RG5J8XIphvG$fmJ+AHF|2X^;*N5;(+v(QrL#v@&@VGLWzvjk5J=v4ibKBibF01 z=hxUuT>cRC;U`w30~?(0mmQ&j;nq;b_$Tqjy>1_pQI+Pxdgr_E@wH0j!}c+0M93dk zL-Y%eVbX|@Mr4ee{{8#o8bB?Bd~0Y#GDunpmQ~fBvq`E&coo6|w5WWYYoWojay*)> z2vgUT1KrR68)j8R)Y|G7xk4s=&hI8N0VI^x(NN@(OH>{(QR^CHG7r-m(gDGK>VEWJ zK_$z*vKuUUfCQ;G)6u+k<7P|N!vUHFR#ICclU&lL@7XdYfymcilR$(7B6lPZk%70u zSr}qvg|P$+kW&bkpqOoi!E8c$b|dy6liUx?;;WDFY}jW(H;R2@C3>W;^3G@svFjM3 zLZrRN4t2%X?VZ0LrRnMH7Ti&5oQqjOH{HV=!RQ=9!;%K6P{g)zR@Ly0sDa-@l&m@) zUmWzqn&0%+w;ZlYzuiCW^3Ym%AC9ptH-qIhze~{$!M8@2S4yH8Jph^!DI17lL=+>U z81>1f!Od}Pa7PrQU32z|3kgL?YLE;C&wXiQ6BuhTOkgZqS>QQEIeTm7w%5(mZ=@LY zS>W~BzGifJfneZTX<~$P0_N$rllF8v?((3*2_9cnuYa4KF3!$N!zXQs(@~n7oK>Cf z>IpwpFVS44Tg%7#W?ReJTE?zkxvOFiubsGYDy}TX^LJJGb!lC+y@oDt;ec1ISZBS~ zXZU(FoiDCjFjtP>KmaZk0T)yToi#k(AiFN`CBR;6TkJlmvreA!_72n<+Y`y=jxI@0j z;%-0=X|>~$5qId89{%wE+^pGp8gSjN5Yl164Vx0vtyT~bVdtqfB45v{*hp=%j0JXY zrKY=o#K7Sa?0n4ZVdGU$*L_}@8cYtB+i^Fz!L@RjDm^5)v6@jmPI?mI3c?kHD+pH* zuDBaq!Gl3?x3P_uu<%z^u>*}X6w@h4q{hL+zn(jm50Am zw4!l7f_!CKE`&fU-9E%=$Yr#|HE|b0n^tBFe=L+H_+~JrMtt~&iy{K&3Vw5;5~4Om z9~a!JYe<3@KdVPx$Gf`xOdD|T6U1HcBjpCmJ-Y)m;%vYnw?U`|K_g;kxm(RFhxis7 zg*mD+-q}WJ*4ai)V!QrOd3$#85SdFoDKF0#L>S>%bxhokuuqVPAQ3^LXHV});LWou zGAk4Z8pJH6WNw0j6J|~tj=urSbV+d+Yg3f1w4fCx>9e?-m;?oB{SL)9C{0vuo2YC( z4F`)yj5C<7U{;B!Ma1vb=?gFk_Mn%bGOaDyLdKhV}X$sUv#WHqKcTy_?#cy&+J2aQ`OU7XUzC1DG~7I%g%6k~!L%q6^X zn7PE@F`PiUxVBmv9bM9l1m|nm;)X{1IYX<@f^Ogm>%4YO)CM=<~j zZU@V2zIV|sju_0NxYJh9jNns5Vqd$NhF1V(niZ<&kA}lpdPQciG%J{*E)7{kAFM$K z)}j|nK@=;W#dJCzt|xoLswGV3qfGVuoz?R^DG7f?l=3ANn89WV7fS?Dh@6cNN$9{L zYMyK9Q->QwK@_TsaYc{wy9qC}aZr=fxPmBD*!vgAWvd0*I_|kz8-4^Hxl&mZ5_mMr&5Z&=dJ5~XrFWkN-7NHBT58ag zs9kM9JTj_X%*#d*dvm$*5!#5l;-6rSz(Z(NbzWh_Cb{d01E>M+6iw(1QDx=96R7zH{KdVh*Z#daFu{;VTH3WO90DG*X1q;NM# zp@_`5QLN!AqOcJ#*pE(^M)L@Lw_`DNwwKpVD9CFTk}|S1j9aLywd74`vGatI%4O*Cy{a_7 zkH8fhP5pfU(UsrflC|`Cp$#bp%k9`3ZeRj|XbUYQBQ?WC~)Q!s- z{*#7>CZft{m}q_Bv9(dvyIwdu8zFS7@_TCQj8xLY)A(meVD2CfchrswF`qW1^5cty zSzO{yARdq5MrK(g?FYM6h{ z^pW64k`I>KYBx-P5k%FhFAtif>F8{Z=)_L3lB`li71zj&w^A;|#wjlv9}Hv29EC%7 zi%)z`;q8v-)gb%NU;h0hEatCHr=#~>I%bV`3@9Z|C-}{_bAeXlsmG~srdb2c8fex) zvxZ(@r5lig;8zu55d;&1wNunL)L;<~$TgT^Sam`T zkCT-o9dC_gp)o#NewMp{=4;%vC8rc7;hT2&xkYhQBlxs6KVgA%T|f-7!iCG}a*4J-ln zgyPH*mUyVFBwzs@BjC9!kP0b>X=0N<+9g}6(U^diuTfmv#yOae z+0c6@ zsBkw>A={Kx+X5RD4GpGHw($|fO^G(BOC}= zn+Z1D1{=1X2CU%T!iFnGLG?telUlZ`1}>|&O}RtXEikysO_D9RfC4kS099<4x1NJW z{*S1tp^pF-m+!umFMQ&}>Tw}Tu zuArE>!R>Mpk~`eF+(8u^m~I0^4gs_z(YhvP=NqZoY+4ru?-ZRxOWHz9x)4V9SQ_Acux9+Gf@`xc5}EB*cgb0keVX>GTmufkqI!jvx>c zz1&tiU;^$3raDEESrQqjI#?YbwA~hxDv(rxqzZGADs)Ad=jkz#T)jbw;6BBSPjq#M#ybmTg1OwHaY|IQh$Qe_m z3PCqPgY4(CYKwKr6-frF*9~p{iw3H|1j}u;116|*0`I)%{2|Q=t{E*oep=FxXJvZs zHv5++=eo+yc6O0LRjBvv+0k$~4wGdCYD z?1Lxt;X4pqAhvLiX(H66jWAJ`pbhuB7MSM;etY&b zXYg0*UBj4xkZQoa!GDz+GA?jHuQ#8cetTZ|C8PT1;cO8vJlJQ$J_hW=6+z~Bdb&89 z4cq;@b6e>+D^^sW^SX{&kdLd;KP7?nY#VCXdKz%`tWNs#cV}?zxwP-uiPiLxjG|3e zlr0u<)R16%>tWFpgh60{LQaG*1@S7(7@qzgd+*xZ#*t-EFxAv@7lveiH0R>E3+4?f{1hhLS?TO6NYop+)`dZeXBo=^~;{5p4>q&wlYD zwPR2_213g&>509cvAHxr2f3yFp5c2`B1uBmQNSuGxPW#HS-h*gO;u=kune6U-W9>h zyMuY|0PxuQ&Rc+uE(5v&HV}horx=w;t^*rehaS)8-T(vpZbYQlqLNK0!LoDAb5(JV zrfroyvIb1oAW%sQPMkrVq_Df*14=ByzTMBZ6KGgQ@Qcv@D`PgF0dY)tgVN&X|B5Y1cDMYk99M z=C;7hyMYd_&kX?GMSpVA`tf#nAIDdIFvuq*MMV{oAx438o=E43be;$;;5B&zI#0Rr zMnrh$3h2I83jVp3H6c`~X+SSc2C1}5JtdyxByzKYra&I?* zi&j#rwunT%;}5fU{61GnHmew@FN|izk&TsO@fDVgtu>5ot4(JlGM^`%kqAGc>csn( zh_|H+c)4eLVh+-kCA>j+gYX97jhn$6AmC){n*h@~9N;&y!(8aSkeaBOXLg~T>$619c=lZd=B)(US@ojoJB z>uurvvMTbYV1oIyB21uER@qiEaZ%cfu*fUWZXFcLm}e|{+5DNb(f7auRD+-z1W3>$ z!UTi~2ou~4Ca66moghGYlq6U&ChVe);8}5U7jZ{CV#jsJApCh)Zxq>P!3gcWq1FQ)>aW7GMF`kCsh= zI<*#1Yr&Jpk1>O8fGmVYt1&|}nYJ7DK7Kz0>M#&Cf{$8LnTA|iLVI3)C_!_z_Y zY;c;l9I&Gc0E#t}er|h)XW@Hk;>CKqOrk%W)&gNmYXPR!E|8#@G{Cc+QMd62^@%1v z4?zN~e*_7z)cPdgih(y8Qh% zNN^YUJV7MsJyv*h++dlPXzTE-R+Y2NxR~JJ;L9>kkYL?KZwW;{e3<}{U_PyOzy#9u ziuM%h1oNGiYHF=~TNgn!+~=9wP`gK`BJ>|0{p*pRLeFi~e>c+@h0K$W6SM^3U3hKx z`_ka=j`kS82cL)d{lxDlE)Q{eIxVC7V$S&k)cp+7cpY2W6jgc4 zVig1TAxrP1y<3W_cR+n;gH*C84|EyK4J=TD4pK`?hHckjfsJ8D;C0)j0mmixb>Jun zShUBO8h_G|@j}i=>!4WE1Ttp8ecIp){h2tRMo8aIsU2{DVm&RT(^?P?AOmMIYx8Gk z?VFaVP&^EEWmDn$*4$SiP66-DJfZ7s@M>Y6CY|8{o1xpH@3y z0s$pbh4_ULCLq2L892{^{1V|4CYU1e^s2uJY)<=eG;9rf;MjH8PiXP$pSzb0!!H>{ zzV_3m-zx4BUubd$BgOGn2HpDj&C0ATE~WYa9=;oBAqbK;8T4n^6G`xe(0Gd6W(`|5 z(1$GAeVY`CFSLvPPnQARzyxrDGtxNf_r0!0a98<4DrRXL2~PqQP$$rw!`}mcYEo)s zql&vTVS<8qZxRy-V1jm9?SKg+>j@aPFs7+auy37Uvyex6pc#YGyBIyrOs5YEPi%lc zkH@3j7%7 zIQW)o1BY|yT6p#ssvYq&$KHMVV_$#q^JDqho5_!FUh|*E-`4NG?!Wx<#rHop-{}6E z!B_0dexX0Ck;X2fW2y~I`grC(dHI9*>dPm;ykgIPJkFz+e}D4y#`r=g07$e5qzZ)q z@P#bm7#DJ?bTUCl!5gCstDUgG3KrOwpkDHYx(w(V9?;Hc1=5x#zR*6kfx=C_bxaVM zhMh*nGBT9UsF0mB#6jM(zW*YH@u;|=C|A04MMV>{a zvxiV(LNjC#%2t^P&y;O~iBuz4>mS%4t}OUMT?TUl3n* z`{ICYwNvsQ*xETsSb(qqc@JFGi%q@6H_jJ=zkudwb*!X9Los><9NGpFyfGk~Sl5Vi z1o;L}*Ra6WcisXIbQ#cfJYcyN3>nGNZc4R*tMI_qp}zx|phoA7QV~eNsT%&lR-;N_ zOciSul&n=us@QK6U+4xgf#SXSwAuv|u%6Vs7J~f9J}6&^EQ$#eU;$h!mUQG=Pv z15_Wlu^s~EWwwoH75oO!Lm(M)n_Q;KaFbk&K6q8g&%_tHhA*`2A?Pxoo0tG$BeRV3 zh3;z)LAKsl&s~+B1GM&Bqnp5`iYIib0$;;%(i<((wg2%d z`;*D5=qLWEJ{PQf_Qq&u{I&QY!u;vldt>= z9@u!_E$RbZ26G(?7^}4tt|on<>#)Gau;aO01Tin(oQYl6Asum)_-E(fV92&l-dmka3Lip zeWCqv!1e;({#f9fvpkx)HGlMIMzASU+)s=CU`aNQ(b;$E2mUypLiZi7)KTvJ-XEml z@8jMePg>^xc)YUlcrw1QK^Iao^$(E$0BH=Jdn!;r@q_LsHg%|#0}9}|G(x5l&^XU4 zV-d|T)r8a2GDxoqQ6*;$HbMssY z7)7DyGXxup*!$T&Rqc$k+s=4*(??F5|;e;@TH1=VaM_pb#|^Ib7_&PL?~CjE?=_OD0d ziJwfzpA1vMZl8>@pS0b^<2-uZk9l=A3t8J-TL~s3N|!1_yvfPNR9a}B62P=;nld+M zM_j$GCF0m};>+*Kp40HWJ)PB^&(CS&qUT>7{M#2VUOYRP?Rroy<>){#{_o{v+ST$! z{}gMKKW%+l8HWSBz%6>g^bvZU1=gB&-gSj6*asHMjB&^gsQFIIWvE^Ex~xRFi8EgA zY^8*Gtnm<+HcmlnIxV%xOH2-zrQrbguIm$kVUBnJ zu*cn7Ki`MWM399n638NfEE32f;pSvfgY?3M$f^`T!%!N{&mO+7Rg-0Gf(=qOtw;K6 z0E6{l=d(dtfQKz%0lqyL&9Mbu<0#(b zK|-M+aMLJZd`R~ZvgqD?-tC52kaRbK9G*XD2gdt!WfNo}$U=~XAPYg3n}aM+m2|rB z#p@UyvY2Sa@S@h0cCNM@Js4bE3R#}ylU(@e{ovqA$>T(}9F+y#iSmUU)aUDk37x5Z@7Sx;M-Sk6RiP-v~9*A_(^lwCnZQk4-=E1r}W@Juf_VuMVzWLs?k6U*-| zLm=npv;jmu3=>QA=5uZboFbt%t2Nf( z87l5;Fo}i8=r0FfTZWn=?lFybMGy5JVHTT(1%V#njZ>v!gDbMexC#^q36eD20d%>d zyNg-&eDN;OOP4#kiC$pM3oovctG@wa*8B>~kFBSu&uQt4jSx>P;6clM|MO|+d)@$C z&f-KbZ*sr%*qsJrGcYXS){<@2j*sOEP1TuILf44)E#m$VJ=(+qht;I6>(JF02f%sz5p9XU{Q%y8fY;o8vR;>JSkt58@PNLKEUL9T54m5 z?Gu^uXneTw7CC&~A5EYjKc8mf!(ZETnV`?B{5(#p{b+fHf0QQ|S9j`1Z_5c!M$

G0I|2Za&;eA+bqH|31*@AS7f{P*PhzxiMC8~@9%uiu>V;pp9j#a?*R zTkPD6C&OvNuN0*P?A2ac9{6yAyZiZY^t&G=oMSoW;wrIWNk2T#af$}Qx9tj6zW>m- z?HVP!`OR9qLN1&RZWpo;>$$|ixLn5{?IlhiG*eC*|871G^D8`0u$0}l=fIZh*|s;fk_KITbs4JI_V^U| z(ymlj>z9b$?0Me}F5KN-z%`V34(XOz%DY}OC)7Zw0fIhdDJ5qnWa>$Yos`(`vJ!hh zFJN0Khujv*D=ZtZ1tnOqkVbF~mjXhCn9EyH!`+lIfhLOr*Adcl&O%!rOy$b6MpZCF zjkU^+g62G~=%Llj&&5nS+|do(0J%x0U0w7hZvZ#U!<_PC52t3{4Lw{M;dL5}Mfu=7 zFx;$}XH>=m6!j`lM@p>}q_$nj53hoLc?fhRm90c&)Hw2r>99+Y$plAeFEs_%nLgmn|ix-_yXBY$mHa5Js6nFzbD%_DQ|?{MDgv0Gy1YCiNn z36*VWge&Oe4=ook=fDr{JCpn}QuwV1v+>@1rQHp--eF<3OINgIx}3-xWSe>V`qZ9% z`}W75zkK)Xi|?l2A3w$mZ;dK(5g@Fx&1YtC<56z%C=Vc}ft1kM?!R5da;_NaxtWK?1XY5Yc5@#KIxB^%{4&33Euv~7Zww~=rr*jG5_yBj z8+Vz!!6K|#T#fc*bNyRatu?a3C1y&i+7&;~Wj;B5Y>N6myN>KGH_GQ1cwO*M)p%Uw@mslk{Hf;f@wuT_F60lwL zMl#5YL&(Y5pp3kSCDy;Drg)coxeid_mI~W==WYm~E}D+7tR*fsLX@}=_PQZezRO~+ zZ8|{RVCf}CEa`yDi>a6GgaKK$2ecz{KQzVfNLMnqz4^1g14JM#@0gE2fV$v1PH4L% zh>m%9IF3Ze+z1ojoSu-95h)pwlF`ZAaVu?xcwu_$SRwGhY-&uEtVe$z2Qkwzn3Y20 zRiUL#Md|OEjyHGcqejmnB)p4=t*#AP-=O0iv}Y+;&ud+}tnX`2^46E`Lc_bu-P}YA z7$eO@F=V20*45>#t%HwoTR@uI)bEa%yRn99y$K%Ay#e(1#;3~E8GZRWsz#Jv{3Y19 zf4#^kw5J9l<;ZJjDDABca8hKvjSPm8>Kdb{Cy-Aw%f;R(g=p1MPWZ>nedLfk)E?G?6#5vRXG@oAd3qvyLG?Hu=km zc9+)dlc7&f{D}uiaP-8-U-KZ%<Gx{)Wp7W|q z_8Bf>xiKzxCR4t8*={@hbb1$tzet`8$=-%y3?o5WPYx4%6@+4-tM}JXD(N04_w6A;X9)!964D z|CO_vUGC^cR?{FyR5M=qN|e>4tmdS5`54Tk)~{r5T(|SRBG>-GGo|XvL1^wggJ~RJr_dw$Z z#CV}71Pf=FQbz^~tk6vby=|*Z=0ckcH2<$hemZ$I9QEI|wxy+?%Ew}0dR0%>nj+%j zopEb218e8AEqe)9L&{xH?t*d`l)IqZ#l6T~uo~h5Ucx{jGZ2^xFUztzRyu&fWU|fK zUFs`$D-IF;B7^ciM$CKhkh{J67Nn>ygSweMD8wD4@rc)amGS0G;phtPkAxtgPK()t$7RV*!J8F|sOCDP8)R`W2@tl|X zQ~RFzxn;wa7K>?&Ij3B@w>FM{y`}WFy~;qfsn9FU-w@u<=fe)+y>LCpjn<6cdm34?qiQDS)AkbvHZ$mJB`5M>JA%myGu4Q3BEsE)lts(URO>sI9c(ieaL8Y z&;~!VL)^adbIXWtBbwg0PpfBnS7Y?~L%w5-uHio^?sN+NY#L7b@#(WUsrptU_04lx ziP!sQ)w%cFk}^#pJB92NvQx-TA^W`u*<~$_sTn#aSwth9R=o0c?W+v)Q@mkI&rC@R zZzT}^6+-qs-hhkPz01&U#O_={C|%aXrcVmdQqD350Y~&Qy>P{0ao%?+0ndB$S+HAhZwu&k@-8Rf zS6PVT!}ZR*+vC|>Jg=1?f3x@+p2?@Mh(cPCt`mpci1v2S! z!#9zM0HcH{A_=V`lMj1;b^jq%1KEwu?30~Kt2IIUj7BvY5(H$FPtRly1 zA&c-%-cfYv$`jZH*mOA%uIF4frtsirkmr+OTG2DWz>V|hbwB3s@^8~Tp0s7ECMNB* z*UbHfFc_ePq zgknMAyLes%wLW^(_Y)9n;e7(-La6imSX01ZP`WR7J7XmD>EP?uPjD_}tsD z92tB2{t$oqNql|$(~~Fv@cQj!^qrX;4*Y+P2ERNXnQsOY^GlF#$yl+ImhEvLw2py4 zEsN>X(mRhK?w@(6Y~h2t#yX>V+|~G3mm9pY;la1FCj0B|=(^j&F#M9y%9Ow+A!9{y ztGEw(4bph!ZAO!Wb5Ni)x&}iEz{E6llU)))@iIHMmRs(wu_D2(mDl(}Xs%)lxYgyR zZ^Es@^^uB%Y6))LTe!6a4&8<&Jm#o&K%%_3UZBcdXoj|U8fDz_tQ(b_Hy2GXCU4IcW3k!ubKzFcf3`f5 zMJx(`ExKvhk0;Zjct4X{E6>rSKhu&cLyhv<>;4#<_Xo$%;g7KRt!20Ve9y%c`TKM^ z=-x&VB=g9GNhHPsifh5)ZNuS%VuR2sH*&srGa3${gO#2>`(!w1`p45zdy3~m{FmMF z&&!S=EiZdj<_BD!#QSuk?WPKUVXRl}2UecT!^7cR3OkMogE!>*5GeQ5=%CfP&=Lu)~$3<%lOo01g4sre8LIA5Y4ufAQkQ zv*+c){%0;BxWzZ4+@=4%e2rbV(zwH`?5?gL)!yd30gQtgdM1 z8(sIbZEm@|xRvGo;-h+(pRdj9S(|5f;fcEBg;Pep%<{YXR9$k~Yfs^}_hh?jFLr-6 z98JolDkaO!n6GzhpXNc)rTHAUbAm_s>9ev!<4?wU_VAtLA}s`!ou`AZ`U8mVv{8vJ zU*b(V8OGsB*#rN+h-dh3`Jy};pZ3R-Q9r;Ua~W%Wnj1eoDQ8qR+FX6{;hnxKn`eCC zhOECF+FOA!3T@DMmmjzGB*%x7c-FonpUuztkNJCY_I0^C>#xT3J<5H(t8?m-i!7&n z+wVP`+V+Wbc5wptff7cq{mIh-RLh2gbUqaa)6v9mYYq6kBZOyN8mvrJKPvc!5ol8#pLiX<@e7>a^+YZ!X z_qCDgrz>)+<*r?uLdBDJf0K(PQ-cdwO?)Aph!6M5I&MzFt;sSRUgO{L+nXsfd?@B$ zt|i_sJI_l~N4G%=XAtafgPRAJ587PUZ;uzgc`hsO;O)h9N)b_th*Ct9BBB)0y+{!$ z0YRM%a<~Nd5Gf-3$9kbFo+I<7mdff&J6dl=K=fLgxHYk1ncHHbjuJ`J;EJTiU$cxt zrEH@OKuf0kOZ)%?`9kjI(zu}*mN1e@^=;?`8Y=qofipju&k zZECxKsu$C5KOoCM6ZAJjEV=v>B8uS^gW( zMA>aSrQ1f64)_9WUfh-H#{{mdn;7wmEHlkZ~ft2!24APcn<&%!G>sZ!zwK`_-Qe#Du|dX zos5I8kvG;9rO(a)el?VxgRonG?b`?Il8AeLn%e-o^j`7IWfcP&tCccko!3wUu#Jq- zGs|4K2-vSgj$2P_{_{76^mCD02DE2bvaq}xV19#^cU?2i8;8z!=jNw0&T%^GPu^ba z!(HK~ctHE#UyjGG?#Z1#yl_Q_>!<%=o`6keK*zL9%HufdpRF{oJuc&W0F#)5$;dZN zKORhm2d7XF$fNm)uMq{#TjIv;T3Q$&-}%AuLPp?!&v(O5A)V4T{jYB#L?srigxNvn zHk!{yx#_>b0ZOK2%Ym-i%p(snZj(3Ix4o+QiJXo4!}5rg!$NSQ&Gz(1MU!^f#rJg3 zHrHSa|yb+!bo(!jhbYC9cZP#~r$;I5! zr+D6#w|sEHmpeW1CnpC#d^JAk4-S6#`m-1F+p)I3E|$H$SJ#UN*tTT;&>u~v{^aXf z4s(7QE9-UVeLAhVwPx(v=X!nBZSVHuk~IGZSc9{E&pdiC&+#=^cCQ}la+3}UxAP$Q z6F-QT1r8UV%k`LG@$JfEc-bbGFUlLk+U?n1{C4NZdFLSF(>!>KNBSW=zgsWm&ONZ@ zEZg;VZ6Ut3HFxohtvuh`mf6K-7aqlOG0PJ_4`yqPmG!!SVe7(LVuEj`lLr(OtX<8W zdmh{O*}=>?`#X2R8|rd1xA2C*60>#bkRWlGdBx+f z``FKTDIG~eD~Bz^eZ4@;>JA$OA)i2WNj1D&0vr`o1MXkYMpPlPprn-1?rIaU@^i~z zbGNgc@Ae*KAOZj2+K2{p7Y;HI984--!>-#!XdS|$ys>qf4SF|=h$R`Qy|^|;orAht zK-8-Pe03Z>KgVrIIXgH;Fi;|;Lx-kH)>e*1U!|0JE{-okf@@L!c{D%Dm4u*`bDD2{ zQ#2qEC1YNOsumKrT02p>CNVJFa*&OzwHJ$qpY|kM^2UGPUw}GWXdehb{bYE0255Td zU;F-v5B(D`XwV^b8z}YCQ#pZn_Zxo|N_h2N;8o#SR>{Ea z&q_3gFvPrQ5e6TyaSY#xnuVh3aF6h6k{rq#2z^3w=w4?AGOfwSDxy8xr<|pU0#|f* z@#_1$eHX~J%Wd66u8@KUaxJ5C1ITrLndQeW$8C#^fPWSZ?oSgO?B2(ctebrM``iUw z)8cF|mpQ%c2RaSNMwD2>u4U&+J49$zqQ<{ z^xdy^s-O4STy~~iAni5#UX5$N`4T5sXvzJUR~<{UtvL@oU``86@xaC`72)o9RX3GMm8B$TbBFF6TQ zMUf%E7oBdJj-Kt8hJXwG=j(6Y2HfgYmb(nTXu|@;*idI=3h*U^9$+~znuM|lS0S-z z+&zOYvsp**h2YB}R*(J|ns+UV7#A2Z8TWqg57O}WaSx3HhZ=#k@lcjDPT|cKi(sO_ z>rESLmC49UnA{%4PjD2jQNMPu+bO_g5SsOm@|%LGXIoj%Yfhu!Iygh zUs$6Jq8*12fPrYoAU$StohySd-++LJ^{;SrwpL-D&ZWcS zY}zkG12?UnEp2}k_YutPB1B@Q~T9o=48Q8`5* z1^*wI0Ie1u5H(SCBEHJVpY%@qaWrh@-Q)0d5pb4=aB!OOB&IRMf%7OsV6c>P&VDap z1FV(WxE7U5W>A*_w;EPxsxF2CA!k@5v~tsp39XoVyE!3>m4JR2ekqDugeVA6U{c)+ zL;)WRqjheotSp%10)ou}9S=#VX4(Y!8>hxe>H@z=IQ>2gnR8A{AU9XwfAWVaU^ zAsxLScC|s*pWh&IbtJZ}8NC?6ouB6A7~;w!cN&hv!M5U7lh(gbqgVX zxU=)aHIj)7ak`bw)+L))ogUJqrVB;Gc8f~`u5L1n!;>-+_;=lS;wt&v%k?BX8a#Y} zk=@D2U}X%ix~`SY)`$9{altNw-D(K`NrQcpiHXC_-8N8ojfN(fkw(wLTX>;CYtsuzh%#olD7JgX><4^uun8NMxS zzT1$(-hLkOWIBcoA}1U{ID&8l;RwPJ_X0;qm7Am>x5PXHY1#O?3fbjKX4xbIv1{EH zW44x2J{zR(@^4e9xNZxG@a?TgETFmsp$Ooigs!iO^K7bsMlUcmgM`GC_o$@ceD7`v z9dW)FiyyO+LXmn#!S)iRx54z}1Uqh4 zAKuIQ^-mI^2F+qNUv^Mm;I8LtrgwjT)c#BNe^{9vt5v;!i(`uaAFv^5h?0znzS}BPtdKW{qan zQ5fJD(ocg`h82!PR4hm^%-ZETj$#?W3+-JbuW+p-#eJe;DXkowajF`K0phKSS3W8Q zU1pti;4IYk9?C2HMR0`aaPu~B1XIF+pk}Zd-hd$6G6*d{cd4p0;fPsAxFlegkYE?W z<#MOOH7aDL*ZyQ$Lir_B+YVel0FKy%1J7?oZjJTk5B9DBzlEumxzT|CfByK}|NVb` z`q`83|9*7v_ZemE;JnNKU~Um~FiUgH|L^7G?OFc#tKpzO8IHbMN&!H&qF4SP_0a+XQt;cOgM}i&$q*Wy=l%A>0pvz9#0gG2i6Q?9CtIGue%x}-AL_T3 zLv(&W5$fSID(2Rzs2hk&jJNUgn zd4()pGeXzELBBZ|WGEYq{pfA){jU0(a!A3x-O4H`(wx#mdD^hO!Sy8dKR)0U{9`!$wOj!n?1Qr*!1<)_Pv%32zl_j7dGrB)?tTr< z=ff#dy=rA(=0ox!pP@wza4V$)3c8bN~&r+ zZYS8&baW8@_UriMY51>Sz5OY?`R@C-_VqvB*8lnS7pDL2C;Ru|56_;Sz5RUr46DmP zef+nN5U8~CZRG$zfBC~m#TUnKJp1g^pT(EQzvWZ){TFYZj>CUFN#A`vIQy?bIQioD z&j+7raM*rhhygmD8VB?T-#7Fj^Z+i>34+nYq>|S@sSxe^_YZ6$-zt0bI>fd}US;u1_W%#B{mxI4ubs?XX z*aIu%!F=-re+&}zcyjRB*FWIhHe*O19hA%H_`9P#DeDf-^=0`ZPT^zq(E*x8ejPT= z%Lcka!_mjAXFqB;nScJVJHM>y=;WjyBwkTy`)gH*&W6Ji40;=?lo21~-w%rE-SdO< zZ4Um8|9kn>rTmV6hZe2!o?D*xr3YTTD!1)@gjU;wM}Pn9#lb#Jl^E65$7OtYE_j3C z?H|7aqoA$zlt=;JF3mpFitYc!tLP;oxJq_UVejQHcM)|4-9DLG}ORcHgD5 z-~STqIO9Jvdp}kQ`-02=B_At?|7iO&zVd^F|3Z`KyhR9q&%fb6|4X2?=lWJ5Y}StY zA@A`=#bWSa+Y?>J@+D#pv?<}1&C6B?-+%WHJcw6~GmWmyA>w>=PtO1LvYnE%&&((%0R7c^2%?RN2bz|GWItwsO=wsJ?%G&AyA}s)%}=$C+CvOP958d^Q}6 zbBjBscoAdCT)vC89uu+GY>yr0>n8tIbP0;vHt_ijEZ^6&!^$jwpnf5+_H>usXXlHxnkHb7cv9U@A2^_#^4hR}_WZ^7&yPx!#zkwv ztekc~AAP8wM$dM;)IIl;j}DkS_%uf>I@}z<>sh%YZ4dtb)%796d<}}TRr#7_F#K(q zzWncQDx!FAoJ}YB@O6JQnfjBjuzmqkAsT*zmp}=3Z-Z)k*-33{nW9L?+Amem$)MnJ(*;zQI?!Yb9$YbB@A%~1qY66nb%;qrIyg6V zr99*g;O@#R>nzkzj7MGl(r&(6Vd3_Rxb!}`5k$1Z=_uwFmyHk4Wel#=reA+4cY6OV zn6h04_hN-xOM~LJleMXDrougc&tF;J?kzS#eRna6ZF%>O-v(UN;&d-3(OwqloJU`s z#^#FXZL=&ceeGpRb;WZocH)S!y=W4`>qcb7d`z|wr8|_xuRr@PHS*3!xte%8gL}C! zZc1fwI{vCu^o~m*AL1Y1&F5c9tiSG;xVB`j`(t3Z^3gGF)wqZ4%5cqgUu6QU9D9R^ zvHY&=`2lUvfDoka&8K76x_p5ZNChGjD7e1Sx_n2|g3dP^gBkG%-u>nFJsSTAZV+L2 zPO`mJz_4S`M{tAS2EmPMv=gnULt_y6MD(`+Zpfzc9({61G1fje0!AgJ3FYoI{oN`g8lpnj4PD^m(`mxy&ZpcPOr0<(rq0_dJ4wfO1G>j?< zAJBN)h%)I2ZY(qRkCu>P%Y(Z7?!&_kwD8TR;|_2`fp-95X66WP+(>qZ;Kp^1Wz-*d znceRg49~X5;Ss?NvR@9BaS92*$V_Dg41%?>R+-F&Hbp{wzv{#M0i){1(IbR6XmOVw z_RHC$g+!<-=opHqdCg)hTF=GEfZ)cQa9_;h07S8M&5Y($+_;HaGNBDZ8~a9rgf>3^{BtmMKYwB#6WSoO z@h2NYWg(g-vs{@5B@JaA0w3ofYlyOj2d!Lib*V8FajB$4P*H7gi5Fa|E`z&{HiQ9d zpIKYxKB0}vqUn2%HU#*KLV&wyYD~Hu0*u(CthlVv-5FBNqsQ&1;>Il(H|&uzz4>(9 z0d6o9Hzc}HSWR$);D)_2hB?GM@B0amF4r8iJv?y2 zgfPsk8|APygQemI6*qFSVD08y-YjR+mLmd<3n>Y1U|MNmnekUoRgBx(gzLz%qvFQW zhgM6kOw^{*i6_7f+f;$eTrp@6z`GLt9H!)1skpIEaih!NuEPzquySs#rq+#NGg+{> zHkeBH9B!~0#<0Nn(RnD2qEo!G95viJB(!Y=l~O1bMS>f*4mTt;QD)PzGu*JHbwe}D znREm<2yR>*!w}r)D4zHT`ZZ9Uj3Wex1(4;JGyElLM2h8u{X#*iZV=ocxbfuiW6U7P z%anvhZzjEQF6q*?>2}ew!!fRD-3VEtt`TGv!5c5t4REOc%zIjV^<`1~-JOjgeYuhf$~M#>1>`#3<{mV^hJN2c|s;O)J~rKf&0bwf8RY zf;I_m+&bLgb#Fc$cYqrLmQ6-$cC!NR)F@tFmL2%fP+5dj<;fUZQ=>RFic{wXajB@d zfpFsn&;|>sNzlT9t}-Mi;RXw5C!h}~=13hGh*W`&T%g`R4P~3nuN)?!KmCs7?+PR!{x&4GTZXIoa7B!!aJD`oyx}i|5a+Zo4 zRNSEA#;ajEcd;!X@9g)YUDsAC@V9QxP*mJFoEfZ6-Y#fz!|+S7sYyr#!!N1LO#37P z8UgDHlofcnX;xP*!!;xGNL;G*@taw2x2!UP8<>zc05?SKV+=^K$^gs(Ulk!lS2ncTM12?)1?mFD4m9+4A<%LW`#f^tq+-Neir@ zMHMw9R2!1Pogy%~Ww>Er`PQ3H$IfuW9BC9c;1$Omaj8g`>KZ;caj6Jy99$}ib+H*| zJzOTZ@#6a*n{Rag&EPBcWxtSc)(CZ1j~~H}AK}gU^6yWc-WZokfl3t`9jdGwL_Sfg z%34?fcq_Rn%JHEtv<`wB`@oGZgS!qllr_RxRg(v$HZ) zENE|Q+0>yeZc%mP*5QV*z4>(90d6Q%HzZR`OR8>Ab%UxKRNZ(~*F6Yh!*3gA-L7O3 z=M1i=r?8hLxN%;wDdTdXUK2la?A@n7_VpJ(KbD`pnf&v{3ZuC#b zhxf?jFE@%Sh^|&}9Ru9ZI#*~oNL7aKLl&8#x>1x22yW~HH@Xb&I^2+=HdY#EFzQs@ zc$n1LDyeb~N`{08h^iZV!i_G2yAC%Pm(IFcQt!sYg&Trfv~LIplRpMe@vLR#BUeSF zL1?Bj)2w*iP<7*$s~h!^;=TEF+yQQs{_Cq1UCq75ZpK-xIu7(;09zN8Wv>T zL{SMIVK~MMt;)jhuXf32SBt0xx%};0-RLs7YjA^Gh$NUA*-^xsM5cO}WGb*1rBrB> zszrjQI3NZvKK_$xpEGR58?TE#1Hp}3hZ{oo=F_n=+yF*lJt3?FP9ZWCk*SDGMb!<0 z8w589ZUAn$Mlzaf6B*V?rB*Hh?y?3W*iRjbJrLo>hTMl^fJLQq0-Jy3{@p_)w?#KCK&F26r88 zXmF`u`{qh^n~EC`v$&BAZ-DSs1)*dJQ|V+X&mDTkc?!v9;Tm0Z$p~%SGTP8bx^Su5 z>9_;j07QX`xT*+eQO(C26r88AT4Ty5R#}=54UrJ$!N3##^5%hps0+86;rLM;A~7HS{)2Eir)d( z4Sggv+`-%F*cojAqOcx^npJJdQ=H%i!3}~N1UCq75Zp+mxM5;Y!lJmrBTOiHM!Tw$ zy0Tnk$x+-erm#AwxUpApqr>2?!wraXTcM0AB_%3uJj~(-7hXX44K^E)1we6wyDB6= zet6!foI(T7hK7n8x35d3k6;fzpN>1g4Ov__tkz`mHzK$}aD(6m!3}~N1UCxY@FrOu zGlX%R(CFNV@b_a(R4HWiba)K|vXW;fxUmo1=rXwLa0BLG4$d3YC_a9;)eTe(ZK!o! z8E(+ij7wFF3<9}8o3ye)#wj1@|`SN3rj_^U8{przH{Wuz4iQw}a{Nfn)Nf>sNSc` zdmM+Shw;Q0!{PEs4Djdic$Aww%7a+$XlV@e{UQGJllc1hrzcPT;q}|e=sPnx9Qgkn z4Ssn(GT#g)=9eJfp1wY{XWzd4@#in!J^SLj>G#Kvv2*92KFtI-2yPJEAh=Q9eJ<;y zWXdoA@P$mp8qmn`S0@rno@JjHRX6tS-RLs7>u|#`2-+~Is8jsmRyR~pVQ@;IcSAy+ zK}l6vTLf`)Y%*7kHl}dtsJd~>)eUt7jj8!`+yQPVzzrwi)=6-KsvFm!M1mWSmmDSLno%NHCBLpo4kmZ*%{3Vc{W95T20MyYSZ9E+f z{Aod8-%f#$U-kDs(sBQF9?XyR^mOD0I8y)2r&P|kM%qHE9#Rnaw-{=zZg_C%PhSL( zGq3H*+Xa#whF>z$2`LXI{idJG@AxEw^Kg#!%9QLes}as|R%IS@vWlCWJ%0Uc+AqN$ zXH3e^KmXi0^Z66=xP%;Qqj>cREYcCvaUQ+wpPuE>csQ7)IyR2f@qUzXxo}1CGsoV2 z`eR>z@$+N(*_+9aZ(j4C#^2WOzV5&L^2PT*Hs9#}o55G?%f8+9^k)g3b|g9_bl&Hh zFxvg{Q1pJAJ!b#$D*KbktLP{GkP+xRJb& z!9gU4qjU+|4JhT9c~~_fuXoGrQ%9(<6**$8d_8i z0#pDQt_a}1g4F;D#=*!hy6Wk!UL2!fM z2Eh%28w581HwM_sC=cI=atn(4$cH0;klthd;1A)+&bJ42FRhEj-BBKFbaG(v~a=_ z+90$+XoJuOp$$SCgfh!=G;Sz#f=dH`u^b{eH{@Z__-Ul+bt>{Yn2_PCxjQX;GEK zw+Ey7*MEHU2zp=ncsP1nq~KrAH+h^+`-A>?GJ!N4e_AXJP|P)GVXK&X!Ss<5Eh%a? z9e05nU{WDp0JBb_QW2Gks8mFyA}SS8sfbEdUa+z;wn5JZc*aPyrX-5uHLrAvo+llw z@ug##svG-MH@Xb&I^0lD%7!?$D>~y;-FTSQjhcZn2fbUgM|pHh6-#jo&D2UZ);1}+ zxzi27ja!EsLiOg;u`}FgF^Yn3j&+>i2Eh%28w589ZV=ocxB<8kT>}wZv})*(K&E0E zkq=CDs-R$S%4!CF2dUuhYr4^8aM$66Kr)qEX9dBH2Wu(rqXwJ@naVc~?NUrbpbE)w z6c-`d;8bMZQRl|R0>$G+1!G$Ybn)GXuWm32OYwF(?f^Fg1DQ$+Atb>Kf*S-k2yPJE zAh7H>yI3XH7}Y4@a?7Qo>c%ZsH~5jN;h)h?$Iftr7pIO|8O^D6 zgIYJJb%Rh=^v~I*?gYjtHfYBe&1`mZxRXW9^PORZMC0opmiA%K)m#WL) zuAvPOFcfGQjFF@G!)@ItWU17!T$v<_=LUy7L#$235=T+dWqeh%;0SHpI@*xDH=mBX zpbgd&694F$iW^kipyCDkKl#SJQMl;Q^CDbyiX4fq?CvQktQ#(tHll}Nef#yS$F z+Pk>XVQ|;shJl;7mbE2es)q|VV&i4BSyx%qrFEkbmCtCON-||w{57d*Cmq3!TZbE5 z_2$!Y2e<(lTxOY)np!ugx9d3xa<~7>)32r=GxZ#<%(ijvH z8+1)6VRPkUovIYLkf?}7)s*5E!Hrvo8=~&br(vZ}2_?}qbm`Qs>Y_{eI_vPQ=gRX6T{4lX<5tT&&IyTA?XWSrAf-53$v zAh&4$0ErI*Rhb`@|SC`a;UZEnQS-qh8rCQcMWbBrwoJN zw4he;hg;pyL4&`TYqnuc8`2$V)tgVp9pDCY zJtsKsB2_mCZV=ocxIu7(;0D2s0ylz8OvD_jhD(sCOyrf`CW%b7FWl%d zxa)AkI3ctVu9%%rb>m@HHxha?cm%%iDFfr9qEQ8ObD)dEq~s(QS(MvPaO2kD26$2P z>DU!+6pZ3}#@5nWG2dw%NBy%&e>iwrmfUER$|~DRCXTyrJ=*1z6P5EdW1g|-Wf2OP z(HH;6tT)^QdkB3vLZd`ZU4l&GqKfxe#4PRZSnJjFAL1@-L z%5Tn=A6eIK^=dLXJ32fZ$5;8(k9()fdmM+Shw;SsPsfMlkr?35=*XIUM-^91VVXJ~H17CgztQ-=4lcwP)YH{qg57-#z={ zyXp7GkFj&-pFYh5HwbPJ+#tA7-hC{ny0(s0u|eyqsvE!!R`V(tW0ZEm*15cRsCQ$Z z-i*Y+aldGWTyP3O_; zF3}ebb25znr2j6bANc%xFk>JK7rUEknT3G%PT!?D!Vf~eJ#YE#W4~;>Hg4NKU zo%NHCqY|{>uleN+e~B7cynL_*fZm**jEDZLHyj-w{yshwjOj!Cub=W@(x1Ftpt13E zG-y}XN8e7d0=??*eWc_5>pYkr>*?vp4{)UZnNO*lab3fTNArmnm)5@Z!tL-dEkPL{`(j|&D}8^xCX~6?MQS==)BK0VYK_@ zq3HcKd(8ghRrV*7SJ6-W$=mUyhXldq>31Bn=^0W>T@F8;^s(V5FMkkUefi{4o9PW(%#HAW`S+3tZNUSj2u~M@-9!7b(OAzacDQ? z!52nG%FDbIehMG7$l+65W_uLK{4)f&b!AjJ3JwamVN4|cQsJs z@Nh#%P>e$pP;O(TRUG9JtCFcSqM`*7h# z4(Jt^z5%=kqe`g&xZxxEr*yWWjy!v(2yV1&t=Dt*+7eRSEZmR=78>nz>6gRpI?i$*tEgEuQDJ}_ZJmBJnO;DpMy&9QAjtYz_sKG&~ zK}%Bymr}HzT>kDr>xMmIx;LMWJD?4;Zb+ttF$6aVZV=ocxIu7(;0D2s0yh#A7L!h} z^~;ckP!7)G-fKiYA;dZxVVYLphv3FOaHGrMuEUMm!TC)ZG8Mm4wDW!oQyFJ@2^7oSAHF$Q}k8rv!dPs?kuaHz*%HJthZ zl+{ilW(4V&QSSZTAEe>$+-NaM%|)$i5~iZ+230qx zxM-yGk@1)|v_P%_-VVfFGXkMH!O9~C#seZBs&4F4 z-RLs7>u^H|W6`^z$adr5RyT}tyn*Kun#7%fV-A;?e!@Tu*L!0#Fb5}7@jF4LV$i{z zO~)PJ26{Ib7gjn#8-z9pZ4lZZv_WWt&<4u3Y+*uvDxkqqv`MH@merA=a$jS2D$je{5*7>t1UE}~;9f>KqiZm76% z%f*fQNE!I`wbOA2w82o^P@YDnYS%xV^DGWpvVZgd&kHMpT2=QWp1Q*q+~!wpkQkNaHZ0DDbDrl@N;mn!YN zj$Xl$BU9_f9Vl+pN0RsE)3Gz$07gNlxKh?BLDdbaZcufDsvA_@py~!yH%jY9opcbI zS2A;OI})77oNind1rx!uCImy(jeX%pm%&|!8%A5EZB20F0Si;HXq|1Gtx`}4YH%oV zSQjw!8Uv_dqDrAy-B5Mo)~g#__vX`a2e=`iX2pfzoOE!hx&8B<8(ju>9d6W2@mj%I45Ln+;t#V^ zJmkhhkAYQ8GhloR%;6fJ0r{H%yBn3D(LiwH_D%lkBk-c;({UHL(UPg4y1}WsLDdba zZcufDsvA_@py~$TMs1?i8P3K|CWqdQ2DTfG$_Rf_vLYe=smW7(-|9w}!Ci+N3OcyL zNvQ~KG?U)Lgc~mEoPuE$hv^Mm{sQ0znx(4X9W<%4l!9_;jkgSJE>|AZBxIx7YDsE75gNhqe+@RtHiW}TDwKCdNF!X~Yr)VHi z<(P#er-Jn#e8qLE$V#mn`?PL!8Qe9v0RdbiEQc5_6*nF%mnwvsdy82Hq3H~`As{~8 zh+HuRIovE5PljAK?m%%v9qGC^pN>1g4d!}ITdoYXZcufDsvA_@py~!yH>kQ%svFLr zcf-`7N^f?MBFO;eZBivB0S#{-Nr|?RSc+BgJ6y*G|XIa03{{^|XeAks&e_!3}~N1UCq7 z5ZoZRQQ(GcqOPq`mGTzCRGcHx$}_w-45A)ztF+L?0f6AfK5*mzXYWnB+c>T*(7&Rk zPxr2s25KJo=}NW}`}%s6oG0hyEw8HTYN{O)WH4y*%71^mngB=vAkhG25~NOIB{DIx zx~u!_bN0|@aaZAnfnmSk)=|pe<0VsZfcPYWL$;r9DwSiva8bagss`Wy*pNXMy%dqD z?wL%bj)WS_x8n|Q0~m#2Ld*@p4T2j4HwbPJ+#t9?aHGHtWpq@s1pL7c2a1iX;7R2H zJhZcDz*<}_$(U+i?M9!)U4?&Dvfq61a z0iE&!fYU(I!&nNkG-BVcel#3T((8O0CWF)EF-~Wv!*mkb)5)-$ z5+nS5G8yM4kMk&%Bg*lyp*_Rjeih#z|N8v-{{{ViI{w*ChokVnN1tXw8-z9pZ4lb%?tMtyK!kOy3@^hC#BNkE zu~Z>VoM{ewq`Ikbb)n(LKEsXFV{uo}1~jJ7&UjDKjmL{NvbS7GB#AR-Fx*J+!gVY$ z;QX9xQOicw#RZwr#yz7Ad8GMZz8!af8=Z7RIwMFaPH=OU7!;LGR13_i@_b#_a0sYh7Wg z7(ie|{zl+dRIFtGrA8W77hf`h8}|-3q#n$-V{f=2j}$V+5!Jys!3}~N1UCq75ZoZR zL2#pk8_We`L{rsZ8W)co1OOP#E1!^e95dHVT|}!i-PmWkVR|g?3fz$1TcbT^B;9zt z(~Ve1Bb|j(+%%YOxPYje3}Q{l*&*mpsJbp}2Z9^-4mZGyns3Kl;0B}{LON|Vk*UZB zmwa%^2bX+s$p@Ewa53FTb|L1iMC)3v{OvB0h$#ei&1MX+(br_BE3B1pq{&1eh7g`tmxYIjyqL*1|#ubIa z1nP*>Fv2%D#dpB#$9eF!9o1)VCxcO*cH)akd85UXC)3GCPw1n(AqmG*rXsTtuRz6y z`a{7f92S`wEg8}H%wuDtDlNEhe%>Ojs2t}`Q~KM5rbU3d$jT2^L?!P|PbO#Kd~h~C z9=@Fn1t{V}{L|JrmhJTYLg6x*jYr|Ms9JuyIBoWRr{nfb9?jqDn{p!Jo!awI*X0`< zGY}G&6mRgS)KyoX_~hD;{#cZ=`rXgs?->%U?l)@MZU+QdANo+zoRkG;MKe=j4Ox{r zC@ZDHz?}x4em-lJDgXM{zoOIm*XQ2$5E;>}-RA@Q0`^7yy*6#Hp%Hd<_{ zm3QiSJj%L!^c$tGJp1tFt5$#gk7x3$chgtz-tb>1Kba5Tx4(V+@|Rc554wFf`i_0u z7LS#c554*8Ux?(omFTlo*WZ4J-wCVT>P5vK5svpws_(fzx`c&_wDoF zU$Ymlj&b1r_WYaY&x$PTO?L|M0qZWRXX9}`=?-QmBSdBfENg?PTn77FiCE4o=PPaC zE!D`xV<_T_Ixn?;_$d6K0}x;0BHX=;6*?!Jp=h<%Kpoy;zEKx3N0Sjq#*EL>FJAP0 zw=XXnk6(@IpYy+Gc{0T_PR?-EZ$ISv@8M)twl5xiGM+!&-4mwy_-y>XT+-jnpYp6e zZAa~7TCVzU3UzDkO;(Ex(^P!b)F3SEbuDwfJPNfaLy_4ZyWOHbtrIR zE%d7|-xmq&ryH^m?4V%eh6j`I?$H%6WJ+NI(#!Lh-4R5RNyH zgvvTb)+u?GFIwGzyL|dm2E4Y%_IMZkCX;EHehds=%u<2`C6}wt+J{^|SYA7eFVct^;Qs`+cNEE1S+R!4nkU^MW|~CoGl}T4xT|=;pc}(r>qWBeZFpdN8FHvt zK)XguuUKU*0~+^@uDn7ZCYO;hSjn(xOJRMGSm1nIzSgwOU4q30GWg=GE?t0Uzy#;h z4ijAb{JT7vpo5Et{`t?RKhJH2p5Ptcw8gHd9UVVuCr{c@`Oz_8+hl;}6&!H!@~hzO z%6qTjjpbvX9&RX@NL_5l9pDB7++bcBNr`-h+ZZPmKH>n;l z++e;2zQBHS8gQe=gxae*RW-IAHxcHgkzAxco^LE6#fI_5^07}3HzZu7F1BNDxFL$H z+Y9CqZ%WgRPcYr+H)h1KC*~8G*RJ*FdzNg(d?Mx(+G50fLfLr-%%=dK)C?2t$|Hjh z{3!_|DWy{dha2Iu(Yf&*tq~-`=_>Jpm`|6J{xt^hg89^Efmfji2$D!H;l3~*33}WF zJ^Ga-hdS*D!s|Lk#A4=x`F)MR1PdBt1BtgQ=BFw|oB{_q?N}c~T#}nMK!eK%KRq@O zdNAKFyI=#1A~?eyBUQww7)5N_h@X=E^aH6PP!&Wb0E?XqI@!B;?{Z^fDVd*bB z_7?(YXB(Lluedho^&9m1p=tJ26LWx#h^eKt_^9QJR_AP6Kk_!J=8LMaH09T{$d^6) z4eN0E;HPisbAzzy?wsGHXlDbd9mFF<_W2YI{q3Ya9QQqmJ|tzPMm{z2$=--aKDh1Q z0m-LH##<;StLQm;iK#&yZ-lBOcm_5oa1FWwgzES!b^O-*-=e1Pv$*RuJv^oqhAE}O z#Im1Yw)@SfIUApL&Q{?BKVMX>e;c38&M!*Br%j0CHjPfsiyPJA2|pIqXr0Gf%f|9y ztNv7LwPh(^7w_CvulMURwe>JuS%|~3HL9c1O%$dw3^qNAL&Y3nr&GHgI3UDTwROq3?5o8yOeF z!N)c?7iLhyFq^&};qQ~l7+l_Q9;I?bOYbAJXT%#KO#x{NunP!o;DT@ma6{T!VnX1M zj++a&nMJ57bF5%BEUkc{Bh;4oCImP3fg61mcNK2H!B$)2d0BOW8#n0*9xmL_wF*tr zv63~M$`tlr6>IQ?G)IJ-FJ8L#mP3XOwc~a;IegQOr?V?@>}&7x*})B%AkDYq4sZiG za|YuLZtVO;OF!!lq$jIXRvB!ux`0g=VpaMJFw!-Q1;$d44L1LUwRrc6UN^)4{N<0Q zrM5g9w;wJH)ZrQ&VD5fati9KI2WtoW@F_{Rab*30Gzo+)2wM=gAZ&4GNezx6AkNmR zGIfb-2!T~DV5p%5qLjgpW~wetb;1@`u*D`SF0^?Ul%zfjx{44lf-}|1|%_{ z)+dOx=Y(LtS8$tQvH*gofLH-8HVLp5I>2e|#TY)c1WBc(uNV>=Y5) zMw8@Vuljy1^ywD${+0LItMtG6dQ{X)wo%sumPW^>gmF5K!2u{r&=?1ee?{sc%yB|6 zsu0bVFWSm5TLm6hKK)Zulnw|RC^wkzm))=dGf1_!?jbew*QPhbAEGqo-=lng`sUP~ z|MdRVKfe9&?LxNCSoOJ}5|D1^y2Jh1gJ;Jn?t_kX3D#@p=C zSih{^)+Ykdc+WFZn02GTAn~rQT!c_afkouBPMECSaw2f~>7N=4d`@x&ex&qZz8!nR z4a_efR{-3DuPnihPY{K$eV>zDf#eFS0H~)qDN%}uQbd%ZJEIiAgGDh78ic47{1tuF zU{1rHg{$b0HybQh1UIfQxO+u@E#O9<#a)3L#rhr-23z znWRc9O4~fdK5xSm6%W@O8Sk3OLXjNBX7xw;-TCrI&Uer1Jz^krv|yVZ?+I=Y+#tAd zXK=%rnlqtL`Iuk}=|WX8nWoB~)e<)E98OKR{Lyq{pXo-Q#a)FPmK!03QRSvX>gdO* zj<&)yEFs?61aDx$3W;>6k^9UvgEyLB4eYpZ_z7ng(#)>z}B>Y}{~ZQL{3U`JXG=G$=xxWP+wv}WEusOad0Apb!9UJE+hGfv_M@?k@S=l;QqYr<@j$G^3wlnuRkQbxF9nGG#ff*TuL+egRxD>#hw-0r-4Os3}8bA&0ueqf&d>8A9V|auqgL-|F#F{zr>D| z8qCl49SU_gt#a$RSBh9j#6lt#((AMOG9Y3C%y9m;##JVqqtTClW5|}b;9pg)u5nQ^ zJfLlnbHzl1K4C;ur80}B(_G+6`Fs|C&oD*qifW2>rfBD_V~6{n3rGjQcqe0pd}k0M zFqo=*U1P5&6ebZPf~<*!w6Ex)&*HAu^U@lIQbiQ(PWAjw_52lG^o0fFE$aI#?^O=O z&ZYj<*Q2AkEZ{r8r6#(F^yg4%<5^)LLG&QCtxTh}$pJTCe#@$#G}cd%P_UpdZ90N| zSV-(hT8JLH?bsV`0HgSU^zf}(|^ZGDoNVP#9jzjc-HUi|H0@)3*$#9p+kUjWlYR40H2aOAE z9v5u3cFDYHa6|CHd^_#{H>4lHr`d9HkR21;Ah$fx;|_46Bv5l^nItY1aj9syLBkCiZVY->&SmKH5j!k><=KZXU$y${e>{_4y_>#z z_lEyE`N@3vzWwc68g8_wli@=`8v>0~*doByP9VchYf(7~@+41Dghs0c|kkRVX+DlYcDDHfXj%vkjVU&}@Td8%3q1v_(1vCK@PwFx$|ESI%dc zC^~7QtTm$Zil~dw#y)7H&*HA44Xe0zT6#hok9W2qjjS69e*@$oA|nQ)3`n)%W1k_` zuHoApE(VG;+qieMQP|cO+p#a&07TJjAh~d$Lq4S8#zNx1aBmsHig%L6?fJAl8%>4@ zl(MX{1N{#MyUK-FIpqZ+-VI}cLFp%(;lc>vcziZHpA4H2$88#&ockeCPTrttIi3u+ z^8iaE&`CR*y$i=MmZ=0H93->4V&v*H98S_}io#p#Zn3E7-{fM& z%m)`2)wA(9pM-Ly@1&*5!dTPukcC&#T7_GNDl!epki0En80+EH?h9j_u*DT@vGKmQh`;NzpsRSoKo^Wsgb`P2 z8=ly>^f*5kMa|3i=er3S@Y>xa-|Oy9I{CzXt&!=Hp>{&LUFA5kv^}z2Fb>QThZi4p z3$(B({dWJhhv)8u`dgU6{G8vRXfOH)=vcVXRJ4D}qMcLGPDMLKJWN}%aw03I2VmvI zEo&qQ)|G1t?;7psDn!dG7NiCh2Fhwl+UgZ6r%jb3Uli?q7Idv>N7$`lT8dIa0w0|K zUVSra&c>%5Mhhob%F@4;UfYG(_UUEA?aC8=oVVV#3UbSbZM7&WxAR3s++oGT>k}4w z+~O59a6m4n@0S1BK?W zJxq_J@ALHS+4x_>(Z&CNGn(dc6H=Zm#HbGb%6EWFc5rP%|A=+z@B%%MG4<$S=UN z=fC02CH&$^cVEKqc>sD9^4Gq1ufFEa88=(->eeuxA`v@r}r!pxx4^bW!fDmD6j7Yxt%ePiI%o)r*%NUZH+*zVA?| zqw`)ei}gX)>Dz!3a8d$T!%*$dA6{MmU2bZ;6KjSV?}BP}s@bV#e-Jf$Omz^>v8sVf zI*N{%s>qN{V7M!m+QB+s{6juFs{5XIzeV-lXIa;(cY(6ROU6n;{pWLM=D*?1)%)T} z52f+mk3nO6cwMC_m52MCAB$;f{*hhdsWVKnVt(Mw|WpTGR^G|b>eGHyR~ytZO56cBxS zHbQBB38q%gvlltd#>h+Uh;IkLrCIqtrL14Y#iPkFHQ}iVPX#>{^i&FYWxyYuCbK-enJT8RQWZPWN{Qgrv}>~whXD-8?c z8{zMh$v8K8oJXk)VoJv$v}gF+uj2dTU!On!zo6ew$3NTYa1{P`Jo^2`*#0n@+TWvm zfBNRso&WUy)jz)d@Z;A%&we?6w#!GKX7axz|4Z_}B>&5DUA4ia$l!02jV(?$g)IP< zeDULRI>3ov5!vP{fuYy^Z&B~}S={w{Upc1WK7?!f9n|}eiF~tGhV-fXuPbyetFLk( zw#tInm@ZddkEzG9L*I3W>kLbxn%gQzctWWVpf<13<(G|uAto%Mpq$00E?=}&xqQQ? z_kjW1*WeNhz{v1CkEd?aY!JC>4@Vo+;)@l4#-h1s}EFUYcoW&Pw8h}kluzXB6j(pjk zW_;dhDdq$`xvHzP1i+2?cH9kaaD{g|=wSj>^V9q?#FKlK<6iw1n=Y;0TKy%mr9xR^Gtp8zS7gu0zAojKgjDvn2%ezws@=M4uI1 z2NTc|TG$qq3W$aW^Wj1Nwa2n;r}Hnm@K@e;Q^C2;=eYWUHH?tC!ssW1N9Sq>k9?=9 z&`4W37kpDk6J#zBu?I%j@csILg6m(lu|U6+(r$oDmk<6aCHnj%-=Rbo#qH8q;SbX7 zapwD%&Q&iy~Oh zK1;pr^>^V-ovO|*Zc(fES<26pwj z(Ds?ALO|P{aV~sq8<*l|-FDyO4!Ef4`z-BRO)sRfaPxCi(_g9S_c#bU)%I)e->7&hT$EN(+hwf6_U-#kztL?>Lz6*9N?lml^ z)Ik^bCugC49!>%{+(>p^_#)jMOaJ@%MC;@4aiyp~iB!oGG5QD53oUi;ApE~~sX z8u~iHXVVK0tTyL}itSGG9cyz)6dYez>>QL^&O*!(-h}of#P$SMIWO|`KFafJzsi-s zyp^v>YDK;jQDq!fbe8wCw(qjcr#0IE%pQP-a}qh|BH_?mm) zqN4A!sB0Cy(Vlz3@5mTuUTfT3z%HJ2_Z9v8lNToPJxh;1rTmTW+-o^Df2qPGUe@Ow z?g{R;c*KC@3vzvZJW?h1thypqi~ni{Po}EN}q!CuViOm zhcrg*(%tiaqk^6adMfBoC&Sr!$s>Fa1-;ca1|Ag}i3T~evJ~_>g(^Z6t8_Bnu;z0t z=x=ccT-5Y^mUg|S2aBFFRwg8OP}9$U%bUyC#gp!@XTM$&Z7)Oml=ashDz< z9eau3SrM90$n?O=JQqL8B7%(yIaUackliqB+2+6Axc=Jj+NZML_Tqyp?dQ8-x6=NA zJN1hLaK*uNdED+^{d)CVT-ixW(oOd`naEQ(6#^be152cO;@&)vYQ9EsAr0)WtpImY zq3Eb0B3degT)vDzN10;bcYk*6`AxUqn{RxJBEHXxt`+gh8v`?cBHmn8!tPLX>{7d5 zdE0(f`_&h$HR8FbnFVjYYH|Q=K0yoXq?VAzf;X>&(^>84S99g#mKEO(jQLGx>Orz; z)L?#+?^dH9Z2NsN{CLxjr&sgqE@R1-hwttR_UpdXrfV04%EC8{LS?B7e@0z+>cT&) zF1*e$sMv7WilI7`htlMvO|67#seHM4Ega>WjIjaln;tu-o z^WXF40(SAFyYIu_>M-D!T8MYI%VDptzIv_A4Y984y?K`$Pb$fZD-Yirjo39GjI0>T z44zT7;=X6Cf8F|Qs2y)8{d>O)PJquVRF;Xsd^_$2Hl!||R0nB@+52GMCGF?BFGX;} zdI*v`mdiUL{SfJA3X7~^IteYxOoAIP32rR@hLW-4hrm2$l$)_BW zQNi)NY8+{gc6>bQC4P+1Svg!mkZgm(A7H(u=m@}MJK>EP=b&c7ai=r|x z=h3xkGR6z|@;#_P*R2o1ji*O{Jbe>RW*PL$vX#zKIB7rR`tOUM0XlV8wU_N_o=n4O zDdsRBwXhwln19Lik#I-K4CdRhH{5VX8cJc$j67_m@b&nbrW;QS-)Dj-+S4!!$N3bz zk3l*c=fT@{RG+<_3`Ti6#97r&COB&rPo7LCA3Z_CGu{RlD@e1D1l zR;-E*LUU0FfpVH8TxyDjmEcBt-HwoV*{j{QfE#@lcNK1Mj=)uI?kZ(#UaxK{$Sy75 z7f+(;#-dnVTbrGx8!9jvQmP^B0n$*OBc$3wS8SOO%n8%fO%a(8+_*#x&r-_g(_C*l zQJ0V5{G80Z| zoE_uzxab#`b0*B{D+q$%hJ1he=G2}4^#0X9zWwmy*FVpGIevx(>#e^y&C}Os^<&$X6%!5I6=Gv!$Ls8#PLgJtZoJ{Y zPJS{UzHfi~mf*$%gBuRX0iM^;KO}|9N7jHF2>+@QS6nrnEqdW~5Zu@YZuD8)6}Z8? zQixNgXo0gy(L-F= zh9#ufFsN8Q_UYjUSA+R>+yQQsm;>p&)d!tmMsS1R23Fu#@%{0y&!7Ka(C???pY3!w z3jaGE{r+NXe;7^e?~&lfyVH}&SvVh@jgN${etaW}Tm3|uZV=pfU~q%6$g<*1 z)ff%$MkaI>0{%zF=uI$2)Y4-c5Zu@YZuD8)Rk#5se6)IuCNkCIg&SqBHO4X^4R{cksf#~lq*d(@6=bfR4*G;@9p>iN$}yJ3&C8_c)k4se5kOvMFFHu5p- z1I{PICd6@@MknWfh_mMns;2Q|xc%(w*HXYK37XtVE=64r&%*RNj7IsS^w?>#K~Q5} z^6Vxbo;dFMohOQPi60=Dj|JI(KV^5!r!n8drFlz-h^<2erFg{9wPG5QU;mcR8 z{`w!!lcc`od}r z*X#bbAX4>N+*POnUoGnxcNROAbQ_OzvJt#O#|xorV08m;7=)kTC#KTDgjyhf!z7Z4 zf6RqiPA~3qvSE*u7|gfhE>MFFq!&oUKFCmr>$cPesn4RE7=oU*B!f+c$--$^Wrx8W zG%m`8SUIGB7pnut0%Ix2X1JIs65Jr&1`(-fvO#d8M#D5LG z!HrJqL%IzjQo$nt76Fs=IwM$g(6dk`A{9+HHdE~8<1>OAM^7ERry$)(m8dl|T3OgC zoEbc1YD3(+bI#YrhkJpvT+f)Y$E4bhVv>UKJt~{$@3a5cLV2sO@DyH;Arn+Y` zl{w;eFyD^7;RY}Y8}Kp{Q8e911UCq75ZoZRL2!fM2H*x-tJzBvD&`O?uC(E0&VjVC z#=(d+iOe~XsluLcqtD{5!VQDe4dfAbeqcnVdYoh`SF3>bFazUE}H|`y7FgCc@jys?YUbs}Qh{b8RL1=@}2B8f?8-z9pZ2)c5+;CG8jg@y` zktc=1r^ep|f;W70TGpXt8xxmmA1+m&#a%@k0DOoB^R{3-LK}}0Z3N|N?}Mt0S1=Ow z9KLY2;Z+UIhDnOos@rsgHtrd1=p&^E^X<3;+yF#j!Z?ty2yPJEAhr2)g!Hs?3MxVu9g&UFyr;XyI6o0&2D%NBp zYbh%m4fIkacEi;&!3VeY$%>R~O|csXAl=Y~7B%0Fz2SyF(tsP#{2Sp3ZV=ocxIu7( z;0D1Bf*XZP#huF_c2q{$;*pbb@1 z9pDDE8ypEL!V}yexIu7(;0C(7W+0>*aBuLZT-)bC)8Cwq!|2IRvvHohZt>%l+=bIN zjn5{9Rh-UFhi#ol({}oPm`*}_IvJkD-*cK?{IqHF80B23MfAa%DkzJ&xn`#FnS-pt z!O#U|!saf}>3r7Kcs6HD%D?{guio3gKDW;bp<<^mFiGf$;eBS4JpQdcrBHDS6|eIo zjob5Sdp5#}ffK5eVSE{;;hT#y&MB*%t{P;Ef!AR@qQ`u!Jo@W0XC7oI9yz4l*hjko zH_WYzy9zgq@wf(XPNCwDSG%F{ALE_FAkhGBXd9}aZAQ|j&~>)SUI?aWx^eH*4Pjt1 z)osV#a6^@>4y!%qjAAzkZV=ocxIu7ZLemYJZUBEcrHnEf31b||;>vqjMIm@)xbuyU z4Tpx6;KrUlxP2CP6>exQK&X;};Kt*H8_s4Qob;e928Zc}4<+jcb`4FVjMoT<>@YsT zjeCb1oI@(!ZO0wp2DBRzsT)YonZIb+@aZ}{$tslL1^J`0?wXXTKaj!;5==^l2uzL2!fM#u32{ zTx}Sda2_{D$W#;Da5ZjwG00ePFszad*nUq?ip^#BW>Vm+ik}k;0A+K+-Tz@k*Nr7 z5ZoZRL2!fM2EmO&rjjw%#u>EQEFw1)OTLQIK*Z`8N8}$|AZfZW+gH2MXK`2IhG0ln z6yScN-Xy8`b*p!Nr*kuQX`WB$qDXqR0C3eIc1%Rd&_}1 zOW~ybkn6vPlUeBw?)3WqTtN<9x4MQ$s>SpWp3^a7q!?`#0>i)7IcpK3c7~+l2cX@M zM~V&R+i@4T0V7-{xG@Ab2yPJEAh z8zmjax-{MRF6=ek=&`t~aDyq7DUOTcgi3JZal#EGYZ!PP%c@BRBgMdA440Z%!IKKs z(+&cTrpDo?>Bc2Ke3nu^pXRbGYuIo37;qhEKQE?X`Y~47^dgXtE@rkb+tWOmhSNe- zfoF!Tz;I&zCDTVj9tky=Z^zznqr)i7E3TO%G8N@+kP$99Q;}4hv>QaG!VR{z(b~F6 zm9Q*SN;DakxFA#MWL&DPh=LUsFOjMCfg61mcLi>s=`9#~^|rLP32r=2xDkYl4$<*d zf>}s~pcTN4n4lMz2E2XkbM%E=O>pDh;Rbk77u#_Mw1H?qjRCQwP;ruOY*XBjbmJ*g zky(gVkaSw3_hLANY%%AGi3X-hv9VE=)>}9~Z|jhX{ZhF#=HD)~EW$w7RDQ4`CV6*y zGC2$9gR}AR@a<%XO{|CbXVu(kG8@l5qONs^>iJH`?VCKh>Nkb&)SidBF5j4psd}zr zS-_91w$fLgefaWKtH1uoGx^oK>8p2d_^*?n%!lvW-@bkM%d6%G-M$-r$G&Y#F7nDr zaI>-3g*dJ)P4`~nxV5+6;djDkw8eyM@b3!~vj2IV!^!k@f@9Ok`$=a!w*K{dzW?mJ zm_YS-``NU`6TkTF@8Y{}pa1@vy?AvDN3p*>|K|C#BFB2ud7JS8E1kG>HXi4bP6OBx zGEk#PV}ht$P7F997Rxi|D{Z3njZ8d-(hA&SOa*%!6gqVR#xS6Da1B~VsrR-)VqZ9Go2(LfgtlWBx)a1OKqnm_bX@WHLI-L#P* zMV4^*32odn+7L%t!oRZHjyu2&Koo0)GFH)W;}Z-wPTJAzT{wmZ=p}EGuka>$cZUoo zC*2*h$DKF54x>>%nc(*O1N=KLr1iMTb`GP3bs1)*3@PQy zZ9A&Z-cAOiJnaC(q`cAM$&=~iqbKyKWe9c<>>xkfOOIcI9k}XD((4Syc;CU$1A-lm z_ZiHoP$lrnLGR!S&dmu;cRohhKy$%IVtizOYXqXt)EQU&Av;jh+2mEjvm>_~c@9FYE?BP#Jd;&HQgZX~h4I6mNCAuwy4L$)j*siDQ?g4w@f-iHN9b*#{ zCLkB7>w+qJHiT&uK^YmF$6fRJRF96u$|R-dnfHJ&L1Y>BQBZV8Sk%Hl6B#Zpfdb_@ zfC8&klOmbc?knr=v$(5xKwG2G{j?Oxw+#<$FGCI$3&`9A9OJrjjX(}2{;k5sQL3E7Ks`JR}Zd-mHpSs4$h_(dAmCh}5lapk7}1&G|D(vCwHnPj*d>b&)TG zM}GX}W$D5`H2PJaW4nrc6jM@J$a=6ur2M!^`O&W$I@FO%OhC6VKSEHBgTVu@MHM32 z4lG+9BmP~AvP&Ks^7&$%!L=-6u}L1kX;Z#>Wr)Fv2C7ns)fmD`I?L`_gi1FisT@@@ zGW`kDmdo$7HmR9E^yI(3e);mpCoj4o(UUSgI(h<&tN$)vrlV5c;C&^I1RKov><-Wf zx#dn+D>Y4JJ_R(|K6~9C77+!Ef&}Lb9a5tg1C$jK(#J!-H7S3>Jq$J63^#<|+Eb!{ z5e00E8ojX!40MjBu!)d`#LTK_;mTuF4N*GhCN;%WfYj*wsL}f@?kXmc-op%unX>l@ zliY+!wwED?iboo5h13di5cC|d=^)684Z_O-SXgLILA`FyD^5 z!41!(u#yuA>`x+rt*7|x4>^7yH9AU0f*k}q5E}j0=k^)F4lt6uO5jM8{+WPKQ(Nai zk>EnxLQq-(Wj&Q4q&)c&USHkZ!fRe97+zK0MG(O}4DY;bT*VPVAeIh`h<@QQOd1i=h@9f4fB*it22jf&-x?Z`8YHa*%c^3}StZpV zyb56fS`@y{MriOnAGf0gVQND;&^`WVm{k!`YpY-60-5wVzU#;YkWgAjLy<==QF*{b ztqsUz8phY81A_h3J@lublKEcQ4VFAWg4Ek_J1yO~$(;3YfM$V()RxF3m-Oj-wv0(2 z^4GtTK!gM$cO(#zfj7cg7-H25V+j@@rw}edG1~}(*@X1$TI@k4xgVLu7a!rtu+M_7 z75m0Y^hjOdozWO#*D*waNPCYR%8IYrJAc=v@!8}C+)-+r<*cBa?qQB#bR9y)k_M?z z#HMmqmGF(If!{-vtT-MoU-bQo-}Kgx94<<~-M{VprKRvb9AjH<2J>@%m!chlZ;dXm zlteRn05l^~HW0;#C`Lpv>XS`_o8!vhjwnXE=Imt`5{i&iAsGsu`_jfLFxFt0z*uc% zhUXOJ?5&vFZknfGOEK!Rz^k==$>{O|!N8@`#0cjE%+qg1&Dr?0%YzCh`1zuG{oD9# zc79PBK5arAw`p{8UUa&PC;V8vMC&}>T0WK!+gjF^GIsIKT@`zH?ZmZ1ab+=HzAwtJ zOY5TTHFSOl2fSj%I_b4O!#C}CI=gbhTzUN(0&pn{xS%rVtl{wn*>#350rq0kVE0K~ z>*OhKZ`Qf!z6mF@6$9P1lXa=AD6nM~F+Es`TzE9u3dIAy z$wvCp=Q={zdjDH+hkTF4U4tCbYR4rb?$8ZA{Ncacq}qBIaNaHu(qX|3n-bHFRuB|1N%Z=c9qy!7+K1Y$7XR=Z&W&4j=-=^V@@jOZtBP7f{LPHWl}HYK z-Vl(YtQFEPyr?-#QUW32H@e8lcnonDYq#J9dg*g)SJ6w!_|w{Oio4i03E2c3*A4|v zw8NZ+G%+O~V+7^O!`~@dQ8^z$zA_CLLZFpyAL2CRGFoCo+=bAlku`=t7D^Lb8B8t_ zAHL!ui@>>p-&`n!sCCiDl3TTbB)EL6ymAxo>he3S!M#rqcfpU88_f6Y4$z3R0f*cM zp&A5@h@ItbG_xGyD%OT6sxsc$MrqdBMvY>#`lI~reEB0XmwK9iyI2rmgk!}qaX-R7 zK_Y@g1c{zMyCZ=&uU(e4LUEu$%u-6$RZwuktdoZ0ZvZo0QryML6lE(dXn{%kEbclc zK|xxsp}2z5MCGQ5%GSehuz18cgXs!pm55qI{9c*90Fz)3dI?${kP2*Q@#SwZbJ@^V zU#rKrk6+f_N*9-e zEeKoO8MaW232rc#@XBH45`)KZ0_oz~YH4(INi!0huV9O78toShtv(C7h9|7^+Bs1g z+=M4?!V?>p{x%q*toT-y{i=$*)Hut+zmwfZ82wt`V0r<0G5nvgp`w5jw1KEfXkoc& zZiyBarQhz~_5jVJP_)~@{G9Jyw2LDK^C<4L6*MFG6p`2)H`DM6piGlY_59IrI7zR` z43=gEW7MUg7SRW5(1Eq+#ZnN(!e=p^oeo!%yiZoQFk3g(ZQ1WUg-@>x>TEAJPAJH07UXlQt2J5g zVm#1iaaT}-@xprUAVVkA&`bw6v5&TwA-6yfSDNd4fr+cHU*ji*Xp%BASBzVztF`1+ zXt48ylFHT4<$G0Vez(9CYfb%q0MV7-;gYrVd7%v{2J`LM8*X3%foKaYBqKG$GIEC| z5TufR%2Z_FW$Mb+HT)+H4^>2!Q8Cf@%wuDtDtEnbe%>Nx@*=!?XB%PGIgJ z54UaFOw6Y>sr>0OVV0Or*fX^@YZ zLx{l^5G;fY*EJS$iNWRxgFK{SD+m10*ranHuUTA2)}}pMZI?E^s4!f*E7HsMG=l?m zTI_1zfn?zURWbjP=_A39Bp=MT)oz#oBZ#6^pTB65#_jnO(TSa6C0V7i%C3?%K1#U| zE2q4ud@zh5a}*BU4ZiUOg|~Y}uLjwF{_@AuFq^(U8@C_2bj%X(7*I-_jqsao=K?Lp zQ;$>OOtS`>HPEbqW(~bArE8Fb;XBRlW7weztQ0KA3N--7on&H;-y2YBT7{%V){if-`%U@nKKj`+|=sWgp zTXdH@tsm*8?|ga?Lu`a$zB0T{mGZi&9IG1u2URFHuw(b7?Mc&vE7OCmbeIKd=(D)1 zsKFu}kZUl-uw9w#eFI^Gz|LS=kyk$;d7iXuxALXI*CE=AVGtl$>7f>=qV|NbVN z%rXj^vXxdvD*Yx9+z#g3aR;;^*+6lm+i*b>h;f@nC+D76NyJJbT=9f(#rt783GL}* zSjIsg@vPEUo_+Z8Rja@L$20lWyXmWUZ}_j1pUj8v+uyz=Tv66+c3y_b?ddp-2LHZ* zsQ>dihm+~+6sFLakttt?&wa<0-brY4u7bRSA z1y|h2O6s$qYghv83B{QsEb&lTNx%X+M!<8IAr(>%)4X7j6IUnX$eUykhb?Z06lemG z>%T8>LN8Vl*Ms@C+6@!1A~<4%2|lS;(rtWNiIqgGBw{5ID~VW1C?W2^E6Fwv1Z!z4 z8Ia-zI)z2slfzONZBXtRZ-S=Gg=0N<+9jKd z(U^diuTosw$~l;i)is<1Vy%SlB<;7D9uOwj0~5@*)uYD*8%9fqAzIivmL*$NigQ?F zr1T`0Q}i>%v!VA+P~mQ%LTyu0O#^I@H8hw)*~&){HznGjE}0rpNEH3N0u{F2{}!~Q zK8w2w8w^O-2KH5@+f1zIt;-#1-2j8Dx=OME z7f@hk7odvm^49C1k^du#YUmcg;_}ny@`YRe4xg(Cfh0ED14ULcnaG zcsktzDbNUF*AWClqUYOc2TZ{Iz!axQGD{)@RR^mBgtpsEQU#JKkW^txQiV=Suph2{ zNKyr-c`ZU+H3Aa`C4mXNU`@rWgY%tJ+0M>tP!-C3dvY`!o`z94&Zls+hd6MY2XEU^efD-T z80BeK=ue6P(BjFH>Exp)^x-=YTp+kWaDm{$h4lE*!-ZsIl0m!5WN;%?4I3BdU?2_- zw&hXR0{_Kr{%}SJ<%s;8|2>1xdbvBKlNR@a`42jSb7tUWS=XVmaG|MGqjD9YF0F)# zG6!wA*QLO`c;Pqa&*~cdm2%fGW+0>*aBuLZP(w~L9MH?n=f_`O7Jf-v{yv<{;?jeC zGVEi(K3ouFj>l)S^U1K;zdN^;jIZSi8Qcd#sO`G!7D?%NOPzKD)Y|1sxBS6nZ87tvTuARoOtwmWWBsWZFxDs3* zt0kD(a2%G8l~>NR8sU2atv9rtAnen*zo8Wlo`Pn!^*?KJO=1}{M;L0;I(TN=~h&-4kcLjo&~Nd9w6FQIiPF6v;l!iI&k7F z<|KvPbqgr5DEoH*w!J{ZvVvcf{@0)1UL?Y&K5$36iVdv=c<1wWH%F z?c_;2DnB~L@=peM-k*RRHXWdzm_QBY+p0GvU`N^yEYn&(sED}@F!M0b!S>z&&|L~A zCtV(IkNa_Y9Y&*kQd(3rAvwb;kk1qOJdw{6p#|I~@4)9NH^GX8>|6og*GeHjw{kYd zs%{$4OKXc(+O?Sy&+~CRT1+c8R9)TUPsa0cMt5JB=Hs*R`;VHC^=Uh5C(|+;e^Wkc ztsHvx@iXu~G$qMnxbw1-`k^c6JKjN_RBAX(Y$kcB_vmwM*MW;xQmbx=MB4GksU3gF zQf zgYX974Z<6DgEv6H$u2Yzp>^o3Dk;E0m!ddEfvX@b*Ur#%Viy5Np9Nhn^0Cqew2@K( zVGu-V*Sn-$AA*2GY8b~Frz@5$~q^4txXP$(ylj^_sglspMnYI+lnxO zQdwnJ$(oBIFTzD$fp+WRP{smdDahu}q>bJJ56}#PW)L7jj|meHCLm03H<-W#SUSO` zrsA=NsGC9E5Wt5Z-&qE#*vXV=JvK zJI>4dW-1A9IlP<{ivNUaizQPjNEx-j}KUy{w>Le{7X~FYn&#;5;fGh-| zam^ySIi4GhuA>SFiVnHrOxLbXA=!@bPKElFLVe>sZy_z{v!JWRx`2XR!}6uDHT z6GLa?(qq-`yI|)&!gdu-#z=vKVmBdM5tTbq9BOFPk?Ej$w)mR&T(Cn00LPkXn>)?$ zMfqMtytv*jo9K^6S|D7J7GPWL0tre;12Wqgsf|BrPBig(2om7>N00!Q+E5E*`B;Q& zL3mcdG}=^15@l893GNPx+nfW|>U`FzC~+;4k{|&=f;)o**$E#)gEEFIR4}G)st}E@ zMC}_RJTi>D!TCv$U<)Kz8nX6T&~-=vtp=QLNo~BXf4>P590H#widu$%D?Ai8xXeq) zIs!AQ@{U=bY9u&>a+xPcu$rQ`gd(4QOaMqQ-&Q+d0_g|EdkS-c`HPlrYMp&sA44@9 z=ZmzV?iIa;(Es_%A5X&!es1IT!-dBvY@R}zLK1{~;a2tgGT`q(HO9B#^ANwE`2ED? zAudm^%jmwCbAE#La68x!(>@^gp(c4#b7w1VQfHf@s^D0vQsg0K8N76d<+yqP?n7&& zlErwS&tk4&0RuXSk&Xh}wqb#_Wk=z4-=hJ~B@ZTY3%iu;P2;mJum_1vu6`?Qkj02XOM;frKDR-el095lzfUIP+~jc{r6TDmjkwT~_YZmh zkba;9;SwIW8$7_R$VJNny0ZfwaF7l-=Fs8HAir2;z3XC@Xhv{lMzD6jTkwVYEan;( zV8SZNgfG<+mYKXjuk!+3TXwA2ee;E63@HkhE7=t9pO_%OsgA&q^Ej%hY9ZE?>Nt;o``hzx?u;*l0f2-=psp|o0AI+Vj`1s>Zn}@h2w_%FXkZUfWtYxw^Ax5!T{n3Sl_TpL2 zch9=9BT9UsKD88Sib+$9okn~iTy*Y0KM-tCiDyyi9AK1KLkt;(a#dy`Fy)$P6U_)# z^aE?el?7j@&tk4&0i~^j!ILH|&`bw6VS%+}$BNzeY(T?jLrT_E7NtXlOjg)$G*A`0 zi1gs#lg^H!2g;d!m$Lyim~W{aZ~%kPD2S5CfhHWVFAmr=JEiP_jmk;F0)z!9d*CK5 zHff3PoG*lY0nH(GtfYdV7+L`j*+7kK4A>?bgE~i0Zt!dc3v9gSE$~2}1zp7hj%&ft zkt}jknho592R1JK0bl|H<&9DaNWd$D{9vasC9t+ihD9ZfO0_ES+r$^TLrkFfV7{$( z!31m|H8(;~9@!`53sFQdVFFwLSB51$xfV1Zp!opJ2kuNmz=F)K39Lfi05k-Wp|{Cp zU0H5xpHhfH74kFjg|_g8mKuUS3%ZU8P&P8h$Y1E8Y6!9m)&=gX>^-1$;2LTIUst?_ zN)`AT$&;ij#&zT_=LEn6^KC_#K&h;u7)wDm!^NoWcziZH zpA4J*b;aw0Jn|PJe<8vHC7pr%M#*oqSl9l~>l{v|uTz+YllPP90Cu&wJ>blvtdGjDmT3%E{Q6eYT45z{z*v3LaRy-!0|?eHL>S3s|SM7v7M+&^9cv zw(K}B7e&m=_vdiw`{U`Ga55`)eOn`4H`S)wUxd15+2-%kXT4M@HY`-eB+%_xNR=xJ zeH}bwFc}5fCLFM7t^Y*bfOLcTmf8&ma3Lipf1&+xz~%wo{#f9L^E|#tYyQjA3xZAA z;$c?&2TQYg0%hN67=`0}3g36!Qpb7lwjI@HZzqFMo_5Ut$>hqDC)3GCPv}ERCj9{A z50J;uWu^k@i66C|*qUgR2MXZ12qEiI(D=YB>rl-w)x^3BSUsHiK)Dh8oc}$`6KK5t zzu0+#yY6L8MDxoqG6*+fcbMssY1Vusf8KX-jarxqf-<&_IYZR5`u3^jo zIRFEc1o%_v{HJ;P`mEf1e*ER-Q{2|NU(b*x7-CB>2oYs z;fOH;&1=?~$`W1aA<~r+CQCsnRxubF;e3~}ib48HI_Z!kWIaxMoXkrc^F2)Cc7jgB zx8rtNP|aF%e=C5RzZ84td|bZ3w9VLQe>|N`!*n+J;;b&%?Tc{^(@t$X$>TR|%2#)@ zkj7=>B$$jCU8)T8CNCRXX`y*t15Ep-DSPwc9k2dgOT@9^i!UE5ubjmf-PgJL;>+)} z_Djzndh%aizkK=QlZ%%=DZk3m6T$d@moL*@Enl{$xJHH3E~k}oB)|(CqL)k`LF+7V zt?Bk%U&w;jAVQfj4%-1Wf6?+X)Lr-bT#0ZHFL=2ZS4xD(+5mHD>lM7F6SI{=gkA;p z#nN&UzfLK^aUmSHA1;dXQj;TP>1>2!*Y^y-GAEn>c*WseKW{^4BFI7!2^5h)5eXEL zaCf$-Q3l~-VpSbM!%!OH=YZVTs>w1n(M2hnE+hR7fWd09^VO(cfQJob0Umuao?{E# z#xcCf$7kdBR||t@^=Uh5C)3iXdb6=8T6qTEXDei>MdYB9G?kFxlqe1S6+DM16=H%W z3TH5x!L9r8K$az&s?V`pgDl!Pt>EcdN>Y?sl+bWpLc=DscnFTHP0f{PP!Bf^JeQPV z2|HN$iaVKu3t3_giG%wHSY=SHVSqQQaWFg3McaR0Hl3o|SxJk*QiwP-45Jp$pd*e7X7+hQn zS)S+Pc60-1=^noq*z);KTKXK%HP|9xGANy*Ac<|nuT8M!5KLnq#-wF^5`r1U_+r4a zHq2N&bln`JK{uqik+dAamxh$aA^D6^@!uLDaS##F8-qaWsYW9@dkU}N<;j_Vk~SUA>r8f|RD z2y4rZ6X?FhAvMnB?2@gFfL)XlOjTZiPs3yguwY;&*uyrHy<|OYU}AZjoW-EEN-@=5Z5Jo-CPscSpv${=59kO{z^uf7IeeQBI^32(#ca zH#lvt`fQT(EIH4T^X%0fv6|*a&a-#!JgX97b-j!g4+czPAu{yk;A_ihIO-nT1Yi76 z9}s47SvU~rQQmk}CN}tuoVC6J1ww)(jdTEAext+1EPLK~7wDzW5nV?wh~`BWSLxN? z0WoX-8-AMIAy`5Yoj4{(*IaOJD@8&H387V7Q8=nLl;@ z>z1Qg)FJbC%3%Vj&-}4V6;OG!tR;T(rk&vF?dTZ8sOe&1U(8a-<3nzo~Q0P zeDRutKWxL*Ukg9@_;>g;M|A(Ac0O+3;Fx~%<6LD~)*XKk(M2Tz(Q?E-7o5XQTOZWj-c+>y?ZKhm_tX$>k=KQD%BWB zf0%GpEgDvH%`AKhaNFP5{W@HB@8>H@>~lQVdtcI{Y2XTt`wn_vbEA??#pGp~x_Hvv z_r7-ZQ6W*{yvDh1;Vvv#3OZPut}iIO8`_|Yhps~vn@*nsU%D&R&Hg1~aB;rx1{V%j z3%G(3FCpEsOL^!sb3zS-8er&CE~S*rgibv{0XaT!PIqbGDUSZjSEhxc? zg*Ae2xD+rd#9rQr8V=LO1fDDkTt`^Xc?WNKFqNyo8dV_-H5ru~1MvrY~eraaX zBGe5m4T~odhP8Xn%o!#qW$N`Q$9lWXhb|9rHyhg2pDzs6#TVT)Vf8k6TZ1vt zfGbpZ;NT81{0~nYUMNgkYccvP|9Lw9br)k#{A-ys{dqHUlU*H}rh%kHLyF;$0peW) zhg^uzjm1R0@r&PVb+}x<+k>B(v;Ah~yC2a%Yi3?1!yk{3X=aWkp_zHl^tZiuL^Lx8 zo`kvYiia;B%xgDlf_-`y^y^EY8>wuiDkI^@Yl+U{N6|BV3TKf zW4VesiR9V_oiN7=$5`n)*2>ukugq(jV23+8|J=nReU9pSBTRE=;d@ZpF=%@J$*#VS zvJuwLBw z)xlO#FQX?Me|hpRcbS?qBrk*TZdc+we= z&VZmQLDlcrw{4NN-q=B*5$nB=SS2zxT>+@hz>ru8#4ZLa8SKSj*why z-sf1Z0#u}>A~xRpI|8T+(eaJ5#Kn_PB`%D;?#Pwzx|(Z~4^Tf?dd)kQcEI(+)azb^ z1zE}ix)pgCp5h0hO6G1bKi7AF2;}9R^6@8d7hJ^&ol1h}n8V>D5gl`_Oni6x|Fiez z&utu8*68mq;{6W{#hceNU%0^B7k=S*BiT}0ZOfZvkL;N*6q%J-6l@Y;W056w^#A@& z78Zg4NERTqxcGM1ZV5nbS(#P$+q6LhRW}+A}Q90}Ca@N+t$G9yZ%}wfe*I2u?foi>t0rTDh`Ue|QWlaVz zU)QP;g^Rxg8+VV3j6!>AAX1LJhK54FYFGuA0blHiY7L6339dli>$%8VZ{wV1d24vc zSDoZG4zkg3FA!N(*-B_JD6}fTfl5{q4|ZRB>tlw{^^I_l!GR9Eai&UWl)%*V5hU_P zR!-|iYp1!-ZZZ6KS+{%ZE!&TOy!+ieFA!rWcT!qESL03zi>K9?#y;kn-9q~Ly*dBg z_O4@yk4^q`qTPj>eKHK`Q8)=`5*$4W_3wF*=JMy?4~Hk`+VeN?Y*{_E3)Ykqt;&3`h--gML)02GrFSvj4d=H;L|Ek)W4{WcN zblIUBftbQ6IA-`@;Jd(B9b|L3h#XRI;#hI$`x9jQh^q1NsT$n&=I`5GvKFkzIaGj@pKmm-=d7N#5v~jR z$J>2o{@rc?;s?Zdp(q3kXP8pg3@xxiHx=}@owAt=Z8OmPKOThXwdManG{Tsf`U8XIVaqb6)CC?R)0umJM4d7Sp=UIpxCM+Svc~meSj{Dg)J~La#J`LwG-54?BeS z!uLG4S~Gr|!+Y=`Ciz8iH6JhU-KP)gSI=TwDBpfRDQ8I$Jw@~s(NjcE5&fNr=!LAg z@!%lTIzcu}DmX+rnJS;^7|q}5q?Im;Xc9MQ}2+99CdIOr~6{bd{Dyl+zip7-Xf zV7K7j70~PDZBD?ib|H=r*O_@Y*JpF_yjFtzRp#XS>0U}CBn&_pfG_}I0Kx!w0t0vh zStOrWWtC5mP_+&sLeW=(B{UKwm!rL7vPf2l#4OB-R9(bVOhO@o^Sa{BTc;or5_!3z z+b@gsao@`eWYXn^Zz2DT$k z{P$@dPuen7Qzsp?;}wLZ0(^X-G~`2u@KgxKtDqIcno7|7(LvN)WntUx{5S#(yfTAw}WhY1>M;e7(-La6kV7J)%*)<2s02+n@xP!+|m zuGHpVbvMMH$LHRLWzX0;^oRJU^`=(^j& zF#eW7WlHEKA!9{ytGEk#4blb`Tn5R(dnnLaZO|bFU}787WS>M-ysVC`<(AuPtVnQc z?!U6ZM z$jlCeMX_Rrxvu;%K!Co}Mn7lh% zjKwDB=fbU?AGS=%A{K?e7TvTQ#*=ALyr0Rfm3cJj&$Q&qP@}x|ra#8d`-9`>@JCo2 zYsuE1Z@E|^f1NG|J-Av#$pSKA5{a>h;#%~0+i>`xxG1#Bjht`YjD`c~V5O(ue=!_1 z{p0DVJ;ie&{>$$8ld>V2mX}6t53A^A6+-wHh;OixRuBI#i@Fm=hx=-tgW-#FrzMc;gpdttNgaks!L9L zZ5D2OPqt6(#pd4+N0V}?O389F=FhvePxGMY(mcWKoL~w+{l09_gp+ZeO}>*{q=lfe z^K|g6KY-Xy8`U%l>#W>PJ{)E@Q1Pa}%Z~<&4UY zHlM!u@K)cI%`?7mL)Kpo?XAEV#WrZX&C{(t$?@T&K5O5R-_OtapY!+R?CWxO)?bb5 zTa^2HTi4Vj7g3k^;rl&EFzH8cB*M2M( z3vuRbws<=&@8WH}P1n9wmf_o4gJ^qY|EF9v9#)%vX6-lUo18nlAsW1!jgG80&uLK& zFstk;nYg&l>1;Q>%JaE+c?3u`K&k;!4UlSpR0F&dH9!*rYGwv*m^oNvWsznMTCgfh zofV9!MHZ!=aL3ve|CDvWF1K>M4ye3mXvnvv*Peu-cOh`hN>Rh9rHBD`3&3u%PS+knV{Vqk6YHNO#yQC8@nT@x7bS^pV z3)#Pu_+(2lwjHR&=4&I>Pgmqt%U!!Rg^HPXcaw`HQ-cdwO?)Aph!6M5I&Ln)t;sU% zUgO_#?9G%JJ{0pW*Aj1+o#&;gqnl_7XAtafgPVJo588aL-&|k#=DDoAgSQvcDMdsn zB1#caiilD~cOpfk1O#<5n!_b}50N6me_Rl{;<;wQ8mXMVl+k)40;1Qpi91_2EOS>( z)KMa78eEao_-mH6P$|3GMWFQC-zL7t%XdLp?Q&N)vPBSwLGJ|l4vbg3#`m}hJ0*`c z_TMdmw7Jmgl_X>go4y)cWtbG%sJ4n@|Ngr@{Dno|JB} zw$r2}`_k|<^atO9nD7l;Jx=gR=?FVFQ@~%!md)SOqVfLxyWXq^zgM3OrzxDB^}>6o zr}XOKDYp1$n?bp<%YS1|l+CucbUcIs-`Qll0pIdFEWhzImTv#)7^%z$XtKfPPu_VZbJkSql+$bx%vc0}Nv zz&n9=0`GSMyw~3FSVMm*q#Ax>4U1K9npI3d+_OoIGOj3kZtd^5o!~u7A-RFWLX(O{ zspO#obKO^sR<)>;V$RgKqT3JNcY5tEV0)MQxdGd?*U;o6rKtB%dCqI70k}ribzqM9coDE)i5$0{*8K3F4C&`0w+v{{@W{gB-2(GlP~Np+ zoHriKckkz?G|u&O)StY&$irRfO$mVZf4mxxU*C~CeR$!D4%birJgN)nc4YqBsYJMVTqyDf= zv9enTZnW8+{-|iuE?Im}2Q9eu(-`}1b&EL^*WTRIiX zSyth!Uj*Ls=-}Tm=>PEv=O$_+cnBj!+TQ0+Jv-TTv$Ji0Of%ByBKdUbv$I_VKjV$? zbns|69i+Q5dAD8P;UyPyOK0(%mA9O@=$AV^2qz~8KR+8E^alq&fBX2w{C2E8Ul)(P zy`QcZcd+e|`E!3XnTC^ZXF1IIX{T;6~N^j>u3@2ewUlurAoR{k{!Q$JMX?WRBE`KO*3~RT!y*PH~>AZ6g z@ns&o!<4=c^LOi|+`0){&a!>pu04ov?3ufmV=MD}+hca|vkOzPT+H&s&x2W`@npR& zVA%R#Eiu7&)5$#w3f8XX*3HNEeRi;5@ox_c0K6zdxPZ%WS1$)Q zH*-th5W2*iDGUh`hnZJA4!e*2tS_Zw)6mLp%Wz*W5VN|$MuSjDXmm*iUM>-i3aUZx zU({Aqv1U<8DQmZ@O~lIKmciz3XF1>O1Db&Z{DX}Z4cc8ent|Y8QUwFMZeK&|5EkW) zGif&H-7F%O%|PwNwK3`()ZGB0ULD}84 z_#z~FEz18M%=dC-L(s}O&42!>+JHnY84EI2Mo8Rh?M3CA#L(fEqim$nK`aPA?Mb%H z8~=TG0qX2QdrtuB7sJytK-0tUCiG82?4O{61`Mg2K&h9W$_d1~--cs2OIK^Bxik+U zyh?bL@G9X|!mD=zuZqC3N)~Q^PJ$T15c7f}jDEnzGkhZqi$&Gp4&l`#Ig~dL`o!eH zUS}3Ettr%14SIG+IZIm$T+!{ts~__AT_D#kw{;V_LJA(pwT#XuK(6!4EC;(Bw=I4I z{IejqKTUA3`w&aAZu0FPau;w-i?h94=Jc`ybQ+M2D6xcHOXf;DM4+&-nt>BwYpuWu zfS!Yk9t#}?a><68L&^ciT5eQ$_p40xbDqs*XW9kQUbF4hxc0lRae}2SxnJj1$I|Q! z=aEOOX@Mo47`#g%Pg8{q@KX!UgfQE=`%BBcZKHhtB~EKAd%r!Qjp_Q`*9ZSzJWmd0 zbpL}dhAAH%2*&=SoJ9NREcQ3BeLp?J+!c_7fR;wZ{0pX!xIbdLm@t%;M^Hw6WEX}@ z=iiKRaRJ7R^Mqhb5w$K_P{i051Y-!s5RADKFvjI9YRyc=>LRyS!vfjGT2(C7!X*_| zw08`~7$zMu^SSaUJV3ljH()Eny&7EQoFFxof-fB2I|yU0dGjtHOqW}_1;XH=t(`C7 z9RjZtgj-Js&2V(u(jvnNK3_!Utuyf~=v~p6TKU2EMR+Ua(Y1kbIoO?oFxT9Hl`*(E z_>v3=`YeH-A8kU}N`{h?uvING1o&#No2H{@`=ue^LjU>to3{bCI+f)vgD={$2r)L) z8JPln$!HI792iYPS%j;YSZ)0sgD>mTK}1yj#{ z<$U`qf-gui7=kYYf-eML?gV^cjkbt(JVF45Mmq-SF_%rQEW&(?20T3fN{`OgD$JvN z+#k%dqxj86Fw=g2Ft?H_VMQG#`FJ>bx0>vIm`?kHVz!Mq`AvzdHg>c23+(4w#qd8p zgz0iyHy{ke<&0#isKXP4xioes2y>w~Xk)o{uHKYV$A(HV3K^qI6pj~PmF>0(9B+Ge zbS#6Y-hAp4j`(Caf;zfZ;00lcvp!lSMgUX=ZRJ<90U<1r(DB%B`nik@y2PW0g-aEb z1;e8xoguIX^Iu*gF{`-ExiCD=rv1{Wz!`WTPo6yS-adI`AC{EumGBe^M;vPM?yx=y z{nPQ`f|@u*8T?iM6t0=$;Y{Ogb5CziPsYP=)*FtF5C0e+q5!QA@z44$i`3fev-uU( zk3D<;<;%YQ>eq+z@!QGEw{Q3_;~&iXZ~L#le(}@G<~!YgJ9tJ|;!a=*3kge+eO(!e zq>6GbgRhe%_&U7N+!_|t9mEpU)rC&*F1MEO#He2nPR{&ctI&!1&G@iGFx({$IBp$Ad7PyoPY<`?gkDvNNHTOhpuNK7kj6IwaD`4y6r| z+JTyuSgQn9rQmQH2H>ciB9Mar4@`hoiw}sJs5()<&d8tiPW$y}*vh-t!_!5;StjA& zG-D>FF~ouMC_`YdlylDhC}9JvmD;!#l}lz(mqBketk9Gxh5|8XSR}M^(~XU-n0otj zLKG_j{V@Jk6t@Ub5Td}Mx)X>3J{VT(+*DaPbdn1QHb;2KRV;%cTUgQD6vx9mR-O2B zTcUKir#B2G=AjN|))m?9#gCAVUNm;KLD#>YAaZpiwvCKljNr~s^KuMv<(@kY$KhaG zcv#Z#OS(rpN_X87WnR^c!-Q()gW@Alrpk)Xz|0kLPQwQvME-2j&n@r0{Q81*1pa>X z-&?&1&do43cX2@|ZdJDs@`pP+KU^c3xDcmX`PsT;^QzNBy3}-`XxMIXX~5M@hV}5I zj0FB&H=ejkKKF7x$&LmOA7Ny7GBQ{h!>g`qdV_l95Wk_@-V*nhe=(B`?UynVKtFVFfwPEOj2Mu#A@ejNsbd{S`WcX)=* zG8Cozyc8)2f!oR9ApC7K`0e?~em9ud-=chX`sUP~{qXMPuV26a{;MCSKOH~BtNY5@ z&%ESA2)ut5QYy7J12~URFGAo{(<`Ob z>Dd5Nsl&r>I_cwwU%dKRJp205Z?D<&m&Yi^{`Jw*M-R)IhG`PM<~`OvREMKcK53ti zZG^3?mc|5ue!d#|3L=(jvGZ_dgFzeo=6DPxt%fjT5iDX~_@D*TUxrC&_hLcW&MNB4 zDvP}&u!mhjs23x6+!k!7;7Zfp9Yf%tY&R@(*wk^2uE(bFm6IBOMN&bilwIu#Y3ue< zoEAWBj~DQQ<<#ZQ5)Qwrr1t?g0h4QyG`Jp(Z`@>TeSKo$aC5T_6mCFhk{N0AEP{g< z8niZpfP^UHPQ(Nf6ptmpwuJ7N6Vfgpiw<0;>o&%DpM$g#^L;4#PJ=O;7~xrXyaeQF zcpCbHa)IB3m={2_32{CHfJ*<_g4bz0>DN!cFMxXn_@A{Ui#c-r@*M(&eqDb3&+=5J zYUIDR8o45Qc!M}-^()CDhXe_3RMy>;iUHcH0f+tZuLYaPE?@dUsGm$O2Pi zlK(Zx;>SFzD2@+PK06t{E8ToIA%(sDJnEC_7&eHUa0KB9!V!cc2uIur93fS1l7ie4 z3k*%mHkc}ApDUSVlPtupbz6+tT1I(1NI&MkPod(vEg-_THzKis>Jo$^fQJ%TUlr%s zRuM!mbZSNkiK!4!Nx}Kv-V(~y@7G0@q|1%l#0#8pq4Xz`vtC}vw&}6tZycQe3{moE z9^`zYj>YA%FT_;KSmykEE-!{`-Nltx+}pm%21e*uDD6-L*?PcbTKbBT%~c!Xd@mM1 zW+jCp^^Ah;B}#9D>B$K;+^jx)koD`oNQ4?~7PIxTgZcvZJ#V~XPR%!3R%i+qH%XnUg1xIBW#D8w}B&=5*`g|7Ei-ZAjq~1 zLd)SURh1?jG0O;-1nd$L?9y<#+^F;#m1d?l;bdAu`6X1_4qQG0j@X0)&u>I-jrHae zd)I*9!BoqB(t!W}{PQpW_y6_f<3~UJ_2?j^a8jMU13`UoaCD%(X>^U!FrLO?{y6r= zRoOx@82t1Y8h%h6Je)}@Ox_)RpGQRx9!+Nl{Q+(T*zE_Y57GwOc;6izEHng8hEUZ! zXUGo+5D3YT6FBW8U;HmP*)nVT^_Fw~SjSop(E*kMWWb>Rckrek4z4)x({G=Ax91Ic zG5kF*R7;QkI_m;Fn3N9>n$hs|pbm(-4*uv*UL&v8jL_$Q&~FX~8CnG6FnZVfu&e&A zT&(!wq>rl7Q3Gx2G9B83A;VXu!9O0nn&-?QEOGFlo7%y_gQC(^oVpXC}# zarI&@mxF)Y15Ku*LAlu*i{%8fV0!l1K}jx+$L#`pnvM?QUw$8-JdOYLdvL$Rw?F>$ z&b|5Oo%!3hU)lcqU)*1ZKY#!9?A?>`_jtMt)aQTs453B4-d1+->(@VzRQ=-kZD5bT z{8fB?{P%pSe){U|({cQ-N9o6J2WS5^h$mnD@nrD$^YaJwDe(Gu(mU&)23hy>Z-;}toV(ZUaz?@& zCH zFJ6_~wmt$m_Ta%^AHO*G*V7;uYwu#Kz#^@ExQz5L5EDG0$A`>mXPk4$cPc5la8il? zFP!x&%)W7dIQYDE=wrI#tR1jJ-s2C7pWgvj=L0^Ui)9pEAzA<>2!lN@5gq*W<2RT> zSB=o!9+!>9v3(e3Izku;%!H1cyv{Ib9j&~twvO`w{`Z%k@V2cU7B}+0;1IKr@KE-^ z6+HO&|C$+2;1=Sa9_w)u8{;V?*s^S`}n*TL*Fi!El& zDCaYM793z=U>^q$%bKa4fBALwWH_q6pM|CmfBosl$6tK&6h~n_A+EXl_IhSjf$H&~ z9+rTlT-5RVKAz|)H=vZ|?)xa4LV5`liI$0W_!~q+yKIdI^!(vb_V9boXBA?>H{Fgr z3$bVFWo7gKRsPrIsBf#&aWxy!YW`ZN`l;-qOIo7K5g;RudzT8ws+|If*qd?2jkpE`%}FB@U&aL0k-ZFPuE>wAsh`) z%5@HgRU7DEbE)m>_-A^D z)iyY6+|&Y;Ci|0WNPC$Gyi zL;!Tn87!X*_3TM`&7&#)@!`3=F;a8=rQoy&%7~!xj z{f*Z%KpN32BpCkR|EKAnfa~#jyX^}kEAcixJ^MGojx+w#rizec5bgz+|0W-5hW{}C zE4~8Y#DAeceJ%)tzvsW>KmR5m})LWNgC^P z79F3@{CO6uWWE?>v1U0q%3>i`NLj3T9=LZgO*TWtpFWG#rVF6Oe<3$qzn%_$&*_?H z*aaZ}5wn(y+`vs{!9Lp~EA}Z8Fk3QY|AnyOr{}LyU|cpZPJqCf;*E*Uizt$fE6yV-7|&$x-?Kb?XF4Z)m9tW zRHw=ySc0sBW0m)igM+79mXSBnX4C!jyQlN~uSXy2(ATBfT!&QK9vQQFv)X@m^Nd0D z<7_&~hj03$$uyii!}AOEctpc*QOYO<&zm4tUv^U4gqzsvsn+8>Q(D}QGx24P(;~x8 z(zV2wxJ*B`W2ZmyCCHBQa*Iv$5_cd)m-rHvRXcJ_?hs#s1rzI}VHA}cQ>g%POD_Yj zoOjT^wE=y*muffN2(yA19{K7*DPR0c1NHJ^shFu%?#*$lnK zkI>DJ>Uf(CZ=3mV`E9^OEl#%}tL-#`%Wm{}^wnu>u87_?Nf0uaAX73G&$+JPNi3l# z+a!e7jmV0HI=MoNU$(|wPJ+1p?7J``I`8Fbn)M9s<-)HjCC%yhS?LBpF0>6uy)Nr0 zZIZIYwWuW@^v5Womp;v7+^TU8zbnHv+kEwgt?YY)cC-AhZ21vQ@0CB2x;I~rU0E2| zNTZ_-4Q+z!Ps+mRXi?euW@9jGOu^g#xcvZ`CxRP9&n}E$O!7+f&8z+?!3}~N*EnT3VPazu`PAs{2i%ZN6#`U|auZF+jesp}ksP@_5>IytZgd&k zb-1Cu_Ao8+#lhec(5L6YM>*J~k#HmYijg05O4Jq%)DU{R|iLWIm( zBg xN%N1UqXs46LtCB$A=pbY??2}9pHuneFipM%oE(GbITnWAD&y19G>^YEQ@c8 zC(OnwqUr`X`C#UkSMb|21jSr);9uw4kJgf*=M7vXHe7YbBQ+@SbMztpSvR*EgB?t8 z!`mm1?871vcIA}X7`%Bpg5bvS;UC~fUNXn#6O5`GM-LF*K+sTz3I<+iVUR*q5ppEO z!p^X|F3w)Xwvyn+yyc+N`)^U*=rXwLa6?H2X17q~4MT9_vQ%uR+kg?goz)E$l7U;K zu4<`$1>&KF8)mGl5bMZ-@{n}y=$Cid_?*{fsJhYGk!}FSk`lkz5szSQ)(kJImN$8X zLIsn(*>cRlx$& zFuMtDToz5=akL@OzbFKH7p=jf%Q03^ijWnTpe?||(eOIp_ET}=hKn2SNZHA z7>XOx3Cj$@4T2k2$1nspIx68lfGirp4ao3L-Yx1@!}wc~l4 z1%(D(u-;7NGqeOUuXA$f+ReGVSzZCFEio}`Z7ZFMK9+M$6}ik6gOsKSh0kG2o|TFl`xH024DLGIfFd2|UJ4b7lD zEj_^vf*S-kUJui`t=|}-%h?}=-qqp<{H>eu2EmPuJ}`nCFMfL2e5daUNUK6>~N3-S}djR?WrCPRd`M&Ed;ZlIT{Mk{&t z&S))}3)~UhIG1nflvZCROtt>!yMkGc1}BnpUpC zf1-6!>kxe81#J@CxN*3_O>e#&cYqrL2HjR`_G#_apQq8JxE8uSQW0Uz7($K80YCJ9Pkb3yFZ>#y)VP%iylV4Wp#v8WNfWH|{Om zXfm{?K~1Z4Q^Qum7wU#~vPweLs@9NDZAb=pitO_Z!wq|+RByf@y1ps4nZi{k!G^MSB;Kn|1qs!o~!wu!E@J<<$!M(rK z4KG~{?uMvlgQ^=; z-Jt3QRX2Jag~AAK+-sA++$gRfx>~_?toZlpT!Cc*aMqs!o~!wtqIEMtu%?#BIv8-hE~H-v}DAA_fO*0KsUS4E^j zXr?mLta#l}b>oJs8|Fyy-h4Uk05=N1+-R6VQ+0#j2Eh%28%G2;2yPJE0NiL;l%}ag zC3p?PF<#oL9Q^)_Pa%6FYAwj+Z{O-hm%&|w8{9#Y%^GA!5pR+X?)}ukMfakV3N$Gr z5#uU1zn!u50tpmjW8TvXjYyoVevlBH{H}-`aT?Tg@ZWzy?f(tec!Hs*% z-OwpBDB;>lxEgT7L4DfGI#tm$#xzY%+?8HBf*UsuH<<6umg5d+1Jn(vz4nZRsi?R? z#SJQMP;p~SXoJuO(1unqvEsN9o#x21D)dt22DOe<=WJ_JY99!Eh$+4gQ@qRIuA>c& zUMkqW`I6nH;>P_fZY0YaAbeFpC>g?3I@v0456(DGF}W;!ql+#Xp^Y0x8~R9>UaEFE z?f^FcQJ^BO451A|8-z9pZ4lZZw9(0a^xhN28y%V`qpOUvXr*#>Kr5AMDgj$-QS(r1 zLL1Y4Ya3k#cO7jYEoy}jl3JXZ-MKE zK9U;l;O%nkj5YvKSdT-^$~f{AC%8dygWv|i4T2j4H&Q8X*g7iVP~70PM0PcUuIi<( z92Z$~6gR9bT^&^1*sHkFVQ|;s1}sONP}Y}{5*0V@XK{mzARzn(n+?bUpt!+(6%!yo zJa1G^v4LkpL&c4o*QL@&um_(n#~t8?EUp_)Ycly85!@iSL2!fM2Eh%28wG9zo1CsQ zgmJvkU~bg#_hU>{DQ0jwf`$QE$+HvO*avQO8QgWa0dp`9=M5r?kMD1F0~JFTjW(6# z4$KV(lfP(vs_L3SAQx!UwIxOBrMmH6DyDk#<+uaf5Rk!j)-yvUe*`xOZV=ocxIu7( z;6{NPfEG#%NKzT_!;xrJ8e*KnRVZ#ar5Z5D8%1zqPZ``UgS!Sdm@~o|kIrwZZrod< zI8zE<4qR8ZDTECTwC}Q!mGH_d8?%X=s2jJSnMxfg16`_iId+B{>PVxyAvlMs-+ZHS zJ?fuL`oqD~^2n_%YFH|}N+vGQzZzoYloyqU{y0Ofrw+2zwkCNH29tIRNYycWP2Bq6 zpP&8XL6{=88};9ZaA|ypJsMt#;PYD?ag6Q8hkuOvlcGjAu7P-Q#)so+ zTwcTYu*(G;j`DaorRv6Yx9t$a+z%5BGS^%{I+@8L5i*F)`bYWg+43Xj+h47-u zaXmaetWQG!bbMH*!~lODk4L%5qdcg~9WBJb&>!MYzld*-e|hxio1ouKMnBrg;UN5N zH2CfL$bL7N*x#ajclzeko&E6c<*#4A|Ng5Vr#~G(#KxTueVPew5ZoZRL2#qI`+U|( z$&_IL5K1!@YtTlHzj~2a3M_}jsJgK)ccaVTuEPz>AZWv+BBuELt!}8I!r+wvcSAy+ zK}l6PR|Ii$-DIvBZEfkLqw2;DS2xrVG^XauaR<1e05`mZTPMK{s%~6^5(#cRU@D?z z8`79AB{10x4^@mgS4kUW8hkuL@1!MXU|MXKHO!|{|3p6&Kjt1ehAg~{%K*+EAd++JE|0WOS`+9mh3Ipt^ ze-=_IXKawRkgA6i1pY0CTB|=ixb)B$0p$9*594nc>4f%*ntm?F2}wjB;2ay2E!ksc z5YBN{WnSmx6t_7C9Q|zCFTo#YOv)!uo_KGcJhBf<$gwtxSD(Nl9Wfo}(X0OHSssmt zgITI$V^1CLM;Vt3S5!at?ERN7`}(V2AIisXCokW=;lGT3Fz>(Zzxw*cPcNJAbpP$( z8T-2Lc0K)BLZ=;xP6?e4xh9Nuzf6kW-)Gb8KVRo?GI?ExNjP~op7f9)*gXA?V|Ir; z#dB6ok~~$~!*onFO{%xK?SMKqEdo5*!zU%1g_aM$66*4k*N9Z|*aFWjg(mq%0~c?#@oh97>=b_KreAO_Tg@H8QgWaA-$JMIajbcQN`~k zRXj;#zpbsIgKG>hJ{oJBkETj4G@9}3e4=KmTL3p?>5G~##~t7X_~jNhj$A5grXrI+ zGWjEuKdNq!?FLmh05?()GJ1&QaFi}#y8)#fm!z+fvOHVCo2D*-FTss{;6|6hU56Wp zQ(!1AZK=2t+_;}`!$6D5Lx2h(!xtgk2xTf+Aiw3hv7Fa7m-YZ^rn=!~DtV+-Z@wIN zfEx@hf6$jRToc?NxIu7(;0D1Bf*S-k05>dWwn1tYwtncIRN2NV*4$ML+DNKlQ43oV ztpqprfg4>0cO7mpTk0EJ5O?GLHdE!=F$wSRiq|Ss$_HLKUF6_w3^hDAbZl=w!HpY- z8^QuPw9BzG+yF*_?}ip$I6@nQHVADH+90$+XoJv3K^rP->A0$_ZWMZ{I0B!fb;Y61 z=>hQLYM7 ziAFb$!~KSe8#iyeA&)pb#oOh$1K0q&Tsi9m@x+O^LBtIrZV+*Uh#N%QD8vl~Cb+cl z7t66m4|%8|ONC~hD*LDyR5@jEMUs(98~cu}P4pVQCbWLi|^@a@59{`EgUdjP$!d^{YzD^l=p=0ACuPWyxYcrt==+MA+& zwXu`6UtmA2XxS}Sfj?}~+4!)_;I6|B1DENd^G}^r_qUTOWY z_faVmgKEH?!fK#Ss+C7YUFWk&PFo)mi|_DwfIY!Cmo#)g|ST4jeV*cT?Tg@ZYU^aLmb-|opGve+|TNUVQ86y z-Yw`+0c@#aDej<|TFJ(_Ce?oKbVG3C#^Hugz4>zN3^!VgqTrk3JSVt8aD(6m!3}~N z1UCq70B+R2fe0?B8agI4Q!$Om2c|kzR4_PYhM~WMRB-n--RLs7>u^ILnaZ7ag5buz zwGQqAoSHo^h!gI`n%o<=s7B!>l z#=dZ)%iylV4Q8y+hPUx1RX6Twbt9%2orBYBZQ=2!U8LDnwoDhpGn8;z(! z27M~YlwtALq^4bT1UGIRZgAC`FUK9=24rxVV@hhGZcufDsvA_@py~!yH>kSN>fovd zT!ADj-$0W^x!9nW3Zzw6M>LTu)Hh5KgQ4oiKGhA3-?f9g4mY5nDKYSdsvGwgZbTkb z)Do+Vq^7uFPel7##Asq!HpY+8?0@Mnk~m2;0E_SD9bU;sJcOLgWv|i z4T2j4HwbPNxWPRlo+v_nf;Kn|1qs!o~!wsb*n8VDF zFxCBq8#*;XLutASUIT78RacQ)Rv8Z^xR{sA7^)j^EOM4~ za0zY@+#t9?aD(6m!Hohpd;qXW0v_Ul6{dLfRdn1}-o{#UX;Y5H0f6AfK5(PU;I6|B zVGK8*?-Sg(zi=b4;H0%EBsO48DdBPzYLluIxsa%c)v77QErJ_24mX79&6i_mxWSGj zsvFuf$4Quq;0D1Bf*S-k2yPJEC~yPaK23^f>Byo+qBS&-ncf z?nalvU56VSP2W~3Q9vFEQ{7KtD$k?g(aFj<3GRjuaQWjXafF%~&9Vk#imDs8KnIr{ zan_qJ$6eqCHnQGps&0%3ZV=ocxIu7(;0D2s7H+^foQoJM7V09&3D>ch;PRJEP&pbM zcqZG8z2QcO!CiwJ)+@{4H!X-Net)YQI%@PUW&@W$2Er6P9jjm)C^hhqm4P;uXN53D z)s362Zb*NmRd2o=cYqtr_q^b^i&WhpxIu7(;0D1Bf*S-k3fzb?F;VAOHC&>Z%GSIJ zx~VHudzY2XnMrD<+81tg8QgWaVZ9LA3SZ1lsJd}Ks~ZX23|<3Ygp`5tQPHR(*c@PS z*p$5FB8zhS32xjt+(2K{d^vW78wI2Io^?h#C*~WC>rww~(jN|F08s03# zIn>c}4mkSRv|oZh&hYAd^5lv4_Q@mruwc-&QM~#D7U_uTIFDZSPw`$D4+pbU$HtyI z-j6aa7p|y&?AiM-U-tD^zdn?Y-%eh>eZzkl|6tyK+kf@-i=SRL-|7C_!87)C-|c$( zvxH7N5}gt{A976??S7dQy}!?<*?+#y;bii<4wG>5ZanEBL9luH9mi~XhSXA*-A^Zd z{P2rcKZ|EyKl<%8d;anmH}0>Go<4e5QV4I_Da3oMyn^fDXp~Rdo7u)Ju&tHG1o&j+ zniZ0FnOV+P+C=L?H{~&uj*OI-c_|zUAGFBfOI&8V7s&iG1h}TMs_X?j1>CTO!mQ1 zGu6#=Hvl)7>&=(r4sb)To(2eJUQ>00Z2rjRk8J)3ZjjAi7d)^A_U<3t$XqDFrKzO! zNVGbUst7%*DhLEXDXJV&fx}eY*r&SDWpLNw224*B=TZ}Qc)9FYFWY9QfgX$_pz%R?nsN?d^zp_H^48qo+K9&sw!N+TLFwayHc4}u#f&%!=%qs!o~ z!wvW^2+q7CA>8{5H*y45T!sel9vxLmMZk?vgFmIS6Q<@lctvod?bdoT?_OI%icbqS zq=kh>yBs^i4R@ppcSBi2%2dSNAnpcnH_%l=%~TyT_0&wYLdNPiW_PHWid)sF6iQ}Q z0d6F)R()f9m3*#k^djM9OK@XPxY1>B*Wm`^Z6m8Ioru&-bw8V_a<1W^=}=NEJYm(q z?8fmFDi*Uv3uDtjFM#02ZGamBovfv=+__!g25kNc=a+=3sJKDJ4JvLB+MwbF6*mf5 zD0>%qEzvv`xC3c5HI+{cBqP@_$!$!vC~+_KQteaR=rXu#Xu~)Va$qSg32oft;)Y95 zqbgjD%ppgGjw-0ZL8w7XYobr7c7a^}ZUJ?}9WmXTFUK9w2B;g7DPb+a4T2j4HwbPJ z+#t9?aHGJD1ck+<6Kwr5q#=}tvv>#^kxz`Z$yV5=75E{zu@BtnGPvt-!+1EqNlT{U zSBiGtZDA_w9gh(#DZ|mls1)QL;J4wSgerKFx=B`%%ik@48@9AX&6nd2a09j*7StT6 z?0lo8R!1w&(M3iU86MKX&Evyv>%8cwgp-q2SEYmeOZ_?w2KfZVvj<=1I6cN-&qQNe z<=|;~EtVeYF}fN~!vM-^rw}uObj&FC{^$?V@Q-nCkSDFA)VS9d2l) zRgnrK+l~8M-DqkqyaBRzQlOA%BGlzVgpzOL9BUeMTGhpPftcbq%oMjr(5{>>$Ifu0 z#VCdgqYVjDQFVi=8&ut(>IPLesJc@E9vI=G~ROH6Un!6hABzzqx4TVFed7OK)r1y3FHb;yiB z$Rt>K26r892w@$#8;WcT5hB;Ceetqq7+yQMc6gQMG(o=DRda0xN(n# zsaWm2YrLycR0(QuC~-I+vGN)Vs9|fBVzIiR>c)*%H@NQ2m*Wm_LqN@n3&A<*;8Jyi zsvA_@py~!yH>kQ%svFSXY=9}63Pf=vS`};nVq{H~kzZ%ElAgT(<3aT5NsvA_@py~!yH>kQn)eWj{0B#stJDuTd>}B%cZZxpnXjDe{ladn&@sA-- z@qMcsT?Tg@ZYb#B3NNK1xY0~{_Y-dTTIUokt2j(=;PMv%H$axEV(`$U&Qd1Q!JXWK zW-5K8iVkkO96Q4eeWZQQSS__t1UCq75ZoZRL2!fM2Eh%$4X;JuI@T4>4h{f3LL;ZZ z4da|?Yzo3eG8Nw!Zgd&kb+{oMyiTl>1>{k6<9@=8MrpJvs!;KiL6{PatQ<$NBXUT= zL6=IYNY#y70XKx}&6eXXXal-b%%Uz#)D7yTqFyTMrJ`Oc>ZPJys@8R*5iBV!Dr8uZ zXN_<+4h=(@gQ?uOsIzaVmug?MQFj>Jb+o}Hcfxy3t{eB4Db5%R!WmPgP!~^e3#%KZ z>Pqlj2XA$)Oj&e9-MC@uhCbr5H(!oBzzxZISj65NN5u^)ZcuT9iW^kipyCDpy~!y zH>kQn)eWj{lk$|;$ zT9Po;zTAy2gS!qll(pc^I7>|N`wKUus0{~Oyn+@3bZ`yS;9T;ys!?fd8f(zrSkNZH zjT?s>%)+p*EXN(t21hTIV*+9T^Nq&!sDC!;4+l?Mwj3M)v&ycLi3`+|Aqwb}7XX|F zlpe>m%p6rtUy|2~w1JvhP#_3Td%p7ra|@Jb__ z{1!(XW4rO;AEW-HcrA@<%s{*&4#(5DyoT{%-QfZbM|nJ)jtFgBbK4Fv%>6LIAal)8 zMboU62pPm?{iFQ$Z26J%?XO->CTB;7hvWKnJ`LmE>GB@e!_&k1B=k?mhh<6(@aOS( zl$$)tgSy;Nj>Crj5P$kbe0%)MqetHa{cbY)(M}Er;cuhCZ_h{eyTQc%7UjFsH>d9G zhj%Z3{rdg)U;Q}!>G&Zw?tJLeOlX792B8f?8|}LfjvKJBj+No1xB=UZD%Py7;3m#A zhdfeh5}qzp+}NkMQFj>Jb+iGFDY!G<6LsVMqK)h=R}xO*j2RR+YG~m)Rx{xIoRdhh zk*TO46WX|8v>}f)@6DIv4sfHTZb)YYF~tdP5ZoZRL2!fM2EmO2H;jgTwL@J)Bmo&* z$WawB&QOJD>YTWT`!RWn?_1pHGPvt-gKH_JkS#x-WN`1N3~tOWWuJ6~s$xI`Bm6f4 zx1wUj`>$@KVX5en5!|?OxFL0Kz8pKl4SA&CDGsX+#tCi^+#t9?aD(6m!3}~NE!ZZaBcLe36Ge?p~Hx*Z5^+&J7oU(|d#?gBSJ-4N1gtEriabZ|)rmvnGR z2bXkkNe36zjXK3FxzK1J_b}U#Dx$iP&|77hk;)3y0`+BoSCrf9!x6GVWebMSNw2=X;P0f2Xo~?9ZpX22=BE1=_m|(f1iRr^1A<@ zuX8w=yspC}oV*)PdZ0DneOA8?gF!xl_Su8)&hlu+b-~9i-=QVFOiMDZFcijMN1TQM z&fpa1fbB=Q_eXz_hJTEEgFI=;7vr*{#gE66@r56BVcrmh;{j8VS&&!2Vnh6)pcD>? z%#4(bXnf|eu~C&2TsS-H!>y>?=ay6YYQ||1XkBFGgEdmg+tZWrFr4*1Fes?!O&8V_)}+#>(13uRi@5 zNv<7`mPQEA3`o`nQMrunZzW=xS;= zleJ%9Kke+eSqfvP_uyeW&f~)_1H6trz)?jKoO3e#yAFADx)qpM3;ybhcZC9bJ_DaE zNtTy&Z=HuX+vev^+hg`F>lW?eYZ7mi^U!FJfFMeRqEjV79B)7gl_^HnGI^F8tuMe` zj=rP;Z>+IB_JS)JPr~FPFnB(#Yfw;fdFpH&CJZ8da zA_#8xN?G5><;BPouw>dn{74%mRR9*4~hq7cFc9|0SHu{_D6b6mjIaKY>qwjVC| zGRNsLrUzjHqIDA{z(QDyN>7(Bv7!{P4oV0Ubi$o;{70DJ=s^(R5o>F!C_V6hjc)HK zYFlN+8Xgm`b&Hs(60uJuqRZf};{k(g41=r}(Ymk01J{Qkw-pO$*J$Y#tE^=}p0z3pJIGePXVD|a5JRT#1i?9CY ze;)iemlZm|9^UkeTv2~;e9#{s^atgmW5Bj?55FroV7B=xcw5=`2HseH_wnI|f{4^? zIqm>A7~lr;(nxaTBc28EEQn`8B?#hKbgB`ofxY`zf`Dw4HMTYtcQvx0HL`nAsJd!o z<6Q6wqBf=6NN{5xxY1>B*Wm`FyO?0omHHjgx-TmX{O-op9fljsC*TXLH>UwN5-QYQ zrMgO3dfY^amqt>Nx>(;>LW(WrjpcVAA8tsfNX?dGXSg8>t=kLcVQ)&+jgL^>=vHRL zy{FD660hCJ&vy*jsPlXZ*JNG4bH#(_}D<`-h936f(=lL;0$Yw zSP>ti6tQg~e$4Kt?}!zFsECX$<_#*BQWH9&3}QtPD`GqIhB}~@tO&-MY<=BS8W;iC zK%qrjC|5a`dEkxUnw1EZN)jt2iB9jq1vcn1z#G_rLHo%IOJ#}cx}ZAU3e4Zz$%+6c z0upNuj%vUNm9nZ3n=-_p&5 zx}Ed81nsORwF7yCnteV-LjU@vKHT>`8-0k%Oo@C-(M8IKk(OsP(U-;q+`45N2n`m16> zzmVpzkn=@L*M4A;VN2|IJ)Asz(;rQyD|YM~d->DB4TvDkm*Wm_13q&GL42|{+YCRyG5s$;Xgn7$Ac1E4oCg>GXZs| z1_y|{4~w+-M($waX5apnqz_SK{f;;Zge?eL5Vjy}@yVPT9D_leO{y}f*foT}Di=`H z&;nM<=#OS9m83dhixq6KtrZvCyje?9mjPYJ6EL6FP~)`Z%&<>OQsL7tDl9vfEDD0V zwuZAFhi$ebap)QI2v_&$G?>SL2WaZEO~qJ9Y|ksI@GQNBBUbL!51c=z(xuitqeo2#Jg0v2%?Ze7m?GtMrG{-D+1?7|JYdI&qPY%A1;9P% z$`ai82v!K!uXCa+5M5y%0Cf~6rIsRUDWaC5Pu5Zd4Hm^T+8{(y&{yE9s%mB{Cp1_|NG7S0iqbY8 zVx9NH1Q8F{93JnQ$ABj?*+buKXwJ6f>qiuVLJ2yPJE_+)UynZ%h; zhGayW1s3qm%&|!8T^hQ~OkV(Lc>--#RV9oM14z2W6T07fc^Xe#Ciiwj6gr8xm-P31c-CH$Dc>f{Gh0 zv>>!`)=!}xVU@NPu&-tVBH&BO$_H!Ei;5c{(v@afpE;{CuXA#W+nh@t>ulODoh_U( zDG6<0Bs$4Y>^sNi+QR+QYdseBo5RzyB7f0g_cw3hkn5~#TdNAhXrK)Rpb=2gsG=0n zS%tak3X7M}#y)7H%iyk~4J{2Qp;nj1dO{ob6KzD3P0Ua{(_BNO06t<>j44$ag0RLK z7gcNRO=#nW(FQxxvNvCjJHQQItfMva_D)$xF9`X!RPVK*!#(XJz9Stbgd=1rF%SF5 z8@dSpu0^&Nxi^rD2St4H?r^Rjym%%|$9eRse@foa+bd;+E0*5SQq@o+WCHEt4XC3c zX7q0aRb?gWMq8e0R|E$MS6q!NW*SUg26G)pCM0J+XbQ z4(2A?g7IK%6LOJf#qwz&ksJfMp@L?RH>-m{KOzqG0SI9c?(KfIw@`nH9VykD&-Wby zbttWJ>$z8ox{#;~iMo(p57W6p#2A?2?2m+}OgKZLAAe);mbd7?s$5EVC>b7*w#d0+ zqCuW8!m3i4#m}iOuo6BG<8K+F$Zb$f*3M+@d~Mm`=Ia8|K`-9PSi#>J4G}0zRX!!G z^%{XmM2R44>O$I=^w4E+*W-C<4MV6R3U;S>ey4bTg%>@Ofc${?eq~?fM(iBwuWpZw z<}!e9^_H6GBHW)trHyB$3kjqLscmH%txXPi`SK5p`iW!x01gF<7N%`?uuB&bJCYWp zhjux3h8w^rz9&6&D;TvQQ5#YqxIu8^fiXR}UiG*)__x?E%~QxvOKZx(rIm`Sv-Jcw zUi|d3`A+xW4oK$pZnPmKgFGAu=>cg3&^-mb8)B28E|Wof@X;j4Ypf0`7hGK~*e>zf zWpLNwhTw3FQli!LA-Hir;f6C_>+FjqoXA*oqOL%7$d$DbLO?7){54|HEiuZs;S`Pk z=i&3Ub&VCULy}HM5B7%}g7@ajaR;~|eGfX#mXm_)h~Ngn4N{OL1zA#%?LkaG3 z+__7vhsNYup|he?E#VRe@mLROiOS^Yz0T;{&za!H$+NHz+{hgUcO7mp4Suz7mRJw> zSJKHa39VRoF*Xj=2bBYdj#?usX%y~!_PS}U83}HjBdjHldP}Kk`Q69nShFLhd-LVE z1KcPM)SOu+sh5g+si?R?#SJQM^g2e)rRZ~^JFI@}+50bF_Vri4K9rB&PF}u!!+#n7 zVBUY*fAuvLH~OdJ!@Gnw1QMx`MS!ZEfQOydqH+?=le~^1G#VnZsdV*FabqvE(P41c z&<1zV5LDcW(!oZ>jr&>Ls9h9Vf_9W0N*XHYgl1)~tJ;MiQ&2WEBp^FQllRS{4dF{$ z)O@&#P3A)W; zR#2qc#*L$m(rrCkj$P3PAc|%^$%R8Z?qjz`1k+4!&tan!E|CujZ;E+=o0v>c5OukQma zmOv-{!Sro7hOkT}VBsK{)fFREr^CZ>{hF-s*7b-wX3oi*g4ALW^O9ODBKkMENHO!? z?4ddwjq*t-Px_Wxsw{*>O+e)#*Pxb)SagV;2h%iK-^iNBP*6e2%NGRpwSWmrRVR4! z2m@Mp6|GfxWvD{akPOb-5`wWFTJ64cj1#t4!4_NJdkg!!E(5xbCk%MO2t^q6N?nI1 zwhle!=OU038cAnu7L^ z8MJc>+9_zK77x<_SvirF(+OBPam#86f_35Q%)3T9x(KD^1q)Jx3Ik=eByIJEmD9G! zkuQVxE(6*M+R^ORFfBz6A%Tz10k579>(Th4!D!)pEiC46UMs^+hQVb%6C=GZ1`S#Xn2! zz%Ac?%MiZHu(m>YPZfGL|e-S1~uB}l;m!W&=Fqm6HcZI@-xu?*5@h;yM zpS8HMN0xnW4LdI4p)>Ccy+&ebAf0Cs|L{(ufW^R`aY)72B7uT-N1xJVxYr7&ThrBl zGZ;^2YxnAW*W(M+=lA;ofjTnpxo5FH$~b)=Py$Yh0Bb0!{rSbK-RE*s;+}9NiaE=u|4K zEb)@D98mxH+?mA{-Ws;?+g_iD{UoVHi%EJvvFO{_~eV z9)}s+NXCN?4X-WR3k9@39SsqhUxBHO`|M?kvoZRmHpI6h;L>cIPY&xhaq)0+MoD-| z!c#y`0X+ruClSzB7E)JhAX}|$?p}_%e}K>qhJdo>EY)S{KT8_?&F|tJ@4jU?-(^rY z!+9{_x#Ext=b)0p`RkP8j-f}Fr2LH&dr&}s{iND#8t$Ts(0>;q3W&>-gv=bP4BBw7 z1e`Z5R~@}JZ#?H)Flw%!`B7?Hxr1+hvmOo$@0s!Nu;s@X-tXeFZ0SCIe`)(&C$;Sf z$JRU7#Ywu0PtBL9oSk90#q$8)>IM+avQJxXvNJ(W{2~nDigN*9oL(G_Q}69ySdHFJ zdc!pBW4FNs`>ZyeOefbi=z_|cql77r!Zn)Q!24L{Ov|Ccu$8ykXa#gJ zh~v>D>+a*|qCdZ+enxyl{CzSRr#g+(Fy=x`&Nzg@2!H!ke1G=qvuA$``u%kLlb!a5 z;eW@&-(QaH55uYby_D}S-dwoLAK(A-k8eM`_~xhC&u32$`RR*9{+Hx`N&c7Qf0>`F zHkep4_}e67v(rsx3xFk`{rH>?aN<`)wpk}Ibb9|S7iYYBiGi{*G2+~5jFI_hEqRP)pHDwO9BD#u+v zi*1kA=KEQZ2@PS&#}Hk3nL`1 zQ2I&W(YeaOBj2ea)Y2Bt1z%UC2{L7f*a0JKIlnHTVE1lY1N18??H0In_2r)uqAzap z1449>-7bw4{wUopmqR~1dgGiH(T7ZPP^cj8K5_Sl6sl9GeiEU&%uTLT$qK71A`K`6 zi!w=HBwGh~Q3UJRXQ{W{{TAMqscP)vma%%5A#KI#)+@u{%M7Q|aLsLgl( zVKKZHRxozdG5qDMJRij8FP>Iau5dhPw!M8WYfrMlWpQPnyK)ksv^%BUDeX?NJjL=S z5zD*CYpa}rUA@k7gAZc`8kT|*JAox zOu|92ee3w$V*B=Pt=QhM5S^}4QHub!oKqm~Xypq0;Yib$Hn9Vf@~s~|B(~qR^O42& zqPJKD2L|^V7F6n}gZuMQsGf!M01h`gyDoi^?vJJa{i33E{XEu!`ty<^c_QY|l?uX8 zR-Ur*-%%ug5|O-R$<(o~3(d0%SCz2ajtJ~)?<%MVt$_13;+oHvK-1-ww+!98jAbiy z2Y(mghoaCu>(>qnG!7xnT${#jar*ULS}}SM%H=K)MU{kvytb+e^c;!>7&EMN4x+wz zpuG0l53ZuT77e{k@Y%NGk;Ud5tzw(o{J_{85(USX7CT4fma`Nygg0Su9?HQvta4ta z=|hC)J5Ob;Vcy1RQn*gxI)&@y?+G?o6;$5THkLY1U7SGYDP6IY>S&9a)kwT+!wP2| zhnUROXg&p%t^6zvFz@mTT!!ym#&$D&SI!!+d!5WN<)6=dUtH$R0qk-kgn&y{`8{`# z-3T@&{VsvX)!FWECcF6qod%@e+N%}Rm!j6OR;sWe0u6Il!w56jB8FhlolJRADg0Ik zQq9gAa+$roA+F!E?{S6p%=H#a;DFFxvK~YEkm)56=cq#aB??_|nzq^%J)pP!#`&zJ z;RRe|B!j}6j4+8EPkDF>?B5M35C8Zi^6=h@#8KHVqEcvNUn^)>Yo!Zc1yF5*EOqr+ zGitWKi+8;HmJxlIL2X6!MtklBzb9jyMXYgi0K44i{v-OuFE35xJBA)zLirny+-W$r zpHyZNuj2Ct_kGZoZ0O=Cq@0#A5qx+qEwF3K^OCd$&p(E!8*?O*u zQkqam#u+a?tZkC$7TE9l%`P$ho_&ujTd#YI+yAg|-aDbyF$VKXNVZF(aG%lq?sHko zQ;`0Z?Ch%$$B12;cm8h_&{IH90sY0KKfBER2u~uQx7wD0mkNnQgFdt}2lP6IqJ$_` z>1e!R_2(GS-{B3ojOn`!Z9Aq1i=H!_<}h}-(Zl8J+ab~ZFr-UZzjKm1 z4M@LrTJ4OzMB`Zz>X6Cwz{@;kKgukEEfxA$p>c$4iealX|8C>@o#)ymvfsD!(S`Pl zRd85nf5e&kKWkg#+yz<7t%%6xi>q^)I zf{sIC_qD@zi`v(BXeHvgsF($BzNk|GZ9YN^>!g;D#)3DmgVRYJ=vTA$bE}B&2FCoh zJM}2pG^)3_$q$Rsk2d|jEPlKhjHm1U>#o|8t)}n(0`^@ewe8tOO=aO5MoncY3qPVP zJZ0feD+{kv8B|$w*yN#Y4eI~sC+nOmDjDl2t%;V$&oOSl)BA53!gm?mRtOK;ymMA( z*2O*K;TP9=a{#;C=>GHYcbW!V)Ka{=UkJgO)Qt~`8iG}^BD zU}V8qV(^Tr6!#rt{axd;C3d_a^zVEW+yI|fQ&}c@i{*G2*pNDVQXQosX6MPiPukC} zlOnibJp{=O%jF%Beu(rlg+*3Bo`(U#OoAJ)2yUDf+)xs+57VrW3bubLqKlPtrY@rP z(Z>{`QP~{ivnvza>HW8a8(ju>6K)8A4fG!1dDIDR+-Vw)7H%YAm@}LeK>EP=RfXD| zD@9>o&Z8?+CzKa(@*Su^yT*s$#^Wb{Jbn|-X9@Jnyp%>UoDV*v>hH_X0G*nr+N;4u znoPq*4(3oGwXhv4n199e6XBjH(_1XZ&Tzv$(NGF|X5?`zg?Hm?s%|{ae4hzg(O!gM zI7=7cee~jJoO*8u!)o+)(i^5}A9vMYGQnN5+;}pbT-!jyGu{SQ7LaD4k9%Zb{0R+L zYKwcyCN8v1%~8S>N8xbSU15u1S#N$cr_|54qUy%uMAZ#~8w58p>^vcj0pr@hVjS^~ zO#z}|#fq{<(_92Xpqxetmzu0$CAbk^4~FP>*(u$&gd1H3cN1=Kj)tq++*g;aMZCH# zAiJ`FUv5Ozjb*Uf8k>Wv8!9jvVyqzS0n$*Oqe-=euGlgmm=mV1>MSxLxN(ITp2nCi zr>WX@qprTg{W+PHFQ;KTLl}6q^R}IG&1pZ}kR0v4n&o&1+<@<>=kR>;i=B?rn26v8 z0{SmgIXlDcG0zw0dnU}PH3UI$L%zRwbKx$3eE-WozWwmxo1bPspFPEZb=F^8r0MHX zH5sQmjT2hSWqfw|Hm~Dwc{#{q%~Z)OfL4LJZf^6*p>QlyDwwF@u29ytYc$)X>*PoC;rqdF-xAz7F}UH-Il%J@`iH0x`N#@z1I@pR$Q4(0V~d`79RxRS12?)1 z?grdoUMaLwrq%+ZN!CN`%HDTEeYkIrlT0Pb3hB*=l49ks@(`Nh1#3zq)wMNc@}U%2 zc|>sI3Nfr8#g;bs8*H@NC8mg50%Beyw_&Rc!d9n1)B5Zu5B{3^ab`}NtgzXkn% zI{wK{`@`_R>?5#&jS5n>P@HIsH*JwWK2&;)dNWue{%kIeZxmT&hVakJ;28|qPWdpr0NF2jT3_# zjFl`YUKh2|@NQ&67a`yuvMjv`#)wLKECYfYw}Bg726q!~zzH9z9;1m&_36Tmyw+-C z8IT4%4wOKhBly5G+K*M_HLuD84O2VBjx9RTAr+bhzXtLA=cL`RPqgbTmg50%gMm!N z1ywfE8SDctC;d8<<3SvrU-~}oo;Qe^#*_a3yRTbH0kA2`bkRarOB;#VB#nO?TwG#JkA`777-g8XftoswVxEj^U7+Jv zo_+Z8mx2D~A5Z01@20=Jqsm6pOz#Tho)D4BXd6lm4@vMyQ=x2?U=uGP6E_NN)tJ(i z`mDPzY{qb%-hWFXRhPltgc|VGvW{_Qv0_QL@o82zf>+3Rq3Ie}-M||L%}?-&DReNQ z66n8SBFV(BbD>t%i~Fo>*e6Q#7R&JvsKI*D3v|Rj%BB#zmedxh&oZ3ogPyh`gH8I; z!f99~hr%2*F3N?naOnP>tqvFqjKv`9{<5Y>aD#LkM5Ln12EmOEiICetv=f3GC9f)P z%2cx6e&p^YH5ScidCv?+@`Y8WpFp)hC(Y^<~YmoCc%weu~8?~hY?%` zJ;&ur#Y)e4txQonjYY=-Fuq5;hGHU5Ea|AqYz0R|ss|=g*(V}5lx~(|XSe~30=S`- za{Q`ueQ9dKM@#L|C_Y|ZX zu@IGpMk@(hgjCAHL{X`lr`o_DgW$$@;Wlui%iwOp4aux9T)0f!C%Exx!VM|wDhZjB z!l?#*3RZ9d%dij{Q=gJiLS}9+!Hoxp8=UnP%kcoXAwZ-;M<63Pk*SDGMXppN6DQq9 zSI|aes>6Zq2~{_kh{~#xgV%v}8>*B@wDKwxRViKK2#SKp6mqI=+y-uR8Qe{{!8Lq| zykohhL~!F1g&SIFRRLdkp|I#sKrBMW98OzrZ7icqf#Ak9W2pxrQ<*1P_ZG|X0Js6& zhG&9X?+9)X+#t9?aD(6m!Hq7evd@4_70^`!x^VBy3N8LhGy;%OAkms?>p6Vm%N+R- z+_(+gDEa=uy$&~|_a2T^7B091H$GWcD($U@7lSCIh^TJVF`&^61mkezm%c=UKWoXA z>Ik$O=85#Z#d16ZZe$Z&iL`+wxIu7(;0D1Bf*S-k2yVcdBeCG6XQ>EvWi#A>A7==m z5F$#(W1XFF32vOuja87af(u?iy8+wd!m|pda2j|6 z#<)zWY)VgLss|=hnJ3)#7R#|S+yF*lJ)UbKimDrt;0D1Bf*S-k2yPJE0Ng-oHF;@5 z!5rF(D{XkLbD-N;?O?eD1sxr)_6)uDi( z7$&$8JvUqstf;XF(fzNkRLW?R;KqZ)4aR!&<#+(v;F(M1vRIso8-z9pZ4lZZv_WWt z&<4;(#SJ&Pqp|W1Eb^!j_*D3tK;sQxIxVY^dm9s%>NZ@eE`z&?HURk08qC{_@d#~v znrI^^S9u>)VZ4HosORv7vo$X&Xf{k#yi(1gBee0rXhT0yy0=)42fz(L6ef%V35(zc z!3}~N1UCq75ZoZR0k{!Mfxsv7A_$A##*9@(X>3^}rv)roV2S=iD*FO}PFxJpL&;8s3b5mTk9?Zy#EH*}^&EtX?vxS^kD zzzt~rjqn6F2yPJEAhttWG^-n>a;~&d6;fB=Ql(to@aUQb4wX*ANT)f$jiZ1YT=f>q z@c_7yeQ>3O+MlW$B;5!EHwbPJ+#t9?a076|BvTqy>B6BIEPQYsdc&GZ6*b)d(IHk; zo{>`gws51%;BLST=RL@6O0(Q|f#Aj`3OB50fR(<0P6x(RUTcu4AQ!Kqhfn}|Dajb7 zpU6}XOr}y#wC^pJ;~{W^^)wv)n5Hg&1UCq7ObKof+#t9?a076o6fs7@c)_iMF%=8E zD8a9Sc7t(IOT{WiO7YvmjV^<`2{)Wj5(!mi32uC{KDfS2m8l^OH=@iKUz@^No$#;8 zRLmRr!BLmLBdBhuCrb1d%kcoX0qq7y2NmH7ZV=ocxIu6OSzXf;QuVku_>-UQi$>GW zFUDc`=*QVOOIPLefIpm4 zMj4F`V;r5umG`nJh2VwZ&eyuEIW(*UH*V>J+huS!;fCe{geoZrZhX3M!`bA6lOB}C z;85N0A@{n0T|-?f<29N?HW;7a#)HER&LI_Vmg50%1KJIVt{do{v)E~s@M$tU(JGY` zq&l+V@FjDhES&Nnv4%`v1*bL0%wL_RVHi%EJ+yGl?ulC;|K~4%JPtF&cH_Z^FwZXG z17ts&JkxipJn1feVtR*PoM7uo|Lu4%O*n;R_Od^jm8)x*^t)U@ANktRY)o)t&$RV1 z%!4q^sb)O+EwX$v^C*X9z4=jkce(n=`DUvdQ_+hQc)lfu`1@osPIVfmVa)mHoX8G? z5&rh8`2OtIXV3l?^!w@fCp+yA!~c$lzrP&YABI!=dnw;vyt#0fKfeFvAK!j>@y$=O zpU<9R=gvQUkqB-O+#tB|gy06AHVjEPkC!84su6Cu8n3-F$g<#ISVbF>L7@##7piXD zrn=E(a5v$GG)yqd6dB=ux^M$7(8v)gJnx(x0n+z<@i6$QB8h&M?pzAF{`FE=SJ!epApg+M}3GPpRi{#t@I zPEyViE_1A}-e;2ORrGpDvNun}D2DUFhgAJNoX>K0@Sy$wvxXd+Y;^^XREz2%Jg3Wq zl45C#5E%ZoN=b`QYG+6)egxVL`9!haVmTfHH(-Rz1UH7@2Eh%28w589ZV=ocxRK!o ziw-sX+7t}Nx6p0`cyh)h3#}{7ZLOq3S(mCC--TOMH#!XNCfr~OVT$7-JE0QX_%z`L zI%^ns9m}GQ1|`M7U5t)km zZjcc!Ia85ToU|K6ros!hvZb|E9SdPuD3quZEO9}m($TnBSy2j>S-eE1x((duGPoOX z14(bekgK;jy-jfA(}WvAxYD6@d=X(5QlQZa;6@pt7ncUSeeF}}Gr5}J#)HER@S^6+ z@c^`e)_@uXVo6QKNxHF5aYNFL$4r&XLbQTTrxkK9hC|3!rc^Ld!&IrPZK-nVEnHp> zst~jNQhqh2-{x8tVW4ZuA8d$8-d&teM&YtI8lUywPWo8Hx{v>DnmbKq-q4NyBx&DV)>bGE`MQV=|`dIEr}yuUT!yuRQzkQvk@!Q|Uci%qy{WW{}%NZQS{`&0s zv!_{(^``MQ<2{x$ad9*rr}IVw*bp)hqex?dC|rsRIHAmzXU-Sel-AcW@-pO9;2vWt z*yAA3sUk3j0j+~;&^l^Y7wGgSs@lN+zsyG=v~e4>(PeNq(T0UcTzbcHD|bR0pC;O< zp$mt}G@5O24zvN9KlD=Y!L6{|w2>i}EMoczZ9FjA5Kpv(e`T{A4}cqhDAovNtfJz^ zM<{Nb4~DaM;S3(2SG-BS!JFjG8#0`qH*d@iZ{GMi42S7_g4gd4@b8>U>+zCp97Z$i zGR$%qlEatDlYajq3~>e*I0rbAj#KaLU|5abPI|*MZ2-e0A85JpWIDOFL6=yDU#cD2Ul=zj&SM>NoZBUpSf&u3PAAF z?}0$qdGKEitDn-pXJ91c5P6g3j&C207hh-86sGBHG=9H+fTz{PU^tje^Hcv#uBEgN zvatn@(}2>4bxi5>9_%+rZPM>Dz%A$jAu(gh60d5XYP{1_;Kn*mDTjuMQN_woNR&1} zX!L*|P6P7;dX^IUaZw$uavU_I4d&9z8F){r+Rl5r`VwpSqY|Hh4McCTUJk9V8@Q|9Ct{249S-taV@M z9T4?5h~c|5nIMCUum1VZ$3HDxOdsJ0ZwA>Nbuc`8G?+XZ4D&~4fNhf=w#!N7HsDx0 zb~|yf)L?vkxFKzCu^c) zQ$ylD-8=WGie7pJIk&MFwaj9%NgBTy#I*io zD1#FT%A*^QnUE#(SLpO>eY)!FPkFKqg*|D z@(31J|D8{!p;F%9eI=d<)?2LE1E3N5mOEjs)Kr!E7|>{c?e+Gsh$vvxNN~Z>AvJn7 zK-nN6T`%&rr2G-@FvM^(ybyjHTo46}C}4Zk=(SZ~pmQXJO$k{@nOIR;xbhfPL6pw9 ziFGy=AT|1J)aYFXcN3FH?_q|-OkVqhNp8X<`@@i9#UnMhLTUv$2yzZsbP!~fHJXN>Miqz*EB`Yc#D-g#yNXZ?PN?gBzYnVI?OL*q=lKYj^RvJ>>X-)aVEq33d?d zK-1{2pV_AbJHSZtDuN@C^JfA=O>Lb6MS=@$GeKzslyy{wkn-e9czrc>3$J+}N>pi$6f^`|-HuQiJ-CLPiKmD7i8$pPsrrLYXS;_6GphaXvu z4s0-AF9$*c!>yqn;~&KrciTE7qbkjX_0BiX@r_93dit0&BIJ*&A^L^KFlj_cBXWV4 z{=@s@8bB?B{?^clR3K?ZSXO0w&LXNB&8yHXK#R=R*$NGwrL)0sNtoIa4m98Y8D>>P z)Y|J8xkM&i=C_SZ012gaR22EdB`POO)Y^hfreVCJJ0RFk%~yX4Dp{ zX`+O44(93eVLcjOH2t8$IX+)TuYVnnW|#BO@Npf=@gNS*FSAZ}xxtILd#f+ENkGF1$3!3dIA?WGj8?b1fn4eg7@FL%ze{wjhVJ+HuKnMopKChk{O!gMb@i4f-wQ{H`of6zw)~G&BdJ^FZ!WD!o2v-oUxF1}>gF)kNV+$=| z;jgk{2O4Q8rel!k8V4JvNYtdY>~s!jx0N#>51dnzx(sLwO9-bq0+C#Wpz_5jQj=H` zr87Yl$v|QR8|d7LJD9>&OxlERxXYCCJ0OK+*w;$p@2|+rcm4b@f#@xk)nS-GGa*n- zIwefd0)WS?UTBvaZ(oM^flQXjWQo)aq-MY>Ajoh(kU{wrwTih4!J%d_m4dFprlJN5 zCn46+Jm#eM@suL=s;D)@-^_?qi0F{#4FO%0wLlM62 zFJ0z#6TRdfe_9((?Jo9JLbd_N)>Pm|JI-oIUB>9kvIOPI!{4d2qHw+h`O4H>2!T|( zJ;iFsRcnbY?Jk5iwX9J5u~3@e$zW1$@!<egqnTwNPq9ImA}ZsJZIot>ZPc)= zH$O`6E>|CsxzywI+k8NT5sqcY#M=?}2@(+`B1rV?={*U&dF7I<6oLZ{VwO^}DuRL& zW)(FYe*>85lG&+(O;Osk^u&Y(d!K-mryYOmKs`gjWtVmoj)1C(vD7TP=+) zUDS*O=Ns5!N1}bs(CRXvEj(eJ*UpKY;3hnA6Q0;Q^moA!dBpds>^D{9ImTH9{*COu zgwe0{HL4eo7sLM<3#t@wf;JFU2`wx)^&Qc|GW0wAY>&`93PHQ=E$;cwLA!XuU>?Pt zwt{K|AEPDq*2UCc1C()+D4u`P?@!`uGJ~aB!5DFAs6^?5HORnP=8fg$}Gl%(Im~b-axzh(fh0 zS9F-)HoVZrK}}BO3ZhV9?XQr_UJJ5K+_N4V-T{xSMVKq`NSopWzo`3eMA5*K#aihM zOPX4ON1GS!N$I^byz9dtps~4|^!JyrcBT{UC)TD#nds1y>~k8v%p; z(&s^)yx(x0HYA{|{&mCmwgc|B;?ZQsz8uR`Y}@_120n-uBzZaX?Q3~L>UDWwNJdP zZK?8GFI-*@&~z*FdvfZGRMP!X`Fo0B?w}v;pdKV*KDDIs7po4l#C*bDAyOfdh4s?P}nGWZ?l-F#n3_CxSnbyti0ZhhYMg zAhK3{vC|}u2bWW{PHYq_(JGZxa)qq$Q_6+1aLS9q2g4Y8j>4h4#u?8kyv-h+5@i4R z%O8)!Z2EdM9(-uJW9Igb0incbh%4LA1zMJ;K23!))f%YQK(z*{HFSEEwjc+!(>}DF zb{$|QD**UICGnE8r9}S;9{~(_lt_pAq==Q&ft7@M!(83mWkB1Q04{wF;bRVfa2#SK z9l}b=38`Bb+ul?i8x48=1lmqZ@R6Y1{ zhF8z)0mfv*DE8*;H&qW_{rpS)gC4vae#gEYWZmUK<43ybd#@gpp{#{rzA(Ish4Q*C z9II*o2bC!|uw(Z*?Mc;xwd%oMI?NI^bQ#=D)L_vZkZUl-FzSRFK227Vbi6i}g~IsC zqW?ieQxusyA*519!KFw#n-$yvR}d>H=ilFi^I1Yblb6z_NTpi^g4^C=IUayEBGTSMpjan0c~LkuqPB}jXmdCpH^Ze5i5yUNyJJbRuV#pd+(5w2cWscjh2NV9u$&a8rF@8yq_ZR+4tnrff7OpyewR*S2sD=3`X_CxNn3!Z(uk zJ5&z{6Wjt5ESA+Lj|sMvmX1TTu(vErwyM<5p~Xn)NG_+=&(xj`xp#sJ_X8Cw8>6ag zV1uNg!4%3Cz65boA`R-Isn80ET0d_4Qob0c_KDRE&EjiSJ7Kr?ojC(7+h6Flr^}30yVn;RczC5y$Txre?(Rd-2qr! z{rW<_aK~%-TtyHJ!sz*OJOFM8bdhr=%OHrB^f75kRDz&3ad<3lFx?4PP@A~k&2kZv zJKVe6K_wfQt^-640kkAhyP~X|FQlp~Q@c{|M$t*Mq&>8xl`y)?fVQv%L#qa97-5Oq z(2|a!1W|jDDhb&FDv(rxqzY4#Dl}Sx+u_<%k}5dOD-o)q7N{^N2~6Mxs|#iw zoFBDvR+3avE8?!P{)g1=3jS0Ax#(3)0d>c$~3kCRi-11293Z6L{x6=ciOB*iu^h^l3>yT&D5dZT2sZ=eo+q zc6L^Qs*vB?lPCTDMHq&&bOA?uhy%x|_jWL>MsFv*VVX99{v;a!EjOM_C)YOU!gnCJ zKyZQJ0>Op3^!Ss93(?3ZgLZ{U;6|tlHZIP=KpY%w%S&Ae{1>nJ<0&EJ8Tl#wdj_BN z{C0@v1H20sA2bH%%)raCszPDmLQ|+(rJ{tov=FA0DQLsJ&H?6p$LE(%s|x&;{MIn0 zC#33eZ}2BmLoN~=(DTdZ#m}!YzhsdA-k;3Ml?VHz-^GBvza+?!r+=qJIRDBWAE*8|{C#!ylyw9+{xIJB&v z9R~*5mM$XN6w#*e^toNUNOBC4V<5EblAgHrJ+`n0=wP>WyLTX|)}hD!d24`y zeOnRfUR2VC5-fSo0#^kO5N)dzkTqc1fIuZ3IB^zrlFaV91C&^XeTScIC(y8p;FqEQ zcSr;vyNpNiKmYmor!*PO#xXrY=ju0u30j{GhG&lklShML{^$(DKj~q+KLI&xo1l)E zK=l^Osxu~FPqgn@rnNk&7IRx*=5e5d{kZ|4yBN;Tn|{0<-pBEE7!K2UPEk>XWQ0*5 zpC|HpBA+Kh3wTZ5gU?f{gB20Ia|L`~3x)o1;H9e=P}FT?~eU$u!r--{hZag+ouTZ-L`bl_ZVf&dYMw4_!dt z@ecB&9K)evGf6AGN0+&60~f8NR!tF!wBw(qcKnp9B<(5&>I>s}aisO+Sbl{^#?~6f zwx>;JB(hj1oskHCLe+`8mx#Be3wWNhTVf9Kl_k7Ec!Tf;;f?#j8zA5$7wQsC>yTSj zQhzoL-GAS_XcD*gUUsXl^6il#KR)h(ZN-DWRR$OFx5gzgiv|A5{G8Pz% zLDqjJZS)R!fNBs_g8&J7OqhT$0bzps!2~A2(g`*-1urXzx*60B0o<7)Cc{&bT*)d2 zGsIY0GkV%mhkpa9$fVz8Fk5&)c<&{*)MsKJTd6hdxGx`?sU*DR@N!ZJ{v)C-7EMta z2`s=7gGs5%SY;a812dJjB<^Q1CN!ALx`uY@e)Z*_5U7jZ;(qTOs5dksm`iX)?n}4V zcWq1FleB=O1$Y45j+RY>tSAPYfgT(J__9M6qL)=>pCiVmsZOjoXo zA=-xUPJ#MbpuY8;x0Dui8PLsOT|mLEVfm8T=ajs^iJ`M~=rL*!9k6p>!gdu-#^?eE z#co7zMMUoC;!r`Oj-C#hCyUd3;D8+}065l62dU8v&%^gD;>GiJl|=t^qy@rdX#tki zA&?+9X+Y0*Mrz}a+9#U$JOl~w{3A$!M{TGCdihv1*Mjh@fN8WT&`FdPiAT6QC~i{< z7^}-!qoTyKNJ@eP1PSg95+o;l2sOeOt`NbPsxCrld?6}d8{yHz$Q#_B1PS&)f|Vg_ zmjP`<0%$ehd`oKMefj%skl+~jJf)~)2zbInaf8RagsdYlqYCes^|3++hmarh1PL~~ z=&hj0$1f8A5-gV00hmDgUiO|sonW!k%1y1YZ|h>HhIyWM8*29GRD}M|U;cO;X7FuD*y)`D;VHE^b8ZQ=5=dDAjg<{pN+a8>5|8Xk(WObHInHJ)*0ZA+E&h0W$6j)7it zojd)O-d*DF!U)Im2e*r(h%Q960jdq$TW!FpWFS)%g_U3mq5A?viWSHXm1042X3=;y z=U%Bcu%|Y#GW6*(pqqGrg8}X}00Bmt=t8GR7m|=>1n4u0Drhut1_a2>+Ui1Dq3fi0 z?aTbiq}sqe)&{ujEtb^*m_WdZR3Uz0gb9c*L=BwhL4J<#2@}kaczQi(1DlIM9FLlY zJ?PlgA5@U|4X(PEjmqB>ihRwd^`LRwCBD$~5{(omTN!kl<2Ns}Hn^1P1GxF_K|)YU zUMJ9>(Vj?xF9hK!a+?Ni*+3t1ko(qEB)-rg{y$v?w1o-K3C>FEN$RiaLyIY)mF{H?C4TGlFecP31b5$}Cs0s&0WEUN=Bfn+^_hAoU~suSF{PS7so zksoNnp!BXskMpL}{mc^^;_s8mIMr#KhA~Teaw0Aa$oq%9e@H)&8{rZjxF0;gtw>qR z0=lyU9&nHjIOdSyOd!8lWxZ?KEK!YMtwzv#-!1ti(GU0QygkdHx&|O}j ztzpNAJv3iPmLZmcr9#%(`=^YM-&9Hz#>UE{9e7HP_(J*4zE2#0kbb_T4!{AZ4M?$_U$0kA2vv1*U>T62Brhtb6@=Sck$h~&whW+UjA~H z#=rgb+4Fnj3!wlYArYtw6av5(a)@JmnW{opw$xGZ+Um?|CoHgr1-2!qSA3x^1G<3+ zw6|J;w55qJbeq~h=B7S4CWuUT7@33Q7CMVMfX?)2{Bd@>4`z0vrr|8~+BC@c5z zzfEj&LV99TSx^}?dIMy7gQ_Z7_=u)q6_9~*HLC^Bkt$(=J(ytSFVtl~TbKZyri64p zyHZk(;7|?0G58CaQq?X*ht2?Hg6u9E%7JWGL;=PfvqqAJV0#~eKTB7fF@fnVmepaH zKu9eGv&0u7zL2)5k7x2AOc5G#%>|UTOy(rSu&g&fnoDTsTRGosbz?@9_(EM`Dbf^^ zrWh-Y_(FK-+=G4~*q|a$qR=V8D6xVVvJ}b{iHX3Jt4kZHMzEnDXc1SIe4#Fb*}?)! zTL*(DO<16w_HM!gtzpNAJ#=kA!)HTERu>kbLxG;Gu-~YmDt0Bh2L~T@a@2Yt-`V$B z8&JK)k~#nfF!+puD2YDMgadAi1Gd#psrSHEqsz1KiS)+)OoxQDSx) zG79GDF-2p`Yj~jbzFXD@x(wzf7O+lhFT5dtp?z4OHSD-AmqE;{_m^<# z`{VJOa6Zd+eS2HFZi`L#?}WH!mF91{&w8n1S+h_W6G69QAr>wx^mXuz!DJL@n{dFk zvHlZv1Jd;tOX@Hjz=f2Y{Dp3h1GX3NZjS|ixJ=`Dx8}b*o)c{H5)ZTNKbVuv6Da#G z!Z4hr3;4d{l{!wnw}W9ddOPV2)3jm!PbO;{Po|S=8+0KhlYW5u50J;uRZj)d6Mxcr zVrxpHJWv2nSqNF>fW`-2Schnask*G12CK(YAIL9)pVGf)X#$PcA9zm;@Ge+<(1d8Z zinV}cPa#x7M@7yZ*xWo70*#`e`7BEpbI0ZRj?XWjRuzKE{MIn0hduy3gar7L>HHUI z`g)XKJ}-WL^%$?UrZEN#k;_RO4=$&J(Qwj__FhwOTVJ_LIMQVIOcnp#vKHm`ftaBX+|}zeY)! z^Iae1OL_80F#g~9WSXbttHA}HQQ@NL)5n!lBY1Um=$bx;)LYXlR z+X1!MY4sRto_k%MM3}@mFL(Z=MDti1U@mRFg4c9pws2^nS3rHSvfRYw}gcy)g|kY&ZD z>N1xt$fBLo3Z9-hBt@u29U69ZXxN4pkHL|(uDB94;^Df6=aMokVg(Cda3@o6AxYFB zF}WuSS*&G3KtNu2Z&^;MpetQjN;ou>+}29iP*$f1S#)o)?heB&NV;1=9iBg`0^=^K zY=SHVSqQQaWFg3Me~<;Pl3r)NxQWptiwP-45Jnf;d*e7X7+maxEYH%}V0Z&)X}*6D z*z);STDr_<3$_TD3`(b{k;FdY*EZO445qQCQE6#cLQta^&kHQAV#e~TU3HKQu{UMj z9V;B7x47RAgA0r?=^VMa-Wo5oX_HMV>-;=re)=Hy(CYnr-a~6UNjbg_!(lqlC2_(E zgcS%Y5LO_paDP|vt24z=JkyK$t)QVRs z2=q+PIHE2!@(fD6| zXd?3eKOauhxDGK*R!qM8BV+A8mw&lQu?^`D2Y6BB8z~0DEO^ZIE(Ys9o8&x8&a>n^ zyS^eeySb6`?7chBs))9_UX}$9225fh67=QZYs=Db#67kSKKr4b5N2^nI1uO&-guQO zHn<{ZtuH`RR$L3 zlW_^5S9&(8Km>jK$3Or1I7=e&e^2n|#vm5o{{?>r)nenj+;e~JVSlT#71$q#&d#YxoCNH6DQ_Xl>3{&IQ9&Y3jwMi_6WknbjeSBc(8b)MxSC zl?o_-o5vELyctZe`Cxd4V$^gwurFsZrc|Xoc6kt&YvQl7)o{Xn0c{+CMJ1#(@M3@~ zL#Z*JrFBACm9*hb zjNX3MF2{p6nA7Jk7Ang;?)Za7?y|>vdNI;hTb(a&p6?pznnn?Uk~o7$YBm$I$q`0k*ZL&f%Jz7S5%^A71zwdrvR`0t=X^RW%qu* zqQoxq+0K1QkEDUiH12!IeJzYiwgr<{Vd`?D`_FwH>Z3xU#6^s=YvAS<2p$b!49<56{vD{l>RcPNdC%Qsz zJI{3$jqabm_8EVKnz?cgc0^?nD;TWi5_#cu6j<=36rrkNX_!5cP^`UW&77fvlB-@H zv#fVmedua}o7&K}{CsApE>Cn@h1J{OZ3V_e4X#k;frC55@DCn2yil07)}r*8|MPfp zxy!OA{xw&c{=AyGNv;ZYT|-i$A;oa$0peW^hg^uzjYUPh_RA~VEH3ABJNcS9yIsxv z@EQHHYUa5ze7%HBHFFFJ)yz9~f4dcrh-&7*lQ8$)@bKlmMeIgNu#fM8zB>fEk;;~% zG7^rwrgnss1fzC@txV{3G6|K=AG~x9HhF?KmMfT(=v-SP6Xsav7%N?sm2$R(SLTi+ z*zuOmKX>s+msxEm!Zddlz6UuSgQVx5?CSeTCc?UzWbKTs^2qPa3bxZq?L^qAibodS z-{qCmja1qXh3>P+%or0@qZX5+oZllCy!dc?+TJD+H) zbUBeXsBPxOn+tdOi}V$Z9Z=XHyNiojnfcj8b}FU zzRkfYL@|SGkcDPj3=&~oxT-=y*JRJ8GNpo{o||}C+fwD=rrA8ijLvf5D*cw;H7%kH zkvE3ZK|N?}3W>ZyDx~%{DzQFziB+P< zrpo};85j~PfwqgmN(Osz7&&=YDl1R0#QJ%9ig%gIO@NASsc0MT{XGHHrRey^THFgu83vS|sMkPUX%zl3oiH_L{6W?8&lamoS8IhCG`TI#@ZH9PZ_TX5d!H}0y!;%Pjlag2p$w~&4@H&@$j zXC1?QZ2H-mc4uk!`6yJ+!g&BmaQrO9f2Coyus?q>8l7Kx&p*JkW&PByd0(HGX!O9O zWLEdf_BpTHWMASURvY7T=Qic*M}9smN3&t|eVG0K7EbWPvNLCnhBkkB}}g%#bFw~$IFO*U%V_d*Cn_R zb%G5evIHka)c>5bnq6kJmDRM!5gEoaUx~7sl+~Q}c8|f_YW+s`#=f0TlAyni;3;kK z$)zn8rh)rf(ILgL)}ik+$o7#`;d5i%y{7_gciMVKG;CN-G(0{ zw=55KrbS&pavuBLf{GhYD#tx5rc)CeGR~5ephpF)AuKIh!?nkO7RV*+JB+QWhCH;| zsWUz5`Z=%sr*3=ZS1lX1NGxVCrc|Y@-fA6xe@p3Yd*y*@QlU3Ce?xe`SPut;_rmu) zw^}oP%;7zB5YzN3cQv1^=I;K3`t`He7Roo@PxDz)L{AYtMf4QWQ$&9f5xtO+8xIXa z)D>*Qq(X-%C#%9&u`G40t>=v=;F~m@ZiXD6Lqy;G#kUOSyNqZ%oaf3rXYNT6y$DUW z#ak`Ur~E!&#>q{fdVgrD``F`3mgl%XmR~z;rxEC{@6d|dedQvP;QOPiI?DMW=)y~e zPF6hXP$tM6w8hUH5Vx=W+$!R0MboW$T0hHUjnNl3`GGOIM*m51)G7GOS$RH)&tEJ^ z)ejn}x6frQULRZ*SH0&}lxYgtDP*URokDgB*-s*5mquD^7?hJNLP)0-FM=_lNN9eF zH*D6-ke>vW6Hm@d8bs6r!b+WGV$ZqUYsxKtSL6(L=)eT|48vk0}Aqdy7?YSa9z$ z==JiL6Y%RS#7TcsnfGu!o9pMb7UZuhCpS-br;v~^0AT>a0E7Vu1Dpf~@CLR>zG8({ zzJi6SbubYseIZx{B0=R+X-~`+$qG?1i{?ZsX7dzNp%B4&EV%R5DVT(mJYUiA+ai73 z_wo{%beZrrG7(^uFhwMxb!75!=jR~Ma{Z?_VzX`l=H^4Rz)Tsm5eAI&+B(!E7)*Cu zDPs{io)$72@1z4wmu@_PLx4?}1L1nEY-2JHehzuQ7*%V21{k-&eBm_YLxS;C2*#_R70jA)(EHIr)WT(9+jM>$0|wq(Eb9ZHmOKe5 zLzi3PKATW1DSX$@i=ftD9uLA4#9H(|fpZ~TdNM^|Sk{{#&HD(>w{ob8Vyhdy`PaJ} z;_s8I-iG6~6+3y^ zo((|j7>0}dFnyl2^BCg6Wq`{TJ}?H)8P((7;E&D|ytd(^ALkb4Jx<rI<}Tuj<>NQ!L7B|_|j;u zU`x2wWzySlD|3CMBBNS@TPF**w!oo>XbI1GZ?TvT1vyp=tdYQY^(a23f_p%NDR-Xv3aUU^p6$*Oo<^6Z=qS|n|Ac6VOfSO zFfw?_^NJ18!|jMGT%%R4s027)t`^bzT+zkgUyg>8^lVhUN80fZ_pI&dF{<$g3SlRvzO?Pu>7r+T7R+U za*6zPwi@){q9`Q`$b?BG#!3{|N{_bPB3ia{q77 z@~MCG>eY*v`NID1!a{IM-;6v<|7Z6zcC(en5kF-Q?Fy1F<)If?d+Jv6@c_%_>TJ^Z z+LBp+qFrsY?`~^vxw^Qu$NTkL^_cIk_VsM6vtziUcD!)%$mdmltasIp)84oXx4kEu zr}lF97o+hsU#e0vPsZYTxAAEjW?!1GF`ZM~!p~pi9qMpCN%NcUJY{Pkxa>S1em5Ax zY^RAzbp8@=(&;FU&hsAl^D18ApZSY?YkWDFOvi%~EizZJ)|aUcv-5mLd878z7atz= zthCSg+JtPr9Ga=X7?n-Xc+9t3bCQ$(G+s9E$QO%q{?Fn)IsZD(&gQFebB{c)$GWC= zTx34whkozj)V43A%j*kx0F*F(6V9Ix;aWBtR#!`LIJ+p*_=mcgy5?iCT!{0|X3MwJ zY8H=mn)bd{R^i(QLA1HD|C_HG536=Rv*w$tU9LL2AsReQq9f}qa#~aaOe(oTR$T1s zbat3u<<-5oI|8H{Ak_e=21qqPssWxv4bX&unwdd2%oHrLvPd%rEm)DHP6~~wMH0E5 zaAI`D&$15KWhyu8fXaIYLcYyhdoqSTM8GjGMU7_TnD%?fT??G@Q1ADFzP`)J*8#_K ztyOtdwL7fvv?bTDf^KW+!nH(xEB(+Qo@FZNqm`C`RX1y7*X`Z%X+BW0u0 zi!V14Z@bQOXX@x7NZ|~I{Y`N5$>oFE&-I7ng}2XT?H#(oPy2cerjekut z3RNW+T?v$a{50`fynL6E)h@Hz$`-*K2HXkiJ1|*ijo)Gt4oV)ij^8bT)ZVR?L^4Jh znX0l#BA|(wN&>cEmKW$VFUl&iikDd+Z~&RS^`nOn%6IL22U593zmimzU`%64gH&GW zB7_>GV?5J@E;(l^OI$jW%C`r!3y|~x6oU4U?Tx+{C%cW~Awr5t2y|&QB`Df3SVO-? z7}{#4L**0Wwv^ZD=7%Nm02{Zm$A7-88nV^m)V7evnG4ZWc=MDl;T^=CEkgEJs8fk* zg$>3Uw}h(K({F!AmgkCc_58&fwYgmv^75|Sgv!Xd8ctrOX=aNxOp~1Kt40@LF#I0E zgukJy$2mU9jIgU_3iy}2XZ`PLNxZ-Mt~cl4_u~0zR)x#UUibj_lwKTNV2}Sa8I&7Y z{;hi=@3x)N@e~dCE~ncY@U6bX@|(=c%=Vv6kji`v!p-cupH?fK{ZX8&7#wBhubTq^ zykI@4mDa~B=^m!(+tK)6J31}if49Ev=d<=8Ss7kX3-0OV69Vr9-U+-Dcs~j79=+jZ zg#T2iBKnQhtSo}ltY8A>o^@3#MDDbN*)R**L_iI6-BHR zb0*@7jvu@q^x9p*_Ac|;g6-OCc=D0c)HT?C(D2VOVn?>e)+6HxtuVQ*(A~ak3%JKB zn5xWOMv~1I*fGLnuC9t;c~#34oKRUSeE@LZ`oo8S_nQuI2LKPlhG!IudggpRk-#%D7BJRa$ZUgKx1jQ4VMJyq#R?6n*yoMWq zt7VLVIp)jjfc-|~xb?IaKYwpXKV`dRKzoKq79Q^wnBPM3t_|b7_E5fizc{5yinH-x z`u@5Oca5780PWxYHkrIWk(usayQ2Q)>3^I%pv?^En3k#1B#sA{YXY{Xd3+zCNz9|^ zIMnqZKAMgmUBE#gjTa-nK@_->#7&xKX=Z@@6ozL@8-f3Cu^WC0>6AwFzqyGJg;=r@ z<_B4{(R?vZ_23;2kTWe?4s_FI0eO%~lf1#c%~dT<jwPStW3X6&-3x~0gnB7v-K|AxP~LW74umZ;c}1--qZNee__!7 z`yTI2)JE_SMvAnV=li}p*}l88AwX7h(djbzwDZ~7tb)JejqrT|=_~`H7fAwlH9UITrrcRWNHbo~-)TY1x4C(W1AMr`u%{#8>RPX5J<*c4x*VGZq z$K9V8>@I&|&x3d4Jg+@}n>%fF0qYN7wmqM4<9)k$fo?ppjy|KX6_jnimZQ5@SJA-c z19&y5M|xK-Z{BOS^_jm4+H`HY^xA2C*5_2XiB*+|Q zQSs<^ANx5kr6Xx*?XY>c_Z!5l@6aL$g$hKM%Al7^iH-`Y2KTSjRupAqrIJ!ccW9f4 zwVzuBn}?m{Vz)bxfdu*o8!KwiT{y@<=wMO=gLd6M!s`$%%4=t;`Ji`e5wRizH5b>! zs0&c{0El{hfNzeY7w5PQDJPGP5e$?_>7me6m2-t>F%(smc*-4Lgap?j|L5`IC^r&< z*3N0M`F+uVM3jsLSr$e}Otto+@O8z&a7(4ErO`nw1wYM6Hsp=}bGiU^{-FIt0O}W` zi%US$es~iG=b;>&gFyp@)I*@uou_gR^X_-y44tKmjniB;4BMd9EtHTN5)k<n{n+A-{J%_EqM^rddJe_4Cf^;v8DxzjDu$M{~LVqc28Pdh$px_TTv= znn!1De}lH~7nitq1uP-prBN{dis>iZKVdpIVaO|wpp5#+T^M%We{;pfH5fBVQ-U$s z)H-`Xkz!vEj3F39FyH1*@ql_^jbQK^U{=&AWs!U8Zykguz2wJDHzKqP9&cySecg_!(IlKj zxGF0atv@mNGGBEBUkJYR@$?u>;Ca`eh)ISK(@F2`U|5abPI?dy^fdx&8{jNyy~3L< zX2V2**PFJ^DVva&u&FspnBpj0qkiqtZYKkiVOei}l-^}bJ>SatW-Ed(NHQ3LFGGSa z1Yb@9zOY(bL^~cK00YsE!FtRklM0J4--3XL=U?XNY^}mPOJ{@OB0Gw0TER^7{i8)I zsT@|sFimHp@%!~;@6+mHFwD)i5huUNaaHRu8(ZKwdmY0+dkE8IT3ZkX=5j_dmEGY9 z!t9LQ3Bp|C2DO%J=ju%^b+lZHQOFqYa5!FmmG|3baJ=o=(XkAodW&11aKydg2x4@t z!3)9?mjh5G#sE|qZKdDl143A$0^@N|4^kc(u*6G`7A{3l77CA?bcVqmn*Z{M#H`{r zrL6F{oDDKjfivhpzW(}a@9o#m?9-gGy%C-w;fSA_zVFBLFu0iXm(s);%HY2ZF3>e| zGMan5wU6}f;(Rg+m%Y*Wtp9e>M*&**@xRSOW~;UNXNxO}UwQW7%U=fin}0l&U%i|D z^6m})b@HS6@crPoZ(sfVOZ|f$yc>Q;SmGqGgoTBrNIn)uBB`RBOVH~i3B3-lHMfQZ zb%I!eSY2R(cbQtk6XQV~o?rTYyFB`6e7*B;1MB1m?hLoM14R%Q=^C zbJ&2^N=;mg$|bX?%Ya*rR%puPh5}_uXpzv^P1m+;%+#CB2~n&C^rQ0k?6^gUf)E83 z)kz=<^ue%Nr@BbWfk`f4*j%EAT)`3)vRM_)P40MjV%3SyyCq7OIelO#u?Tf=XWfw9 zUT%bR^pe=s1YLi=K;-5~Y?~N8H-fu5&D|K{#v^wcj{b04c$m}hE4fEAO8<|&H*Id? z%C-f+cSQdO2BUA+dmT>j%mZII`buTlR;lDclIzNTw?lEJq@W@J76w^TMg8|)2NNlP zLjqEXgLj4Pk^p2PaWYTlUT3f2u1BIQx|(sA(aqeiIRf=kIhQjqPla5_@Bs+1em3cs zneM%Q`lILw{QdBMUzkO37KX98i;s-r&ifX^{&4H$hifbom*#ZmKDKVzd_L(RUmChl zJ!~&XX~3_W4Abzqjs*T)51zQnKKF7z$&LXJpJ8OT3Nko1hFATrb01qD>W_m9wi)c1 zhw#5?urGCUST^o1xScNFqMlx7{JoJEyAs1KSM0ys6KL~T&OLoD4qu-0K#q@R9gPk} zXnGw6gK}JP;E%Y6&Q~ZZ`@A+O2!Y$l!65u)Gi*-zm*YFdsle<@yRF*_I^eV!uWOn zx?x@Ke-Q$wo?dOOPEQB8lseq}rjtHC_~%!D6HlK!eDj(;e|dyv>~{|zKYUQ|#3op#T z^fzG=W_z)aY!?-EW0l2TGStH^qtuHLI&KTKQ*f2EcgGMoB-<@395HoVgZ0?9zHw6H zuUJ$NDi@br6>Z&KiPI9O?eG9zs+_uovzy$$9)FUYR&hl z=sOR_ATc7d@Ms0d^YA3}2lWU3HN>(6qHTzaD*&kUUo-GJjmQ1;_@@fE=Yap|tYxu4 zuHU>zq0mqD)Bmb>W$H%$d%Kb6EDvuG2c18Pa|q}H!%BibWKu`&4n%1rO5>e?KUph* z3~SpUsl6t*S62k#k=V_-RV8?l%cbrPw^ttZ2R2skazY99bU{5^)I8gOopZbG26N7D zumN!HlCgSsP(#Q9m&T<0dyvJmGVdsk4{|v@9=@+^zMHVZzW6xO@pOzBL{2z@a0KB9 z!V!cc?gWmIsb=JRC>_XX~I z-gw2FT5PoHV$bQN7R@YG9BggSu|}5~R{W}l5(R^tB8H45+2Z0M43Pp+v94Amfg3eG z(<4>B1umS>AL38HiXV=CefaRNLBF4jo)Hxb1G7dm>u3yc1nZ~4d4?7CL{uzTFwEt0 z9Y?Va;79TNUue;P$nsCH?MYt}&t{}lSgv-@Nm1|VVOmD;Sw3hNKsCF@M z`3yK>6AnDT5xX_kTU^-N7W@vOTK0<;{Quv-{`7zTAKyHB_{(>Pd*96|V|!;R|Gh;- z(B6ERWAT5lCht$n*H4Fo{$x0My0QfL^Kl=ogw@_c4#&;ud&u1fdxv|HgHdb2(aj=P z(|reP;sUvA%8J2-I2-s3?=^c5=0**Z_lG}~QFWIGg>A1tz=?%celPbS0Rbua{o&ry zk>Gd;kIpl_{cr%gkpgpqlTK#H|AvFD*I++gaLk|UyH-QAhlvGKF}Mltz3qp+E57*g z58wWHxVO^@c`^KZS$d!zE-#QteQ~cH4Nvw`Kn=I|dw=p8t90!Ms)4L2Tm74r-0u!Ylgy&Ps=hV{aF8T@nq)nWw>HWhpO-Mka__N(Vty{GM6Pg4Ka zXZ!_!9S;9qe*rG+z0)DU`J^9?7ek1@jG&)9{ET0Bw+83i;S@`~>fFFAhU9ZzL(3Xq zZ+u!3eCN{M;##g>{&~M>G93--$=;YO$G8fnr(f;WrK<6GHo+d}!@c;YzmJa}$N&0! zaKFZP&whFD-v0Hy`O6RA+x~}N-FL&k{q*?s{kP+vaCaG~umAKF3YFP>JGX=1p8Rd3 z(u<>afj#=>H}T}?ALT^-^8LHV|>^RpiYr~fsG$KU_{?cmYZXSe+mp#SltciKNK z_2!A2^`D1>wtqAo)x%$O?GN`R2wEFXCtt&N@2frBg!}FLuV0L&<*U5}>F?J+3W4h4wFmBydy9|ng(Hxl$CJHB zKl}~PwmC!kaIgN1j^8^flX~C5vA(K*#36jGzS@IWFD^lA0-}9kp0bEh)##YV+{JNRH-9AD8KL3(7We*XP?>oAN+sTZ(Z5%gb$Et z)#u#mxG&xD@=#3Cj-d!E{ z!K@e@|G(k1-{2Y=_lJY8k=mylhD0I$fB#=?{}|o>uV>q?lKuWeu%m+i%;Wu7Bisuv z|3f~|4FBQ&H@p=F8UKYR(V0XDe=q;QfBr*2+H<{B2p^k``T_6p{Tea2chMDH$MO|w z4#<>n$`);_yvfS!f@iE?6}G6g7n$Zxku;X_Ve)9P|Kq>rNg53tM>*@U9yh}K=J`+Te=cu=aQ^IZ*He4* zFE~J*5B22YZ?9%ka{ij#JDFFJW~G$Mts(hRqCeT=P?Bv*V{xI64X2ZuJ5J=rP>cKAKhO^>py} zlDmBCzu|l@cey^#yByA=cc(Bb8P`#0c$W?S2G~|Vy>@T;YVGe`cJ&+uQo@yANAz?! znl#T#LRC4L?H?sngNyfT$?RzdV0s zxrDoxNX4N75UujCm1e=JDg_ z2d<~PY(76;+&hl@C;bWTUR9Qddv^oR|5c9{FNZukXIy#jJMZ^g0kn2sY(b{847S=B z0yK;Zyo((uEFiXM?n;Z3AY$jQsg&e;$ZNy?==qCZo*&jKjf+_Xvu1+-cKErz8k+6d zt?qf4e6`2?-Zv%Tro-(XvYs`=_wIf7^!k!vaSuxKyYe-+!T6`u^5y^T<|2yc#_4oY z4&L@hlW919iu)HZ6{_KPcnH*T_a>;emmSnaQa*P6P}8`~wfDPq(Z4BiT8+8L%!E4V zmpO`b?EO*)odOCj4_!casRK>6;=yy_>m9GWJJdlJ9`2#0RZSbwMpsDCsOBgNc^W<< z+!*DLtmK~C!@})XbLm~yMo`fXr=wJ6xNLlIW@B)rH~soUxzqD+$&~FfxF2`8we-wL zwDdGZjt$#M@6*bVE+pE^zTvF;y0Z6w=@FjWexofOtWXx&J`F-vA)(dEG_K{Ui3Yjp zPI$v-345TP)rIx9{aV-7 zmFxZ(7_Po_g!wt{;d2*Tgq+*=1`%WRUZwYb#uzl^0TOzP>DaX|4_JYvK!cbj;KMK4 zm+u%_(D`IzFcU7p+kdajcOnZWrmT@vQd-lf z0CzPn183)cUZ(dol`XT&*0O!5B#)f?q5#hTofPm%PytUE=%hASYLkij7@sWQQx_NxLmV$ zef8C8Y_3==-elp*V1mrqG`y5bq{Nbb5N&R}Z$(ior0l9Llisf!ws4_swGiK}`>?pcsJn5v?}Ul1Mdgzqrw81SZ4&})IZ7K%D6Ocp4vaH( zHx`tGt-2ds26r89Xs84BeM9JORnlyWLQcyTBg!^2yW~GH@Xb&I^0lFIp>68 z1UK$2nM#Fh5Lc#~B(-lK*}z&#j;RSTMFtupJViSOHeCkC&Zt~Orkds9ZS?MHjXJxl ztpvDeBhIzAqM7MB4$-J!vNxZOTc8a<6lVy3X9+x3^qyVKQ6&d)xzw$^&4PERm~nX6F_W?`_@+@R)0$qsGwQUWfo)9H*O0*?zR z32k6nY2la+S5H-p+uDTd$g-p6#wv%l2+_8MmBzMcX(;DW_&}=KM6@+R%aY*g(i~di zQb~!TqS=rxE~Oh?26r882g z%w!@==~8_tP;=vkn;Y&>+1_G0ZUHwKni~@0e`W}75Zt)Bh9S7o(L8Y<{xxu&Od}MB z6_AxzbNmI36y-HhUK8atb)ag&Jq5Gp&#(R_o<4c_<~4i%5`J>8zI*ui;e!X5Qm~h) z3mUz-^~QNmJG|V*%MSavM!KOT%y5#njm|s+Zn(CIT$YBx@=S!P=dg91m6{v7G&i~o z?mFCnV-DxeX_9W-U!}NWricKHpI}7=%pnlk!$BD}5zo^cRnDr~o~XOAK7R91yjh=zx*M2~UjS}I*lo5Y zBJKmc@!H)0mnwluUc56}OXdQ11UJsyB0DXsFS{FE26qi^z?BGwHd<+qQK#<4{p@a} zBu&w&ZIA{E%U6`9Fs8zPqIFU05PaknZ4%tLak#-vZ!sOWfExk{v2d1SUp6m_e5vZ% zT!%G2n7YFm|G3t@HDn z)w-9O8@n_&x(x0*+Hef=8Kf{NLL2v1xgnznt#b_W@QmgLR`;67tZzb5iW~1s(e?Bb z+PHDF0b0~zI&OhBs&qr4Tjd=!H>kNm%?)a9>>JaAbp!(Nke=sj<9dN{9-koZY41`? ztdGSw>x=W$+<5WJ%l1dze>ZqaT&fQ1EH}@k5+gYt9Fe? zO5HdYg|$_4qs!o~!wsXPL!KF@)Q$Vgr9#e4OpvBEx=jv3@haWWPBvMnq>_e(YD+e_ zQ>;GUFx;?6nC>m6V`sQw4>g(_h^FSAxK!jzb&dR#q#MMgBDitJ534ZjBX(GNUeJ9xV>#5US~&%nge=I3rsV zXU#3@ZrnKB5U#hFj$6PDh3TdM5FmWQdk>i>mWoVq1q12`i^3*Yl}q3OF1b}NMR4QB;RYAI#dO>PZb)Q`8_uD>A~F?`sfbKP zaD(6m!Hq7evfX@k?-1NDiMcEg?U&jXH1ZfgD0f~rJST5qo@276Oz~aGR9yyl9d1sy+_=Zx4Vxq{K=!L}_>B2(Q@G8Nd1QYy%#jL66o2gCrz$A7X3r65+k4Z8X> z5Zt(NxFK|JF&#U@4PX@36T(U06e3d*nTp6%M5dzd2Eh%28-N?Wm5eE{r`o`=(3%3w z{~3548nFPj)y0WK-Hl!0Mwh`|ha1K-xZpxfLvZ8X8sX|(7@TlzBU}R9aB!dYGUX}nY+rRBe-$naD(~Yd^&D{HXz-Q+H23qn2MSk)ZC!v1~oURxzQ;Q=-x{=w2GP4 z#Es}Q$2zM5m#Vbrb>vivO{VrfQ23Bid>5s7m%&{}8yZ|H#J>5ux=qcE``O&cmbXCo zs)125jHz_CP2e7yah_v#Mfg@%Uot`)H;gv)p{`u2*>v0jZUCadMO+y|8-z9pZ4lZZ zv_WWt&_=FQDjnJ=qic+^pi;RMK&4V`BM@sX5)Vle+L-Rz+vqa5>u3YZqE-kYiAr^U zl^aYZt35CVcL@zeWkchOQBCwNWs#hYmW1NBAaz3@N{w{z*>voTHULprkHgK%ILZ_! zxIu7(;0D1Bf*S-kD%{XEMI{`X8$3y@t`^8uz0{54qDYSBhP9Q|LCuYwnj0MkcO7mZ za?}ZBeQhaGbK`zCH@FA_#&3w(fGq%;8{9WB1M(yDMwJ{}WHz+a+_-sPDt(A}@Wpi8 z0&d8fy5Y2@kiQYZ4T2j4HwbPJ+#tA7;YP68=~Q5h!20c3TZ zo#4hUaHGrMuEPz4gLx!xkWhSlf4dv#7`kY*X)Je8ZZL%WMeB2u5`#f5(59QU6p2f9 z<6J7HdW-3}1>6v@!FAR%Lm__zHwbPJ+#t9?aD(7Rg&TktN()$08R)~Y(5f`dIE8D_ z+;B>@P>#2X;Kq(NxLpQ!4Q?=Jgfkw@Z|ZK`TcJ2p3RwCW{`HDz1^43-DJ% zY@G6<@$esKSnEka*51~n48mYC+X7Z~%wAKs?*Hqnf9{7VYP(VYL#SW2e~1^-{7?H& z`)M@162X^u_{K4|8z1~W>QAa0;Wz>D;)oB%)42K#k{DUJ?WRc|0DKwv5Uk z)iYX!fuTRdpMDiT9R2$6;a`J(KN&rF{%V_ZC`N;k_nAkT_zCU?;;!b~l|MIsd zAAb7&+4PsA2iUmtSDzGu8w589ZV=q4&puytRx%d^0E9}WVl8Oo_^TJ0<-khFjJg}U zYB#zJ?mFDC42CvLDpHEy-|mL0E(~4?Xg4J68I)9wbJY;Hq_%L?YHKT(j=CE++}%)z z@R(Xm$1UK70^INtX`KW&sJn3uN+h_k&r}3u8`hXEXDHbW4^51vG)!PIhR4=MRqux3 z^t7Kt8lh;ZfULZl<1c~bIaXg-13>Rij>p4r+8d6J4t^gW2*&gQ{^{p3nDi&_muPG} z9Sy=sMPNTqfskMKciz)c|7{s8_VxH=6b9H+|1{)WkJw<@LaH8?An2sUsbgbL9nVJ{mydo?dgR%MZ(jEG z_rE=mkKRpQzI)4m9sg`T{Lp{(k^J9uTz+W9d2l?jdt3RRQ&$Jjl^L;n(QwU~}uzzyijEn*zGR79qtkUt9fqmV!9ZcxY{bvFPvau70lnB;J@ zE)lx{ryQ51Z?dwySi##i)xwwH#x8K9%iylV4b&+J6qmMkTnTR6Pq<;=Mde{Y1(4yZ z5pIMtm8_88a@|_alP#4VKxC>LCR52nrFx6$xCPu`Ncn@moZ*__2Eh%28w589ZV=oc zxB<9fIkPR6RuSt5_M|E{HZgJ6FnA-WmPIXWU1%k^u?yVjGPvt-gW1~O;DWRp_m@mn zl4BCt;SEnJG|C6wI9=`FYzzsR8#>NTKf#R~ha18IIn1VGXSe~3g4_))yl{jz2yGDB zAhbbfgU|+{jfyr@(b93%SludcsW=LstaZcT&glgMms~|c8#@|Pbs5}`(FP2QIPw*t z;Hsg$>xCPo^2nNLYRGNAl1UCq75ZoZRL2!fMMui(Fbp-ksrfDtIs$f!aFsVvx za`7Qb4#c5no^x<`oBS}di#uaCJR0O@Y6h)y7WNK7swrOv`S$3;e+hosAE=4DLGI zFi4rMKL5m|y1z`SP+TkFT+|3#y$VBA4XP3j-$$iP462283bTQjROfCLDV5Vn$rs)v zmha*AfOv@KlQ8)ht6a1ZLMrBqC@=aaxPyh08fk!Lu7!lHVg3cvhf2&yQS<4z4cq{e z3hM<3>m(`_QK^VZMN}%HQW2Gks8saslM&}fG*3sEe70cA! z*rmJCWpLNwhJsTz%&~p-8K>^X{p@ZS2Fe`#ZXu5fP)pTFaR<-TMz+qiIr&A>4Z)2Y zhZ{om7Spja+?Zh$h1?wHIl&Er8w589ZV=ocxIu6Oa3lE^Cb*Dl=$JvKVj7hXLUo#` z5OB&21HXe@aCZ&e=rXwLa6@1*l{@bQ!Hs(xDISsroCldIv>tLPreRQp#c(tiVcOtT zV!@MgU=oqyv+1}6+zcet)GKl`NH8RvMc{&D`LyXGq32EORs!eZgDR3y#pnjiU|8dyDC~4ccHmA@M(L zsJTJS4Qg&sbAy^2)ZC!vMs02|o}-DSX~ExUl#`-y2=;5NQ6d+^t@C6|wR3Z$!{DyN z4U05!EsY~%s{0E!QX6D)MK?v5D&1&B6AI*0S>}R>zc#nCNk?$w#^DB6y~T9g0&c(t zmpP`SCg}!sH>kTo-3{t)P>UF&(#n8w}kIBo;YKKDY!o2yPJEAhO#mRcu?yVjGPvt-Lm0yiTZk(ZV=ocxIu7(;0D2s z8Qef}I2SQCETn45iPW)}k@8neP$e22c%j&ho#94@!CiwJ)+@`9H!Vmiet)|gI%@D2 zi$TgCgJ24oj!m#FoEms2%D|h-vnrUP?#9h_H>5w*s<)VqTfhzGdtPvyMe1%4+#t9? zaD(6m!3}~N6>dbCnMfrzEteou*~FWm+tirkT~W3aCW%b7E8OTZxa)AkdLgtGzJ{Gp zcjJC`H!`#tJON*XT!8V>(P$#n98huCoW10thP+>@{`k z{=dHZ=YE)?wj1?7g!*Oshj<~)|Fr+KpGL#+RS3Sk!#9qx-T2`5QGZg~YvY7V5J!A4 zp2pR07$0=`0SBWp9!{ydaouS89lR;gF*PqXz=Fw$o@E(*f&wWKY4rNPJe#?^0y}+e)|5|^p~Rt*tqjopA>={ z1UCq75ZtKGJ{FZR&a)=9kgh7z0&XzFn`o_7+DB(feejTWV;Aj4m%&|!8%7GomE`11 zbyaQjcQS0a#Wn9N|JPDKO_|L;!2jyJw_x$yzWjqc?^{xN@@BL?s`g0F^c-yaa zZGUjI*B|fo2lb^RoT_mTpF`ce*zNffc5dGrKV+}LL-G7F%E+h0Zsk>LT+U!^omw7&4zT9hcb8-~-W=~B`mqn=n}X$p*)MAQ zrG8I9kdqJAG(lMjvI;XW{o#m{<*8(cK6)tu-+nsn*W!;eJUYMq_FM1mw-4=uib2;# z@#+IuE=NqqW%R0lg6G0`IG8VWZ0xDy`KaUa(JxAmJp1s?%f9~pw+HgkyUELUZ~3p| zpUsCK`mdh6_~m8$qwc>OJY`S%Zrj73FX+rhqSJ!Tr~D?2cE4T}y?@Lvv;TZu!tvyF z3X^dBemv=6fnf9SJC51(6iZ88c0Zl;@xed8`kQ$A~ zT|&Ia>LWM}N278)JDIbZ1+lf#n1Gy&l2{da*DK5UMw@6oNT?JEGq{a)VrUIs}Gp6|9h)i|!+6}-B=6Z|ixCPu0tfv8jnb*|apqM|3 z`J$W4SFRTBgXpd3{Rxx!)UZtT+C=rXwL za08(yigT$+yK#TJ8!&-0jDtO8TMorW%g{|!NENpcfg7zBEb5B!sk?F3j#_mvE@(Ba z-uv9$4R@$TZ!sOWfE&=4ThEmDl)FLQ4eD+XnTom_M5gN0ez^B=Lnly-V;j+KV^u1S z_J~v2HX7BCNxCp}J_v3cKMlLUjV^<`4mXg$AUN}mjBxKS+$a%RaT!{`doZe$ihvs- zK|iI76DIKzydt*GfX%V3@n~t5~hC5VMyP>QhXDZTekamN#8(@_X znX2PTJ&~!-iLpA4*&QNNajRODLtR-_fEyXARo@!lWM7hvUSvFM32y8NH@Xb&I^1A< zMr3uBiAZFs`$?uMB_To6p`}=L!m35sjpI2qEEWq2W81k;I5$!;~>aEq_`xsagUoDF2jwgYBdUn9TgZ=aD#(UgO=7rpL247QvPm%bi*Ao z-CIn@Ezky}8u|$(B)>^Zq2gDXcHV7cD(fAO5h^Le!D3Vjb`Qwg@NhyEJWJhX zt0?8~7QhW#X;F*mxCPum?1qIjM=HD6Xyw&0Gw0}HBa0Ot^1&_RgKqP@`ly8Cu`}o3X?-kK4)qwUhLbRWv)T#Fj9?uzD!t$PgFO6w z+#8h1%u;Gxce4EOcryOz16|y1$e4%qWbwRQH-oRlTi(@~V2kgGFAFYFx0Y z;XxT$P#5KyW|`o|E^wpE;I6|Bt+c9EVHCS@f4duP;=&ssdnW}Ni6+8bE<`x_w$8D( z1=A|k;002O->_2L9>TkFF&#U@jTuHUTo`T0n2Nd^)ZL)&26Z>6yFuNJx{Q;o5J554 zNRiRqFdmN0l0mduzy$J$6pxlt{&w}j?J~IQa6>w6tWd6wI!QO~r*y-rsIv^d5iLiw zX2yK;3O?3A{_wPJWw4^2eu5h}4mY^#EvDl(aD(+Y*9u~B>TZw^F8Sb+4=yRi$p@Ew zZ~-?gTyK4H3>2zLrb4C;cpb8!5HcB29wjm!QTb4JW0&qmm%&|!8$wtI?S`V*jr-f( zu*&lmnM)9fdyB*zE;0Rtg&A%L))in5PNCwrf=tEWgFBy&TfhxyHy9UAdO{n7HVADH z+90$+XoJuO(1wKXe@NUnZPZw2)zFMP^fj97w96?5$u(t)@7mnxGPvt#1L@ep8s*6b z_x_>{A(+xOv&N+idxqA-3=RxNKzyH|m`b2j)ut;e5o*Yb~ILO)AG4bwk~a8}Dv# z-CIn@E#QWLn-v#=bMnEZ?gn)?sJlVk4eD-CccXSU;J?`dQ?w0);#g=^hyjR^wN1hL zI!j7=F6%lwNjG+pZgd&kb+}=e;zl7^45Lm;@%yP1kEIRpV_*%_3>e=5bNDtCK>ju& z?nY&JG!Wdl`H(+z2wv1;I&K3uW@IY3ZgA>uPvER&em8QYun+<5s{8;d=AwxDDEXFBP-s3zKw%xKzZYA}$qi zsfbHOT&h{>Mk`oWS~OT;#X4(5vTOI)g5(MIYpxa(+xOYVgCno>9J zuTq>b7KAgV$syHDaf_%Mrcxt#Nx@s4l&O=Bq#HLZ-Oz_z_7>A|3%DU!50lt? z4Q{{y*9ymBhD*(jd&{MY(eU6f%V0EJ05=58r(01PreKF#1moFK>c%Z-Zm2_TdW-3} z1>9i1=e6U?l5~T*8`RyP?gn)?sJlVkjoRJt7TOJKVv~gi+;CDrDXw(mq%l4?Z}W`S zL2zRixY1>B*Wm`p{7zVGNpR!d!i_9q1iA;l;1ZKAB6cGdq;S9kw?^QYg#S@@QFI+{LQ9gXSe~3;(J;n!N?Msir@yp4T2j4HwbPJ+^BHFwMiRiRilD~F%{=nXypaj z8x~a$xK&!{ngBp>V;8v5WpLNwhJj(f;MP&f-~A<1ae(+Ff`lA;0D1Bf*S-k2yPJEAh=QChB7)TSp)uH zhXch%QShYl03O;|EWldaEyG+B*UQ=Z{WoMA6x@B zIG4R`5;~1-YYpg)6>SpSxN*3_ECT!Lbld`MaB!&{6EFi<&Xea zRB?^WT%ex}Q$VM@0N^x`^e~o!tP4DoG6;joYzr;W^1P;O-T&8D|J)B#ly;;3hfu$4 z{}3;v`JeWm_S0y1WspsIhi@EXyYa#AqyD63EsYbdKs+N3#?!d^4da8<;RhUy%6K>( z5!$%sv>jlW`(c7X=9;66rrFFQWDwi+m&&`-)l1ILKJ|JsIXyf$7^m0eB#e6}t8<)& zCkN>`^iReI^^zFi&*Sl^v}IHVsh&}euMPbn{`9N(;po?g5C0nU`^o5;og56pUq*vB z&qwyh!Nk6a^8Lx%6LC&!)c|J;27Dzxt#Q+90$+XoJwk?AeFJ4MbSS z#_-zQKN6Kx+-G!PPyEHdahrwM(8_<|SJL5e`H|{UmDBf}ViyYqIwMFaPH=^!a3idp~V( zV{y6otQ&L{0|<=B-w51_hSlu9)Jns0^(7;?apQ19>fT~Hc7_}BP$5$sQ5}pE+#t9? zaD(6m!3}~N1UF`IgSlXgXqybCarMYS0D#fF@dBjx-Zp0jobQVf+)1tfK0-|mTh&7=UhoC>9a;|I#f*UsuH^7TpOvi2D2BaH8 zI&C$PsmKSHd~nGJmwa%^2bX+s(cMTn7RiMMf!rf(L#l}GMh3UaG9#50sx8%$lipRyX|MoYEwX3x{%LKZWDtGQu;h ze=-V#-an?0kG$^x=j#%VC$CeOgyZ+)Ne{9HJkQeWFc_3$c%SY6cv?nttqWeB=^bXG zmuX#$s|tlN)Db6PfFn4;F<|>q>HXdx8rV>MS!}<>I-Y4l6NP^ z<6$`M4M#@@zmE?DDB=hBr=M{y`;+%eh0Az48ibRoYWaD7+3dWhqyF16SnTU@y%4dd z{%Od$9ih@yF8%6{MLFxoK8$Y)BwDjy)b?jHAi(<2hnnW3EI2Eg znFeFXn!-U@sTBsEH2C(@X}@0O$d{G!+i$5*q2zIoZ#-~aYNK6*EK`R*d4v=9-NVNZA5>Y^+u0?=du(=79garjcy=;pGD2i#z_K=o#uc!?m5BAq za=y_9-cqehJccU1$YrJV!&l*j8G!f(H{sb{tk5Ol3dK@u2I}w*{f%739Bn}$88f~} zzuf4D*}ObkcziU-&&ofhWjw(rj)%DG_dk^Uw{SeI(--gVjTUduo(Yq3G#tIJxAeD* zk37gH{Xu^`sdxRimAbXDleJG^KeMajW+jZBo`VOoaULIZ8Q^u~0gWma!8xbEzw3}k zr&ECoYpGv-@xDr6&#u6yE0N`8?5(r%=A!F!tL<_1uKE_U$=7DyD(B(RAOS&?3e~4d zLO9++5-M|yY^LN{ZL~fCxB2#!40vOX?XVa8lJO)=J_ZKQrzt^#QtDl2<4exotlLiG z^Nr0f+N$37X7lJp{{*+0a8gCHNGGukT0+dfVERysL#=v?`LYEz;H<|HbAu{`u)$}* z22d zOmMg#1a!pO+9pa5{GY(~jw0EnDAw|rdD1h)Or3~bIuTt4cO4HHti~|ddXcRAIy`WF z8FE{(fOf5xUa`hn1~l$l-FSsSOfDm1u##cX*24N$Vu909J*-K;%n~f-$l%YzTvq`e z027=}W|(09`qMHVV+9v){r7+GKU>%e?O_jZ`_-U0Oe*HG)JqStni)^XaV9zrg@rGM~B(@H+GWK@!O&+*jr! zL657TN4JvXwst#$@H(f6SjLe2Ja^? zEVU)BV?lK~6}WzHrz!%P2w1E+B&q=;G|H+fY$`B=0ujoJR;!S1ZF=`@!Un9jm@ivk z0|`4=$t72JD(vodCEQ&!`$!f|$#x`*hR~a2(Ikt$))V69WzjhYSr}K1MLPzv{lL*2 zkZ?pO!jxiE@ujX$5&*ac0H8Tg`zParE(5w=@Jr*J2i2Mi{#^?G3Q%`0@UiU%rT$u- zaAoPQR_x~jXJ=bk5^uORSnD@f>xZV|9Wu}FETF57R zBO>|WvHt}~K5a7ILOIz)&#{)6TGa7Is78WkV1okJU{-)o9e=KlzxMgJtm(T9?q*F7 zk12&_O06(4?8oTsJ|48g(aFr&DjehWW!3uKXgEEcmxTLmh@*ZQ9G_M{#a6Gz>URp+yZV0XbX(vPTr{=!N$o3?n}4?asRpP z^PJ#D!OgJuvCYlg4C)|EC$9(i^LRW0mv>YKsh-ig_7VC+;ti3efHVb|1q3&6L-+!4 zL)t9SA#g~?EtT8MB2<+nHn19&R>05^YD*jm!Hr$uMwh`|hZ}IP)z)}kN1fotReFNE z3paFDp-nnAGQ+7%Vg5BSgD<2xBIJDa(zT!1WVoPqydF*-yzP%B({pj`8+-Y~!3~%o zEvDlZa05AW2JH=Q>|&#ppY;r+C#zIZ1#Gcg!KMqbsp|_c(lv|)#!`?iCjZ=8e6~fW zhvC1z`saSFEr+B2hq-||T!RD5-G|lMdt>cj<7D4{O46q|vi?Y#1i}`CEeKl>w)kR6 z4UQoo&Suq^T;m!-V2ulCYG{EdW$>e!%5_nlu*ErSaS;_4+Ppa>smp+_;|YXMYq)V* zN@m!Fl2rBd%MQ!dEsKiauI=Hh*I}EKBo04g9+B!Eordxl@BpMf+cqreK&U#qt;M`EU!snnQU2-3L2UJr{bH@irUZZ-R zBnBigAc+AbuicI0wZx0mCFZ6zc^3K%b%9Z`X|bXuG~E94Y~hOP`RnWXkDr6f`o7Bm zuh;jGog#wUXp$W4RNrreK7B&He{NqpmHy|qM@7A28_m{$rO~miVVsVmaR7=EG{!;W zuSh+FIZg;hRifEyqiY#v>%imOw|{Pm(k;RU%JmlWWjk!Z3{vf_yGslD8{He?4^bNP zn<(F(yghNJKfizZ+mjDJegACw%TY~kT{CUJoVs*UC<=k15GV?Pq7Z8Sw=G;q4cV~~ zK7q>MZ4)Gt5ppywmiaBJmP%zHOmGepTuWS8;(;!MyMYI^bVgc=LKt6%2d+I0xNdh| z`#)DrV>df2te;hHn;n5@yypce%(_)zka(9H7aPCQlbVR_$&IT!JLLY3s=!0Z#G!22yUEXaCeIQTEdMkgS!Sds`WiO5X_M}`u@U=tT{aU znQvGWzEQ2QHGw2H*+o_~PtvCVkaH_r4}UDUAzW`U9k+oSNLNtW8RrRZ5ZrLFu^w5b zDlywQp`l8`Vv?#$QQDRR%=3PjpyJ`0Bja5&St*i(*si}+-kq*qa(?!y&MgK~M+>vn*lr&f(OA+aGl|cIj?(8QgWaVYv}f z7*!uSq>jFy>S!xW%M#+9P4EU5tdK~DjNE6Y8NAU1YhlNQ(@${YpZjma@wB?ftiqfx zXf>_gt0IkQe7<2FTc^^xOr`dmW_Pt0{gVRv)=4eq1Vhk0B+JadVERz9_^j zkU$$u7^|td@i}xB)ZCas3ql*G{T$K=vvd{#`)WQQ0=bl|zOV+psJQ_lT_w}{!dX*z zD%mM+OR4Kvr_+9Aws6LzB(#B%=wv^!>ovCU7Ve*1o3XIlH9S47_7@#?fAbLzB^8}) zQVoRBKpP4`BcP?xL@A=P3fHQuDqcbxyP%COgS(D4v^0=}T3w0tgf{Lc+K8r@Sm1c3 zxrRvra>SY#b8ZR@VU0B|s#&x*p^Y0x8|+Za-eNj#0XKM!j@HcEI~5(h6y)Dhzt@Tm zcZ`$xk$jj?j!>k;qU@t==xY4CR@r{6y@6dkB;u3z2Mhn;B zVwDXoRe~EK6QGN?kdBI2z~2a}DN3YPTb`4vhJ%DFuErH}52h}IxsD^0f+$1J6SxUS zY=t9mUGA*GsHkmyVf$Ji%uTfgC?g@IR>zyf@ZKcOF@8-h_Cttgs?34 zwm;fi=)c4cmFg|7_bm!_IIVK)xmSu8S3VEpn*vkhSy4^V&J^u@ZQJ4I`vTIz zFW$-6Am15;2sEY|pEKrqLSYioA}E?zNV|$2x(x1mJuj_cC{;wo?o`ijRnMQ(Mb9lD zKcT)qx3794wl4M0Z;uttRRKTqTWX_=NPiBEHl9@$5=0MD+s3q7n-cKw<)2vflg4@< z2?a|E(?w^n3k!)IN(<4$Y&v#^8^9>OCp~;C7}1c3h7<^H5Zu@|riaw49`^?S*7&8x z67u6pP1(D&Q*rfbJ;99^zr1XJ)ctn@vU$B5G^A{>4#y#Sz%l~lo&wnou`O_yDUdz* zXtLu8vxC|NSGNl;ws`F_xa)93a3n@4G4u2xxN$$>hBIF4;%g+FD4292HIO=##@YxY zAQoW$8Zqfs80Cj>0^`0dKz)f*Z$A!!B^6 zbQs)qxWP2^)xud)J=|YQC&MJXVv)tzI!GT>2^>CZt!SiCIP=Bpb{5S@aN`VNt#s5E zw3=4$eQu34J7l`In2uY(jhaBsnPrl=RK%sC<_0x4sJYSWSUK0G&qwUA^vJUh-@NSW z?|*wBAHAEreD{|BI{w*w_@V#m2{kwRC*y;=gf;{gQele#S37|WJFP|IB*>FIMG;yJ z6WLr@J=EOT32k&3+%>ep9XtdTccL=bsJU@Jn;XeRp(SKT#i6C4g3cf-bKN8tg3LkL z(2{}d6eRDPMH|9bTGV1XZhwYq;f!@>9i8>hTL#JgcEFev?Gd$2S@I2sM7r{jY*#8E#Dj!*po zQcm7t(Q-6CxSj`CBY}?lgXz0)1Y?;-Ai_a1s~bkHP6r3$^qQjZ*8PY&uAEag1-Zqd z<|VgSRP=94wPNPI`Au~=8kOTv@ANZisj@H@H36N6k{~S=vHB1@52b0ezLkl`P*FiH zs|N)3wS);PS0`li2m@Jo6RlNvWT-0BkPOM&5{9uJUhTdz#tB=T!xk4l_m=T@T?TX= zPZ;QeQHn6)N?nI1E*yGXpUa}=#rxCk1P$1Bd&&2vyOT~nai29ZT?*7rNVjVoN0zon zwhP*UMdI}0t3ClOEK9%bkM{PtJE8s-rnk7}w)3v%NrJ?1{DU%YDwDaH7lo!Do4I7+Pe(sM$wM2 zTf?*zwS)vdItILYJZOiblNm+}$LGq@@9J9HTx`34w%~T|13xX6-mVqo)-Su(qNqO3 zmlg30E8f0!!b*=@9^y?E?QLSxo9G&0%51qbp|6H4cnO_!up*(9ua3r4w9k^-YSFHH zi)((1qFu3`!s4*KogPU)l*#YI(ccdS^Z$Q5n3Pc)QW>x0?O$%K{qkeEY_)yRPqgBG zdPv1P74KBMvnN!%-+|)2wGwGiuz%-?Au38(-$a3`1FZL!f#BmZ|3hjAc6|CROZYCs zx>3S|!sDcrU&w)V@e8jm;g=u!@+JI^C!kXyf9bwE4aR15wz&e|ro;7`IBi)-hoqRY~~bQsJFN_U0EhxtOK`{G%CQGK?-mAz%F z?;FF8A92$w?+jTZDH=%US;Bw3(`aBZuxA{W;#*NbLHk6X(q*}~QBH51u7kJz(PVn= zTAgot`wI2>^}a=+j+OVCS*&kmoqioq0!~T*YiO$d`@5Gv+g?B+UJJsw| zv)_rDJ*FIlbF69Ml8&MyrY16E6BzEQrFO8+SO1Vd9Myftr{A)A?=q|#)w@7h;w59X zp#JxBXBNNk>gs*@p}Vs1-i<+X>B;Rh7+n_LT`OF1kp6|@6BgceC8LQ9Ypj;*BC|!M zk1wNzcSthXib*4|@QxXvT3+WDnb9@8_WC4xGWc>Pk*^(`^ygMqB|Tr zpIn#5B1$5F+ zqv5#f?$hw(VE&U1D&ia9&*Sl^v}IHVsWxKjibLoR@uy$K4@bW~eE8R(-%m!*?Brk& z{xTZ8c|Ni~4kq?ZlVN)=)pE$eNxE(lKd~p|C0PK>wVP* zlOlt^O)<7Q-Bh*!Sn}16&*=asenn)P^8|)Y&%b58-(_$&>wV>zg8LBe>0hAUzfa_w zjWVQ5-G5o3b5?!T6LGC9c!TM3ZhLe+Rx9+g)!|%VNtC&5N`xnr3IS^Kj8%TwDi~tI zA_~e`eCukXYn97ae0vudaQzsZVF4H!o|e(1UuMPGoNxc%aed|5+Iir^uGwn^_@_vB=#Y9PRbTd;LLu=?J{3aSxxXfN7J)e{SC!Cu8+q-EtbA zZ)gB6I)n9VX6?uq{gZ<4JE_H-fG1aTzLx;Fv6znA!40mkr(4}jfNFkHUW9mjqjKEy zM{&`ub@u+G9wqe;sDD8H1L_}8|KLva4_Z+8nMuA$K7hFZ%gn|b_P`Eun>NQLTWed9Y|6bRT;R+x2w*oI+f~oqEwePSY=UZ zKq1(~B7IYA8{kC|tY?2nz3t^s;fq$PW_EGQTD{AVZq(}5E5qRBN3}W{<~t1jR>k^8 zY1OS{-`s4YaF;sC%Hu(5b;vM~ttk=$oPEoyRZau|Y6z&^ex=s0h*~Yi5h_?u+ ztylkcHM|#AFm|hJ_|s`T?x)8;J;=FsIBs;cee+n(-O2i=&6$1f%1MBh-D%mKmffkA zr&|6_)bcLz)+%RUSFbB=pNS>}EW0z#h0nHiDgL3C-FJ8bE^GQOL%UJa3#lyJ{2bNv z=W6;LPQq5T{l@;g)%Kg4ZPfOLh2(TDO)CP}a!!G`qm^s$FUK-{w1sWCD8KQg+tl`# zZG6jWd(m6Wf-Q@C4GSuDtBd>NVaN}|aR7%K$*xOZq%X(P|6$S5`uI4`74^rFDtRL2 z&y@cwrw=8DqIy|x1CVfx87x_2d#kfHtL!`EP{h3Lyvat59)xl=1)|ACNXTn*Zjd>Y8Zc&9 zbPl4vw57cEqc2=lc^fqJO@hxw8{V?ooFgiBcA0Nkn?s`D_|jtMR=MRY#SGzX=pTpJ zKZaG#^D?=K^8C_6ITx6>c9>MIQ@Kv%dVEu0gO#E3rr20Yo;tY$$x}MBQrcvjmbF-T z*M>FDIu0?JYY{#Lm96|k8eo3PBXC*1cNyFD@?AM=!0vUj)|CH#=KJDjUR}U0KZFu+ z$twTC39@U&#`vI1A#!%K*N4fje?g}KIoQ~0qo|Lf)u~mgu^|BsbJxNMGuS4DV31Cx zyvPdQ)qzxV=>@r5y}hEYzh>LpRoXMxTTFp1N_)wA4DCavmqeUfRoX96=z`O9pyv>UJ zU{0u58_wI9TE$FnF(0-l?>S_zm_}HhSZs8w%KK~J)t9X7FFlln;PpIW9hV8M+S95% zt=iM7{Vy-uA9bIKdswO6iQ?WwX1LC6;{u0PkHN3TbCe-5x+t^EhM9U}`@@lJc76OU z>-#R_x>4V2BO!rhy4IMqVm~}Ng+brO(l`vTXGy=879d?p{L4=7)z$r_TWu8fEtf)y z?4cv)2CMa4HBp+-NX8kD9@aKRbSvyH`_3*k{WaU(vekOsTU`FzmGj;St!`s6zl3C$ zX%xO>HGlcBoLi?L{VUno=a5FIU1rbxS5(kbK~Dw!$@pM;TJs3+L_u%0je$png+zlK zT3HKvok9~Kid8xpZ&>?BEa*Ss3An83yA17SO%E15XRLNezCcaC_?1_evC9wL+?xGn zNpyV~(xt4w^dxs0kb{lG+FY@h2%Z(84V6p}yv$4WqpTv>sE}iY;0QTuhOL(QFE_5g z^jN!8_SbEE>q`5@EZDBJzr`!{%M)5EA&muZUI(X( z+S0G)+}EutzAG5>7hS2hl1-y}i;H}_8vWKTzb~5~Z~LRk`TV-GShCgW`*H>QWe0W9 zy^BI+;TuMwva||6q*ZuYg}+;?@VdmHV#{HZhu9kQ|B)x_oNKa7ZIad`%hMmRZvUj` z-?D`7GPoNhJZSUISzTEdUtk@6@jI_BV3!~I^6T)QbQ(sAgc%p|z+g5bv8f*VSr z_F;YOFiU56V2U<26$ypB4-jZZoa zw-#;`VVEZ%6Jk^YB7ffsfF!W!~6@T4~08arni`mo#BQ%)KCh0X5{Tw z3SW+|sk^aX`95Pr(Vm1sI4URLee}|BRC>Sn2YLAWxHl-116)=8@fcUl^26iF_@fVK zc*fh{VgqRwa@-RG<4h z+#tA7Vdovv7%;94EXGmq*b*QbR;-CFLUU0FfpVH8TxzO@mEcBt-5((DveRdWPD;M$LS4Ow>vKGf&nICrMHzUu@kJZep40VkLvqA@&8Fiv za09-hp2PFWFE+ZB#zX`+P|$x<;`9iY$9%oGUNd2u&mjnc8}j|h+Y@*C^ZS>-J^Ap{ z_s^!k96i8*b=F^;l*#L19*;^}Mg`Gw6`!5{UgvQ*J?+=AW-2lZpw*zSTVp;s6ppc! zhKUyL3bD0u#_ODYoFvWE-FVA?9sg`T{Lp{(gy6;-giQMxNdJJnM%Zr<;{eaVs@B$ zC{6KzH4%&I+L~B=h@vWw2yUDqh83i^pi!}U@AJbAu6m2ydKMp4LO(eMS?&Nqp45z)}=;+}0@qu7W zAK;&PfY=$e>8Ss<3iJ|$Pe|1RNf!Us_1p6w-1~Wo=hW*y zUcM5=t$!nRHwbRrF}T54WJU3|X^n<=BNMs_0soOPdJ~KhS$a$Zf*ZTQjV^<`4maS0 zkEI@?iA;5W;YOWnt+5P910DxTpwAI};1%tsoOsJ~+|n?$L+!XhC)%b%v*6dDp8q3h zH|(Kyy~T9g0&XynskordMmd6g!0Gs)4RO>@gX2?wfUD;%s;1HS;QFht+mZq z!mKsa)NvH+$@nM*Iz962!#6Mc`upD=$VcxcFW*sTV-}`&26FEZk;-TrqK1bgc%-FK zHW%2$OUT5HLaZ87I;%f)`oek**XjAUBvN%5+;yk{UoGnxcNR02bQ|}xvk|<)iWfrH z!0HCxFbF@vE2h!Gge;K1VG_y2KjuQMx))!vvtbXF=q;w>Hc*50q!&oUzLlX6mrbb) zq&~}X;sErt6&Y-NkSv^rRdHy{LF1xah>b(~ceOfTEHIXWY!8+_MS>fo+aMwpbv6iY zbXW-44Wiv4xDk2I-o(^|n5vXb+r|r+VTw|u4z097SH&uIHg@T3bQ#=rxS2*P{Xs=_TOhhW`Zd^>U zTeQyzZXE7AcuzsPks6UTG+IU2CX^@}lSEc6FRg(;2EmP|VHdd3WpLNwhGbS4E?gz< z6Wq9;a6`&A7a{ASaA`rGf)!lAG;D;%sV~JSAuG3+;Kq%^4bFOt>9_^l5Fk<^5y(hR zWGW(4kt-F+#7Vc&6|@nVYI~r2hq@a~BxP0P;B_EwLq&;&R-QwXqjZI%C<>xd$f>)r z3*6{3xa)9(Yxoj*$7)ZB;Kn_L8(L|VfiJvJm~?0$Hlbn;r>(a(#Ux80xbcy()Qym- z%%Rr3#dO>PZa}x;nc&ttf*S-k2yPJEAhES4?w00NY#KY-20dj@fQ&UAd|pC zYiX_L@QshP@*%jf3*3nO`oaAeZbrZR`z_7>BzGu!}1VLe`ZB8s{jiQopo4T2j4HwbPJ z+yLCb(rWS2goZi9iYsk+?Qp4WU8u|#$bpv_CGe0mQQ{7K8 zmCLLRstpYU#W2B5$lP#2u%^W%MEYNwRjFu`;Kq%^4aR!&>9_^j;FU||s#u(w8-z9p zZ4lZZv_WWt&<4;(=7yV^Xso;gi##b5J{f-!2;T6~X_-UKHYP6BE?lZEgS(D40Qe9M z=557zgf{Lc+6c;J?}KWLS1=Ow9KLY2PZUCY% zVH`+U1UCq75ZoZRL2!fM2Eh%$jT8k6pTwIWEV7Lm%S|*kHpOWHOBR^p`kFOIaAOy^ z(PePg;f7?wX`?tP#qTedinYbaEM;S(fnKV{Zn!KHd~mZ*R-}?O#ctdJ>4vVfsKs>b z3^(+l2Hb$=-w01|gWv|i4T2j4HwbPJ+^AeC?py(}qcO@>kDOE*p9^bB)Ikc<#@3Tk zd}l6IhrwNk8(hICOgmM3O4QxBpWTh9oQpQ8M(PYMRjJ(#kJL19sB{rVI?V}g+zPnC zRc|pJw}2bf2Ukj{{i(Y_(v3iHgWv|i4T2j4Hvl(GG0~{38;3Ah_~1HZ!QvPtDxOrT(naC|LnbObK6F?HTwNl-T%OH-E(K=xdGYl-Oy91du+!}d=e*)?PQ#s zIpu0J8Zr`!WcXrRp2~lJR)Zi#5u^x8vP3DJbDW7u00bK7#$J1`wKmB~REl2~ZnPQP zb+}=e;7F(v9pT2k^}$UupQ{4WaK*BK@ufv`H$3T;xgSi+>1ogPZFw^34YS|8o6bKiNucDoH&BS%re3 z3(AD{RYRxItjw`BC4}>*PoJi#e)>p141|ikPGI7Y5yNq26F+`ip2Vi&v8j0OCvIGh zrsZ&e2LlgOCByj2PVKY#6K8~$MkWP%i-FgnQ?wpSvm`}+oqJC$x4|PPYBw&U-GCeB z&cR)W8%m{E11OD6#qY0nL*gHm8iPWj0^E?=CRS>XPMb{TUOPP(OvUQPtyedgg2_}h z9b3Z<5qfoKnNmt(+l>e}BHV~@Bf^bItZu~W2JnXwLJ1|&VT_`)xJXl;WQ@^7QIi%j zD=0Lq5pG=42e-}OuEPyU83<2F7qeCLwmP7p4FYNo{UmiXB&dSs2_@$oq z2KK+kgWq0_^$&xo{w?FDC+|17} z8xd|qxDnw-gc}iV1Tq!RvRoO3RGUW24MAL*WL!bSY6wNkKe#}~>c;G{+Ko1YyAC%P zL3c$4?l7t9iv8V8k`p_b`f+91%GChl4_eu7K z8!>dYUw-oW&$d4c*}=W`|8oU7RN3kr9;q7DLwHVS9wo(0C)N`DHTPaJn@OXhRQv$6 z8~jL+Zap3Mfg3QwC5$Q+;YNfT5pG1d5#dIJ8xd{kadBpe;6Ww|`wuT!OMj@%7l9))QihVbt5pHy*ic;~Y-H2o=ykK*k zX`L4?VVc-Pu)@O<7i22wlySLc86$zk8_86cfg5cGcMWbJ>CFgo^*W@tBiy*3aKkc_ z8MKa19Lz!zG+F`N$Q<BcU_ zO_XjtAR;3gq7`&H&5?Ui6hgMl`-HFprb=0%GZ9j6b~Gw;>w^7Kcs2UBb1e%~&^3h* z*2E+qPx_Og9d(D}t-+uf0r#Hn9vivxBPQEQe zU*xri;9_I1xj3#2N%vObxW?i4xF-BY8BEB!f6PtD{_~x;{pmXg$EN=2q%t0Bo_@>Y z&ql!ns>R`F(-Ip#e)}_f{_UgR-jP>tj^QZw^`mEx9tJtq`^wvlc1g&@x#4*1`;`W; zB4i*&;YwMS81D#hLKZB~OqxiQ>9pXEW;Ub(cNkN_9tVL=?tn2AXdP67)=`)uL8m{K z7YhFWSvX2W8<#;FZ3cH8ZD@$Zd1^>#Ui)idIZ0En;!w8j2hJaxnX7kKqA&#+#&Tyh&QU zA#J~3y)j$7dEGlZ82J7Kuiqcw-#M4o<0V@;j0V=ForN$YgfEk$Uhl*Xa0Vwh2RM?B zefL8-$cG;$-GQH0fMF62wAgquot)dCO)L{(M}!^G5BJRDH^L6AIurNKgE8K=Fm#7t zN0Fu;%qg2V@XA5&paRa#4o;ocGbwWTGiOy!0SJEjJrL+B5B|v@f9e02fsqhGgW`tL(6rE!q8EpVI)l-{mmN~`x^uR>~*UYh}K zKo1Cs2@yK-s&=WyTipsgScfU)kT5aINoEs{(gp~PDd2~Z!2E!o8HawH;uEj|>(=vSKWva{%8_k}*x(wl!EQZO^$xfcF8Io4vtvx+ zhzX*L)V4+yEfd1A6cKx5Y%X`z^{Eyai?vEh%O~#+VSuxi+>v%wFC6N8pu_fOwJg_?qIaDmbePMBr^TZSkeK7I21QSmr zN`r=&DV;fWuvlO;4i%DV>5+W>_k%eycs$I5)_tjWK-6C$hUb1VK?WCJ{p(*3Ue+$A z9US3(8Qf9J!EvXYbjm^a=oqkV(#3WmsoVq{E5~jo4i*}W>xUa$ckAic8g8&7k#-f~ zCXHa@8o)+7)E@yym9sq0^q6C)UbL-^+^5)-Z(~!#$bGtT?o;kko(jmhm39K$C-0Ip zFdj8GLU~4W4Oi{ReL5%XZuJga6d~FSa07HG0;z@3(YkgQ=xB8-4z>u9!h zzYxB8@zd*&g}rO^t2Xy`9r*|%xX_UGV2Gmf<09opyJ+Z8OD>rMx`p`>8s!)mJkXpa zHbdHhculhmf9EXBlDmd{9*;e^mO(5w@#FWU^Q$XEW(_N#Duq~$pjk;}*_|_+$U-^c zGvO3>pP|}vc212-P5o8p@87(B{i5@#DiU=<_2{Sri>rTxlc}hb7kFQ>BSyOQoZSN& zp>MfiT5}nzGS>l(cGq4n4~rrNEH)CX89Gso9t=>{NJ!_4d<`kT!#fNy+zc;-x8+Hs zfJF+}4mEnA1sLcQNnw>i7Ls|AWE!qKO5_lwQ>t7MOa-DE{W5CwHiNs4NqCyV42h^P z_ai2`2$Sp%Lk<;>6jU=V1>_*eIbhO3kd+l^UJf9SOoYf-Q857T8Xj4pY26nJ7)`tN zbleYaq=YlgX(WMtCK6b)i_hgD#}84Bj*v0JjtD!@H2Ucy{V>7~Fp^T?z>x^~GX|li z)W(1!L7CKnptJ_cS}H@L^5iRceN}afRMOnR@G4171|nDr!@HChCZT9SzzkqSgdR|$rAL626q0;71CYIIj%>J^G6-T>(fAutW8 zrU|-VGr@9n{jj0E&OySDra0tGaK6D-;_OSrhu5q|2R4|`mp!3@qFTisBI7FH#;q<{geKshD&&`ncMR=6!T~Q>u})fzPw#y>p3YVtn3eq-2*5bc;DSn^vxdhTWY-?P1el9O zf!W7pE?pY??ae9|-S@UXTQksYJgiG)MSv}{4Aq0RmK>YzU^_uI5#4%9?g2fZ!sbS6 znaT(~t^s=NRx;tfU$Tr4VMl}=5q3n_5n%`3kvGxaTd|ZYPZPpXJrITGNebFh;?OQU zQ(iMcEzV>ked(`SLfHBKTX2Wc7K7V>99&C7If>k%3v&3q-_0c1c^mNDE)ddT!42&k zk%bfx5n<+uB13;YEwY45mGjKQ?#+kp?pG){oPnLI)E*i~L0tFO>Zw6^x1Nss!3`>f zK~?E4!Hq?Y>VDFbBCd$IBI1gODt7EOux>rA_QM2{FotTpig=V?&@@0r0 zqRCP;S&C|gsAj+{h>+oCAcIJ~lfs261cjPGQWuiqhf|8!siKw; ze-p)g!kj^#*IIN@mIB=`QkGNVI0r()70vr(+=q4-jaTpjy|lTv>*yu)_>)r6*zRIi zC1ewDY}^VwXop!1DKh8MEXzQ-O5yL6X_lBY1Nll7lre@>y1t9mkh9hj8`@nksS2K> z_@kjT!OEa~Xz`IIlzC<;74Vz0fe_UceJr_E8%To7@4}v&cvolV)PQ@}(C&gB3Dd3T z>>kjFk}ieZ22C|0G>YsjbD^1K535*dr-;gEWg8_)Wg9ifiuI5D$IV zQ_PUyn0PtDeuP935=BV#=-~|sylHMc&jo@531XHIJWs5E6K3ut9DgmC={&Z(SgWG! zqy;T7Nt?lKViE+TVGYF!8Y?OnRaAD~hJ(c;$|zJ2UU(&~+Pe0TY!ag@JUC8mNK^>l0vH|UW}yHabz$(<5|EXs6;%g!PJuU=C1 z5z8&HyLjv_&Lg&n*y6^pg&>4cg}Ov43~DZ!O;MaccX6pDS28nBk|;P|!xmc-?Q@1! zn*nX$32jno3=0YFh$k+>6B~#ADi|V+_)eAmx{5r+ILpAllHF%8`qgQH>ILM*@PEdH z${3uW6+~4`GEG%+MYOO8{q{fG12m69(5}1nGv7LBXGa9)QPfDyVvXQBT4HaUOuZFA z=_WqL^GChj#J!7Vu(4J!MqFxhmZerJWMDONv9S@w!e`M9PkQT}y+lTUBpYs3kurFT?%N7)A6_&4Anm2s5`;Y7j+n(_*ff}=#G zOBm=$zK{ytvZKGW3WVifQ*E_R;Pzy z+&~2att}+uB&r#fEq7uCBC4bx5Rnn^GG$`&9R8Dv+9X4ikq}m-o@Ry4M0o4j(Wpez zt-$XIsk5k(?hUiwyaRIw{cy{o^pW}0kjkGdJIqGr6XwipT4MG*e)}_f{_UgR-jP>t zj{W%U*N>jv81u=hf&s@yN1S%+X|*3FKnWsf)$5%mZd{J0 zXq{LoR-6{X3vUvhUmdUOxBEI zFV23)>cQ)u-V{H`^5ft+`L+zY%e}@g>ZWhJdXU+yV2Y%PqPa^%DvQLByZ~?zfpP;o z_B5nDWA$LAda#oYvp@}P26r7bXfy|;5==3SdPEKPla<5`EtDoUQE9Hx|G=Rs3J;wS ze8wH4oOv0{3a)@FA}cB6-{0H*%p;%)Q)ykK(yjtQb+?|5d!P+Yx`Lv+4P~(cF)rPp zKT0DjDYB9xuINNuaoTfzTb@jMp&WFMXXT!xEXA(_bb(s!!jS zZ@-PWB8=H=6pG2^$=D9Mf6O83f4=j!KYi!y)b>v&(=JF^c-!4RD@iJ@jaO)ALq#xU zDuUCh0P$L;KKE%}WP;;FBd%D%6&JFS+6-s|OMpEgC@~RB+*MW*uz<`mz;ojv6%q#3 zJgdlE!HtjK&zWe2Jh^C&s{hEYIO2kmZ70!G_Y(VTcxXmSv-@YHa7wV5GDpm&ex6u{|4d?-4583{=RqbD}7K4ZMT~lL?)q z8Hk%4X;9--j#fyq_4683*!lij(308=?mBExAYCiiSA}eIgbf$LhMl(oBY0_H!-`Q* zxDo55mffm>v*@iUcgSS{3@-A-@d8{xhMJv)Dz@sko?D6jKP;$*t^h2~e!Z42T=5$I zsv-yiVf1`D?g2L#y2u$7WDt>-be*)MSb~Uc;;<~PG2J7sh;8D!7t2MW+~LOM4#I0o zWMLt4u%IQe!X#O4(u9j5SB1$KtrVS+mb8PGv=m0S8PEonAZXRV6^U5lGPI;aC_xk{ z^EroX0di;vqjgRa1NWX_mV`E9jKORmcsgAHDZ~=Qz9k4WiLR&B9+-fpT@{=nqghfk zP&KeRK+|^Zqf{YE6{1vO8l?)Amf&)@_AW^kjHEfUc~US`7z76D-$b0_Dge7cx{~V zJQ}EOD%yNT165#xdRpy)2|}G9HEBxeU8)moC@tN8TG9_AKc2hIe(_+gtE_BiXE~?} z;k`XM>h(_Sz#jV(INC!TIQHESN^sf>Fo6-{LbFy}iy8$HZ(@K?fHL#Zy~qDxbS zKYE;_}(KophW9E2_A6BY~AHOf1UtJOMOfjLry!0xp zaVZ+;nT%%%Gs@>i;<6-0J6(i zivRVm2QU3(I2$|PLFelCSA)fy9! zBbjzJk&@r37IPb5=3$_N-MImvJ7@d-svmEQ_py6t2Ls;^DXLf@8DbQo&r|eyiat*f zE#NhI13pi_u$npa&Smg@O$7SqCPrsjk{1Q&rMX5bZEH`7NB+1REUFb7qOR)u&bTgT zRPTkUKOT-x&m|%AlX6f_rlB_eKKxW89C~yTR&oPmSRS#XR3 zSAlCPjf&NYeFPkB2DBOEW26;mBOw4nAt-jc-lyC3AqY6QgmJ7gGC^V+H3?;4|HK?k zv@y);TzN}kx9d&e{jw_ZSujC8ts*86!V7N_o>La&MOfqoXtyaG%7`VzSzdfj+UOPV zK&(N;8U#qtqWf#BaE+9FORnc~0#6fqd* zB6E45q1`f5X+z?E=A1`^$)Ia!rtX(teuhAub?fK7b)a6+h+r;3MRZ@fyuNEw@;*un zqO<@Dz~yM!F;I`vf+#I`^zb2O&<&7%lsMf?dM$C9uz9^8O-*&c>m~sNHtJPSXswt8g+#7dR+(9eOJw zaz_`392#}>bdc0*oaQYD>`(!~v1VHON;5nU--C!3>+Ld$et)C|%mirxrqw=>AT((} z&vp{k#@E^>I`VlUB*6L?Apw?Jn=|zC(P*v(;aLLHXqBLoC`mkZaCZ1+!!SAhNadP2xF)~1f%jIv6)H}mZybcDS8;C3eRVR1Un$X(vY>yfHolk zv>I@}jcVgv`TI?f;1Kvc8Oyn~SmB|#!7|Sw>##(LBsD~*E=LCk8S?tHCg5o|cu%2DQ17&KQ>*OT+8C2zaQ8c{M^Rnr@6-{ zY@V!}LK1{`;ZF7YvccbhYK*VI=ZXCO$nTF_p2+2CwTxaCbJh=73%7&IVcI+7K2*3= z<<#heDp%R2h{PJ=5|>e%d2Ul~4$E=%0NjTfq>@E>pv_=5uz&&`L~#=vw(Y_KjbTUN zb=#$ZlyYiSMo|zjkjH3+|B|rrLe59ZOpv0;Vq*r}rv_i>bK(GnkiMEyd*A>;x{~u$ zN)~ZIY~UQ5wb{|Adeah-g&u}7F?rznDr%D~^BxY(1=hH%(3uGN!fJEt#z3#3&h6j& zk0bmyQ_PU?!R6wpNEeE=fmj>3vD$zUUO}eF63xLBLiYuT6myUrazU)5M5FO+$i2qe zz>eC$($J^PfUe^K3I=#80SGYCkuG!>=|UXR3=4fml3R%e&VT@+SzD2C&1B&PEz&H! zGGlGv25SS9ck5}j2PR-}A{B^VNW=t@FBBU%&x8CB;YUm`L*nUO*#tHxr5g{chCS%m z)hlyI{K~WLWy9<@k0M|7X;D^=yOA$69ifrpWFv!aef;KS)(V%#`T!oj8;}rWoE9GR zXS65c;0r-`irl6`TQ<;#4CKB=?jm1kAOD{=1KPj@=me*^PNUv;SB>CM`9i{ZZVHZ` z1R_J7KvIhS9{8^!&kJ6N(A_y=f`E8$5)&|Bf@)grfeAS2GBj)Mm%sccz|l=gO&w! zX9GN7ARREoAj9cFe$hgwrfRbkYXmDbg2wx9!53;Xm<=pIm=>I{G(<}n=I8~w%?q?K z>=?1z<_q!6x{MK@@FIBsWDfG1T(CrGm#1h4?!Ae8q3~qiBo07GKc7;2-~iMHI9fG} z*ts~`3z=9Oh_wO4pwCXmcF_4T)&_btbPYWFbJY&_Bqg7|dQ-}8etpQFe4M`d_@4eU z`B8oPzI^-b>!02fKgjaq;5qrW4D^RJ(%5-)9BTv963^V@w?DJz-#+^79eMTU*pJ_S z{pi_^@r6(T;E)L92?_z=3mL>QY3B1p<~oy((L&3>YL8f81q*CSP%rsHZ3c7=56DzY z0n(O?e4)$K1_C$r)-i!2674iRCXa;#2hDF`9)S{DN(utE8XDMOIL*ixx+zRR(<7<7 z^|aap6HwBn6w9EFTH?qTikKi`f`|!Zg98;Y!3y2!<4J!qw4?5DeBApm=`oa*d-(r# zY;%Y7#46XIGD!3W2=oS#=R8Rrnug^-2F4VmU^GOk5fkjd1WSLRHUrwg1n4xyxJiR6 zWvmhGt06c9e<78L!dPd}86fkJ-33EAknIx3z_=q?@u(r#+=t+E>52m;P~Cc3?S}~% zmz)tD`9hH|B(?8hO)l*ep&^x&L0L<9NJ0#0{6F^3p3W5Oh!FiV6fGVNlGU`;>JAg(OE)&?%Z0~?3_ z05E}q@;B#;V){=r6~N}zS(6v+fv!sQ~g-;R8t8^i>HcI#=i4<;a8E~#QH_9MGi zzEEsY95DeFz_nsYORhz%55)RFtPk9nhJaY^O<_rbegn`DaDv<><$0p1&Qs@XWHDq;d5yznOBImOdy(2?GtmX)LyMoN|tXL-?El-iER!`W!kD=x1qZWi*Q zzfklSig+M&XNZ2I(Qh zgVT@_Fi&^hDV_P$YZ384|G8bk1C96HqCU`OFxRnwHd3Z6RncE)7Zzv?JD$r$5cB$U z1ed;lKX`BZvtZY^v!&~%*mU}&6V}Tz=emw8i{KbPg!6r;`I}84UA=x~E zvhTzW?6E(A?>k)glUkZ+gJ_0`BFn1=tA|q`2rq({{*RfTK;!jqyeCS$3+fN5 z5KZQ;V6f~-nDFSRNT~svoBD*IQ4}5pLp~mpfl6(L7dLm`m$az-!tOofx#xOQ613T5jTULI{q9a9nEn87SfsNvok>pAL> zxVd)}vS>{hgMd6qQ%yoj1zqW~jKiTJqq-1G+bq9}kVSUudAA>CLDF5b*x~tF6&P1h zWk<*oAxnfT5wb+ca&wRcu9B$?d~xMmiYz9i7?vrS$TU@kLW4osR><=0kE+NHl+D=>L`#=nI{tltRyq*YX`=WNE9NHAwPO zo+2UY0DLm;RYKF;5|_f5$^>Qf-7If3UbhQ2R-60S#0W~mu_leBja?X_G3rn8kQzK%hr> zlZsHW!4(;;(*zU<4w5vw1ITbihl^P*`Qlxmmo|5_iC)l}7rnSbuKosyS@ji$A6rjR zpV8768zG)pz=MkW{`qO>m%IVEoW+T57rAdecB{c?28JQrTC%OG@iA0DRP9N^q(ZcB z5cg-!LME0`w3?JkWo;W{Y(3XyG`jotHP86!$`VL2QtMIy0l$WnpTjT7=t7|;n>$a1 z$Skq*n=yjW%Rd_CAc8*l_rL!2AV?zdKS%g;VGxV&zrdd|uQ$HRGxv2X*QV`b-R4C7 z)E?KT`p@3Ks(&72EVtGR2hI1}K;hdkmiXj-Il<=T;26cI>0)4C&7AW-_hIb9ATH*_*R$nt!hHd49DzkSq%`ni zfGa~LaX&L{n9#yYMR~nr zo;!N^yEYn^?{QC`y{J`|VchWtjof*cbY(r#XIu3b56|;TdRcG&)hT9N>FTYa*Bba~ z_$u7M<crUQ^pMU;O*ft+bUis-1)1!K7!!=hQjnQ0e z{v21E+0h6}*!-)o_1afu!2bi=|7v(*%RykoznT?A`7xXk{>=XPNI&GZ{KNj{Kic1Z zfB*4>4#%IS#C5Ze-Nnvb*B{Pu{7P_Iz+Tm*`GL*)xVuk>;}3S6;~c{=7gvc5L;B&B zcQXhGPpcIye1F}yZHJRxeX|y?kaMSl+l4H|dM-m!_yqV;tyCBLm$2^qdEXB%9Ih5{4JDpIx@DH~&}-%qHAK_^L!Ype#?DO0 z)JG@w=)``=PV5=9fK{a&c3UW~5U;@&?Tv0s^B+y1Gu3MbHb0^pPG3) z^sqI;Yc&{)^1)eP*sPg*RK_zn>Ls9#gjy*``-U-*s7zC*jhCK;-U`b?`?@*N8FJft zuFGh2_w8$*@io-Ug)y)r$`Y5uU^SG;lTIh^8%KJ!4nC^+Dq2V2`VU|>UEuE zz5VJ#XE(U24Q{yLWHg~D(XeLxU%))ayYj;Uo$6{tC{bA zM?Y81JXD6ymyl!4977Uo<}JIwU5ZB(Yv#a{F!x>a@TJ{4c8f`{>vuul9s*rRWeZVR z6pp-$?FeHMEVd(TWJ1rANn+{z)=TGLlY4k$nS>aQ&b0+HVTJ^bv5Gb61;*FiDMu??Fh%AnEy;U48FmBCMTB*4D@>jQq~5U^A`MOoZK4@ks6c zot;TN_DjrM%!j^ALS<7L;Q~7Oeai*Z9QeUqXOeFth2M%X8|~IB?S8QJfQ{LK3<`{~6uFK0g;Kg0`fjVf^-Agr>@=gr_IV_*2OAHYllDWTDa z5S&63QwD=9G}|JO2+PFeISRTecs6C;Cj|9ePqRX2A_OIJ9O-739$zg*{Lmbdm`|6JDSN4T__Ri_o!UBYER+aqC~5 zz|rQeHgGF3DV3Bk-0p~5w?|?ZW$hz@1HnLh_6JHFXSgslr;51sa{YMgV(9hjz9Vk^ z43Yx^L-A^*-4C}OuIAukvB#mbOkG#UN1Z{`8APZWq3Uz;Z5d>(7iLgmiS^b?tQNC#{$rf%B_1G1C{R3maXJjD-0l}t^ye%AMZ2+_;i z`QvMF7hJ~)l}aMgF?+pYq+3Ycs?Pvs=ds8O?~v3!UV~ zLf=P0%uETImBQpzK++~0w|C6Po2JlFL$e4A?_gppm4@^UKHizMB+rbcN(PnnUDYIS zeCaMcyxZK(CR)H4Ny0)yrdZCpxSX|d@G))+NOPP1-41itDY(|_%;LG%fc{q7JkiQS zmoJ?tSkU4x!N%RwBBRir7cePDUPHp6Ulb%kmw`02Cvp-JS7l9ryt}o?8*gJRvpg6b z@Z@guf(;x4DH_r;h7|Okz*3aCy^Bj|>@|eakYR_)Q)B4_= zZMT_q4D+$+U(U2UNVEGxn?JIB3zFdYk#)cOL0;RRzZeetXWsL-u(qt8+Bxs*euhR5 zgma>0FKeFjs!jF?7qQ$Jmpiv9Up?}(K{lKX^6%~R<*e@y|ANc&=i7Vr>YHR^KCrsl z=*te@2*eadpkqdA75Xj^;w&$Ei?}Ch%su!#*V3I38O=H#j~PvO(<1YYFYuVrj2X@7 zvKWc_k^NAHb~)WYW_aztEC2JIxBclmw0^P&mC^L*yv$*G1t|`Z=slh}^!uV&BB{*4 zg(y617?CBoV?_PGa#pj=9c^SaHF89X(7;!US3r%WGzUSQn&z#wBBjrYE@4~glmKT z@phj#|E~6c@B?PNa1=rdXEddD1Qb{%iv)h#Mrco&)E;R5-w*6;`ffNbKUHl@gPzK| z(7^N}P1c$t;^LigYc>OG=d&q$iLQn*cM)?JF?SJj7cqBnCvq1=!Cb&{G*Iva1g5~t zGDNvVW}q->Z@f>p_LaMp4iROrLAgpJ=1cLA+r9f1q^LH7+Dsn=;ut5vUoEB&*3fUe z;m61=%7d+GQRj~w#(uk?;=+>(anF+JRK4GVUO^h zrQMWjDG5E~@E$sdsec{1nopMZ?&gE~)w9?X%2(e{!&%0NK1TF0qK^@MjOgz~M9;XR zDuo8Y$sD#}T%bdg;dzqgF3Y4VbV@5v!1sPIT@N|_3K4z#7vCbBZ!@CJaGr|P7dm34_G6DLS)AkUSbpWOtwx}?xS=uM z>=)dd0D4n?$O-sW7UHD0uFShVp3V95S_$%3m6PkIyH!XSF+jus5d%aF5HY}=zyPU& zEmE43M2j?sg{n3%5z5kpksL&V-1to2F3ZMG3uMyfhBuK31EYk9ND^8_Cf9p^_5v;Ee|jx8YX@L1K12h|WL7Gsz&J0o zK}~|dbjM`eC5~dX;K6vu?`gVp;R);mY}y9jH^XC8y-(m=2$!Bf5g25}`bYCVg7d8ms-oEH zLT~=n?uPj9$ysm1aAfRl%OU>j7xw+}FOMF5XXWX1{8CSQ1N&d&!Edj|`iH?(|CaI7 z*jTZZm+f&0TF1bigvIn((9UCs%aMi47Cul4>x}5qRN;>dH+W^k&X04E{jNK@-fdx+ z{pKNM%E2ayjTK|Jio4*~z_k_Dc!(U*6b`gnDlnt~Omv|NpXMwRG|Y~T<(9*3tQg_e z%4>XKG?$PC+-h^vn{X>|eYl85wGnRJS-7JS9cpwQz?e&kot3I%ylSyYu4C zY8E$xFFRaO2zuFr;U>JrwdGzXlreDbvy{5b1AN_+s!)X?C%rbeu>n2^5^-9S2tM`& zA9#G)Ye&vyg0W`{UB>xc8WkFpW0+Q10iibmn-kA9rfZfbxs+6cZzhBbPxu~mvvWUq z`HIXuGQC0thTD|WFk`Jt;dVp?u2Bn<BJKEZ_|a$%@ZUVC3ouz5K+eue%B zi{DzR_3J$sQ{?N}a?q`DEaSu?6ULDk%TQd)QoL;_`ki z=B#3h!MbFljm-@-zBC>=tg#+L=IqwX$q%);!^C|2*Fs0~6qGG>15Q z5ErN1`|eRV^>1Fke(@??*#FcPf*bl~guC?L+t=9jRvHJq%I@10BwWgEPq5~#Ti%ab zm^No;sx7Cz z_7rY!Hr6Ef*P1`L^GCIJM0aX>@)9mp}>Q_qP9R0N1kNAU~UmgV{;u$3GO+t*bs}i-|bz zY_@niE$`x?-lm>lW3g)XGpoKi+vTjY8=}FxNpvLLI;RzDfL?f$ z@SL(;ozC|2t2}!aw?}}n1{iCAu?84xfUyR6Cu)GoTGY%Gx?y^&k(EW7*-Azd&!rb= zOwBwC^@KY{SNu!X0o&Zl^*W$PQvyQ14qW?a484zlV_u3H&c@E~_K-UlIEA6!?E`&& zmpfkv9M82@*;&yM@!drDVq? z3mtWuT(gm$e{~3TQd{*^?vqa3@-!a$=xjOdbJ@Rs z_H;urwi>9#?rS4e<`?8v!(H2%LdBDJcaw`DQ-cdwO?)Aphz~E7b!<+;jma_`UgA&q z?PkghAF}$(wZz-D^W2&`x(!k|fnk3Y+}yi-P;*_sJzjY8Tvpz}n~Ui&MHEv+F+~(p zL@`BlCsIU$!BEG89L~W#M2ZOiGM34NdPl5QTo}1k(RwQeqC08gM!SM|YC;orlt_vK zSHva$>bYYg_r{qFDE;th;+J^&E+ngM?rI}j1ala0Ct}}$$tr975;tM5&l1lpnurO{U<;;cfCDG@>9(wbDhIiRgU(k)O3nnSiT`mRrQ6UT#D?>uAZ(x@^} zv|+G@evL4+l|WX9tiM2${t z@K-2&hH8bjN-MK~s^`;hKO@U?M!9s|gguKt@&)n!?7QxqgWq-i;VieKQP+NgdrH?0Pq4?I zRR-lkmVe`!2)k{jbUZ`@zR`4Z1HR>Vn0}L47TEr?2~wF4K)9Km_tR>mv#-Uuioj83 z{<_%%z%$b2Qb>8olJ0?@ei)8_-_mLE=DYQ6KA)9^WNCO2TX0WDM-jY7@E*Z?1n+kO zyt`D<%)x)k<_`VF3X&z(NRki+bI&3#gfhX=b0fdwFu}X$j8laU3q>A0N;$O&lD&ff&ouCUZreSWWYSdux~oTIoH2`^F#M2fSZ&fGYra7&bWV3zA4K z!B2BuBpGu)k-1LM*T`z4gVSeg0KXc_)*$Q_VEg95+7fZsr@0BRb87|llqW8Ouv!Qm z)_Dmx08?=1EHNa_&I9%fk>keGs(=2*kiHLg%YgO-OBR-Q4a~10d6$Y%TBK0Er)hmk z6Ypl@a(a4Rhr7Z}v4Hj;-cBa(?#P|)ox7sm`srWK6VPM^v`ow7e&WXEXhp#GFpO^p zO=3FJu`PGBeH`uqjs`^Am<8l}tv2a)zZdBQxavVHq zmnyzzgGyY3Es&cDxu3=Z`1>sLZ>Rlm{BVFnUvD-(g=^PvppRlW%fyb#VDRq8oxfwy z|8axQCTb&Cgpnex?(EpRDXvv{%Lf;Hxs#6V_d7p7pLEJW=jZRAysmG@+WNX!_Ab4;os zXIZVcYYXwMt+|V5Y~}ghw9GCxJNGDti&>udSum?4R@Pks!^VX*!~{RgruQf)Si72o zdmgLzS!bc*-y9YIc*O|e94^CM-44vEA$=C?BktAHyyc4S>Jz=VoaOp;P93pW?mlC% zyZDJ63-8)_o?CybCvABFs|zsMoKLv$xvgKIYb(~lXB0Mqvd!0WaL?*88dzU|mpAo5 zpUTC10lf9EcELv3#62Hp@@VnzjpL^Ow~D;~Y} zV?XDmv?L9!95xL1ZiATB9U257n}g_*EA(>7&{07Y;QnP&vm|pQ6P$Br_H7ff@^i~z zbHB5!ce?@^h@pS5(yRd8g@O!(4kn3JXxE)Ocpaied0|vOAM|!DB9>&J>f)*xwFY&! zfT&jo_~JOaKF3W+*{A3jK|qP*DHNI_HzrAmvq_$N>O;pD#=*4+|2(LVav>pT<(%rx zZ;A%Q94Ex`EK!W(R?CznX^|5!+3B1ZI@gmpg z_GdVRAp|imB*NeW7Ae6uOpz?OI@}?=nsW;04TL^fokww-AkNV{X-i*fA_-{J%VExB}lwPUF_iqec`n9~eXJSXT~3VWKwdVn9t zC}B)(*6uG`?rj?7voCR48`b;O2{j(qAHMDUJ@h>3%;o-_$HUwobr>Q42q#f3ouT~= z+PRbii>kFX5yz2#spLA-~|;G z`z*qk2xB6Qxf3wPc+Z?9Dj_b|?K!kSHklI%$sIGf$V8^^7>rSb8)W8vlA`bc^Cnq9 zt&Hx~&?@^JR#Ul6gNFAG!k8Uz-UWndb4xcs7%bY-q#?XR;MGUC^=wcK$0wC6()RKB zA~LT!6VHR*6_2Tv4PFG}t=x}y2FBsX?i7UCaR*k$;P&84t{~7SIpq17&QZ4FHsmC9 z;+Tg4pG##?wCvfwH3VGvKkvSI4Y<{+EVm85NKG=Bv7ydL1mKGYJ-|?4G!ADGDzcn7 zo!&9{GM{x3zC`%a!|G8^;CWY}h)IAE(@FP3Imm|}CS3>zdJ=)Pws4lzslc1f1;a#! z*PGPF2qGwJ6S>v#^m4lN|ridb<6u|#Bb zfeGH`)Bhs#-rWsP76E5?2nQz~PhviSIj|pl7z~DT&ger38_-&* zifd81BpP)YaI4V@O{maNAoCtA5-PjtLT8nkdbN2(6e|J!F#9byZbd{95d|jIoj?@m zgQ2DLMdF14lbpe@IYSS*gm@@qgDRS;(DCq&RVV)1Em7Ls(_4lTb*O_U>w@g|Vk4xZ z7sReA==%Huk&7d-O=9%W2=44Ow_}J4kKAfFdV@{jVMxO-q z2z>;?qq5RxVBQt7mf-^sB7Zh5eWiO3Tc2wkfxjR9_r_iXXU#C0hd5^xx9VF6`@_9E zKkTqfT$t0XY_@LMyxQp@-`aE`c-U^}(txX*4&AUHMgo7<8&6zhpS#^pvSovZYZ%$R z8X2sN;YHWAvf27jpKn~S&tO*`!k=ldx4Jnj3U?cp)5TY@rq>#OH~Pgc#c+#^{ms3B zn&-0e_SxKgdCmjr_p6FViy+j!vx9-}2ORhV*3fx|BCyXxks=~+J?#zbe~kyfy&CHu z22=f8#!pY)pP12)r*D4!_S1`RUe10xeu!81g|(l$D*szr4;9{YZ^K2{O7(2^@<8Tfn-{t7G$)nb#PGaDMT zq2Ci#6+*TTLXnF2%5M@8r?H%&slu*O693m*1h5XtQx^EYx zZ6AvkTBlt*R;gRwGv|4{s3%t)9gS0@`3$8R1Vf zsf+Fok+D z^Le=bY=Sn3G~$SeBO;E7I3nVRJAos(@I@|Qw?r%fX<1v9WIpu?_q@n8%&uisjM-R5 zc{0df`afoHaorRU;oDoWSU`0NMiIb6IaFT>rCui)gkE53W*in%)}oSv^F7=W%Ej;3 zMU|w@jceisN+=WZhU~1D7qaQ`Sn4-AXPY5P9@jz64KWs%zkM#ITE;SG=d-;SvhffX zUU7HxE)9&(vQXNh2(s}9mucw>N;Vhmi1R&P{Fs*%g4Ht$wp*Ou2D5%2J2tBiS8DzG znM|lbvzX79J=_;)+D%m|h!OQp%PRJqUaC>d65hbp1{G^msbR%0LQ^8E(5Hx?#}Y5_ z@I(yZY@}jctVjYkYI3GW3VaJZIJO+(zkXrgAOG^`(RWs!PRB1J6$=BiMl)+^3~&tV zr@<=23P*}mELbqi<#H`YF$~~2c~`Vo*l9^|m#A1miWHr35(UHn^HxC<>x6(Wv-C2f zBva-N+AI7;aD;Ag^BOpU2$q7Nrm-5{fFav52n|2C)m1v;h?I)vC$lV8> zqfW*RQyI-cK_w_OD?k_P(JNP?m1+)C9YUDxB%OzIqlW3}(F;Eg?((3pb;<#5EVS~S zyo3Y3vf&vl-G+0%uHRY?Q3n$Xrebgt z?7S~+=Yk)8_WjczjyjjRA+LwO`-KPU(c%G_h7UW%czDur7BO7sLpgniEL|~%YM@gV zoq>n5!NiVFyH~sFAHv15`Ga*-!09?X4%Lq#Ul<;Pe?NFzXW(E{(Rt9$JE8L+cz%U7 zt+Sh?{^vDb!FR*q@8JsYV0T7Cfb(f-`}GjwFJtH@kFN3O?$+Qu9nO&I6)OW%56N{t zLyH)oGZ}dY-#OQ*pXKo5*ZV`$*?16cc4M;i@f6HPUvxsMYBH%N*s~lf*8%fk362Zz~7*_1mAv z!o5EJXvveWer4Yt|KU%>Pv3leHp%|^D1Z6=VD!&H*8k?i)4`K3vFu-ASvWT_ABQy{ zuP?Nmbl`0WeQe(CEKU)_5W2S2&Dl(c(IY93nCYgJNKUTy$XC~27Z8rBbWb>yEh4*;$ls-SoA)u{+3;y!Za+G%Zr?i`~5QGct=6^SJ@DahQmHykyWe` zo|tf;(Dm+B=WLtK-|0V&I$Pg%yN|x}g?R+kZRf#@A6~ugw0d{;hCxopdezlc=i8%Q z`XF@Y>oBR*m4^7-^MxVqRAb(Gg^q=OjDZc4D?D=V@VLQ=Xdw)GTZW0$BGg!p*QH*H z=g#i&*jMl1aM$KsK79{>FE<*(oS(`RL#n$thN{jXmb{eAN?_56<~zxT*L zU$bZb{O~Ljk3OAP|K^qX?sTZ+W8dQ+x%=Y{AD{gGge?9cj~7RqNQ+Qe14-s zVR0U^RL}6_8h`4g$G!0(l0H4+*LYmqnfXCGIO=t+-!H4_6b5EKm+Mi%{IUhOIP>*< zC6qfsx_C0}j>?e_(KeQ@$HPHU9?!<%7&Xo7s53=p&f#qOC5&3X=wRBG#p#!?$20#$ z$H6P&%kPH+zZ{uehn#x=Oc2CEmhz!K%!&Q@<;vUR;$xu3^fAO&oxhzuQq4V{1h9(f z+^IM3*kh<>CezN7?|%junoDYqI^i-}pF0+VBiyu)Z?SBJ5bsOzMF;A_--kud(JS&t8gGd0(6%xvu>LO>Y23%k$oP;Ki$A)86y9#Me*ol7LD1vM4p_ zxfT_v730V=hcpatdHfC(w2B-Mpyg!6XRcRe4<`S=9hC{5p-DL$e2GXxCIl_$=>Plw z6lEWe=$F;L%T}=e!N{@4zvdwaNtk&}`G4?-lHgyQ{EDyaAjiK~ULDWE-~Au>*MBf* zL3e9QvDw;NZ_^VU#_}y*+t9UQp44GV=ckw7;X%A;oa5-~#ys6TmUBlv3@0ASmb<+3 zXjeX7!CLh~aQ+86_~&mw0VyUAkMWBA8-8M*&gk(jRP&v`|8w4YDS<^bC0){`ilu4t z>IM17ViAN@beEd0=*)khhr|%%_VwT1R#S5RneLp-(PA*!5K$43a2;Nks}Q@orBA^#gmR#2>R|7w^?tVtj+!Mq?}^)3Oa7A-N|bFg^z7s-7_juqgo$#B>-Am7gJ^x+6Lwc z20%eNU!a#DWm&>4*BU03IcM#ECTLi~DX$ItlUJ{QdUX_{G|EW&nn*Mwq`w|r*H6Rb zqgv`-+36P@l6JoGuF67nh&+8@A~g{w$pfTjAm2c zdtZ*HGuwZTTpBPHqT!EN6hgRr8`_L*C$&lYO;%6UP5j)f<#M#EuY5KOPL9$2DpIbt zSx~hk3q{IR>}a#SOAqJ>Ep!zD4~90o`_a_y5ao)cc$2F_Bt-_^l|aj-;HD+efGN%L z!ow1a2R7*8$TrH*jo>o55o9cfv$69PE}Qhud~a5AQp@nHd!_f^LR!&gaL-esBu|Or z;DE^3qjFeGuXY>o+%9hVcGbnU8+{giT}T$&dWI|eH+WQ5GojH8E-H`kmJDof?E`@d^P_~hokW@9iN9>K$3Zm*yek8mR@JZe?OR>#{2H^Q6Pfl#^b_PbagVgt>cO+h2v zs2JqLs?6mQt*v~4oT7ytXUZ*2OlsiPt1WaNTivE^MJ0Zh;6|IlU56VQ;)|3ktwNLw zl-I|D`fLz**Hux^_E&=FuaU$Z%{l!K&fwF^1}{Qnhq~%^-hUl@gdf|gzgUFS;kCYq z->Zk`z)|1IKpYm_;8t0l=PIGzy98a7IXrL+jx}WH;x_z#bKcl`8fEm0B-Oiu@*i~zQ`2BhYXE$gGoxPZq$^6R@MDQ zb)(JTuEPzP$`m!FH1u4EaAR94w$*LG2rkgkp}`Ga2&Yg|R02+L1y9k^7A-fN$eGPx z3|Fu)=_1^?b+`eGsd_r@0XGC_&S)G)(g-(hq?jDxMuZ!UK)Gco7~#g#r%%&VKYgSh zM!1nBIu%F&IszsylSLxIKM>keCUt0Ww+6;qK4TGXEL#a8ynzKHw+UK~*+g&#N{4h= zXu79}bD#%7B|d=AxsaCW@)E*^r)n$qd`j)7XCq2tbYW5n&n3(t+rYVe$Hp2=W3K* zusea^EV|`xrqxHZ5zz*wm1Kr!d+}7ov|O8T5pC?-xZE>V6v0bT7bs~6lOpg*q11$E zRoH?!M#a{~<&jIpIf9C$AzfS)H`)yDI@(~`=#&@}G7S-JY>TGvc5y>6@D~{acTp=$ zI-g}pmT{g?u3#pU<%&9s+aHS?w_MyXM?!b&>9_~nASiCYJWdl8;YNfT7soIWZnSjU zeE|O&*c7`lg2MpF{M$MHf<`Jf_=^qxVuQaHR4urtVD>zI`!jp~?W5n`kymfvC-?U2 zN6#KTe26IpW4w^i=+3P-&g@Vt-h3M`I~*hTOEW(lE6h{0teGy08)&>_zniyN0IZnPQPb+`e?97>ImQMz$|mEy3S^2`F`yVSy-LBoE@ zP}Fc$hWBZni9F9jMKQvSTZbDQ7L4=h*cxt_ATO81P{Pv)HzM4KaO2%DKWjudK@>9j z5Zojx{D8l;Ywi)@MnkAQ%zg`v26Du6Xn9e^iZ*8%YUK(}KhOih_eUkEhmWnN&gTXq zLGME%Yc#7AuyF9^JXSaG494mPo{AfQ8=2>*Yh*le;Ejjs2DnrXRB{hEREfT>LI*$W=z%hqQM?j>?NQiqQ+PDnbXfwF$Xu}Z5XV8U7M6_{l zZE$(UY+($6JUmBn1KGVKBRWM}Xd$RdQ}1QC{Sj^4I@$m&s-BK}pp78iKob>oBZpH5p8g1$UfgP+|cMS-L0o%Yq+70 zB#IjXeHqiprHZ~(JLIQPx)Hfl5pGORd$qAafMMs@VeUyvK7IA3l;8aNkU#l2ee>}> z{bll_`t*JI_S*DuWxFL*YsSzsL;ND;9M#_zYc0(sLMTtWgG}TNE&l8eKYZNb3Ru#8mb>r6I1~c7y zI_?2C1gaaH2qI&XzX&%X+?dAdMyzgh_b_paaO2+g6!(Ro0;a18x{d*ENa+&@4)VmK z?}KNapt=#HMGc0p}9*n%yU#OV^8tRlBwDZ?mFBE+}4xz!Gp4(lS^xP3B}I+ChePscsr1|?l0Qzg>qgBzNG!VhC0ux)37+MMfMRu{|J+`ty3uBE*Wm`CJTFeR3h6RtIB-fNQ$;dWBvVB)Rjh7AxDnw7;6_?-LIl`Tg{4TeIt%lE0$zti zTL4{1Z)YsT}K-dTq?AEOG9=$7B}u^aU<8X0Kyju zjFMqYC3BtF|HIy!Hn(wITf=`vrBCl$l?Ki{@Y9uIJN9)v%PHBFD%F{qYF`3mFvyZp z`R~sBR7{Ol+i?fDAz*{+tY?No{s?Xm+#t9?aD(6m!Ho(x z04oH^X5HDM zJDq-0zjBks3`-T)$jk-!t06W{dC_?Ik2CaoQjm4FwJ6gtUGzu5s*c%P>ek2q`OCi_ zhb3yeS@$;7H+y`92h#aZkH72E?DV||zP!de&T-s){O7D&R5!wT0^-Fd9?zHY;%}Ib zhx`HKS(%?MX}WRSX&YmiyRg6_bIk>;lbNg*A=B7yK2%Ez-Zr_;$e zorG>OAJ+usDJov3Ah2RFk4T2j4H|o957oC;N1pxq| zlBrk=8ae*ci_CIhC1gg^jeWHnLl$=vZde9G8zvPg#UJi;Lsb_BuLQIk67~#As>Zo$ zh+9%yxN5bvl}ks{jXR!hs3Ukxt+wM1a6F4IM~c(X=h^W|(BCKZAGv;;za+3o#G$K9(kUA@*flUbPJmAbQ#bN$2y zZ40SJXhGoL8mM*kiH~l4>vsX<=4U^Re-yM6`oE~{N`0S@Mf3s5u|e6|J!S^w9A{18 zsbr_PEhXUH&z4;+{y1Y&e)ZK?-rKL9+9$Q-*jUB)e}Hv6VmU9f7v1En%;u-l^H#^! zD-Ap!bzR>1i_({#z5U{Or@#LFiTv{Q;`!@W{I~f}=I!_0i*KL(`n>%?cdw`4v2Q!K z>&HKD==3WwsG;*Ae-l=_s~5%SU+0(E|GX^WWbrbEML2mgUyRTo*#7tf*X$l;ikG6= zEO~CUN9dSp+uV4I)D0bsiXf63n<;f;U$`-3aW~F5E~Q_EQcrslqk- z+abW8!J^ZR8$&gvw#IsriXX&ugX__1JMI8C1mK3NQRE~QC%8dygQgnqMwf`)fK!gk(l=RIUaa74n`+@paAP01F=TN!;Rfmy1d2;r zC$0oH9wyu{@S^fCpaRJ7)d)AjnMzj3Z@F$Q=gF2z4g!soQ)wNb3@1e^b_2;bGRWakVC&6 z2g40u6y$Db;e{i#L1=@}2B8f?8-z9pZB(?Oik6P6#_CpqOT|(6WUU(xcTO)Dxa2Al z+St>WYRKZgi#A|b#F4KE1y}8E({STq4mXlfDMOsrAYc>5RLEFqVyj#eq!O)e9Y^{N z4L9ySc0(R# z*iwPa(-a>SgDa;Du39qEXk(wz#*oF`1REAQaab0qnyg4*<6(jg7+$7q73PU8I-iOa z-gr~Ti^8cWWLvBw;l=?7H^h;yI`Mux?tnHJf&p28xJ!1!m(%=n`PZ_{7qv7#P2r?_ zTk=1`$+Ei2;kS=wt6%@;FOT8(RgO<*Z>kmitJPDUm(`_QK^VZMN}%HQW2Gks8sa^D_iSYXg0tzMx!-n zQ5~;&qjL&8>*#E#ie;K^>@(dMvbdXYL%}H<=GeaajMH@EVNN#;17!|=w~$8#sHJM8 zxPxbEBU|U%oct>3hTz7X!wsQEtL-=#ZuA&MAvec)PH=I%bfmm`3G;P@N_!1e`L%!0#Xz+$b-2NJjwY6-1%IPaPKw4M*srlh ziChe~&XY0K-ouRni@OOoEYifaG>(j^9xmKSZIH|L9B zsUTW)DS||`wz@(S+_-bNq10%#9e02m4ATuH7CB2kxCA!{ZV=ocxIu7( z;6{ZTJ^)x`fei7$s!}}qCOYmLZ)4J2+FW8y03f)r58N2CxSMc87{d+Z`vf;0F5Cz# zIB6{gi7ix9O1RR5WO9=u7ZMY(q}n>%BDitqa6_2UYC8^w8|+A8x}iODoQ$amZV=oc zxIu7(;0D2s3OB&^X>$anqlkn?YiMD~*`no|vNUa*73^^-Ba&0;IbpmMyu_(3*5j#)_YCU zjTylWf*S-k2yPJEAh^-P4J3zi5o5zbs+OEc9g7($f5ik_r2H`mrjY5_1lz)?frp|Dys12^f+?DA-0gHj`XjAItL?Z0 z++cp>1;<&W=?1|Kf*S-k2yPJEAh=QCMwFR}RASR|2{M&Uya~EZjY-}WWlLd_$W;5n zjUkJ>2{)`4LR;Z$*a=NH9_Dl-Lz}@9@I}Z47#|ajCPK{t6^G5)OD>A2r=Q@)ox=_A zqE_2+DBP$R#gD8r(mAm@Xr5->*`hn0epA14lU1sy;u@Jb&b|wf%PB7!9}HuGu@q!A z3RskBm@fJwv~bMcQnx<-&tLxiI4n`y&APXtzS-j=JdnNVC z^YNdvZc)c;^Mp$fpLjf9#*4pUJ|6N1jAvzjx}@pGZKrLFW$wZPi_A50b-iY?vI(ZK z-F&FLKD&6x`Tkii7mKr_@pztImPwe8CKu;8oleH-By^McxLy)d{5+q}N?T@Sn(7&? zEyU2B;-}xl_s73IefsyH-z;W7+r@Yq{&zP0RVoLK;Z`TDH(ge* zyHsCznUm8LPP(@x|0A3%>+O1{?#TZD>BRGrzI9J1Cv z)Ucb2gT4=wy+8d$?f5}|!|GM=mz>S&$69n{Ue|NJ2#e+Xucx^#%9Y^n^T)p{^LaR~ zzxwAtAOF0nKOf;0UUjvu?WV_%y7{ASS|2*bshW@QJk-srm%VzzuDtfvA9C@#j~prv zFjv?=X@*}(_{S8*}On*4yWO*vtVUAu(z`LI{OFFkwv z#q&;o{reO7)lU;IOS_wCa^ zUb0`FALGRR?ddm9pVSt@tNs$=BUW$0>2x+LC;iFnYZk=TN@D_YGD>1q-U<)&$l(k8nf zA&a{SHW(CLOn_nQ^CPwOg}(jqlpKs6Pxb)7NA2S;S8yVq_2ZZJ1m zZO0wphF~KN5X`)$=?2C8QOqC3{1M!sn7<)-U<2$uJh)M~P=ZU-Na@jNbs{$repF2m zD1dTQCFBZ+X}Yn`bYsZkZo&Jc&M*%4lx;Z_8!f{$Q6W{_Mg(rO zTCk`q#;57VEd@Ed%EF{v>2_n;|_2G`f}@;@}6=xXu3hu4I)#~bc4uL zgT@aJ9&YFaig9cs#%-)h#W5anD%(b*8Zt>2hRFxPjg#-fK5%2m;%>qXEeV*yacZZZuD%eS1b0~1*G`2a6?)|X!P50Fx+rQ zs%kfsHRMc1+6~ffkah#C5+YL#?9>yP>WUa^;F{edG8MO~RXNnossh}|P_6pb_$K?3 zZ1f`IW=n8mPq;B;aW~-x<2{kpRVE^lsU9Yos+5ETO^1VKmo?%XbL12KP9^Gn85G~A%!1`Rg|ZP0Loh8tBZRJ@BkNsy-kcMz@S zw(*%kWaL^Vxs5rATK5u{YM9KtysWpy%AuZv)i4QD zIIB%yW(4b)SsDG=P4nrW^U<^{dP}K!eUbH(=ZpC}PZ;8ML&j8OOhv|2mqua4rFzg@ zs_JbOlvmXQ9xU>bRO5nG4G+r5g1RX8nq`6;`@oGMi@OOow9=|tg;DIr!<}xli3@Ll z?41-CB$^0!xe(#x+d9YE7EG&DgBM6Ce#c62dj#*w)pi^VH+qa>xG>s~F%?ZWXu3hu z4VrGybc3cFwT+Xk5J554NRct!FdmN0l0mduzy$J$6pxlt{`U339kRHaa6>w6tWd75 zI!QMkrgX!qsIv^d5iLiwX2yQ=3O?3A{_wPJWw4^2eu5i!4mY?Pt+wMXaD$CF*9u~B znr@H}F8Sb+4=yRi$p@EwZ~-?gTyK4H3>2zLrb4C;cpb8!5HcB29wjm!QTfnxW1s29 zkj34E8$wtI?S`V*jfXqku*&lmnM)9fdyB*zF0uWDg&A%L))in5PNCulL8fBx!9CxO zJHQQSHy9UAdO{n7HVADH+90$+XoJuO(1wKXe@NUnZPe(qYG}qC<{C|Q+T|33#ufplzPjq+rJ`*6{Q5KL*CS>sZMJwxkZ1_uTsAihsfOeIjNYSax4H|}`2 zVUCnVUSGc*cR(8q!wn^j^fcTcE){X9h)YFWD&kTRm#T89L_r)C$W+MMsI(3SGtLP1 zKx1Hy>k2b08VdQ_7j6t$+zq&)J?Dl?rfInGfZ>KUGT=NnB_duEl_};L-seX9pi@vt z|oTGnuc-XP^K0&YMo)x_Z8NnNDO2y-;RUfhCb4MWUQ9j zD1sXVHwbPJ+#t9?aD(6m;D*;Ca2->_i$ekckMPK;aKkufTAPC~kwV4yg&RW_cN1<1 zhpZFpWCeLN-FTRAqg5JIMHL#J3j|Z5m5t*Vc0>*#5 zqydY&i8i?8PI#{=b>rbG#TjEkIAfX|Qq2^%h`M1aHG-EEywypWy6H%|amUgPeZ=Kx zwH?7S6vbY;?0|vNOI1V#h8g4vTE>(<%2Zvn-qv-;;Az(h;iqbFzJKQ1| z&z4d*4q&*Uj`A0gU2DS|h>85}AtN2Eh%28w589ZV=q4aKp7p z8)sFcf`c&?=V-L@g6s{8st4REEp$x)Ah@v)+!(UBn{dOxuwQWNDCO_rlBqaAd=kMS z+t0U+DluTVDBx3-0XP6QWRO)aMP#ZwCR3>+p+>9ixC7h(Mq!u`b3<^0;0D1Bf*S-k z2yPJEsBl9W9hIyBf3U-WVxuT{Qh5Lm?JOFw7T=a+Otr6eW60ue!VP6DbTiJ9QvBh< z4Jnf0P>VP4Vt@~>fg7C5-Zlx7#D{YyTX{u+G<84ECil2TH-yi?>^y%M& zezTbUY!~Bc_}|&|k6&i?hv~xp5#^i7tBE`N>CN-szkU1T*FP_RJ${0N2fy{C5ZWNL zL1=@}Mt|=^;szqDV`F$7ZXkA}iHW5KY2r+C*dygOthULObI< zNjDxY+9=*~C6Oe~n89!(!3)>1#DMcl$s)^E=IVk>XycC2hCI@IwAzk4z>QwIA)OJV z6eqYraD(6m!3}~N1UD+&FdFgI4s#8W1#EC(M^()@LldG&C3BDTW6BiYcepWRaW~-x z*HTI$dwo9H;66+n+*n*LKI;Zk#Q*{$@;3svqG2`rFSXLJTz$z1ZrnNCkb1P*j)UQb zJW|LMM^p#n1UCq75ZoZRL2!fM2EmOUZZH>&5p9#fG_D>w2mmmeH$EZnI2NwkTt%xi z-PmWkVFoPj2HcR|TcbT^B;9zp(~X#;kFkgWKwYOmPUu5%4En z%1O&Y(~Sf0!Iei$jn22@4roKLk~k>Kn^1%v%2BqD@v0z zFC5C1$0?kglo{@6-DDP~qkkmR&&v`{7B5p+gp)V(#R#$n+|Sa>FrAhYc%MD~ z;jGNgwJvzL*E{s0mt}3nRfWPF>WE30;uB2p8F2ipjQ;GV`Sj2EXj&G%_+nmPX#M2* zV*bt(hA3}H!tt1?$SlMwP_d!@P;d%|MP@-uMzp^0*xIOS3oe|Ubx13!=egIEzBt#k z2v8SUePBaW@_KSIKMiN2)7kO(&-qw@B0k1HUBZ`BN>HO-ceNsDJ8>{&K z53rVaE$3zSqMKkp%}=N6Ew%AV1J6fYmv{c6^rdHSzj)s1uYZ3czkI!T{`wXFZT^#a z`+fJ~+h@N%Z-3C;>*;sw+pc=7Y`p3FKmNH$u3w2ETXp;8clevI+5^6wHa`Bq*I%AN zt~cc6mx~Th{OgN+efq2 zulsw#q8y*j-qf%3SF5Ky$&+r{%@_4s|5c@KZN13GGw?e7)p55H#zFVNalg*<@sI`H zL>|znq6yA91^(TJJO-T#Tv%)U>a#ah0(*G{es>|VyotSaS>9ZCeeQHTuHK8eMZfvl z%vj*<0Bo{NJvH{dSsejx+i+GBgX3jUJ$A}rno2EQy* zf&``1Z=J0-x%_24b{T)!I{dn$>i1s1kDhfCe9eSO70n`@#5NcSG5?I|BPouw8m;!r z4%mRR5l74osu02k9|0RcvAig=OI*M7z(7_zvV zc)*|=!(i)0vhLgP!0lzop<)5;S}na|jkOGD+_$>%3W1nhM#f+z!=kN)^+95RvswLE zi>~wu7U#&|ucx_o0iFO8oGp4xaQ^srWj;p-7r*-FKOg_RvK4xSS9sM`yP|G-{HU8h z>ZbLfW5Blg2+ylH;Qa8b;O)w5Z{dxL-+g?zpOh`y9qa7 z-NgixuFmgB)_v1p;Q!pbxyNvW`3!u4{pK{_M#hBNtDKsQt;bD-d1)jUsdwia7m(tb z@y5mPK0e%#aFIISj)UQbsIqP^m`A)RO*cNmbYs|<5$B$mPh?)Z)t?_&vJvx%m``Yn z5%URU=OEm}oa18GPVRNf=2fofkRoV*{Z_tNpSIHoz!?Gwd-^MSP4=#C03-W3r!qAXNmaA_}%x z5mauJCJaOwq>3O_#P!M>VnAJ}A{c9n^{H(%FaofF0!3RW*Em;r;H}`A)e4nH5?4kN zgYJWCY%pYjx3B?&_mdZv#uB%&paz`^T)&5@ihw2p7HbZPYQPAMvZ@N33e2EDgtDU5 zDx`x=?>;1Kz(%Y6vI91du!EIca&@o5?hY&A?z-JavS>=SBUv#ybzHH5L5( z6#NyS?p@&H*ey!^tvcb#(!c1~p9`FwZDmQk;o6|rZ_w+9rr9@bECDtmCQE7YRu>0t z&e?8#%MVdCpI42wDZiyfzUZ?QA5qgLs6PEGG!jDxon#=6gva!C|ra#qIZCT6L^(*()>)pCc-Fh0XEW}~i8s(^T8--~M zgH4a(P%%f?sW!o8f#!ZIV;>9u0agE{Dbt4lfUQ@-1@L)EnE^Le+i?fDA)qZVjyrj; zW&~R&8@Mmw62$knWlP1Ywsg;r^Fi~ zO#x{NunP!o;0xgszzu1$#Du^h9k*0&GmB7Fme{~*SXu!?N2o3FNeFK212={&?k3!T zgRQp4^SbH;H{PcwxW8~iXBFC{VJHQR(%o&U~xUs8)F8r)}ke;kkMHR5cas`_%#HRKaV5Dmp z3yh^8TWtPwYw`YwK{vzy{N>+|Yi)Tt>)xIlsKYflz})?`T6=Hx4z^DA;Zu@6#F6y} z(j*YJAZ$U{g0RIWOKNZo0dY2~#^f5;5CUslz)(XAL@9$G%~Y;Ub;1@`u*G#$Txj#o zDM>>XbQ4b?d|Jbe(^4|SK9r=Yr(aK4b{<(&1b6EUXR{95rX+Fr8S{u#_vkc~$AAYQ z_1U&zNhc>+>ss}J#z*VYZ}(5T8fE|&91JCiAL&}O_t*R`MLQdz)xo);bcK&WNxI>C z>@`qLHO-xmk-SFrJV^{lVn7lDN?yAk$!m!hsY}dFYjPj@40VA~vT4!L5*lv*xo=!i zJ%4*W|L%QoUEdE`;LZ9TvQtEG8%>gfz3Tg|(5DZm_piLxUZwxl<55vxu#Ng2urxZh zHH_173=Tk1g2p&#{3lWmVU81mQI%+RanP*{vrXV}<=sCvMd^UBfpVkOe%TEhFoRTk z>+VxSe`|U}{2@wX{v*malUEaW_S2i^zkmDo$FF~0{(4-KTQ^MGZ>BCy3PmAM6aqyd zP!vMV|F(q-sUbTy!Y5D}ylsL+GD41~MVsHEYN=EP!UR_^!L7uVH69qUxLbHYOJ}5| zD1`ZKc;MF4fa`Ye-v5t11)pi^VH!#0|Tmf(ozOn>2K0*}2?fabM3M5z91V97LNr_TK zlp>-OeKJZBJXjRdph1YN;IHVT26GzrEL=s0yxCy6BDisd!96JQYYjJsEba!}sMhzG zKrlz@=!Xk8vgYvYXTD)k_(rwH)&!E+WEWY{JV~DdK+Zvq9zHL)A>3%S9e05nNLNtW z8RrRZ5ZrLFu^w5bDlywQp`l7bGfCA}l(uDzecpuyDju#mGTt?ll_EKf?dC(}_1VQk z&iBt6JYpbqv|!ge-V@v)xIu8^lfeyVGG{`e@-e|y(uHbbGHp{l%Mv#498OL6`lIQ_ zKGTgMi@OOoEH^?5qv}nE)X@)99c_haSwg(C3Eseh6%y%?k^9UvgEyLBE$p~(`U!6Q z`|+!AvaIeg7h%rVjG8WfS4A4j_{)}cY~4zmGL<@W>c7>Vb&~@6)}$75f+6T0l4a(f zF?}TY5$B`x?YINlkU$$u7^`Wx@iBB3G~DQ+1)+_zE{8P3F6|>=Uz{(9KrSV#4{Sg$ z8g4*HSIM-#aMl!_N_L9dQfeRTY}r+23ujD9LK|3#LG}~-USlh7;cjwk#=?Hr@bawM zUkrHpyN_@vspw>rY9NdT+E4%*0V9njN)eq^xK>?N@el+)cEhrGX^W>PoC9 zwDB;}Ml{950>?AWHB1VSBi6*2b5mdlYpiim_0ishHtra0up=!;tL?Z0+~74jS~G9& zRdn=Pkbj_luN58c87J`r`7ogzp-72U*+<#X)%bU#vVB*31G{)g#20VIEC1m2cfxXB zW-q!4WkX*-DI;8Qkqs?Xf*To|CJFgM=&Ik1NhSn1(Fo zCXP@Fq6~eWz)d(}Cmez6a&HYrMQxjn?OS~?x78Mm2V>h%sy!>VPYa9W7{G=Kn!(;I z1pz)H-s%Go!n)ks{nH+x{}MY=YP7oEcPP~1w92jLUMXTB5etb}NH0(GWkAFnnBnZt zjBlB6hDJaBiy>Ryf`8Sxobjb(ctG2tl!l2GeZq*SN@dnhr@6qD^7%CWQDBPP7u6K) zOwrD_jvelPE+8HJ;+>2Q@|{75z+kHJIb*LU6ebZPf})9qw6Ex4$l`9+^U@lIQbknk zPWAjw_52lG^tlD(2h{ghUaOvnolE_z$D^ZpQNZ_pOKo%!>Cd6j#BN`IXkOILCf*X&G z86ov*#J$14HGXN;LjI;wQy$$osd#_4p5Vr_U!S)>=IS>dQTsM8xIq1IODZ0zDB}{ zf=wq<1F1u4tc@@NVgcr_5u5G;qkJDGApT#L&$rGsu7Dk~bUJ#xKim*}wAzk4zzyj~ z@M*T39Asw%HwbQ!gDg47l7s9ZS;7W4Y@l-IKB*pBQ<4I+qE0Q55(o2G4{M3Wl<2)K z;O&<}aO32=un*iQ0~U7^ZZHjfwQ!bH4-ePU$uJ48SY$D_4$=oz0*8-UD;jAO&V2E@ z?V}k9Zd@X)3mx?}qo#}BeQb?2J7RjY+KxNGjhaBsnPrl=RK%sC;RX#iXt*&NSUK0B z&pYg}^rdHSzj)s1uYZ3czkI!T{`wXFZT^#a`+fJ~TN-Y3llk~Qp$&mXDr^zpYA29k zr?qID1bLFDC_<}YBAY9#hlU$_p^X8HyMZ>igNLBvPE-aP4L2U3W9uAAgSkU1zDS~8Gbg5-U-XhZl)i&|~R9nc0tUWI}qF!{&QY=dSSG~1xr2F*5T zwoz4DN?W8;V4{J-2eS=rc;kG5iK3G>%B&HcS4CZfHugaqLl$=vZCJ&%)6x^#c(}6- zX=H9C{0)$Uh>RGFG9cB4k9~nyJHxj*oDURfwsGfZqq42fx8qQ>0f?g6NOIvohrCb2 zjkUyo?cOqm74JOFy0b-hI-QRbC}l+z2l^ijc9jdUamousyc@;>gVIm7z~rGMNJ~YmKE%#L zX&S9>W#TbZRFKQX4Fa#Vh6xw0PRQmF2D0!bTB~r&P*tWO8Irdp3}ZdK+I?k=6Sla5 zEv~)qt>f>8Ea)blFwg~~6k)`bx(!cUyY#p|*G0{<_q;+C}%1nb7Nm3NJHbQ7ZG4GU6(3Ik=eByIJEmD6>V zBVQNoLl$(aXh+zsVOok>LINM10A77FZBJ*D9;1bmD`n~5YOn2FZ2S1K;dbQ-KdxGD zw+eFWo84+rRBz|&inzy$hu0^p^tkm$ysM(UO-y zG^V1xPim`0yB@8s`5lUO#YPIvVSAV!N#B>npQp3`8&A*w|2NY`nYAI6`Gvgw)AibK z{wz0j+oxTkj{DgW74KBMQ}NEerQ-b_6z{E-NP~j?J5LNzQNsEr3RE3ny|)YmAD8)O zsU6t!?zb-Chb-$>2@eX7lTv;n2iDbJ`2G@p{iIJ{!tZ$k1{Lx*zV@KS*sjjDJMe8v zTw!BjGt~sP@8oZm@>LmhZ3;;D$IBA$x)`w_An zU6u@XLtxF+c|U#%7UX;@ltiK7VRA}#LmM6VNtmO#c7-asF5Sz3#k{6;R~USlPgJ_E z?&a6jXIos^1M9wTEj#{*yY9R*WR0X~Af0Ck|HnIx0Tu&$#-SD8iUJDS2l|w*%e}2~ zdh2wJUv;y^^2)V(e(2#9>gU({4uv{8?=`bnA7q_=8&CpHN&ssZs{QweS2ur__ch*$ zHA9VeK{Y$o>{PSgi<&*A9E5YMY2lKNq9djzGGr4N?y9ABu+CTikk5|lzUSRw(!6|#Pt6x4E|0O@(n)}Cbq|P^)u*k7?99;U2}t0$|BkKR%}eocI-yZLSg+2HpSG_5P5>-LChQV+!s= z_)h->_5MR5-)xm3L+bvU3Z2X9tDcBkWx-oamn+9(>T%Jb@4Lgfz>+9)+mr}TC=~+K z<{4dn*(w-f!XgUFS-k7TLANTG-}CN6V8HEbaES$AWO!C)i>~y=**V|-ucx`zFc%qH zYaaf0Wj;r>hF|^jpO1eo^V21=Wgqoch;uZ#yXouq~<;5DgDj!-L^#k7c`^&cE)$UwPT< z3eIgl$JGP2Fhb!9qn`pEoy!g$`A#*Vm9}v%_%=rqWT_Bw07kgx^9=z7Hy?Iwfqp5a zy#_8_{_?+4qOUIU9ZGaj-7bw4{vh2h*GoS=c;lQcq7RwoU{FEaed6vf8ifseDD1!Cuv(($(d>6j1Q`OtWt!womOS)C7Tdxd*mmk&Y z7?|&|_&XKrTcy>ol70KIt-@XEBrA^xsnsFFK(?kx2ypf-7kl3mxnNS}_S|NUyB_3r1m zQq-SBs^p27f38#zhPv|9mH&<^`Fl~xTUJb)+P2ZWs&G|=-F8A@-+Gs!9<&0^+o)?k zTLR6HTi&{KAF`HPr91e$C_faH?p43GQ=zd7Y37~NIIK>8_mHg`JqYD$3Ph8OkdW8r z+#qu(HDJuJ=p00SX-9eOJ8yVVw+TMi9e7~1IY(4%f0^%Cn?s`D_}XIUpxkoS zVutW4bSEKpC$P%-r7Z5EJiqayTnWtE_?T3#Q@Kv%dieMRL*pPsRxocsB z8Elh6Fi0m;USx&$8bGSK@q%1;Z{Jhb-*W6>mG;byR$E|)(q6I=!}yTtH4*2aO8Yem zU2&SOwJW+qZ~KkUbEOS0;36X#6y9WnN$hy)!&71ZdP;rx$M>QS@2w~tll>+sg&_M@ zLBrZA-S`|pwFxrn{8=+O3qCW3&PiSFb?*mdIylp{NlNfP1VCD>_JPdMV0*!uH zQUBi0yi3P^dQPa=Sk6OCtzu@h+7COF_Z+fUY$LQMRtFtad4CJM`jnOZjUQztc)f~P z=Vd`%d+OR#*Pgoezdmn&&>a=`uu{7h#l4BlaGl%61rDtqgI|s3C_`d&QD&J9Gxdw@ zvm@E;d;440_e0iotG?GpLITTltud)%e>ypXLElzu90u5Z((jE0$dD5MrqlcW>i))~ zwhH@}OCd$}(2;Y4Zar5`lqNKiamJ&EwM`Mj3j3Shb4X2p%drR6t=FT~<-c1w@14-< z5R3UWB)dtY@F}bLn?K8yJ_YGt$<989G(+vu-}7HkK~Due74(z&czIUy2=7HfZ?%nq zM}Py$l&r*57!N2QA2W>tk(q>?ML{MQB4M(*rN_QvE2a2sSF@SRpt<_QSA? zHvi4W^*4UjA(j1Y2OnH%zuE=6mG%eRsb8OfD-Na?=k3$0U$1_OD?90ebkqNyOynt? z3IPwKfhAHsac}NPHJ?#jNCW$8E5MypC_0*mh?d46m#-kuQKne=-Je~1{<_=m`)_>f zB7Vq{7d5dD&rA`_%)s8u46YX2F|p+7dvUPtd|TsU@Vb z;LYpcbWuC{)m(YIi;C|(jQQ)X)PrQxsL|>o->pVJ*!KH+`0=WnEw1L*UB;4KoW4(2 zu;28duKVtyP+9nfQK&3+;ZLaxPhI%?)rHq31{GTln>@tUVE&IhS?64nWonbOCRv_7 z$GZK4?tkkNe#qi(mGGd=J7;xeU3`K*{Oa#~e*wFG(x>mkf6!^bAGH?m-Y$o|x%wKk zHt&gb-R{l1PdBwhM0p-_NS!%-1MOcZdeaNa?f&kO{5gYovnhpGruva?Z3((mwfALNcnFgM4;lf)Bd?t>MOy#odG(0$>B#1H7&} z!Ho|(4F?N1iZIL>&Ke+nVEmjhn{!b#2If3Eo3>!QfDb=_3Ut%@5Zrit^zX;7!pX9L zep$EDX$mLZ+mipWehkp5|5kg}P0D-`CbgKufYicvtYQ8c(?`M`DKlDa$H8#J9cd_q zJu~vKmBKgUYnpC6u6&<4qG%^!8ji~ZypK^jot4p_-87&6IUh~SVvMV*o6m98te-qz z%-?x}hG)DDE;f*6A;F#d#wE49TnWeXSDmi|@30G^|(?TZHDK5CY{iNx0Nh4J*No^s<{G?{ZMP zZ4EbuEbb=U;2eRg+I*^%tyR5xT|stf0l$6{O*huX>ekxqG~G~v$&gZpum?y(d5(~3 z3th2gLNF&xo7*ZfA-Hjg7@nk5&K4zKccEVV4%g>=8Gl)X#S&%U<-yk-RA)}N!wtz1 z_tkI5UEl_MM?HtWrX`atYTV@5(auuJQ{aN>MI6Ld=S~C@y1<-0R*R3(1 z916!+O2b48cZJy6*z-F3r<0_arW>#LZ}Xqb+wZ#<-xA!oXK=$IIl%J_{XQgW$$KaAU~gZom!Zl|q~{MGKtHs~+N}?)@OthwJt*$y6d{v^Nt* zirHc3p)|z})$3>T2%nnA_I?>;`<;A*tmjyu4O8gn3>xB8$H z%m{7}+`tO_CcZ!Z?dj9M2mNL-``IqW)9}Bu=^ww$><`n0{UZ|Gcs)6ppN6y1>Fjv? z=X@*}(_{Q|9w2r}Z948=mFYB0>NxeA8Y+cv@a`<+Ts@zR840OIAj#t2+P}T}#793Z zai4nG;oZci>xT#Hm%X{Ze&6?A>jYW7`+L`h%7y}0l|%Z;Kq=} z-Gm!(!bhveXd+WRT)0v9T5Bu=(tyW-5}0!YA9zLkDJS0Y9CtKK9Z)-N(TR4M(5(11 zsOLW??S?(lZnWBtJHQPFG8Gpz*(k@b4>+5T+Yo16nx35bF|M9hsG4T;@$FaNu$BTY zNzmj@N-gRJcowFYVLB}*wZ~4A4T2i0s{h7%pP)v)3#Ze`7P?y7NG#`N_M)4dVNah< z!=gK_Flz%f4P3=~GTupnPG5TV_KWA8{`&VP^2^tY=dWq9(TC|>g4}yVq%zuusNo?A z9%*Tm%>_2`5;Ae45Ua+N&g!#HU)ZeS2HpSGM5-Z+y9qVmt7RSI&SJ-sZsTE2HiB2^ zcp-ERtZv{9gYXkPVj3Mx$O8ErCXr11T`ttc^x{)aHtdlSqt$lY1!}O7^a6?42N?=+ z)0VnM>a#8<#-OKNkiq8TWZ^Wdio;+I8W-h4Y#h?RtJMKxfw2^1J6_Ke32u;XgNRf# z*&w(vpb@ekM7u|DBl4WRiKz)ORVkacjTbP(6s1TVT4{r>idC9y>@(RIvbdXYLm`Tm zInHXmNpRz)+Gr5!!wRm8p2KpbV$pNnD$}%1W7Dw!jPFseVVKAZD>|uIt>B1Ab;m?1 zdn9V0biW-3!wp~*zzwaG;|Comz1c`1xY28UNVh>mDtH9IB4D0g76glq1{TUhq@wA@ z^%T3+_>ADj(PIbiDM&X`BeI4@s|eeK5@lnO$g1U~HSotExba=s2W|{m+)cP4nH7c$ zSBd)sHy$S3kh0B1$l4SxE$CCQf(zJ&jnFvtr5Gh-<@OTXxO2F{*=V&LcYqrLL@Fc# z8Oe!EMPw>+r6QR)={AOfHX>8)4s`F)bc2bctco1G4#aJ!DA8!;IW##+S2&8IAS#8N zrW^afjUkJ>2{*WgFOhew&XfplJW#lyl~x(}!V85>hXG;}D&}z7dTUcmvIK$~?-)zn z37N_qX+2tP#~t7XbQ_)tZoMP8L2!fM2Eh%28w59osLDPAGF3pT26W-x$Bc--h#&x& z1RAZSwVuN_KGw>I;Kn|1Bl6o9_g%Olz4vgWvT(sAxba|JskFBqUJRmZG{`~;|w7*LL|v}YO512!Htvs$W%iXcN1<@ODYMSDZ!10>q_Nq%0a>kE_ea$ z25gTT&oWHmH1GzDahX!pl%B{`cTA=-N8FB9+i@`507hXWUS}eTrW=Xi2Eh%28w589 zZV=o6+(2u!cxghz9Ad?lHoVR`kT%vj7_lZ%I43ey*b{CHS=>#yVUW6kJmTIDjL1|E zlT76@YlCV-13@uNa1$~&To9~ju?dm>*Jf2J+9bGf=Wv6u(fM}V0d4TgrE*m)PQwjC z8-z9pZ4lZZv_WVCXd`pOO-(db-hoA)6bhe=p9F$8d~{moP_vDROSKP|YRKYlq748( zM1y%-F&?3fhlw_Va@qT!8sim=L_LQuoNalNq1iA=@vQnyM`+`Y(S|-!dbHY(JHQP< z6ef%V35(zc!3}~N1UCq75ZoZR0l1N(K;e^k6NE*!F=M%j#>S>NEnvw4b6j7u<_K== z12={&?k3!jOgL>6C#Cqq7@4JPY&6hI)z}S}Wr7cG_Q{G=vZmOL1CVa$N{d=; z$H8zzA8Ei1X#S1x1UCq75ZoZRL2!fM2EmQWrQ*&N5IY*9Z1u=VrSZA2rbHd2Fl}r- zDaH5ZQVm$#O}N1ojKZ{2b*4nqjfXkih|0NWlWL^S;8K-3-S9|F1BXf%VWiWX;Ko6~ z4X#G3?YINns6Mz-LhVn}4U%pIf*S-k2yPJEAh-dzVTy@HW!*T0!NLdEAsg0Y)wFQ` zM?$Q~o{>^~U$`-3aW~+G^B&|jrCH5gAh_{B;fD1Lu+lfs>A;xEYYj3L* zl8oW>6PfCc$yDk{`_XDU?gBU1NW;;OX-fGcxIu7ZL2!fM2Eh%28-N>8q?82X4Yv-) zR4ni&f?oyg2IHcYie*Mh@qOXOkj34E8%`*RhAOiJHy*4Hu8$>~7SeDdV#WB{G|uXR z|12gmZ{P<ZmS6_YQz5VK`eNqV(JAHt8 zLPrd*vz(XNi*7=p;uI>L%RJ4xvqg70#f5#`IcWT+lFq}|v@y8$=MTNif|ZW!b79l$w-ia%WKhQ|MlcMgL@1Gu4WXo9u{ zNt;6FVv{`=Own}X&Zir~z+|f5j)UQbs#zUYd(IifZV=ocxIu7(;KrP$8#LVj{%}ee zWi%4TIFiMc_p*sX@WycGTOC^t4J*NoJ$-P8Ebb=U&|H8}B?ZBahYL5HEj~EuL0JqA z(+wYL)(z|$+Ey8_5f0g7e1aQy4mUW5RJ`AgJHQQSHzZOwke;(T=%V4%cX*OjswhZx zWajWCb0IcPd5~B`rLTh18f4|KF3L1a7yS`hIA(9DTOa@DFaLfVmZ^9UBUzC ze)fH)?=JeJH}Mn8YrNwe&z_I}oOO$WkFf4uj_1pG@i)xJL;ip<`n9La8NrQPPTLsE z+=WGLHRGG#qRS^Mk8&E@&46g8`+^d z#ZSM9?~i|b`tz|ju z9zVgsgWq~m2yPJEAh>Zva0A~q3{5zXn_V{XaKvCSkrPvqqpHC>dOw+4xF>HqA@z z60Uo!&)!s$>1Fl0OS8A0h|?5Ky0<0&Bb+R2cW|fU|8oU7^xf(Vk5r54Av~vJ!ALRM zCIp86%%x}%qIQO);s>DJkVlG*R@-qGxB(+vCb%&KHwbPJ+#t9?aD(6m!Ho(xSaO)* zx29n*zJ+!pz>_l-*=U_Lx2=*6V_lkVd>8hbZVXu5O}N1n$`r>%bwVY$@i5^Ak~Ivx zj%Cv(gOOrjFosKQY~V=+>uCo8N1Ji_X}WQV51*t|&K9LE%NF*#_#JQ^Xg|L!!s1=5 za@|27ADz!^pLLTmUxZ1es=zbDHefh0|BUG)A&-O_t+wM}xY1)2<`vh>5t)i|H^>N= zoT*4EPTCD3Q{e`iZL~JGsS%ciMv1n-5*K7Dos3J_iYQoR@e-M8AGk4OaW~)wn%;t; zS8r>3o8ZR7gd0J)=nx&>B$$OX2wDN$hzWXeX~5gpzC>Ti)dV;09BzOYb-o>UKpTh# z)EE#;3Kb{m#%+oll5RX^Dl!Yv3X)DUdM}1U$QDa!m}p_D6k8irZM}uFvo42J?U(AU zvAj6fvIqlRQ+;4VO!9hiGCvJxqtn^(_|N$mn^=$W&!)N4d^uZrMBV5PHSm>=yH{m; z)o%))sXGff*H28wR0CJBF5o*>Tj@*B-hT1C(_jDoM1J{t@%;5G{@eT~^Y;7h#kbFX zect|{yVuk2*tcEHMc%jw-f!%6E{^MJ(|wRQZtLZD_?z$^T{R&a{p;L>?0;UCaI$!r z;MjEXX5Jf*ZGZfMufII2CQt)je!1xI#J|4yhxqQ>r+>U;zdS#NquAe`e)IH6m1Di? zz0LTD)lOVGoz2QguL0}{8K_aDF+nu0BnF%itL2&VjW*HxRwf=pZ3W(9Oa*%!6goKp zV;ImnxCX7Gb!~&BKapDl|NmHDh0w-6Xk*CYZlVnfk+}4Z)hKsD8xIq0w9tjaWEx=` zoC9ru<`2CTd~h?in>I3}$P!LJp^ZC68{$Yy_*eGZaR;~oh+>UU#wr?ae1ze~NjF`- z4#)5Sz2r^u4c;X0?~vi-q`zYhxbvo$VLB}*bKHJ^fPd$?v>rFv-eI(|F2k~xA+>y& zAC1S8FvTaB;4{FHbXG=xcGGkF-)JYUS;dBTudhF}N54)Vjj^!O#% zfp498dRf32A37MiN3f&yzJNIungm`s=p9_axjDh9GZdj!hCg%cdkR4Ci|>Izukzr( zoaUd)zm{Mm)Dn4<<&NJznyr3aQBzoyo!AHOb zx9h3;d%#|};ENKM$JoS#3CKn2rl5*}4PhEZP)5e}`^vh9Ebb;A(AFq)KP^S_-G&ElFGCI$3&_$2 zoa5ZMRv-rx|J7jQsm55)5Tmg%nS;dwXR|sXS#$->*MC1gM+SdA%~k7up?5&l-y??a z%6yIvE`IgTe?Iukfm??x@}L_)#~1)J^L{$AE3~5uR6@%G-eB%4=^o4%Qls zj}JGb9j&(GV7MWUlph%;ohPvI5x~YU)K7q;?^(Xf^f<>*W3sI!?h}RbT^njh+^0{@ zeagv8uOR0(HYsqQN@{#%JX-0LDS~GUS8d`xy(8=%bPrq)A%-mQ7U(bxQVVCvy7o5E zG3Znr><}Vm0mo=jbxp`=RY|)hSP&15j=>=till0;fNiQ4=$ro5k!Nt}#Wd25f8t(u$MF z+6sMG^Nu=!S~IWEa7`y2*jcLw&Lt_bDAOX_JR}Zd-lD2os4$J-(UmMxMCw*QP_GAm zbM^#MEOc7YligBdo#zYTH$VRRtaf4V8~tj?x!puQiYciqWIb3SQhvNo`7x{-I@FO% zOhC6VKSEHBgTVvOq6rag2UaYP5&tbk-6i)8`TTWOz_qMmv3Z%j>QcG-%@BhVEmWlt zt1*O?^p@ROghsa}sS;H(GW{2(Etj8ZYf`iN)uaFK>u1k?eDq5{Bzjb*M@NrfarOV# z57SdA-{XBHjszR6_UsPO2)X4>SSvM6Wj+Qpx_$P#KP(~&7zGKg7&@dzuLdX^B&2tT zd|OifgnJljxFv1~FS-d)z=#5NiyFPP3Ji3Prm%^Sg~Y;|XyM9ZRE8*>bCcR?DnM%V zebnef7IzbqNbg~W#7y1$gh}3qNp3Gg4i%5I+zP1`xvp?kcfz;?I83}d}>_BMrS5NH| zf*oKad6mGCsQohmp{BOZfg-_$ww0i?0m=p{Lr8h@1-!ocxrNs}Cm3Ee-bE0>JPhx= zY+b_Sc3jtk-?|U3iC{w(cpG{^iSDheEFgj&?}HwLP6bx+FxBX( z#nx*LZ;AubS4v?Ua?2Z}UkfENQa?hC*EvY|u`Ld{6r5jUD{=Wt)Q2BgjSg&ZzF&5P z28LTh8RH+t7x%h-NJdqf3+tWlzsEN!m3Q06q!A&1Tn*7LJcdalLK=|?Zu)ock81$6 z4Dzj^5y>EFC0JHfd(I}Q7U5M03(%tSb*_a5Ps?#PT@$9RDF^!B|2NF4h^Td|U*sB@ z3^~8s$OMp3T1P{X2QE>$$3(4bkjWyFrce+8AS_R4OsI3i|0D<_JdT5E_;=NQEM{jkBtTZ$u6J9-?H`@%ZAP?>GFWZ+*-0y7b%q)2%WF8`RV&u{p!FHQ>Sl}Ol?&#|@mmPMr6S;h z%Am7`#~WnV1-=B>i*1YDCw11zQ{LXPchP+nPL>-6x?30Pg|ec;mSx2BU?Y;_x-&RT zP|eh6wIz3e9#CORXRY>{pvOmm9=9u*aNhSEBM|H$*g>#^UYA+v|AS3zC( zd1Y!aIa+PU-QWh-%3-Q>pWw!NM)ff1NrWp1R}iisTtT?v)8Gmo41&9jZM1}izp9EI zXr!T-PC+6y4mM7Ss7Y74)3uZwff%i})oz$TGa)cdx=)y3 z3jiLndSQFqxc?a92QpbAlO<9!keUIzfFQ%Cfegx*q*ba@2o5!a$qKp#TbdRuoPt_M z^HiJShck+}RYk2K{$@s$MkI$mZwN?H)(YttUS!Ualt4)Mi_UX09zxv3)-8CAUWT08 zP4rST{H^a7D^L*Gni5%K77MP5rK0BzqwEeQQM-A3vSglB*BZ{)g!OtU0r^r zEx7j);x71+a--Fr-2obLHsX-mAXI~(5wWw}d(AAz_!jHJ0#zCBZKE{nZKI~K-F&FL zKD&5`%%vWe7v~EijBuQqH^nLI9NPloWXPjvr0rQB7Uz< zUw}!l2fYL>4@d*?64S$t)pi^VH~5kEBW|TjM z)?>QEWoNO9SNBwX(71)t#VK7}61E_0@yW1-VoY#@xrA2^GnW`Vh7(8^*H%lTqf45R z;CusH+|X!0XJ`#s&@DV+o!8EZ+TbQU@jg6p?b3e;hNvrktIB>;MP6&1i^9K`-A5Sx zTHj)N0eLa}pRu8$fD^QVs7h#IxoJNTEv!qw-9POCnn$5%x1-fHKe%WYM-1js+-WOl zM({Brv9H}s<12tN%?s7@N8|B4y(BYOnib4Ymxe5&57wXqYtf6PAd0omVmh6SHk`K$?AEYl!U(`O8Jrs%wV&GizR|6M9#*CBy?aAHP5y5slyGTAPUvRxMINh z-G&$1IH<{KTtO5n?EMSma;pW|Choaf8-4&Dxl&z|YRQ;!MG zx7A=s&`&Bj!zj>^(EDRdDsHC{?$0_Rq(Df4kOCnELJFS-DHM?zH;Oe}MHDsy2K&+J z(r6x`?{+Mv-uCj^2?cr0f_!duvnA_Yj|YYB65c&5TufR%v5CHW$MP|4F5^PLlaSDG)%O<@Yvd@ z>Rm6KoplJ^s{EeXIwO_z_%!}e5|}&4!|mFx5c6qEDnGeMm?h>D_RMn8VfXy?#XrP% z-#-20CHv+1ahbjN+tY788S^QaRsh9@CRx};DdyY8ql?);t*?p)+hY*7;AXo?mu4^om8iUOf26;%uRu1@~wMmyi zUbFZf*_!s;YP)pZL6zase5$g)O% ze-ZD0s8GCl-Sa(z%zddZ9B(8qZH?QuY{_nS&rB#1nF)z@6XoxGjoC~xp zPuMX!bboD9wpMDJ}Y7+ zbzmi--Z1ZO?lPd;m;fq$4&h@7fN&gQCGEpXDha78E4JIoptoR<)gJsya6;)q)wtw0>0q-rA)qa=&fIuo@B@rtrkjCoE zQJRc%lgD`&GkonIoV+eo(6$_a|Dx)__cOeDUJfuO8$z)cXTPa>@a)H*oA31C&F~xc z^`P`!?lpeYH+}8ZgF4iWFw9qmr&uYko651&063^Zxq%$JFKJJz9;{UlE~UdPQA3x( z-9!x*=73y-DTYxe)NnspNz(DgSQaYdlZF35gei(FP6)Y{QE(};E@B1mfh&lWRPyhy z!qF@vpeajfvq_~}1%lh&Vma=CHYDpQ4tE5ap{KB($pZ`42U;XQ${Nl~@=QpqTKPTUtci#@4e@(cejM?m@6q5(X<1p;~ zHixMH@iK>_>B|_V;ppvT+5;&IZ@ZgkC21qA%LaBfToqBKrYNl{5U;h*Df`saO5#Kb zSFGWR3t35B26PKcfIXo&bA%=CDk}+CK-V?kxyxu3QV!L;VBr&&B7EdcG_b=K?}rqq z0+G{COPtV&mBe*#v8?vP1gtb1F~S5NR4eIybXtj(M64uYB@ru$SV;&Wu0bowHVy=9 zX)77v;s!c}McR`?QW$Aa?ip`_CeMX^SV>(5bQ=?Z?#w}kz?@Tk;iCG&E;x1@SV`JN zn~TtxKrdgVxVDvZ5FbkkN&J+E!~c$g-gq_B&$kx z4qJ?rj^uK(ekOZ1u==0E4Sk zMcIH0C{VKt=!$Lq)>F{%{}H8Y=skeN>8~%^7vA$4{;W+942{wA<+umj5O9%mrnEs2 zE$KtjlBfhhHgR|?ZZO>mSCCCy@8Wh5YInHyb_bPhV7dutatNR$iN;lRa=wzPNv3hN z;B7}I(ULBqC9N8xyA0?SmSC`IkcJVKxC$-lHk2S5FLIJ-TR=NB8l!Dum4kXu5le!N zm=F*fD4I_1ffT3&v2O_iCee#!wFf5PzGsS3B#9-FfU1Mk0ZiL%rd9=NRiIXdDYYuJ zy#!aowRfpi!D*gENL3?HVNep7zzfz?%sMDPYUQk?R)vjP!!B;jNSzN#C91@my{8lLzy@%2sxEmOxb~@9oK9zkeKt;YB`%qCJ`e$GP`< zFifM@lin~-+dzL(1b~(sPo|SI8+7425L_U*KyZQJ!o2nP-ou4xWRyX>%4BdORDz6) za}W>*2ix*mCxQRNYyS3>5Xy}Fkbj#&XT7`~;?V%_g2e}|z&SI}vP>yd7AiEAYE-Uj zbeC4b)G`NcxYs4XobUMfCfJtK(*&ozGp91(|a0K>iKZY73raGK8=(xCm)VqOoQHv)t7TmYXL52Hm#sw^DL6Mw zXLu5v&eaOc?3jnucV*96{d8;R({tLo{>4`ZfBov&vnL1hT@OARrF?jR!qdN(lWCv0 z7x+oAL#2C*^|}WfDi}%%1uLDq1c#ROv)h4zcBPAmHbt~4JbkVfFH$=OwPPT(?2?|i z@;$bY2IwHSbhUf<4wXof&?X94CDp!0JBBRY)xo8zZg}k&Ix~VVf|a)i^V|a9vGbj` z1RGrjbPH@C2GL$IDv?|UHg*m@?$0X&4D7oVkzR^QwxI;e-m}0}#RHnQRSw7+Fl|7f zk`A0Wi#kbRcfALcScZN3pKT}5u!`W9q5n5X1R%SNNAZ9E_k$nuWHcMcd;sU_SAz+x z&j!O62ZPDMU|2qSf#IL@u-!*M4!b6(BPLM2#j@&*3D}|bJMwrd{k0YR3RB*6iDZZbe>4(iO>RGlh>g0l$&5hgmsTt9S${*E_jPbx7SDmIh6>i6g}x7)x)E2&jmM55mD z``J5wm#ZY(RSeV@#`EIH){|rT6&@KoYZ$wpHl2~kVx4qGBK(l56YpOl-jy!kWzMdM zIY?KQ@CM-x!W)D)t_N>`fRkNlYM9m`x2mK72VIJy7zM6^v|Kww)rox?IJykzc94&e zHlU4^00@O3a=YHg?fNz}a7Yc|SmShs#5QUY#zFo`L|$3vM6k)^z{u@-S9rgwihLAI zuvk`v36#nzyGkZ5N_!C=@(Q$D4}~%o7>hwRACorv9(aIi5LANz33^PJfG`1Jg6qKq zCP2~&GBp*i6Pmgix*GzxGgZun=PbFBsRT2`SXvW$+EIspg;tSCzsq25;Q`^jm)w%i z#AR%ytzpM~dDBcK;Vp-jlS1$x5pA((s@h0k0gf0#^HXlOUgRN9fapT(GAFj@K< zwo~`3FF!({E_#dmy>p=6(ug1~!4;`5UA@0+SMr`(3#hdK4}h!DvMErf)&goRc=Yfg zR?sz&h0ti6SdDCs=SCyzr~-_lL#{Z}$)y;gZ3*ubsILX;JKuTB)`Bhrx*4nsbg*kk zz7+O3CGRg{=>Y2|eoYbkICooaPM&?C1i3 zV$F1r+n(Wh_+FZL@w{Cn(eF=dfpDd@0LyA0NKi}~;MvZo+xUa}L=&HfAOW6#1PSn{ z4N1Vu$HH6-jb{}^qfG@TQC4Lhq3)o#%{gGKPG)TvC7wl65+ooNdVCf4>V7+y*{REs_iY zPk40P;4v@J))AOdm3PegnBd?L%441&!KRDe3W|LAG65jLVp;8h38e28?J3j=7CWuf z)LQwrE`n;9=egTZyGN%Y^dF!6{vgbt=QbX^n`?|h<|)J}T7vK{ytMm$W$<@PdyLFzp>uA8MjEi91_y6IA>qEQ6Qs zb}6pj0`;LSQpvJB&}A^Uuz&#_#7IYmZI@wztzk#tb^~429+f&$zm=wJQ0-cJmO&K(D3FouB77C-}QC!m;wf)#50k3sG%=Y6I6+ z8*nNcv?+?pN-%}szJMmh1hPX?ENIRwjAu*km1+Z*)CN|9K3xWM6Ay4Oz`X__z(^Ba z=q}QQBw8~9`ZKB&Gz^>p0g72$Q%NgylNE1#U0#_~8@R^W0GGYRvf2X^2q=*%#4n66 z0r7>%zF~mxFC!b3BOSQES)($FBY$p~Y`->RvXgf5|BFwVyVFR&kg3 zLemo%DNc4W=r+f1US@4^Db)vX^Iby=K`nWcL4Srlkpy1|ji<2$yF#D@6$WHQc89_L{! zEj=X>7Y3yLL)t&oKTwQt2@hNk9^h8w(#rz6vjZM*XdQ6OA;XzLezD4W*V-&mjbN=t zu=T!M@`bt#<`x!U!YavxFVPZ)nY2L9(*oTZc8u6f^Mzy`Vl7y%WK*<%>WKE6q(o(G zOdfXNIXmJDl{@=7aR5U4`I6cL2cR|}Vb!e2xtQdI9MuM>Hh>uP@$one55A|`Kz{*U z3(x*cwIhDv*}Knw9_X+B^-zBCX8QA+SNxxo@6Ee!2hYEL_T$gZcY5$<_znAdQ0NaE zq_MN;m}&#l0q(iap8q7i`TEf>FWJ+dU*z%gzdd?*dz-ogN8Rip*N_MWaT4F!xE5z za}8?*FOe!?f=e*LN?)kUfNo&|I86!Zd{L#O8o|Cj1h+w7$keKFAv!n%)ERAeMNkf8 zyDADW?wB=_dI)y=5PYn@;(`fGZ?UZQ!vsQVDVQa`5b=ey&3!zR2VsiPkZUf`S<7Te zLJaF>^P_nS?R+ce+pR9lh!S6@ODsh_#ne-bl}3CaJan$1e<0YPBG01IIY1~ep&7Ck z%2k<(z?5rh8>vRH(Lb<7Tv_skx(wzP7Eszc2s~-R0?o8{5f<1Qc8u6f*9J6nHl$=t zWf3}5@MMMjMuVw$7-UuSJV^%hHN4;;XtGYX<4e4q&jToniGs-2Se zz|PJ|!UBW^$a~%(i<((wg2%lhokAs7^dOq z?PS`6TrFOYvm5UzZoqheS~`-Ox#18>EJ{O0K|DR?Xl$K*wuHZ%AM0GAyt)?6@zNLCmwaCs678{lTknG%Ip_ms+~+icK%y331IT&ELAu zdZ}XFuuvHjLAPTeR<3mD>);uK$SBY@;ecIZ{So^Hr0Xq~)P6XC3n@A23tb%t>@MJ4 z9SeMSlE-tm=1(5X2{vVkhgs1dEXn2xI{S{pFucge(0#`%b)0*z2g5XaJ?Rbev}OKJ zCTkl{rjs)pbRi{E{{Z<9kjBudrvmj8-|K#2YigrBPyo-R5i*s4#s^+mhiHbWrcSNF z>g}lylo!Dd`L|h~pvUWXye9^D7c4$#Lo}UYBOuvR361AOF=1CF$fyrewVVUgY=bj(!oi{ zdffK7nO8XGTZqQ(1)ch@$Af7>HCxI3O99kkSFD|raXEqMAY-Nd{$Mf<)7j*+Q7YK& zvvCg7w%d4;$FBx4udikyjmySKFd0$0R2kw;UN*MULi3aWrhU_twK+fH`gN@k$Bq+U zeOLCJ)lb{gS>O5eoVG4{@zud!zk2rU$-#WrgK{Z{2ZHf`FDKJJEuRgJ@r(+`txqfC zaDW$>qGwDWqSsmAS<|k&u8;-$z(ScZ4%q><*lG0`YM*;uoM zUO{U*GFv%V=vC;xSV?Z;a!Lq}2jO_|ZXTSMm>e!kqao(5>m7h$j<^A^$L)K5z7L&= zAPZR}kVOJnB#=eI^~s{vG6-KsR;3y=45iWh9N_y}HCe`{cD0mE>yiEnz+f}j`C^!s z;9*BtfNu}R3v7YcIEpv<#c2F?JurBfjt9fRWLgqcuXYAS8(ZKwmqL~#Y7RO{Qwa%9 ziPFGd!E-dFqM4wng)^wk;MIM9Aj^tP)nzWXAd7ZRD`^4+a%k zQ7-)SLGjS){WkZ|+D%f9FT-${k4j0LumWKP!U}{H2rFD4RzMlUNn=cD=0kE+X_!9? z_`lT+e4%U4Ir_QrTE0V!EE{YL4oO}vJrbf3z^9hkRNSY)qK7b*E1l7Iv%InOx?Qrd zy3FG?MlcqNHJ(ZvmtlmhVaE-0)6F3X_i}d8Rz^TBN(rVaufV5aG6YC4Fca+U7Lz?? zJ?&s(c^jQYp|y%ZI}~kDb_EqlRaQi;cv3;YGri!5Ei%=LZM6eTtiC%Bft;Sx77+O` zOf1n`thqgKiiFy%)_6AG%DTq4dHQ-Z{wQtvNjxXk8Of4dZ>2@v$!lA2=oYVyebtNT#>WZSD-*hkfh-bpvx8AUd(dE7w;0i zbeYj@^a5*McyX0n{WTD?7FSq)Y%@iDN=sjEgm_{J4_fZ~$ETrRaRP8T%M(4n$^G18 zcN&cCz_5f{E4EcTK8`CiRcBTSZ4m7{#Qk*)XcMbBtR}TFbys7IbI)}Zjb1)|+h_d# zoh4|=@F9AI27ZfHehIxKXB&f>Y>JsHRRj8`+xuUgVGX-|96N# z7Y4ET{uBHeq{YVXbI<*)lWNoXW8LLM^EA9zoa#UN|K0xcpcW~Ftk6hTH_#7E4IY6t zXl>3X=Yrv?HqBzw#pRaSEZrfCBjqqbtIy)Q(=MR$Z5c~^@@g=_=7Zr26r-lgfqgoQ zG3S)a*p)$Cu8F_RR>KMP1=u(Oi%PW8K#KvY47J95*47DSRn~^f#omLH&ql*$@M1Ra zFE6Ka_+J}SIXH>!Hhj6yt)I63=4Ii7v)AxpX7uW_b}}Bk!kj*Svgoobzt%8M%U5LrS9ik)SX_@wZLHtkktvTS{jIl1 z|J7hTg@XKInN9k?w&yZMpI7;LoL2kM>J0xVcP_5(IE>$x6P}J|dGXPiVfhKacDiC7 zKY69F^&fxyPuVsNCr|TqisjMXwdI=IkH#<;o8QOnX5r)nov`Wivh~JSgM$Bu;pp?x zaTp8>BmU{EX$Eh~8R5_Dw>SKC3WMLmFZoUQ<=0nlj`?W(Zpvb>e$!j-+>1w}S;DUr zr3LKOURoZ8`Utc8Ip2S7rtPuVZZeo^*oeMM0A>&7(|ImDrB$5XM6 zRF!HBT7Q^uRT2$LTr&%u0=)KjX1{JPyZ6uAl-OlHw{u_8BWd6Yjr$sMUkjmZnjt;v&X5Z{X$SFy8(VO4z z`@x0V+Y7jX5>FxBDoc6WYvzO+2sJ>^r#wo@nF*PCQer11_S>w)UZWSVt&~G<3*{A- zE!ct*tXN1R_=ZaXp+c9sdSZ}J*&!y?QnKX!j==H1Z4xe;Ec!C00LP6Na3nt4WLyoRD) z1?ottm4dYIgiw{KEsxe^omuf#SQXkg#feUl+qvhuibgM=zU?#q05x;v9OQ`VDkcc5 zmJ)g8bre|ewG<&WkTfisNGR4`v1ZOtK`B+Q4_VgRuRe4-!EJ45SAM=QRF@~ZtHSDS z@HT-l(SR#dc;Mg;G5m{14lNX>t+gn9mVX{BE_Ye>#DA7b)5oiso9t3(ng%T;8m$-( z9w6Q|P{>6Sy0NIJH-33#o5kgFZg;+B&aPH7-+x9wR?WOrhR>Fesb-ELp_+L|_qQwY zh^S@`JPC2%4Gmx3Tf}aZ1pDwR=;wz(7gE_uR7Q;>FUgLOl3-*^GGUGtjE4m2Jy0ENRV&6T*}#GZ#Ze^NbI7l zJrOt%40LCIpu};C3yV1w;nu79@h*y?AHMIKaO+2CIbaYJZ=baL;nv&Rb8vC9$8E7p z-RzF1J_G7AAgD@E^&9r}ptQAKm_eZu>y4LKB|J7=0jSPEkXQ-WE(R+ZosBlY#ZM^r_1W=bv#~0QTmm48UTnc+#lPceNG1o2~pl-1AoFkTW z!1=}0^LE03tl9(G5xE z8X5}ys$mse27Iw6iW)7hCb$B5FYiU(IgN`p%Ujcje9=kn>OnRd?gb*NDq9IH1_i1D z9H?X^@nHASTVH1gUEfF#GJ2o`Z=9(Th!VIpeT^paMpjPiMr)_J&u%&VcUiZ4=agNo z|9Jn|JS`AoDECrYKUL#S35%!In8q;{n%zSB#oU~3x0`hg@v-TjPPDtUW*?10dK8WV zNP^=>A^w_&X(509WHdTD)t+N%1m&rcCMXWZ)<<4cw z*N^;oSdV7I^lg~_Fgwb(|AGf+&$s{d=~vaxd|-REq{|N72*eal!7;-J1K$P4VvtRL z8TU|+c?O^7gSZnSqq&I3DWe&$yUBd#3!E~Vl+h%WMI!1G`(aS*a(chb@Y;Vl_>Y%4 z98F)s`YGJ1jAn-OvV`arT5*_$_jn!Q_r>c?`i28r#tY()P-O6fO zSa9z+p-tKer?{*I~en5;DibAk(hADMq zpuh^yP(_!JOy42lfO z`xr4_iHF?n-M1t~bs5y{^g$txNmlgLD1ESje!C4nMs8Ui>`aR~d*m|q=QmVbcv2UzaN-cS4wNqz$)Y)@h=}%qt%ug*FcC=W` zV$3<^(!I5H{L3w+ckNXMs!fGnX#R%qez6|*2=9gOd2Y34{5FU8=!2N%XT{ZgvYNZ= z59-&?Vpk~Nem^Z|NfA9o^c2xkL{Aa@orvg#jNEwiAVi%Y8zvPTqMS^XPqD6bY^>+4 zCg7_)oNk63e};&@`-^WG&UYEn?Qote@0_`&j_5^bx+~t=(tIlK^JSde2CCPGrn-+k zu4H+Rm&fvJhwU^1{q-HT;&z{0WDR^AA+vDWN@b zzO86_Yo6B6^0vn4i<^AU7+u4EQrzkk{K>378pOv>7NqJMjnuc#Wi4JGoK&aYb1TX; zh3pivQ^-ysJB93bB4n3FT5A|OCs{-zomRXG#)K-v{1k84(lb-i!aE6se}<6#3U9z= z?A~Q)w_q5Sr4TLHaFB11D!^g6We& zw3M^VwSXgfSzdbt^jkl=PgsB6&N%Pelz`{G#VXh@xOWBgdU=}@@artZNq@65@8)`!mRX59eH#fR7eGj-5L7%rj(m5Z!ULj8)`#TF4^2llK%|y6^<{ z0XAI@gzGt#jVV0%Ipq0ll-BeNFmRJRel>{shy2?tPo`~|s)QWzO&~=Q0tQi zgD?fL7TzaNE`&-?p$H7?X7i)DkKlYOhpH&Hx=@>c-Q5s>pPYIdmLp^DFc{%){}kW8 z_~)ZXe-HZYbo_&z_J`p=$HQNqj_r5Dsr{vvZ^>A(la}p^0cah=a9kdyk4x`7hInui zpt6MzjKOn8^|&|qqss)ZZFungyvhEu8QpYS7}dXIv@#{INyu1{+$!#ZUW2qj1((s} z;5`&*tu|mt0hrjvG}$LnD_&N|&T`A`HC80Jwe}ic3e8n)3AegT`ZnAuTpy`OsFvW? zorPOF;LuH2!gJnRET(-yj+H`-yHiiP-Ss1?3Q<*vszL-+s48?PszQ-9f;*m}DpIOK zH6-@E$)@r=dDb-9s(8EFvr9H;k+dz@-Fb0mJ&RjImmR7o3|{tNxTzd)Z7JJ|3jxl3 z?Rl&-z}G#g3bhz=((f{jTi}Bs5oawU@UbuW!0pq$cjQba7<+c;%Q(BsR)q%T7-3D_ zpwXLw&58RO%e78b(wbZF&6JAe4&Q@rcIF4KUXhtcrteXKk-U(2gTJwtK7)N-pzP4gbr4E{N%IIuo=9VjoVW^72-c{#=k5(g0#HqRaqQx zbrSE>jkcdE{F$*{w;x!$FZ<_R=-KVhyQ&X!$DCG7F<4hL+SqNN@%dZK)5<|(gPFSg zu^X70jWa?2)!JiYch3{f_K&mH7+3&z!yMxDMqHk9|L>2=sekqC*^{T`!v1F=A-Kag zqs-EOo&Sv8w9>f6PuYE4LCU4v^a9(Sy48H#z_K|#n>;?VWY(W(ryE^%w{35^y12E+ z``KIdHs4>{*R!$CZo?gQ&I_lEd|BnU^{zVSv^Va;UGK^EslD9&$!I(+m#UO3ld*W- zZG4)CMVIDFOy?B0@Z%?ChbA0N^8DsI%0*fTDm#yd-wcKj+i9Z`UB1MdbUKQoqp}D7 zJc}pzcln~+8lMj))A68&Mdm8j`aCybc2v%&Y_$FK#fP_gR<_Uh%!F*d9NMYC7}agi zc$;sx_9Q3$X*_A)kxv%q{Kw)wIsdxM&gQFebB{8ww{=aObCKngZ~DE5Q`^0ePR=gi z0Z_vDRXBP)glgGnm`<1CaCThh@pnx-b?wJuxe({hX3MwJY8G$nG+p{yS%q&K1kv`& z{-<0u9#-3aX6-kpyPP_^AsW1!L`T+J|e6egsH0K&k;! z4UlSpR0F&dH9!*rYGwv*m^oNvWsznMTCgfhofV9!MHZ!=aL4G1f66*wm#N&W11j$s z2>G^f?MWDVp9YS3DQYwu$9%bl+?l|s4E5zY&}VnK^L4=Syw|Eet=jEZc-oO`SV6b7 zbm3Yee=GgaBA#U`=!2D(fK@kZWM}2w%4yzEvg3+{jzyZ|^bXtt%WEUPouJ(wk?qO5 z!9h8_tn)$4zQuwzwY9j)ebR~N+>N(=bj~^LGugkR`pX@~*mj_nyKjutAYG7KEwgrM z3Ke(W-Ayi*ObsqzJ@JKfB0juQ)^U3g?o5{9@EU*0Z*Ql}@S#|IxsiA~?>x^<9o+;e zoI$X^4Q}pTK4|;7esjF=?Q>as2k$PXQ;LXEM3f?;6cMF}?nH`62?*+Bki#Xohe#3O zUoHq;@f=yOMk=Sz?P$Fb0ntlo;?Bl~W$ucJI!Yu>gDa96|CwbJDrFa44U~TSY2sIS z`7T>lyUglVwg}=d;7*Y5z+{~@euYWcD|xha{B8-P?cKJLNX955bE>N>0!+kI7LWzA zyn@fXs8eK#*QG&V4>I}IkM2V#KX2#vAeCGAmE^hxV;V~ur1GSz5E_t<@k|rC=A5b0 z;?kK^zB`~@fTSCs5Nr?GrP24|WOs2qM947<0hdNogQ5+AHTX3`&{i`YlFy9WTArnw z@0Y{_Y~0Bn|M4WXWUIxg?I4dc7otgc^VBZm9mJijLeW=fa*b+*4aOR`gsNxLZ$BZ+ zb4s~-{N$C|+^!3G`MlhOD#$qvCr|UVu*F)YNlEsl(Qz0IzeQuh-{IB%91cLMJO-U+E-oY4776SaAu`vb zDp;NxnS&Fm^h)mm+;{%)KH&YL1H1=-hhRgrxnY%-8vL}FRaJ|aE1j%|uTikh7NyV5 z0De7`U4XC~fbF{n>zs&tahkgTy9`0`%w-j8G*&BR%X3~s4Zt-r#=so&^;y7vA#&V# zT8p2*Hl&}6+%lj&!y^licMHsK(ekbhx_{=1`kSZ!VeWu!WyyYkcZ>;ZN?GJhJ3r?YVM?L3FMIE}UEb?1FL zJ#&p_?9%&s^Qqg;_QR4i|2tTN^M21fzBl*rC0BN*Zt5~g2Zh^tP=}*1jOPUoXYb3+ zm|*$s+HH8=Cg(qtw}!Rby}kVH&bRa4LB!{I_!hVHeYk&jUdpYzVar*z&)ba$@r^xm zm-pD({k`ikyWH%|tynH*b>gSNtkHO~UKTLye6W_7;JexM9t8y(S99y`$M$`8u?mtj`V2WIV%J}&YR_v&sw=Zfy?9lgAq)${92cf|5>_Ys5L=W-!5LD8&9lTpHbKe%64DNt-DuO(ZJ>dcr~fF^sZdqyk~C5 zeZzq>cjLLzFb{7vk4X0x^{;!zBO2q5%+HEi*<@9zxqkN0`dRF%V6@*)%UM$24^fAR zIz-eVq7K~&>QG}rnwMw?kgN!H8{1S~NN8(=Kwk?En_wAGdcQ-|p;#x_g`>+sSq~Pu zL(ROdO~Pd6`faczvc0ChKjsMiPh;y8M7 zj=PX@_Hc|~phQZK4o#Jut2~RLN-6VP9AAV4*P{IMU~!ZS2|;V;wAlQ*Xh0%L#)7OX zBP6C;dr|o&F)-Y6EgNZc5X*+2_9R>K#(&*ifI5HB-V=cO+35HL(6k?3g~3s%2S;Gg zphM~=Q0lp-as=`2H{k`GrK^q8T$zUuUM0Lrc$M%f;nh2VS4Ci1B@4GdC(#(f5c8r% z7<|CSGkhZqtBb0`9m1lC*}dPM(AMqx-PZ?yEuJR_^LGD(&qgU99tg(%y_`h*=q&a(uzf#1!M!UW z2>~sQiuq?uA98=lbTMHlE03Uz`oJy>=iYzwj*BxeW|F4_V~VJC(So9meL*mWU<|>S zI{{-{&LV1NDi({}UW5g*tD~w|iozvTtJ>Z%7-N`p$js-;qwoOnCf%T08Sd5SRn7@g zQz`h;!+Qr|%q4H$C4}iRr8^)D9@^UZ65b*3IzqVhc-V}_$8B3=IKt=4$h>tXo(H{a z8dGZ942Iy#kl+i!mpcJpSfeeX9gh%z zfoR7dJ?65>l|`6uLBPZFuW)pBR$(6H7lYvUFgN2n;2`gfl<`<*!+x2Ac z!*o0t7PD={$*)RWwRM<{EpVJm6~q7Z5T?ttZb2A`%Nfa3QHLi8b8hTT5atXwXluE4 zuHKYV$CgSl3K`>b6poi)mHl=J9PfH|bS#6Y-s09L9C2+pf*4(E@Pe?!$pBP|F#uIT zTlx8XKnP1DFdhfZAeWH=OT6~5aH)c_=X9(=U{Fg^0W)-(Nmky7U*`N>=I71)E zmtTJAz5Vi$eOOYq7s68{9Pv}rxBYk&2FH{BvNdsrGWhesFR%7#7jLFNzj?*~Ir-ka`*!gB z>t{dy+JDNFVs(KD-eqbD zPmBj~cy!|XtwJa2H41rCE|6-cLO2){vgbzFCm=z zuB}y;>`Z7SQxQd+-oVR-IwaD`4y6r|+JTytSgQn9rQmQJhUif_Mj!?MAD95G7atHc zQFS7|%*dbgjt6l(YUSPI=y(}$mYZ;RoN*_n3B-Z(I748tlygpAm#_iWN^M+=$|bX? z%Ya)AD>P+_p+KE8ED~C|>BiQrn0mW8A&RwtepLTb6t@Ub5Td}Mx)X>3J{VT(+*DaP zFv$f3n`?N;RV<@Jwsb{vQydTPSasshZHdxlPHz}WEJ7XJSr=rtmm47+y(D(ELD$D` z5V<%K+trL-jNndB^Lz|(;gLHHM}N30JS=JWRl7$!N_X87Wl`0vM+w!;2gOIA+$w86 z19Ml%MH@ZQiA!<1 zwaqpqo7bHl(z&J!MZt+)n$$@So%1FHgtzyW!OSQp>l; zua4cx_iumx*Vpf!eD%ZZ#}^Or>b|h{vncrx0w0`&luE75z|B~y9`^=+3L~b}uJHNe z<8c@sd=DRl$;-iI!@61jA_Pt~y;548oeXg+b$IyArUPvF+4G;oH(x*c^z*=V9*A?IbMg7 zRzsMv3>I-Le9(gF&%-pdN3m$x&Z^dxRTf7{=pJ?np2{uqVF`EfW!#T!WSz*o<_%EFf14N_fY305N$%exC4Mn|7gMMtUemV z$4?62o&)}G+LFZrxqki@fx;k`t^X)bWvWJg+-l^Sjnk<={oi=c+s0-u9?Jv9NlV2_@9i1@-I^ z^Xvn5)(+bZ=B)3q1#s??uzGh;L&yTR#x#E%Wbs3uR}?4xluwREZws66CZw=;pGQ2J zO<;q_2}cl)ARIwBf^fv0z!6gACMn1*vA{rDw!u_&_PLT-HpxQlTDQfRon@3ShUtg= z+YBnMy8#O2C+p0#R7nqv0gv3+`sHEV0Z*K|Z;`i&aO44QG zw($aITqu1_a@MO0*>!uY`Zo?vH$#*>UIaPU#8_PY_L-P!70aBS&-ulWork#aihH|v z*}@1N3#A>3AUl6>m6pDsWOLDuIN!6yk9kR`VoDSYe2N%6mSlsQhcHA8 zM8&$eBMIE7$!R}Q;alLw34;;-_D}Kci+?_P^!K3OPRBnG6$=BiK{M+p4DbTdPs4SF z6^=wyEJ!fS+vPfrVi~|Q?Oi0VaH%B4U7}(stvsA@Dg(p-@m9sF5S4;1v(CEatTyfr z$}9XyaD?qJd0RMwDd9m-vv?X_gCN@~2rWN%uBtTQhMu`4v>#4O~6|j@X6+Pj5tSjrA5c_PznXgQ=Fi)`0(i{`kxP{eOM_#iJkpc6bm{ zII2$GqCtIlaCl%8@*N(}UnFlJ6V4h4-2@JCrU0re+S{O_$q%Z7hjVF#>D$96d0h11 zK{`7a3^5hxZa+u^G;M&!`}Xi)sUdJQf~w|ehx}*=fshP2f#Xi{#UJ5h%Uv^wJI?t- z{nl!T4zLs;0|x!SgI9xaaKR5h{`Sl7t~epjM!)8zYU$zM<}AR2Y5DM=8IO(+VnEb& z@Om(PiM(1f2G9Rs&>RdivUgSN&bNSn=7>09B>K2HMo+c4&VL8NPBG{Qlti zB4-9+iGv5-)D8|F6qT;>6gs$^R{qBayn?@vM!%LTz>R%yG6I~Q4#Lr52=O0dbUYq@ zz@NKYgY)HRhUBbT8<@qAe8_uf`PM#|oa6|lxVXHR%a4E9ADYg_!!p@hi{%J+!R+Ld zgOXgDOxgwZI2|6;fBEW|rGI?(;^e2FzdDxF|L=JC<@a*<-Df}j@Wa2p&2JwMl6P-^ z`}#lsDfq9S{^b*d7VUalJHR);eer9b{o|Q<{Eyd;5#Co%pRj*l zK6xOJ+2gLK4(315M>vco!^M9+Z`Z;6GmAauWR%l8eI6X(#=tQS9+ovzJ^lRa>dVo% zdNL19AO7pdAHMkP?~m~-tS7`JSKnUGyed$AF^r=Ukd%vh@os=8dddx2%5wK(lwBdc zgcgam6RrOXL_@pmjR*AN;Zct8YtAPXV!>D4etBKJtnB{3%0FFx^-Xm=spcbEEnW-N zAeBRONlSG31;~hF?oz>e<*=;-EJk%nEINqe+;My{LM6VcN{Or-YIBtT_W@d^$9M&N zI-A0=tINq11&Nbsbrgm#X3#AwN6o|P$ETOwZs%&*^$y)!u#=O~aFW|- ze}>l|o_4D@z|LdhsXO0ej|KZ#3F@mdgyYdsxz6FJY6JaCF11}9PsZWJaoBgSk1$`$ zLvF6qE*J5|n-hp~Ov+VMyvq(h0qm5mH=hj`Pfj~v?Xp6vKBBMV!4xa2v{vD{QbD(U zRj0$pA+_hj6^y^ToYMTbb1uYUojPGuY8?93EDVR0Zyda>3eN(KsZI+WV`@4d8k&8} z7TS%+!3X`B!dNY%arTMxk1w7+`|;^vi2%509eQCsr2lpJp?>-)V!MdP2m05se#X=4 zX^sepr|l#o`m68+_*8N<4Kv36H{d?vn3SK+>d)KGxJj2$MB8xt6nPq^pBylM@Oh3{ z&)gosZdkKJsSp14&1J9S_6}O!>3`3|7t@#JHbek)$r-Gk3vvFWyyVeT|K;~pef+@> zvthYGAFO42mZ^c$S1;o0))4w&{>E7RzvojtkU#xqG#nsM{$>@=e%3<#)neJm9c70b zv=)^>ny7+BWUSydrz?0#I=Ii}y4LCT`tof`&%C>chv27TV%R;{e8&X zQMX^e&AFp1T*3R~j;`=?H<&xR!rAVhJG#P;;E6e!jgf}lD|d9IAEMmR`RORi9o>uE z5i)YEYwx6gDsPO`+~CDa^pCX6-V!O`+f|IvZ%coZ%?yyP82qF8|NH+mgCq2MeA@2& z49QBoO^;9hO|Tak|7uf3NHPfbjLUzM4>iNT6#o~#0^r2I*P_|S<-hZ9_}9M)RHrT% zhQVeV38*eet|cjdqzu$O8{JD|+4)%BlQh=xJUTwT^A}mHlKEnk#hT~fD2s($A!V@^ zdEnmJG}#;#Uw;;>O&36m|4eQ;zMKtz&FPY7*cl-I0kf9N+`vs{!9KY{R_rF%_DqbxsgUW>9vB9So#0PbeZ3$NQvZeNzkn5 zOV#7YPy4Q?yX^i^Glgpb&_=EeRX8LDQ>eTYP_>f=%}Wd&OiZ|_tQU>5ovwa<`km8x zh|Uf_)K6cMYE!&Js_hCHvjti0zq)zGp!#t#o96zj!FW0gN8jN2g?c=q;WsE{l!E6? zG*+K?QoDqk*!ro)NuDb$Uae>1^IXr03_D5JQoqD``mr6E{?so)c9iE^Y=TSNp((n= zm$0nbv&ZBP^-FkOqeT!Il3F_ubc1kJ&~-%JmusUX>Vu~Bnnml;bd!sHBR$uHVkP$R z**Wj^{#*7%cNyHX{R~jjQVxYp<;?Z;Gc2z2!fuA%awD+$Q5|oy;Vqf}mQMpNYI(W^ zS?z8kIB%j)qpwb5b3ydB-2_oHqmA^ciV!@2JDbpGQu4M6&{t+DYbCYEudb+Zn+tD+ zB9=3A!LN7eh`4+V7Du_b&3X>^a_O%sCC%C7o5BWvQQ9^j^}4E~v`NYm*P@nuFqoi- zUU-@>FjbQtwkyLm-+g_;){ec^cC-4f?D+vr?@^2ws<&8g6K7s@z&tz8%$ zEh;-tHU=}|7QFqB+xL)pBDg{A*~7NQ?7_Kq6$Cd%O|fb{-m*a1G{KF9 z74+rN+cw;=*+R@19xhEp|E+Q`a`C*0Rnk64(O468#EcN!IBhduL5dwW>gu}>4>y?W zEtcaxaD(-vLs7;%f*ZN*9hvk`A5Z;LPR!-7nW`J`jAydV_`Ny7tAJ}RtarZsXd@YV zO5iH7;kr8>sX?JXNB8l+O>?^mx`PRBc>Coe`>;raU3g1v4c;OhL2%Quh|iu`Aq|V-yB;Fu{pT6$x$-+;}-kr$!qSz=f07 zC7S}FvzDsRO$v9uIl&DGJ1q-WqxzSk%bCD)hd^vDKn%X9wGS3*)e0{aB#%wyGpO>J z$DADAG&u(h{mHByc?hIR`Q?{ida7;!v)XX+QpLD!)P6eB?5MhdrpD0nVIX=|Hx`jk zgj6cvhHRj#jt0%#)F$Lc)XEh9CaP{+rMl5&a5v$G_S&PS24F9i2A_ zZfp_32yQ(4@#p3{J$N(xhN>HPqPl_b2JWyjR7U0iJs1H>hmLinGt`h{G)9?1>mj&t z6}Zu5a5v$Gk_t8%LY0Cs!HxR~H&jSQHI1$!dcq;y9>B6l&}RsBtQlyG+2?{b32xjt z++eadUyggA4L}rU49cFIxKvc!xHw}JO|&7bv!210kI=@wpoolL^L!yeomso_-&tXfRm5LizDQz zj-BC#EA8c)InJafxIu7(;0D1Bf*ZX(+8hXO#FzOvOuCNQ9jb2BS)#5{%PN95UaA}5 zQbkb7vv)>o3Ey+>2yR@ly3u8DH{b?Ti6CgBRqMMzT&nxYrHWCStYcHL7(}HInnIWg z|EjI4Ve=P!%?sKjxN+lfgPY!BIqm^BgztGM%P~u6gU|+{4MH1)Ho8X6RNT1NCVvcK zw+UJ}75c=RN(sZO0Q3RH9H}D%k*a3JZ;Xl?S1E3E8Qe{@;TYOytg_^~aes>&vKFCn z4$hiQLU9AaEU?eEz6u%U;l}$6pFctyP_Vgiv;kVwVma=CHcIP;LbZxqH^$T`PL1MI zf*S-k2yT$4ICRs52{G14vC0~lL$M44fGh=CH;ikFp%Aahbt7D{xY1>BH{pg+(s2z5 zO~jj2+_;~`4fx#D5xRSoZlXh@cxm0xPF6{%sG^31YC|%(vzvz-_E0JK^|i~fGu*I; z8pREzB=^LnBDg_tgW$#?!3}~N1UCRT6sS~nqw6Z`29ZzHs)F$tByybOwkXHfrqDX5 zx^b22Mwh|egd56P;hi!hgL{9g8(zAI-VIxEj}nJ+FxB)rR&Q*mkGFdTCQu~c}9D+o~6@L#He zRVfD^ppskqr3h}^INac(w^)vQzzqpcal<+KuNFH^;&^Z}9gK#p(NVORag|*q6G!8Y z3(yIG6nW)?VJtAT^T^`4GR?yeV$&`du!dKhBfUjL1}%Ifs!BF6rQs zFck??#nCYyxK}d~yhEMhCNh@rsfJR;i5Xzm`6;IJyi07E3$y5BQWU4NMy9qZ6 zcb^Gu2yR>y8+DQ+#`;|bJlt7{r^})4sH18 zZInC%+4BbWuLwTTFcrXH%)+K%BPtys;#Uc7oKD!o81u6CqHriViHiAWOdl$9s7-IN9QS}5ob{OYMtRb~rRoM% zH>kQn)eWj{91@udFIZ5>U6g28O-aM#56v4Dl5DY(D(70sIw1nW+nTBySE+7v8Qe{{ z!MOC!8%ezz_ZMym?$Ev=JWT!=JjJt?Rft>_kp`ie%1pD8Tqd}2<8VXq-eNiK0XIs2 zxzW~Zs%{Y6AhW0w0#d7QnH_V}8Jt3R~P9ZWC3E`3u zE-6z{t2niaQ*{GTs&6D?3hb#Sa3oq|fcQTHuS3HYz&1KN5vjUyRk+b*a5v$G@eC@s z=%y(MfZ)dH_+&QC{a1tWbhhs_tl_TP1vhlc3`)4R5-tL6IH*s18Baf6B*rMRJ0omg?)sGa7>vnp_@ za)Vk&iaFb8O6>!I4{@ok!lmjmxSME0gG&Y5H(#>bgf{M{4sNo%0m4@mgpwglrIW1! z_vjhtsZK5n-{_)CMrh-P(S|$t+j|eL``U8@1%Oa1!t3f(_wHo(FW3@RtO=9N_BrbH<*l8 zdteOiA_|JihRSE7s@l7lM0C2g)F^(o*Ly{mx=t#UK9m~n;O%nkj5YvKSdT-^$~f{A zC%8dygWv|i4T2j4H`?NcjkOXE#SI=Mva1>Gs$S~KagilQal_ie>Y(Drm5Li326q!~ zaIc+E)|ZkJ6*ul@af6E>Ap8cK4afqZxWRo@CqRC9-l&}F2A&N?2$hN(H(uO;J@{fd z?g2MsaouoQlgS^+;F1h(Cb&UxgWv|ijRH4c#n9D8o62&B&J6~WzuNj##mFF#3$*Fl zk|M#48;2WA^%l!<54a&9gX^qkhD`pbxDue!TBwCe* z7^iTMp3hFH2A$)LBDit%O}Gl&=rXt)aDzD`obh0OQ+4Csn*1@P;N`$|Wt-Blp@H^Y zHnI|4d1dQtYEG>iw}4EgV7vics&+Ych8yZoqq-qDhpOLVreftZ_?kA z$Gf5+1oX(@igT35c%coB$6?s}Z3Y3omxKR!nZwcaWen4B^ma1s&8@WJ%P<_~qY1YD zJlC@qc+$qBFgV5s#V4`67K_`~1n$1aVHjTI<2)?;j&twzV3fhr{>bEyO#c2PCVxKbq-4r400@Ol#TwAa@t&#gZrMAX; zY8Af~)eWwDi{-cn+z@~pu2_*%t2n_8f*S-k2yPJEAh=Pg#?l%cLmeuXbpu{UZ7W{` zcr@NNR>E*B)g{kPy&G2{Q*{~KO}HVwmr6P3h)i{F$y7-q`)zH64z4l4_}Nv?*QQD? zG@9}3d?GT{Er1)c@S+yWaSynG{&EW&M=lkSsmSDyO#aB^k4*l^Aiw3hv7ASni^n68scx7|B@dPAEtcaRaD&0+5BhS3Yl0gDHwbPJ+#t9? zaD(6msvDLw+aR?HTR#|!t8DA4j@(rY+DNKlwHCG{S_y7k1#Wa1+)cQ_Y^iT>LA@LI zmrRwTV-nus6^|-Z$_HLKUF6_w9U?q8blpxr!HpY-8^QuPw9BzG+yF*_?}ip$I6@nQ zHVADH+90$+XoJv3K^rP->A0$_Zd7pqK;V%Roy681*t@%8^_^(L&c3&C+Jl;nq@qvZp7tJ z9&&h!x65%4uz~J!<*XCbCr*tU)VM*78`QW#jT_XsQ5rWCI>DudzgVs#IOHKhmI`E^ zD*IY7sB+5SirpBMHm*|I=rXvQV8fzM9Fj$x}tP)}@-`BW_P%9~PN z6i(GbHrYCA+_(je8{$xxKJj)r?twNKi~%v9N>gov;0D1Bf*S-k2yPJEXiYaV7pPyD zs363fw>(dFkM8!VLqL>7w&bOsf0Kqzc(J63RuD zuolwOp;i^55?;XoN0~aP2E9{M+qn7KhGu@raEOs!<&T$7?-INea=#tk=ah(n=zi{;oEZnPLh!8gZw zPH=<0L!b)Da1<9I+Tc}W!BgkPtsqk|2}|*IIqm^B z1Ou5$3LzxH4T2j4HwbPJ+#t9?a0757TP9@EvSKkssNibYjY)Wpc{H;I7?IVQQFY_0 zaHGrMZo&;_tk8zH@h0_d+|S+(Q>VIij#W8Yc>HOXs#^P4CEr-pDB*L)(vXipw3kdsbRUYNfgfw4ta)XY{e2s zQPF37RkYv;ZQMB8ki558j{Beu))Nx{XhX#fDsE75gNhqe+@RtH6*o$8gYi_GI#&(& z8?4z6m@ zE0AR68*TwN>IPgYG_AT=gG8=S-!O@)8&@>l!1!G{xSMbT3YroFZ>YL)f8j>WgQ~T} zDq}gJVMC}29`do$F#4-a0)sIXj8AamhT#TlX;Jg#xCh+ez6WJFrWsW?2yPJEAhBu4?(Ha^^ayCf0#w1PCBn5d~a{0Sz z??#uw-Gmz)q;D&gC?Jo7sqUvRmFKnLwUd=`61^Kfz~zsl#1SGhnq`fSDXMPV0v%j- z$XRc(9QT16*vWdYsk$*HxIu7(;0D1Bf*S-kTDSq{a4zb)Vj&huPPmTM2`+!x1eI%} z1J7i;ab>vCVQ@F#hV{xa_)QCH6~DjL4P9&S7qfxOA49_wJRPfG8z?pKkd=Wpm1m`4 zimDqoTiuZUP^;czIqm^BnD2SPF^g2)AhMBTMDMb)IWtLQs;k0{E`z%XH>?*zTj7h@2~{`lXLTc?H-ksui;yxfJ}MejjcyKf zaoCi+lS5a)k; z@Xa8ON0W;Xe13ypoM696|MhqKZ2fE*H=r=gDYB)s4%ht&d?I zgeeA@YxwGV&17K{4C`j|qx|M%^^x=KRxhX1lf!<05?|)yFzFqy<~WXy`|&6Yjwk(c zOAPV%$z+_HJkG;dX0)Ub!(fEJ{ZoAV;-8Nm{XOWn)A0{>+8>7h91nkaI=0^pr}mdx zzCC_*>`uOa`}4oPe)r_7A7($kc!-@l|MYPtxIu7(;0D2s^6q1`GRApU#Rjdb$~1r* z%7=96hIMW3z7Sbc|qMqvDO8m4ENSi5#Ycs_rs zJsTY7$uu07U=B;qR=@zvKVup_7>5F;;`8OW2iz#V8xnBClMpUdH!eYm1UDWqRWl2q zg~wll3z6Xg)?YbSOf)|8y0HjRu!6(M$smO|EFJXYi%Lf|(=*{ubWE4(% zqw$OW>q%cQru+EcAm!n7Fnzm3W0To<7>>&${reeS7B2@^KGKW9t2|sB>+$h83~{8v zNl2-ju`#gXQ9bSr{*+YG`i2MR{`6S@xq0rR`j?D!LVHEcAeY|>Fmm$2nkpzOK~`Y~ zqCXsVvOMPGP)E->;MY%PgA)94hF9m8Uw-Mm{qm80STN|uC|-O5%XGwSlE=>n$0vC_ z84c&Dj;$kgoR2atXRauI;n};-e;(+s{`F9P@n-t-n^*jwlkd&DZwJr6e)i+f&3Ah6 zX7~;Jdf@gw{dq#C9f?i}o%gvWjP{`16usZ(x7mNZ%;9MIGKOh5dOMl+kRaGT{f=Wc zJ3(rx%i(9!0XF>X`A_1TuOI#Ll0E(T1t#uqj~+jISW*bD+FOYCSa~Z65Jq-}dyr${~+5C~sAKCm7+#s93E_h%A z?A<@Ok-1QUOH)bdk!W=yRWqK!I^g?gnNJCMy}B-E<*!&4@Q+zHQ+{w=%3Qr2@`n^UJ=~5ao-K;4yA>KM!Ot4 z!wq++O7DiUhLowOcY}I2sCNUb5+YM|%+wQ^YONWoOP{c6V0Pnp3Kgrf z1%c&+G>sLDk^SJaf6B*gf^(SLB);IER?;gd6Xbe z1@6$anwrWdh9)D|Fv)G5q9}1MajCAvrRp%a8)(BgG~~ciToT&2$Hfizf7tud<~EKj z+rOgFr#BH@K<*1ajnsCxJs$6JhuqN-j@*iZhXmOGsLj#;{hcfVAO(O#0g_3Oy7Q*z zsYw(7W>r?*bMIL)+^DKnqj1Bloe}F-U=5)>lEp*NsC;5frdVOy&ftgO#y)VP z&*HAa4dapgCM|`E-)h?Vu#Ks#cRWU@qzng(Q7PCxAaBFN303ecb(^iCl)nRj8@AG- z=G$=xxPjOW3u%s2c7D*(tD`gL=wl;`4iEX@mg%tHKCeD1;pC+ARq0{>l3s=JxSU{k z_VkMqFOIR;m!`3ubMQrdELINn6s(5RFb>D%6lO-Sj+vCfo6$I*y_pWiW!70rP3xO1 zUOb&mKX^eOw;M91B4a8trn)i;BQDjW=2BH}tDwB99`In1m!ujOtZH~rMi$gXxzj8Y z+}H4x!eY?ch7 z)dHH8N2GYPl=8Q)4{o2uU4(2d~nGJmwa$ZDNa7P4sIFx5!+ANZeZ_ z=5UGaCoIfxL$Iy@b8re3KL|1vgAeZIcH9AOK)b=XaMBanAhbbfgU|+{4MH1)Hh?xH zeE&n@zGHiTeG+sqo5 zGVB>z4>LG07yI&FVWg+w263r~OGR8N z;!+WpinvsjOC<{8s6eJd)<&guFqm;hum>6gYg|{DVbM^?-@b68&*HAY4edEMTry3= zjYkYOtdRldxhWCxny5@M*YG|!+6SG2LLx^Y>Ba#JH_VabgZXys4L5*MpcGfic_nDN zLDLPIZqRgtrW-Wfpy@`HZkVj2(7cg_gWHjjJmz)ln;<2;=ehjQ(ngQcGU=H7g0?6M+#NDV2j|PGp_aE|S zj=+nWZ^vEWMn|TC>jtOk22D3;x!L2cB`(#zXe0Gl+*P!}C3nJmO{p7?S1HaI3&I)GhWWq~NVi%G6Cq(v5qTZs;Q}2lMT?1Kf~ofKBYZaWveZ;RX#iXt+Vc4H|CH za09~)?pvd*whaRPV96<3SX6oDV9BWv{fAs}-8r(7bYmasMxVu9fg3QuwZd_j;nHy9 z(Q>I`G(0%$G8j!4zzqTO=~k46DcIo_!FaZmx^V!*4Rxf=V7?u9fE&yYymnk!l5Ws+ zgQgoa-Jt0PO*d$|QKuW;Lc3v2Y_iaR8%_!+#g%THG{y(#ZSH6t1UL498+{gc6>fmc z?}WvX1UDWn+{hwEpnKp8F0tt%VmD$z3I{xJYXpu-_#c{X+`m#>9Vv#8zivDBh8w^r zexNlHj4Y9<2yPJEAh#tm09J2j<+o%!)hKm9|RT+Q-U_%C3^-@Hpx@R(# zIudFy-;O)L4PX?82{AVWHwbPJ+#t9?aD(6m!Ho(xl+jVi8t?}@94I!5f+v*+@X*ep z0c&x$Bx9<5wHtjFcNK0ZYoVKQmXzX;7j8(A42N30ffoaOa1GqxT=up}m^8MnHJ~?E zv`KK|-r)wb2<)rdaR;=)!KHFczzkr1&@@d(=d;n-`0GwBhXlZ)ifd%%0`p{;0y^ad z0H=YZhp`l7ZSc&>IE-iA5n5p6xutA<`k%l2@ibhZw403Hhx%bpkMM(Z`LCznj?(1p z)*zem7N0o9ans?O$!J!ymZk|;Af6G!=|x=r4bx%j@dpeiWqNioA+)jOv<KWzu*f2W7zkU_p9sm0L`Tqv}ZZ`SJ&W7XgKa=tAKTquUK$IozZ?~gt$gf<9m5ZWNL(LMW+xPb`k*ce`i8;IR#Vq&R5 znmE%O_DH$SxVzABW1rzh>an=1XagEkXlJ}9>Bi$l8^v3$B$C7#GZ=0pc;Pyh7;t_m zS!CJDTwRa}ZQL{3kVl#i=G$=xxY0>Bq%(q);siGcZV=ocxIu7(;6{ZTMkBu3VXh&v zfDJC}sHz!fXhJlpWbToEOqt^Q4mbKN?ke2iT1qKor_U!F+{bBy8;i@uXWd|`7(ie| z{zl+dG^}R-rB)i2t1lVBjeCb1QV-_au{Ye1M+%wZi0WXR;0D1Bf*S-k2yPJEAh^-N z4d#L|qHQvm#?>PS0RTqx#wX+*$HH}+t7w&`8~aQ*OpnD~fg93$YqaN#q#KWSx)F0U z(pf0QO^fM<3y8WYAl8IZ9D@FY%DJ)~2yWav+yF0Xz8!ag8<1`Y>9o~ErXn9)^1&q^ zT=KysA6)Xm#dIU(SR@x31agnC4XGlg8yVax%ZyZ3sJ2u~PJ$czz>PkOy9zfPn%!Dk zN79YQ3pZL0O}IjyrfC^`a9drFDGuQ{0{)~+IcZsFx^VzLxbldp!R2<`0c{925L!qK zC<$$R0<>{58ehB($7MWgAcv8XS>5pAHKj?K77pdg(-cll$^_4}(di_N2mii+eB{;W zzh9MbGJBQ6ES$WX&IXV*;CYr_h4HwY!29g!_vdADsdd4RJH10Edbz00xT;W?LLG4$ z#`p%O_zpOJQU-5E<9zmJIvAH(C%%~0H(I=SI-7p*fW*{VP zDc;~ewXVAU!Y4O=^oOFH)$e{5e=m?|b$?Mi>UKbY^`Q?n%}H5sRx~pW){r%YgR)X9 z3_NM@>E{=tdX*zzR?5Hq?QiIG{_VMaRy$oQt9bhtSV+7sre*Tm=oI^DdNy8csg-x? zc|Pj8eDD{gFFkwz#mkZY>YvZ#mv3h;-@fL*PJcA-zZ?Db&5K`Nw%_Z~+wr&Tn^E;x zS^3c0zy762u3L#dTXp^IclevI+CA=0D__6o`(KdW@UOr9Lwx(q^WR^w zpI;v1#QpvG*Uz6-S=Q_B65<2a-BiyelXB9X%uYs#%nVr82GO_z_O}wTURlmJ+Q3_? zm5Ikt#TU6OwSM?0{GbC6U*IO(y^9sPBwV3rwPv6W?=auURm{;A1d=i1i}Z_wzU%ho zRpar?asH|N`=U%|c*V&X?)szmCI2IwT-5E0-#(elf89M3X65*7@~+;}U(a9iET4|X zqv@>P^ zj*)drp5;NS8*rCTU&?^j_Shcpg1=-s3$qV_!Os^dL4s21U1#k>u6|jMy@)@r9lq(P zdf)5z(TmY3ZZqMuie`~cVjGNvn18|akrYQ-4d(l02W-IEfFtGxRS02&Pk;@eSe}*1 z6)s>axZv^;wjVC|qQr}1Tpol8NY+i502^VYDm`63#Hv%kDkvdL&z(=(D)1c)*|=!(i)0vhHnoV0#&Is8~R| zR!gr~V=V(3_pNTcLLerWkug}wuxM*xeUMn-d{V#GY*e}gi%Vqi*Rx!^0MCF4&SxDa zxcvFIWjaL%7r*+~zn=ayw-tJVcX&Ojc15G{@srW?$!J`EbPU)w9pH5p2V5S09lTw8 z?=`%!{N1OA8ww^;m)mg%xWNE7n3qOUA|L52NM}Jh3mQR?&Z5_hUFWHBWZgFn2L8`Yn+FUx zn9sl$*l$h)Ze&cTy~?S{*m~SVn3qO!k@|4Hv4j*G#v9AueR{Yd;Uaap9ecwKQDxm; zFpqdsnr?i8=|;aXBhEcBpUAv+tv}zhWFzJiF`v*DBjyvz&O2Z}1^A>Em}oa18GPVR zNf=2fof4aQM8Otwg3683gq|paR1u_#*sQ!E2Gmj& z!B|_YPi>=t5r7R8DB41~#<{`+Zw1$^R;VUAn`{T`+&0-6X|tT`mA0V6cZsw!+MFoOaS%8FL2kPbGz`;f2!8_f614%k4#4pwr> z)q@JVJFJAeO}md|(UfdQvSe8l`@#PPnr4mmT{{ zfwQx%EQvQ<8}#}Odi~He`=*U0z(&MmDJ?!~dC=;dZRyvYOGE9H7)X0&wj%? zT>bLXH}ttd*mQTz?^3k0fz%G-5hDA1iiZAnQXkIyo(OM{IxoM>+^3>)Aw22^_m_YQwqbBT47?@ zPcYm4dfc8(PCI9-aDtyNs@A_x&MwX`OTwpZh?7wopPW}Ws>KU_sH)LiCR@wK`eCd7 zRBN?mEngS!+*Pml>oT?VG+bMV!?HEXQRy}c(-;Pu9>t+zj<8d0g3SWW{Z_^<7XBlu z{wq_aj{yK{?}7{9^O7}W!X3a3X|u$Hz#$#C zRBkhiP*s-Lz-m}p0YgWqE%8kVZtMd$`Yi4$+<=3vw#M_i>I64#(-S;gxS_KOZPKxk z8BS#i`>%-^d?C#dA?K@?uKma%!-m>%JDeQ89!+K!*W%dM-sQ7{8!$ndZ^s?r26E;M z#v9z&`9VuR>kgzRt5i`1Y_VLyrVFvD{RJ558pZ-+DaaO^|I%8#JEGUa@IQa~<7ure z&nBbymj>!^4Gu7OKdaW>YrTWDlYRJpiA{hl-lge?eL5Vjy}ac4;ljv*kjSCoRXn`nY@S~Z^wW&_n;u^NtM8$IGwef2s(Sjx zgk|TEMMZF1XE>{M*g7SN!_SyUq`F6^p*#jW0IAQm4NE#X$y(Q{k2F47lzzK^+xaj9 zxZq$YN&HCHqP@H3cPZN00Id$r4W%o53QE!q_p!G?HPtkCIz;js)$=4VAc+A<3@CZ+ zVI;35UZgHDH?7HC=rhy>M#-i{M@wk9{pYT6MfLpldj7-b;G(|ov%stMJ!Ged;5M2h z2Yc1`YoSjcQSV=Suf0nD>&K&_Ub2n49N?a1fwd^ zY$<%p}#i0A^s4hG5;RryVKXF?)=Ah zFaPEf5;n%uf#+I};2>9kN30!1NE6aqyd)ckK-xR4sMVh_Y_K_2Tt55&bSm1M#EAS(w2lMUN8*X5J z0l5O;9(-j9ZhV3$gzfvBeHM2GZdB`gOdyyeb@bzf8(DLB_A}qGD14(@V`~CQ zY_f~2Xr81`0U+lfM-QJD+z@Us-;TS$4Wuh5?TqsTHwbRH*jSG&QkhkDTvb)qBK1>S)0>JKhuAAh{C1PA;l@%reY*!>DQbyDHMSh(E7c z$JVX1DpRR5r|z!yVsu(S-#V?uoL~sLhh&-g7fc^Xe#H6Uay#yTHYCsn6UJ&9ZhQ)z z1r0YkXhCS>e3V0)V3&3gu)kd{h(InSt3OzQUNqc*kgk$xec`MrJeBMex24oR*7?P# zGFv!fQWDz0O7yay*!LQndkc?Fw`MHtcMV^hSNn?|Z-4(04kZwSkp9Zsv>jR45f;w*q!S6o$C2(y68&_$d9P+uf1125j&Uq z*N;a>b6LQ5eoJk15$VsN(Z;jNLW1Z)YTKArYf}OqzWgJre$rS!MMA-X!nElO_F*Bh zBWWRe=(b~TxB-mf2hzj0f)NdgXh?zJ2EmP|#te{pHQ?UhKQ(@7-a`JmQd6GXIH|b3 zTTgJ~#V;@0@Ac^Im~37j1`R12^x-%}4`?Gm?kSMn5ZeNGnF85^k0v{wusdj6aQnDm zv&Czl#a)FPf+I0XiO$o9;Kt*G8_syGi?5MzqF~dB)IjP`8fznrfLMU}Ys98oVwCT~ zDTx19<@46L#x<}*mQF`c_lFyT59Zr(2e={q06xu@lY{Jp;0D1Ba*!nlS#pr=B}-W0 zhV@kLJS5daYf4gJR@A8_QsQ79>tQX?m=e9$1-$)I2yUEw8}@-4rN`o~!VRXOuNKad z>f!NPIvFP66^ks!)7&R?__o+43?1<^X zd^_#{H);YkXO>CgQW2Mmh8r~8py9@#XXRXnJ|D2d(wCmS|KjCHfA!C2^2@igmv3M5 zU#CBs_uq|v`-X-aqtof|A)yU{Mk;I(;A$t3VW+idoCJB2rzk?JVIrF=tA~agd!daU zi@Sn0xPynF;!acs8x1!e=WrvrD71v^s5p!?RL~h@Wv-j#LXbHq8(K1uy#UGke$j^T zl@>MMjys?YhP(;|M_}@grP&6}HfXj%vkjVU&}^fsw3N0;r@%x5g%4&M+VIBt0ux0i zZIoFfIcTTAmZIH78sO%vK=mr5RNBj7w6Mq8{%Y?#wX`~h?JApXj)FD!|go4 z8VPhV8ehB($1s*@1R@+Hv$|pA>NFfq(<_R?TlFLA**T|d3UZ4@%}Z{vsOVppYQ@Y4 zmp9e3$)ucwdZ+KCrOLus)C5c(N`kah#Og!rJd~!<`c@_$Lq!F-EFTbfuLVq4x;i17 zM;OS$n`o`VBSTf0hGawIprzij~u*%8@UM_C5=`RYT(XI#cYkr5KU9o{ebJ!lH zN78p?_U3Hzf5Y+R|Nr%PRwivoWxABN-(9c$=I?S-w|zWH)NwyQqT-#3cPif5H&nbo zfa1Ni5@}Gdf9HuIDoR-2M1iUUtoN3I;Nvp?EVToBKK&LYe4k}qE8#)maZ<`Va$ueR zg}0aRix=H}3BTtF=vBzy_};x1W4$_C@4&YyafOYA%~TWEl6Q?meGmVmi0zdb6Qv@x z9>x5P-*s6M-h#lk9bBcoYuU*^UnKYwStBVL zNatC?|M5;^fW^R`acIT2qJV<-kv^r1a&N7iUOQdG*Q3eo;@Y)(dFbI4>X+C14uv{8 z?=`bnA7q`r4JZL8C4e;y)&Bh9)y?1Kw#GZLW~lKlsAi{{ooe<6QM1RCgK&;DEnL!3 zbi~v|hHL`EUA5E>*7@om^4U?{_k8*-s`oz2x>mgllqFs=RtxGspF1=E3vaL97cY7! zjrV>Gnj24Uuf^!ocz3OE#Xq7Qafko2Q76y9mT7U_7kUJR>omG>yGFpvHH(n{&*TL;6^eTz3+H!)m|td`t)p! z()d{VFaVPmieyPfd6#=&7Kmg8o4i^w~n{Y7Jzo z+1B)O%>4s|b}$5#EoY^T(SMdS_}ibwH$3|m<$Rw-T`lLqgy)JwDqM?7D(63>6!$DW z`ZVQlJ+V6#^dEkybv6xmNhRpN8<7OW{i}0ix$=zF8|n`qce56*^bdS3MD1 zWx;Dqmutsk>apz5cirJ!U`dp@ZAyeElnMcA^NcRPY!wVKVG#x8EIxI4&{pO0EuY>8 z25eu0D=Yvb!}BtkjY?OXUGnY!dX{Sqv&`69@bJGa(yM7Xo0<;rx(b-qY5dpTd+lT_e^-yZh(E7s05+Y$`Z3)&^2O-1 z;PXyvF(=^3)m)z?0B+2;<8E++E4uq~<;5DgFJ!-M{7k7e6V=U;T;uf6T2f^(hEas7Zbj8M43=%;{3=dy!GzEe$T zrEQ!GzRl4DSt>;Afe|)*zdoSg=EF7?=vPwO4RGn|mw!r$KEKF!DA7fAyEIn#gLJ!G zEdBW4jdRwBK4hAMK?QO5iMv0hQk_cm2T`ia8giu~Ypk-UG@uY{Vv)Wnwhi#22-dUD zQg3_nQ+QLSsSXO&|S*+n+`s(BHkjPwqE_a)$m?e!Pr69@aGrt zWR$-C;aSdg!f~(N_Vw>_?M^m2Z?5cfmrerIcBi&GwcV+fr&|6&)bcLz)+%RUSFbB= zpNS>}wA~r!!e`sM6hG^>`yNlgMNQvlY1e9cA(e%jpQD=oT1~&lN!Y2jUwi+4wf*{G zYqh;$Avv8((~1DLoKqm~XyqFGhoem&ZDBh$<<~xRm)icOgAc5>7lZjO*s-|Ru%J>0 zUEH6Xh5S661aP>K?7Hwpx;vKsck_wXhu`B`QGXJtk|$#RrBXo{>dI4B{#&Z#A4DZ@ zSut&D+eY)M!c`G=+X;nz>s^L=&(k9!qtVQEp8`e1MIK*VGMfem{w(_$y z!2Fm;;G%r*v$m_{yK>fm-RoqnDgS)t`~1(my?|Z32qoZxRer|_vMa^Lbl9g5x%#%- z!(>-Kpx1&7*N$2%>Z53NYL#kiNI=8fwJ^dAwn-rvq?0KxvchNeAl2M>K`y$tx777p zjyp1Hw%3+zzZOEzE_A2Pil;v7_Izd)gLPSZxaqI>kVU->@Q+VBD{GLk{zO-7i+ zj;B6674~n()Q5liAo}p$io!A3Z<107vTqeMtgX_G&jD1MAfwKoHKS(pv-pN*-=d=L zv#4toz0sa~!SBczXI^XEUcfG1boUkg{F4_Z@;ytBKBfGv@7!xSHh-zgBwp6%9qtJ& zEbM(iN`$v9$Z8TJE(gq z;F^Q!^1R)>`t|y^xVDp)q?_*dWFk-DR0wz=4J?uBiF@-vs`-rKLK@g#TLJE*LebGg zM6@&pxqJnIjxxo{@BZxC^P3*Ow?Ft6MSPzXT`S_1HwI?@M7+7Kgx#U&*rj&A_O|`1 z_Ui|%HR8F*%z`)Hv?YKxpP+?xQcFl7sV@tGV`Z%Zl$7#{8x$^&r_aYB0aZ zcdOA4w*9^se!Lz{X4muUu42iSr|<3x_M5)crh6BK%EC8{LS?B7e@0z+>cT&)F1#)= zsMvDYWjIjbw{;tu-o^S|@< z0(SADyYIt))M>yUwGi)am&4v%ef3(KTVh?;d-EYO)E`ZM~RF;Xsd^_$2Hl(heR0nB@+52SQCGF>?FGX;}dI*v` zmdjfr{SfJA28*m=Ite3`nFKdp5ZriJa6?JdK1{PlD%k$1gcK|1Oxq;wlTRfiqpCT` zXE!GJsOR4TZuD8)Rk$GlHjq8Q>#7sn_^8uxuyCUY!<^x)0n!J?&l$5h7e!-W&ZDzw z3&soh@;#_PH?0rBji*O{JbfKbE(++Ebt|2va58#d@;??o19a-{YA;5oWjYI|wV1lA9c=2>L{on-}p7A!g*g%?v9QVY)_!Ang)E3v2EnH|@ zx_1dPybFiB?h;#!W4rpJOG^Fat7y9Mw9s^e;0D2s3OgT=#(;5cU@?w*$Cd!muwqSY z5t@ra2$a(#;ZjpItOPgGtI-&Fm%Z9;3%Jo|aaZ96=LlTY=B`q<=Jo2Pg6zrye(@rj zZY+w`wYAx4x}gG-A*Bpq50HlP93j;fx?;vMV$f1ZWe1bB!9a09-hp2PFW&ks6CVBejR>-0zS z{=3m{-w@n*U~t1BIl%J_{X!3`e_MYp4|N z;G^@9bM<^OW+0>*fFz6m)c)=D7e4v%0?(;eBmDSQ6u0_`G~FP$@xb5)W04ib+om-d z-i=J?CItK+8KXDB7?GvNHXyjM58UXpxT|mjPWWi`7)@lV#|t;=UTckIKpOBkPy%y~ z-~+E{Kjp+*p5u;&sXc1PH9FBQ6Ph`{2KD^sq}{Mb+70I0aR<1;K&Ik?CL84#_5tV9 zVH@IPl*T9Leu%5*HL9k`bh!QM>(^4iB?+3`NvTC$56{B%DvZbFr1scpvO!Q|UiIHt z?-SIhPvLZSx`wV6HWC-pGWl(EdX7DPHV(7VS%q0EsHx{F)|2r;3UvC?v-e-T9Oe!Hvjs_9mt##8jnh+BROm z3{#XMb!epxx++#_va!!(qtD{5!VQHeTIM*b^(MiMn`)z8s1GZ+D0&Xdm5N2rd8WWdQ}iCI_Oy_6OoFh8=EP1^YIzMjiaXy-cyinq()>7jaCu12_?$L zB#~9iOKaedL2%>Sun*kmv$(5pLozE27p@Zb32r=2xFKbmi;%S`Tw2hlUPs<7$ja>{xN+}rgR{YWJMI8C1c+2f1TvBnnTp6%t^ zNm&&+cpZq_P*I}M%5!LPl&)|TML|>wIZZeAfg61mcNK1M4PPSfSe+>m+<2sLLo2N^ z@P!u&n+^lSCREJfwDs1em}ChAH$E_yx)(B)InsJC-;O)L4d^yJ6Wn@7aD(6m!3}~N z1UCq7^ih?424t#$R1N6Dy^k3Ye-S|dG6^(VOKUxcZ+xtk55bLn;6~)z7xzQBA-(r- zq_S|qCAjfuU8%IU9$pNhks@Kb(WZc)8wkeX$S-|Fz@N3`N_7C*4Ra*@V7?u9fg9BX zSE6lT32qSFAhLK}oO2yGDBAhbbf185_2!%a;zR^EX{o)ik7 zjDHCPZ}{l6%%Nr*6PIcqE>)k!T}2xJe250~wqiU&8;=uh1m&{#K{duJ7>RlgUpU+H zCPTAflHyr)n~u=NJ);eMr1W6E9e02mfGA8D2ND*+4T2j4HwbPJ+#t9?a0757MS;R6 z@g@k1Y-7f96OD~caazEV1?ITEX3Y`Y*avR(S=?2)A(?R6C{9Z8$IGQ+Z80)S+1O~H zm#VQFF3SWT-0YJTsbo#D8wViW(3KW7-;TZEhCb4O8_@h4;R$XK+#t9?aD(6m!3}~N zl}p8)DM%n6-lS<=rVNHoTNMYL8dQyt-&86zGxT|o3D;R}or|L|JrW=oQx)GIg z(I(YMox!Clb-Lk^ng$M)F2YEsIl+yCfE!#5=G$=xxKVv@rG(m_rW+*P2n06>ZV=oc zxIu6OaKjW6jmo-l2!n+Wu0uAg$*O7L{*Q!Mkv$`&_`YzX&*HAY4d*?`ZA!D6yFhT` zk-`n@8DOPvpwoddmDd_%D#*oi@(>C@FC`hn=_fMPJ(H=_k@kc6cH9MSuz`l7AJdfb zM{tAS#*E+w!3}~N1UCRTqDUzT#v5)OjHy`QO$5IR+6~4O}= zD#8=oAh-h(T*xB&U`-R0#oSyo)A+(cR^edif-+%C z7wB|;G0J!~XH3e!{q1kw+rK@x&nlr}r!O!~=!oHcE~aJj+vt=+#VJ%gmuZ@e&S#^u zF)j>TP@N3pi!cjcUtV!eS?zSwB3lf+4(ky;=40d0UzeruAVc-YA??OK+6}m2Ze83} zxM7UPJ%Dox6@R?i4UPXX-Z=~s4d8~hp$Xa+By9?vi%s@YFh$did!KFy1Cyz4JNAYf zs%CXq?Kx)@yFqY+;0D1Bf*VtsZqRfC_`@k>l+j2S<46`)-peKm!5hP!Z*^=rG^_+S z_VmH+v$(5pLvsN_l@tUw9xvQ*w)o(r2W2rhOgDU}SvRn2Xj^5xMmS`L@d<9+JKW$L zQt@s(?f^HS-H=G#Kzh#npk>3S>+mG2R8f%X$jsqO=0a?o@*uH>N?!%1HOR_eot1GI z&$=VDaLjJ0Tc7^tFMm7@7pUzfqxa#myM!O0``PuGzFqc7Z{jDGxA?>p8MVC)j9_2W;t3N7l&zC=P zzI)ZJt>}3Ryj~Jx{Chf`l(tODIMsf1ZDfbh8UFRF`0n`E=gn_dSdLqtJI2pY! z`5)orqIL&&I{rV`kVDt4&hSXJm>$A&Iu?u+qisT9_^-JXEke}JkW~Btv>WnBvB7*h z?gBSpgv$gshTsOl4T2j4HwbPJ+#tA7;RZ_%GyK*x492(6ZUlI8rXm}yv*xx{(qXJi z(~WP#Uek>pi@ORpm_nK2xTsF31UDWh+(5F1f!DEY+GH?N3=GC_sf`UhsbD?rAmC^- zPCrdIuJGZrl*;+6)MZ)2e#_qh*Mau)^DN9h#44K(0{Q52X8U4vTBfsbTB$1V%&-j@ zPRzex`bfwlp$7Bq*c)zi7=?MoHFHF!qTCHK!X;-al8TddgUD2Pz-Ak*&24IgWuZ}` zEwID|nMx<)Qnn%rR$076rrHN?^jX{$xPhj(VCdD`+TJF(@i^f|5H31I$2SRPAq|37 z05@WSUR)aR_O&n3S8_GMjeCb1;6+_-#~siHq5(Aq#F9eANxHF3aYNFLr%Xj=AzDGw zX-4nGa0uCADGd`XOqF75qpGd9aDG0@AyxaO`e-b_U20i`fv&0kU`0&w_Vi?W7S0D} zljGr==@6S(5AnaN=1$X#$=oCAMt7*5?{qwRUB=h_rtqCc=OO3%jmem*=PK3({J?4} zed*czFJ6xHSO0t_zkEA;`Svycb^4=u|J~@fZ(jWJvi)9<-j2Uz-;8Q5^2$YUyRp}$ zIBry%?!CluYj3~9--OQ?RTHwozb{S5{`*x4C$m=xj!h@;rk(NF`q%II{uk%f1ggi| zU(7~$;a`9IhxqoJ=fA&VKfgSNquAe{fBpPfm1Di`yv_K4)lOVGn@q|{rvdB;8K_aD zF+nu0BnF%itL2&VjW*HxRwf=pZ3S*Irh+{V3Z0yQF$`!OT!Yrpy0$^mpUAC&|9`CS zLTFLTIj-IGL5he&Ve>S^M_svKDZg%O&b|fWC^FA z(8fKZ4RNF;{42ZdxC7h(M6pIFV-*cIKEZI~WHi2b8;;=tdc~XME4)eGJt4!%N%zF; z@#Iaf!gyRxrg;2*5C6_fX+0jYox^BlU51NVhSc(9dNdrKhB3auDZT?7Nhf9SW;D)c zZ>EEBnRS3+THk2#;^}Pq!3+A-G6Xvac90+LmB%l^4%~I7=~V$^yzgM>0l|*e`vT@v zXcBnkpm%Tu=jH^b&QOF_8UD<%>nQ-i&%Of!z0QOGa-4rE|Goetp_a(2EO-3&$z=ZP zikiZ#9G^|zU4MgT`E)cMO=tD4|GLgn*4||06?mTxl-{pnO0VbOutRFoVV?zFgB}nP zGo~!@s>Q$0EsE0dI-SKb4{1d$ckM?ujYVNnbJOk}vY1PYYr017Ot zHbpY6-B;G#XK`2YfVM`V`)MhXZyO%iUWObh7LcV4ILEnhtw0VY{#%2Mry65HLyX48 zWDXV!oKNb6WHu^jzW(v_5*hsUELW}jQtyDOze5b)mgy87T>R=^|9bk<+{N?>-r@DA zx}%Q9$4^GnC!=xw(J^4#bb!~@rt&)Axc1)bje~^-caziTiZt+^3wp^a^rrW0L~+siekN#-o)^ znId?$aMdR6(+9%tUeCbA5TefluYnH3AhmFotZTP{j$WtYV22Pf3phrLs%t_{t4i86 z!Gd^bBritUVqK^cK;l5%I|oX_zV>oU?f^V=^^ngMnL zNiQf9oTL|bB)xDfBwt`D1s7Wb0Y|E-8L+VpNGnbvYb*3&%{%G@YQelh!!@0Zz|NZg z;8Kzzi!v>;%|qfa<}Iqag$mOM9$m>IMWk+Z1NC~~*XPe5#X_eQJ=rxi)@8mBe)GdG zFKQR|q0z7UoZD68qnMJ)Le_&NBIUkk4Ny1zgK27MqsI>rpD#?+h_G(Lz-Uu^K~INoU!eMQC(uk}6RpBh#NS zZMphRYm=J!ub%wBuU@?P;mOb4kmyOB9vwY_#npe+FVj&eZ}GkoM}iIJdv*tCgxqo` ztd*LkGM@q(ZJ)jF4~vKbMnQseh7PIGs{zUi3F*Tj-j$=O(q)RDjgz`>4_TEbb~Mk>0}$iJ7|h36tE0 zNw$|Ehl)p9ZiUneauDy+0p!t%P*JoU1Ms2Yk!v)q$3g+)elXvTyTJ|5 zq_C0`3G7cIfvu<>AbwyxobAP`Op9eJfA5$w1IJ2v&; z*Peq5B3PdVUWXn~qI)YV3y7e{ZP26FslX~8rW!r9*m|wuO>sc_N-1nZZh3?BYoSC& z>PM*YItK|q*2N)Lg7Xcw5?8-OefWvh=)eY-`(;OHV7N7uG5$$>aX0NlGOE&CSnqsy zA780dK5QS8MuhxvHAKJg7$%JfX+%!((7%6wTmz_OkZ%o*NCrtO!Lq8_b2dq}2(Lm| zfEJanvk@9RFUOU^FM6C_T zWELhjqyvKe)cxvDK_&COvKuUUfCQ;GlhLepTX09Mah9`!Zn}p#g3&pIh9wPBp@?nc ztg7J~Q3Jn+C|PwpULN$_ir@6sj~p&azumv>{Lor>AC9ptH-q^#ze~{$!M8@2S4yH8 zJph^!DI17lL=+>U81>1f!NYN7a7PrQU32z|3kgL?YLE;C&wXiQ6BuhTOkgZqS>QQE zIeRPSwwvbZH&TrHEbwY=Uo*PAKrnEvG%>P*y+m`FY%L$_hixruYZ<$E=dOx9ymsQ+skpWnFWyz<*OhhA z_8Pjpg#%u-Vx9I{pW*A#WOi}wg1L758Uk>s2)Lj!=&a%K2HACiF9G&q+hX@gopth* zw|CLG=)Mjo7b^z3YZvQMSy5rjMa1-AC6Z&)8SE#hW@<3sk~=^TsIaB8R(nm*;}bxS z?Mfz`_dUl51Um?J5bPk>L9heQ$h(O5Ho{9&c*7*72dXWy@t`d=331`k6e|=D_$C|a zOP}iqVe9j6!5#8F7IzJDNUI%}jJQL$^zeuO=cdip(}3%CfshUhZrGHVZnc7l2s=-; z5&3#n#YSqAWh}6JD>dEyBL)svVCQ3I4{Ps&y6*GJ)L?Qj-;TS%4X%~LROunXjm3=W zanh3rR}iisTtT>kaK+u=3LXrCyNzwMgoVGViXCXAp_ooVA~g;+PKl^V*SgcSpxrdi zfIRS$n$%}O*RX_enxhb@QwSPgJVa^|Dnae{zKTIG7^KG>oCeTa>Op_iGCRhW2hpb*$A2;qlhWMULmdIp@)C{C% zz%C%ja5s=a`I59sbqc|uW-wVn*I-N2f`wC1>u8>8Q~Yp75nEN%8scweL}^5F=<|kv z6lJZDe&I#tEJ+E3gum!AC*v{1U93HV7wDzWxm`ssHRDff!zu1!+azQYa9leTxX=!B z8q&s;e2fv4D-VCCXhq|E1o_IeTnK?yx_yY#kgI5k4RIGjn^tBFe=L+HxHFhiBR+h? zMG=8>1;4pa2~q2!k0rNi14(fCyL#j%-qqE2T7!F^Ant-6DL0t!*&Uz}X9Eto4MH^t z8WB6o-D+kz#9eF@W~j<|XB(wiXB#z+?dp%p+wVVmi1n-;TZE20zk%psjV1Jt#5AVoZ0q>?~IC>Yl0(8n;loIHikA!WM)r z?hIQf#soK*OL*llbBV!YIDvF=ZM8Hyx}+Hi&R4L-4UP6ohE|^iUBeUBdF`C24Q|2{ zx8aG6OaCz#qOSN>mHn!Uyw*6&!oQQkr^z_ z3MQyaLl)5oYtVtU=*3bH#lmMXot+L>lf7Zp62`Mprh5L)>Uo}&gufz6`H~9EV6%ja zC4wkK&c=r%bYKxR&qn&x;RaCcp6j*Y zN8pib73NYrvQBY=U({U(QFO3mzE^s~l5UpZ5%a=5DZLklcS9HibT)U>;r0>MjjFeg zm?eYHzepL6`Wxd=t$`ODJB)$X@vW;jtD6b zQXr&2NP&>T-5`Y`GUGGMJxQVizXu{Yen1Om|(T1ZA}hGpaqO&~}m z{gkQ5z{}K)%NhQYhKDAi%4nEqec`dSQPrnjI6ogDbgS}vYU_+t(!;a(dr4sKAP;xc zjtViK)}->M%Y<2CK4H&X%tqKffBo$r;@fYY|Ne^o{PMU=e*63LukVcc6ih3CVndTG z?4lI&ZR62JZCFvpc>~q7suXO(73tMzT&7)k!X^grastt3LD#SZ*WOCb$ZK{Vs?j0D zU<(KqLV@cV3#GP@PKNVf5G&T;75`V=G$sFOn?zY)vC`Anx@Ijdu(vCC2oL_YXOA!Ay(2ZtfbnI+S{>pQ^~ot23uD*x5Y?hi)rAqgOQyv zfYykFY}zD>4<-8SYpwVZ(}P9Xw^mhe{kEU&oPZDJ+iEvV06-uWv66_D6v$)s)mffS zN?RsnoCA{O%Ubf%s(cAI2?3+>5 zUGB7gq?^9;=|K#!6^8l7@SGaub=x?WTL1@DDL1fV_qFXw(}Qc%gROL!1#0NCxT~na zA{>xwFvYOygc=?vD@i)u8p}dse749xNC-udH3^|anFN=j=xSE*5x9a_Nwxp}I-Fb- z6f|`!t%_9oO(3`(%(vqXXhX7r;z+mQf+i4?Q5v6|dtxOKD~WK$6T%hmhUp}XPN%~< z4*Gy+mA>@s{TDAs`m29FlV84_y?pzc|2qBAy#H?W+c$(O>Y81g*J1MLbP~pce_uk> z|9(}%$?R1MvvBfmIvaqLg{R&9vy!xt))j*|8?LG;Q(K)@6^Pf`mt1^qqmuZdge$J$ zid$JpeHL^LOMpG0ICF$09x5vdSU|@JcPMXi0q* zcNI1mkgg5vt7^BIV8d;&Ve4tY3hpgzxMmboPsA#zWxHzNs(M?OJ7nDggR9&m*@6ow zFtZC##ddk?IcVhnh^iX;2w-vb>2vwQNB#|;s|bQY7=5`NcYqrLDRRzK83fUiJ|!)Q zMi3Mehuh)`)17by#l#J6my3|x;m+j_s@TAE8z6EBpe2dcH8DHiNY!T3x+r+3=pxc|Q_YePBPImQ2CApi zM<4|nLF_t$KuGj_TkU`exF4A66iH@DWT5I`b%4-zTS%%vQU#JK%t)%xX$khjwGT6+)H$j8!=d)^yb;%V;2CAEeHh-dlDlox(TkU`e>YTtk?>T=+bAk<{ zrN>W8`u@C3F5PDT^7K+y+1busWKb3Ab9;I;9G-@8I4-Afw1+rwQU-5E<9zmJIvAH( zSLjcx0np;b)7kWc7xdvf5L_U*KyZQJ!lm^1(ZhvgWRgL<#uRWPRECXmu1eOv2dYjRI5r8p)PHNiLwN3 zxYxD7ygcyh^Jh7OzfzwX#tej11MUs}Q>h`R1rF%-;q${UFDk!eRR2AkUc{vb`*hgH zfPJ_i$Q)13F3zXJcK`0&Ryxjt71igwuA&y?<7)IzNnkzQhFZ3s23$Rhlm6n}Ib3_L z?0a@%HGL$bXq^>hi$xqYB-q}1STqG;5E!746Cq4Nyb3dhCw%#jn00I@T|bK1)r%GN z*GUPpQtwpLGI>2p<@y~VMbO z9(GInUBeG(M3RLzNgygI`Up9Otl8DUouO4gwSE8erfRl@^B+o}X~4VX3{P)P?)oW-1^ zvb#P4N-WC0-M?)w(6FrF7p4EVXau0Uj9c-){`K^yGCjMPr1AvG)vrfWM4yeu$4^Gn zC!=xw(J_{PI>77x1mv*k1ogxOYB1kcy)gkh(tco>*789`%x!>~hk*{Z_XdFOQaCy3 z@_2hZkJGC#9+#8aqM`}O8CHROp2+8ke4Yp`;4ygzK2N0$RwQKS3i!S@3i-K>voSWg zZ9y;17Ok`!GbNsvV`<99ew5}EIl-bjQW(RAYDN5q@j1-zcKJuwIQ$`aln zyg_(_@W$QX4G?gO3vEPb9eS%u3UJV+sE$$KDoD$HkY zUEViSNqEcQ<)l#jCsbQ3nI;+uEWlBNNvUGWm4z3s@-?N&V7XKDx8dw0tdxzLbf6*cceIEXw;GEpn0+Qn)h6=Lj?fGn%Ssyn&Hdx zy^45ozg;%bACI&^xGF8cw%P>})Q|>bwlh*2f6|<2;`0zB!2ORP0dBP+3uO6Nglj=~ z*1$B{G)NLM&981BuKCY5-bf_`z+`>B!E@}&bOpC-qye01PKm-&l5$KA>a-V#SL!r60(lK zjB31N)~AdFhfr_x1PNAC^p;TM(~k)N3Fg~s2TUOSpn6YXPB1@c>894%xAiep!+E|; z8|seeHH7}pU;cO+F5u@j8NI*s7=_JKNHa)+@GRV_eqRRs9jM0mBltYT?-ggFMC>{7b{e3q2pLqhf6vDVPE0 zX^k)RXW{^ZlD^wgJKzAt23kt5wICco0nQZG7S7MRCoNO4W*F+m<;wLnJTx(u0*B@n z_qf>FsA|8kdwEC`pw~L*F29wx=lHiU!m;{;{pu*93(;(VW&?LN8*r)^$P`6mC741; zUw}w4gY1wM3z{>F;Mv-HrP;ui*}&4!r_X|};sFi@xYqy#SZSgQJw&>Ygft^SpV8!? z5#S66P{Z2VMp~iUqIm0LePq&X;0|X4Tn^^jY6nap;6$oWzc9iC#22Cf=gT6$R``So zF3@;-HChKYr=v7E>jHa_*fktwNc=`u>1Ai}_ktl`_tSRNIqni)Xm*Yu#py-{-Rk;X zj#)cgO7j6+e0Lxrh?2Jj^k>8qN$`arJVkHQAeIgEAqTl{n-lSccJcq|v!H9307-CG zT2Ff4Z8L&HCS`+D&oCMOdx;>x^1-sCXj3( z5ZJ<)ra8gBbAt6j9{GV5EXv@+>hUskdRTd4WBhwMos_mr$~aX?Pi@475qbZR_Ydg@ zY7j2rfxE#2+=^1QETB6(-~k8efMX6F&I0m_Ro1&MW{GA5*JcE3&$|U*sLx`qVF4zr zl1%toEn%6-3-l&0(6wd9irqI~NXC$&V5O05_5O(o@|&zgV{FPEap0vm;tSO)`z~<+ zO8Uz!wF3^oY(OHaSy6H^*$X+E4bW@=HR#u;lQ4erBh3bebLd)m_8&|;(wCmS|KjCH zfA!C2^2@igmv3M5U#CBs_uq|v`{uxV)oz$TNG%1k#1|sIkhW!rd-5pEP#SX01(dZ+)+WR_wyQt7l+a$j%K7e9 zw{}E{FVv@&B26)Aim}s(FNB-U9q0#w4Jz>>8eIa65;Me*Q7G3GCIVBgjW*GYU`0Q$ zMqF9&h59V!8WvF6Iv6}@!UFAVa2pm_TXwA2ea{9od^V(HZDUb7G{|Iy{YDE_v5QC# z4nFDPD0-k?*>^b`P=ooF+5rbJ_>6)mi5zIc0sG>BO|w(V9@wayBrHH!fU*Z}(_)jB z_|Ex4$QRHYQpZLr2#TQ<@Q@8;WMjZK(HPV@f^vf|RKIYZFpeg(jNdOFi_qom4F1iGRO~h8dCymn`Bs2(x{YGjo&7|&>dm|#Rv0kwF@R- z1F5+Yg7U~dDPM>piU||o2DmaT>B+UA`2fuaXg+Xf8Uhw%acy7?@&=$GkPN*|E^}kK z%|4|NgR10b;tOrz3oSJSeHL^b6QFElj*-96L)8!z7px21H^qBE>%cYC1U@%BL!}CQ zjpRwv72`f~mvaJOg88;0OrTUz#WgZ>T%8Vy^bWJE#s?TF1;$d4?Qk(_JD!|foKJ`C z{<`AzK_2-Fk-re(ftt=hexu|!TCHpU`&9`ivsWq1!pXboYyi7jJRUFZT~pkG@c_4U zG&f7jVU$>%hKz!FdMe4-SbVXH@W9Ep;Tj%Td)_VP1AP{A6$@CWwHMxyztA=;u(s^D zE*C}2i+AU6>HFj9>u_>W?fSMxx^AjXw;zPMX4&TN(r3L?DYh&$#w5_~SV)bl3Vj_s zV=x&7+9n*ZX|4Z6-GFq1`Ig!Z2XG-JCx4;+alqyQ-u_tN`|~onOl$tj(@TO)-QwY* z`VZD-^AyUy(=ZOl>C=V3COBF)qTG05w8|zTbFxAG~1*{&{=jo$ zglED02VIG#b7}=Fdm5n%5*0ajU~}`*2n0nz^BJQ{HF5d!z^~7r<&2`TJ~fOPAO~Q8 zk^ujybpF#adv#VHK0o~O;wc_$T`&d=k>fN?M(4B9*?2lk_D)-G8y~p~IMU}_uEG&x z1e({ZGnFN}(nF*xB}|rrQmkPxG{W^RWfOz+jdao>NyvI!_PCgrIOaQ;#_a^1hHoaL zSw%H#&Hb$aYJMp8&iSN%f!U~Fr~UDCIt#Ol>0i%s#cqF{lrZbm#?vx+Jxb;JZWhwG zVw?n%5u;00VBX|qYa1;z&lzCaw{6{PHTVk z{8vx@-&ZeQ{P5)R&?ogzIeH=(|F8OGy1V6z(JAgx;k3(XWgH3c0;lK&(?`%c3*2kE zeb*PV;21{xMab9b3q%56{aqjwF0a)gQ3jjwP-u?4q=u8AzC?bI(5-1{pA`#^8!35?m+}b4Z-r2MSrNWkNte-gs|WZK)uYE=CE5hRAKJgbgu2M988C^L@7)WwP!4z!;Oxk(=w@cwwD3*|oAxPDrSl}7lpK>k~7kqaF?=g@QGvHXA- zSvJ@d9GbjbdNf26fKQagG~DOFl7}&stIFtyIo?=%+%DKyea_=LMlk=My?1|Z+t{*3 zf4^1te^9yZ+%xmtfa)i@TVJK_*h!pt5+_dVWSq=Qx%vf}jzlVa_;o7(`?nf=h$1No zlpX7lojS>}NdN>I-N0UZ@3oeJVvVEH#$^~`W7si)uA3Z^FqgB9rm6+xqLg5&ati%4 zOnMIq23C7>v&CdjyPmdmVmTA7L7}yZURxAxPU@3_CJvq{Rcq&!Q?v#Tp&-OY`ZXFs{} ztctMJbuv`k*XSe`B7IZc(ia;co>;(xw)g$7 zZ$rQ04Z!6rPV{_|`?<&NG#HzKVF|aE-B#`RSgt^-&a4u;Mzn7c_lM{~6AK(xle(@$ zS7VHG&vhA%UVi&F&-lZcC7@(DADse$-+;<5p_gP$Q==xEV&+N(&;0CWoPg++9}E*3 zLGS(ZzyJGQp+w^U4)E`VK`g%i4FC4ieB%$9b6L<9Wp;s_G3_e=HH#NfXcUJEb+c}^LDN5+&iLi!bPoP&?N;_rV!I7r>~rI9+y44x;e)f+@Nw?w)$iKLsQ()G z^wEMw+3HpkSFDVjewtt+4fJ2?|G*!8IXw3LLFtHpI>%+j2(uclyU${wDeUAO2N->tFr;`t30vj^0mL z?1i_z#m>EWG@K^N(CUhSpjfe%NxyAOw>H-40Gj^&t(tHg#S{qQu$DF}q`+9z1~ z{$t;^OO)*9H*4_3PQ-k`$gsqZjSmK%)=oH|!zcu@HbGv*0zNEx1_j5D%B^{Cm zwzP47g51|!sAO9(c^alJHv06ruU&Oih?F>wan2jKnFLEg2OHJ(MGNniH0a{1^H9aM z=~LiK`=q*9zeMzA^L;nCaC5nUYbfy)(k-);H@#*~sDV%e1bxb*l$@E6sV60NQewZ! zO6&n#z_wBjxh<4eST^Vul<10uG=gim6c8%JTHcBpZl;V0G+7jS9U(pEEVSj(sa$#1 zs0wDNu~xZJ(45B=-L;zeshCNJJGy}zAUEl>tBc;`C%_H!FsJ<3-Km*(Ll5Uhc%24g zQ9d{g3^!}$8I|z>MZF5GBc)b~rhO}fs_I~PG&bwZinqeD(7rBCbc)>0J=bM4dim|! zJmZg0GgsC^jwn665;`Ut^a_<{Z&&IgqMAAIB*cB!G<uf24RZt@ImEL$-v;auAw6J}ZIF;+T-q^t?h$~-3tc5_STe|Pdo zm%F-|2-Dme=pK}G43eIIv8wN#OoVk4$vQW(DkFbsR&X<|w3!IIt>lrp_IEg?dhC{% zxws$tDhZWsX@m>f$?sY&VBP~ixb2CcDv@xohcl{gC!R=dq-W^m(CZt^G(Af|zo(8-$;oPre7 zF9KOG+hU*y>&m8tf^J)*YBqsv|0 zz^%+Wt~nF9-Gp1ukHjv@+EW7uf`RVcA1HC0;=*E1MY#29e!TNy=*Q=M6K?$rCN-1~cm~8XAgD@E^)dUlUudltW>BcadhI1v36D)%0IIDa zNUQ{G7rl`T^5PJ3ayBRRJf(WHr}~U1W*^G;|ptvi;WN^E`+^4 zkt*MLG1oR7pl-1AoFkTW!1=}0^LE03Ea?I5h};fM@f*TQ=C(JV>pMUM((;b^@FS=T zuH%H3B|+_&`}^Za?U);3;@jgRQZgbXBT_OtdN*#R%@8k4uN^A{9+*vysgm{J_i;34 zItH^+h`cIL+EkSOmg#tN2Oc#zi;(axBDT6VpuR!JJ7~{Ru%6etu&i$@Cwc2jccJ0k z&mNb{Cy-Aw%f;S~$qyKzrWUx=Lu2z|?dBB=Sa9R_jJ< ztGUZ|G5oh#w|na?yBhy^_q%yoAjVMcq_lpj#+?!tPpdJFW6U+Xg>>_KbGqI3u49Og zP5ySG-G!QcH1z3#Kk{f296j*y_dG~*`ST~k;nAt~{53pVR!{AW_VrPK(F2o`8NDAi z&v{iQ`ve!U+!&WTlPO<4@}of*P6z3GKly2TlyCk8_s^d1{?n)5R9o|b?bVVlJ9Hxu zQ&&;HEc!-|mvNU_H*E0;Jr0r*WLKdfG;~F6bX`_nG;3 zy9bCL5aWfS5GD0e}*i(8SqU^T=Ayo7;5W@un4eOZ>(vC;u8 zOeWi$-MPMU*WwV-FES_}V#Iu6A>UD(l-lN@eZrCgAHln5>5!e}{;^`-^W8&UYEn&2XM8XKnq77}4|4bX&Z& zq4`wa=ZiSG4OBlJn(99GxRS*=ULMP@9JbR4?62;y5x2W!Ba`U&hpRfu`QGcwNd_k? z9<>h{GzV?)GdslXD?hi4_%@>Hjr+8EmNzv9pdNuWMgrn4jVe zTR1Z%ExfgX@b3_^U*Qe7h~2vk?MCd*6@=1dO`Uwh=Cq6L3O8Y=Ab#Wc-9q`z-8KSx zl|+VSwuYmyY(NIhyn^YILbQ~#%t62ry)3UC0{V>~-6gC)Z)cqMO-jJ?-h3787Tntc zdY!z<3Ha46#PR+*Gw=HPY|ft7N|3+GoLoQMbBTn60SE&S1|SST7~oc509Qj6$t6}9 z?19Ku3i+D<%P>A3>R@^#c6+}V;FIRN)WsyGa zdwGFOy4>(hWFpW}!W19K1AS~tK;|rxB=QD(-ysw?|T0yL-1ic>}M9ozew%yK;Bf!9W^JTpQ)RMP? z%Fty>d`c6FMGN2A^CGDA*}cA>ps^O-Cr~bgN>6DK7=&j1qnVH3Y%7bZD7Ly#n}5~a z5Pu$@dK;D_V{hLd;!nSd?+<@{@ZdYI-%Un8naTdZ|Ho+X>gmY*FqoKELB1nn#ZFqb zhkdkl4E%9eyOtxw*!Q1h-aR;|rm= ziY?$)mz%x`w@R;%R3ubOaO>8>tu1iqIxOKi@68v}t{}%qp~dZ~C*AD&5mkk#DnwNw zf+|!Mx)oKS$Qr>d&rlU9RiOZheOKqYay&WKG})+lv*_6+8#GVamhA4VxU-tY4bWwW zDhh*_Jv!V}_PDl`O~r*k&wX$_h79m^N2)?Ch8*vAxs4m(gCP-T3?uNdEBL_l>CPQF zlL^M29e5dMciE`Wpd2Gi9U2h58M-+!ud!T1s*={+px;cXSZ4SR?Ph0w@ah$rS!DVF z6&UHAFWZRdT&d_{@K1(=aegpN?~r!%8Tm-s@$c`&=yalj9Z>{qmuLHtO>^C-N|AsHaS0M zZuR_U%akl)QTS`oP0M~fnHI(SncP~LN0a_cORfwx%4@ItV{G0Z96p6V!s54&?+}_zIQVk4xodT9zFSDIB5EZ(@}eh zr$YSa-SLNIM>H)jxhnGmE>Ge^*l4?{!k-!IRr`UJdAWbyg`VC1ysP>+Gv>5niov>~ z(Z+TIjW6HfJ}n(I);d!cKXwhbX6;PCzgl^0Z09`TZ2vrKje!MlJIojnb`xgQIWL?t@@19Z)LC`TX|K(~ZSTqU zslC|!$#66&m#UO3H)H<1Tl+K*iZ0DV+|CK6@S`VXhsGa`^K9}R!moM=qoebmfsO*7%pT!gWw|r5i#+Uu^WYiC^$Xv!+U*^V7kIEU9jW(aY`0z&G zmCZ9gb3@i&4(+YL7=<=yyvft8J<0L@B%ZYI$S3o2{&W7GoPAyH&iboyeUEZqZ|a&l z=OW7~U-x?tr?!0|ot$03eV~NVYk%};0M)YLAe}D7!Sp!f(GN{~>)MaSVj<3)%@%K` zQfCEYYLP{$ zC)~1j#lK}8u*9r?e=v@dLvr^P>I*R#n4Y@OcQyJ>Zb)e7ga_j4W zqZ!vKoL232D?DwB{>CO~-hq2^~0Rs!&`yHXy+j58d?Z8hwRemdw#OpdOU>BF$)2g#yX%y z8v<+aYlNV!X4)s088<GxY^=$g>7i4)(Tdp2Gd9BvB>(ab@UT#7aICC#56o)Jy??DSI}5q($TX>36+Z4}LEm4X4SUob>#AsHgPe@ECji z*=A5K?DF536J@vUEgkn^z;`m)Zos$v4$E&m4W-+EIz}q<9vW_@XZ5r;(%BzHxr#wi zX7;+-0l*8^lUiwglPTSUJb5!5{eF(q;-`1(+kQSP50a(e1zB)UP7VmX6L=@^PT>7k zfcNNX9wPLoe2VZJYgnkf)vRIy;+{=vRBel*=hps?n+e{t6q46)SZGqwD3#n-V6MBW z(JG3V6ti{272SOBzSC=W0o%LW&kfkForWeKDNUV$?K=(s3?p{z_Skx49AP6&-el-* z-*p4H$K>l2ipxkgMFKlUh|D#q@`k5IW^aWmT=c1-xH$fDZuh5NwDhH>}c9 zqdzTXRRs}qrIT^+HS)%qqV(Arz^{g~a}ah7uzmYrofC1-Pjee!m)`)96bfBp17&J5V>4Ct7aNqHPc{gV{}+x;@W zdoYRFn~Z$Z^yA)SxOWT%fjpXz_*$dDDJ5>)K1)jn$WMN7xR4R}U-RAYQ%I+@r2q9z zgs8-#D`9q!xsB$NQEvKgae$I(*>a$ZHuK1XjN9Z5_HD0fej+EM{;*83a##p%wAr5i zsA$qIS$vNMEx86;AU9KTKN}P9_i4y4CP(G?iwD}T~20`GaW z_pccAfBS@U6SWaMgpnd`@AIdgo$RvN*)~9?8R>M9d^-2p*{*_L@J4tvcrcs}(ruZ% z+pcf_oQt`kvv|(RTTWc`%N_6eqociF9*_6>gS}tA|LWQNcC0;L7mvLwKV8orVA~_} zm;Pun^+(^&a+veeSb1J|-lx+ux7LhZIx^Dp&hq(n zh8?kZ-2H{Y?&2pddGM~C=b7hkJJXgIu=)UI+w%z*&fED5bnS_C<1-3dLD}|exp8xK z84avIfR{J*hR({xXn?=O3 z8K}LuHb$L;x@$nxs{?#-96dkBZAdvgI7TqEL`nySrb^aUjzwRklzA?WFG8Z%qWp7j zev}Ivf>zFHzWJwW0}@d(=4GgAA#tm<6P0TcLx)=qvXQm+VnO(6PqJ;^_^;awP-hR? zI|5L@7#^Phn(q78zJKIH{|Fs4U`SmDN`HUrFjV9Rl=);R|&5Y zUcD7~Rd|+FGI0B|62uUOm=_db^aD1I;Tuu2P*fdm5nfG_LwN(CPe=~zb!H&bntZGx z=-EEyEKL-+qMM6XKjiJZK(1YG>n3uA6g-e?8J$mnT<4cre(ZeQw%7>xXF+g(l;B|Z zA(mv_3KiUX+Soj#1eKbnJeuOfx^Zj11G>lt-uL@o`Vez3mpb> z$@s`2<$&K>?o@d9t4#G%p3Qk@+6B^HvhT&X_J?nAf~76FAM>hXX|^@zfd{NH5RBd;eNIPxfYX|Gh7UDIe?! z#{R9GMEmG0_BXJ7KR&_S6_A90mPWv zR}O^-h&Sm5Y-PAtgR7hqq^6R0g~NLbVaz3O-UWo|a!a>B7(BGKbtSw*;B|y>>(QVY zj*eSeq(8#vi^#lnCY}YoD;iTP8$2n(TPcq&4UEf=-6{xk$sJf3gX@DYsRluxCD8MO zNhn)MUvd(riXuaRFFM^c9X;F64FMPW&zIl44Y<{*EO#D!(S`+xv7ye$6yQrndw}J@ zXcEdIT!qArESLmC49UnA{%4PjD2jQNMPu+bO_g5SsOm^4o%`XIoj z%Yfhu!IxVBUs$6Jq8*12fT7WjL3+&QI#&i^zCi;Xo`0oBXKNMaK|bsc=Gjqfvk}a+ z-|x+>q)J#3{Ujd_NAFgXz4y~`e^AV}5huScan;6Q*0#WLE>#Tw+e4Txw{-);KwPet zOcix_f-vXC?gU}Z^agD#*Ur_OQtH@HDMleVm2UzB@#Lw`%OQWkwKSuaIkQxyfR>Tl%z8R_F(?Y zBNDTUo16>7<7C<|jS8HB2lDXYL+8xH2j+fB*u-L$ zFTZ*_dH(h_|8@Lh{r>y@i*KL({Ji-=_umd46PCCYSi(TUQe+paS|X{Utj*x-WC^|w zZ!|YG^Xe923F_)XCwP}zOL$_`kAtHVx8EvsqJA^p?+^@kiGxmSN7q*txh-8?geeAo zFlig{y5zfokp6kkPbV)Socg}4RhI0GZzWR^MVwCH1)&a!bh1NfL!@?~rX|)YfmJCu z9Qy${D#r+<;Qs>?pw;37q9&?N#FrWQliqPZj)twgdmJ7w0?slC2geyRF^wS(oJSb~ zgQc8v@}`6huvTj0T2wBXL0tyD)v!WSbuknOIm05Mm78u%XvNgq%?VMg1oXr3swi#| zq981$;1!*14&&vgjli5NrHXEogXfdOk9Z5t!%a~*}UrXkj^z-C>pj~TpDn7lVKblm65=|>&6oo$>*N0 zC)v^9;UkRfPDTbRV|dYZt!%bF)Mt$gb{XteL-;Qm>~qx|7KOVlkJH6hRMYE>zc>71 zmt?p_#{Sd2fi}-&D@dq2VlVf?ax*|4tHzX*X-O|O(zrzZnUr4A3j>7L{yS1;Mq=Z7f9e*NIlgZpJo!!!wB^B!v-s>9JJAGOcNHo{g$%ewXg{d^Jn z3L=zhv2}1}gFzeo=6LWWt%fjT5iH_Z_@D*TU;2q}k77XC&MN52D1)OUu!n6zs22iw z+y-nXZ%fnOEkod-Y&R@(*wk^2uE(Zvm6aNQMN&bilx?(yv~_bSP79!Rg%|LG<<#ZQ z5)Qwpr1t?g0h4QyG`Jj%Z`@?;eR*PHe{;7D6kdbSBs0?JS$GRCG-z#l0SQsYtq2Ju zC>~0FZ3*4aC#0P}79F@wm+g%6J_Ttd=KE0eod#nxF~YO(a0$rM@YweUc>Y<3gDgr{>N>}VvbzDe1|}xAIsK%mZvgRBmdfJ67aA#6`b0Ob9+%m5Dt#roEw$B6Dgmo?r?MI zQGa7$^)5G*P)`@svqQ|Y3)opXY&V#*y2A#*xlO|A-9Zf@3rvkk{%erMPkB~R9Pg)m zax{Eby7{g{3VZu`#G~mLHi(>X1mOt65riWMN8Ab=AysaYg4`1G3{A_%*Hy?aS2D{c z8Hio$wivUujPlhW{gnThLdA7kK!k6vMPdQfB?v_T4<)d^D$cX10*GGd)C>|5Q{JPJ zg7dw(C6tTbuZt>4mm9Z<7dYcW=}#nQy}XcZ(__is*gM?}QSxXW4fy}( z&wu>i|JRpaJ^1A1tz>Ni0elPVw0YOvnyMw)jBEiuR8l9(n`{4j`BN^fZ$DPEG|ALb(bFd$` zob$)}t>qByVPQd33~GXVuls)Qf**eL{lgy)_O5h8o(+G`3k}qR#RQp@5BHkU@OUqJ z#Bh6W`jeN)(lsNn2KM^R-XKHSVC+ZldLMSxKa`6Vvx#-kKKi@nG>cRVCpPxUq-@O~w`is0T-^%#M zb2&Qx{j2+*pFZ}Ff&Ryn-bw!?mxm`F)?W+ql?B9MaS;u1_W%#x%m%V>n zbRl1r*aJ_6T27}}O-=Fj=%%O3AIQSf{eY#?B6ypEy|I_r3Q2qbB z-FNBi_b-ASX8dPn@5d@(pKg(lG{MF@Y-f8am=B0%lAoGOIP z+EL%`Bt`+4&V3jZb`WTRW5fw zM%fjTQlNgc47>eT5JT;V1Th)Q2~`{h+twzB*GD*tr()wk90xSEY< zHGe@>{ZtOoCEe2H7a)(0dzT7^Er)HLZ855ghN-2s+9i9q1H$FfA4_; zKEliB^XUXmWL-|KC}W&Vsv|!*oI;PS95oNBpPyc`@8WS)L_JR9%&m*1%d>BMG8~L^ zi#w)x5#y1$d>3s!CStGI9y_epFABV<$`Fo*N98&P!>WZGmt1PQI-ZRD;j!O!uV)}Y zkD<v+P)4}gKb@|o5;C?R-xxUW3oX%HoPasw@E~8NKE<5}J*jBb)d$xSG_V+G_ zdWrxkV&<0-JsFNB)zcgiRZiODBZR6jc|VsNFK5Qs{|078#XRMw)9__WRvUNujrLJ+ z_8IV>2xotO`T`W#Bn;BXEHPEHscxiwQOjCc=`=bSkcDKmbzOe&DO{8D zsEp7up;bM4^mO0$beG*{=Zj~@QUAC1gp!vV7@#15j+Iz;8bFA}mR|255 z=c11d_dYZgIMW`L`2M7*IIhm9=GlzXhxZ=SLd#!3%6gyrLU43K}0*8j$&?c*?9j{#^6G2`t_G` zr}y8YQ?|?Co~>|$Td6D}A!X}NQ{kS!=P#^p_ZAzWzPlL3w!C}8Zv!rBak}R>(ViFR zoJL=r#^!?PZL=&MSgmX6R29(z54~=o(Y69RWe>$2ma?B>Ub^_Lc`jgh>JDL`BzS$Veh$(pUAGaSs z{3EzQ4ZEdB6qEd10mF_#AHfZR8w58l(N0u4)ka%5Dr;H9LuyduG+K9AQWnWqA)+Z1 zv71BsyG?MT%iylV4Q8F?wPvbBxfu2%JP98SN*i5U)bmI9d=W%{4PA+o83??03ZGUs zcrq{UuLH$p)_aL0E^4P;ZbWe7myJHy%cHkVxM6a!Er+US6C0RhT1b03-oz?t=cQ;& z9d*QAB)GB6+}~S5iY*g$`Q68d8_f3R%W)UD!Ftj%frU(P<5OgJ2yR^FSVsK7^Xz`d z=o%9jhe>OS;%c5ZpK~nD2BOFoFwU zcC)G*-Uwxqj};zf!1!9#m2J4HLM@`U!qw=m!pRfdxL&xS99p1y^X0e$+(4sqEoxzm zB)CCv^8anJnD|gV3yhl;55#KeDdfYAyOX<%`5MgJgmm1UGWB zikqB0rq{`|&Dw%>CgsD24;{e`f*YU28H)Kj#H8WFo|_uYRPc^*((|h1*n>A7A|>Za zqf;}LlmG_RMlV9d1b7n=i+%aASs17-*HC+YsC!xIu8^3?iQhv0%Ur*;L*` zbUZhq_PG&3)kV>lsvB3SZgd&kb-1COcBm=2Vh~Ezjk{UhkXUBuTSQ5*RG0RnzDyf)idT=g}#epwHk#3=D0Ia7-&`likKl#f^J)-9!EX8nF0FuW?l z(Fr0xP%zJ>>;oI{fVWAFUU*c@(HUP?E<*<>^GLl^>*F^w#cK;}gf=iIp=OCG#CtQP zzf}oseB4Dk8^^eWDV~LBn#^)#8k97Yg*=XR4j!>6Yxssm!BwHi5Zbs3+UPR4>u5t5 zYaFw-5M~H%+)=b4(7z}IdKV3p8B`9T3PH+>%NkPoA=NyV23tZK*Nisofik`Ma@+xK zFcdeW6^7LWHwbPJ+#t9?aHH2z-mAc{GXRR5WbcxbETnFgiP}^;aY%An+rVrP5>*U_ zF2WZ+hbehhf*V(X8(ju>9d5u6fOBg#Q8(@`bwjZ_3lEGRorgSw5uvgif*5rGeLMw~ zQYaZPf*aQkHzW+EX3McN+^~gSu9@XbI)WPnHwbPJ+#t9?aD!|&P$LOhqOK8S711|d zsvGE~ifARz&emE>W<9qAH%`5uAF=&}WP?6DSt(vSm*MkAXafp1*N!&O7BydvJD`n1-B74jk?Y2% z@l++EI1$B(C{EN3yfQBoh9>I9q>qsQixk6;;%bP;E#CcY6JB!yG6DzrJ=kc7_|~K%=;!l;n_v2_dz6inRxA?^|wjS@l8TBVcj&K|?1+nw~cp8@1Fy8NS0sEso z9!{y5$`ITjxN$&mgWv|i4ZKO}$ZQg@_KQt}HuB)nP;Q;Bc#6(IJf}{YJjJitOx0y@ z*WpI#-Dg7A1UD{31C7A= z>BLXYc4BSYsWkkzNt9>(<2;`D;}hIgh{B=dBr4{fF@2!w16}v#%W(&|!C8-KS1U(4 zxK!OBxIu7(;KrEX2Eh%yV9`QuqXc0!B@L55kT)tM*y9>Zw1&1vwqk(@6-c4-E`B!m}7ZnN|^y~*PAbZ=I51Ko>KD$t~A zk>Du~hyjd`|D@XI3|sNW>!Qyup%UT{jDE=#&|ha7`s_1l+JtpLQ~)D%4F~ zH%(65mR>r78`lmunCs1!;|^#8)D5Yfc8r9nsJKDJ4JvL>af6B*RNN@EMXf?&#c?B8 z&5>tS=%vaHY8@%&Y+_w%9|(M?m+C6LR9yyl9c^gzQo;7kmFza5jk~FXn+$J&@Kpt& zWC&B~WGc@cIO9BpWV3LMF1lodHm(_M=mTAPsoLeZ1Ka>afr_}Q32hMCAhbbfgU|+{ z4MH0QZ8X|9K?YmZ%Al3XMvqo1)l>qu)*^BrHKC22lj;jg@h*eAjy8}MH9`nUtyFiH zxxr*K+5uy58&ObH##b)astV4=B%;;95K;Ur*L&G6^(kAa^nuiH2XB{SXS4x`!g?HP zR<$Khae^BJHwbPJ+#t9?aHB15m>86>C~oj5kzLK8t2(JG%SDzP#SLRhR|ge0u2kIU zFu3b*gF9`7GOm=AsJL-AiyK^c0pT~;Y(N$O#SQMNkO2ANd82X)4Llo)5GoZnuD!Sc zd+_;k+yQRL;<{nACX+vs!6g~oOmKtX2Eh%28wGB7ldO&z!Z=Q7FgGIn{TLHf3K^UZ zuVFw|^6UgRt^zl@4DLGIfH|0h^9B*cFSH1_-7>hS7}`+lx-#5?xxrxa7mQ0)j0^&~ zK%2HLDH7bccDTV*Z@wINfExlbxYjsUlgS@dH>kQnaD(6m!3}~N1#SRZC@mmKRf8Xn zM61#e;}jOs^VurZfH~eMf*VJV{Z-&bm%&|w8_d?i)()NDRNc6HQdGWv->dN-c*;_w)c)%em6 z2Ki`=t-s7+dRRU>^8I6cP<#^0Yq982jt}|^BnJf|^gV3yhl;0L#nAuj=wOg&JW*#q%9C4ld zvrF19zK;X^c|0EFCXezU78S!n4D|gW{`9N({_xia55DvI-DLEWnd}eze~bpNo{r29 zgNb<+;$oih&~nEPc?TzFsCPhepJIvwZHi~jLR9*u{CnZfABkvjTg zmvK3BMe!@g-hcVLufO^2zWnO#D^Yi8h-G4iH%)adxU)-He ze`cfFjzpKGx_S5=t_h>v;mNdi`W=ryJt;P>9S%R8^s(U=FMbh^zkTrPC42h(5I64Y z2ag`yFKhaBJB4_U6#-H_?ne2jy_xM>OBp0dYcCL~M9@t|C^HMmQe7ic+QWH;YQA?Ns^~ZJD85Crb(4EaNW?pRsoIVwMpc< zaaFj{WpLNwhSs{)R$HQq-(9#7Ipn7-Xi}MLQ7P}C&tPC>jXYElr8c#3L>0dg)eWwD z^X0e$+z@~pwpfu9Rh-}k!3}~N1UCq75ZoyBG-+xbeee~_xB z%~Ur4ZphLXHD8W9zzy)r4Qw2_RMbpGCVyn|M<##NOhqPtUAmp_e03vvA%lZR4i^oo z8v;r>Hc3|{Wq3A%H%%;oFTstgz>O}0yAC%Hr@&BLn$qA&aN};mjT%~14gypF8LkN7 z1}Ia>0{IQsjp00+TpGBknd+LGspNrDz4>z70d6q3{6Sx?=9=IJ!3}~N1UCq75ZoZR zf$E0g%rr=?!qyMQ;wqa^g~)BippB#&7PK%W(MoXRDsZFA;I6|BW=eg73*v6v-DavB zEtBvLuXt3xQqJ?r>LLecf{*ar(4oEk1UIf7ZU_V9&@RW$a03_xz8hLNVF_&z+90$+ zXoJuOp$$SC1#PITrRAzJx>4w*;s|__))j|3rxOglO)9Zp2!}1TBmT2AdG3g2ze~8f7alm1uNhIoxlkxY6naz4k}bqNH;zE`RcX z!&AInjyr%2u*;P-RuE5|h#N%QAmRoQH;A}F#EnASP+)>f1Anm`B6`Suge(=Bd8+J! zVo>Fj-WIztDs5b)w9#d7*TIGXPaKj(syHhW*tnZu15%bT8HIXcgUqL5nOCkZ`O5I4kuEogNKb5B12Eh%28w589ZV=ocxKZE+LLGtnMO`%p zY*lnpadcAUP^IjAkQ|6Zmn=KMjjOJ&XsI#}ZiW0~N_Rp3UK!Ci+N3dTI};&H`wfvOvK zv$|0;w9G;87W60&wp6hcx6n+jWMgfUqMJM25OL$0i5ucTsNQ@zc7_`*Mp5w1v5phm zAhkP7ZqO*gs>?mFBM zNTzb@tRT2?XD!8j)PVD7rt*ygU5aT4R3RCT;vz&FoQljlVs6}sW-2CODc&x}9pHvw zXr_`v2uW~*;0D1Bf*S-k2yPJE0Nlui37NF4SWFQrxEgk25}soYWL6I&vY;7NH?9gd zx(x0*++ej4y5?=XN!5)zTHOdK1Z!E9qk+etwy6r*#VWbRs748w+g>`VZd`M9gCD3G z{u%9Z>mR9ESx>N2=%Xafxx3T+sSk)!zCrEZjFsnoDsnIwwm28TRDtWCudM^Vvb zd{wmI2yI+D+K{|AUyi$=4b~G9|LB^E8&uq&;szBrsJKDJ4JvMw;s)a>)FD?5`Zp?N zrKl{7{VG!{k#fzAbtFu6<>E$%!Ci+N25#b7)|P~+?k?PjjhE48U1d=h>P90fpFy8W zGG$o&HK}PA9l?!jhZ|h==F4#hxB(elW|@+js2fz>py~!yH>kQn)eWj{v^uz|0aqZ& z$~D{oZiEKCR3NR|7|=wnP~WH%RX46^x`FY#ba2<<1{5?U2EL~1#@&S*fqNCS#42Ms zfv_P|1rPaHX&C*5I-!Fx6^u`CHaEFK|2wx>$7uyYp|68VW<#HB{3>GeAg|ke}R99)H>N2?Na6>5x<}j;CnCkAr z4V@aVp)_52rvW#tidEo-Rkec>Tu4m$CKKGaejQwPpj29+XF}9mnv_Fv03f(=6}Zu5aM$66sB2z> zzE5!D?!pbvyp_hFkl27VrG(9uk9De2;6kDz7FAP0SD&}L6;3NO1YfwO2XR+Vf1d z8&`%K9R_y|ZWyNwgWt3us`%ZlZs?%VznE*d{4o%w;OSU-(?F?#`>bkcQ#n=$Q&io! z-s*;Q2U_*!%W(&|!CcP?j=MlQWalOm$Vb(PePg;f8TSXd_%PJE7{v-K=gTa5H!WzVImn)VG$)rCVJSvaeXq3t-+e#*myKg<{ za>|Ly`I<4$SoE?81x)h54<_v%T3BW-iCgde`Po13`6*(%QUAR!KX&f`AH><8?mh0u z(Qtebg3oX9i(~9J-hVUdPfB@h95DrP#{1)GSYE?;zsm*ekMejprRv6Iw{0K8-1id< zGS~3cb(+c2O)v<}`bYWg$?_xX+O1wrCMO5``{VdBANz6dczKWG@OVES`Tp^Ezf6e% z{yZL!a+61S5X&7cDMa5N;!nSd?+<@{@ZdYI-%Un8naTdZ|Ho+X>gmY*FqoKELB2bF zeQZyDeE0mfZ{I)p=BMe;hxf5_=bt{#1UCq75ZoZRQQmzlsJga}Rj~neRn-mP2CI1$ zj4?{PVC!67JjC6&3U{N+;I6}sS_;OMQEc?P9anh6PV%S{ctcBObj9{pBBnUb z<+Z&CdY-*2anot^x=Zwh!yFBxKkC2F=@)-AEwAgH_WyGQIke$pZJXrl*r23ne5GR3 zz*Jl!>P)UqK56ZIF}oqSaeBk<$CythxfFdiZpQLE3^W4crxQOp+ljSpCxqv-r`ogr zaUM_naS7(I^h^Z|z}z#Y!NE8XFcqII#~t8C;ciI44M#$_RNc4)B@*1Y$5dbjKnst* z1Q(*3dsu(vTrttO%tK=kqF@F4laqe(aa4j9{58Lr;V)4Gi*q0eym5wBR{~A`X@f6 za>jKHD<0M3uExJ5m9)Cy-nl=07C^3_`!Kx9NGG&c)bw-t9S9Bv*GBQ;6Ii4prsF(%(LX-Pqw#Ps zOLc4MW zb?xDkks~W4?=rKjt8^WV1KpGdUtZ2BFY{9PDSXf(hc9uN?NK1}&k*3&l~Ls=I4IzT zF_nZQZj#JK=Bb(Ls@07ygS!qll*RoJwJmyJRNc6v)eVE}H_K3;)`c*oMXa0vYszEk z+PcopTWY2{ix`%W;?u$nW_$DHxC7h}tfv8jnbTC=Ae%q3`6HV@f*WM>*98x(fxWv2 zH!>GWa9LMUIwV@HNL7FyRpkW&pcGX0slZ{XZd|3h(PePg;RZ}k6z5VCcjN9>Hy{F6 zGmh>l({M008is13f~&X*Fx+UgU_lp*Pt}cUu5Q=^Eqe3ixC7h(zuY*coFm^2s%}tq zgPN(Rx3X6mV#YK4r|am;Q}GZiwd<+%lE zH8qt>3?w7lFv(3wQIxosda16|OVwd;*U(07LCArnxFoc3hl?9FL5-?#H8O`B6*{V* z1_z-AElnL=ytx)_y$+yneJ9F$N6Pf|C@D02C`0dT{Vwy61X+yQRDcEf<0BbAx&wAAWo#W}jj z$Rfi-I=Fef-))^29Tk6c)at5qkbj9U{a}!fP&~W$We(Fr4E9Vkwp9+Eme*qGp&p~F z;n)xSVLpbK5u{^Ax%Z|&NW(Yd-XKp}NvUx;$YSI1WPE0WE^0R0cO7nMrB#s%BioI;Tis|P z7p?}fw^E>xSO=)f`2Z!~##+`i=(LK(c!8MW*US_*2hgsZFUQVsqs1sS7qzZQn2M?! zRNbKJ230qxxAlE#Tf2(K8cq)4c4)DDWxl7Y0E(PrgfDIN^D{9RQCx69zJ!wqS5 zZG^IA)QP%rH>n#&1)ZdKm1sDuH51mGQ_!&n@`t8%BfSyj_7mK=cDTW9Z@wINfg7yH zxmF;HQ+0!Ma7hQ3ba06&PCB@xgA2G}pnB_~WoV%)%~bHzL0^Z=2!!ecD~}u)4~TrI zx^b22Mwh`|hZ{l|3+{#@+l{+h-7w1W2A)eGi8}+w94@i^gn<~Y_r_*m4o;@xH=>z} zK?irX9Cv^l;BGK3taOAn2yGDBAhbbfgU|+{4WJDP-G3jstD2yZXVu`0ThukGWVKB( zc*!++ieI(3(PePg(FWYHg{hSz8Qi;zHiTeGo5U&`6XY2h2QfHwFaqMc2*y-IOI5MD zq2k6h7dPqyW#HG>F2^0v219W}iCQ`;Zcr~3^-@tU74=e4FBSDtm0l{5VMm2#DtK*_ zwhjg{&VcTLs)jVK&8%jjCX>Ib!i_G2y9PJ32aT{9AK}B$P{%A z=TfDe*U>9Da%7@z+<@XneIR*nz8pKl4PX>7#g(#7394>Tb%UxKRNbKJ230qxx>2Yb zb<#m-UdhbS+mYZr=5*t#D3}PIH6a+PZd?^^bQ#=rxM8$q+SUX&?yxWwi`Lo3*(wE< zpazE$hjjrfuQ7lcCaM&Q)eTiQuD!a!b#J~LcYqrLYF1nb&PfNCsvA_@py~!yH>kQn z)s0f!fc|C!Owm*ziX+jgU;_{WYpRU=I*Up=E=!)Bs2f+IZgd&kb+}P8#cKs;F^oDf z#qTClJmkhhkAYQ8GhloR%;6fJ0r{H%yBn3D(LiwH`c3}o1N24Bm*XyQqiv>w>ISFk z230qxxV8?}j6XE+->nH;zq4Qw|Wl@b1=WJN;!QAWK!jJ7`j8DHG}7PHsRml|E2K2e)00 zo#BQ)(5_b-Ep@F3ZV=ocxIu7(;0D1Bf*XJvP7BX%>@DKps^$?k3!5lt!zf@)b`RgelR;%5oGt0*4eFbg7gIRNc4{ za6{PMY&q_NHlRzz4C=x}-Jo77>ZPJyD(a=8UMlLPYF#%P!IILVLWUK2)&OT?-!POp zn97X}I=hB?sjiAPVu!(9M;lynE1c8hx^Z`z;*2pbY+YB$$Kok&V0FV(tOU=|JENnj z%c3Ld#x+wn^Z}Q>`EuL=Zb;U{B6hB}RNSEA1{F7`xIx7YDsE751H}#QnpzocDj51f zl2bI0sB+9gl2gI@55D5MRb(aV##N{rT?TgzZa@In2+JXcOT~>l+e;Nf&Ar7cgV1ya z+z=3-ZbYt_f*fuZj3+~`8#kc1p$>H2n=i*5;0AL&r!7~8s2fz>py~!yH>kQn)eWj{ zlu>|j{8kw3NpR!N!i^+C z0J;ah;1Y{2z;+{KxNtxNw^-oR5&uwiOe7={I$!mGu!}1aXqc!U}UJ7ir@yp z4T2j4HwbPJ+$eCvHc{8ss7iSYVJgm%XyqB+8wODidaJb1#Q}ie##P`(m%&|!8#M&` z1vi#l{_buw6$glq!drOzxu#M%coY`}bgB{n2f&8(vhby-nd+LGsnmf`z4>z70d4@J zFjRl$Y2Eh%28w589ZV=oka6{EPC|L~tAcq6SMpn?IasVFM8YEy1o|Ys`bye<0 zm%&|!8_F2)W~?Em_}zsYQpB2rEnY#30Xn!f)ZlD#ri!REHjSy#-dNBk!HsK&8_dA4 zuPnzM&;~~@m1P2A0P~&3anwJV^oN5-En5x_fLUc*$;1Wf$q)s!$_W6@8k8Q!qL(GX zGsy!#n6!Infs*GXVe7p=Kl|rBKSgLa>c98p$L<~AgE;%sy~q7H8eV8*li%VO$JlSY z|7O&m6tAUm#0mTK}C(DnlYqxqinVcN#?~mileC)@)w2__RO2SE;u^PpV2rXR8A_LCPIf*12nTiTBp^a-s z8}dN&-h4Uk05@9dhP1UHrZ~Y3f*S-k2yPJEAh=QBMy+9AZBf?{Nk9e{a#Tf((^o#! zF(>ZeeoUU?S1oRI8QgWa!L^i9$d;c^GPrkB1~+7zvP-%`Rnen?5&j#V8&R?1{TCZq zvs84+2yR?E+>p9AUyhyOhCER46o*v@;{-PdZV=ocxIu7(;0D2s7H%->>smBbLZ@-j z$bkVst$F1l{EkEBx=Dq!O4W_4R5$7lgS!Sdq;sa$jx(Ze+}-L%NTHV2fGJ)#sBTyf ztDB6*8lSU;(VtK$m2L-u8`lmu&=)mdj=R7OP&b6M+GuK~A{|`P!6hAB(!nJiT++cs zbt9&bB^MeEu|#&*{!v)MBTW%aHHYi zge&-I)(wLWZlg0i#X%g0!Jo7-MJ+Q`H*SCqt~_9>H(QQ7pbf!#LJNrkC83RvfHsc$ zgXvp;m4DaO_gQ@D2ZMYB?X!D7oaE7r>w=G4zC%lTnU-W+VJM8jjyU!MoWU{90sD_~ z?@fP@hHu8bL7ueai*Y&7V&m~-d}f0#%p0O`++!**1M&)3Y=}P;l)@pAnURtajmtbV zCa98v^Cu^LxD}QA+;U1^%s4Fqt&6ODutq9*dwet=`jg&pbh!U!yf4rqzK{R)6Ygby z@@~O!8Ba$8e_U8CKhCDjm5+4Tf1L;OV?8Pp5l8Bu_>{^S*L6=wJW^bZe@k4oy5Zir zKYf;zvwrTw@G66%)m~B4Z&!ea^r7>`%}E*btY}tO7(-TNj+T`YVc<=JUq6}l%Pfb# ztdtKQK18PT;RAEOWV+Ty@!}I$P`sw&JbKYT#(EkL2a6@OcBGE?qm0X$D~ew^_WsM~ zef`aE_vKe_C(qx$=D&`Atlxj%fAQ_JpPx5B=>FTmWA<&oXsoRL=*6c$BgwTR(PgP_ z9)5>w!f1DRI<1|4$Ky{=K-cSX`01pN4ZnEti+KF)gI6!v)8~h{abG`p^x%G>WxZ~v z5bv?}p*kFm@=<#;TN)ueGay;(MP)O(zm*7OW?5J18ro8gj6C>4zDRk=^}|o$gBC!1 ziHC4|6eDzwn4w6uCZG;yQQt^~%+X{RlCj!l=@vVE->%Ek#N$_k^i%$0n#U7taWuqJ zzyCg`U;NRuEMI)PH=2Llz7r<-a5#Eb9_g>=o7_*w{Xu^`DNp^^rFCoLAZuITIPL7X zUJ7HU_uzgz&g1lW?eYZ7mib<)GI^FetuMe`etk&;-dJN- zI0~+0Jn@sWz~JdLMo>_4dFpKZ$my45-)VTdvHP~Y%5$$>N6-4lc+B|YLYjp;iK$Q$ zV(uB!2T~kp)tj%E9k2msJr0{2L?MI?J_0rXV|kKCr?`Nv;ey#K>}t5+%N(YMm>z@) zh}KP*01II)Dm`Al#EMeDIw&Db&u2a55^VHRkrCDhk$M49=0nuV7B`zcw0I42HseH_wnI|f{4^?Iqm>A7~lqT zvX<+(u+UBeHuzs8}_!vDUi;QJYe3 zB)D-ExY1>B*Wm`FyO?0omiishy3Z>N{BFn9EruJ+CEyFJH>&|R5-QYArC22_JzfWh zmj+UiI$PgZLW(WrjpcVAA8tsfNX?dGXSg8>t=kFaU~fv*jgL^>=vHRLy{FD660hCJ z&vy*jsPl^BHZC@m21WojP-xK>%2w89 z?s+4)W+g(UlEg|$qSJeDfepG0@CG(u(0+2lP+8)#E~rko0`vD~vLe8VfW(@GqZ%+m zrHm@XrVKGCG(s8CXyxOLb??4O*nsus>tzRQARz}Ux#a3rncdwihr4a7k7&{4Y)7Jalw&~K_Z-Cm2}Oh~>YQtpT`u`a0sxl)02BvG{ban~ zWkA;hepx%~&}vNq|5XD10#L6U;A7v7mikM1!lg@pnX#V{oULhOj=bW!My|g`t{woU4nMj zliGqjLd`xOBcXqJQy=d86&rns%1nuTO5~Hg5jFYXwf_m4e41E01LkBE97irOHi+YE zp(=?!1LGBX4cY*N;`o&~{?hl~BBt*$xSKIOG^P}aDJ8USM(QtY)3kmNvK8*TtaCB1Cs1_SMDXh_yN0)|;<;T|bsWxKE622~u+(xh0t1@-z zZCDwInvN263$ z8Qo&3fKBT|Rq_iE(ybZuj72XSEdH6ac)LfZm*JnE{qtUlEr+B2`w)kXD4VJ+m&LmaUsn|7m&noLt)X)M}%IJ?~ zDwU)b!ttY z!7iwktQusrgofIGY7C*?q`zyz~ zQs}?BKO*X7w^5q|mbDH|G2^rxg#)xGfn)47{tDMah~s!)tI}w;-09K|vvuIH^6MYF zMd=1%17&;j^|Bi_U^QIrjlE3?{f+7k^$(F7^Q$1=9lt)dCqKS>{@b_jpM3Mv^ykCk z+`1;(etzrHaV9GSvO*v$1hPUX{@*75ANJm~yN%;o7yc_+`gHHR(m>4vKOHGfVjUlk zlJnZRxy!4nx>|xmf(!-?_R4?1Pc;D$M1w>Flu1z9IY)^^putAr>a^jX{v9?;SmX(dHk3g%nssPV0op+8rkXSHJyZV}Z{}uE0-} z9xN`$-f#o+3&<4!_uwl_aN{FHA?&`+Nv=S0g-rm|)0~tjMMNngO3}Shir~SbmM zEDB$##@LcT606!pmNie(rvQ+1l%t2w3vLKESX_?#zzw7;DD8~%1UCq7xL8?_EK`-3 zt(?$MC83$5N-Ij+Jj8WA3NutZTytc+YbFatavYn@ALaKKs~8+{gc6K+^;gcL@V zhYqQuKTUPC6{cYc@y;fA0}ED2q(hC|XQmmv(FAK?$A!aBaO3xtvIv zAdCjuPyiYMBaJFb5uH^yS6xx@652QfZS+~(O|+q4-?7}ij-KCeUuGdjDI&O+w0mJ*u_I4KKn3S_y;fV3G->5{4zSDZ0PNiGQt(B zY-p(x+z6QfUA%#GRKyJaMo?8&A~o9bI=NyvNVwv5Tyg2a)Mqg_afDJ3W$4QUZo(0J z;Ru|U2Wv12YTImV@ASd!sx24~#x@}rdsbXN4J?vl02?Z3279v<1o(*fRd+xL%W`l3 zy*)zzC3d3JU~#_hQK-Xdm0QofQp7?c780?L-kjH00TEMRhKqMK?lR#5jeh)#AzR*p ze^t4<#!boafVM@>6%!5mgb`7d$}HbbbAh$;`8@ubVT#-q)fDYa(at-^4i7&UkPd$F zPR0uP&LBi!Fje`w#SvL+VNp`wRAi@RCROKTWP6;ZG|)$@DR^J}{3OAE+5 z)c0$jRSv}7rT+T%=xDAA_||W!i7q1jIaJzsR#-?7JxFaU(`apSz{8i{vFay{^;0Ai zEGbOej$j`a5<8I=qKEc!>yw=&5NH~#k(TP++>X0jIBaDDp zfcb00MYqBz--I&||F6pDopX&futSzkCr=ND8-foOm*XCAL;3-Hnk^>>*$Kf7f*a%@ zOAfN+Alplpu)z)MsoZ%?s)xqpq`<5wQ%j`8!93Q(TB0&JdapBh`#BTbIQ=>t0ylDx z#odG(OhaESoF&!6r)%kCn1oj>vKSi&>4VCF!$++Vl{5-RK6~A?(ToH)t`OErN4;g# zw0iAhYpmG`(}Tt3xCh)Q3DlffCW%W$Tq+uF&~Sr>8-t#ea~b+vV~3@`c=p>DKaKR4 z|9B?<@_zQy`?vh(>G$ThZ$`g-MZ=BJ*>w1r(1t)G6}AX)wG+s&(^^zcf;`Dn6rs^D zk*y1>hlU#mp^YAkyMZ>igNLBvP80?k4L3f`;YM;%XbIU-b{J`>plgtoxvr86LDoUp z(2#-b93=0DMH|8wTGZll+yiYe2rJ%c znv5=Hqx11}m_RAZDm&2sV6dxPh?P@bAmZIH78sO%vKcOo5MEEt=NHpq6XIl)#-|s4 zh?JAJXj)FD!`(c<5(#uV8qeQ{*D#i;1R@+Hv$|sB>NFfq(;JGy+w>#q**T|d3UZ4@ z%}Z{vsOaD3V#Uk{mp9e($t0hKa;I;lrOLus)C5c(a)Pu}#NtEjJd~!<`bH)mLqP>~ zUOgc2SxcC(a&o{GSKR?EEK9%r_xAYQolt)ZGgzGSdlcwAJGu(d@`?qiL4|>`T9USU!^&w}<;a&sd!GgE6zvGR zHB3uUN=V?NQ^2bilC{t@PS1#kNnc8g6TE_-@g9+bPH`zig*PQF)v% zE8-R_9$%lZ(Bqc7_)tZAlbG}-x=NVbwo4P{YRH0@&`Ad?5=!~vXiPig)%E74MIrcyFvk8Wil`d18o)64qBypy~kYy$_7Z;iru#494?F<93i%s9yVqiLtFvwgzDbEITv)i6N&;K*u5zgF z;eQlydDV=GT##CiV*bW`U6q8lAh2B<7in)NJNe~2!JnYcWnS0$?5h_)vMjh1^m4Gc z0`@5A(S`R;c;_FLE_gXVxxaFLFBJ}T;HikGBA$wPD&ikU$Z~YGWUw0oYo^Tm@wZ?> z&bLBI6dE2Tr(`#@(Sbh;Q#9AssG`f#J@;75Ev37{;KSTg>ArZDZ>!HbT-hV*zIT=# zU*e%V?+jTZDH=%US;BvLr!l}{V9z+T;v11cLA#?*>9XAGl+&HVHGDgo%;sz7>gA@# zSEyf}?|T&L=)9NAVttf#`YxaZoRk38FjV{FhgUc6%WaK!V$D$FT~N(VH9OVpkD_Le zsSd(9RyA-*N6`^e6&bP#40pv+J6Pw7f5>M?bwBXwx2)d#ENiEF7br`-WULg_e>`_) z@eOaU-j{EBERFYm44NAcZm-4Y(|C7{aM?ln7qU-iyz4?n6E&={8m_afEh>HdGHSd- zlF3#~8iB?;u7EwOc_X!RcCpb)*V9tG`e;9K7-o4K#_J1 z*H-L>0-{gP$0*IOz|_Wh_A;mW1bL|~@$Cq>G#mR<%KA-QJf6O$COkFasi3EVo(lR$ zQP9^GQdesrTdi$LFUQCvYtf9rwWtDwKWQ(ZO z-RA=sHP`q2D7CHJ!8gCX9`-Bmnep(j<;Pgw-^69vl0JQZZTp*cYTF%-ttZ!|X}*h3 z%@;Y&U*mF1rvbjzEg+f~pSBXRGeuAQER5lba|U0WK{}u0!MoA8K7ThIjPq=W%|=sf zvwHJ%Hof+SKB%nylrY1maE*`~cpuBsNg2mx^GEsp#p*{OY?XIyL;;+@4ozD{^RRs`~2#&O#YYTe@XtA7mNq2B+L$Tyubq)**{ zQ=xNJeU$^TQx@D|x~y%FsmH2A-*$)V3`?S#+bTzRLa7j-Hm}j;myLoUCM=?$oW*Zl zZM0Lle9Ld|0|R!i!4(#Ok>N$2%tpB_&Mx`(e?G5E4YSJFTJrF}&eJKXHN5oCe?I*o zPtWJbmVMG%Ax_cc9*ti=8BL#z#^pz^!JC>6@V)|=x-|Z^&+Z(I)oW$Td3@Q?0Bk#g z<=3?1$XBDYjNf-wia7yKu4;Xj0JyQZ9QT78T;Y?BdYAy!{4Bo;@$^CExa)hd?bh19 zJ}Y}k^8=b6(ENbr2Q)u;6!U`y6nAy+E0$|{RW0}8<^X6dVJ zn*cA0U_JXR^|m)Zg|~I8TD!Pqt=?xzJGHv?$}o8OQLT=F`2mZ+SFzqHt@@Sh-OW0M zyVOY*9uHEhLk$Djk|H6%*|&@v6JycfmP5Qp;okYB`;_lDZG2=!yhT85Is5mk;k~ee zv7@fxFXr)dlwN%Itgg$1<3YRa-F;cRlZ`H_EBoA)lK{2dsqIc}cdF&7mVXqryi2^X z${Eq6USq6z_RcgDH!wQXFApLN^)fG6Oxrth<~otj=qW#Q)MsHR`5=?^#vd)4-x z&+k{;cQ@`e(657{Y@JmS#2){i>qMI z;$FjoN*#4^e|jG3=ixMf!;NIur7zO`vGl)LOth}=$68T;8mW>eV*aI4K^W@FQ&;|L zs^lL( zs>Hd!M!4EZ>#02JBuZOHKL5Gv60q^Y#LE`6iTrOIGcZ zJo}aveV;|`RP;uB?ghUmW1K~;aeD!~eAE3`^o!rTG?DLFdh{vfZ~f$6%dvf@3X^zM zpSQRtG_bJu0VxsQHXy4>jJO;ya}B0E402=wjlN$|f9pQ))3G045-K*9^B7aBm>Ddt zhds)B4%sU%BeW+L8y!`7zXM*~XJvomt}Fzv>xgxlXVkT)u03__scZk^PtCV_M8!R< z)E-4~Zz3~X*G=UDhgOfluf}tfAu+lrYgrp+%8l)_BiS7K_*>TZeb%*8-)kcwfn~bX znAEX9Kf8cIU#B$=1MD{G_r?OGPl5Vr?U8ls^{r?! zai@NH0M;B#SI6!C)vxP&v34b`NH^{4WFk-DR0wz=4J?uBiF@-%s`(nlg*33gwgTKq zg`%U1h-j${a``d>9c7Az-~HLO=eIq6Z-4MDi}*e(+9~3dHwI?@M7&v7!tPOY>{Gk1 zeQdv~eSL#YBc6+zS@7noCI`^w6SS~SY6)p9c=I|qoz?3xcoR*Yo^ z&!}2)-?P@gX??cTj<=Nly*~vfz~>bz%fw)DIqnBGq%NLRM`?)J`(WQE?dPVQBDi5a z1j#MSI66LbQq2nZe(GYGn`dG`oQ>gjoF-wqB1b& z(Y0wZ#tYc_9#o*4)`#H6)05wyz741I4Eklcl+IH)9sQQ;zb}6V=+xfTUX9N3bQaD^ zF^2)Eh3#0y{41tUgga4Yu(%w1!wq+$p%nJa$m3QD-;A$my79E|eWr+_JqzRTI-h~} zF-Yf=Ja{)6*XQr1gK?e>aaN6{Q=B!+H&18NYj4o-jJLtX3eqg(xF-h2pU`lnwm7G3 z=0e-teoC0(Q#jmpSJ+}4o6R3xQtB_?MbnL^nWh^AHwbPN*!hSw28?S1i*eLDHV24? z6{}){&|DNkpqwTNmzttsCAg8^jK;{j?A2~t!i_$Qy9qZqN8qY9_m#4>s8_cYWLFmO z%Qw+p#LJr z`D>gWm;K^$&V+frh9C%T$PZ_4&)miLAAb7BSHFGtp?tL%Rhx7J0$y6fNXm2Kr6l;eo52Yy{uqL9ZuC0mLhbW5jh~UN* zVpu_nErW{HYabtOa5Y$5j(fn35_2G(xB93P%m{7}+`tO_EWUaD^YiEb6ZD7KCUX#=pLt*l))(`)ee)@&4>|dLAwY=abjNchjL@Ob_w@mjPl|)TY;?w|P7cXJwrF zqJ&D}4nDdFbzMB4j2Q^21|Z4ePwC&TzwycUb3CWsjPT=IQQYQlr0E91jYkGI7>g_` z-c*gz@NQ&6S0UiPWQ^VfV?-@IE(3xahro?Ki@OOo;DnD>kI_V?`gGw&xz-wE8IT4% z4wS&0Bly4z+D~=j4X@*#hN(Sj#}1unp9#%^UxRx7bJA|u6YU0z%W)65!9b?sf+idJ zHS7Z}ro$%0$taCaFZ>W^&s$VYlj(5x+1Ib7fKw7Qxzk*Vx*nc|=}j1q^J(d^(`197 z#-i%KvEC=BQJ%u-{H%knmNpXeX`cKtI=jF%eLfDe(RqPc8>p%0DwczBEd@IL#k1eO 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

Windows Container Web Server

' ;$$callerCountsString='' ;$$callerCounts.Keys | % { $$callerCountsString+='

IP {0} callerCount {1} ' -f $$_,$$callerCounts.Item($$_) } ;$$footer='' ;$$content='{0}{1}{2}' -f $$header,$$callerCountsString,$$footer ;Write-Output $$content ;$$buffer = [System.Text.Encoding]::UTF8.GetBytes($$content) ;$$response.ContentLength64 = $$buffer.Length ;$$response.OutputStream.Write($$buffer, 0, $$buffer.Length) ;$$response.Close() ;$$responseStatus = $$response.StatusCode ;Write-Host('< {0}' -f $$responseStatus) } ; " - ports: - - name: "demo" - protocol: TCP - containerPort: 80 - nodeSelector: - beta.kubernetes.io/os: windows \ No newline at end of file diff --git a/kubernetes/testwindowswebserver1709.yml b/kubernetes/testwindowswebserver1709.yml deleted file mode 100644 index 92d8ac4..0000000 --- a/kubernetes/testwindowswebserver1709.yml +++ /dev/null @@ -1,42 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: win-webserver - labels: - app: win-webserver -spec: - ports: - - port: 80 - targetPort: 80 - selector: - app: win-webserver - type: LoadBalancer ---- -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - labels: - app: win-webserver - name: win-webserver -spec: - replicas: 1 - template: - metadata: - labels: - app: win-webserver - name: win-webserver - spec: - containers: - - name: windowswebserver - imagePullPolicy: IfNotPresent - image: microsoft/windowsservercore:1709 - command: - - powershell.exe - - -command - - "<#code used from https://gist.github.com/wagnerandrade/5424431#> ; $$listener = New-Object System.Net.HttpListener; $$listener.Prefixes.Add('http://*:80/') ; $$listener.Start() ; $$callerCounts = @{} ; Write-Host('Listening at http://*:80/') ; while ($$listener.IsListening) { ;$$context = $$listener.GetContext() ;$$requestUrl = $$context.Request.Url ;$$clientIP = $$context.Request.RemoteEndPoint.Address ;$$response = $$context.Response ;Write-Host '' ;Write-Host('> {0}' -f $$requestUrl) ; ;$$count = 1 ;$$k=$$callerCounts.Get_Item($$clientIP) ;if ($$k -ne $$null) { $$count += $$k } ;$$callerCounts.Set_Item($$clientIP, $$count) ;$$header='

Windows Container Web Server

' ;$$callerCountsString='' ;$$callerCounts.Keys | % { $$callerCountsString+='

IP {0} callerCount {1} ' -f $$_,$$callerCounts.Item($$_) } ;$$footer='' ;$$content='{0}{1}{2}' -f $$header,$$callerCountsString,$$footer ;Write-Output $$content ;$$buffer = [System.Text.Encoding]::UTF8.GetBytes($$content) ;$$response.ContentLength64 = $$buffer.Length ;$$response.OutputStream.Write($$buffer, 0, $$buffer.Length) ;$$response.Close() ;$$responseStatus = $$response.StatusCode ;Write-Host('< {0}' -f $$responseStatus) } ; " - ports: - - name: "demo" - protocol: TCP - containerPort: 80 - nodeSelector: - beta.kubernetes.io/os: windows \ No newline at end of file diff --git a/kubernetes/windows/AddRoutes.ps1 b/kubernetes/windows/AddRoutes.ps1 deleted file mode 100644 index 9bf420a..0000000 --- a/kubernetes/windows/AddRoutes.ps1 +++ /dev/null @@ -1,59 +0,0 @@ -Param( - [parameter(Mandatory = $false)] [string] $masterIp, - [parameter(Mandatory = $false)] [string] $gateway -) - -function -Add-RouteToPodCIDR($nicName) -{ - $podCIDRs=c:\k\kubectl.exe --kubeconfig=c:\k\config get nodes -o=custom-columns=Name:.status.nodeInfo.operatingSystem,PODCidr:.spec.podCIDR --no-headers - Write-Host "Add-RouteToPodCIDR - available nodes $podCIDRs" - foreach ($podcidr in $podCIDRs) - { - $tmp = $podcidr.Split(" ") - $os = $tmp | select -First 1 - $cidr = $tmp | select -Last 1 - $cidrGw = $cidr.substring(0,$cidr.lastIndexOf(".")) + ".1" - - if ($os -eq "windows") { - $cidrGw = $cidr.substring(0,$cidr.lastIndexOf(".")) + ".2" - } - - Write-Host "Adding route for Remote Pod CIDR $cidr, GW $cidrGw, for node type $os" - - $route = get-netroute -InterfaceAlias "$nicName" -DestinationPrefix $cidr -erroraction Ignore - if (!$route) { - - new-netroute -InterfaceAlias "$nicName" -DestinationPrefix $cidr -NextHop $cidrGw -Verbose - } - } -} - -#$endpointName = "cbr0" -$endpointName = "HNSTransparent" -$vnicName = "vEthernet ($endpointName)" - -# Add routes to all POD networks on the Bridge endpoint nic -Add-RouteToPodCIDR -nicName $vnicName - -$na = Get-NetAdapter | ? Name -Like "vEthernet (HNSTransparent)" -if (!$na) -{ - Write-Error "Do you have a virtual adapter configured? Couldn't find one!" - exit 1 -} - -# Add routes to all POD networks on the Mgmt Nic on the host -Add-RouteToPodCIDR -nicName $na.InterfaceAlias - -# Update the route for the POD on current host to be on Link -$podCIDR=c:\k\kubectl.exe --kubeconfig=c:\k\config get nodes/$($(hostname).ToLower()) -o custom-columns=podCidr:.spec.podCIDR --no-headers -get-NetRoute -DestinationPrefix $podCIDR -InterfaceAlias $na.InterfaceAlias | Remove-NetRoute -Confirm:$false -new-NetRoute -DestinationPrefix $podCIDR -NextHop 0.0.0.0 -InterfaceAlias $na.InterfaceAlias - -# Add a route to Master, to override the Remote Endpoint -$route = Get-NetRoute -DestinationPrefix "$masterIp/32" -erroraction Ignore -if (!$route) -{ - New-NetRoute -DestinationPrefix "$masterIp/32" -NextHop $gateway -InterfaceAlias $na.InterfaceAlias -} diff --git a/kubernetes/windows/start-kubelet.ps1 b/kubernetes/windows/start-kubelet.ps1 deleted file mode 100644 index 5a985a4..0000000 --- a/kubernetes/windows/start-kubelet.ps1 +++ /dev/null @@ -1,220 +0,0 @@ -Param( - $clusterCIDR="192.168.0.0/16" -) - -# Todo : Get these values using kubectl -$KubeDnsServiceIp="10.96.0.10" -$serviceCIDR="10.96.0.0/12" - -$WorkingDir = "c:\k" -$CNIPath = [Io.path]::Combine($WorkingDir , "cni") -$NetworkMode = "L2Bridge" -$CNIConfig = [Io.path]::Combine($CNIPath, "config", "$NetworkMode.conf") - -# $endpointName = "cbr0" -$endpointName = "HNSTransparent" -$vnicName = "vEthernet ($endpointName)" - -function -Get-PodGateway($podCIDR) -{ - # Current limitation of Platform to not use .1 ip, since it is reserved - return $podCIDR.substring(0,$podCIDR.lastIndexOf(".")) + ".1" -} - -function -Get-PodEndpointGateway($podCIDR) -{ - # Current limitation of Platform to not use .1 ip, since it is reserved - return $podCIDR.substring(0,$podCIDR.lastIndexOf(".")) + ".2" -} - -function -Get-PodCIDR() -{ - $podCIDR=c:\k\kubectl.exe --kubeconfig=c:\k\config get nodes/$($(hostname).ToLower()) -o custom-columns=podCidr:.spec.podCIDR --no-headers - return $podCIDR -} - -function -Get-MgmtIpAddress() -{ - $na = Get-NetAdapter | ? Name -Like "vEthernet (HNSTransparent)" - return (Get-NetIPAddress -InterfaceAlias $na.ifAlias -AddressFamily IPv4).IPAddress -} - -function -ConvertTo-DecimalIP -{ - param( - [Parameter(Mandatory = $true, Position = 0)] - [Net.IPAddress] $IPAddress - ) - $i = 3; $DecimalIP = 0; - $IPAddress.GetAddressBytes() | % { - $DecimalIP += $_ * [Math]::Pow(256, $i); $i-- - } - - return [UInt32]$DecimalIP -} - -function -ConvertTo-DottedDecimalIP -{ - param( - [Parameter(Mandatory = $true, Position = 0)] - [Uint32] $IPAddress - ) - - $DottedIP = $(for ($i = 3; $i -gt -1; $i--) - { - $Remainder = $IPAddress % [Math]::Pow(256, $i) - ($IPAddress - $Remainder) / [Math]::Pow(256, $i) - $IPAddress = $Remainder - }) - - return [String]::Join(".", $DottedIP) -} - -function -ConvertTo-MaskLength -{ - param( - [Parameter(Mandatory = $True, Position = 0)] - [Net.IPAddress] $SubnetMask - ) - $Bits = "$($SubnetMask.GetAddressBytes() | % { - [Convert]::ToString($_, 2) - } )" -replace "[\s0]" - return $Bits.Length -} - -function -Get-MgmtSubnet -{ - $na = Get-NetAdapter | ? Name -Like "vEthernet (HNSTransparent)" - if (!$na) { - throw "Failed to find a suitable network adapter, check your network settings." - } - $addr = (Get-NetIPAddress -InterfaceAlias $na.ifAlias -AddressFamily IPv4).IPAddress - $mask = (Get-WmiObject Win32_NetworkAdapterConfiguration | ? InterfaceIndex -eq $($na.ifIndex)).IPSubnet[0] - $mgmtSubnet = (ConvertTo-DecimalIP $addr) -band (ConvertTo-DecimalIP $mask) - $mgmtSubnet = ConvertTo-DottedDecimalIP $mgmtSubnet - return "$mgmtSubnet/$(ConvertTo-MaskLength $mask)" -} - -function -Update-CNIConfig($podCIDR) -{ - $jsonSampleConfig = '{ - "cniVersion": "0.2.0", - "name": "", - "type": "wincni.exe", - "master": "Ethernet", - "capabilities": { "portMappings": true }, - "ipam": { - "environment": "azure", - "subnet":"", - "routes": [{ - "GW":"" - }] - }, - "dns" : { - "Nameservers" : [ "11.0.0.10" ] - }, - "AdditionalArgs" : [ - { - "Name" : "EndpointPolicy", "Value" : { "Type" : "OutBoundNAT", "ExceptionList": [ "", "", "" ] } - }, - { - "Name" : "EndpointPolicy", "Value" : { "Type" : "ROUTE", "DestinationPrefix": "", "NeedEncap" : true } - }, - { - "Name" : "EndpointPolicy", "Value" : { "Type" : "ROUTE", "DestinationPrefix": "/32", "NeedEncap" : true } - } - ] -}' - #Add-Content -Path $CNIConfig -Value $jsonSampleConfig - - $configJson = ConvertFrom-Json $jsonSampleConfig - $configJson.name = $NetworkMode.ToLower() - $configJson.ipam.subnet=$podCIDR - $configJson.ipam.routes[0].GW = Get-PodEndpointGateway $podCIDR - $configJson.dns.Nameservers[0] = $KubeDnsServiceIp - - $configJson.AdditionalArgs[0].Value.ExceptionList[0] = $clusterCIDR - $configJson.AdditionalArgs[0].Value.ExceptionList[1] = $serviceCIDR - $configJson.AdditionalArgs[0].Value.ExceptionList[2] = Get-MgmtSubnet - - $configJson.AdditionalArgs[1].Value.DestinationPrefix = $serviceCIDR - $configJson.AdditionalArgs[2].Value.DestinationPrefix = "$(Get-MgmtIpAddress)/32" - - if (Test-Path $CNIConfig) { - Clear-Content -Path $CNIConfig - } - - Write-Host "Generated CNI Config [$configJson]" - - Add-Content -Path $CNIConfig -Value (ConvertTo-Json $configJson -Depth 20) -} - -function -Test-PodCIDR($podCIDR) -{ - return $podCIDR.length -gt 0 -} - -$podCIDR = Get-PodCIDR -$podCidrDiscovered = Test-PodCIDR $podCIDR - -# if the podCIDR has not yet been assigned to this node, start the kubelet process to get the podCIDR, and then promptly kill it. -if (-not $podCidrDiscovered) -{ - $argList = @("--hostname-override=$(hostname)","--pod-infra-container-image=kubeletwin/pause","--resolv-conf=""""", "--kubeconfig=c:\k\config") - - $process = Start-Process -FilePath c:\k\kubelet.exe -PassThru -ArgumentList $argList - - # run kubelet until podCidr is discovered - Write-Host "waiting to discover pod CIDR" - while (-not $podCidrDiscovered) - { - Write-Host "Sleeping for 10s, and then waiting to discover pod CIDR" - Start-Sleep -sec 10 - - $podCIDR = Get-PodCIDR - $podCidrDiscovered = Test-PodCIDR $podCIDR - } - - # stop the kubelet process now that we have our CIDR, discard the process output - $process | Stop-Process | Out-Null -} - -# startup the service -ipmo C:\k\hns.psm1 -$hnsNetwork = Get-HnsNetworks | ? Name -EQ $NetworkMode.ToLower() - -if (!$hnsNetwork) -{ - $podGW = Get-PodGateway $podCIDR - - $hnsNetwork = New-HNSNetwork -Type $NetworkMode -AddressPrefix $podCIDR -Gateway $podGW -Name $NetworkMode.ToLower() -Verbose - $podEndpointGW = Get-PodEndpointGateway $podCIDR - - $hnsEndpoint = New-HnsEndpoint -NetworkId $hnsNetwork.Id -Name $endpointName -IPAddress $podEndpointGW -Gateway "0.0.0.0" -Verbose - Attach-HnsHostEndpoint -EndpointID $hnsEndpoint.Id -CompartmentID 1 - netsh int ipv4 set int "$vnicName" for=en - #netsh int ipv4 set add "vEthernet (cbr0)" static $podGW 255.255.255.0 -} - -Start-Sleep 10 -# Add route to all other POD networks -Update-CNIConfig $podCIDR - -c:\k\kubelet.exe --hostname-override=$(hostname) --v=1 ` - --pod-infra-container-image=kubeletwin/pause --resolv-conf="" ` - --allow-privileged=true --enable-debugging-handlers ` - --cluster-dns=$KubeDnsServiceIp --cluster-domain=cluster.local ` - --kubeconfig=c:\k\config --hairpin-mode=promiscuous-bridge ` - --image-pull-progress-deadline=20m --cgroups-per-qos=false ` - --enforce-node-allocatable="" ` - --network-plugin=cni --cni-bin-dir="c:\k\cni" --cni-conf-dir "c:\k\cni\config" diff --git a/kubernetes/windows/start-kubeproxy.ps1 b/kubernetes/windows/start-kubeproxy.ps1 deleted file mode 100644 index 5c02449..0000000 --- a/kubernetes/windows/start-kubeproxy.ps1 +++ /dev/null @@ -1,2 +0,0 @@ -$env:KUBE_NETWORK="l2bridge" -c:\k\kube-proxy.exe --v=4 --proxy-mode=kernelspace --hostname-override=$(hostname) --kubeconfig=c:\k\config diff --git a/nlp/ingress/http/solr.ssl.yaml b/nlp/ingress/http/solr.ssl.yaml deleted file mode 100644 index 41436ed..0000000 --- a/nlp/ingress/http/solr.ssl.yaml +++ /dev/null @@ -1,22 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: solr-ingress-internal - namespace: fabricnlp - labels: - expose: internal - annotations: - kubernetes.io/ingress.class: traefik -spec: - tls: - - secretName: ssl-ahmn - hosts: - - solr.CUSTOMERID.healthcatalyst.net - rules: - - host: solr.CUSTOMERID.healthcatalyst.net - http: - paths: - - backend: - serviceName: solrserverpublic - servicePort: 80 ---- diff --git a/nlp/ingress/http/solr.yaml b/nlp/ingress/http/solr.yaml deleted file mode 100644 index 749824b..0000000 --- a/nlp/ingress/http/solr.yaml +++ /dev/null @@ -1,18 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: solr-ingress-internal - namespace: fabricnlp - labels: - expose: internal - annotations: - kubernetes.io/ingress.class: traefik -spec: - rules: - - host: solr.CUSTOMERID.healthcatalyst.net - http: - paths: - - backend: - serviceName: solrserverpublic - servicePort: 80 ---- diff --git a/nlp/ingress/http/web.internal.yaml b/nlp/ingress/http/web.internal.yaml deleted file mode 100644 index 6b95c84..0000000 --- a/nlp/ingress/http/web.internal.yaml +++ /dev/null @@ -1,24 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: nlp-ingress-internal - namespace: fabricnlp - labels: - expose: internal - annotations: - kubernetes.io/ingress.class: traefik -spec: - rules: - - host: nlp.CUSTOMERID.healthcatalyst.net - http: - paths: - - backend: - serviceName: nlpserverpublic - servicePort: 80 - - host: nlpjobs.CUSTOMERID.healthcatalyst.net - http: - paths: - - backend: - serviceName: nlpjobsserverpublic - servicePort: 80 ---- diff --git a/nlp/ingress/http/web.onprem.yaml b/nlp/ingress/http/web.onprem.yaml deleted file mode 100644 index 43ec5ac..0000000 --- a/nlp/ingress/http/web.onprem.yaml +++ /dev/null @@ -1,25 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: nlp-ingress - namespace: fabricnlp - labels: - expose: external - annotations: - kubernetes.io/ingress.class: traefik -spec: - rules: - - http: - paths: - - path: /solr - backend: - serviceName: solrserverpublic - servicePort: 80 - - path: /nlpweb - backend: - serviceName: nlpserverpublic - servicePort: 80 - - path: /nlp - backend: - serviceName: nlpjobsserverpublic - servicePort: 80 diff --git a/nlp/ingress/http/web.ssl.internal.yaml b/nlp/ingress/http/web.ssl.internal.yaml deleted file mode 100644 index b1291b8..0000000 --- a/nlp/ingress/http/web.ssl.internal.yaml +++ /dev/null @@ -1,30 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: nlp-ingress-internal - namespace: fabricnlp - labels: - expose: internal - annotations: - kubernetes.io/ingress.class: traefik -spec: - # https://v1-8.docs.kubernetes.io/docs/api-reference/v1.8/#ingresstls-v1beta1-extensions - tls: - - secretName: ssl-ahmn - hosts: - - nlp.CUSTOMERID.healthcatalyst.net - - nlpjobs.CUSTOMERID.healthcatalyst.net - rules: - - host: nlp.CUSTOMERID.healthcatalyst.net - http: - paths: - - backend: - serviceName: nlpserverpublic - servicePort: 80 - - host: nlpjobs.CUSTOMERID.healthcatalyst.net - http: - paths: - - backend: - serviceName: nlpjobsserverpublic - servicePort: 80 ---- diff --git a/nlp/ingress/http/web.ssl.yaml b/nlp/ingress/http/web.ssl.yaml deleted file mode 100644 index 46fec71..0000000 --- a/nlp/ingress/http/web.ssl.yaml +++ /dev/null @@ -1,30 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: nlp-ingress - namespace: fabricnlp - labels: - expose: external - annotations: - kubernetes.io/ingress.class: traefik -spec: - # https://v1-8.docs.kubernetes.io/docs/api-reference/v1.8/#ingresstls-v1beta1-extensions - tls: - - secretName: ssl-ahmn - hosts: - - nlp.CUSTOMERID.healthcatalyst.net - - nlpjobs.CUSTOMERID.healthcatalyst.net - rules: - - host: nlp.CUSTOMERID.healthcatalyst.net - http: - paths: - - backend: - serviceName: nlpserverpublic - servicePort: 80 - - host: nlpjobs.CUSTOMERID.healthcatalyst.net - http: - paths: - - backend: - serviceName: nlpjobsserverpublic - servicePort: 80 ---- diff --git a/nlp/ingress/http/web.yaml b/nlp/ingress/http/web.yaml deleted file mode 100644 index 979da62..0000000 --- a/nlp/ingress/http/web.yaml +++ /dev/null @@ -1,24 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: nlp-ingress - namespace: fabricnlp - labels: - expose: external - annotations: - kubernetes.io/ingress.class: traefik -spec: - rules: - - host: nlp.CUSTOMERID.healthcatalyst.net - http: - paths: - - backend: - serviceName: nlpserverpublic - servicePort: 80 - - host: nlpjobs.CUSTOMERID.healthcatalyst.net - http: - paths: - - backend: - serviceName: nlpjobsserverpublic - servicePort: 80 ---- diff --git a/nlp/ingress/tcp/mysqlserver.internal.yaml b/nlp/ingress/tcp/mysqlserver.internal.yaml deleted file mode 100644 index 394e250..0000000 --- a/nlp/ingress/tcp/mysqlserver.internal.yaml +++ /dev/null @@ -1,18 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: - name: mysql-direct-port - namespace: fabricnlp - annotations: - # from https://radu-matei.com/blog/k8s-appsvc/ - service.beta.kubernetes.io/azure-load-balancer-internal: "true" -spec: - selector: - app: mysqlserver - ports: - - name: mysqlport - protocol: TCP - port: 3306 - targetPort: 3306 - type: LoadBalancer ---- \ No newline at end of file diff --git a/nlp/ingress/tcp/mysqlserver.onprem.yaml b/nlp/ingress/tcp/mysqlserver.onprem.yaml deleted file mode 100644 index 9b719cb..0000000 --- a/nlp/ingress/tcp/mysqlserver.onprem.yaml +++ /dev/null @@ -1,48 +0,0 @@ -# https://github.com/kubernetes/contrib/tree/master/for-demos/proxy-to-service -# https://stackoverflow.com/questions/47057176/how-to-access-kubernetes-service-externally-on-bare-metal-install -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: -# name for this pod - name: tcp-proxy-mysql -# namespace for this pod - namespace: fabricnlp - labels: - app: mysqlclient -spec: - replicas: 1 - revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. - strategy: - type: Recreate - selector: - matchLabels: - app: tcp-proxy-mysql - template: - metadata: - labels: - app: tcp-proxy-mysql - spec: - # hostPort is broken on CNI (https://github.com/kubernetes/kubernetes/issues/31307) we have to use hostNetwork where CNI is used - hostNetwork: true - dnsPolicy: ClusterFirstWithHostNet - # run on master node so we use the IP of the master - # https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ - # https://ekartco.com/2017/09/kubernetes-make-pods-run-on-your-master-nodes/ - nodeSelector: - node-role.kubernetes.io/master: "" - # https://stackoverflow.com/questions/41999756/how-to-force-pods-deployments-to-master-nodes - # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ - tolerations: - - key: node-role.kubernetes.io/master - operator: Exists - effect: NoSchedule - containers: - - name: proxy-tcp - image: healthcatalyst/tcp-proxy:latest - imagePullPolicy: Always - args: [ "tcp", "3306", "mysqlserver.fabricnlp.svc.cluster.local" ] - ports: - - name: tcp - protocol: TCP - containerPort: 3306 ---- diff --git a/nlp/ingress/tcp/mysqlserver.public.yaml b/nlp/ingress/tcp/mysqlserver.public.yaml deleted file mode 100644 index 890ceaf..0000000 --- a/nlp/ingress/tcp/mysqlserver.public.yaml +++ /dev/null @@ -1,20 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: - name: mysql-direct-port - namespace: fabricnlp -spec: - selector: - app: mysqlserver - ports: - - name: mysqlport - protocol: TCP - port: 3306 - targetPort: 3306 - type: LoadBalancer - # Special notes for Azure: To use user-specified public type loadBalancerIP, a static type public IP address resource needs to be created first, - # and it should be in the same resource group of the cluster. - # Then you could specify the assigned IP address as loadBalancerIP - # https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer - loadBalancerIP: 40.71.2.165 ---- \ No newline at end of file diff --git a/nlp/installnlpkubernetes.ps1 b/nlp/installnlpkubernetes.ps1 index 3f6b171..50fbc3e 100644 --- a/nlp/installnlpkubernetes.ps1 +++ b/nlp/installnlpkubernetes.ps1 @@ -1,191 +1,2 @@ -Write-Output "--- installnlpkubernetes.ps1 Version 2018.03.26.01 ---" - -# curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.ps1 | iex; - -$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -# $GITHUB_URL = "C:\Catalyst\git\Installscripts" - -$set = "abcdefghijklmnopqrstuvwxyz0123456789".ToCharArray() -$randomstring += $set | Get-Random - -Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1?f=$randomstring | Invoke-Expression; -# Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; - -Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1?f=$randomstring | Invoke-Expression; -# Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; - -DownloadAzCliIfNeeded - -$loggedInUser = az account show --query "user.name" --output tsv -$AKS_USE_SSL = "" - -Write-Output "user: $loggedInUser" - -$AKS_PERS_RESOURCE_GROUP_BASE64 = kubectl get secret azure-secret -o jsonpath='{.data.resourcegroup}' -if (![string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP_BASE64)) { - $AKS_PERS_RESOURCE_GROUP = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($AKS_PERS_RESOURCE_GROUP_BASE64)) -} - -if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) { - Do { $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group (e.g., fabricnlp-rg)"} - while ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) -} -else { - Write-Output "Using resource group: $AKS_PERS_RESOURCE_GROUP" -} - -if ([string]::IsNullOrWhiteSpace($(kubectl get secret traefik-cert-ahmn -o jsonpath='{.data}' -n kube-system --ignore-not-found=true))) { - $AKS_USE_SSL = "" -} -else { - $AKS_USE_SSL = "y" - Write-Host "Using SSL since the secret is set" -} - -# https://kubernetes.io/docs/reference/kubectl/jsonpath/ - -# setup DNS -# az network dns zone create -g $AKS_PERS_RESOURCE_GROUP -n nlp.allina.healthcatalyst.net -# az network dns record-set a add-record --ipv4-address j ` -# --record-set-name nlp.allina.healthcatalyst.net ` -# --resource-group $AKS_PERS_RESOURCE_GROUP ` -# --zone-name - -$AKS_PERS_SHARE_NAME = "fabricnlp" -$AKS_PERS_BACKUP_SHARE_NAME = "${AKS_PERS_SHARE_NAME}backups" - -Write-Host "Creating file shares if they don't exist" -CreateShare -resourceGroup $AKS_PERS_RESOURCE_GROUP -sharename $AKS_PERS_SHARE_NAME -CreateShare -resourceGroup $AKS_PERS_RESOURCE_GROUP -sharename $AKS_PERS_BACKUP_SHARE_NAME - -$namespace = "fabricnlp" - -if ([string]::IsNullOrWhiteSpace($(kubectl get namespace $namespace --ignore-not-found=true))) { - kubectl create namespace $namespace -} -else { - Write-Warning "Namespace already exists. Do you want to delete passwords and ALL data stored in this namespace or keep the current data and passwords" - Do { - $deleteSecrets = Read-Host "Delete passwords and ALL data stored in this namespace? (y/n) (default: n)" - if([string]::IsNullOrEmpty($deleteSecrets)){ - $deleteSecrets = "n" - } - } - while ([string]::IsNullOrWhiteSpace($deleteSecrets)) - - if ($deleteSecrets -eq "y" ) { - kubectl delete secret mysqlrootpassword -n $namespace --ignore-not-found=true - kubectl delete secret mysqlpassword -n $namespace --ignore-not-found=true - kubectl delete secret smtprelaypassword -n $namespace --ignore-not-found=true - - # need to recreate the file share when we change passwords otherwise the new password will not work with the old password stored in the share - CreateShare -resourceGroup $AKS_PERS_RESOURCE_GROUP -sharename $AKS_PERS_SHARE_NAME -deleteExisting true - } -} - -AskForSecretValue -secretname "customerid" -prompt "Health Catalyst Customer ID (e.g., ahmn)" - -$customerid = ReadSecret -secretname customerid -$customerid = $customerid.ToLower().Trim() -Write-Output "Customer ID: $customerid" - -SaveSecretValue -secretname nlpweb-external-url -valueName url -value "nlp.$customerid.healthcatalyst.net" -namespace $namespace -SaveSecretValue -secretname jobserver-external-url -valueName url -value "nlpjobs.$customerid.healthcatalyst.net" -namespace $namespace - -AskForPassword -secretname "mysqlrootpassword" -prompt "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -namespace "$namespace" -# MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html -# we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script - -AskForPassword -secretname "mysqlpassword" -prompt "MySQL NLP_APP_USER password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" -namespace "$namespace" - -AskForPasswordAnyCharacters -secretname "smtprelaypassword" -prompt "SMTP (SendGrid) Relay Key" -namespace "$namespace" -defaultvalue "" - -CleanOutNamespace -namespace $namespace - -Write-Host "-- Deploying volumes --" -$folder = "volumes" -foreach ($file in "mysqlserver.yaml solrserver.yaml jobserver.yaml mysqlbackup.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/${folder}/${file}" -customerid $customerid | kubectl apply -f - -} - -Write-Host "-- Deploying volume claims --" -$folder = "volumeclaims" -foreach ($file in "mysqlserver.yaml solrserver.yaml jobserver.yaml mysqlbackup.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/${folder}/${file}" -customerid $customerid | kubectl apply -f - -} - -Write-Host "-- Deploying pods --" -$folder = "pods" -foreach ($file in "mysqlserver.yaml solrserver.yaml jobserver.yaml nlpwebserver.yaml mysqlclient.yaml smtpserver.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/${folder}/${file}" -customerid $customerid | kubectl apply -f - -} - -Write-Host "-- Deploying cluster services --" -$folder = "services/cluster" -foreach ($file in "mysqlserver.yaml solrserver.yaml jobserver.yaml nlpwebserver.yaml smtpserver.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/${folder}/${file}" -customerid $customerid | kubectl apply -f - -} - -Write-Host "-- Deploying external services --" -$folder = "services/external" -foreach ($file in "solrserver.yaml jobserver.yaml nlpwebserver.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/${folder}/${file}" -customerid $customerid | kubectl apply -f - -} - -Write-Host "-- Deploying HTTP proxies --" -$folder = "ingress/http" -if ($AKS_USE_SSL -eq "y" ) { - foreach ($file in "web.ssl.yaml solr.ssl.yaml web.ssl.internal.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/${folder}/${file}" -customerid $customerid | kubectl apply -f - - } -} -else { - foreach ($file in "web.yaml solr.yaml web.internal.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/${folder}/${file}" -customerid $customerid | kubectl apply -f - - } -} - -Write-Host "-- Deploying TCP proxies --" -$folder = "ingress/tcp" -foreach ($file in "mysqlserver.internal.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/${folder}/${file}" -customerid $customerid | kubectl apply -f - -} - -Write-Host "-- Deploying jobs --" -$folder = "jobs" -foreach ($file in "mysqlserver-backup-cron.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "nlp/${folder}/${file}" -customerid $customerid | kubectl apply -f - -} - -kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=$namespace -o wide - -# to get a shell -# kubectl exec -it fabric.nlp.nlpwebserver-85c8cb86b5-gkphh bash --namespace=fabricnlp - -# kubectl create secret generic azure-secret --namespace=fabricnlp --from-literal=azurestorageaccountname="fabricnlp7storage" --from-literal=azurestorageaccountkey="/bYhXNstTodg3MdOvTMog/vDLSFrQDpxG/Zgkp2MlnjtOWhDBNQ2xOs6zjRoZYNjmJHya34MfzqdfOwXkMDN2A==" - -$loadBalancerIP = kubectl get svc traefik-ingress-service-public -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' --ignore-not-found=true -if ([string]::IsNullOrWhiteSpace($loadBalancerIP)) { - $loadBalancerIP = kubectl get svc traefik-ingress-service-internal -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' -} -$loadBalancerInternalIP = kubectl get svc traefik-ingress-service-internal -n kube-system -o jsonpath='{.status.loadBalancer.ingress[].ip}' - -Write-Host "Sleeping for 10 seconds so kube services get IPs assigned" -Start-Sleep -Seconds 10 - -FixLoadBalancers -resourceGroup $AKS_PERS_RESOURCE_GROUP - -Write-Host "------------------------------------------------" -WriteDNSCommands -Write-Host "------------------------------------------------" - -Write-Output "If you didn't setup DNS in CAFE per above, add the following entries in your c:\windows\system32\drivers\etc\hosts file to access the urls from your browser" -Write-Output "$loadBalancerInternalIP solr.$customerid.healthcatalyst.net" -Write-Output "$loadBalancerIP nlp.$customerid.healthcatalyst.net" -Write-Output "$loadBalancerIP nlpjobs.$customerid.healthcatalyst.net" - -Write-Output "To test out the NLP services, open Git Bash and run:" -Write-Output "curl -L --verbose --header 'Host: solr.$customerid.healthcatalyst.net' 'http://$loadBalancerInternalIP/solr' -k" -Write-Output "curl -L --verbose --header 'Host: nlp.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/nlpweb' -k" -Write-Output "curl -L --verbose --header 'Host: nlpjobs.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/nlp' -k" +Write-Host "This has moved to curl -useb https://raw.githubusercontent.com/HealthCatalyst/dos.install/master/nlp/installnlpkubernetes.ps1 | iex;" diff --git a/nlp/installnlpkubernetes.sh b/nlp/installnlpkubernetes.sh deleted file mode 100644 index f8514de..0000000 --- a/nlp/installnlpkubernetes.sh +++ /dev/null @@ -1,151 +0,0 @@ -#!/bin/bash -set -e -# -# This script is meant for quick & easy install via: -# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh | bash -# -GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -version="2018.03.14.02" - -echo "---- installnlpkubernetes.sh version $version ------" - -source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh") - -# source ./kubernetes/common.sh - -namespace="fabricnlp" - -if [[ -z $(kubectl get namespace $namespace --ignore-not-found=true) ]]; then - echo "Creating namespace: $namespace" - # kubectl create -f $GITHUB_URL/nlp/nlp-namespace.yml - kubectl create namespace $namespace -else - while : ; do - read -p "$namespace namespace exists. Do you want to delete passwords and ALL data stored in this namespace? (y/n): " deleteSecrets < /dev/tty - if [[ ! -z "$deleteSecrets" ]]; then - break - fi - done - - if [[ $deleteSecrets == "y" ]]; then - echo "Deleting passwords" - kubectl delete secret mysqlrootpassword -n $namespace --ignore-not-found=true - kubectl delete secret mysqlpassword -n $namespace --ignore-not-found=true - kubectl delete secret smtprelaypassword -n $namespace --ignore-not-found=true - - # have to remove the existing containers before we can delete the files - CleanOutNamespace $namespace - - sudo rm -rfv /mnt/data/fabricnlp - fi -fi - -sudo mkdir -p /mnt/data/fabricnlp - -customerid="$(ReadSecret customerid)" -if [[ -z "$customerid" ]]; then - echo "customerid not set" -fi -customerid="${customerid,,}" -echo "Customer ID: $customerid" - -loadBalancerIP="$(dig +short myip.opendns.com @resolver1.opendns.com)" -echo "My WAN/Public IP address: ${loadBalancerIP}" - -CleanOutNamespace $namespace - -SaveSecretValue "nlpweb-external-url" url "${loadBalancerIP}/nlpweb" $namespace -SaveSecretValue "jobserver-external-url" url "${loadBalancerIP}/nlp" $namespace - -AskForPassword "mysqlrootpassword" "MySQL root password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" "$namespace" -# MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html -# we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script - -AskForPassword "mysqlpassword" "MySQL NLP_APP_USER password (> 8 chars, min 1 number, 1 lowercase, 1 uppercase, 1 special [!.*@] )" "$namespace" - -AskForPasswordAnyCharacters "smtprelaypassword" "SMTP (SendGrid) Relay Key" "$namespace" "" - -echo "-- Deploying volumes --" -folder="volumes" -for fname in "mysqlserver.onprem.yaml" "solrserver.onprem.yaml" "jobserver.onprem.yaml" "mysqlbackup.onprem.yaml" -do - echo "Deploying nlp/$folder/$fname" - ReadYamlAndReplaceCustomer $GITHUB_URL "nlp/$folder/$fname" $customerid | kubectl create -f - -done - -echo "-- Deploying volume claims --" -folder="volumeclaims" -for fname in "mysqlserver.yaml" "solrserver.yaml" "jobserver.yaml" "mysqlbackup.yaml" -do - echo "Deploying nlp/$folder/$fname" - ReadYamlAndReplaceCustomer $GITHUB_URL "nlp/$folder/$fname" $customerid | kubectl create -f - -done - -echo "-- Deploying pods --" -folder="pods" -for fname in "mysqlserver.yaml" "solrserver.yaml" "jobserver.yaml" "nlpwebserver.yaml" "mysqlclient.yaml" -do - echo "Deploying nlp/$folder/$fname" - ReadYamlAndReplaceCustomer $GITHUB_URL "nlp/$folder/$fname" $customerid | kubectl create -f - -done - -echo "-- Deploying cluster services --" -folder="services/cluster" -for fname in "mysqlserver.yaml" "solrserver.yaml" "jobserver.yaml" "nlpwebserver.yaml" -do - echo "Deploying nlp/$folder/$fname" - ReadYamlAndReplaceCustomer $GITHUB_URL "nlp/$folder/$fname" $customerid | kubectl create -f - -done - -echo "-- Deploying external services --" -folder="services/external" -for fname in "solrserver.yaml" "jobserver.yaml" "nlpwebserver.yaml" -do - echo "Deploying nlp/$folder/$fname" - ReadYamlAndReplaceCustomer $GITHUB_URL "nlp/$folder/$fname" $customerid | kubectl create -f - -done - -echo "-- Deploying HTTP proxies --" -folder="ingress/http" -for fname in "web.onprem.yaml" -do - echo "Deploying nlp/$folder/$fname" - ReadYamlAndReplaceCustomer $GITHUB_URL "nlp/$folder/$fname" $customerid | kubectl create -f - -done - -echo "-- Deploying TCP proxies --" -folder="ingress/tcp" -for fname in "mysqlserver.onprem.yaml" -do - echo "Deploying nlp/$folder/$fname" - ReadYamlAndReplaceCustomer $GITHUB_URL "nlp/$folder/$fname" $customerid | kubectl create -f - -done - -echo "-- Deploying jobs --" -folder="jobs" -for fname in "mysqlserver-backup-cron.yaml" -do - echo "Deploying nlp/$folder/$fname" - ReadYamlAndReplaceCustomer $GITHUB_URL "nlp/$folder/$fname" $customerid | kubectl create -f - -done - -kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=$namespace -o wide - -WaitForPodsInNamespace $namespace 5 - -# to get a shell -# kubectl exec -it fabric.nlp.nlpwebserver-85c8cb86b5-gkphh bash --namespace=fabricnlp - -# kubectl create secret generic azure-secret --namespace=fabricnlp --from-literal=azurestorageaccountname="fabricnlp7storage" --from-literal=azurestorageaccountkey="/bYhXNstTodg3MdOvTMog/vDLSFrQDpxG/Zgkp2MlnjtOWhDBNQ2xOs6zjRoZYNjmJHya34MfzqdfOwXkMDN2A==" - -echo "To test out the NLP services, open Git Bash and run:" -echo "curl -L --verbose --header 'Host: solr.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/solr' -k" -echo "curl -L --verbose --header 'Host: nlp.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/nlpweb' -k" -echo "curl -L --verbose --header 'Host: nlpjobs.$customerid.healthcatalyst.net' 'http://$loadBalancerIP/nlp' -k" - -echo "If you didn't setup DNS, add the following entries in your c:\windows\system32\drivers\etc\hosts file to access the urls from your browser" -echo "$loadBalancerIP solr.$customerid.healthcatalyst.net" -echo "$loadBalancerIP nlp.$customerid.healthcatalyst.net" -echo "$loadBalancerIP nlpjobs.$customerid.healthcatalyst.net" - -echo "---- end of installnlpkubernetes.sh version $version ------" diff --git a/nlp/jobs/mysqlserver-backup-cron.yaml b/nlp/jobs/mysqlserver-backup-cron.yaml deleted file mode 100644 index 90647f8..0000000 --- a/nlp/jobs/mysqlserver-backup-cron.yaml +++ /dev/null @@ -1,47 +0,0 @@ -apiVersion: batch/v1beta1 -kind: CronJob -metadata: - name: mysql-cron-backup - namespace: fabricnlp -spec: - #crontab schedule: https://crontab.guru - # run every day at 1am - schedule: "0 1 * * *" - # run every 5 minutes - # schedule: "*/5 * * * *" - jobTemplate: - spec: - template: - spec: - containers: - - name: mysql-cron-backup - image: healthcatalyst/fabric.mysqlclient - imagePullPolicy: Always - # # this overrides the CMD command in docker - args: ["backup"] - # environment variables - env: - - name: MYSQL_PASSWORD - valueFrom: - secretKeyRef: - name: mysqlpassword - key: password - - name: MYSQL_DATABASE - # set the value of this environment variable directly - value: nlpmt - - name: MYSQL_USER - value: NLP_APP_USER - - name: MYSQL_SERVER - value: mysqlserver - - name: BACKUP_NAME_PREFIX - value: "nlpsql" - volumeMounts: - - name: mysql-persistent-storage-backup - # point the /var/lib/mysql folder inside the container to the volume called mysql-persistent-storage - mountPath: /var/lib/mysql - subPath: mysqlbackups - restartPolicy: OnFailure - volumes: - - name: mysql-persistent-storage-backup - persistentVolumeClaim: - claimName: nlp.mysqlbackup diff --git a/nlp/jobs/mysqlserver-backup-manual.yaml b/nlp/jobs/mysqlserver-backup-manual.yaml deleted file mode 100644 index 0342c87..0000000 --- a/nlp/jobs/mysqlserver-backup-manual.yaml +++ /dev/null @@ -1,42 +0,0 @@ -apiVersion: batch/v1 -kind: Job -metadata: - name: mysql-backup-onetime - namespace: fabricnlp -spec: - template: - spec: - containers: - - name: mysql-backup-onetime - image: healthcatalyst/fabric.mysqlclient - imagePullPolicy: Always - # # this overrides the CMD command in docker - args: ["backup"] - # environment variables - env: - - name: MYSQL_PASSWORD - valueFrom: - secretKeyRef: - name: mysqlpassword - key: password - - name: MYSQL_DATABASE - # set the value of this environment variable directly - value: nlpmt - - name: MYSQL_USER - value: NLP_APP_USER - - name: MYSQL_SERVER - value: mysqlserver - - name: BACKUP_NAME_PREFIX - value: "nlpsql" - volumeMounts: - - name: mysql-persistent-storage-backup - # point the /var/lib/mysql folder inside the container to the volume called mysql-persistent-storage - mountPath: /var/lib/mysql - subPath: mysqlbackups - restartPolicy: Never - volumes: - - name: mysql-persistent-storage-backup - persistentVolumeClaim: - claimName: nlp.mysqlbackup - # job failures: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/ - backoffLimit: 1 \ No newline at end of file diff --git a/nlp/jobs/mysqlserver-restore-manual.yaml b/nlp/jobs/mysqlserver-restore-manual.yaml deleted file mode 100644 index 8c3ea8e..0000000 --- a/nlp/jobs/mysqlserver-restore-manual.yaml +++ /dev/null @@ -1,49 +0,0 @@ -apiVersion: batch/v1 -kind: Job -metadata: - name: mysql-restore - namespace: fabricnlp -spec: - template: - spec: - containers: - - name: mysql-restore - image: healthcatalyst/fabric.mysqlclient - imagePullPolicy: Always - # # this overrides the CMD command in docker - args: ["restore"] - # environment variables - env: - - name: MYSQL_ROOT_PASSWORD - # set the value of this environment variable from a secret called mysqlrootpassword - valueFrom: - secretKeyRef: - name: mysqlrootpassword - key: password - - name: MYSQL_PASSWORD - valueFrom: - secretKeyRef: - name: mysqlpassword - key: password - - name: MYSQL_DATABASE - # set the value of this environment variable directly - value: nlpmt - - name: MYSQL_USER - value: NLP_APP_USER - - name: MYSQL_SERVER - value: mysqlserver - - name: BACKUP_NAME - value: "" - volumeMounts: - - name: mysql-persistent-storage-backup - # point the /var/lib/mysql folder inside the container to the volume called mysql-persistent-storage - mountPath: /var/lib/mysql - subPath: mysqlbackups - restartPolicy: Never - volumes: - - name: mysql-persistent-storage-backup - persistentVolumeClaim: - claimName: nlp.mysqlbackup - # job failures: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/ - backoffLimit: 1 - diff --git a/nlp/nlp-kubernetes-storage-onprem.yml b/nlp/nlp-kubernetes-storage-onprem.yml deleted file mode 100644 index ad0eb7d..0000000 --- a/nlp/nlp-kubernetes-storage-onprem.yml +++ /dev/null @@ -1,75 +0,0 @@ -# define persistent volumes -# ----- MySql ---------- -# Persistent Volume ---- -# Persistent Volume Claim -# claims have to be defined here otherwise when we remove the pods the volume goes into Released mode -# and we can't bind to that volume again until we delete the volume -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: nlp.mysqlserver - namespace: fabricnlp -spec: - storageClassName: manual - accessModes: - - ReadWriteMany - resources: - requests: - storage: 5Gi ---- -# ---- Solr ------ -# volume for solr ---- -# Persistent Volume Claim -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: nlp.solrserver - namespace: fabricnlp -spec: - accessModes: - - ReadWriteMany - storageClassName: manual - resources: - requests: - storage: 5Gi ---- - -# ----- NLP Jobs ------- -# volume for nlp jobs - ---- -# Persistent Volume Claim -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: nlp.jobserver - namespace: fabricnlp -spec: - accessModes: - - ReadWriteMany - storageClassName: manual - resources: - requests: - storage: 5Gi ---- -# ----- MySql Backup ---------- -# Persistent Volume ---- -# Persistent Volume Claim -# claims have to be defined here otherwise when we remove the pods the volume goes into Released mode -# and we can't bind to that volume again until we delete the volume -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: nlp.mysqlbackup - namespace: fabricnlp -spec: - accessModes: - - ReadWriteMany - storageClassName: manual - resources: - requests: - storage: 5Gi ---- diff --git a/nlp/nlp-namespace.yml b/nlp/nlp-namespace.yml deleted file mode 100644 index 5575d7e..0000000 --- a/nlp/nlp-namespace.yml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v1 -kind: Namespace -metadata: - name: fabricnlp - labels: - ns: fabricnlp diff --git a/nlp/pods/jobserver.yaml b/nlp/pods/jobserver.yaml deleted file mode 100644 index b315048..0000000 --- a/nlp/pods/jobserver.yaml +++ /dev/null @@ -1,61 +0,0 @@ -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: - name: fabric.nlp.jobserver - namespace: fabricnlp - labels: - app: jobserver -spec: - replicas: 1 - revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. - strategy: - # We need to kill the existing Pod before creating an new one - # for the new one to be able to attach the persistent disk. - type: Recreate - selector: - matchLabels: - app: jobserver - template: - metadata: - labels: - app: jobserver - spec: - containers: - - name: jobserver - image: healthcatalyst/fabric.nlp.docker.jobs:1 - imagePullPolicy: Always - env: - - name: NLPWEB_EXTERNAL_URL - valueFrom: - secretKeyRef: - name: nlpweb-external-url - key: url - - name: JOBSERVER_EXTERNAL_URL - valueFrom: - secretKeyRef: - name: jobserver-external-url - key: url - # - name: EXTERNAL_HOSTNAME - # value: localhost - - name: MYSQL_PASSWORD - valueFrom: - secretKeyRef: - name: mysqlpassword - key: password - ports: - - containerPort: 8084 - name: jobserver - # livenessProbe: - # httpGet: - # path: /nlp - # port: 8084 - # initialDelaySeconds: 60 - # periodSeconds: 60 - volumeMounts: - - name: jobs-persistent-storage - mountPath: /opt/jobWork/ - subPath: jobs - volumes: - - name: jobs-persistent-storage - persistentVolumeClaim: - claimName: nlp.jobserver diff --git a/nlp/pods/mysqlclient.yaml b/nlp/pods/mysqlclient.yaml deleted file mode 100644 index 8f2f663..0000000 --- a/nlp/pods/mysqlclient.yaml +++ /dev/null @@ -1,58 +0,0 @@ -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: -# name for this pod - name: fabric.nlp.mysqlclient -# namespace for this pod - namespace: fabricnlp - labels: - app: mysqlclient -spec: - replicas: 1 - revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. - strategy: - # We need to kill the existing Pod before creating an new one - # for the new one to be able to attach the persistent disk. - type: Recreate - selector: - matchLabels: - app: mysqlclient - template: - metadata: - labels: - app: mysqlclient - spec: - containers: - - image: healthcatalyst/fabric.mysqlclient:latest - # command: - # - sleep - # - "3600" - # # this overrides the CMD command in docker - args: ["sleep"] - imagePullPolicy: Always - name: mysqlclient - env: - - name: MYSQL_PASSWORD - valueFrom: - secretKeyRef: - name: mysqlpassword - key: password - - name: MYSQL_DATABASE - # set the value of this environment variable directly - value: nlpmt - - name: MYSQL_USER - value: NLP_APP_USER - - name: MYSQL_SERVER - value: mysqlserver - - name: BACKUP_NAME_PREFIX - value: "nlpsql" - volumeMounts: - - name: mysql-persistent-storage-backup - # point the /var/lib/mysql folder inside the container to the volume called mysql-persistent-storage - mountPath: /var/lib/mysql - subPath: mysqlbackups - volumes: - - name: mysql-persistent-storage-backup - persistentVolumeClaim: - claimName: nlp.mysqlbackup ---- diff --git a/nlp/pods/mysqlserver.yaml b/nlp/pods/mysqlserver.yaml deleted file mode 100644 index c86e442..0000000 --- a/nlp/pods/mysqlserver.yaml +++ /dev/null @@ -1,63 +0,0 @@ -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: -# name for this pod - name: fabric.nlp.mysqlserver -# namespace for this pod - namespace: fabricnlp - labels: - app: mysqlserver -spec: - replicas: 1 - revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. - strategy: - # We need to kill the existing Pod before creating an new one - # for the new one to be able to attach the persistent disk. - type: Recreate - selector: - matchLabels: - app: mysqlserver - template: - metadata: - labels: - app: mysqlserver - spec: - containers: - # name of this pod - - name: mysqlserver - # image to pull - image: healthcatalyst/fabric.nlp.docker.mysql:latest - # specify to always pull a new image - imagePullPolicy: Always - # environment variables - env: - - name: MYSQL_ROOT_PASSWORD - # set the value of this environment variable from a secret called mysqlrootpassword - valueFrom: - secretKeyRef: - name: mysqlrootpassword - key: password - - name: MYSQL_PASSWORD - valueFrom: - secretKeyRef: - name: mysqlpassword - key: password - - name: MYSQL_DATABASE - # set the value of this environment variable directly - value: nlpmt - - name: MYSQL_USER - value: NLP_APP_USER - ports: - # expose port 3306 - - containerPort: 3306 - # name of the port - name: mysql - volumeMounts: - - name: mysql-persistent-storage - # point the /var/lib/mysql folder inside the container to the volume called mysql-persistent-storage - mountPath: /var/lib/mysql - subPath: mysql - volumes: - - name: mysql-persistent-storage - persistentVolumeClaim: - claimName: nlp.mysqlserver diff --git a/nlp/pods/nlpwebserver.yaml b/nlp/pods/nlpwebserver.yaml deleted file mode 100644 index 6daa2d2..0000000 --- a/nlp/pods/nlpwebserver.yaml +++ /dev/null @@ -1,53 +0,0 @@ -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: - name: fabric.nlp.nlpwebserver - namespace: fabricnlp - labels: - app: nlpwebserver -spec: - replicas: 1 - revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. - strategy: - # We need to kill the existing Pod before creating an new one - # for the new one to be able to attach the persistent disk. - type: Recreate - selector: - matchLabels: - app: nlpwebserver - template: - metadata: - labels: - app: nlpwebserver - spec: - containers: - - name: nlpwebserver - image: healthcatalyst/fabric.nlp.docker.web:latest - imagePullPolicy: Always - env: - - name: NLPWEB_EXTERNAL_URL - valueFrom: - secretKeyRef: - name: nlpweb-external-url - key: url - - name: JOBSERVER_EXTERNAL_URL - valueFrom: - secretKeyRef: - name: jobserver-external-url - key: url - - name: MYSQL_PASSWORD - valueFrom: - secretKeyRef: - name: mysqlpassword - key: password - ports: - - containerPort: 8083 - name: nlpwebserver - - containerPort: 8443 - name: https - # livenessProbe: - # httpGet: - # path: /nlpweb - # port: 8083 - # initialDelaySeconds: 60 - # periodSeconds: 60 \ No newline at end of file diff --git a/nlp/pods/smtpserver.yaml b/nlp/pods/smtpserver.yaml deleted file mode 100644 index bfe709b..0000000 --- a/nlp/pods/smtpserver.yaml +++ /dev/null @@ -1,44 +0,0 @@ -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: - name: fabric.nlp.smtpserver - namespace: fabricnlp - labels: - app: smtpserver -spec: - replicas: 1 - revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. - strategy: - # We need to kill the existing Pod before creating an new one - # for the new one to be able to attach the persistent disk. - type: Recreate - selector: - matchLabels: - app: smtpserver - template: - metadata: - labels: - app: smtpserver - spec: - containers: - - name: smtpserver - image: healthcatalyst/fabric.smtp.agent:latest - imagePullPolicy: Always - # environment variables - env: - - name: SMTP_RELAY_PASSWORD - # set the value of this environment variable from a secret called smtprelaypassword - valueFrom: - secretKeyRef: - name: smtprelaypassword - key: password - - name: SMTP_RELAY_USERNAME - # set the value of this environment variable directly - value: apikey - - name: SMTP_RELAY_SERVER - value: smtp.sendgrid.net - - name: SMTP_RELAY_PORT - value: "587" - ports: - - containerPort: 25 - name: smtp \ No newline at end of file diff --git a/nlp/pods/solrserver.yaml b/nlp/pods/solrserver.yaml deleted file mode 100644 index f57409c..0000000 --- a/nlp/pods/solrserver.yaml +++ /dev/null @@ -1,45 +0,0 @@ -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: - name: fabric.nlp.solrserver - namespace: fabricnlp - labels: - app: solrserver -spec: - replicas: 1 - revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. - strategy: - # We need to kill the existing Pod before creating an new one - # for the new one to be able to attach the persistent disk. - type: Recreate - selector: - matchLabels: - app: solrserver - template: - metadata: - labels: - app: solrserver - spec: - containers: - - name: solrserver - image: healthcatalyst/fabric.nlp.docker.solr:latest - imagePullPolicy: Always - volumeMounts: - - name: solr-persistent-storage - mountPath: /var/lib/solr - subPath: solr - ports: - - containerPort: 8085 - name: solr - # livenessProbe: - # httpGet: - # path: /solr - # port: 8085 - # initialDelaySeconds: 60 - # periodSeconds: 60 - # give pod more time to finish solr indexing - terminationGracePeriodSeconds: 10 - volumes: - - name: solr-persistent-storage - persistentVolumeClaim: - claimName: nlp.solrserver diff --git a/nlp/services/cluster/jobserver.yaml b/nlp/services/cluster/jobserver.yaml deleted file mode 100644 index f37049b..0000000 --- a/nlp/services/cluster/jobserver.yaml +++ /dev/null @@ -1,15 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: -# name of this service. other - name: jobserver - namespace: fabricnlp - labels: - app: jobserver -spec: - ports: - - port: 8084 - targetPort: 8084 - protocol: TCP - selector: - app: jobserver diff --git a/nlp/services/cluster/mysqlserver.yaml b/nlp/services/cluster/mysqlserver.yaml deleted file mode 100644 index d340ce1..0000000 --- a/nlp/services/cluster/mysqlserver.yaml +++ /dev/null @@ -1,20 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: -# this service shows up in the UI with this name - name: mysqlserver -# namespace should match other services in this file - namespace: fabricnlp -# labels allows you to use selectors to find this service - labels: - app: mysqlserver -spec: - ports: -# port that other services can use to connect to this service - - port: 3306 -# port in the pod we map to - targetPort: 3306 - protocol: TCP -# selector says this service should use a pod that has the "app: mysqlserver" label - selector: - app: mysqlserver diff --git a/nlp/services/cluster/nlpwebserver.yaml b/nlp/services/cluster/nlpwebserver.yaml deleted file mode 100644 index d578025..0000000 --- a/nlp/services/cluster/nlpwebserver.yaml +++ /dev/null @@ -1,20 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: -# name of this service. other - name: nlpwebserver - namespace: fabricnlp - labels: - app: nlpwebserver -spec: - ports: - - port: 8083 - targetPort: 8083 - protocol: TCP - name: http - - port: 8443 - targetPort: 8443 - protocol: TCP - name: https - selector: - app: nlpwebserver diff --git a/nlp/services/cluster/smtpserver.yaml b/nlp/services/cluster/smtpserver.yaml deleted file mode 100644 index 9ddc8ea..0000000 --- a/nlp/services/cluster/smtpserver.yaml +++ /dev/null @@ -1,14 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: - name: smtpserver - namespace: fabricnlp - labels: - app: smtpserver -spec: - ports: - - port: 25 - targetPort: 25 - protocol: TCP - selector: - app: smtpserver \ No newline at end of file diff --git a/nlp/services/cluster/solrserver.yaml b/nlp/services/cluster/solrserver.yaml deleted file mode 100644 index 439d0ec..0000000 --- a/nlp/services/cluster/solrserver.yaml +++ /dev/null @@ -1,16 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: -# name of this service. other - name: solrserver - namespace: fabricnlp - labels: - app: solrserver -spec: - ports: - - port: 8085 - targetPort: 8085 - protocol: TCP - selector: - app: solrserver ---- \ No newline at end of file diff --git a/nlp/services/external/jobserver.yaml b/nlp/services/external/jobserver.yaml deleted file mode 100644 index bc425d9..0000000 --- a/nlp/services/external/jobserver.yaml +++ /dev/null @@ -1,11 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: - name: nlpjobsserverpublic - namespace: fabricnlp -spec: - selector: - app: jobserver - ports: - - port: 80 - targetPort: 8084 \ No newline at end of file diff --git a/nlp/services/external/nlpwebserver.yaml b/nlp/services/external/nlpwebserver.yaml deleted file mode 100644 index 3d7d105..0000000 --- a/nlp/services/external/nlpwebserver.yaml +++ /dev/null @@ -1,11 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: - name: nlpserverpublic - namespace: fabricnlp -spec: - selector: - app: nlpwebserver - ports: - - port: 80 - targetPort: 8083 \ No newline at end of file diff --git a/nlp/services/external/solrserver.yaml b/nlp/services/external/solrserver.yaml deleted file mode 100644 index fa07128..0000000 --- a/nlp/services/external/solrserver.yaml +++ /dev/null @@ -1,11 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: - name: solrserverpublic - namespace: fabricnlp -spec: - selector: - app: solrserver - ports: - - port: 80 - targetPort: 8085 \ No newline at end of file diff --git a/nlp/test.yml b/nlp/test.yml deleted file mode 100644 index ed0576d..0000000 --- a/nlp/test.yml +++ /dev/null @@ -1,238 +0,0 @@ -apiVersion: v1 -kind: PersistentVolume -metadata: - name: pv-azurefile - namespace: fabricnlp -spec: - capacity: - storage: 5Gi - accessModes: - - ReadWriteMany - azureFile: - secretName: azure-secret - secretNamespace: default - shareName: k8stest - readOnly: false - mountOptions: - - dir_mode=0731 - - file_mode=0724 - - uid=1000 - - gid=1000 ---- -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: pvc-azurefile - namespace: fabricnlp -spec: - accessModes: - - ReadWriteMany - resources: - requests: - storage: 5Gi - storageClassName: "" ---- -kind: Pod -apiVersion: v1 -metadata: - name: nginx-azurefile - namespace: fabricnlp -spec: - containers: - - image: nginx - name: nginx-azurefile - command: - - "/bin/sh" - - "-c" - - while true; do echo $(date) >> /mnt/blobfile/outfile; sleep 1; done - volumeMounts: - - name: blobfile01 - mountPath: "/mnt/blobfile" - volumes: - - name: blobfile01 - persistentVolumeClaim: - claimName: pvc-azurefile ---- -apiVersion: v1 -kind: PersistentVolume -metadata: - name: azure-file-volume-mysql - namespace: fabricnlp -spec: - capacity: - storage: 5Gi - accessModes: - - ReadWriteMany - azureFile: - secretName: azure-secret - secretNamespace: default - shareName: fabricnlp - readOnly: false - mountOptions: - # we need to set owner of this to mysql user (999) so it has permissions to this folder - - uid=999 - - gid=999 - # and set permissions for the user to this folder - # 0 no permissions - # 1 execute - # 2 write - # 3 write & execute - # 4 read - # 5 read & execute - # 6 read & write - # 7 read write & execute - # in 0731 0 is ignore, the 7 applies to owner, 3 applies to group, 1 applies to everyone else - - dir_mode=0731 - - file_mode=0764 - claimRef: - namespace: fabricnlp - name: nlp.mysqlserver ---- -apiVersion: v1 -kind: PersistentVolume -metadata: - name: azure-file-volume-solr - namespace: fabricnlp -spec: - capacity: - storage: 5Gi - accessModes: - - ReadWriteMany - azureFile: - secretName: azure-secret - secretNamespace: default - shareName: fabricnlp - readOnly: false - mountOptions: - - dir_mode=0731 - - file_mode=0724 - - uid=1000 - - gid=1000 - claimRef: - namespace: fabricnlp - name: nlp.solrserver ---- -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: nlp.mysqlserver - namespace: fabricnlp -spec: - accessModes: - - ReadWriteMany - resources: - requests: - storage: 128Gi ---- -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: nlp.solrserver - namespace: fabricnlp -spec: - accessModes: - - ReadWriteMany - resources: - requests: - storage: 128Gi ---- -# Solr pod -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: - name: fabric.nlp.solrserver - namespace: fabricnlp - labels: - app: solrserver -spec: - replicas: 1 - selector: - matchLabels: - app: solrserver - template: - metadata: - labels: - app: solrserver - spec: - containers: - - name: solrserver - image: healthcatalyst/fabric.nlp.docker.solr:latest - #imagePullPolicy: Always - volumeMounts: - - name: solr-persistent-storage - mountPath: /var/lib/solr - subPath: solr - ports: - - containerPort: 8085 - name: solr - volumes: - - name: solr-persistent-storage - persistentVolumeClaim: - claimName: nlp.solrserver ---- -# MySql pod -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: -# name for this pod - name: mysqlserver -# namespace for this pod - namespace: fabricnlp - labels: - app: mysqlserver -spec: - replicas: 1 - selector: - matchLabels: - app: mysqlserver - template: - metadata: - labels: - app: mysqlserver - spec: - containers: - # name of this container in the pod - - name: mysqlserver - # image to pull - image: healthcatalyst/fabric.nlp.docker.mysql:latest - # specify to always pull a new image - #imagePullPolicy: Always - # environment variables - env: - - name: MYSQL_ROOT_PASSWORD - # set the value of this environment variable from a secret called mysqlrootpassword - valueFrom: - secretKeyRef: - name: mysqlrootpassword - key: password - - name: MYSQL_PASSWORD - valueFrom: - secretKeyRef: - name: mysqlpassword - key: password - - name: MYSQL_DATABASE - # set the value of this environment variable directly - value: nlpmt - - name: MYSQL_USER - value: NLP_APP_USER - ports: - # expose port 3306 - - containerPort: 3306 - # name of the port - name: mysql - volumeMounts: - - name: mysql-persistent-storage2 - # point the /var/lib/mysql folder inside the container to the volume called mysql-persistent-storage - mountPath: /var/lib/mysql - subPath: mysql - - name: mysql-persistent-storage - # point the /var/lib/mysql folder inside the container to the volume called mysql-persistent-storage - mountPath: /data/mysql2 - volumes: - - name: mysql-persistent-storage - hostPath: - path: /data/mysql - - name: mysql-persistent-storage2 - persistentVolumeClaim: - claimName: nlp.mysqlserver ---- diff --git a/nlp/volumeclaims/jobserver.yaml b/nlp/volumeclaims/jobserver.yaml deleted file mode 100644 index 904a0a8..0000000 --- a/nlp/volumeclaims/jobserver.yaml +++ /dev/null @@ -1,12 +0,0 @@ -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: nlp.jobserver - namespace: fabricnlp -spec: - storageClassName: default - accessModes: - - ReadWriteMany - resources: - requests: - storage: 8Gi diff --git a/nlp/volumeclaims/mysqlbackup.yaml b/nlp/volumeclaims/mysqlbackup.yaml deleted file mode 100644 index 3375962..0000000 --- a/nlp/volumeclaims/mysqlbackup.yaml +++ /dev/null @@ -1,12 +0,0 @@ -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: nlp.mysqlbackup - namespace: fabricnlp -spec: - storageClassName: default - accessModes: - - ReadWriteMany - resources: - requests: - storage: 16Gi diff --git a/nlp/volumeclaims/mysqlserver.yaml b/nlp/volumeclaims/mysqlserver.yaml deleted file mode 100644 index a61dff4..0000000 --- a/nlp/volumeclaims/mysqlserver.yaml +++ /dev/null @@ -1,12 +0,0 @@ -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: nlp.mysqlserver - namespace: fabricnlp -spec: - storageClassName: default - accessModes: - - ReadWriteMany - resources: - requests: - storage: 8Gi diff --git a/nlp/volumeclaims/solrserver.yaml b/nlp/volumeclaims/solrserver.yaml deleted file mode 100644 index 2b21919..0000000 --- a/nlp/volumeclaims/solrserver.yaml +++ /dev/null @@ -1,12 +0,0 @@ -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: nlp.solrserver - namespace: fabricnlp -spec: - storageClassName: default - accessModes: - - ReadWriteMany - resources: - requests: - storage: 32Gi diff --git a/nlp/volumes/jobserver.onprem.yaml b/nlp/volumes/jobserver.onprem.yaml deleted file mode 100644 index 6c2be48..0000000 --- a/nlp/volumes/jobserver.onprem.yaml +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: v1 -kind: PersistentVolume -metadata: - name: nlp.jobserver - namespace: fabricnlp - labels: - type: local - namespace: fabricnlp -spec: - #persistentVolumeReclaimPolicy: Delete - storageClassName: default - capacity: - storage: 8Gi - accessModes: - - ReadWriteMany - hostPath: - path: "/mnt/data/fabricnlp" - claimRef: - namespace: fabricnlp - name: nlp.jobserver diff --git a/nlp/volumes/jobserver.yaml b/nlp/volumes/jobserver.yaml deleted file mode 100644 index d66be14..0000000 --- a/nlp/volumes/jobserver.yaml +++ /dev/null @@ -1,27 +0,0 @@ -apiVersion: v1 -kind: PersistentVolume -metadata: - name: nlp.jobserver - namespace: fabricnlp - labels: - type: azure - namespace: fabricnlp -spec: - capacity: - storage: 8Gi - storageClassName: default - accessModes: - - ReadWriteMany - azureFile: - secretName: azure-secret - secretNamespace: default - shareName: fabricnlp - readOnly: false - mountOptions: - - dir_mode=0731 - - file_mode=0724 - - uid=1000 - - gid=1000 - claimRef: - namespace: fabricnlp - name: nlp.jobserver diff --git a/nlp/volumes/mysqlbackup.onprem.yaml b/nlp/volumes/mysqlbackup.onprem.yaml deleted file mode 100644 index 0b6c0b4..0000000 --- a/nlp/volumes/mysqlbackup.onprem.yaml +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: v1 -kind: PersistentVolume -metadata: - name: nlp.mysqlbackup - namespace: fabricnlp - labels: - type: local - namespace: fabricnlp -spec: - storageClassName: default - capacity: - storage: 16Gi - # https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes - accessModes: - - ReadWriteMany - hostPath: - path: "/mnt/data/fabricnlp" - claimRef: - namespace: fabricnlp - name: nlp.mysqlbackup diff --git a/nlp/volumes/mysqlbackup.yaml b/nlp/volumes/mysqlbackup.yaml deleted file mode 100644 index 6c8b149..0000000 --- a/nlp/volumes/mysqlbackup.yaml +++ /dev/null @@ -1,40 +0,0 @@ -apiVersion: v1 -kind: PersistentVolume -metadata: - name: nlp.mysqlbackup - namespace: fabricnlp - labels: - type: azure - namespace: fabricnlp -spec: - storageClassName: default - capacity: - storage: 16Gi - # https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes - accessModes: - - ReadWriteMany - # https://kubernetes.io/docs/api-reference/v1.8/#azurefilepersistentvolumesource-v1-core - azureFile: - secretName: azure-secret - secretNamespace: default - shareName: fabricnlpbackups - readOnly: false - mountOptions: - # we need to set owner of this to mysql user (999) so it has permissions to this folder - - uid=999 - - gid=999 - # and set permissions for the user to this folder - # 0 no permissions - # 1 execute - # 2 write - # 3 write & execute - # 4 read - # 5 read & execute - # 6 read & write - # 7 read write & execute - # in 0731 0 is ignore, the 7 applies to owner, 3 applies to group, 1 applies to everyone else - - dir_mode=0731 - - file_mode=0764 - claimRef: - namespace: fabricnlp - name: nlp.mysqlbackup diff --git a/nlp/volumes/mysqlserver.onprem.yaml b/nlp/volumes/mysqlserver.onprem.yaml deleted file mode 100644 index 21edee8..0000000 --- a/nlp/volumes/mysqlserver.onprem.yaml +++ /dev/null @@ -1,19 +0,0 @@ -kind: PersistentVolume -apiVersion: v1 -metadata: - name: nlp.mysqlserver - namespace: fabricnlp - labels: - type: local - namespace: fabricnlp -spec: - storageClassName: default - capacity: - storage: 8Gi - accessModes: - - ReadWriteMany - hostPath: - path: "/mnt/data/fabricnlp" - claimRef: - namespace: fabricnlp - name: nlp.mysqlserver diff --git a/nlp/volumes/mysqlserver.yaml b/nlp/volumes/mysqlserver.yaml deleted file mode 100644 index e1195e7..0000000 --- a/nlp/volumes/mysqlserver.yaml +++ /dev/null @@ -1,40 +0,0 @@ -apiVersion: v1 -kind: PersistentVolume -metadata: - name: nlp.mysqlserver - namespace: fabricnlp - labels: - type: azure - namespace: fabricnlp -spec: - storageClassName: default - capacity: - storage: 8Gi - # https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes - accessModes: - - ReadWriteMany - # https://kubernetes.io/docs/api-reference/v1.8/#azurefilepersistentvolumesource-v1-core - azureFile: - secretName: azure-secret - secretNamespace: default - shareName: fabricnlp - readOnly: false - mountOptions: - # we need to set owner of this to mysql user (999) so it has permissions to this folder - - uid=999 - - gid=999 - # and set permissions for the user to this folder - # 0 no permissions - # 1 execute - # 2 write - # 3 write & execute - # 4 read - # 5 read & execute - # 6 read & write - # 7 read write & execute - # in 0731 0 is ignore, the 7 applies to owner, 3 applies to group, 1 applies to everyone else - - dir_mode=0731 - - file_mode=0764 - claimRef: - namespace: fabricnlp - name: nlp.mysqlserver diff --git a/nlp/volumes/solrserver.onprem.yaml b/nlp/volumes/solrserver.onprem.yaml deleted file mode 100644 index a67c0ec..0000000 --- a/nlp/volumes/solrserver.onprem.yaml +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: v1 -kind: PersistentVolume -metadata: - name: nlp.solrserver - namespace: fabricnlp - labels: - type: local - namespace: fabricnlp -spec: - #persistentVolumeReclaimPolicy: Delete - storageClassName: default - capacity: - storage: 32Gi - accessModes: - - ReadWriteMany - hostPath: - path: "/mnt/data/fabricnlp" - claimRef: - namespace: fabricnlp - name: nlp.solrserver diff --git a/nlp/volumes/solrserver.yaml b/nlp/volumes/solrserver.yaml deleted file mode 100644 index ad88d71..0000000 --- a/nlp/volumes/solrserver.yaml +++ /dev/null @@ -1,28 +0,0 @@ -apiVersion: v1 -kind: PersistentVolume -metadata: - name: nlp.solrserver - namespace: fabricnlp - labels: - type: azure - namespace: fabricnlp -spec: - #persistentVolumeReclaimPolicy: Delete - capacity: - storage: 32Gi - storageClassName: default - accessModes: - - ReadWriteMany - azureFile: - secretName: azure-secret - secretNamespace: default - shareName: fabricnlp - readOnly: false - mountOptions: - - dir_mode=0731 - - file_mode=0724 - - uid=1000 - - gid=1000 - claimRef: - namespace: fabricnlp - name: nlp.solrserver diff --git a/realtime/index.json b/realtime/index.json deleted file mode 100644 index 29d5988..0000000 --- a/realtime/index.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "name": "Fabric Realtime", - "version": "4.0.0.2", - "secrets": { - "password": [ - "mysqlrootpassword", - "mysqlpassword", - "certpassword", - "rabbitmqmgmtuipassword" - ], - "value": [{ - "name": "certhostname", - "valueFromSecret": { - "name": "dnshostname", - "namespace": "default" - } - }] - }, - "resources": { - "volumes": { - "onprem": [ - "certificateserver.yaml", - "mysqlserver.yaml", - "rabbitmq-cert.yaml", - "rabbitmq.yaml" - ], - "azure": [ - "certificateserver.yaml", - "mysqlserver.yaml", - "rabbitmq-cert.yaml", - "rabbitmq.yaml" - ] - }, - "volumeclaims": [ - "certificateserver.yaml", - "mysqlserver.yaml", - "rabbitmq-cert.yaml", - "rabbitmq.yaml" - ], - "pods": [ - "certificateserver.yaml", - "mysqlserver.yaml", - "interfaceengine.yaml", - "rabbitmq.yaml" - ], - "services": { - "cluster": [ - "certificateserver.yaml", - "mysqlserver.yaml", - "interfaceengine.yaml", - "rabbitmq.yaml" - ], - "external": [ - "certificateserver.yaml", - "rabbitmq.yaml", - "interfaceengine.yaml" - ] - }, - "ingress": { - "http": [ - "web.yaml", - "rabbitmq.yaml", - "interfaceengine.yaml" - ], - "tcp": [ - "mysqlserver.yaml", - "interfaceengine.yaml", - "rabbitmq.yaml" - ] - } - } -} \ No newline at end of file diff --git a/realtime/ingress/http/interfaceengine.yaml b/realtime/ingress/http/interfaceengine.yaml deleted file mode 100644 index 054abe6..0000000 --- a/realtime/ingress/http/interfaceengine.yaml +++ /dev/null @@ -1,26 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: realtime.ingress.interfaceengine - namespace: fabricrealtime - labels: - expose: external - annotations: - kubernetes.io/ingress.class: traefik - # ingress.kubernetes.io/ssl-passthrough: "true" - # change /certificates to / - # https://docs.giantswarm.io/guides/advanced-ingress-configuration/ - # https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/annotations.md - # https://github.com/kubernetes/ingress-nginx/blob/master/docs/examples/rewrite/README.md - # ingress.kubernetes.io/rewrite-target: / - # ingress.kubernetes.io/add-base-url: "true" - # https://docs.traefik.io/configuration/backends/kubernetes/ - # traefik.frontend.rule.type: PathPrefixStrip -spec: - rules: - - http: - paths: - - path: /mirth - backend: - serviceName: interfaceenginepublic - servicePort: 443 diff --git a/realtime/ingress/http/rabbitmq.yaml b/realtime/ingress/http/rabbitmq.yaml deleted file mode 100644 index a7904c6..0000000 --- a/realtime/ingress/http/rabbitmq.yaml +++ /dev/null @@ -1,26 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: realtime.ingress.rabbitmq - namespace: fabricrealtime - labels: - expose: external - annotations: - kubernetes.io/ingress.class: traefik - # ingress.kubernetes.io/ssl-passthrough: "true" - # change /certificates to / - # https://docs.giantswarm.io/guides/advanced-ingress-configuration/ - # https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/annotations.md - # https://github.com/kubernetes/ingress-nginx/blob/master/docs/examples/rewrite/README.md - # ingress.kubernetes.io/rewrite-target: / - # ingress.kubernetes.io/add-base-url: "true" - # https://docs.traefik.io/configuration/backends/kubernetes/ - # traefik.frontend.rule.type: PathPrefixStrip -spec: - rules: - - http: - paths: - - path: /rabbitmq - backend: - serviceName: rabbitmqpublic - servicePort: 80 diff --git a/realtime/ingress/http/web.yaml b/realtime/ingress/http/web.yaml deleted file mode 100644 index 90d3d93..0000000 --- a/realtime/ingress/http/web.yaml +++ /dev/null @@ -1,25 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: realtime.ingress - namespace: fabricrealtime - labels: - expose: external - annotations: - kubernetes.io/ingress.class: traefik - # change /certificates to / - # https://docs.giantswarm.io/guides/advanced-ingress-configuration/ - # https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/annotations.md - # https://github.com/kubernetes/ingress-nginx/blob/master/docs/examples/rewrite/README.md - # ingress.kubernetes.io/rewrite-target: / - # ingress.kubernetes.io/add-base-url: "true" - # https://docs.traefik.io/configuration/backends/kubernetes/ - traefik.frontend.rule.type: PathPrefixStrip -spec: - rules: - - http: - paths: - - path: /certificates - backend: - serviceName: certificateserverpublic - servicePort: 80 diff --git a/realtime/ingress/tcp/interfaceengine.yaml b/realtime/ingress/tcp/interfaceengine.yaml deleted file mode 100644 index 6b357f1..0000000 --- a/realtime/ingress/tcp/interfaceengine.yaml +++ /dev/null @@ -1,48 +0,0 @@ -# https://github.com/kubernetes/contrib/tree/master/for-demos/proxy-to-service -# https://stackoverflow.com/questions/47057176/how-to-access-kubernetes-service-externally-on-bare-metal-install -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: -# name for this pod - name: tcp-proxy-interfaceengine -# namespace for this pod - namespace: fabricrealtime - labels: - app: interfaceengine -spec: - replicas: 1 - revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. - strategy: - type: Recreate - selector: - matchLabels: - app: tcp-proxy-interfaceengine - template: - metadata: - labels: - app: tcp-proxy-interfaceengine - spec: - # hostPort is broken on CNI (https://github.com/kubernetes/kubernetes/issues/31307) we have to use hostNetwork where CNI is used - hostNetwork: true - dnsPolicy: ClusterFirstWithHostNet - # run on master node so we use the IP of the master - # https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ - # https://ekartco.com/2017/09/kubernetes-make-pods-run-on-your-master-nodes/ - nodeSelector: - node-role.kubernetes.io/master: "" - # https://stackoverflow.com/questions/41999756/how-to-force-pods-deployments-to-master-nodes - # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ - tolerations: - - key: node-role.kubernetes.io/master - operator: Exists - effect: NoSchedule - containers: - - name: proxy-tcp - image: healthcatalyst/tcp-proxy:latest - imagePullPolicy: Always - args: [ "tcp", "6661", "interfaceengine.fabricrealtime.svc.cluster.local" ] - ports: - - name: tcp - protocol: TCP - containerPort: 6661 ---- diff --git a/realtime/ingress/tcp/mysqlserver.yaml b/realtime/ingress/tcp/mysqlserver.yaml deleted file mode 100644 index a77331a..0000000 --- a/realtime/ingress/tcp/mysqlserver.yaml +++ /dev/null @@ -1,48 +0,0 @@ -# https://github.com/kubernetes/contrib/tree/master/for-demos/proxy-to-service -# https://stackoverflow.com/questions/47057176/how-to-access-kubernetes-service-externally-on-bare-metal-install -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: -# name for this pod - name: tcp-proxy-mysql -# namespace for this pod - namespace: fabricrealtime - labels: - app: mysqlclient -spec: - replicas: 1 - revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. - strategy: - type: Recreate - selector: - matchLabels: - app: tcp-proxy-mysql - template: - metadata: - labels: - app: tcp-proxy-mysql - spec: - # hostPort is broken on CNI (https://github.com/kubernetes/kubernetes/issues/31307) we have to use hostNetwork where CNI is used - hostNetwork: true - dnsPolicy: ClusterFirstWithHostNet - # run on master node so we use the IP of the master - # https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ - # https://ekartco.com/2017/09/kubernetes-make-pods-run-on-your-master-nodes/ - nodeSelector: - node-role.kubernetes.io/master: "" - # https://stackoverflow.com/questions/41999756/how-to-force-pods-deployments-to-master-nodes - # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ - tolerations: - - key: node-role.kubernetes.io/master - operator: Exists - effect: NoSchedule - containers: - - name: proxy-tcp - image: healthcatalyst/tcp-proxy:latest - imagePullPolicy: Always - args: [ "tcp", "3307", "mysqlserver.fabricrealtime.svc.cluster.local" ] - ports: - - name: tcp - protocol: TCP - containerPort: 3307 ---- diff --git a/realtime/ingress/tcp/rabbitmq.yaml b/realtime/ingress/tcp/rabbitmq.yaml deleted file mode 100644 index f1be085..0000000 --- a/realtime/ingress/tcp/rabbitmq.yaml +++ /dev/null @@ -1,48 +0,0 @@ -# https://github.com/kubernetes/contrib/tree/master/for-demos/proxy-to-service -# https://stackoverflow.com/questions/47057176/how-to-access-kubernetes-service-externally-on-bare-metal-install -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: -# name for this pod - name: tcp-proxy-rabbitmq -# namespace for this pod - namespace: fabricrealtime - labels: - app: rabbitmq -spec: - replicas: 1 - revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. - strategy: - type: Recreate - selector: - matchLabels: - app: tcp-proxy-rabbitmq - template: - metadata: - labels: - app: tcp-proxy-rabbitmq - spec: - # hostPort is broken on CNI (https://github.com/kubernetes/kubernetes/issues/31307) we have to use hostNetwork where CNI is used - hostNetwork: true - dnsPolicy: ClusterFirstWithHostNet - # run on master node so we use the IP of the master - # https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ - # https://ekartco.com/2017/09/kubernetes-make-pods-run-on-your-master-nodes/ - nodeSelector: - node-role.kubernetes.io/master: "" - # https://stackoverflow.com/questions/41999756/how-to-force-pods-deployments-to-master-nodes - # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ - tolerations: - - key: node-role.kubernetes.io/master - operator: Exists - effect: NoSchedule - containers: - - name: proxy-tcp - image: healthcatalyst/tcp-proxy:latest - imagePullPolicy: Always - args: [ "tcp", "5671", "rabbitmq.fabricrealtime.svc.cluster.local" ] - ports: - - name: tcp - protocol: TCP - containerPort: 5671 ---- diff --git a/realtime/pods/certificateserver.yaml b/realtime/pods/certificateserver.yaml deleted file mode 100644 index a2772d8..0000000 --- a/realtime/pods/certificateserver.yaml +++ /dev/null @@ -1,66 +0,0 @@ -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: -# name for this pod - name: certificateserver -# namespace for this pod - namespace: fabricrealtime - labels: - app: certificateserver -spec: - replicas: 1 - revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. - strategy: - # We need to kill the existing Pod before creating an new one - # for the new one to be able to attach the persistent disk. - type: Recreate - selector: - matchLabels: - app: certificateserver - template: - metadata: - labels: - app: certificateserver - spec: - containers: - # name of this pod - - name: certificateserver - # image to pull - image: healthcatalyst/fabric.certificateserver:latest - # specify to always pull a new image - imagePullPolicy: Always - # environment variables - env: - - name: CERT_HOSTNAME - valueFrom: - secretKeyRef: - name: certhostname - key: value - - name: CERT_PASSWORD - valueFrom: - secretKeyRef: - name: certpassword - key: password - - name: CLIENT_CERT_USERNAME - value: fabricrabbitmquser - ports: - # expose port 3000 - - containerPort: 3000 - # name of the port - name: certserver - volumeMounts: - - name: certificateserver-persistent-storage - # point the /var/lib/mysql folder inside the container to the volume called mysql-persistent-storage - mountPath: /opt/certs/ - subPath: certs - - name: tls - mountPath: "/opt/tls/" - readOnly: true - volumes: - - name: certificateserver-persistent-storage - persistentVolumeClaim: - claimName: realtime.certificateserver - - name: tls - secret: - secretName: traefik-cert-ahmn - \ No newline at end of file diff --git a/realtime/pods/interfaceengine.yaml b/realtime/pods/interfaceengine.yaml deleted file mode 100644 index 5860560..0000000 --- a/realtime/pods/interfaceengine.yaml +++ /dev/null @@ -1,59 +0,0 @@ -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: -# name for this pod - name: interfaceengine -# namespace for this pod - namespace: fabricrealtime - labels: - app: interfaceengine -spec: - replicas: 1 - revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. - strategy: - # We need to kill the existing Pod before creating an new one - # for the new one to be able to attach the persistent disk. - type: Recreate - selector: - matchLabels: - app: interfaceengine - template: - metadata: - labels: - app: interfaceengine - spec: - containers: - # name of this pod - - name: interfaceengine - # image to pull - image: healthcatalyst/fabric.docker.interfaceengine:latest - # specify to always pull a new image - imagePullPolicy: Always - # environment variables - env: - - name: MYSQL_PASSWORD - valueFrom: - secretKeyRef: - name: mysqlpassword - key: password - - name: MYSQL_DATABASE - value: mirthdb - - name: MYSQL_USER - value: mirthuser - - name: HTTP_PORT - value: "80" - - name: HTTPS_PORT - value: "443" - - name: HTTP_CONTEXTPATH - value: "/mirth/" - ports: - # expose port 3000 - - containerPort: 80 - # name of the port - name: http - - containerPort: 443 - # name of the port - name: https - - containerPort: 6661 - # name of the port - name: channel diff --git a/realtime/pods/mysqlserver.yaml b/realtime/pods/mysqlserver.yaml deleted file mode 100644 index e02b8cd..0000000 --- a/realtime/pods/mysqlserver.yaml +++ /dev/null @@ -1,63 +0,0 @@ -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: -# name for this pod - name: mysqlserver -# namespace for this pod - namespace: fabricrealtime - labels: - app: mysqlserver -spec: - replicas: 1 - revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. - strategy: - # We need to kill the existing Pod before creating an new one - # for the new one to be able to attach the persistent disk. - type: Recreate - selector: - matchLabels: - app: mysqlserver - template: - metadata: - labels: - app: mysqlserver - spec: - containers: - # name of this pod - - name: mysqlserver - # image to pull - image: healthcatalyst/fabric.realtime.mysql:latest - # specify to always pull a new image - imagePullPolicy: Always - # environment variables - env: - - name: MYSQL_ROOT_PASSWORD - # set the value of this environment variable from a secret called mysqlrootpassword - valueFrom: - secretKeyRef: - name: mysqlrootpassword - key: password - - name: MYSQL_PASSWORD - valueFrom: - secretKeyRef: - name: mysqlpassword - key: password - - name: MYSQL_DATABASE - # set the value of this environment variable directly - value: mirthdb - - name: MYSQL_USER - value: mirthuser - ports: - # expose port 3306 - - containerPort: 3306 - # name of the port - name: mysql - volumeMounts: - - name: mysql-persistent-storage - # point the /var/lib/mysql folder inside the container to the volume called mysql-persistent-storage - mountPath: /var/lib/mysql - subPath: mysql - volumes: - - name: mysql-persistent-storage - persistentVolumeClaim: - claimName: realtime.mysqlserver diff --git a/realtime/pods/rabbitmq.yaml b/realtime/pods/rabbitmq.yaml deleted file mode 100644 index 6b0de58..0000000 --- a/realtime/pods/rabbitmq.yaml +++ /dev/null @@ -1,76 +0,0 @@ -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: -# name for this pod - name: rabbitmq -# namespace for this pod - namespace: fabricrealtime - labels: - app: rabbitmq -spec: - replicas: 1 - revisionHistoryLimit: 3 # Clean-up old Replica Sets deployed; only keep previous 3. - strategy: - # We need to kill the existing Pod before creating an new one - # for the new one to be able to attach the persistent disk. - type: Recreate - selector: - matchLabels: - app: rabbitmq - template: - metadata: - labels: - app: rabbitmq - spec: - containers: - # name of this pod - - name: rabbitmq - # image to pull - image: healthcatalyst/fabric.realtime.rabbitmq:latest - # specify to always pull a new image - imagePullPolicy: Always - # environment variables - env: - - name: CERT_HOSTNAME - valueFrom: - secretKeyRef: - name: certhostname - key: value - - name: RABBITMQ_MGMT_UI_PASSWORD - valueFrom: - secretKeyRef: - name: rabbitmqmgmtuipassword - key: password - - name: RABBITMQ_MNESIA_BASE - value: "/opt/rabbitmq" - - name: RABBITMQ_LOGS - value: "-" - # - name: DISABLE_SSL - # value: "true" - ports: - # expose port 3000 - - containerPort: 5671 - # name of the port - name: rabbitmq - - containerPort: 5672 - # name of the port - name: rabbitmq2 - - containerPort: 15672 - # name of the port - name: rabbitmqmgmt - volumeMounts: - - name: rabbitmqcert-persistent-storage - # point the /var/lib/mysql folder inside the container to the volume called mysql-persistent-storage - mountPath: /opt/healthcatalyst/ - subPath: certs - - name: rabbitmq-persistent-storage - # point the /var/lib/mysql folder inside the container to the volume called mysql-persistent-storage - mountPath: /opt/rabbitmq - subPath: rabbitmq - volumes: - - name: rabbitmqcert-persistent-storage - persistentVolumeClaim: - claimName: realtime.rabbitmqcert - - name: rabbitmq-persistent-storage - persistentVolumeClaim: - claimName: realtime.rabbitmq diff --git a/realtime/services/cluster/certificateserver.yaml b/realtime/services/cluster/certificateserver.yaml deleted file mode 100644 index 9bc1c57..0000000 --- a/realtime/services/cluster/certificateserver.yaml +++ /dev/null @@ -1,20 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: -# this service shows up in the UI with this name - name: certificateserver -# namespace should match other services in this file - namespace: fabricrealtime -# labels allows you to use selectors to find this service - labels: - app: certificateserver -spec: - ports: -# port that other services can use to connect to this service - - port: 8081 -# port in the pod we map to - targetPort: 3000 - protocol: TCP -# selector says this service should use a pod that has the "app: mysqlserver" label - selector: - app: certificateserver diff --git a/realtime/services/cluster/interfaceengine.yaml b/realtime/services/cluster/interfaceengine.yaml deleted file mode 100644 index 8ff2c57..0000000 --- a/realtime/services/cluster/interfaceengine.yaml +++ /dev/null @@ -1,31 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: -# this service shows up in the UI with this name - name: interfaceengine -# namespace should match other services in this file - namespace: fabricrealtime -# labels allows you to use selectors to find this service - labels: - app: interfaceengine -spec: - ports: -# port that other services can use to connect to this service - - port: 80 -# port in the pod we map to - targetPort: 80 - protocol: TCP - name: "http" - - port: 8443 -# port in the pod we map to - targetPort: 8443 - protocol: TCP - name: "https" - - port: 6661 -# port in the pod we map to - targetPort: 6661 - protocol: TCP - name: "channel" -# selector says this service should use a pod that has the "app: mysqlserver" label - selector: - app: interfaceengine diff --git a/realtime/services/cluster/mysqlserver.yaml b/realtime/services/cluster/mysqlserver.yaml deleted file mode 100644 index 475fa95..0000000 --- a/realtime/services/cluster/mysqlserver.yaml +++ /dev/null @@ -1,20 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: -# this service shows up in the UI with this name - name: mysqlserver -# namespace should match other services in this file - namespace: fabricrealtime -# labels allows you to use selectors to find this service - labels: - app: mysqlserver -spec: - ports: -# port that other services can use to connect to this service - - port: 3306 -# port in the pod we map to - targetPort: 3306 - protocol: TCP -# selector says this service should use a pod that has the "app: mysqlserver" label - selector: - app: mysqlserver \ No newline at end of file diff --git a/realtime/services/cluster/rabbitmq.yaml b/realtime/services/cluster/rabbitmq.yaml deleted file mode 100644 index 44f9cfe..0000000 --- a/realtime/services/cluster/rabbitmq.yaml +++ /dev/null @@ -1,31 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: -# this service shows up in the UI with this name - name: rabbitmq -# namespace should match other services in this file - namespace: fabricrealtime -# labels allows you to use selectors to find this service - labels: - app: rabbitmq -spec: - ports: -# port that other services can use to connect to this service - - port: 5671 -# port in the pod we map to - targetPort: 5671 - protocol: TCP - name: "main" - - port: 5672 - # port in the pod we map to - targetPort: 5672 - protocol: TCP - name: "main2" - - port: 15672 -# port in the pod we map to - targetPort: 15672 - protocol: TCP - name: "mgmt" -# selector says this service should use a pod that has the "app: mysqlserver" label - selector: - app: rabbitmq diff --git a/realtime/services/external/certificateserver.yaml b/realtime/services/external/certificateserver.yaml deleted file mode 100644 index 9413642..0000000 --- a/realtime/services/external/certificateserver.yaml +++ /dev/null @@ -1,14 +0,0 @@ -# ----- Services exposed to the outside world ------ -# solr web server -kind: Service -apiVersion: v1 -metadata: - name: certificateserverpublic - namespace: fabricrealtime -spec: - selector: - app: certificateserver - ports: - - port: 80 - targetPort: 3000 ---- diff --git a/realtime/services/external/interfaceengine.yaml b/realtime/services/external/interfaceengine.yaml deleted file mode 100644 index 3e5b161..0000000 --- a/realtime/services/external/interfaceengine.yaml +++ /dev/null @@ -1,18 +0,0 @@ -# ----- Services exposed to the outside world ------ -# solr web server -kind: Service -apiVersion: v1 -metadata: - name: interfaceenginepublic - namespace: fabricrealtime -spec: - selector: - app: interfaceengine - ports: - - port: 80 - targetPort: 80 - name: "http" - - port: 443 - targetPort: 443 - name: "https" ---- diff --git a/realtime/services/external/rabbitmq.yaml b/realtime/services/external/rabbitmq.yaml deleted file mode 100644 index 6ebf4aa..0000000 --- a/realtime/services/external/rabbitmq.yaml +++ /dev/null @@ -1,14 +0,0 @@ -# ----- Services exposed to the outside world ------ -# solr web server -kind: Service -apiVersion: v1 -metadata: - name: rabbitmqpublic - namespace: fabricrealtime -spec: - selector: - app: rabbitmq - ports: - - port: 80 - targetPort: 15672 ---- diff --git a/realtime/volumeclaims/certificateserver.yaml b/realtime/volumeclaims/certificateserver.yaml deleted file mode 100644 index 417c4dd..0000000 --- a/realtime/volumeclaims/certificateserver.yaml +++ /dev/null @@ -1,11 +0,0 @@ -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: realtime.certificateserver - namespace: fabricrealtime -spec: - accessModes: - - ReadWriteMany - resources: - requests: - storage: 1Gi \ No newline at end of file diff --git a/realtime/volumeclaims/mysqlserver.yaml b/realtime/volumeclaims/mysqlserver.yaml deleted file mode 100644 index de12a16..0000000 --- a/realtime/volumeclaims/mysqlserver.yaml +++ /dev/null @@ -1,11 +0,0 @@ -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: realtime.mysqlserver - namespace: fabricrealtime -spec: - accessModes: - - ReadWriteMany - resources: - requests: - storage: 8Gi \ No newline at end of file diff --git a/realtime/volumeclaims/rabbitmq-cert.yaml b/realtime/volumeclaims/rabbitmq-cert.yaml deleted file mode 100644 index c110e6b..0000000 --- a/realtime/volumeclaims/rabbitmq-cert.yaml +++ /dev/null @@ -1,11 +0,0 @@ -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: realtime.rabbitmqcert - namespace: fabricrealtime -spec: - accessModes: - - ReadWriteMany - resources: - requests: - storage: 1Gi diff --git a/realtime/volumeclaims/rabbitmq.yaml b/realtime/volumeclaims/rabbitmq.yaml deleted file mode 100644 index f01d22a..0000000 --- a/realtime/volumeclaims/rabbitmq.yaml +++ /dev/null @@ -1,11 +0,0 @@ -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: realtime.rabbitmq - namespace: fabricrealtime -spec: - accessModes: - - ReadWriteMany - resources: - requests: - storage: 8Gi \ No newline at end of file diff --git a/realtime/volumes/azure/certificateserver.yaml b/realtime/volumes/azure/certificateserver.yaml deleted file mode 100644 index c5061d3..0000000 --- a/realtime/volumes/azure/certificateserver.yaml +++ /dev/null @@ -1,24 +0,0 @@ -apiVersion: v1 -kind: PersistentVolume -metadata: - name: realtime.certificateserver - namespace: fabricrealtime - labels: - type: azure - namespace: fabricrealtime -spec: - storageClassName: default - capacity: - storage: 1Gi - # https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes - accessModes: - - ReadWriteMany - # https://kubernetes.io/docs/api-reference/v1.8/#azurefilepersistentvolumesource-v1-core - azureFile: - secretName: azure-secret - secretNamespace: default - shareName: fabricrealtime - readOnly: false - claimRef: - namespace: fabricrealtime - name: realtime.certificateserver diff --git a/realtime/volumes/azure/mysqlserver.yaml b/realtime/volumes/azure/mysqlserver.yaml deleted file mode 100644 index 1051b13..0000000 --- a/realtime/volumes/azure/mysqlserver.yaml +++ /dev/null @@ -1,40 +0,0 @@ -apiVersion: v1 -kind: PersistentVolume -metadata: - name: realtime.mysqlserver - namespace: fabricrealtime - labels: - type: azure - namespace: fabricrealtime -spec: - storageClassName: default - capacity: - storage: 8Gi - # https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes - accessModes: - - ReadWriteMany - # https://kubernetes.io/docs/api-reference/v1.8/#azurefilepersistentvolumesource-v1-core - azureFile: - secretName: azure-secret - secretNamespace: default - shareName: fabricrealtime - readOnly: false - mountOptions: - # we need to set owner of this to mysql user (999) so it has permissions to this folder - - uid=999 - - gid=999 - # and set permissions for the user to this folder - # 0 no permissions - # 1 execute - # 2 write - # 3 write & execute - # 4 read - # 5 read & execute - # 6 read & write - # 7 read write & execute - # in 0731 0 is ignore, the 7 applies to owner, 3 applies to group, 1 applies to everyone else - - dir_mode=0731 - - file_mode=0764 - claimRef: - namespace: fabricrealtime - name: realtime.mysqlserver diff --git a/realtime/volumes/azure/rabbitmq-cert.yaml b/realtime/volumes/azure/rabbitmq-cert.yaml deleted file mode 100644 index cc90927..0000000 --- a/realtime/volumes/azure/rabbitmq-cert.yaml +++ /dev/null @@ -1,24 +0,0 @@ -apiVersion: v1 -kind: PersistentVolume -metadata: - name: realtime.rabbitmqcert - namespace: fabricrealtime - labels: - type: azure - namespace: fabricrealtime -spec: - storageClassName: default - capacity: - storage: 1Gi - # https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes - accessModes: - - ReadWriteMany - # https://kubernetes.io/docs/api-reference/v1.8/#azurefilepersistentvolumesource-v1-core - azureFile: - secretName: azure-secret - secretNamespace: default - shareName: fabricrealtime - readOnly: false - claimRef: - namespace: fabricrealtime - name: realtime.rabbitmqcert \ No newline at end of file diff --git a/realtime/volumes/azure/rabbitmq.yaml b/realtime/volumes/azure/rabbitmq.yaml deleted file mode 100644 index ea59a8b..0000000 --- a/realtime/volumes/azure/rabbitmq.yaml +++ /dev/null @@ -1,42 +0,0 @@ -apiVersion: v1 -kind: PersistentVolume -metadata: - name: realtime.rabbitmq - namespace: fabricrealtime - labels: - type: azure - namespace: fabricrealtime -spec: - storageClassName: default - capacity: - storage: 8Gi - # https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes - accessModes: - - ReadWriteMany - # https://kubernetes.io/docs/api-reference/v1.8/#azurefilepersistentvolumesource-v1-core - mountOptions: - # we need to set owner of this to mysql user (999) so it has permissions to this folder - # https://github.com/airdock-io/docker-base/wiki/Common-User-List - # This should be 4204 according to documentation but is actually 999 in reality - - uid=999 - - gid=999 - # and set permissions for the user to this folder - # 0 no permissions - # 1 execute - # 2 write - # 3 write & execute - # 4 read - # 5 read & execute - # 6 read & write - # 7 read write & execute - # in 0731 0 is ignore, the 7 applies to owner, 3 applies to group, 1 applies to everyone else - - dir_mode=0731 - - file_mode=0764 - azureFile: - secretName: azure-secret - secretNamespace: default - shareName: fabricrealtime - readOnly: false - claimRef: - namespace: fabricrealtime - name: realtime.rabbitmq diff --git a/realtime/volumes/onprem/certificateserver.yaml b/realtime/volumes/onprem/certificateserver.yaml deleted file mode 100644 index c249505..0000000 --- a/realtime/volumes/onprem/certificateserver.yaml +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: v1 -kind: PersistentVolume -metadata: - name: realtime.certificateserver - namespace: fabricrealtime - labels: - type: local - namespace: fabricrealtime -spec: - #persistentVolumeReclaimPolicy: Delete - storageClassName: default - capacity: - storage: 1Gi - accessModes: - - ReadWriteMany - hostPath: - path: "/mnt/data/fabricrealtime" - claimRef: - namespace: fabricrealtime - name: realtime.certificateserver diff --git a/realtime/volumes/onprem/mysqlserver.yaml b/realtime/volumes/onprem/mysqlserver.yaml deleted file mode 100644 index 98b5f11..0000000 --- a/realtime/volumes/onprem/mysqlserver.yaml +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: v1 -kind: PersistentVolume -metadata: - name: realtime.mysqlserver - namespace: fabricrealtime - labels: - type: local - namespace: fabricrealtime -spec: - #persistentVolumeReclaimPolicy: Delete - storageClassName: default - capacity: - storage: 8Gi - accessModes: - - ReadWriteMany - hostPath: - path: "/mnt/data/fabricrealtime" - claimRef: - namespace: fabricrealtime - name: realtime.mysqlserver diff --git a/realtime/volumes/onprem/rabbitmq-cert.yaml b/realtime/volumes/onprem/rabbitmq-cert.yaml deleted file mode 100644 index c94d4dd..0000000 --- a/realtime/volumes/onprem/rabbitmq-cert.yaml +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: v1 -kind: PersistentVolume -metadata: - name: realtime.rabbitmqcert - namespace: fabricrealtime - labels: - type: local - namespace: fabricrealtime -spec: - #persistentVolumeReclaimPolicy: Delete - storageClassName: default - capacity: - storage: 1Gi - accessModes: - - ReadWriteMany - hostPath: - path: "/mnt/data/fabricrealtime" - claimRef: - namespace: fabricrealtime - name: realtime.rabbitmqcert diff --git a/realtime/volumes/onprem/rabbitmq.yaml b/realtime/volumes/onprem/rabbitmq.yaml deleted file mode 100644 index 9db607a..0000000 --- a/realtime/volumes/onprem/rabbitmq.yaml +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: v1 -kind: PersistentVolume -metadata: - name: realtime.rabbitmq - namespace: fabricrealtime - labels: - type: local - namespace: fabricrealtime -spec: - #persistentVolumeReclaimPolicy: Delete - storageClassName: default - capacity: - storage: 8Gi - accessModes: - - ReadWriteMany - hostPath: - path: "/mnt/data/fabricrealtime" - claimRef: - namespace: fabricrealtime - name: realtime.rabbitmq From 77fa421c3c222527bb6d8c9631156f174452e07f Mon Sep 17 00:00:00 2001 From: Imran Qureshi Date: Mon, 9 Apr 2018 09:24:43 -0700 Subject: [PATCH 428/473] use Invoke-SqlCmd with integrated auth Signed-off-by: Imran Qureshi --- developer/doslibrary.ps1 | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/developer/doslibrary.ps1 b/developer/doslibrary.ps1 index e1a14a8..c8e8451 100644 --- a/developer/doslibrary.ps1 +++ b/developer/doslibrary.ps1 @@ -3,7 +3,7 @@ # You can run this by pasting the following in powershell # Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/developer/doslibrary.ps1 | Invoke-Expression; -Write-output "--- doslibrary.ps1 Version 2018.03.14.01 ----" +Write-output "--- doslibrary.ps1 Version 2018.04.09.01 ----" $dpsUrl = "http://localhost/DataProcessingService" $metadataUrl = "http://localhost/MetadataService" @@ -489,7 +489,9 @@ function runHL7Sourcemart() { $(executeBatchAsStreaming -batchdefinitionId $batchdefinitionId).BatchExecutionId } function runSql([ValidateNotNull()] $sql) { - Invoke-Sqlcmd -Query $sql -ConnectionString $connectionString +# Invoke-Sqlcmd -Query $sql -ConnectionString $connectionString + Invoke-Sqlcmd -Query $sql -Database "EdwAdmin" + } function downloadCerts() { @@ -641,7 +643,7 @@ function foo() { # https://docs.microsoft.com/en-us/sql/relational-databases/data-tier-applications/deploy-a-data-tier-application ## Set a SMO Server object to the default instance on the local computer. - CD SQLSERVER:\SQL\localhost\DEFAULT + Set-Location SQLSERVER:\SQL\localhost\DEFAULT $srv = get-item . ## Open a Common.ServerConnection to the same instance. From 57b8a1aff01646049843a339588a2e29c5bcf370 Mon Sep 17 00:00:00 2001 From: Imran Qureshi Date: Thu, 12 Apr 2018 14:33:07 -0700 Subject: [PATCH 429/473] fix url redirection Signed-off-by: Imran Qureshi --- kubernetes/main.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 4aecfa9..d7e6ac2 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -1,3 +1,3 @@ #!/bin/bash -echo "This has moved to curl -sSL https://raw.githubusercontent.com/HealthCatalyst/dos.install/master/kubernetes/main.sh | bash" +echo "This has moved to curl -sSL https://raw.githubusercontent.com/HealthCatalyst/dos.install/master/onprem/main.sh | bash" From 4508dc540a0cfe4791a0a65f5186719dd9bf8062 Mon Sep 17 00:00:00 2001 From: Brian Smith Date: Tue, 24 Apr 2018 12:29:25 -0400 Subject: [PATCH 430/473] adjusted API and Client registration functions to update if the registration already exists --- common/Fabric-Install-Utilities.psm1 | 541 +++++++++++++++------------ 1 file changed, 294 insertions(+), 247 deletions(-) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index 486e068..c2d1648 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -2,180 +2,180 @@ Import-Module WebAdministration Add-Type -AssemblyName System.IO.Compression.FileSystem function Invoke-WaitForWebAppPoolToChangeState($name, $state){ - $currentState = Get-WebAppPoolState -Name $name - Write-Host "Waiting for app pool '$name' to enter the '$state' state" -NoNewLine - DO{ - Write-Host "." -NoNewLine - Start-Sleep 1 - $currentState = Get-WebAppPoolState -Name $name - }while($currentState.Value -ne $state) - Write-Host "" + $currentState = Get-WebAppPoolState -Name $name + Write-Host "Waiting for app pool '$name' to enter the '$state' state" -NoNewLine + DO{ + Write-Host "." -NoNewLine + Start-Sleep 1 + $currentState = Get-WebAppPoolState -Name $name + }while($currentState.Value -ne $state) + Write-Host "" } function Add-EnvironmentVariable($variableName, $variableValue, $config){ - $environmentVariablesNode = $config.configuration.'system.webServer'.aspNetCore.environmentVariables - $existingEnvironmentVariable = $environmentVariablesNode.environmentVariable | Where-Object {$_.name -eq $variableName} - if($existingEnvironmentVariable -eq $null){ - Write-Console "Writing $variableName to config" - $environmentVariable = $config.CreateElement("environmentVariable") - - $nameAttribute = $config.CreateAttribute("name") - $nameAttribute.Value = $variableName - $environmentVariable.Attributes.Append($nameAttribute) - - $valueAttribute = $config.CreateAttribute("value") - $valueAttribute.Value = $variableValue - $environmentVariable.Attributes.Append($valueAttribute) - - $environmentVariablesNode.AppendChild($environmentVariable) - }else { - Write-Console $variableName "already exists in config, not overwriting" - } + $environmentVariablesNode = $config.configuration.'system.webServer'.aspNetCore.environmentVariables + $existingEnvironmentVariable = $environmentVariablesNode.environmentVariable | Where-Object {$_.name -eq $variableName} + if($existingEnvironmentVariable -eq $null){ + Write-Console "Writing $variableName to config" + $environmentVariable = $config.CreateElement("environmentVariable") + + $nameAttribute = $config.CreateAttribute("name") + $nameAttribute.Value = $variableName + $environmentVariable.Attributes.Append($nameAttribute) + + $valueAttribute = $config.CreateAttribute("value") + $valueAttribute.Value = $variableValue + $environmentVariable.Attributes.Append($valueAttribute) + + $environmentVariablesNode.AppendChild($environmentVariable) + }else { + Write-Console $variableName "already exists in config, not overwriting" + } } function New-AppRoot($appDirectory, $iisUser){ - # Create the necessary directories for the app - $logDirectory = "$appDirectory\logs" - - if(!(Test-Path $appDirectory)) { - Write-Console "Creating application directory: $appDirectory." - mkdir $appDirectory | Out-Null - }else{ - Write-Console "Application directory: $appDirectory exists." - } - - - if(!(Test-Path $logDirectory)) { - Write-Console "Creating applciation log directory: $logDirectory." - mkdir $logDirectory | Out-Null - Write-Console "Setting Write and Read access for $iisUser on $logDirectory." - $acl = (Get-Item $logDirectory).GetAccessControl('Access') - $writeAccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule($iisUser, "Write", "ContainerInherit,ObjectInherit", "None", "Allow") - $readAccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule($iisUser, "Read", "ContainerInherit,ObjectInherit", "None", "Allow") - $acl.AddAccessRule($writeAccessRule) - $acl.AddAccessRule($readAccessRule) - Set-Acl -Path $logDirectory $acl - }else{ - Write-Console "Log directory: $logDirectory exisits" - } + # Create the necessary directories for the app + $logDirectory = "$appDirectory\logs" + + if(!(Test-Path $appDirectory)) { + Write-Console "Creating application directory: $appDirectory." + mkdir $appDirectory | Out-Null + }else{ + Write-Console "Application directory: $appDirectory exists." + } + + + if(!(Test-Path $logDirectory)) { + Write-Console "Creating applciation log directory: $logDirectory." + mkdir $logDirectory | Out-Null + Write-Console "Setting Write and Read access for $iisUser on $logDirectory." + $acl = (Get-Item $logDirectory).GetAccessControl('Access') + $writeAccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule($iisUser, "Write", "ContainerInherit,ObjectInherit", "None", "Allow") + $readAccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule($iisUser, "Read", "ContainerInherit,ObjectInherit", "None", "Allow") + $acl.AddAccessRule($writeAccessRule) + $acl.AddAccessRule($readAccessRule) + Set-Acl -Path $logDirectory $acl + }else{ + Write-Console "Log directory: $logDirectory exisits" + } } function New-AppPool($appName, $userName, $credential){ - Set-Location IIS:\AppPools - if(!(Test-Path $appName -PathType Container)) - { - Write-Console "AppPool $appName does not exist...creating." - $appPool = New-WebAppPool $appName - $appPool | Set-ItemProperty -Name "managedRuntimeVersion" -Value "" - - }else{ - Write-Console "AppPool: $appName exists." - $appPool = Get-Item $appName - } - - if(![string]::IsNullOrEmpty($userName) -and $credential -ne $null) - { - $appPool.processModel.userName = $userName - $appPool.processModel.password = $credential.GetNetworkCredential().Password - $appPool.processModel.identityType = 3 - $appPool.processModel.loaduserprofile = $true - $appPool | Set-Item - $appPool.Stop() - Invoke-WaitForWebAppPoolToChangeState -name $appPool.Name -state "Stopped" - } - $appPool.Start() - Invoke-WaitForWebAppPoolToChangeState -name $appPool.Name -state "Started" + Set-Location IIS:\AppPools + if(!(Test-Path $appName -PathType Container)) + { + Write-Console "AppPool $appName does not exist...creating." + $appPool = New-WebAppPool $appName + $appPool | Set-ItemProperty -Name "managedRuntimeVersion" -Value "" + + }else{ + Write-Console "AppPool: $appName exists." + $appPool = Get-Item $appName + } + + if(![string]::IsNullOrEmpty($userName) -and $credential -ne $null) + { + $appPool.processModel.userName = $userName + $appPool.processModel.password = $credential.GetNetworkCredential().Password + $appPool.processModel.identityType = 3 + $appPool.processModel.loaduserprofile = $true + $appPool | Set-Item + $appPool.Stop() + Invoke-WaitForWebAppPoolToChangeState -name $appPool.Name -state "Stopped" + } + $appPool.Start() + Invoke-WaitForWebAppPoolToChangeState -name $appPool.Name -state "Started" } function New-Site($appName, $portNumber, $appDirectory, $hostHeader){ - cd IIS:\Sites - - if(!(Test-Path $appName -PathType Container)) - { - Write-Console "WebSite $appName does not exist...creating." - $webSite = New-Website -Name $appName -Port $portNumber -Ssl -PhysicalPath $appDirectory -ApplicationPool $appName -HostHeader $hostHeader - - Write-Console "Assigning certificate..." - $cert = Get-Item Cert:\LocalMachine\My\$sslCertificateThumbprint - Set-Location IIS:\SslBindings - $sslBinding = "0.0.0.0!$portNumber" - if(!(Test-Path $sslBinding)){ - $cert | New-Item $sslBinding - } - } + cd IIS:\Sites + + if(!(Test-Path $appName -PathType Container)) + { + Write-Console "WebSite $appName does not exist...creating." + $webSite = New-Website -Name $appName -Port $portNumber -Ssl -PhysicalPath $appDirectory -ApplicationPool $appName -HostHeader $hostHeader + + Write-Console "Assigning certificate..." + $cert = Get-Item Cert:\LocalMachine\My\$sslCertificateThumbprint + Set-Location IIS:\SslBindings + $sslBinding = "0.0.0.0!$portNumber" + if(!(Test-Path $sslBinding)){ + $cert | New-Item $sslBinding + } + } } function New-App($appName, $siteName, $appDirectory){ - Set-Location IIS:\ - Write-Console "Creating web application: $webApp" - New-WebApplication -Name $appName -Site $siteName -PhysicalPath $appDirectory -ApplicationPool $appName -Force + Set-Location IIS:\ + Write-Console "Creating web application: $webApp" + New-WebApplication -Name $appName -Site $siteName -PhysicalPath $appDirectory -ApplicationPool $appName -Force } function Publish-WebSite($zipPackage, $appDirectory, $appName, $overwriteWebConfig){ - # Extract the app into the app directory - Write-Console "Extracting $zipPackage to $appDirectory." - - try{ - Stop-WebAppPool -Name $appName - Invoke-WaitForWebAppPoolToChangeState -name $appName -state "Stopped" - }catch [System.InvalidOperationException]{ - Write-Console "AppPool $appName is already stopped, continuing." - } - - Start-Sleep -Seconds 3 - $archive = [System.IO.Compression.ZipFile]::OpenRead($zipPackage) - foreach($item in $archive.Entries) - { - $itemTargetFilePath = [System.IO.Path]::Combine($appDirectory, $item.FullName) - $itemDirectory = [System.IO.Path]::GetDirectoryName($itemTargetFilePath) - $overwrite = $true - - if(!(Test-Path $itemDirectory)){ - New-Item -ItemType Directory -Path $itemDirectory | Out-Null - } - - if(!(Test-IsDirectory $itemTargetFilePath)){ - if($itemTargetFilePath.EndsWith("web.config")){ - $overwrite = $overwriteWebConfig - } - try{ - Write-Console "......Extracting $itemTargetFilePath..." - [System.IO.Compression.ZipFileExtensions]::ExtractToFile($item, $itemTargetFilePath, $overwrite) - }catch [System.Management.Automation.MethodInvocationException]{ - Write-Console "......$itemTargetFilePath exists, not overwriting..." - $errorId = $_.FullyQualifiedErrorId - if($errorId -ne "IOException"){ - throw $_.Exception - } - } - } - } - $archive.Dispose() - Start-WebAppPool -Name $appName - Invoke-WaitForWebAppPoolToChangeState -name $appName -state "Started" + # Extract the app into the app directory + Write-Console "Extracting $zipPackage to $appDirectory." + + try{ + Stop-WebAppPool -Name $appName + Invoke-WaitForWebAppPoolToChangeState -name $appName -state "Stopped" + }catch [System.InvalidOperationException]{ + Write-Console "AppPool $appName is already stopped, continuing." + } + + Start-Sleep -Seconds 3 + $archive = [System.IO.Compression.ZipFile]::OpenRead($zipPackage) + foreach($item in $archive.Entries) + { + $itemTargetFilePath = [System.IO.Path]::Combine($appDirectory, $item.FullName) + $itemDirectory = [System.IO.Path]::GetDirectoryName($itemTargetFilePath) + $overwrite = $true + + if(!(Test-Path $itemDirectory)){ + New-Item -ItemType Directory -Path $itemDirectory | Out-Null + } + + if(!(Test-IsDirectory $itemTargetFilePath)){ + if($itemTargetFilePath.EndsWith("web.config")){ + $overwrite = $overwriteWebConfig + } + try{ + Write-Console "......Extracting $itemTargetFilePath..." + [System.IO.Compression.ZipFileExtensions]::ExtractToFile($item, $itemTargetFilePath, $overwrite) + }catch [System.Management.Automation.MethodInvocationException]{ + Write-Console "......$itemTargetFilePath exists, not overwriting..." + $errorId = $_.FullyQualifiedErrorId + if($errorId -ne "IOException"){ + throw $_.Exception + } + } + } + } + $archive.Dispose() + Start-WebAppPool -Name $appName + Invoke-WaitForWebAppPoolToChangeState -name $appName -state "Started" } function Test-IsDirectory($path) { - if((Test-Path $path) -and (Get-Item $path) -is [System.IO.DirectoryInfo]){ - return $true - } - return $false + if((Test-Path $path) -and (Get-Item $path) -is [System.IO.DirectoryInfo]){ + return $true + } + return $false } function Set-EnvironmentVariables($appDirectory, $environmentVariables){ - Write-Console "Writing environment variables to config..." - $webConfig = [xml](Get-Content $appDirectory\web.config) - foreach ($variable in $environmentVariables.GetEnumerator()){ - Add-EnvironmentVariable $variable.Name $variable.Value $webConfig - } + Write-Console "Writing environment variables to config..." + $webConfig = [xml](Get-Content $appDirectory\web.config) + foreach ($variable in $environmentVariables.GetEnumerator()){ + Add-EnvironmentVariable $variable.Name $variable.Value $webConfig + } - $webConfig.Save("$appDirectory\web.config") + $webConfig.Save("$appDirectory\web.config") } function Get-EncryptedString($signingCert, $stringToEncrypt){ - $encryptedString = [System.Convert]::ToBase64String($signingCert.PublicKey.Key.Encrypt([System.Text.Encoding]::UTF8.GetBytes($stringToEncrypt), $true)) - return "!!enc!!:" + $encryptedString + $encryptedString = [System.Convert]::ToBase64String($signingCert.PublicKey.Key.Encrypt([System.Text.Encoding]::UTF8.GetBytes($stringToEncrypt), $true)) + return "!!enc!!:" + $encryptedString } function Get-InstalledApps @@ -277,123 +277,170 @@ function Get-AccessToken($authUrl, $clientId, $scope, $secret) return $accessTokenResponse.access_token } -function Add-ApiRegistration($authUrl, $body, $accessToken) +function Save-ApiRegistration($authUrl, $body, $accessToken) { $url = "$authUrl/api/apiresource" $headers = @{"Accept" = "application/json"} if($accessToken){ $headers.Add("Authorization", "Bearer $accessToken") } - $registrationResponse = Invoke-RestMethod -Method Post -Uri $url -Body $body -ContentType "application/json" -Headers $headers - return $registrationResponse.apiSecret + + try{ + $registrationResponse = Invoke-RestMethod -Method Post -Uri $url -Body $body -ContentType "application/json" -Headers $headers + return $registrationResponse.apiSecret + }catch{ + $exception = $_.Exception + $apiResourceObject = ConvertFrom-Json -InputObject $body + if ($exception -ne $null -and $exception.Response.StatusCode.value__ -eq 409) { + Write-Success "API Resource $($apiResourceObject.name) is already registered...attempting to update" + Write-Host "" + try{ + $registrationResponse = Invoke-RestMethod -Method Put -Uri "$url/$($apiResourceObject.name)" -Body $body -ContentType "application/json" -Headers $headers + return $registrationResponse.clientSecret + }catch{ + $exception = $_.Exception + $error = Get-ErrorFromResponse -response $exception.Response + Write-Error "There was an error updating API resource $($apiResourceObject.name): $error. Halting installation." + throw $exception + } + } + else { + Write-Error "Could not register API $($apiResourceObject.name) with Fabric.Identity, halting installation." + throw $exception + } + } } -function Add-ClientRegistration($authUrl, $body, $accessToken) +function Save-ClientRegistration($authUrl, $body, $accessToken) { $url = "$authUrl/api/client" $headers = @{"Accept" = "application/json"} if($accessToken){ $headers.Add("Authorization", "Bearer $accessToken") } - $registrationResponse = Invoke-RestMethod -Method Post -Uri $url -Body $body -ContentType "application/json" -Headers $headers - return $registrationResponse.clientSecret + + # attempt to add + try{ + $registrationResponse = Invoke-RestMethod -Method Post -Uri $url -Body $body -ContentType "application/json" -Headers $headers + return $registrationResponse.clientSecret + }catch{ + $exception = $_.Exception + $clientObject = ConvertFrom-Json -InputObject $body + if ($exception -ne $null -and $exception.Response.StatusCode.value__ -eq 409) { + Write-Success "Client $($clientObject.clientName) is already registered...attempting to update" + Write-Host "" + try{ + $registrationResponse = Invoke-RestMethod -Method Put -Uri "$url/$($clientObject.clientId)" -Body $body -ContentType "application/json" -Headers $headers + return $registrationResponse.clientSecret + }catch{ + $exception = $_.Exception + $error = Get-ErrorFromResponse -response $exception.Response + Write-Error "There was an error updating Client $($clientObject.clientName): $error. Halting installation." + throw $exception + } + } + else { + Write-Error "Could not register client $($clientObject.clientName) with Fabric.Identity, halting installation." + throw $exception + } + } } function Get-CurrentScriptDirectory() { - return Split-Path $script:MyInvocation.MyCommand.Path + return Split-Path $script:MyInvocation.MyCommand.Path } function Get-InstallationSettings($configSection) { - $installationConfig = [xml](Get-Content install.config) - $sectionSettings = $installationConfig.installation.settings.scope | where {$_.name -eq $configSection} - $installationSettings = @{} - - foreach($variable in $sectionSettings.variable){ - if($variable.name -and $variable.value){ - $installationSettings.Add($variable.name, $variable.value) - } - } - - $commonSettings = $installationConfig.installation.settings.scope | where {$_.name -eq "common"} - foreach($variable in $commonSettings.variable){ - if($variable.name -and $variable.value -and !$installationSettings.Contains($variable.name)){ - $installationSettings.Add($variable.name, $variable.value) - } - } - - try{ - $encryptionCertificateThumbprint = $installationSettings.encryptionCertificateThumbprint - $encryptionCertificate = Get-EncryptionCertificate $encryptionCertificateThumbprint - }catch{ - Write-Error "Could not get encryption certificte with thumbprint $encryptionCertificateThumbprint. Please verify that the encryptionCertificateThumbprint setting in install.config contains a valid thumbprint for a certificate in the Local Machine Personal store." - throw $_.Exception - } - - $installationSettingsDecrypted = @{} - foreach($key in $installationSettings.Keys){ - $value = $installationSettings[$key] - if($value.StartsWith("!!enc!!:")) - { - $value = Get-DecryptedString $encryptionCertificate $value - } - $installationSettingsDecrypted.Add($key, $value) - } - - return $installationSettingsDecrypted + $installationConfig = [xml](Get-Content install.config) + $sectionSettings = $installationConfig.installation.settings.scope | where {$_.name -eq $configSection} + $installationSettings = @{} + + foreach($variable in $sectionSettings.variable){ + if($variable.name -and $variable.value){ + $installationSettings.Add($variable.name, $variable.value) + } + } + + $commonSettings = $installationConfig.installation.settings.scope | where {$_.name -eq "common"} + foreach($variable in $commonSettings.variable){ + if($variable.name -and $variable.value -and !$installationSettings.Contains($variable.name)){ + $installationSettings.Add($variable.name, $variable.value) + } + } + + try{ + $encryptionCertificateThumbprint = $installationSettings.encryptionCertificateThumbprint + $encryptionCertificate = Get-EncryptionCertificate $encryptionCertificateThumbprint + }catch{ + Write-Error "Could not get encryption certificte with thumbprint $encryptionCertificateThumbprint. Please verify that the encryptionCertificateThumbprint setting in install.config contains a valid thumbprint for a certificate in the Local Machine Personal store." + throw $_.Exception + } + + $installationSettingsDecrypted = @{} + foreach($key in $installationSettings.Keys){ + $value = $installationSettings[$key] + if($value.StartsWith("!!enc!!:")) + { + $value = Get-DecryptedString $encryptionCertificate $value + } + $installationSettingsDecrypted.Add($key, $value) + } + + return $installationSettingsDecrypted } function Add-InstallationSetting($configSection, $configSetting, $configValue) { - $currentDirectory = Get-CurrentScriptDirectory - $configFile = "install.config" - $installationConfig = [xml](Get-Content "$currentDirectory\$configFile") - $sectionSettings = $installationConfig.installation.settings.scope | where {$_.name -eq $configSection} - $existingSetting = $sectionSettings.variable | where {$_.name -eq $configSetting} - if($existingSetting -eq $null){ - $setting = $installationConfig.CreateElement("variable") - - $nameAttribute = $installationConfig.CreateAttribute("name") - $nameAttribute.Value = $configSetting - $setting.Attributes.Append($nameAttribute) - - $valueAttribute = $installationConfig.CreateAttribute("value") - $valueAttribute.Value = $configValue - $setting.Attributes.Append($valueAttribute) - - $sectionSettings.AppendChild($setting) - }else{ - $existingSetting.value = $configValue - } - $installationConfig.Save("$currentDirectory\$configFile") + $currentDirectory = Get-CurrentScriptDirectory + $configFile = "install.config" + $installationConfig = [xml](Get-Content "$currentDirectory\$configFile") + $sectionSettings = $installationConfig.installation.settings.scope | where {$_.name -eq $configSection} + $existingSetting = $sectionSettings.variable | where {$_.name -eq $configSetting} + if($existingSetting -eq $null){ + $setting = $installationConfig.CreateElement("variable") + + $nameAttribute = $installationConfig.CreateAttribute("name") + $nameAttribute.Value = $configSetting + $setting.Attributes.Append($nameAttribute) + + $valueAttribute = $installationConfig.CreateAttribute("value") + $valueAttribute.Value = $configValue + $setting.Attributes.Append($valueAttribute) + + $sectionSettings.AppendChild($setting) + }else{ + $existingSetting.value = $configValue + } + $installationConfig.Save("$currentDirectory\$configFile") } function Add-SecureInstallationSetting($configSection, $configSetting, $configValue, $encryptionCertificate) { - $encryptedConfigValue = Get-EncryptedString $encryptionCertificate $configValue - Add-InstallationSetting $configSection $configSetting $encryptedConfigValue + $encryptedConfigValue = Get-EncryptedString $encryptionCertificate $configValue + Add-InstallationSetting $configSection $configSetting $encryptedConfigValue } function Get-EncryptionCertificate($encryptionCertificateThumbprint) { - return Get-Certificate $encryptionCertificateThumbprint + return Get-Certificate $encryptionCertificateThumbprint } function Get-Certificate($certificateThumbprint) { - $certificateThumbprint = $certificateThumbprint -replace '[^a-zA-Z0-9]', '' - return Get-Item Cert:\LocalMachine\My\$certificateThumbprint -ErrorAction Stop + $certificateThumbprint = $certificateThumbprint -replace '[^a-zA-Z0-9]', '' + return Get-Item Cert:\LocalMachine\My\$certificateThumbprint -ErrorAction Stop } function Get-DecryptedString($encryptionCertificate, $encryptedString){ - if($encryptedString.Contains("!!enc!!:")){ - $cleanedEncryptedString = $encryptedString.Replace("!!enc!!:","") - $clearTextValue = [System.Text.Encoding]::UTF8.GetString($encryptionCertificate.PrivateKey.Decrypt([System.Convert]::FromBase64String($cleanedEncryptedString), $true)) - return $clearTextValue - }else{ - return $encryptedString - } + if($encryptedString.Contains("!!enc!!:")){ + $cleanedEncryptedString = $encryptedString.Replace("!!enc!!:","") + $clearTextValue = [System.Text.Encoding]::UTF8.GetString($encryptionCertificate.PrivateKey.Decrypt([System.Convert]::FromBase64String($cleanedEncryptedString), $true)) + return $clearTextValue + }else{ + return $encryptedString + } } function Get-CertsFromLocation($certLocation){ @@ -412,9 +459,9 @@ function Get-CertThumbprint($certs, $selectionNumber){ function Test-IsRunAsAdministrator() { - $currentIdentity = [Security.Principal.WindowsIdentity]::GetCurrent() - $currentPrincipal = New-Object Security.Principal.WindowsPrincipal($currentIdentity) - return $currentPrincipal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator) + $currentIdentity = [Security.Principal.WindowsIdentity]::GetCurrent() + $currentPrincipal = New-Object Security.Principal.WindowsPrincipal($currentIdentity) + return $currentPrincipal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator) } function Add-ServiceUserToDiscovery($userName, $connString) @@ -423,31 +470,31 @@ function Add-ServiceUserToDiscovery($userName, $connString) $query = "DECLARE @IdentityID int; DECLARE @DiscoveryServiceUserRoleID int; - SELECT @IdentityID = IdentityID FROM CatalystAdmin.IdentityBASE WHERE IdentityNM = @userName; - IF (@IdentityID IS NULL) - BEGIN - print ''-- Adding Identity''; - INSERT INTO CatalystAdmin.IdentityBASE (IdentityNM) VALUES (@userName); - SELECT @IdentityID = SCOPE_IDENTITY(); - END - - SELECT @DiscoveryServiceUserRoleID = RoleID FROM CatalystAdmin.RoleBASE WHERE RoleNM = 'DiscoveryServiceUser'; - IF (NOT EXISTS (SELECT 1 FROM CatalystAdmin.IdentityRoleBASE WHERE IdentityID = @IdentityID AND RoleID = @DiscoveryServiceUserRoleID)) - BEGIN - print ''-- Assigning Discovery Service user''; - INSERT INTO CatalystAdmin.IdentityRoleBASE (IdentityID, RoleID) VALUES (@IdentityID, @DiscoveryServiceUserRoleID); - END" - Invoke-Sql $connString $query @{userName=$userName} | Out-Null + SELECT @IdentityID = IdentityID FROM CatalystAdmin.IdentityBASE WHERE IdentityNM = @userName; + IF (@IdentityID IS NULL) + BEGIN + print ''-- Adding Identity''; + INSERT INTO CatalystAdmin.IdentityBASE (IdentityNM) VALUES (@userName); + SELECT @IdentityID = SCOPE_IDENTITY(); + END + + SELECT @DiscoveryServiceUserRoleID = RoleID FROM CatalystAdmin.RoleBASE WHERE RoleNM = 'DiscoveryServiceUser'; + IF (NOT EXISTS (SELECT 1 FROM CatalystAdmin.IdentityRoleBASE WHERE IdentityID = @IdentityID AND RoleID = @DiscoveryServiceUserRoleID)) + BEGIN + print ''-- Assigning Discovery Service user''; + INSERT INTO CatalystAdmin.IdentityRoleBASE (IdentityID, RoleID) VALUES (@IdentityID, @DiscoveryServiceUserRoleID); + END" + Invoke-Sql $connString $query @{userName=$userName} | Out-Null } function Invoke-Sql($connectionString, $sql, $parameters=@{}){ $connection = New-Object System.Data.SqlClient.SQLConnection($connectionString) $command = New-Object System.Data.SqlClient.SqlCommand($sql, $connection) - + try { - foreach($p in $parameters.Keys){ - $command.Parameters.AddWithValue("@$p",$parameters[$p]) - } + foreach($p in $parameters.Keys){ + $command.Parameters.AddWithValue("@$p",$parameters[$p]) + } $connection.Open() $command.ExecuteNonQuery() @@ -458,11 +505,11 @@ function Invoke-Sql($connectionString, $sql, $parameters=@{}){ } function Write-Success($message){ - Write-Host $message -ForegroundColor Green + Write-Host $message -ForegroundColor Green } function Write-Console($message){ - Write-Host $message -ForegroundColor Gray + Write-Host $message -ForegroundColor Gray } Export-ModuleMember -function Add-EnvironmentVariable @@ -477,8 +524,8 @@ Export-ModuleMember -function Test-Prerequisite Export-ModuleMember -function Test-PrerequisiteExact Export-ModuleMember -function Get-CouchDbRemoteInstallationStatus Export-ModuleMember -function Get-AccessToken -Export-ModuleMember -function Add-ApiRegistration -Export-ModuleMember -function Add-ClientRegistration +Export-ModuleMember -function Save-ApiRegistration +Export-ModuleMember -function Save-ClientRegistration Export-ModuleMember -function Get-CurrentScriptDirectory Export-ModuleMember -function Get-InstallationSettings Export-ModuleMember -function Add-InstallationSetting From 737699eba8f1bdf9495f82d05faaa65066087e23 Mon Sep 17 00:00:00 2001 From: Brian Smith Date: Tue, 24 Apr 2018 22:49:02 -0400 Subject: [PATCH 431/473] fixed issues found during testing of upgrade scenario --- common/Fabric-Install-Utilities.psm1 | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index c2d1648..00b9de3 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -292,11 +292,11 @@ function Save-ApiRegistration($authUrl, $body, $accessToken) $exception = $_.Exception $apiResourceObject = ConvertFrom-Json -InputObject $body if ($exception -ne $null -and $exception.Response.StatusCode.value__ -eq 409) { - Write-Success "API Resource $($apiResourceObject.name) is already registered...attempting to update" + Write-Success "API Resource $($apiResourceObject.name) is already registered...updating registration settings." Write-Host "" try{ $registrationResponse = Invoke-RestMethod -Method Put -Uri "$url/$($apiResourceObject.name)" -Body $body -ContentType "application/json" -Headers $headers - return $registrationResponse.clientSecret + return "" }catch{ $exception = $_.Exception $error = Get-ErrorFromResponse -response $exception.Response @@ -327,11 +327,11 @@ function Save-ClientRegistration($authUrl, $body, $accessToken) $exception = $_.Exception $clientObject = ConvertFrom-Json -InputObject $body if ($exception -ne $null -and $exception.Response.StatusCode.value__ -eq 409) { - Write-Success "Client $($clientObject.clientName) is already registered...attempting to update" + Write-Success "Client $($clientObject.clientName) is already registered...updating registration settings." Write-Host "" try{ - $registrationResponse = Invoke-RestMethod -Method Put -Uri "$url/$($clientObject.clientId)" -Body $body -ContentType "application/json" -Headers $headers - return $registrationResponse.clientSecret + Invoke-RestMethod -Method Put -Uri "$url/$($clientObject.clientId)" -Body $body -ContentType "application/json" -Headers $headers + return "" }catch{ $exception = $_.Exception $error = Get-ErrorFromResponse -response $exception.Response @@ -434,7 +434,7 @@ function Get-Certificate($certificateThumbprint) } function Get-DecryptedString($encryptionCertificate, $encryptedString){ - if($encryptedString.Contains("!!enc!!:")){ + if($encryptedString.StartsWith("!!enc!!:")){ $cleanedEncryptedString = $encryptedString.Replace("!!enc!!:","") $clearTextValue = [System.Text.Encoding]::UTF8.GetString($encryptionCertificate.PrivateKey.Decrypt([System.Convert]::FromBase64String($cleanedEncryptedString), $true)) return $clearTextValue @@ -487,6 +487,18 @@ function Add-ServiceUserToDiscovery($userName, $connString) Invoke-Sql $connString $query @{userName=$userName} | Out-Null } +function Read-FabricInstallerSecret($defaultSecret) +{ + $fabricInstallerSecret = $defaultSecret + $userEnteredFabricInstallerSecret = Read-Host "Enter the Fabric Installer Secret or hit enter to accept the default [$defaultSecret]" + Write-Host "" + if(![string]::IsNullOrEmpty($userEnteredFabricInstallerSecret)){ + $fabricInstallerSecret = $userEnteredFabricInstallerSecret + } + + return $fabricInstallerSecret +} + function Invoke-Sql($connectionString, $sql, $parameters=@{}){ $connection = New-Object System.Data.SqlClient.SQLConnection($connectionString) $command = New-Object System.Data.SqlClient.SqlCommand($sql, $connection) @@ -539,4 +551,5 @@ Export-ModuleMember -Function Write-Success Export-ModuleMember -Function Write-Console Export-ModuleMember -Function Test-IsRunAsAdministrator Export-ModuleMember -Function Add-ServiceUserToDiscovery -Export-ModuleMember -Function Invoke-Sql \ No newline at end of file +Export-ModuleMember -Function Invoke-Sql +Export-ModuleMember -Function Read-FabricInstallerSecret \ No newline at end of file From e70df3e5a993d2f336bdd2892ae79fff2f3fd19a Mon Sep 17 00:00:00 2001 From: Brian Smith Date: Wed, 25 Apr 2018 08:47:48 -0400 Subject: [PATCH 432/473] moved Get-ErrorFromResponse from Identity/Auth install scripts for usage in this script --- common/Fabric-Install-Utilities.psm1 | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index 00b9de3..b016c4c 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -499,6 +499,15 @@ function Read-FabricInstallerSecret($defaultSecret) return $fabricInstallerSecret } +function Get-ErrorFromResponse($response) { + $result = $response.GetResponseStream() + $reader = New-Object System.IO.StreamReader($result) + $reader.BaseStream.Position = 0 + $reader.DiscardBufferedData() + $responseBody = $reader.ReadToEnd(); + return $responseBody +} + function Invoke-Sql($connectionString, $sql, $parameters=@{}){ $connection = New-Object System.Data.SqlClient.SQLConnection($connectionString) $command = New-Object System.Data.SqlClient.SqlCommand($sql, $connection) @@ -552,4 +561,5 @@ Export-ModuleMember -Function Write-Console Export-ModuleMember -Function Test-IsRunAsAdministrator Export-ModuleMember -Function Add-ServiceUserToDiscovery Export-ModuleMember -Function Invoke-Sql -Export-ModuleMember -Function Read-FabricInstallerSecret \ No newline at end of file +Export-ModuleMember -Function Read-FabricInstallerSecret +Export-ModuleMember -Function Get-ErrorFromResponse \ No newline at end of file From 154b55648719f0339b0b99e238b5af06f76994d3 Mon Sep 17 00:00:00 2001 From: Brian Smith Date: Wed, 25 Apr 2018 09:43:07 -0400 Subject: [PATCH 433/473] reverted function name to prevent breaking changes for script consumers --- common/Fabric-Install-Utilities.psm1 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index b016c4c..653dc08 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -277,7 +277,7 @@ function Get-AccessToken($authUrl, $clientId, $scope, $secret) return $accessTokenResponse.access_token } -function Save-ApiRegistration($authUrl, $body, $accessToken) +function Add-ApiRegistration($authUrl, $body, $accessToken) { $url = "$authUrl/api/apiresource" $headers = @{"Accept" = "application/json"} @@ -311,7 +311,7 @@ function Save-ApiRegistration($authUrl, $body, $accessToken) } } -function Save-ClientRegistration($authUrl, $body, $accessToken) +function Add-ClientRegistration($authUrl, $body, $accessToken) { $url = "$authUrl/api/client" $headers = @{"Accept" = "application/json"} @@ -545,8 +545,8 @@ Export-ModuleMember -function Test-Prerequisite Export-ModuleMember -function Test-PrerequisiteExact Export-ModuleMember -function Get-CouchDbRemoteInstallationStatus Export-ModuleMember -function Get-AccessToken -Export-ModuleMember -function Save-ApiRegistration -Export-ModuleMember -function Save-ClientRegistration +Export-ModuleMember -function Add-ApiRegistration +Export-ModuleMember -function Add-ClientRegistration Export-ModuleMember -function Get-CurrentScriptDirectory Export-ModuleMember -function Get-InstallationSettings Export-ModuleMember -function Add-InstallationSetting From cc68b40d840005787ab8e06a16bd3eabcb637620 Mon Sep 17 00:00:00 2001 From: Imran Qureshi Date: Thu, 26 Apr 2018 12:18:58 -0700 Subject: [PATCH 434/473] add krb5.conf and updated setupkeytab.txt and signintoactivedirectory to use the same code as fabric.docker.interfacengine which works to auth with AD Signed-off-by: Imran Qureshi --- developer/doslibrary.ps1 | 19 ++++++++++------ developer/runengine.ps1 | 4 ++-- krb5.conf | 26 +++++++++++++++++++++ setupkeytab.txt | 45 +++++++++++++++++++++++++++++-------- signintoactivedirectory.txt | 20 ++++++++++++----- 5 files changed, 91 insertions(+), 23 deletions(-) create mode 100644 krb5.conf diff --git a/developer/doslibrary.ps1 b/developer/doslibrary.ps1 index c8e8451..332b8b3 100644 --- a/developer/doslibrary.ps1 +++ b/developer/doslibrary.ps1 @@ -3,7 +3,7 @@ # You can run this by pasting the following in powershell # Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/developer/doslibrary.ps1 | Invoke-Expression; -Write-output "--- doslibrary.ps1 Version 2018.04.09.01 ----" +Write-output "--- doslibrary.ps1 Version 2018.04.24.01 ----" $dpsUrl = "http://localhost/DataProcessingService" $metadataUrl = "http://localhost/MetadataService" @@ -443,6 +443,11 @@ function runAndWaitForDatamart([ValidateNotNull()] $datamartName) { return $Return } +function runSharedTerminologyDataMarts() { + $result = runAndWaitForDatamart -datamartName "Terminology Normalize View" + if ($($result.Status) -ne "Succeeded") {return; } + +} function runSharedDataMarts() { $result = runAndWaitForDatamart -datamartName "SharedPersonSourceProvider" @@ -488,7 +493,7 @@ function runHL7Sourcemart() { Write-Host "Running batch definition $batchdefinitionId for datamart $datamartName id: $datamartId" $(executeBatchAsStreaming -batchdefinitionId $batchdefinitionId).BatchExecutionId } -function runSql([ValidateNotNull()] $sql) { +function runSql([ValidateNotNull()][string] $sql) { # Invoke-Sqlcmd -Query $sql -ConnectionString $connectionString Invoke-Sqlcmd -Query $sql -Database "EdwAdmin" @@ -514,7 +519,7 @@ BEGIN CREATE LOGIN [nodeuser] WITH PASSWORD=N'ILoveNode2017', DEFAULT_DATABASE=[SAM], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=ON, CHECK_POLICY=ON END "@ - Invoke-Sqlcmd -Query $sql -ConnectionString $connectionString -Verbose + runSql -Query $sql -ConnectionString $connectionString -Verbose $sql = @" USE [SAM]; @@ -522,7 +527,7 @@ GO CREATE USER [nodeuser] FOR LOGIN [nodeuser] GO "@ - Invoke-Sqlcmd -Query $sql -ConnectionString $connectionString -Verbose + runSql -sql $sql -Verbose $sql = @" USE [SAM]; @@ -530,7 +535,7 @@ GO exec sp_addrolemember 'db_datareader', 'nodeuser'; GO "@ - Invoke-Sqlcmd -Query $sql -ConnectionString $connectionString -Verbose + runSql -sql $sql -Verbose } function runFabricEHRDocker() { @@ -542,7 +547,7 @@ function startFabricEHRNodeJs() { function showDiscoveryServiceUrls() { $sql = "SELECT [ServiceNM],[ServiceUrl] FROM [EDWAdmin].[CatalystAdmin].[DiscoveryServiceBASE]" - Invoke-Sqlcmd -Query $sql -ConnectionString $connectionString + runSql -sql $sql } function showUserPermissions() { @@ -555,7 +560,7 @@ function showUserPermissions() { ORDER BY ib.IdentityID "@ - $rows = Invoke-Sqlcmd -Query $sql -ConnectionString $connectionString + $rows = runSql -sql $sql foreach ($row in $rows) { Write-Host $row diff --git a/developer/runengine.ps1 b/developer/runengine.ps1 index b3adce7..700daa4 100644 --- a/developer/runengine.ps1 +++ b/developer/runengine.ps1 @@ -6,8 +6,8 @@ $GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -Invoke-WebRequest -useb ${GITHUB_URL}/developer/doslibrary.ps1 | Invoke-Expression; -# Get-Content ./developer/doslibrary.ps1 -Raw | Invoke-Expression; +# Invoke-WebRequest -useb ${GITHUB_URL}/developer/doslibrary.ps1 | Invoke-Expression; +Get-Content ./developer/doslibrary.ps1 -Raw | Invoke-Expression; Write-output "--- runengine.ps1 Version 2018.03.14.01 ----" diff --git a/krb5.conf b/krb5.conf new file mode 100644 index 0000000..8ed9029 --- /dev/null +++ b/krb5.conf @@ -0,0 +1,26 @@ +# Configuration snippets may be placed in this directory as well +includedir /etc/krb5.conf.d/ + +[logging] + default = FILE:/var/log/krb5libs.log + kdc = FILE:/var/log/krb5kdc.log + admin_server = FILE:/var/log/kadmind.log + +[libdefaults] + dns_lookup_realm = false + ticket_lifetime = 24h + renew_lifetime = 7d + forwardable = true + rdns = false + default_realm = $DOMAIN +# default_ccache_name = KEYRING:persistent:%{uid} + +[realms] +$DOMAIN = { + kdc = $server.$domain + admin_server = $server.$domain +} + +[domain_realm] + .$domain = $DOMAIN + $domain = $DOMAIN diff --git a/setupkeytab.txt b/setupkeytab.txt index 98812cd..e478932 100644 --- a/setupkeytab.txt +++ b/setupkeytab.txt @@ -2,17 +2,45 @@ set -e # # This script is meant for quick & easy install via: -# 'curl -sSL https://healthcatalyst.github.io/InstallScripts/setupkeytab.txt | sh -s ' +# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/setupkeytab.txt | sh -s +# e.g., +# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/setupkeytab.txt | sh -s imran.qureshi hqcatalyst.local hcsad1 username="$1" domain="$2" -uppercasedomain=${domain^^} password="$3" +ad_hostname="$4" + +echo "Username: $username" +echo "Domain: $domain" +echo "Domain Controller: $ad_hostname" + +username_lc="${username,,}" +domain_lc="${domain,,}" +domain_uc="${domain^^}" +echo "username_lc: $username_lc" +echo "domain_lc: $domain_lc" +echo "domain_uc: $domain_uc" u="$(whoami)" -echo "Running version 1.01 as: $u" +echo "Running setupkeytab version 2018.04.26.01 as: $u" + +hcfolder="/opt/install" +hckrbconf="${hcfolder}/krb5.conf" +if [[ ! -f "$hckrbconf" ]]; then + echo "$hckrbconf was not found so exiting" + exit 0 +fi + +# find and replace values in config files with parameters +sed -i 's/$domain/'"$domain_lc"'/g' $hckrbconf +sed -i 's/$DOMAIN/'"$domain_uc"'/g' $hckrbconf +sed -i 's/$server/'"$ad_hostname"'/g' $hckrbconf + +cp "$hckrbconf" /etc/krb5.conf usernameplusdomain="$username@$uppercasedomain" +usernameplusdomain="$username_lc@$domain_uc" echo "User name: $usernameplusdomain" @@ -21,16 +49,15 @@ echo "User name: $usernameplusdomain" set -x -# create keytab file +echo "creating keytab file in ${hcfolder}/user.keytab" ktutil < ' +# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/signintoactivedirectory.txt | sh -s +# e.g., +# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/signintoactivedirectory.txt | sh -s imran.qureshi hqcatalyst.local u="$(whoami)" -echo "Running version 1.01 as: $u" +echo "Running signintoactivedirectory version 2018.04.26.01 as: $u" username="$1" domain="$2" -uppercasedomain=${domain^^} -usernameplusdomain="$username@$uppercasedomain" +username_lc="${username,,}" +domain_lc="${domain,,}" +domain_uc="${domain^^}" +usernameplusdomain="$username_lc@$domain_uc" + +hcfolder="/opt/install" set -x -kinit -kt user.keytab $usernameplusdomain -V +echo "running kinit to generate the kerberos token from ${hcfolder}/user.keytab" +kinit $usernameplusdomain -k -t ${hcfolder}/user.keytab -V + +echo "listing current kerberos tokens" +klist set +x From ab5c8a6741d92a08137a647948c3ad4afb281c5c Mon Sep 17 00:00:00 2001 From: Imran Qureshi Date: Thu, 26 Apr 2018 12:20:26 -0700 Subject: [PATCH 435/473] make sure the needed pacakges are installed Signed-off-by: Imran Qureshi --- setupkeytab.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/setupkeytab.txt b/setupkeytab.txt index e478932..5452c96 100644 --- a/setupkeytab.txt +++ b/setupkeytab.txt @@ -25,6 +25,9 @@ echo "domain_uc: $domain_uc" u="$(whoami)" echo "Running setupkeytab version 2018.04.26.01 as: $u" +echo "making sure the needed packages are install" +yum install -y wget krb5-libs krb5-workstation ntp rsync; yum clean all + hcfolder="/opt/install" hckrbconf="${hcfolder}/krb5.conf" if [[ ! -f "$hckrbconf" ]]; then From 0e99ebc890f70967a0a57e20232b421d8a75a65a Mon Sep 17 00:00:00 2001 From: Imran Qureshi Date: Thu, 26 Apr 2018 12:36:55 -0700 Subject: [PATCH 436/473] update the keytab files Signed-off-by: Imran Qureshi --- setupkeytab.txt | 13 ++++++------- signintoactivedirectory.txt | 11 ++++++++--- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/setupkeytab.txt b/setupkeytab.txt index 5452c96..5a12b8f 100644 --- a/setupkeytab.txt +++ b/setupkeytab.txt @@ -2,9 +2,12 @@ set -e # # This script is meant for quick & easy install via: -# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/setupkeytab.txt | sh -s +# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/setupkeytab.txt | sudo sh -s # e.g., -# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/setupkeytab.txt | sh -s imran.qureshi hqcatalyst.local hcsad1 +# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/setupkeytab.txt | sudo sh -s imran.qureshi hqcatalyst.local hcsad1 + +u="$(whoami)" +echo "Running setupkeytab version 2018.04.26.01 as: $u" username="$1" domain="$2" @@ -22,9 +25,6 @@ echo "username_lc: $username_lc" echo "domain_lc: $domain_lc" echo "domain_uc: $domain_uc" -u="$(whoami)" -echo "Running setupkeytab version 2018.04.26.01 as: $u" - echo "making sure the needed packages are install" yum install -y wget krb5-libs krb5-workstation ntp rsync; yum clean all @@ -42,10 +42,9 @@ sed -i 's/$server/'"$ad_hostname"'/g' $hckrbconf cp "$hckrbconf" /etc/krb5.conf -usernameplusdomain="$username@$uppercasedomain" usernameplusdomain="$username_lc@$domain_uc" -echo "User name: $usernameplusdomain" +echo "User name and domain: $usernameplusdomain" # sync clock with domain controller # ntpdate $domain diff --git a/signintoactivedirectory.txt b/signintoactivedirectory.txt index a595113..5e15210 100644 --- a/signintoactivedirectory.txt +++ b/signintoactivedirectory.txt @@ -2,12 +2,12 @@ set -e # # This script is meant for quick & easy install via: -# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/signintoactivedirectory.txt | sh -s +# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/signintoactivedirectory.txt | sudo sh -s # e.g., -# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/signintoactivedirectory.txt | sh -s imran.qureshi hqcatalyst.local +# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/signintoactivedirectory.txt | sudo sh -s imran.qureshi hqcatalyst.local u="$(whoami)" -echo "Running signintoactivedirectory version 2018.04.26.01 as: $u" +echo "Running signintoactivedirectory version 2018.04.26.02 as: $u" username="$1" domain="$2" @@ -16,6 +16,11 @@ domain_lc="${domain,,}" domain_uc="${domain^^}" usernameplusdomain="$username_lc@$domain_uc" +echo "username_lc: $username_lc" +echo "domain_lc: $domain_lc" +echo "domain_uc: $domain_uc" +echo "User name and domain: $usernameplusdomain" + hcfolder="/opt/install" set -x From 811d9a9dce009a9f65328c9e3990ee09923cd1b4 Mon Sep 17 00:00:00 2001 From: Imran Qureshi Date: Fri, 27 Apr 2018 08:50:41 -0700 Subject: [PATCH 437/473] fix testsql.txt Signed-off-by: Imran Qureshi --- setupkeytab.txt | 2 +- testsql.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/setupkeytab.txt b/setupkeytab.txt index 5a12b8f..bc07e5d 100644 --- a/setupkeytab.txt +++ b/setupkeytab.txt @@ -26,7 +26,7 @@ echo "domain_lc: $domain_lc" echo "domain_uc: $domain_uc" echo "making sure the needed packages are install" -yum install -y wget krb5-libs krb5-workstation ntp rsync; yum clean all +yum install -y krb5-libs krb5-workstation ntp rsync; yum clean all hcfolder="/opt/install" hckrbconf="${hcfolder}/krb5.conf" diff --git a/testsql.txt b/testsql.txt index 88b5127..efe35c6 100644 --- a/testsql.txt +++ b/testsql.txt @@ -11,4 +11,4 @@ servername="$1" /opt/mssql-tools/bin/sqlcmd -S $servername -Q 'SET NOCOUNT ON; SELECT SUSER_NAME()' -h-1 -/opt/mssql-tools/bin/sqlcmd -S $servername -Q 'SET NOCOUNT ON;select * from sys.databases' -h-1 +/opt/mssql-tools/bin/sqlcmd -S $servername -Q 'SET NOCOUNT ON;select name from sys.databases' -h-1 From 67e185d51aa5555509f6da090616906b138e2f33 Mon Sep 17 00:00:00 2001 From: "michael.vidal" Date: Fri, 27 Apr 2018 16:08:37 -0400 Subject: [PATCH 438/473] Improved error messaging when adding/updating client and api registrations. --- common/Fabric-Install-Utilities.psm1 | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index 653dc08..4970255 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -305,7 +305,12 @@ function Add-ApiRegistration($authUrl, $body, $accessToken) } } else { - Write-Error "Could not register API $($apiResourceObject.name) with Fabric.Identity, halting installation." + $error = "Unknown error." + $exception = $_.Exception + if($exception -ne $null -and $exception.Response -ne $null){ + $error = Get-ErrorFromResponse -response $exception.Response + } + Write-Error "There was an error registering API $($apiResourceObject.clientName) with Fabric.Identity: $error, halting installation." throw $exception } } @@ -340,7 +345,12 @@ function Add-ClientRegistration($authUrl, $body, $accessToken) } } else { - Write-Error "Could not register client $($clientObject.clientName) with Fabric.Identity, halting installation." + $error = "Unknown error." + $exception = $_.Exception + if($exception -ne $null -and $exception.Response -ne $null){ + $error = Get-ErrorFromResponse -response $exception.Response + } + Write-Error "There was an error registering client $($clientObject.clientName) with Fabric.Identity: $error, halting installation." throw $exception } } From 9f68419ba17528db036196c807e7788f03c51248 Mon Sep 17 00:00:00 2001 From: "michael.vidal" Date: Fri, 27 Apr 2018 16:19:03 -0400 Subject: [PATCH 439/473] Fixed copy paste error. --- common/Fabric-Install-Utilities.psm1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index 4970255..932ff3f 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -310,7 +310,7 @@ function Add-ApiRegistration($authUrl, $body, $accessToken) if($exception -ne $null -and $exception.Response -ne $null){ $error = Get-ErrorFromResponse -response $exception.Response } - Write-Error "There was an error registering API $($apiResourceObject.clientName) with Fabric.Identity: $error, halting installation." + Write-Error "There was an error registering API $($apiResourceObject.name) with Fabric.Identity: $error, halting installation." throw $exception } } From 3dc899be7faefd594b67658ae7f61eab50187f20 Mon Sep 17 00:00:00 2001 From: Imran Qureshi Date: Thu, 3 May 2018 17:39:18 -0700 Subject: [PATCH 440/473] fail the setupkeytab script if there is any error Signed-off-by: Imran Qureshi --- setupkeytab.txt | 7 ++++++- signintoactivedirectory.txt | 7 ++++++- testsql.txt | 7 ++++++- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/setupkeytab.txt b/setupkeytab.txt index bc07e5d..3dc8daa 100644 --- a/setupkeytab.txt +++ b/setupkeytab.txt @@ -1,5 +1,10 @@ #!/bin/sh -set -e +# from http://redsymbol.net/articles/unofficial-bash-strict-mode/ +# set -e option instructs bash to immediately exit if any command [1] has a non-zero exit status +# when set -u is set, a reference to any variable you haven't previously defined - with the exceptions of $* and $@ - is an error, and causes the program to immediately exit +# set -o pipefail: If any command in a pipeline fails, that return code will be used as the return code of the whole pipeline +set -euo pipefail + # # This script is meant for quick & easy install via: # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/setupkeytab.txt | sudo sh -s diff --git a/signintoactivedirectory.txt b/signintoactivedirectory.txt index 5e15210..42a8238 100644 --- a/signintoactivedirectory.txt +++ b/signintoactivedirectory.txt @@ -1,5 +1,10 @@ #!/bin/sh -set -e +# from http://redsymbol.net/articles/unofficial-bash-strict-mode/ +# set -e option instructs bash to immediately exit if any command [1] has a non-zero exit status +# when set -u is set, a reference to any variable you haven't previously defined - with the exceptions of $* and $@ - is an error, and causes the program to immediately exit +# set -o pipefail: If any command in a pipeline fails, that return code will be used as the return code of the whole pipeline +set -euo pipefail + # # This script is meant for quick & easy install via: # curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/signintoactivedirectory.txt | sudo sh -s diff --git a/testsql.txt b/testsql.txt index efe35c6..b3fb941 100644 --- a/testsql.txt +++ b/testsql.txt @@ -1,5 +1,10 @@ #!/bin/sh -set -e +# from http://redsymbol.net/articles/unofficial-bash-strict-mode/ +# set -e option instructs bash to immediately exit if any command [1] has a non-zero exit status +# when set -u is set, a reference to any variable you haven't previously defined - with the exceptions of $* and $@ - is an error, and causes the program to immediately exit +# set -o pipefail: If any command in a pipeline fails, that return code will be used as the return code of the whole pipeline +set -euo pipefail + # # This script is meant for quick & easy install via: # 'curl -sSL https://healthcatalyst.github.io/InstallScripts/testsql.txt | sh -s ' From a48a5dd81dcee1e579f0b75d372380a31c5c2620 Mon Sep 17 00:00:00 2001 From: "michael.vidal" Date: Thu, 10 May 2018 13:05:15 -0400 Subject: [PATCH 441/473] Added a function to help with resetting the fabric-installer secret. --- common/Fabric-Install-Utilities.psm1 | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index 932ff3f..0c3c883 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -509,6 +509,22 @@ function Read-FabricInstallerSecret($defaultSecret) return $fabricInstallerSecret } +function Invoke-ResetFabricInstallerSecret([Parameter(Mandatory=$true)] [string] $identityDbConnectionString){ + $fabricInstallerSecret = [System.Convert]::ToBase64String([guid]::NewGuid().ToByteArray()).Substring(0,16) + Write-Host "New Installer secret: $fabricInstallerSecret" + $sha = [System.Security.Cryptography.SHA256]::Create() + $hashedSecret = [System.Convert]::ToBase64String($sha.ComputeHash([System.Text.Encoding]::UTF8.GetBytes($fabricInstallerSecret))) + $query = "DECLARE @ClientID int; + + SELECT @ClientID = Id FROM Clients WHERE ClientId = 'fabric-installer'; + + UPDATE ClientSecrets + SET Value = @value + WHERE ClientId = @ClientID" + Invoke-Sql -connectionString $identityDbConnectionString -sql $query -parameters @{value=$hashedSecret} | Out-Null + return $fabricInstallerSecret +} + function Get-ErrorFromResponse($response) { $result = $response.GetResponseStream() $reader = New-Object System.IO.StreamReader($result) @@ -572,4 +588,5 @@ Export-ModuleMember -Function Test-IsRunAsAdministrator Export-ModuleMember -Function Add-ServiceUserToDiscovery Export-ModuleMember -Function Invoke-Sql Export-ModuleMember -Function Read-FabricInstallerSecret -Export-ModuleMember -Function Get-ErrorFromResponse \ No newline at end of file +Export-ModuleMember -Function Get-ErrorFromResponse +Export-ModuleMember -Function Invoke-ResetFabricInstallerSecret \ No newline at end of file From 37b84186c1bebd62a8f1e9b25e9b08545e56cc21 Mon Sep 17 00:00:00 2001 From: Imran Qureshi Date: Mon, 21 May 2018 12:35:47 -0700 Subject: [PATCH 442/473] remove the files we've moved to dos.powershell Signed-off-by: Imran Qureshi --- developer/datamart.json | 79 ---- developer/doslibrary.ps1 | 759 ----------------------------------- developer/r-sample.r | 17 - developer/readme.md | 44 -- developer/runengine.ps1 | 117 +----- developer/runr.ps1 | 27 -- developer/sqlprettyprint.ps1 | 151 ------- developer/startengine.ps1 | 7 +- setupkeytab.txt | 2 +- 9 files changed, 3 insertions(+), 1200 deletions(-) delete mode 100644 developer/datamart.json delete mode 100644 developer/doslibrary.ps1 delete mode 100644 developer/r-sample.r delete mode 100644 developer/readme.md delete mode 100644 developer/runr.ps1 delete mode 100644 developer/sqlprettyprint.ps1 diff --git a/developer/datamart.json b/developer/datamart.json deleted file mode 100644 index 912db3a..0000000 --- a/developer/datamart.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "DataMart": { - "Name": "demo", - "DataMartType": "Subject Area", - "Connections": [{ - "Id": -1, - "DataSystemTypeCode": "SQL Server", - "Server": "localhost", - "Database": "SAM", - "SystemName": "EDW" - }], - "Entities": [{ - "Id": -2, - "EntityName": "demoEntity", - "ConnectionId": -1, - "DatabaseName": "SAM", - "SchemaName": "test", - "TableName": "demoEntityBASE", - "Fields": [{ - "Id": -3, - "FieldName": "abc", - "DataType": "int", - "Status": "Active" - }], - "Indexes": [{ - "Id": -4, - "IndexName": "myCoolIndex", - "IsActive": true, - "IndexTypeCode": "Non-Clustered", - "IndexFields": [{ "FieldId": -3 }] - }] - }, - { - "Id": -7, - "EntityName": "dependentEntity", - "ConnectionId": -1, - "DatabaseName": "SAM", - "SchemaName": "test", - "TableName": "dependentEntityBASE", - "Fields": [{ - "Id": -8, - "FieldName": "abc", - "DataType": "int", - "Status": "Active" - }] - } - ], - "Bindings": [{ - "Id": -5, - "Name": "demoBinding1", - "DestinationEntityId": -2, - "SourceConnectionId": -1, - "BindingType": "SQL", - "LoadTypeCode": "Full", - "UserDefinedSql": "SELECT 7 AS abc" - }, - { - "Id": -6, - "Name": "demoBinding2", - "DestinationEntityId": -2, - "SourceConnectionId": -1, - "BindingType": "R", - "LoadTypeCode": "Full", - "UserDefinedSql": "foo", - "Script": "C:\\himss\\sepsis\\test.r" - }, - { - "Id": -9, - "Name": "demoBinding3", - "DestinationEntityId": -5, - "SourceConnectionId": -1, - "BindingType": "SQL", - "LoadTypeCode": "Full", - "UserDefinedSql": "SELECT abc FROM SAM.test.demoEntity", - "SourcedByEntities": [{ "SourceEntityId": -2 }] - } - ] - } -} \ No newline at end of file diff --git a/developer/doslibrary.ps1 b/developer/doslibrary.ps1 deleted file mode 100644 index 332b8b3..0000000 --- a/developer/doslibrary.ps1 +++ /dev/null @@ -1,759 +0,0 @@ - - -# You can run this by pasting the following in powershell -# Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/developer/doslibrary.ps1 | Invoke-Expression; - -Write-output "--- doslibrary.ps1 Version 2018.04.24.01 ----" - -$dpsUrl = "http://localhost/DataProcessingService" -$metadataUrl = "http://localhost/MetadataService" - -$ewSepsisDataMartName = "Early Warning Sepsis Risk" -$ewSepsisEntityName = "EWSSummaryPatientRisk" - -$connectionString = "Server=(local);Database=EdwAdmin;Trusted_Connection=True;" - -# http://localhost/MetadataService/swagger/ui/index#/ -function listdatamarts() { - $api = "${metadataUrl}/v1/DataMarts" - $result = Invoke-Restmethod $api -UseDefaultCredentials - Write-Host "Datamarts" - ForEach ($def in $result.value) { - Write-Host "$($def.Id) $($def.Name)" - } -} - -function getdataMartIDbyName($datamartName) { - [hashtable]$Return = @{} - - $api = "${metadataUrl}/v1/DataMarts" + '?$filter=Name eq ' + "'$datamartName'" - $result = Invoke-Restmethod $api -UseDefaultCredentials - - - $Return.Id = $result.value.Id - $Return.Name = $result.value.Name - - Write-Host "Found datamart id=$($Return.Id) for $datamartName" - - return $Return -} -function downloaddataMartIDbyName([ValidateNotNull()] $datamartName) { - [hashtable]$Return = @{} - - $result = $(getdataMartIDbyName $datamartName) - $datamartId = $result.Id - - $api = "${metadataUrl}/v1/DataMarts($datamartId)" + '?$expand=Entities($expand=SourceBindings)' - $result = Invoke-Restmethod $api -UseDefaultCredentials - - Write-Host $result - $file = "c:\himss\sepsis\mysam.json" - $result | ConvertTo-Json | Out-File $file - - Write-Host "Wrote datamart json to $file" - - # notepad.exe $file - return $Return -} - -# EWSSummaryPatientRisk -# http://localhost/MetadataService/v1/DataMarts(24)/Entities(1427)/SourceBindings - -function getIdForEntity([ValidateNotNull()] $datamartid, [ValidateNotNull()] $entityname) { - [hashtable]$Return = @{} - - $api = "${metadataUrl}/v1/DataMarts($datamartId)/Entities" + '?$filter=EntityName eq ' + "'$entityname'" - $result = Invoke-Restmethod $api -UseDefaultCredentials - - # Write-Host $result - $Return.EntityId = $result.value.Id - return $Return -} - -function getBinding([ValidateNotNull()] $datamartid, [ValidateNotNull()] $entityId) { - # http://localhost/MetadataService/v1/DataMarts(24)/Entities(1427)/SourceBindings - [hashtable]$Return = @{} - - $api = "${metadataUrl}/v1/DataMarts($datamartid)/Entities($entityId)/SourceBindings" + '?$expand=AttributeValues' - $result = Invoke-Restmethod $api -UseDefaultCredentials - - Write-Host "Binding: $($result.value)" - $Return.Binding = $($result.value) - return $Return -} - -function getIdForBinding([ValidateNotNull()] $datamartid, [ValidateNotNull()] $entityId) { - # http://localhost/MetadataService/v1/DataMarts(24)/Entities(1427)/SourceBindings - [hashtable]$Return = @{} - - $api = "${metadataUrl}/v1/DataMarts($datamartid)/Entities($entityId)/SourceBindings" - $result = Invoke-Restmethod $api -UseDefaultCredentials - - Write-Host "Binding: $result.value" - $Return.BindingId = $result.value.Id - return $Return -} - -function updateBindingType([ValidateNotNull()] $datamartid, [ValidateNotNull()] $entityId, [ValidateNotNull()] $bindingId, [ValidateNotNull()] $bindingType) { - # /v1/DataMarts({dataMartId})/Entities({entityId})/SourceBindings({id}) - [hashtable]$Return = @{} - - $api = "${metadataUrl}/v1/DataMarts($datamartid)/Entities($entityId)/SourceBindings($bindingId)" - $body = @{ - BindingType = "$bindingType" - } - $bodyAsJson = $body | ConvertTo-Json - $headerJSON = @{ "content-type" = "application/json;odata=verbose"} - - Write-Host "API: $api" - Write-Host "Body: $bodyAsJson" - - Invoke-RestMethod -Uri $api -UseDefaultCredentials ` - -Headers $headerJSON -Method PATCH ` - -Body $bodyAsJson - - Invoke-Restmethod $api -UseDefaultCredentials - return $Return - -} - -function setAttributeInBinding([ValidateNotNull()] $datamartid, [ValidateNotNull()] $entityId, [ValidateNotNull()] $bindingId, $attributeName, $attributeValue) { - # POST /v1/DataMarts({dataMartId})/Entities({entityId})/SourceBindings({bindingId})/AttributeValues - - # see if binding exists - $api = "${metadataUrl}/v1/DataMarts($datamartid)/Entities($entityId)/SourceBindings($bindingId)/AttributeValues" + '?$filter=AttributeName eq ' + "'$attributeName'" - $result = Invoke-Restmethod $api -UseDefaultCredentials - - $bodyAsJson = "{ - 'AttributeName': '$attributeName', - 'AttributeValue': '$attributeValue' - }" - $headerJSON = @{ "content-type" = "application/json;odata=verbose"} - - # if result is null then add else patch - if ($($result.value) -eq $null) { - Write-Host "Attribute $attributeName does not exist, adding it" - $api = "${metadataUrl}/v1/DataMarts($datamartid)/Entities($entityId)/SourceBindings($bindingId)/AttributeValues" - - Invoke-RestMethod -Uri $api -UseDefaultCredentials ` - -Headers $headerJSON -Method POST ` - -Body $bodyAsJson - } - else { - $attributeId = $($result.value.Id) - Write-Host "Attribute $attributeName already exists with id: $attributeId so patching it" - $api = "${metadataUrl}/v1/DataMarts($datamartid)/Entities($entityId)/SourceBindings($bindingId)/AttributeValues($attributeId)" - - Invoke-RestMethod -Uri $api -UseDefaultCredentials ` - -Headers $headerJSON -Method PATCH ` - -Body $bodyAsJson - } -} - -function setBindingTypeForPatientRisk($bindingType, $scriptFile) { - $datamartName = $ewSepsisDataMartName - $entityname = $ewSepsisEntityName - $result = $(getdataMartIDbyName $datamartName) - $datamartId = $result.Id - - $entityId = $(getIdForEntity $datamartid $entityname).EntityId - $bindingId = $(getIdForBinding $datamartid $entityId).BindingId - - Write-Host "Updating binding type to R" - - setAttributeInBinding $datamartid $entityId $bindingId "Script" $scriptFile - - updateBindingType $datamartid $entityId $bindingId $bindingType - -} -function showBindingForPatientRisk() { - - [hashtable]$Return = @{} - - $datamartName = $ewSepsisDataMartName - $entityname = $ewSepsisEntityName - $result = $(getdataMartIDbyName $datamartName) - $datamartId = $result.Id - - $entityId = $(getIdForEntity $datamartid $entityname).EntityId - # $bindingId = $(getIdForBinding $datamartid $entityId).BindingId - - - - $Return.Binding = $(getBinding $datamartId $entityId).Binding - - return $Return -} - - -function listBatchDefinitions() { - $api = "${dpsUrl}/v1/BatchDefinitions" - $result = Invoke-Restmethod $api -UseDefaultCredentials - # Write-Host $result.value - Write-Host "Batch Definitions" - ForEach ($def in $result.value) { - Write-Host "$($def.Id) $($def.DataMartId) $($def.DataMartName) $($def.LastRunStats) $($def.LastRunDateTime)" - } -} - -function createNewBatchDefinition([ValidateNotNull()] $datamartId, [ValidateNotNull()] $datamartName) { - - [hashtable]$Return = @{} - - # create a new batch definition - $api = "${dpsUrl}/v1/BatchDefinitions" - $body = @{ - Id = -1 - DataMartId = $datamartId - Name = "$datamartName" - Status = "Active" - LoadType = "All" - EmailFrom = "imran.qureshi@healthcatalyst.com" - EmailTo = "imran.qureshi@healthcatalyst.com" - LoggingLevel = "Minimal" - PipelineType = "Batch" - } - # $accessTokenResponse = Invoke-RestMethod -Method Post -Uri $url -Body $body - $result = Invoke-RestMethod -Uri $api -UseDefaultCredentials -Method POST -Body $body - - $batchDefinitionId = $result.Id - Write-Host "batchdefinitionId = $batchDefinitionId" - - $Return.BatchDefinitionId = $batchDefinitionId - return $Return -} - -function getBatchDefinitionForDataMart([ValidateNotNull()] $dataMartId) { - [hashtable]$Return = @{} - - $api = "${dpsUrl}" + '/v1/BatchDefinitions?$filter=DataMartId eq ' + $dataMartId - - $result = Invoke-Restmethod $api -UseDefaultCredentials - # Write-Host $result - - if ($result.value.Count -eq 0) { - # no definitions found - Write-Host "No definitions found" - } - else { - $lastExecution = $($result.value | Sort-Object CreationDateTime -Descending)[0] - $batchDefinitionId = $lastExecution.Id - # Write-Host $lastExecution - Write-Host "batchdefinitionId = $batchDefinitionId" - - $Return.BatchDefinitionId = $batchDefinitionId - } - return $Return -} - -function getLastBatchExecutionForDatamart([ValidateNotNull()] $dataMartId) { - [hashtable]$Return = @{} - - $api = "${dpsUrl}" + '/v1/BatchExecutions?$filter=DataMartId eq ' + $dataMartId - - $result = Invoke-Restmethod $api -UseDefaultCredentials - # Write-Host $result.value - # $batchDefinitionId = $result.value[0].BatchDefinitionId - - $lastExecution = $($result.value | Sort-Object CreationDateTime -Descending)[0] - $batchExecutionId = $lastExecution.Id - $batchDefinitionId = $lastExecution.BatchDefinitionId - $status = $lastExecution.Status - $startDateTime = $lastExecution.StartDateTime - $endDateTime = $lastExecution.EndDateTime - - - # Write-Host $lastExecution - Write-Host "batchExecutionId: $batchExecutionId" - Write-Host "batchdefinitionId = $batchDefinitionId" - Write-Host "Status: $status" - Write-Host "Start: $startDateTime" - Write-Host "End: $endDateTime" - - $Return.BatchExecutionId = $batchExecutionId - $Return.BatchDefinitionId = $batchDefinitionId - $Return.Status = $status - $Return.StartDateTime = $startDateTime - $Return.EndDateTime = $endDateTime - return $Return -} - -function getBatchExecution([ValidateNotNull()] $batchExecutionId) { - [hashtable]$Return = @{} - - $api = "${dpsUrl}/v1/BatchExecutions($batchExecutionId)" - - $result = Invoke-Restmethod $api -UseDefaultCredentials - # Write-Host $result - # $batchDefinitionId = $result.value[0].BatchDefinitionId - - $lastExecution = $($result) - $batchDefinitionId = $lastExecution.BatchDefinitionId - $status = $lastExecution.Status - $startDateTime = $lastExecution.StartDateTime - $endDateTime = $lastExecution.EndDateTime - - # Write-Host $lastExecution - # Write-Host "batchdefinitionId = $batchDefinitionId" - # Write-Host "Status: $status" - # Write-Host "Start: $startDateTime" - # Write-Host "End: $endDateTime" - - $Return.BatchDefinitionId = $batchDefinitionId - $Return.Status = $status - $Return.StartDateTime = $startDateTime - $Return.EndDateTime = $endDateTime - return $Return -} - -function waitForBatchExecution([ValidateNotNull()] $batchExecutionId) { - [hashtable]$Return = @{} - - Do { - $result = getBatchExecution($batchExecutionId) - $status = $result.Status - Write-Host "Status: $status" - Start-Sleep -Seconds 1 - } - while ($status -ne "Succeeded" -and $status -ne "Failed" -and $status -ne "Canceled") - - $Return.Status = $status - return $Return -} - -function executeBatch([ValidateNotNull()] $batchdefinitionId) { - [hashtable]$Return = @{} - - #then execute the batch definiton - $api = "${dpsUrl}/v1/BatchExecutions" - $body = @{ - BatchDefinitionId = $batchDefinitionId - Status = "Queued" - PipelineType = "Batch" - LoggingLevel = "Diagnostic" - # LoadType = "All" - # OverrideLoadType = "Full" - } - $result = Invoke-RestMethod -Uri $api -UseDefaultCredentials -Method POST -Body $body - - $batchExecutionId = $result.Id - Write-Host "Batch execution id=$batchExecutionId" - - $Return.BatchExecutionId = $batchExecutionId - return $Return -} -function executeBatchAsStreaming([ValidateNotNull()] $batchdefinitionId) { - [hashtable]$Return = @{} - - #then execute the batch definiton - $api = "${dpsUrl}/v1/BatchExecutions" - $body = @{ - BatchDefinitionId = $batchDefinitionId - Status = "Queued" - PipelineType = "Streaming" - LoggingLevel = "Diagnostic" - # LoadType = "All" - # OverrideLoadType = "Full" - } - $result = Invoke-RestMethod -Uri $api -UseDefaultCredentials -Method POST -Body $body - - $batchExecutionId = $result.Id - Write-Host "Batch execution id=$batchExecutionId" - - $Return.BatchExecutionId = $batchExecutionId - return $Return -} - -function cancelBatch([ValidateNotNull()] $batchExecutionId) { - [hashtable]$Return = @{} - - #then execute the batch definiton - $api = "${dpsUrl}/v1/BatchExecutions($batchExecutionId)" - $body = @{ - Status = "Canceling" - } - $bodyAsJson = $body | ConvertTo-Json - $headerJSON = @{ "content-type" = "application/json;odata=verbose"} - $result = Invoke-RestMethod -Uri $api -UseDefaultCredentials ` - -Headers $headerJSON -Method PATCH ` - -Body $bodyAsJson - - $batchExecutionId = $result.Id - Write-Host "Batch execution id=$batchExecutionId" - - $Return.BatchExecutionId = $batchExecutionId - return $Return -} - -function executeJsonDataMart($file) { - [hashtable]$Return = @{} - - $api = "${dpsUrl}/v1/ExecuteDataMart" - $body = Get-Content $file -Raw - $result = Invoke-RestMethod -Uri $api -UseDefaultCredentials -Method POST -Body $body -ContentType 'application/json' - - $batchExecutionId = $result.value.Id - Write-Host "Batch execution id=$batchExecutionId" - - $Return.BatchExecutionId = $batchExecutionId - return $Return -} - -function createBatchDefinitionForDataMart([ValidateNotNull()] $datamartName) { - - $result = $(getdataMartIDbyName $datamartName) - $datamartId = $result.Id - $batchDefinitionId = $(getBatchDefinitionForDataMart $datamartId).BatchDefinitionId - if ($batchDefinitionId -eq $null) { - Write-Host "Creating batch definition for datamart $datamartName with Id: $datamartId" - createNewBatchDefinition -datamartId $datamartId -datamartName $datamartName - } - else { - Write-Host "Batch definition already found for datamart $datamartName with Id: $datamartId" - } - -} - -function createBatchDefinitions() { - createBatchDefinitionForDataMart -datamartName "HL7Demo" - - createBatchDefinitionForDataMart -datamartName "SharedPersonSourcePatient" - createBatchDefinitionForDataMart -datamartName "SharedPersonSourceProvider" - createBatchDefinitionForDataMart -datamartName "SharedPersonProvider" - createBatchDefinitionForDataMart -datamartName "SharedPersonPatient" - createBatchDefinitionForDataMart -datamartName "SharedClinical" - createBatchDefinitionForDataMart -datamartName "Sepsis" - createBatchDefinitionForDataMart -datamartName "Hospital Account to Facility Account" - - createBatchDefinitionForDataMart -datamartName "Early Warning Sepsis Risk" -} - -function runAndWaitForDatamart([ValidateNotNull()] $datamartName) { - [hashtable]$Return = @{} - - $result = $(getdataMartIDbyName $datamartName) - $datamartId = $result.Id - - $batchdefinitionId = $(getBatchDefinitionForDataMart -dataMartId $datamartId).BatchDefinitionId - Write-Host "Running batch definition $batchdefinitionId for datamart $datamartName id: $datamartId" - $batchExecutionId = $(executeBatch -batchdefinitionId $batchdefinitionId).BatchExecutionId - $status = $(waitForBatchExecution -batchExecutionId $batchExecutionId).Status - - $Return.Status = $status - return $Return -} - -function runSharedTerminologyDataMarts() { - $result = runAndWaitForDatamart -datamartName "Terminology Normalize View" - if ($($result.Status) -ne "Succeeded") {return; } - -} - -function runSharedDataMarts() { - $result = runAndWaitForDatamart -datamartName "SharedPersonSourceProvider" - if ($($result.Status) -ne "Succeeded") {return; } - $result = runAndWaitForDatamart -datamartName "SharedPersonSourcePatient" - if ($($result.Status) -ne "Succeeded") {return; } - $result = runAndWaitForDatamart -datamartName "SharedPersonProvider" - if ($($result.Status) -ne "Succeeded") {return; } - $result = runAndWaitForDatamart -datamartName "SharedPersonPatient" - if ($($result.Status) -ne "Succeeded") {return; } - $result = runAndWaitForDatamart -datamartName "SharedClinical" - if ($($result.Status) -ne "Succeeded") {return; } -} - -function runEarlyWarningSepsis() { - - $StartDateTime = Get-Date - $result = runAndWaitForDatamart -datamartName "Early Warning Sepsis Risk" - $EndDateTime = Get-Date - $duration = $EndDateTime - $StartDateTime - Write-Host "Runtime in seconds: $($duration.TotalSeconds)" - if ($($result.Status) -ne "Succeeded") {return; } -} - -function runSepsis() { - - $result = runAndWaitForDatamart -datamartName "Hospital Account to Facility Account" - if ($($result.Status) -ne "Succeeded") {return; } - - $result = runAndWaitForDatamart -datamartName "Sepsis" - if ($($result.Status) -ne "Succeeded") {return; } - - $result = runAndWaitForDatamart -datamartName "Early Warning Sepsis Risk" - if ($($result.Status) -ne "Succeeded") {return; } -} - -function runHL7Sourcemart() { - $datamartName = "HL7Demo" - $result = $(getdataMartIDbyName $datamartName) - $datamartId = $result.Id - - $batchdefinitionId = $(getBatchDefinitionForDataMart -dataMartId $datamartId).BatchDefinitionId - Write-Host "Running batch definition $batchdefinitionId for datamart $datamartName id: $datamartId" - $(executeBatchAsStreaming -batchdefinitionId $batchdefinitionId).BatchExecutionId -} -function runSql([ValidateNotNull()][string] $sql) { -# Invoke-Sqlcmd -Query $sql -ConnectionString $connectionString - Invoke-Sqlcmd -Query $sql -Database "EdwAdmin" - -} - -function downloadCerts() { - $url = "http://localhost:8081/client/fabricrabbitmquser_client_cert.p12" - Write-Host "Download: $url" - Write-Host "Double-click and install in Local Machine. password: roboconf2" - Write-Host "Open Certificate Management, right click on cert and give everyone access to key" - $url = "http://localhost:8081/client/fabric_ca_cert.p12" -} -function createNodeUserOnSqlDatabase() { - # https://docs.microsoft.com/en-us/powershell/module/sqlserver/invoke-sqlcmd?view=sqlserver-ps - - $sql = - @" -IF NOT EXISTS - (SELECT name - FROM master.sys.server_principals - WHERE name = 'nodeuser') -BEGIN -CREATE LOGIN [nodeuser] WITH PASSWORD=N'ILoveNode2017', DEFAULT_DATABASE=[SAM], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=ON, CHECK_POLICY=ON -END -"@ - runSql -Query $sql -ConnectionString $connectionString -Verbose - $sql = - @" -USE [SAM]; -GO -CREATE USER [nodeuser] FOR LOGIN [nodeuser] -GO -"@ - runSql -sql $sql -Verbose - $sql = - @" -USE [SAM]; -GO -exec sp_addrolemember 'db_datareader', 'nodeuser'; -GO -"@ - runSql -sql $sql -Verbose -} - -function runFabricEHRDocker() { - docker run -d --rm -p 3000:3000 --name fabric.ehr healthcatalyst/fabric.ehr -} - -function startFabricEHRNodeJs() { -} - -function showDiscoveryServiceUrls() { - $sql = "SELECT [ServiceNM],[ServiceUrl] FROM [EDWAdmin].[CatalystAdmin].[DiscoveryServiceBASE]" - runSql -sql $sql -} - -function showUserPermissions() { - $sql = - @" - select ib.IdentityID, ib.IdentityNM, rb.RoleID - from [EDWAdmin].[CatalystAdmin].[IdentityRoleBASE] rb - inner join [EDWAdmin].[CatalystAdmin].[IdentityBASE] ib - on rb.IdentityID = ib.IdentityID - ORDER BY ib.IdentityID -"@ - - $rows = runSql -sql $sql - - foreach ($row in $rows) { - Write-Host $row - } -} - -function setETLObjectAttribute($attributeName, $attributeValueTXT, $attributeValueNBR){ - [hashtable]$Return = @{} - - $sql = -@" -IF NOT EXISTS(SELECT 1 FROM [EDWAdmin].[CatalystAdmin].[ETLObjectAttributeBASE] WHERE [AttributeNM] = '$attributeName') -BEGIN - INSERT INTO [EDWAdmin].[CatalystAdmin].[ETLObjectAttributeBASE]([ObjectID], [ObjectTypeCD],[AttributeNM],[AttributeValueTXT],[AttributeValueNBR]) - VALUES(0, 'System', '$attributeName','$attributeValueTXT',$attributeValueNBR) -END -ELSE -BEGIN - UPDATE [EDWAdmin].[CatalystAdmin].[ETLObjectAttributeBASE] - SET [AttributeValueTXT] = '$attributeValueTXT', [AttributeValueNBR]=$attributeValueNBR - WHERE [AttributeNM] = '$attributeName' -END -"@ - # Write-Host $sql - runSql $sql - - return $Return -} - -function setETLObjectAttributeText($attributeName, $attributeValueTXT){ - [hashtable]$Return = @{} - - setETLObjectAttribute "$attributeName" "$attributeValueTXT" "NULL" - Write-Host "setETLObjectAttributeText: '$attributeName' '$attributeValueTXT'" - - return $Return -} -function setETLObjectAttributeNumber($attributeName, $attributeValueNBR){ - [hashtable]$Return = @{} - - setETLObjectAttribute "$attributeName" "NULL" $attributeValueNBR - Write-Host "setETLObjectAttributeNumber: '$attributeName' $attributeValueNBR" - - return $Return -} - -function listWebSites() { - # https://octopus.com/blog/iis-powershell - Get-Website -} - -Function DeployDACPAC { - # http://www.systemcentercentral.com/deploying-sql-dacpac-t-sql-script-via-powershell/ - param( - [string]$sqlserver = $( throw "Missing required parameter sqlserver"), - [string]$dacpac = $( throw "Missing required parameter dacpac"), - [string]$dbname = $( throw "Missing required parameter dbname") ) - - Write-Host "Deploying the DB with the following settings" - Write-Host "sqlserver: $sqlserver" - Write-Host "dacpac: $dacpac" - Write-Host "dbname: $dbname" - - # load in DAC DLL, This requires config file to support .NET 4.0. - # change file location for a 32-bit OS - #make sure you - add-type -path "C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\Microsoft.SqlServer.Dac.dll" - - # Create a DacServices object, which needs a connection string - $dacsvcs = new-object Microsoft.SqlServer.Dac.DacServices "server=$sqlserver" - - # register event. For info on this cmdlet, see http://technet.microsoft.com/en-us/library/hh849929.aspx - register-objectevent -in $dacsvcs -eventname Message -source "msg" -action { out-host -in $Event.SourceArgs[1].Message.Message } | Out-Null - - # Load dacpac from file & deploy database - $dp = [Microsoft.SqlServer.Dac.DacPackage]::Load($dacpac) - $dacsvcs.Deploy($dp, $dbname, $true) - - # clean up event - unregister-event -source "msg" - -} - -function foo() { - # https://docs.microsoft.com/en-us/sql/relational-databases/data-tier-applications/deploy-a-data-tier-application - - ## Set a SMO Server object to the default instance on the local computer. - Set-Location SQLSERVER:\SQL\localhost\DEFAULT - $srv = get-item . - - ## Open a Common.ServerConnection to the same instance. - $serverconnection = New-Object Microsoft.SqlServer.Management.Common.ServerConnection($srv.ConnectionContext.SqlConnectionObject) - $serverconnection.Connect() - $dacstore = New-Object Microsoft.SqlServer.Management.Dac.DacStore($serverconnection) - - ## Load the DAC package file. - $dacpacPath = "C:\MyDACs\MyApplication.dacpac" - $fileStream = [System.IO.File]::Open($dacpacPath, [System.IO.FileMode]::OpenOrCreate) - $dacType = [Microsoft.SqlServer.Management.Dac.DacType]::Load($fileStream) - - ## Subscribe to the DAC deployment events. - $dacstore.add_DacActionStarted( {Write-Host `n`nStarting at $(get-date) :: $_.Description}) - $dacstore.add_DacActionFinished( {Write-Host Completed at $(get-date) :: $_.Description}) - - ## Deploy the DAC and create the database. - $dacName = "MyApplication" - $evaluateTSPolicy = $true - $deployProperties = New-Object Microsoft.SqlServer.Management.Dac.DatabaseDeploymentProperties($serverconnection, $dacName) - $dacstore.Install($dacType, $deployProperties, $evaluateTSPolicy) - $fileStream.Close() -} - - -# https://blog.ehn.nu/2016/01/downloading-build-artifacts-in-tfs-build-vnext/ -function downloadArtifactFromLatestBuild() { - [CmdletBinding()] - param( - [Parameter(Mandatory = $True)] - [string]$buildDefinitionName, - [Parameter()] - [string]$artifactDestinationFolder = $Env:BUILD_STAGINGDIRECTORY, - [Parameter()] - [switch]$appendBuildNumberVersion = $false - ) - - # buildDefinitionName - # This is a mandatory parameter where you can specify the name of the build definition from which you want to download the artifacts from. - # This script assumes that the build definition is located in the same team project as the build definition in which this script is running. - # If this is not the case, you need to add a parameter for the team project. - Write-Verbose -Verbose ('buildDefinitionName: ' + $buildDefinitionName) - # artifactsDestinationFolder - # This is an optional parameter that let’s you specify the folder where the artifacts should be downloaded to. If you leave it empty, - # it will be downloaded to the staging directory of the build (BUILD_STAGINGDIRECTORY) - Write-Verbose -Verbose ('artifactDestinationFolder: ' + $artifactDestinationFolder) - Write-Verbose -Verbose ('appendBuildNumberVersion: ' + $appendBuildNumberVersion) - - # appendBuildNumberVersion - # A switch that indicates if you want to append the version number of the linked build to the build number of the running build. - # Since you are actually releasing the build version that you are downloading artifacts from, it often makes sense to use this version number for the - # deployment build. The script will extract a 4 digit version (x.x.x.x) from the build number and then append it to the build number of the running build. - $tfsUrl = $Env:SYSTEM_TEAMFOUNDATIONCOLLECTIONURI + $Env:SYSTEM_TEAMPROJECT - - $buildDefinitions = Invoke-RestMethod -Uri ($tfsURL + '/_apis/build/definitions?api-version=2.0&name=' + $buildDefinitionName) -Method GET -UseDefaultCredentials - $buildDefinitionId = ($buildDefinitions.value).id; - - $tfsGetLatestCompletedBuildUrl = $tfsUrl + '/_apis/build/builds?definitions=' + $buildDefinitionId + '&statusFilter=completed&resultFilter=succeeded&$top=1&api-version=2.0' - - $builds = Invoke-RestMethod -Uri $tfsGetLatestCompletedBuildUrl -Method GET -UseDefaultCredentials - $buildId = ($builds.value).id; - - if ( $appendBuildNumberVersion) { - $buildNumber = ($builds.value).buildNumber - $versionRegex = "\d+\.\d+\.\d+\.\d+" - - # Get and validate the version data - $versionData = [regex]::matches($buildNumber, $versionRegex) - switch ($versionData.Count) { - 0 { - Write-Error "Could not find version number data in $buildNumber." - exit 1 - } - 1 {} - default { - Write-Warning "Found more than instance of version data in buildNumber." - Write-Warning "Will assume first instance is version." - } - } - $buildVersionNumber = $versionData[0] - $newBuildNumber = $Env:BUILD_BUILDNUMBER + $buildVersionNumber - Write-Verbose -Verbose "Version: $newBuildNumber" - Write-Verbose -Verbose "##vso[build.updatebuildnumber]$newBuildNumber" - } - - $dropArchiveDestination = Join-path $artifactDestinationFolder "drop.zip" - - - #build URI for buildNr - $buildArtifactsURI = $tfsURL + '/_apis/build/builds/' + $buildId + '/artifacts?api-version=2.0' - - #get artifact downloadPath - $artifactURI = (Invoke-RestMethod -Uri $buildArtifactsURI -Method GET -UseDefaultCredentials).Value.Resource.downloadUrl - - #download ZIP - Invoke-WebRequest -uri $artifactURI -OutFile $dropArchiveDestination -UseDefaultCredentials - - #unzip - Add-Type -assembly 'system.io.compression.filesystem' - [io.compression.zipfile]::ExtractToDirectory($dropArchiveDestination, $artifactDestinationFolder) - - Write-Verbose -Verbose ('Build artifacts extracted into ' + $Env:BUILD_STAGINGDIRECTORY) -} - -function global:startDockerService(){ - # net start "com.docker.service" - # "C:\Program Files\Docker\Docker\Docker for Windows.exe" -} \ No newline at end of file diff --git a/developer/r-sample.r b/developer/r-sample.r deleted file mode 100644 index 77e78c8..0000000 --- a/developer/r-sample.r +++ /dev/null @@ -1,17 +0,0 @@ -# https://www.statmethods.net/management/userfunctions.html -getdata <- function(){ -sourceConnection <- odbcDriverConnect("Driver={SQL Server};Server=localhost;Database=SAM;trusted_connection=yes;") -# select here -odbcClose(sourceConnection) -return(object) -} - -savedata <- function(data){ -destinationConnection <- odbcDriverConnect("Driver={SQL Server};Server=localhost;Database=SAM;trusted_connection=yes;") -sqlSave(destinationConnection, data, "test.demoEntityBASE_load", rownames=FALSE, append=TRUE) -odbcClose(destinationConnection) - -} - -# user code here - diff --git a/developer/readme.md b/developer/readme.md deleted file mode 100644 index bd1968f..0000000 --- a/developer/readme.md +++ /dev/null @@ -1,44 +0,0 @@ -# Powershell functions for DOS -This is not production ready code! This is currently for us to use in our developer machines. - -These are Powershell functions that wrap the REST APIs of MDS and v2 engine. In addition there are functions that do some of the common developer tasks like showing permissions, logs, fixing discovery service url etc. - -To bring up the main menu, just open PowerShell and paste: - -`Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/3/developer/runengine.ps1 | Invoke-Expression;` - -This uses a library of functions that automate some parts of DOS. You can pull in the library only by pasting: - -`Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/3/developer/doslibrary.ps1 | Invoke-Expression;` - -Here's some of the functions available in this Powershell library: - -1. List all datamarts on your system: listdatamarts -2. List all batch definitions in your system: listBatchDefinitions -3. Get ID of DataMart by Name: getdataMartIDbyName -4. Create a batch definition for a datamart: createBatchDefinitionForDataMart -5. Get last batch execution for a datamart: getLastBatchExecutionForDatamart -6. Run a normal batch: executeBatch -7. Run a streaming batch: executeBatchAsStreaming -8. Run and wait for a datamart: runAndWaitForDatamart -9. Chain SAM runs. Call runAndWaitForDatamart for first SAM, then call runAndWaitForDatamart for second SAM etc etc -10. Cancel a batch: cancelBatch -11. Execute a JSON based datamart: executeJsonDataMart -12. Download the json for a data mart: downloaddataMartIDbyName - -Other helpful developer stuff: - -1. Show discovery service urls: showDiscoveryServiceUrls -2. Show user permissions: showDiscoveryServiceUrls -3. set ETLObjectAttributeBASE: setETLObjectAttribute -4. Show websites installed on my machine: listWebSites - -Not completely working yet that you can feel free to make work: - -1. Deploy a dacpac: DeployDACPAC -2. Download latest build from VSO: downloadArtifactFromLatestBuild - -Feel free to just check in additional helpful stuff for developers. - -# Contributing -Branch and do your changes. Submit a pull request to master when ready. diff --git a/developer/runengine.ps1 b/developer/runengine.ps1 index 700daa4..23a7a7b 100644 --- a/developer/runengine.ps1 +++ b/developer/runengine.ps1 @@ -1,118 +1,3 @@ -# You can run this by pasting the following in powershell -# Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/developer/runengine.ps1 | Invoke-Expression; -# Get-Content ./runengine.ps1 -Raw | Invoke-Expression; - -$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" - -# Invoke-WebRequest -useb ${GITHUB_URL}/developer/doslibrary.ps1 | Invoke-Expression; -Get-Content ./developer/doslibrary.ps1 -Raw | Invoke-Expression; - -Write-output "--- runengine.ps1 Version 2018.03.14.01 ----" - -$userinput = "" -while ($userinput -ne "q") { - Write-Host "================ Health Catalyst Developer Tools ================" - Write-Host "0: Setup HIMSS Demo" - Write-Host "1: List data marts" - Write-Host "2: List Batch definitions" - Write-Host "3: Show Discovery Service Urls" - Write-Host "4: Show Permissions" - Write-Host "-----------" - Write-Host "10: Create batch definitions" - Write-Host "11: Run HL7 Source mart" - Write-Host "12: Run Shared Datamarts" - Write-Host "13: Run Shared Datamarts + Sepsis" - Write-Host "14: Run Sepsis and EW Sepsis" - Write-Host "15: Run EW Sepsis Only" - Write-Host "---------------------" - Write-Host "21: Run R datamart" - Write-Host "22: Set binding to R on EWS datamart" - Write-Host "23: Set binding to SQL on EWS datamart" - Write-Host "24: Download EWS datamart as json" - Write-Host "-------- Troubleshooting ------" - Write-Host "31: Download RabbitMq certs" - Write-Host "32: fix discovery service url" - Write-Host "33: Show EWS Risk binding" - Write-Host "34: Set Config for AI" - Write-Host "q: Quit" - $userinput = Read-Host "Please make a selection" - switch ($userinput) { - '0' { - - startDockerService - - runFabricEHRDocker - - createNodeUserOnSqlDatabase - } - '1' { - listdatamarts - } - '2' { - listBatchDefinitions - } - '3' { - showDiscoveryServiceUrls - } - '4' { - showUserPermissions - } - '10' { - createBatchDefinitions - } - '11' { - runHL7Sourcemart - } - '12' { - runSharedDataMarts - } - '13' { - runSharedDataMarts - runSepsis - } - '14' { - runSepsis - runEarlyWarningSepsis - } - '15' { - runEarlyWarningSepsis - } - '21' { - executeJsonDataMart "./datamart.json" - } - '22' { - setBindingTypeForPatientRisk "R" $ewsRScriptFile - } - '23' { - setBindingTypeForPatientRisk "SQL" $ewsRScriptFile - } - '24' { - downloaddataMartIDbyName $ewSepsisDataMartName - } - '31' { - downloadCerts - } - '32' { - runSql "update [EDWAdmin].[CatalystAdmin].[ObjectAttributeBASE] set AttributeValueTXT = 'http://localhost/DiscoveryService/v1' where AttributeNM = 'DiscoveryServiceUri'" - } - '33' { - $result = showBindingForPatientRisk $ewSepsisDataMartName - Write-Host "Binding Type: $($result.Binding.BindingType)" - } - '34' { - setETLObjectAttributeText "PathToRExecutable" "C:\Program Files\R\R-3.4.3\bin\Rscript.exe" - setETLObjectAttributeText "PathToRModelFolder" "C:/himss/R" - } - 'q' { - return - } - } - $userinput = Read-Host -Prompt "Press Enter to continue or q to exit" - if ($userinput -eq "q") { - return - } - [Console]::ResetColor() - Clear-Host -} +Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/dos.powershell/release/runengine.ps1 | Invoke-Expression diff --git a/developer/runr.ps1 b/developer/runr.ps1 deleted file mode 100644 index caa1e94..0000000 --- a/developer/runr.ps1 +++ /dev/null @@ -1,27 +0,0 @@ - - -$username = "hqcatalyst\edw_loader" -$password = "P@ssw0rd" -$credentials = New-Object System.Management.Automation.PSCredential -ArgumentList @($username,(ConvertTo-SecureString -String $password -AsPlainText -Force)) -Start-Process "C:\Program Files\R\R-3.4.3\bin\Rscript.exe" -Credential ($credentials) -ArgumentList "C:\\himss\\healthcareai_predictingScript_sepsisDemo_20180224.r" - -# $pinfo = New-Object System.Diagnostics.ProcessStartInfo -# $pinfo.FileName = "C:\Program Files\R\R-3.4.3\bin\Rscript.exe" -# $pinfo.RedirectStandardError = $true -# $pinfo.RedirectStandardOutput = $true -# # $pinfo.UseShellExecute = $false -# $pinfo.Arguments = "C:\himss\healthcareai_predictingScript_sepsisDemo_20180224.r" -# $pinfo.UserName = $username -# $pinfo.PasswordInClearText = $password -# $p = New-Object System.Diagnostics.Process -# $p.StartInfo = $pinfo -# $p.Start() -# # | Out-Null -# $p.WaitForExit() -# $stdout = $p.StandardOutput.ReadToEnd() -# $stderr = $p.StandardError.ReadToEnd() -# Write-Host "stdout: $stdout" -# Write-Host "stderr: $stderr" -# Write-Host "exit code: " + $p.ExitCode - -# "C:\Program Files\R\R-3.4.3\bin\Rscript.exe" "C:\\himss\\healthcareai_predictingScript_sepsisDemo_20180224.r" diff --git a/developer/sqlprettyprint.ps1 b/developer/sqlprettyprint.ps1 deleted file mode 100644 index dc2a9d5..0000000 --- a/developer/sqlprettyprint.ps1 +++ /dev/null @@ -1,151 +0,0 @@ -<# -.SYNOPSIS - 'Pretty print' a given T-SQL script - -.DESCRIPTION - This script will format T-SQL scripts - -.NOTES - Author : Arvind Shyamsundar (arvindsh@microsoft.com) - -.PARAMETERS - -SourceFile: full file path to the file containing the input T-SQL - -SourceScript: string containing T-SQL - -ReturnParsedFragment: a switch that returns the parsed tokens - -.LIMITATIONS - T-SQL comments are not preserved - -.LINK - http://blogs.msdn.com/b/arvindsh - -.HISTORY - 2013.02.28 First version for blog - 2013.04.05 updated by jake heidt (admin@jheidt.com) to accept strings or files, and to use the pipeline -#> -function Format-Sql -{ - [CmdletBinding()] - param - ( - [parameter(Position=0,Mandatory=$true,ParameterSetName='SourceFromFile',ValueFromPipeline=$true)] - [ValidateNotNull()] - [System.IO.FileInfo[]]$SourceFile=($null), - - [parameter(Position=0,Mandatory=$true,ParameterSetName='SourceFromString',ValueFromPipeline=$true)] - [ValidateNotNull()] - [string[]]$SourceScript=($null), - - [parameter(Position=1)] - [switch]$ReturnParsedFragment=$false - ) - -begin -{ - Write-Debug "Parameter set: $($PSCmdlet.ParameterSetName)" - switch($PSCmdlet.ParameterSetName) - { - SourceFromFile { if($SourceFile.Length -eq 0) { throw "Please specify at least one source file" } } - SourceFromString { if($SourceScript.Length -eq 0) { throw "Please specify at least one sql script" } } - } - $sqldom = [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.TransactSql.ScriptDom") - if($sqldom -eq $null) { throw "Could not load Microsoft.SqlServer.TransactSql.ScriptDom - install SQLDOM.MSI from the latest SQL Server Feature Pack" } -} <# /begin #> - -process -{ - [Microsoft.SqlServer.TransactSql.ScriptDom.TSql110Parser]$parser = New-Object -TypeName Microsoft.SqlServer.TransactSql.ScriptDom.TSql110Parser -ArgumentList @($false) - if($parser -eq $null) { throw "Could not create parser 'TSql110Parser' - install SQLDOM.MSI from the SQL 2012 Feature Pack" } - - [Microsoft.SqlServer.TransactSql.ScriptDom.Sql110ScriptGenerator]$scriptgen = New-Object -TypeName Microsoft.SqlServer.TransactSql.ScriptDom.Sql110ScriptGenerator - - # determine what we are going to loop over - strings or files - switch($PSCmdlet.ParameterSetName) - { - 'SourceFromFile' { $to_enumerate = $SourceFile } - 'SourceFromString' { $to_enumerate = $SourceScript } - } - - [System.IO.TextReader]$reader = $null - - $to_enumerate | %{ - - $iter = $_ # need to store pipeline value to a local, since $_ seems to rebind if the following switch {} - - switch( $PSCmdlet.ParameterSetName ) - { - 'SourceFromFile' - { - if(!(Test-Path -Path "$($iter.FullName)")) - { - Write-Error "File '$($iter.FullName)' does not exist" - continue - } - $reader = [System.IO.StreamReader](New-Object -TypeName 'System.IO.StreamReader' -ArgumentList @($iter)) - } - 'SourceFromString' - { - if([string]::IsNullOrWhiteSpace($iter)) - { - Write-Error "SQL script string is null or blank" - continue - } - $reader = [System.IO.StringReader](New-Object -TypeName 'System.IO.StringReader' -ArgumentList @($iter)) - } - } - - [System.Collections.Generic.IList[Microsoft.SqlServer.TransactSql.ScriptDom.ParseError]]$parser_errors = New-Object -TypeName 'System.Collections.Generic.List[Microsoft.SqlServer.TransactSql.ScriptDom.ParseError]' - - $tsqlfrag = $parser.Parse( $reader, [ref]$parser_errors ) - - $reader.Dispose() - $reader = $null - - $parser_errors | %{ - [Microsoft.SqlServer.TransactSql.ScriptDom.ParseError]$pe = $_ - Write-Error "Error in parsed script: `r`n Line : $($pe.Line)`r`n Column : $($pe.Column)`r`n Message: $($pe.Message)`r`n Number : $($pe.Number)" - } - - $sql_output_writer = New-Object -TypeName 'System.IO.StringWriter' - - $scriptgen.GenerateScript( $tsqlfrag, $sql_output_writer ) - - $final_sql_script = $sql_output_writer.ToString() - - $sql_output_writer.Dispose() - $sql_output_writer = $null - - if($ReturnParsedFragment) { - Write-Output @($final_sql_script, $tsqlfrag) - } else { - Write-Output $final_sql_script - } - } -} <# /process #> - -end -{ - $scriptgen = $null - $parser = $null -} <# /end #> - -} - - -# -# example usage -# - -$sql_statements = @( - 'SELECT 1 FROM [TABLE]' - 'SELECT [email] FROM [users] WHERE [username] = @username AND [passwordhash] = @pwdhash' - 'UPDATE [users] SET [passwordhash] = @pwdhash WHERE [username] = @username' -) -# Format-Sql -SourceScript $sql_statements - -Format-Sql -SourceFile "C:\Temp\test.sql" -# -# $sql, $frag = Format-Sql -SourceScript $example_sql_statement -ReturnParsedFragment -# -# $frag.ScriptTokenStream | ?{ $_.TokenType -ne 'WhiteSpace' } | Select-Object TokenType, Text | ft -AutoSize -Wrap -# \ No newline at end of file diff --git a/developer/startengine.ps1 b/developer/startengine.ps1 index de91106..24b6bf3 100644 --- a/developer/startengine.ps1 +++ b/developer/startengine.ps1 @@ -1,6 +1 @@ - - -$username = "hqcatalyst\edw_loader" -$password = "P@ssw0rd" -$credentials = New-Object System.Management.Automation.PSCredential -ArgumentList @($username,(ConvertTo-SecureString -String $password -AsPlainText -Force)) -Start-Process "C:\Catalyst\git\CAP\Catalyst.DataProcessing\DataProcessingSolution\DataProcessing.Engine.WindowsService\bin\Debug\CatalystDPE.WindowsService.exe" -Credential ($credentials) +Invoke-WebRequest -useb https://raw.githubusercontent.com/HealthCatalyst/dos.powershell/release/startengine.ps1 | Invoke-Expression \ No newline at end of file diff --git a/setupkeytab.txt b/setupkeytab.txt index 3dc8daa..2f26c83 100644 --- a/setupkeytab.txt +++ b/setupkeytab.txt @@ -30,7 +30,7 @@ echo "username_lc: $username_lc" echo "domain_lc: $domain_lc" echo "domain_uc: $domain_uc" -echo "making sure the needed packages are install" +echo "making sure the needed packages are installed" yum install -y krb5-libs krb5-workstation ntp rsync; yum clean all hcfolder="/opt/install" From 2524f3db26ff4ed4dc26439069d6a6278be08af6 Mon Sep 17 00:00:00 2001 From: Ryan Orbaker Date: Tue, 22 May 2018 14:44:20 -0400 Subject: [PATCH 443/473] Update New-AppRoot to handle ACL issues on log directory --- common/Fabric-Install-Utilities.psm1 | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index 0c3c883..603f3d0 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -54,7 +54,12 @@ function New-AppRoot($appDirectory, $iisUser){ $readAccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule($iisUser, "Read", "ContainerInherit,ObjectInherit", "None", "Allow") $acl.AddAccessRule($writeAccessRule) $acl.AddAccessRule($readAccessRule) - Set-Acl -Path $logDirectory $acl + try { + Set-Acl -Path $logDirectory $acl + } catch [System.InvalidOperationException] + { + icacls $logDirectory /t /q /c /reset + } }else{ Write-Console "Log directory: $logDirectory exisits" } From cfc21b039253fbc10d01e2f696c1dc37366910b1 Mon Sep 17 00:00:00 2001 From: Jason Soto Date: Wed, 30 May 2018 09:46:50 -0600 Subject: [PATCH 444/473] Reorder ACL if an issue occurs trying to add/set an ACL during log setup --- common/Fabric-Install-Utilities.psm1 | 55 ++++++++++++++++++++++++++-- 1 file changed, 52 insertions(+), 3 deletions(-) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index 603f3d0..ee1f624 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -52,13 +52,31 @@ function New-AppRoot($appDirectory, $iisUser){ $acl = (Get-Item $logDirectory).GetAccessControl('Access') $writeAccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule($iisUser, "Write", "ContainerInherit,ObjectInherit", "None", "Allow") $readAccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule($iisUser, "Read", "ContainerInherit,ObjectInherit", "None", "Allow") - $acl.AddAccessRule($writeAccessRule) - $acl.AddAccessRule($readAccessRule) + + try { + $acl.AddAccessRule($writeAccessRule) + } catch [System.InvalidOperationException] + { + # Attempt to fix parent identity directory before log directory + RepairAclCanonicalOrder(Get-Acl $appDirectory) + RepairAclCanonicalOrder($acl) + $acl.AddAccessRule($writeAccessRule) + } + try { + $acl.AddAccessRule($readAccessRule) + } catch [System.InvalidOperationException] + { + RepairAclCanonicalOrder($acl) + $acl.AddAccessRule($readAccessRule) + } + + try { Set-Acl -Path $logDirectory $acl } catch [System.InvalidOperationException] { - icacls $logDirectory /t /q /c /reset + RepairAclCanonicalOrder($acl) + Set-Acl -Path $logDirectory $acl } }else{ Write-Console "Log directory: $logDirectory exisits" @@ -564,6 +582,37 @@ function Write-Console($message){ Write-Host $message -ForegroundColor Gray } +function RepairAclCanonicalOrder($Acl) { + if ($Acl.AreAccessRulesCanonical) { + return + } + + # Convert ACL to a raw security descriptor: + $RawSD = New-Object System.Security.AccessControl.RawSecurityDescriptor($Acl.Sddl) + + # Create a new, empty DACL + $NewDacl = New-Object System.Security.AccessControl.RawAcl( + [System.Security.AccessControl.RawAcl]::AclRevision, + $RawSD.DiscretionaryAcl.Count # Capacity of ACL + ) + + # Put in reverse canonical order and insert each ACE (I originally had a different method that + # preserved the order as much as it could, but that order isn't preserved later when we put this + # back into a DirectorySecurity object, so I went with this shorter command) + $RawSD.DiscretionaryAcl | Sort-Object @{E={$_.IsInherited}; Descending=$true}, AceQualifier | ForEach-Object { + $NewDacl.InsertAce(0, $_) + } + + # Replace the DACL with the re-ordered one + $RawSD.DiscretionaryAcl = $NewDacl + + # Commit those changes back to the original SD object (but not to disk yet): + $Acl.SetSecurityDescriptorSddlForm($RawSD.GetSddlForm("Access")) + + # Commit changes + $Acl | Set-Acl +} + Export-ModuleMember -function Add-EnvironmentVariable Export-ModuleMember -function New-AppRoot Export-ModuleMember -function New-AppPool From 4f4dd766044d48db07a316941511873ef9e6417f Mon Sep 17 00:00:00 2001 From: Jason Soto Date: Wed, 30 May 2018 09:55:35 -0600 Subject: [PATCH 445/473] Spacing --- common/Fabric-Install-Utilities.psm1 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index ee1f624..0fa93e8 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -54,21 +54,21 @@ function New-AppRoot($appDirectory, $iisUser){ $readAccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule($iisUser, "Read", "ContainerInherit,ObjectInherit", "None", "Allow") try { - $acl.AddAccessRule($writeAccessRule) + $acl.AddAccessRule($writeAccessRule) } catch [System.InvalidOperationException] { # Attempt to fix parent identity directory before log directory RepairAclCanonicalOrder(Get-Acl $appDirectory) RepairAclCanonicalOrder($acl) - $acl.AddAccessRule($writeAccessRule) + $acl.AddAccessRule($writeAccessRule) } try { - $acl.AddAccessRule($readAccessRule) + $acl.AddAccessRule($readAccessRule) } catch [System.InvalidOperationException] { RepairAclCanonicalOrder($acl) - $acl.AddAccessRule($readAccessRule) + $acl.AddAccessRule($readAccessRule) } try { From 914f53731d6f5ab9014f624e250a00d41a687546 Mon Sep 17 00:00:00 2001 From: Jason Soto Date: Fri, 1 Jun 2018 12:51:52 -0600 Subject: [PATCH 446/473] Always overwrite web.config and get new api secret to write to web.config --- common/Fabric-Install-Utilities.psm1 | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index 0fa93e8..e83e2bc 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -158,9 +158,6 @@ function Publish-WebSite($zipPackage, $appDirectory, $appName, $overwriteWebConf } if(!(Test-IsDirectory $itemTargetFilePath)){ - if($itemTargetFilePath.EndsWith("web.config")){ - $overwrite = $overwriteWebConfig - } try{ Write-Console "......Extracting $itemTargetFilePath..." [System.IO.Compression.ZipFileExtensions]::ExtractToFile($item, $itemTargetFilePath, $overwrite) @@ -318,8 +315,11 @@ function Add-ApiRegistration($authUrl, $body, $accessToken) Write-Success "API Resource $($apiResourceObject.name) is already registered...updating registration settings." Write-Host "" try{ - $registrationResponse = Invoke-RestMethod -Method Put -Uri "$url/$($apiResourceObject.name)" -Body $body -ContentType "application/json" -Headers $headers - return "" + Invoke-RestMethod -Method Put -Uri "$url/$($apiResourceObject.name)" -Body $body -ContentType "application/json" -Headers $headers + + # Reset api secret + $apiResponse = Invoke-RestMethod -Method Post -Uri "$url/$($apiResourceObject.name)/resetPassword" -ContentType "application/json" -Headers $headers + return $apiResponse.apiSecret }catch{ $exception = $_.Exception $error = Get-ErrorFromResponse -response $exception.Response From ebe739fdc55eabc0aa2b9907ead2d4604ceb9018 Mon Sep 17 00:00:00 2001 From: Jason Soto Date: Mon, 4 Jun 2018 14:51:27 -0600 Subject: [PATCH 447/473] Reset client secret --- common/Fabric-Install-Utilities.psm1 | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index e83e2bc..deb0680 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -304,7 +304,7 @@ function Add-ApiRegistration($authUrl, $body, $accessToken) if($accessToken){ $headers.Add("Authorization", "Bearer $accessToken") } - + try{ $registrationResponse = Invoke-RestMethod -Method Post -Uri $url -Body $body -ContentType "application/json" -Headers $headers return $registrationResponse.apiSecret @@ -316,7 +316,7 @@ function Add-ApiRegistration($authUrl, $body, $accessToken) Write-Host "" try{ Invoke-RestMethod -Method Put -Uri "$url/$($apiResourceObject.name)" -Body $body -ContentType "application/json" -Headers $headers - + # Reset api secret $apiResponse = Invoke-RestMethod -Method Post -Uri "$url/$($apiResourceObject.name)/resetPassword" -ContentType "application/json" -Headers $headers return $apiResponse.apiSecret @@ -357,9 +357,12 @@ function Add-ClientRegistration($authUrl, $body, $accessToken) if ($exception -ne $null -and $exception.Response.StatusCode.value__ -eq 409) { Write-Success "Client $($clientObject.clientName) is already registered...updating registration settings." Write-Host "" - try{ + try{ Invoke-RestMethod -Method Put -Uri "$url/$($clientObject.clientId)" -Body $body -ContentType "application/json" -Headers $headers - return "" + + # Reset client secret + $apiResponse = Invoke-RestMethod -Method Post -Uri "$url/$($clientObject.clientId)/resetPassword" -ContentType "application/json" -Headers $headers + return $apiResponse.clientSecret }catch{ $exception = $_.Exception $error = Get-ErrorFromResponse -response $exception.Response From 67d76185e12dc6e96a6282e9f8951a25a20d4583 Mon Sep 17 00:00:00 2001 From: Jason Soto Date: Tue, 19 Jun 2018 16:13:35 -0600 Subject: [PATCH 448/473] Register service and build number with discovery --- common/Fabric-Install-Utilities.psm1 | 57 ++++++++++++++++++++++++++-- 1 file changed, 54 insertions(+), 3 deletions(-) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index deb0680..07f1934 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -46,7 +46,7 @@ function New-AppRoot($appDirectory, $iisUser){ if(!(Test-Path $logDirectory)) { - Write-Console "Creating applciation log directory: $logDirectory." + Write-Console "Creating application log directory: $logDirectory." mkdir $logDirectory | Out-Null Write-Console "Setting Write and Read access for $iisUser on $logDirectory." $acl = (Get-Item $logDirectory).GetAccessControl('Access') @@ -79,7 +79,7 @@ function New-AppRoot($appDirectory, $iisUser){ Set-Acl -Path $logDirectory $acl } }else{ - Write-Console "Log directory: $logDirectory exisits" + Write-Console "Log directory: $logDirectory exists" } } @@ -585,6 +585,55 @@ function Write-Console($message){ Write-Host $message -ForegroundColor Gray } +function Test-DiscoveryHasBuildVersion($discoveryUrl, $credential) { + $response = [xml](Invoke-WebRequest -Method Get -Uri "$discoveryUrl/`$metadata" -Credential $credential -ContentType "application/xml") + + return $response.Edmx.DataServices.Schema.EntityType.Property.Name -contains 'BuildNumber' +} + +function Add-DiscoveryRegistration($discoveryUrl, $serviceUrl, $credential, $buildVersion, $serviceName, $serviceVersion, $friendlyName, $description) { + $hasVersion = Test-DiscoveryHasBuildVersion $discoveryUrl $credential + + if($hasVersion) { + $registrationBody = @{ + ServiceName = $serviceName + Version = $serviceVersion + ServiceUrl = $serviceUrl + DiscoveryType = "Service" + IsHidden = $true + FriendlyName = $friendlyName + Description = $description + BuildNumber = $buildVersion + } + } + else { + $registrationBody = @{ + ServiceName = $serviceName + Version = $serviceVersion + ServiceUrl = $serviceUrl + DiscoveryType = "Service" + IsHidden = $true + FriendlyName = $friendlyName + Description = $description + } + } + + $url = "$discoveryUrl/Services" + $jsonBody = $registrationBody | ConvertTo-Json + try{ + Invoke-RestMethod -Method Post -Uri "$url" -Body "$jsonBody" -ContentType "application/json" -Credential $credential | Out-Null + Write-Success "$friendlyName successfully registered with DiscoveryService." + }catch{ + $exception = $_.Exception + Write-Error "Unable to register $friendlyName with DiscoveryService. Ensure that DiscoveryService is running at $discoveryUrl, that Windows Authentication is enabled for DiscoveryService and Anonymous Authentication is disabled for DiscoveryService. Error $($_.Exception.Message) Halting installation." + if($exception.Response -ne $null){ + $error = Get-ErrorFromResponse -response $exception.Response + Write-Error " There was an error updating the resource: $error." + } + throw + } +} + function RepairAclCanonicalOrder($Acl) { if ($Acl.AreAccessRulesCanonical) { return @@ -646,4 +695,6 @@ Export-ModuleMember -Function Add-ServiceUserToDiscovery Export-ModuleMember -Function Invoke-Sql Export-ModuleMember -Function Read-FabricInstallerSecret Export-ModuleMember -Function Get-ErrorFromResponse -Export-ModuleMember -Function Invoke-ResetFabricInstallerSecret \ No newline at end of file +Export-ModuleMember -Function Invoke-ResetFabricInstallerSecret +Export-ModuleMember -Function Test-DiscoveryHasBuildVersion +Export-ModuleMember -Function Add-DiscoveryRegistration \ No newline at end of file From 66ca531a6c1c60e8d43bf8c8c473a068cc8db57f Mon Sep 17 00:00:00 2001 From: Jason Soto Date: Wed, 20 Jun 2018 09:09:56 -0600 Subject: [PATCH 449/473] discoveryPostBody object instead of passing in all parameters for post --- common/Fabric-Install-Utilities.psm1 | 31 ++++++++++++++-------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index 07f1934..917d592 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -588,33 +588,33 @@ function Write-Console($message){ function Test-DiscoveryHasBuildVersion($discoveryUrl, $credential) { $response = [xml](Invoke-WebRequest -Method Get -Uri "$discoveryUrl/`$metadata" -Credential $credential -ContentType "application/xml") - return $response.Edmx.DataServices.Schema.EntityType.Property.Name -contains 'BuildNumber' + return $response.Edmx.DataServices.Schema.EntityType.Property.Name -contains 'BuildNumber' } -function Add-DiscoveryRegistration($discoveryUrl, $serviceUrl, $credential, $buildVersion, $serviceName, $serviceVersion, $friendlyName, $description) { +function Add-DiscoveryRegistration($discoveryUrl, $credential, $discoveryPostBody) { $hasVersion = Test-DiscoveryHasBuildVersion $discoveryUrl $credential if($hasVersion) { $registrationBody = @{ - ServiceName = $serviceName - Version = $serviceVersion - ServiceUrl = $serviceUrl + ServiceName = $discoveryPostBody.serviceName + Version = $discoveryPostBody.serviceVersion + ServiceUrl = $discoveryPostBody.serviceUrl DiscoveryType = "Service" IsHidden = $true - FriendlyName = $friendlyName - Description = $description - BuildNumber = $buildVersion + FriendlyName = $discoveryPostBody.friendlyName + Description = $discoveryPostBody.description + BuildNumber = $discoveryPostBody.buildVersion } } else { $registrationBody = @{ - ServiceName = $serviceName - Version = $serviceVersion - ServiceUrl = $serviceUrl + ServiceName = $discoveryPostBody.serviceName + Version = $discoveryPostBody.serviceVersion + ServiceUrl = $discoveryPostBody.serviceUrl DiscoveryType = "Service" IsHidden = $true - FriendlyName = $friendlyName - Description = $description + FriendlyName = $discoveryPostBody.friendlyName + Description = $discoveryPostBody.description } } @@ -622,10 +622,10 @@ function Add-DiscoveryRegistration($discoveryUrl, $serviceUrl, $credential, $bui $jsonBody = $registrationBody | ConvertTo-Json try{ Invoke-RestMethod -Method Post -Uri "$url" -Body "$jsonBody" -ContentType "application/json" -Credential $credential | Out-Null - Write-Success "$friendlyName successfully registered with DiscoveryService." + Write-Success "$discoveryPostBody.friendlyName successfully registered with DiscoveryService." }catch{ $exception = $_.Exception - Write-Error "Unable to register $friendlyName with DiscoveryService. Ensure that DiscoveryService is running at $discoveryUrl, that Windows Authentication is enabled for DiscoveryService and Anonymous Authentication is disabled for DiscoveryService. Error $($_.Exception.Message) Halting installation." + Write-Error "Unable to register $discoveryPostBody.friendlyName with DiscoveryService. Ensure that DiscoveryService is running at $discoveryUrl, that Windows Authentication is enabled for DiscoveryService and Anonymous Authentication is disabled for DiscoveryService. Error $($_.Exception.Message) Halting installation." if($exception.Response -ne $null){ $error = Get-ErrorFromResponse -response $exception.Response Write-Error " There was an error updating the resource: $error." @@ -696,5 +696,4 @@ Export-ModuleMember -Function Invoke-Sql Export-ModuleMember -Function Read-FabricInstallerSecret Export-ModuleMember -Function Get-ErrorFromResponse Export-ModuleMember -Function Invoke-ResetFabricInstallerSecret -Export-ModuleMember -Function Test-DiscoveryHasBuildVersion Export-ModuleMember -Function Add-DiscoveryRegistration \ No newline at end of file From c0c908b25a421af880c68bb522a63e7b6c6deeb3 Mon Sep 17 00:00:00 2001 From: Jason Soto Date: Wed, 20 Jun 2018 11:51:33 -0600 Subject: [PATCH 450/473] Simplify registrationBody setup step --- common/Fabric-Install-Utilities.psm1 | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index 917d592..da90f1e 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -593,9 +593,7 @@ function Test-DiscoveryHasBuildVersion($discoveryUrl, $credential) { function Add-DiscoveryRegistration($discoveryUrl, $credential, $discoveryPostBody) { $hasVersion = Test-DiscoveryHasBuildVersion $discoveryUrl $credential - - if($hasVersion) { - $registrationBody = @{ + $registrationBody = @{ ServiceName = $discoveryPostBody.serviceName Version = $discoveryPostBody.serviceVersion ServiceUrl = $discoveryPostBody.serviceUrl @@ -603,19 +601,10 @@ function Add-DiscoveryRegistration($discoveryUrl, $credential, $discoveryPostBod IsHidden = $true FriendlyName = $discoveryPostBody.friendlyName Description = $discoveryPostBody.description - BuildNumber = $discoveryPostBody.buildVersion - } } - else { - $registrationBody = @{ - ServiceName = $discoveryPostBody.serviceName - Version = $discoveryPostBody.serviceVersion - ServiceUrl = $discoveryPostBody.serviceUrl - DiscoveryType = "Service" - IsHidden = $true - FriendlyName = $discoveryPostBody.friendlyName - Description = $discoveryPostBody.description - } + + if($hasVersion) { + $registrationBody.BuildNumber = $discoveryPostBody.buildVersion } $url = "$discoveryUrl/Services" From 5d93d5b119ae6179246fd78e4718bda9b456e0a7 Mon Sep 17 00:00:00 2001 From: Jason Soto Date: Fri, 22 Jun 2018 13:17:17 -0600 Subject: [PATCH 451/473] Update Test-DiscoveryHasBuildVerison to use Invoke-RestMethod --- common/Fabric-Install-Utilities.psm1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index da90f1e..333a9d2 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -586,7 +586,7 @@ function Write-Console($message){ } function Test-DiscoveryHasBuildVersion($discoveryUrl, $credential) { - $response = [xml](Invoke-WebRequest -Method Get -Uri "$discoveryUrl/`$metadata" -Credential $credential -ContentType "application/xml") + $response = [xml](Invoke-RestMethod -Method Get -Uri "$discoveryUrl/`$metadata" -Credential $credential -ContentType "application/xml") return $response.Edmx.DataServices.Schema.EntityType.Property.Name -contains 'BuildNumber' } From 26ecd44cca065443c2e185618bc3eb9f3e0892c8 Mon Sep 17 00:00:00 2001 From: Jason Soto Date: Sat, 23 Jun 2018 08:53:34 -0600 Subject: [PATCH 452/473] Append v1 to discovery if not exists, print out friendly name correctly --- common/Fabric-Install-Utilities.psm1 | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index 333a9d2..da4013b 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -587,12 +587,16 @@ function Write-Console($message){ function Test-DiscoveryHasBuildVersion($discoveryUrl, $credential) { $response = [xml](Invoke-RestMethod -Method Get -Uri "$discoveryUrl/`$metadata" -Credential $credential -ContentType "application/xml") - + return $response.Edmx.DataServices.Schema.EntityType.Property.Name -contains 'BuildNumber' } function Add-DiscoveryRegistration($discoveryUrl, $credential, $discoveryPostBody) { - $hasVersion = Test-DiscoveryHasBuildVersion $discoveryUrl $credential + # append default /v1 if version does not exist + if($discoveryUrl -notmatch '/v\d$') { + $discoveryUrl = "$discoveryUrl/v1" + } + $registrationBody = @{ ServiceName = $discoveryPostBody.serviceName Version = $discoveryPostBody.serviceVersion @@ -603,15 +607,16 @@ function Add-DiscoveryRegistration($discoveryUrl, $credential, $discoveryPostBod Description = $discoveryPostBody.description } + $hasVersion = Test-DiscoveryHasBuildVersion $discoveryUrl $credential if($hasVersion) { $registrationBody.BuildNumber = $discoveryPostBody.buildVersion } $url = "$discoveryUrl/Services" - $jsonBody = $registrationBody | ConvertTo-Json + $jsonBody = $registrationBody | ConvertTo-Json try{ Invoke-RestMethod -Method Post -Uri "$url" -Body "$jsonBody" -ContentType "application/json" -Credential $credential | Out-Null - Write-Success "$discoveryPostBody.friendlyName successfully registered with DiscoveryService." + Write-Success "$($discoveryPostBody.friendlyName) successfully registered with DiscoveryService." }catch{ $exception = $_.Exception Write-Error "Unable to register $discoveryPostBody.friendlyName with DiscoveryService. Ensure that DiscoveryService is running at $discoveryUrl, that Windows Authentication is enabled for DiscoveryService and Anonymous Authentication is disabled for DiscoveryService. Error $($_.Exception.Message) Halting installation." From 8fc6ed31b00d7475c669c638ab9915fed8ea75dd Mon Sep 17 00:00:00 2001 From: Jason Soto Date: Sat, 23 Jun 2018 13:06:06 -0600 Subject: [PATCH 453/473] Add-DiscoveryRegistration Check for trailing / and large version number --- common/Fabric-Install-Utilities.psm1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index da4013b..fcd6eba 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -593,7 +593,7 @@ function Test-DiscoveryHasBuildVersion($discoveryUrl, $credential) { function Add-DiscoveryRegistration($discoveryUrl, $credential, $discoveryPostBody) { # append default /v1 if version does not exist - if($discoveryUrl -notmatch '/v\d$') { + if($discoveryUrl -notmatch '/v\d+/*$') { $discoveryUrl = "$discoveryUrl/v1" } From 6e1bdd2870cbdc2754015b1220f1e166006b12eb Mon Sep 17 00:00:00 2001 From: Jason Soto Date: Mon, 25 Jun 2018 08:04:30 -0600 Subject: [PATCH 454/473] Move setting versioning to individual install scripts --- common/Fabric-Install-Utilities.psm1 | 5 ----- 1 file changed, 5 deletions(-) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index fcd6eba..37da2b3 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -592,11 +592,6 @@ function Test-DiscoveryHasBuildVersion($discoveryUrl, $credential) { } function Add-DiscoveryRegistration($discoveryUrl, $credential, $discoveryPostBody) { - # append default /v1 if version does not exist - if($discoveryUrl -notmatch '/v\d+/*$') { - $discoveryUrl = "$discoveryUrl/v1" - } - $registrationBody = @{ ServiceName = $discoveryPostBody.serviceName Version = $discoveryPostBody.serviceVersion From 2abcfb25a1a74e890272c8006a7351009a9a0381 Mon Sep 17 00:00:00 2001 From: hckenmiller <39202553+hckenmiller@users.noreply.github.com> Date: Mon, 9 Jul 2018 14:13:55 -0600 Subject: [PATCH 455/473] Update Fabric-Install-Utilities.psm1 --- common/Fabric-Install-Utilities.psm1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index 37da2b3..1aa2877 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -49,7 +49,7 @@ function New-AppRoot($appDirectory, $iisUser){ Write-Console "Creating application log directory: $logDirectory." mkdir $logDirectory | Out-Null Write-Console "Setting Write and Read access for $iisUser on $logDirectory." - $acl = (Get-Item $logDirectory).GetAccessControl('Access') + $acl = Get-Acl $logDirectory $writeAccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule($iisUser, "Write", "ContainerInherit,ObjectInherit", "None", "Allow") $readAccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule($iisUser, "Read", "ContainerInherit,ObjectInherit", "None", "Allow") @@ -685,4 +685,4 @@ Export-ModuleMember -Function Invoke-Sql Export-ModuleMember -Function Read-FabricInstallerSecret Export-ModuleMember -Function Get-ErrorFromResponse Export-ModuleMember -Function Invoke-ResetFabricInstallerSecret -Export-ModuleMember -Function Add-DiscoveryRegistration \ No newline at end of file +Export-ModuleMember -Function Add-DiscoveryRegistration From f1990c90c1fbc87666e0025f0fd1a176aa1d46a6 Mon Sep 17 00:00:00 2001 From: Jason Soto Date: Fri, 27 Jul 2018 13:53:19 -0600 Subject: [PATCH 456/473] Add-ClientRegistration no secret reset path Add path to not update secret --- common/Fabric-Install-Utilities.psm1 | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index 1aa2877..d9085e6 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -339,7 +339,7 @@ function Add-ApiRegistration($authUrl, $body, $accessToken) } } -function Add-ClientRegistration($authUrl, $body, $accessToken) +function Add-ClientRegistration($authUrl, $body, $accessToken, $shouldResetSecret = $true) { $url = "$authUrl/api/client" $headers = @{"Accept" = "application/json"} @@ -361,8 +361,12 @@ function Add-ClientRegistration($authUrl, $body, $accessToken) Invoke-RestMethod -Method Put -Uri "$url/$($clientObject.clientId)" -Body $body -ContentType "application/json" -Headers $headers # Reset client secret - $apiResponse = Invoke-RestMethod -Method Post -Uri "$url/$($clientObject.clientId)/resetPassword" -ContentType "application/json" -Headers $headers - return $apiResponse.clientSecret + if($shouldResetSecret) { + $apiResponse = Invoke-RestMethod -Method Post -Uri "$url/$($clientObject.clientId)/resetPassword" -ContentType "application/json" -Headers $headers + return $apiResponse.clientSecret + } + + return ""; }catch{ $exception = $_.Exception $error = Get-ErrorFromResponse -response $exception.Response @@ -405,7 +409,7 @@ function Get-InstallationSettings($configSection) $installationSettings.Add($variable.name, $variable.value) } } - + try{ $encryptionCertificateThumbprint = $installationSettings.encryptionCertificateThumbprint $encryptionCertificate = Get-EncryptionCertificate $encryptionCertificateThumbprint @@ -423,7 +427,7 @@ function Get-InstallationSettings($configSection) } $installationSettingsDecrypted.Add($key, $value) } - + return $installationSettingsDecrypted } From 4de5b75ebde34c989dc9edf41f80e4116e7123e0 Mon Sep 17 00:00:00 2001 From: "michael.vidal" Date: Tue, 21 Aug 2018 14:41:12 -0400 Subject: [PATCH 457/473] Added functions to check to see if an app pool exists and if its running as a particular user. --- common/Fabric-Install-Utilities.psm1 | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index d9085e6..126ac52 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -110,6 +110,29 @@ function New-AppPool($appName, $userName, $credential){ Invoke-WaitForWebAppPoolToChangeState -name $appPool.Name -state "Started" } +function Test-AppPoolExistsAndRunsAsUser([string]$appPoolName, [string]$userName){ + if(Test-AppPoolExists -appPoolName $appPoolName){ + $appPool = Get-AppPool -appPoolName $appPoolName + return Test-AppPoolRunsAsUser -appPool $appPool -userName $userName + } + return $false +} + +function Get-AppPool([string]$appPoolName){ + return Get-Item "IIS:\AppPools\$appPoolName" +} + +function Test-AppPoolExists([string]$appPoolName){ + return Test-Path "IIS:\AppPools\$appPoolName" -PathType Container +} + +function Test-AppPoolRunsAsUser([Microsoft.IIs.PowerShell.Framework.ConfigurationElement]$appPool, [string]$userName){ + if($null -ne $appPool -and $null -ne $appPool.processModel){ + return $userName -ieq $appPool.processModel.userName + } + return $false; +} + function New-Site($appName, $portNumber, $appDirectory, $hostHeader){ cd IIS:\Sites @@ -690,3 +713,4 @@ Export-ModuleMember -Function Read-FabricInstallerSecret Export-ModuleMember -Function Get-ErrorFromResponse Export-ModuleMember -Function Invoke-ResetFabricInstallerSecret Export-ModuleMember -Function Add-DiscoveryRegistration +Export-ModuleMember -Function Test-AppPoolExistsAndRunsAsUser From db6862fce87df4730449d58a12649f89c3a761b4 Mon Sep 17 00:00:00 2001 From: "michael.vidal" Date: Tue, 21 Aug 2018 19:29:43 -0400 Subject: [PATCH 458/473] Add the ability to use default credentials with discovery service. --- common/Fabric-Install-Utilities.psm1 | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index 126ac52..26abd05 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -613,7 +613,11 @@ function Write-Console($message){ } function Test-DiscoveryHasBuildVersion($discoveryUrl, $credential) { - $response = [xml](Invoke-RestMethod -Method Get -Uri "$discoveryUrl/`$metadata" -Credential $credential -ContentType "application/xml") + if($null -eq $credential){ + $response = [xml](Invoke-RestMethod -Method Get -Uri "$discoveryUrl/`$metadata" -UseDefaultCredentials -ContentType "application/xml") + }else{ + $response = [xml](Invoke-RestMethod -Method Get -Uri "$discoveryUrl/`$metadata" -Credential $credential -ContentType "application/xml") + } return $response.Edmx.DataServices.Schema.EntityType.Property.Name -contains 'BuildNumber' } @@ -637,7 +641,11 @@ function Add-DiscoveryRegistration($discoveryUrl, $credential, $discoveryPostBod $url = "$discoveryUrl/Services" $jsonBody = $registrationBody | ConvertTo-Json try{ - Invoke-RestMethod -Method Post -Uri "$url" -Body "$jsonBody" -ContentType "application/json" -Credential $credential | Out-Null + if($null -eq $credential){ + Invoke-RestMethod -Method Post -Uri "$url" -Body "$jsonBody" -ContentType "application/json" -UseDefaultCredentials | Out-Null + }else{ + Invoke-RestMethod -Method Post -Uri "$url" -Body "$jsonBody" -ContentType "application/json" -Credential $credential | Out-Null + } Write-Success "$($discoveryPostBody.friendlyName) successfully registered with DiscoveryService." }catch{ $exception = $_.Exception From 5afd194ac0e4cfc5dcfc6018a417871831c6bc08 Mon Sep 17 00:00:00 2001 From: "michael.vidal" Date: Wed, 22 Aug 2018 12:27:15 -0400 Subject: [PATCH 459/473] Added sql based discovery registration. --- common/Fabric-Install-Utilities.psm1 | 87 ++++++++++++++++++++++++---- 1 file changed, 76 insertions(+), 11 deletions(-) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index 26abd05..e72289a 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -613,12 +613,7 @@ function Write-Console($message){ } function Test-DiscoveryHasBuildVersion($discoveryUrl, $credential) { - if($null -eq $credential){ - $response = [xml](Invoke-RestMethod -Method Get -Uri "$discoveryUrl/`$metadata" -UseDefaultCredentials -ContentType "application/xml") - }else{ - $response = [xml](Invoke-RestMethod -Method Get -Uri "$discoveryUrl/`$metadata" -Credential $credential -ContentType "application/xml") - } - + $response = [xml](Invoke-RestMethod -Method Get -Uri "$discoveryUrl/`$metadata" -Credential $credential -ContentType "application/xml") return $response.Edmx.DataServices.Schema.EntityType.Property.Name -contains 'BuildNumber' } @@ -641,11 +636,7 @@ function Add-DiscoveryRegistration($discoveryUrl, $credential, $discoveryPostBod $url = "$discoveryUrl/Services" $jsonBody = $registrationBody | ConvertTo-Json try{ - if($null -eq $credential){ - Invoke-RestMethod -Method Post -Uri "$url" -Body "$jsonBody" -ContentType "application/json" -UseDefaultCredentials | Out-Null - }else{ - Invoke-RestMethod -Method Post -Uri "$url" -Body "$jsonBody" -ContentType "application/json" -Credential $credential | Out-Null - } + Invoke-RestMethod -Method Post -Uri "$url" -Body "$jsonBody" -ContentType "application/json" -Credential $credential | Out-Null Write-Success "$($discoveryPostBody.friendlyName) successfully registered with DiscoveryService." }catch{ $exception = $_.Exception @@ -658,6 +649,79 @@ function Add-DiscoveryRegistration($discoveryUrl, $credential, $discoveryPostBod } } +function Add-DiscoveryRegistrationSql($discoveryPostBody, $connectionString){ + $query = "DECLARE @HiddenFLG bit = 1 + DECLARE @IconTXT varchar(max) = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGwAAABsCAYAAACPZlfNAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAARf0lEQVR4Xu2deYyURRrGXV3dqHHVGHc12XjsJhv/UGM8spt4ZDUeCN73bVSIGo8ooKgIion3hSDHeCHXDMoxHiOKcigiCoo3qMBwDAJeIIjAOAxT+/xqqoZv+pqe7q+756gnedPd31Ff1fvU8b5vVX29XUBAQEB6vPzyyztNnDjxH+PHjz9U34/R58kvvfRSN4TvHCsvLz+Ua7jW3RZQaEyZMmXXcePGHSUiekgGS6ZJlku2igiTjejaen0uc/cO0vfuIvXIUaNG7eoeE5ArysrKdnQE9ZNiZ+lzs1c8MmHCBPPKK6+Yd955x8yaNcvMnTvXfPbZZ+bLL780X3/9tRW+c4xz77//vr2We7g3mpbS3qTPmZK7JUfMmDHjzy4bAZkgZe1QUVFxrBRIC1qNMhG1AvPWW2+Zjz/+2FRXV5s1a9aYP/74w+QK7iUN0iJN0uYZ/nl69irJIFWYo++5557tXfYCPDS+/E0K6y0lLfJKoyV8+OGHZtmyZXmRky1qa2vN0qVL7TMrKyuj5C3UZy997u2y23khJRwoGSqhS7Jd1QcffGBWrlxp6uvrnSqLD579/fff267WtzzlcaNksMg8wGW/82DMmDH7q/BlUkQdynj99dfN/PnzzebNm53K2g42bdpk8/baa6/5VlcrGSbZzxWn40Ld3G4iaoAKaw2IN954w44jW7dudeppuyCP5JU8k3d6BUn/DmthagDvqgIup7CvvvqqWbx4cbsgKhHkedGiRbYMjjhciy6umO0fkyZN2kvjwBgVroEx6vPPPzd1dXWu+O0XGEK4DJRJhDVIRlZVVe3pit0+IaL+J6JWUBPxgX799VdX3I4DykTZKKOkRgQe54rffqBybK8a11dSTw3EiW2P3V+2oGw46ViUKvMWSZ924785w6KSGodl9dNPP7lidXxQVm9NSgfj27xBIgd4X2V2HhmeNm1amzTTCw3cgKlTp/ouci5BAaeetgV1ff9UBqvJKNGCUjq+pQZlnz17tidtsVrbgU5NbQMi6yBlbCUZxApsaGhwWe+8QAdYkY60moqKin87dZUWrmVZsjAuAprjq6++aiJNutrfqa00YMxSc7fdYCArPSKkLZbs49RXXGAN6uHWwKAbDMgM3z2qgs8pKyvbxamxONDz8bOs6Y6BEdAyGNO8ISLdTSiqn6YH9uXBmO6d2RpsLdAVOnOk9XHqLCwIN+lh9TiIndHPyhf4aS5wvEW6PNaptTAgkKsHrSDc1JkiGHHjxx9/9GGspdLn7k698UMPGEtzDhZh/iD2iC4lo5164wXzWUq8gch0cIzzBwHjt99+m1bG1Ey882kuoLucrrAjTpGUCqzccl1jtWRnp+78ocSY1g/+VgEQ8c/uderODyyYUYKbsWw6wkxxWwMz1+hWhG0gcuTUnjuUEKub7BqMgMKANSKulQ13as8NSuBAJVTHSqGOPGNcauBQs9RP+q6rqKjIfd2jEhgK8yzvCigs0LFrZYOd+lsHZkp18yaYD62r8NiyZYuPgKyvrKzcw9GQPURWbxhn1WtAcYCuXSvr7WjIDrppB920CL8rxAuLB+KM+GXS/4JWRfPZ8gPTbEwIKC7YgKHG0lBeXv4fR0fL0A2DIYxdJAHFxYoVK3y3OMjRkRnsPtTFq9mfFea6ig+MDxl8ELZCP//kaEkP9aFHwnCYSS4d0D0cjBs37nBHS3qIWfYU252PAaUBO0HhQHK3oyU9dNEsLJVibFMNSA1vLarxzHC0pAavVtBFm9mkHVA6MN84efJkWthaSfp3i/CaBZoiO+vzxYYNG8ybb75pli9f7o40AkNGFcNs3LjRHWk85qcZxowZY2bOnGlrWSZMnz7d7kMG/lnffPON/R0F6aQ7995775k5c+a4X82B0r799lszadIkM3r0aKvAH374wZ1tBGmSdir55Zdf3FW5AQ7QhxrQIY6eZOhkDy6KI3ZIP3ziiSeaa665xlo+HuzW79atW5Oy165da2644QZz8cUXmyeeeMI8/fTT5rrrrjPnn39+xqUI5513niUeUCl41rXXXmt/R0FvcdJJJ5mhQ4e6I43g+eTjjDPOML///rs72gjyKMfVnHPOOebhhx82Q4YMMXfccYc59dRT7e4UD45fdNFF5sEHH0wSyp8PIrHFHo6eZOik9b+YCc0XZPi0004zN954oxk1apQ72pwwavGdd95pbrnllmYtithlWVmZOffcc5u1xCgSCUOZl156qZ2q8CD9m2++2VxxxRVJhD333HPm/vvvNzfddJNtRVHw7MsuuyxJD3J5zPXXX2/LACDsrrvust/jBi3UEZbeH9PJaYSj4jA4IKxr167mu+++s7UYhxBECWP1ELU/VbySkNiZZ55pu6JUSEXYsGHDzJNPPmmPgZqaGnvd448/3owwykcL/vTTT236PXr0aFqnwrmzzjrLTne0hEIShp4gTDLV0ZMMEbYchzkOQBhKBM8884xtRSglShivFILUdA76rbfemtQyPFIRRjdy9tlnN1W4F154wQwaNMgMHDiwWTos5qTVkR+6QyrGggUL7DmW71GJosMC+SPfXnx+IYyu/LHHHmsmlDcO0PLFyRJHT3OIyZ10ciurouJAlDC6NbqYqqqqZoQx4ENYuumb3r17t4ow0qGLY0MdyxlQJoqPEua7Sbq99evXW3nggQesAN/qo4TxZhzy6cW3egi7+uqr7cb0qDDhGwfcqqraTz75ZEdH0zZMbHw9nX2JVhyIEgawehjEV69e3UTYqlWrrHKwxhKBwmktkJwKqQgDKKtnz572ed4IiRLGUodTTjnFph0ViPjtt99shUrsEjnGOYQ0/blCdokALkRYvazU5LUectR436DtpuJAImHgoYceMn379jWnn356k9GBcrHAErtFajWKpAWkQjrC1q1bZ9Pv169fkzERJYwukjzwPC9UDqxZyg8g4vLLL096Nl3tlVde2VSJCk0YXChPvC7jIEfTNujEMWQYfygOpCIMq4tWhgkOYYAZAcYTaq5qk511ve+++2wt/+ijj+w1qZCOMIApTivGPwOeMH5DZqp0Ifeqq66y3+nCb7vtNnPhhReaF1980RKEVYkVSpfrl6l7YjmXKHH4st43lX/8X0fTNqiF8fZOu4Q4DkDOs88+635tA+MW4wctwQOLkK4MxWLRKYMtOp64Cr4r5VkoyYPxJ+ov4SCz1WfJkiXWEElszYD8DB8+vGmhLNcwHwgpjz76qDUkNJY0G285T1lSSabKli38cm5V5BMcTdugg904GdbNtx3AhSMseSl3IKztISNhcXeJAfkjY5eoE7EaHQH5wxsdakzJ6zt4VTgn4zLrA/JHRrM+bsc5IH94x1m8JL8qQgcJTdXHFZoCBHzxb37++Wf7G0cZ38nH7RJBBgnIesybN8/6ZdwXBUFd3AB/nNggQeZMwAcjLwsXLnRHGkEaLHrhHEIsFZM8OkvAFBCOfKqgOMf8vYmCO5EPfGhKbkJyaAqItGVxBX8B8Tki9VF/DH8G5zMRhH0IwuIvARRxySWXWEc30QllmoNou/eJcLrx3TIBUkgLhzhaAfC3jj/+eBsZwQd85JFHbHwQZ977ZEzZEM6K+o4eBI8JBBDxwGGPytixY91VuQHSRVi1oycZOhnb9Aq1kmgDUQIm+YjHAVodhScSEgUtBoI8CRBHwPj55583/fv3t8c8WksYpEAAzjQxw+h6S09YdIrHxzF9JCUbwlLFQ/MB+mKIEicZp1f4e4tYJjCVlo0TohAI890Dtfv22283gwcPtr8B1zAxGJ3oZGJz5MiRtvuDeCqAR2sJo5tlMpSKyEwykQiPVIRBAj0DkQ1QCsIYRuBC8pSjJxk62Z2LolMLuQBF0joYWwBrInr16tXUFRHSIabod3Qy/hAL9BWFOCMtwYenuDdKZmsJGzBgQFPwF8uLOKRv8Z4wWjFLFOgSiQ9yvc9vtl0iwe2o5OMiMasAFypXd0dPMmTv20Wk+QYuUQpdCl0PSsfIoMAEaQFrPOj+vIFDBB2levgJT+5F6MuZ20K5oDWEcX+XLl2s8vjOQhry5iuTJ4yul8UzzHUx5hLoZZ07yIawESNGJC3E8bPsucCZ9JTrYEdPMnjlqbqyTfkuc2P6gmg7XaEXBnym8D1YHQUpFBgF+ggLaztoARASvR+l+9XIrSGM1s3akmhaPI/uGqTqEgFWIdF7nlHsLpGWzZguLtaItMx/oaULZqqlNXUZrQU1GOUmdquY7BdccEFTuszs0u3xLKwy3/0wWwxhngwPxjwqAsiWMLpcpkgS14X4PNLi0xFGhcJQKQVhkYWk0xwt6aGC85dMSVZctqBrYKVUIlAMRECIB90gBgWWKYA0pu9TrYmgAqBkBuNUhNFiuM8L81hUElyFVHvc+vTpY5fUecIYu5h6oWtkNRWtEj8IQBgz41Sa6DPoMj1hmPHRcwjpRZf4ZQt0DwcirK+jJT104RFcnOtmCEzndAFkTHUWiXowP0VN9kvc+MR3YaxJBGQylmGgsO4fv8q3SloQ6USFMvC8d999116TCFoETjmk0236+3g+x1m+4IExFE3bC+MMrTjVOYRWnwth5Jv8Sw5ztKSHai/bjVbRh1P7AooLKgCVUWTV6GfL242ACLP+mJ/GDygeIhv6Bjo6Woaa8tHc5M3agOLBBXwbxMFRjo6WwYZo3bQQSyW6hDqgsIhYh5is2XWHHmphvWhlqZZRBxQGkSUBPR0N2UM37S3ZiNWX6BMFxA+sSWZKRNg6Wa1/dTS0DiLM7mbJN7YY0DJ87FCSPtjbEmTaH6AEagmThFZWOOA+uZeD1U7I998jRBh/0Gm9/YDCgFlwdCzChji15w4ltJ8S2oT376dDAuIDc3Ru7FoviedvPkRYf2pAWAIXP5hcRbeSll/xkC3ctEt4SXPMIEaJ3yWyFk+ePPkvTt3xQIR1kdjXoAcDJH+gQ2YDRNZWkXayU3O8EGEjab5hOXf++OKLL2xXKJ2OcOqNH1VVVXvqITU04/BXHrmDCVTXFVbL4NjNqbcw0Dh2nGrFFiIgIc7YerBAFYtbOqwjyO7UWljoYX1ozswehzmz7IGusAHQnaSXU2fh4aL543kws6N+5jcgPdARy/vQmXTHApTWRePzxZQpU3bVw+eSgeCfZQZksU/AkTU7dhM+W5SXl/9dmeCPOO0fcwakRmRj3iLJ3k59pYEywL9H1ATSkkHL8mRJ+HO3/ZzaSgv+VNqTRvcYxrRGsiJhp6XS0b+cutoGmBZQxmz3iCHSma1Hyh4xMBbps220rEQoY/sog3PIKGvXO6Ofhp+Fu+PIml3yMasllJWV7aJMTiDDOIgsye4soKyU2ZE1rmTWYGvh/DSca/761g68HTlgTNmIDVJWlbtO5e6lw8X1s+KACnCsCoB1ZCPTcWwUbGugTC7qjlQXLdxUKKgQu0tGi7gGaiBWZBxbcksNyoAV6IK4W1W+EQUP5BYTKhDzadXURPp51oi0R0uSPLMGw03rI4tFWmHms0oNEbaz5F7JBgrLSiGW0OWyw6PYII8sRSPPjijWYNzdbgyLfDBx4sR9RdpwCQO0bXGsMG6LbgB5YkWub1HKc61kiL7Hs2CmPYE/6FThWaxKbbXjARsw2MFRylbH6jDyQF7cGIWskzyV97rBjoDKyso9RBx/4bhAnw0oiD1SbCpkNyK1vJDhLtLmGTyLKI3bn0Vr4m/n50t65rx8uiMD/41/ppOCBklWoDSEWs4uS95uwJjHDs1c92AD7mXrLWMSuyhZ2RxpSUiNnj+QLT+6vP35U6UAipLCDpfy2HM9XcIfx0SVarfQ4gOxpwrF4zLgpDPmIHznGOe4hmu5JzEdkbNGMk3SV78PCyTFACmSl5cdIukhoQWi4CUSjADeeGa70jRC11bvrq2WTNWxp1QhuksO1vfMr1YIiA+8hF/jy74yBg5St0Z3eoIEnw85gWOcEyn7pH0rWkBAQICw3Xb/B+xpzGHxSTPuAAAAAElFTkSuQmCC' + DECLARE @InsertBuildNumberTXT nvarchar(100) = '' + DECLARE @InsertListBuildNumberTXT nvarchar(50) = '' + DECLARE @UpdateBuildNumberTXT nvarchar(100) = '' + DECLARE @InsertOrUpdateService varchar(max) = '' + + IF EXISTS (SELECT * FROM sys.columns WHERE name = 'BuildNumberTXT' AND OBJECT_ID = OBJECT_ID('CatalystAdmin.DiscoveryServiceBASE')) + BEGIN + SET @InsertBuildNumberTXT = ',''' + @BuildNumberTXT + ''''; + SET @InsertListBuildNumberTXT = ',[BuildNumberTXT]'; + SET @UpdateBuildNumberTXT = ',BuildNumberTXT = ''' + @BuildNumberTXT + ''''; + END + + IF EXISTS + ( + SELECT * + FROM [CatalystAdmin].[DiscoveryServiceBASE] + WHERE ServiceNM = @ServiceNM AND ServiceVersion = @ServiceVersion + ) + BEGIN + SET @InsertOrUpdateService = ' + UPDATE [CatalystAdmin].[DiscoveryServiceBASE] + SET [ServiceUrl] = ''' + @ServiceUrl + ''', + DiscoveryTypeCD = ''' + @DiscoveryTypeCD + ''', + HiddenFLG = ' + CAST(@HiddenFLG AS NVARCHAR(1)) + ', + FriendlyNM = ''' + @FriendlyNM + ''', + IconTXT = ''' + @IconTXT + ''', + DescriptionTXT = ''' + @DescriptionTXT + '''' + + @UpdateBuildNumberTXT + ' + WHERE ServiceNM = ''' + @ServiceNM + ''' AND ServiceVersion = ' + CAST(@ServiceVersion AS NVARCHAR(1)) + ';' + END + ELSE + BEGIN + SET @InsertOrUpdateService = ' + INSERT INTO [CatalystAdmin].[DiscoveryServiceBASE] + ([ServiceNM], + [ServiceUrl], + [ServiceVersion], + [DiscoveryTypeCD], + [HiddenFLG], + [FriendlyNM], + [IconTXT], + [DescriptionTXT]' + + @InsertListBuildNumberTXT + ' + ) + VALUES + (''' + + @ServiceNM + ''',''' + + @ServiceUrl + ''',' + + CAST(@ServiceVersion AS NVARCHAR(20)) + ',''' + + @DiscoveryTypeCD + ''',' + + CAST(@HiddenFLG AS NVARCHAR(1)) + ',''' + + @FriendlyNM + ''',''' + + @IconTXT + ''',''' + + @DescriptionTXT + '''' + + @InsertBuildNumberTXT + ' + );' + END + + EXEC(@InsertOrUpdateService);" + + Invoke-Sql -connectionString $connectionString -sql $query ` + -parameters @{ServiceNM=$($discoveryPostBody.serviceName);` + ServiceVersion=$($discoveryPostBody.serviceVersion);` + ServiceUrl=$($discoveryPostBody.serviceUrl);` + DiscoveryTypeCD=$($discoveryPostBody.discoveryType);` + FriendlyNM=$($discoveryPostBody.friendlyName);` + DescriptionTXT=$($discoveryPostBody.description);` + BuildNumberTXT=$($discoveryPostBody.buildVersion)} +} + function RepairAclCanonicalOrder($Acl) { if ($Acl.AreAccessRulesCanonical) { return @@ -722,3 +786,4 @@ Export-ModuleMember -Function Get-ErrorFromResponse Export-ModuleMember -Function Invoke-ResetFabricInstallerSecret Export-ModuleMember -Function Add-DiscoveryRegistration Export-ModuleMember -Function Test-AppPoolExistsAndRunsAsUser +Export-ModuleMember -Function Add-DiscoveryRegistrationSql From 9308affd52353febea04fe3c732447fa4d456469 Mon Sep 17 00:00:00 2001 From: "michael.vidal" Date: Wed, 22 Aug 2018 12:29:00 -0400 Subject: [PATCH 460/473] Reverting changes to API based discovery registration function. --- common/Fabric-Install-Utilities.psm1 | 1 + 1 file changed, 1 insertion(+) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index e72289a..bb17100 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -614,6 +614,7 @@ function Write-Console($message){ function Test-DiscoveryHasBuildVersion($discoveryUrl, $credential) { $response = [xml](Invoke-RestMethod -Method Get -Uri "$discoveryUrl/`$metadata" -Credential $credential -ContentType "application/xml") + return $response.Edmx.DataServices.Schema.EntityType.Property.Name -contains 'BuildNumber' } From bcd555a47c10eef8a7b1ba7ceeae84f0ad4ce924 Mon Sep 17 00:00:00 2001 From: "michael.vidal" Date: Tue, 4 Sep 2018 20:37:41 -0400 Subject: [PATCH 461/473] Allow setting icontxt and hiddden flag but provide a default. --- common/Fabric-Install-Utilities.psm1 | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index bb17100..1f1c2ee 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -651,9 +651,14 @@ function Add-DiscoveryRegistration($discoveryUrl, $credential, $discoveryPostBod } function Add-DiscoveryRegistrationSql($discoveryPostBody, $connectionString){ - $query = "DECLARE @HiddenFLG bit = 1 - DECLARE @IconTXT varchar(max) = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGwAAABsCAYAAACPZlfNAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAARf0lEQVR4Xu2deYyURRrGXV3dqHHVGHc12XjsJhv/UGM8spt4ZDUeCN73bVSIGo8ooKgIion3hSDHeCHXDMoxHiOKcigiCoo3qMBwDAJeIIjAOAxT+/xqqoZv+pqe7q+756gnedPd31Ff1fvU8b5vVX29XUBAQEB6vPzyyztNnDjxH+PHjz9U34/R58kvvfRSN4TvHCsvLz+Ua7jW3RZQaEyZMmXXcePGHSUiekgGS6ZJlku2igiTjejaen0uc/cO0vfuIvXIUaNG7eoeE5ArysrKdnQE9ZNiZ+lzs1c8MmHCBPPKK6+Yd955x8yaNcvMnTvXfPbZZ+bLL780X3/9tRW+c4xz77//vr2We7g3mpbS3qTPmZK7JUfMmDHjzy4bAZkgZe1QUVFxrBRIC1qNMhG1AvPWW2+Zjz/+2FRXV5s1a9aYP/74w+QK7iUN0iJN0uYZ/nl69irJIFWYo++5557tXfYCPDS+/E0K6y0lLfJKoyV8+OGHZtmyZXmRky1qa2vN0qVL7TMrKyuj5C3UZy997u2y23khJRwoGSqhS7Jd1QcffGBWrlxp6uvrnSqLD579/fff267WtzzlcaNksMg8wGW/82DMmDH7q/BlUkQdynj99dfN/PnzzebNm53K2g42bdpk8/baa6/5VlcrGSbZzxWn40Ld3G4iaoAKaw2IN954w44jW7dudeppuyCP5JU8k3d6BUn/DmthagDvqgIup7CvvvqqWbx4cbsgKhHkedGiRbYMjjhciy6umO0fkyZN2kvjwBgVroEx6vPPPzd1dXWu+O0XGEK4DJRJhDVIRlZVVe3pit0+IaL+J6JWUBPxgX799VdX3I4DykTZKKOkRgQe54rffqBybK8a11dSTw3EiW2P3V+2oGw46ViUKvMWSZ924785w6KSGodl9dNPP7lidXxQVm9NSgfj27xBIgd4X2V2HhmeNm1amzTTCw3cgKlTp/ouci5BAaeetgV1ff9UBqvJKNGCUjq+pQZlnz17tidtsVrbgU5NbQMi6yBlbCUZxApsaGhwWe+8QAdYkY60moqKin87dZUWrmVZsjAuAprjq6++aiJNutrfqa00YMxSc7fdYCArPSKkLZbs49RXXGAN6uHWwKAbDMgM3z2qgs8pKyvbxamxONDz8bOs6Y6BEdAyGNO8ISLdTSiqn6YH9uXBmO6d2RpsLdAVOnOk9XHqLCwIN+lh9TiIndHPyhf4aS5wvEW6PNaptTAgkKsHrSDc1JkiGHHjxx9/9GGspdLn7k698UMPGEtzDhZh/iD2iC4lo5164wXzWUq8gch0cIzzBwHjt99+m1bG1Ey882kuoLucrrAjTpGUCqzccl1jtWRnp+78ocSY1g/+VgEQ8c/uderODyyYUYKbsWw6wkxxWwMz1+hWhG0gcuTUnjuUEKub7BqMgMKANSKulQ13as8NSuBAJVTHSqGOPGNcauBQs9RP+q6rqKjIfd2jEhgK8yzvCigs0LFrZYOd+lsHZkp18yaYD62r8NiyZYuPgKyvrKzcw9GQPURWbxhn1WtAcYCuXSvr7WjIDrppB920CL8rxAuLB+KM+GXS/4JWRfPZ8gPTbEwIKC7YgKHG0lBeXv4fR0fL0A2DIYxdJAHFxYoVK3y3OMjRkRnsPtTFq9mfFea6ig+MDxl8ELZCP//kaEkP9aFHwnCYSS4d0D0cjBs37nBHS3qIWfYU252PAaUBO0HhQHK3oyU9dNEsLJVibFMNSA1vLarxzHC0pAavVtBFm9mkHVA6MN84efJkWthaSfp3i/CaBZoiO+vzxYYNG8ybb75pli9f7o40AkNGFcNs3LjRHWk85qcZxowZY2bOnGlrWSZMnz7d7kMG/lnffPON/R0F6aQ7995775k5c+a4X82B0r799lszadIkM3r0aKvAH374wZ1tBGmSdir55Zdf3FW5AQ7QhxrQIY6eZOhkDy6KI3ZIP3ziiSeaa665xlo+HuzW79atW5Oy165da2644QZz8cUXmyeeeMI8/fTT5rrrrjPnn39+xqUI5513niUeUCl41rXXXmt/R0FvcdJJJ5mhQ4e6I43g+eTjjDPOML///rs72gjyKMfVnHPOOebhhx82Q4YMMXfccYc59dRT7e4UD45fdNFF5sEHH0wSyp8PIrHFHo6eZOik9b+YCc0XZPi0004zN954oxk1apQ72pwwavGdd95pbrnllmYtithlWVmZOffcc5u1xCgSCUOZl156qZ2q8CD9m2++2VxxxRVJhD333HPm/vvvNzfddJNtRVHw7MsuuyxJD3J5zPXXX2/LACDsrrvust/jBi3UEZbeH9PJaYSj4jA4IKxr167mu+++s7UYhxBECWP1ELU/VbySkNiZZ55pu6JUSEXYsGHDzJNPPmmPgZqaGnvd448/3owwykcL/vTTT236PXr0aFqnwrmzzjrLTne0hEIShp4gTDLV0ZMMEbYchzkOQBhKBM8884xtRSglShivFILUdA76rbfemtQyPFIRRjdy9tlnN1W4F154wQwaNMgMHDiwWTos5qTVkR+6QyrGggUL7DmW71GJosMC+SPfXnx+IYyu/LHHHmsmlDcO0PLFyRJHT3OIyZ10ciurouJAlDC6NbqYqqqqZoQx4ENYuumb3r17t4ow0qGLY0MdyxlQJoqPEua7Sbq99evXW3nggQesAN/qo4TxZhzy6cW3egi7+uqr7cb0qDDhGwfcqqraTz75ZEdH0zZMbHw9nX2JVhyIEgawehjEV69e3UTYqlWrrHKwxhKBwmktkJwKqQgDKKtnz572ed4IiRLGUodTTjnFph0ViPjtt99shUrsEjnGOYQ0/blCdokALkRYvazU5LUectR436DtpuJAImHgoYceMn379jWnn356k9GBcrHAErtFajWKpAWkQjrC1q1bZ9Pv169fkzERJYwukjzwPC9UDqxZyg8g4vLLL096Nl3tlVde2VSJCk0YXChPvC7jIEfTNujEMWQYfygOpCIMq4tWhgkOYYAZAcYTaq5qk511ve+++2wt/+ijj+w1qZCOMIApTivGPwOeMH5DZqp0Ifeqq66y3+nCb7vtNnPhhReaF1980RKEVYkVSpfrl6l7YjmXKHH4st43lX/8X0fTNqiF8fZOu4Q4DkDOs88+635tA+MW4wctwQOLkK4MxWLRKYMtOp64Cr4r5VkoyYPxJ+ov4SCz1WfJkiXWEElszYD8DB8+vGmhLNcwHwgpjz76qDUkNJY0G285T1lSSabKli38cm5V5BMcTdugg904GdbNtx3AhSMseSl3IKztISNhcXeJAfkjY5eoE7EaHQH5wxsdakzJ6zt4VTgn4zLrA/JHRrM+bsc5IH94x1m8JL8qQgcJTdXHFZoCBHzxb37++Wf7G0cZ38nH7RJBBgnIesybN8/6ZdwXBUFd3AB/nNggQeZMwAcjLwsXLnRHGkEaLHrhHEIsFZM8OkvAFBCOfKqgOMf8vYmCO5EPfGhKbkJyaAqItGVxBX8B8Tki9VF/DH8G5zMRhH0IwuIvARRxySWXWEc30QllmoNou/eJcLrx3TIBUkgLhzhaAfC3jj/+eBsZwQd85JFHbHwQZ977ZEzZEM6K+o4eBI8JBBDxwGGPytixY91VuQHSRVi1oycZOhnb9Aq1kmgDUQIm+YjHAVodhScSEgUtBoI8CRBHwPj55583/fv3t8c8WksYpEAAzjQxw+h6S09YdIrHxzF9JCUbwlLFQ/MB+mKIEicZp1f4e4tYJjCVlo0TohAI890Dtfv22283gwcPtr8B1zAxGJ3oZGJz5MiRtvuDeCqAR2sJo5tlMpSKyEwykQiPVIRBAj0DkQ1QCsIYRuBC8pSjJxk62Z2LolMLuQBF0joYWwBrInr16tXUFRHSIabod3Qy/hAL9BWFOCMtwYenuDdKZmsJGzBgQFPwF8uLOKRv8Z4wWjFLFOgSiQ9yvc9vtl0iwe2o5OMiMasAFypXd0dPMmTv20Wk+QYuUQpdCl0PSsfIoMAEaQFrPOj+vIFDBB2levgJT+5F6MuZ20K5oDWEcX+XLl2s8vjOQhry5iuTJ4yul8UzzHUx5hLoZZ07yIawESNGJC3E8bPsucCZ9JTrYEdPMnjlqbqyTfkuc2P6gmg7XaEXBnym8D1YHQUpFBgF+ggLaztoARASvR+l+9XIrSGM1s3akmhaPI/uGqTqEgFWIdF7nlHsLpGWzZguLtaItMx/oaULZqqlNXUZrQU1GOUmdquY7BdccEFTuszs0u3xLKwy3/0wWwxhngwPxjwqAsiWMLpcpkgS14X4PNLi0xFGhcJQKQVhkYWk0xwt6aGC85dMSVZctqBrYKVUIlAMRECIB90gBgWWKYA0pu9TrYmgAqBkBuNUhNFiuM8L81hUElyFVHvc+vTpY5fUecIYu5h6oWtkNRWtEj8IQBgz41Sa6DPoMj1hmPHRcwjpRZf4ZQt0DwcirK+jJT104RFcnOtmCEzndAFkTHUWiXowP0VN9kvc+MR3YaxJBGQylmGgsO4fv8q3SloQ6USFMvC8d999116TCFoETjmk0236+3g+x1m+4IExFE3bC+MMrTjVOYRWnwth5Jv8Sw5ztKSHai/bjVbRh1P7AooLKgCVUWTV6GfL242ACLP+mJ/GDygeIhv6Bjo6Woaa8tHc5M3agOLBBXwbxMFRjo6WwYZo3bQQSyW6hDqgsIhYh5is2XWHHmphvWhlqZZRBxQGkSUBPR0N2UM37S3ZiNWX6BMFxA+sSWZKRNg6Wa1/dTS0DiLM7mbJN7YY0DJ87FCSPtjbEmTaH6AEagmThFZWOOA+uZeD1U7I998jRBh/0Gm9/YDCgFlwdCzChji15w4ltJ8S2oT376dDAuIDc3Ru7FoviedvPkRYf2pAWAIXP5hcRbeSll/xkC3ctEt4SXPMIEaJ3yWyFk+ePPkvTt3xQIR1kdjXoAcDJH+gQ2YDRNZWkXayU3O8EGEjab5hOXf++OKLL2xXKJ2OcOqNH1VVVXvqITU04/BXHrmDCVTXFVbL4NjNqbcw0Dh2nGrFFiIgIc7YerBAFYtbOqwjyO7UWljoYX1ozswehzmz7IGusAHQnaSXU2fh4aL543kws6N+5jcgPdARy/vQmXTHApTWRePzxZQpU3bVw+eSgeCfZQZksU/AkTU7dhM+W5SXl/9dmeCPOO0fcwakRmRj3iLJ3k59pYEywL9H1ATSkkHL8mRJ+HO3/ZzaSgv+VNqTRvcYxrRGsiJhp6XS0b+cutoGmBZQxmz3iCHSma1Hyh4xMBbps220rEQoY/sog3PIKGvXO6Ofhp+Fu+PIml3yMasllJWV7aJMTiDDOIgsye4soKyU2ZE1rmTWYGvh/DSca/761g68HTlgTNmIDVJWlbtO5e6lw8X1s+KACnCsCoB1ZCPTcWwUbGugTC7qjlQXLdxUKKgQu0tGi7gGaiBWZBxbcksNyoAV6IK4W1W+EQUP5BYTKhDzadXURPp51oi0R0uSPLMGw03rI4tFWmHms0oNEbaz5F7JBgrLSiGW0OWyw6PYII8sRSPPjijWYNzdbgyLfDBx4sR9RdpwCQO0bXGsMG6LbgB5YkWub1HKc61kiL7Hs2CmPYE/6FThWaxKbbXjARsw2MFRylbH6jDyQF7cGIWskzyV97rBjoDKyso9RBx/4bhAnw0oiD1SbCpkNyK1vJDhLtLmGTyLKI3bn0Vr4m/n50t65rx8uiMD/41/ppOCBklWoDSEWs4uS95uwJjHDs1c92AD7mXrLWMSuyhZ2RxpSUiNnj+QLT+6vP35U6UAipLCDpfy2HM9XcIfx0SVarfQ4gOxpwrF4zLgpDPmIHznGOe4hmu5JzEdkbNGMk3SV78PCyTFACmSl5cdIukhoQWi4CUSjADeeGa70jRC11bvrq2WTNWxp1QhuksO1vfMr1YIiA+8hF/jy74yBg5St0Z3eoIEnw85gWOcEyn7pH0rWkBAQICw3Xb/B+xpzGHxSTPuAAAAAElFTkSuQmCC' - DECLARE @InsertBuildNumberTXT nvarchar(100) = '' + if($null -eq $discoveryPostBody.isHidden){ + $discoveryPostBody.isHidden = $true + } + + if($null -eq $discoveryPostBody.iconTxt){ + $discoveryPostBody.iconTxt = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGwAAABsCAYAAACPZlfNAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAARf0lEQVR4Xu2deYyURRrGXV3dqHHVGHc12XjsJhv/UGM8spt4ZDUeCN73bVSIGo8ooKgIion3hSDHeCHXDMoxHiOKcigiCoo3qMBwDAJeIIjAOAxT+/xqqoZv+pqe7q+756gnedPd31Ff1fvU8b5vVX29XUBAQEB6vPzyyztNnDjxH+PHjz9U34/R58kvvfRSN4TvHCsvLz+Ua7jW3RZQaEyZMmXXcePGHSUiekgGS6ZJlku2igiTjejaen0uc/cO0vfuIvXIUaNG7eoeE5ArysrKdnQE9ZNiZ+lzs1c8MmHCBPPKK6+Yd955x8yaNcvMnTvXfPbZZ+bLL780X3/9tRW+c4xz77//vr2We7g3mpbS3qTPmZK7JUfMmDHjzy4bAZkgZe1QUVFxrBRIC1qNMhG1AvPWW2+Zjz/+2FRXV5s1a9aYP/74w+QK7iUN0iJN0uYZ/nl69irJIFWYo++5557tXfYCPDS+/E0K6y0lLfJKoyV8+OGHZtmyZXmRky1qa2vN0qVL7TMrKyuj5C3UZy997u2y23khJRwoGSqhS7Jd1QcffGBWrlxp6uvrnSqLD579/fff267WtzzlcaNksMg8wGW/82DMmDH7q/BlUkQdynj99dfN/PnzzebNm53K2g42bdpk8/baa6/5VlcrGSbZzxWn40Ld3G4iaoAKaw2IN954w44jW7dudeppuyCP5JU8k3d6BUn/DmthagDvqgIup7CvvvqqWbx4cbsgKhHkedGiRbYMjjhciy6umO0fkyZN2kvjwBgVroEx6vPPPzd1dXWu+O0XGEK4DJRJhDVIRlZVVe3pit0+IaL+J6JWUBPxgX799VdX3I4DykTZKKOkRgQe54rffqBybK8a11dSTw3EiW2P3V+2oGw46ViUKvMWSZ924785w6KSGodl9dNPP7lidXxQVm9NSgfj27xBIgd4X2V2HhmeNm1amzTTCw3cgKlTp/ouci5BAaeetgV1ff9UBqvJKNGCUjq+pQZlnz17tidtsVrbgU5NbQMi6yBlbCUZxApsaGhwWe+8QAdYkY60moqKin87dZUWrmVZsjAuAprjq6++aiJNutrfqa00YMxSc7fdYCArPSKkLZbs49RXXGAN6uHWwKAbDMgM3z2qgs8pKyvbxamxONDz8bOs6Y6BEdAyGNO8ISLdTSiqn6YH9uXBmO6d2RpsLdAVOnOk9XHqLCwIN+lh9TiIndHPyhf4aS5wvEW6PNaptTAgkKsHrSDc1JkiGHHjxx9/9GGspdLn7k698UMPGEtzDhZh/iD2iC4lo5164wXzWUq8gch0cIzzBwHjt99+m1bG1Ey882kuoLucrrAjTpGUCqzccl1jtWRnp+78ocSY1g/+VgEQ8c/uderODyyYUYKbsWw6wkxxWwMz1+hWhG0gcuTUnjuUEKub7BqMgMKANSKulQ13as8NSuBAJVTHSqGOPGNcauBQs9RP+q6rqKjIfd2jEhgK8yzvCigs0LFrZYOd+lsHZkp18yaYD62r8NiyZYuPgKyvrKzcw9GQPURWbxhn1WtAcYCuXSvr7WjIDrppB920CL8rxAuLB+KM+GXS/4JWRfPZ8gPTbEwIKC7YgKHG0lBeXv4fR0fL0A2DIYxdJAHFxYoVK3y3OMjRkRnsPtTFq9mfFea6ig+MDxl8ELZCP//kaEkP9aFHwnCYSS4d0D0cjBs37nBHS3qIWfYU252PAaUBO0HhQHK3oyU9dNEsLJVibFMNSA1vLarxzHC0pAavVtBFm9mkHVA6MN84efJkWthaSfp3i/CaBZoiO+vzxYYNG8ybb75pli9f7o40AkNGFcNs3LjRHWk85qcZxowZY2bOnGlrWSZMnz7d7kMG/lnffPON/R0F6aQ7995775k5c+a4X82B0r799lszadIkM3r0aKvAH374wZ1tBGmSdir55Zdf3FW5AQ7QhxrQIY6eZOhkDy6KI3ZIP3ziiSeaa665xlo+HuzW79atW5Oy165da2644QZz8cUXmyeeeMI8/fTT5rrrrjPnn39+xqUI5513niUeUCl41rXXXmt/R0FvcdJJJ5mhQ4e6I43g+eTjjDPOML///rs72gjyKMfVnHPOOebhhx82Q4YMMXfccYc59dRT7e4UD45fdNFF5sEHH0wSyp8PIrHFHo6eZOik9b+YCc0XZPi0004zN954oxk1apQ72pwwavGdd95pbrnllmYtithlWVmZOffcc5u1xCgSCUOZl156qZ2q8CD9m2++2VxxxRVJhD333HPm/vvvNzfddJNtRVHw7MsuuyxJD3J5zPXXX2/LACDsrrvust/jBi3UEZbeH9PJaYSj4jA4IKxr167mu+++s7UYhxBECWP1ELU/VbySkNiZZ55pu6JUSEXYsGHDzJNPPmmPgZqaGnvd448/3owwykcL/vTTT236PXr0aFqnwrmzzjrLTne0hEIShp4gTDLV0ZMMEbYchzkOQBhKBM8884xtRSglShivFILUdA76rbfemtQyPFIRRjdy9tlnN1W4F154wQwaNMgMHDiwWTos5qTVkR+6QyrGggUL7DmW71GJosMC+SPfXnx+IYyu/LHHHmsmlDcO0PLFyRJHT3OIyZ10ciurouJAlDC6NbqYqqqqZoQx4ENYuumb3r17t4ow0qGLY0MdyxlQJoqPEua7Sbq99evXW3nggQesAN/qo4TxZhzy6cW3egi7+uqr7cb0qDDhGwfcqqraTz75ZEdH0zZMbHw9nX2JVhyIEgawehjEV69e3UTYqlWrrHKwxhKBwmktkJwKqQgDKKtnz572ed4IiRLGUodTTjnFph0ViPjtt99shUrsEjnGOYQ0/blCdokALkRYvazU5LUectR436DtpuJAImHgoYceMn379jWnn356k9GBcrHAErtFajWKpAWkQjrC1q1bZ9Pv169fkzERJYwukjzwPC9UDqxZyg8g4vLLL096Nl3tlVde2VSJCk0YXChPvC7jIEfTNujEMWQYfygOpCIMq4tWhgkOYYAZAcYTaq5qk511ve+++2wt/+ijj+w1qZCOMIApTivGPwOeMH5DZqp0Ifeqq66y3+nCb7vtNnPhhReaF1980RKEVYkVSpfrl6l7YjmXKHH4st43lX/8X0fTNqiF8fZOu4Q4DkDOs88+635tA+MW4wctwQOLkK4MxWLRKYMtOp64Cr4r5VkoyYPxJ+ov4SCz1WfJkiXWEElszYD8DB8+vGmhLNcwHwgpjz76qDUkNJY0G285T1lSSabKli38cm5V5BMcTdugg904GdbNtx3AhSMseSl3IKztISNhcXeJAfkjY5eoE7EaHQH5wxsdakzJ6zt4VTgn4zLrA/JHRrM+bsc5IH94x1m8JL8qQgcJTdXHFZoCBHzxb37++Wf7G0cZ38nH7RJBBgnIesybN8/6ZdwXBUFd3AB/nNggQeZMwAcjLwsXLnRHGkEaLHrhHEIsFZM8OkvAFBCOfKqgOMf8vYmCO5EPfGhKbkJyaAqItGVxBX8B8Tki9VF/DH8G5zMRhH0IwuIvARRxySWXWEc30QllmoNou/eJcLrx3TIBUkgLhzhaAfC3jj/+eBsZwQd85JFHbHwQZ977ZEzZEM6K+o4eBI8JBBDxwGGPytixY91VuQHSRVi1oycZOhnb9Aq1kmgDUQIm+YjHAVodhScSEgUtBoI8CRBHwPj55583/fv3t8c8WksYpEAAzjQxw+h6S09YdIrHxzF9JCUbwlLFQ/MB+mKIEicZp1f4e4tYJjCVlo0TohAI890Dtfv22283gwcPtr8B1zAxGJ3oZGJz5MiRtvuDeCqAR2sJo5tlMpSKyEwykQiPVIRBAj0DkQ1QCsIYRuBC8pSjJxk62Z2LolMLuQBF0joYWwBrInr16tXUFRHSIabod3Qy/hAL9BWFOCMtwYenuDdKZmsJGzBgQFPwF8uLOKRv8Z4wWjFLFOgSiQ9yvc9vtl0iwe2o5OMiMasAFypXd0dPMmTv20Wk+QYuUQpdCl0PSsfIoMAEaQFrPOj+vIFDBB2levgJT+5F6MuZ20K5oDWEcX+XLl2s8vjOQhry5iuTJ4yul8UzzHUx5hLoZZ07yIawESNGJC3E8bPsucCZ9JTrYEdPMnjlqbqyTfkuc2P6gmg7XaEXBnym8D1YHQUpFBgF+ggLaztoARASvR+l+9XIrSGM1s3akmhaPI/uGqTqEgFWIdF7nlHsLpGWzZguLtaItMx/oaULZqqlNXUZrQU1GOUmdquY7BdccEFTuszs0u3xLKwy3/0wWwxhngwPxjwqAsiWMLpcpkgS14X4PNLi0xFGhcJQKQVhkYWk0xwt6aGC85dMSVZctqBrYKVUIlAMRECIB90gBgWWKYA0pu9TrYmgAqBkBuNUhNFiuM8L81hUElyFVHvc+vTpY5fUecIYu5h6oWtkNRWtEj8IQBgz41Sa6DPoMj1hmPHRcwjpRZf4ZQt0DwcirK+jJT104RFcnOtmCEzndAFkTHUWiXowP0VN9kvc+MR3YaxJBGQylmGgsO4fv8q3SloQ6USFMvC8d999116TCFoETjmk0236+3g+x1m+4IExFE3bC+MMrTjVOYRWnwth5Jv8Sw5ztKSHai/bjVbRh1P7AooLKgCVUWTV6GfL242ACLP+mJ/GDygeIhv6Bjo6Woaa8tHc5M3agOLBBXwbxMFRjo6WwYZo3bQQSyW6hDqgsIhYh5is2XWHHmphvWhlqZZRBxQGkSUBPR0N2UM37S3ZiNWX6BMFxA+sSWZKRNg6Wa1/dTS0DiLM7mbJN7YY0DJ87FCSPtjbEmTaH6AEagmThFZWOOA+uZeD1U7I998jRBh/0Gm9/YDCgFlwdCzChji15w4ltJ8S2oT376dDAuIDc3Ru7FoviedvPkRYf2pAWAIXP5hcRbeSll/xkC3ctEt4SXPMIEaJ3yWyFk+ePPkvTt3xQIR1kdjXoAcDJH+gQ2YDRNZWkXayU3O8EGEjab5hOXf++OKLL2xXKJ2OcOqNH1VVVXvqITU04/BXHrmDCVTXFVbL4NjNqbcw0Dh2nGrFFiIgIc7YerBAFYtbOqwjyO7UWljoYX1ozswehzmz7IGusAHQnaSXU2fh4aL543kws6N+5jcgPdARy/vQmXTHApTWRePzxZQpU3bVw+eSgeCfZQZksU/AkTU7dhM+W5SXl/9dmeCPOO0fcwakRmRj3iLJ3k59pYEywL9H1ATSkkHL8mRJ+HO3/ZzaSgv+VNqTRvcYxrRGsiJhp6XS0b+cutoGmBZQxmz3iCHSma1Hyh4xMBbps220rEQoY/sog3PIKGvXO6Ofhp+Fu+PIml3yMasllJWV7aJMTiDDOIgsye4soKyU2ZE1rmTWYGvh/DSca/761g68HTlgTNmIDVJWlbtO5e6lw8X1s+KACnCsCoB1ZCPTcWwUbGugTC7qjlQXLdxUKKgQu0tGi7gGaiBWZBxbcksNyoAV6IK4W1W+EQUP5BYTKhDzadXURPp51oi0R0uSPLMGw03rI4tFWmHms0oNEbaz5F7JBgrLSiGW0OWyw6PYII8sRSPPjijWYNzdbgyLfDBx4sR9RdpwCQO0bXGsMG6LbgB5YkWub1HKc61kiL7Hs2CmPYE/6FThWaxKbbXjARsw2MFRylbH6jDyQF7cGIWskzyV97rBjoDKyso9RBx/4bhAnw0oiD1SbCpkNyK1vJDhLtLmGTyLKI3bn0Vr4m/n50t65rx8uiMD/41/ppOCBklWoDSEWs4uS95uwJjHDs1c92AD7mXrLWMSuyhZ2RxpSUiNnj+QLT+6vP35U6UAipLCDpfy2HM9XcIfx0SVarfQ4gOxpwrF4zLgpDPmIHznGOe4hmu5JzEdkbNGMk3SV78PCyTFACmSl5cdIukhoQWi4CUSjADeeGa70jRC11bvrq2WTNWxp1QhuksO1vfMr1YIiA+8hF/jy74yBg5St0Z3eoIEnw85gWOcEyn7pH0rWkBAQICw3Xb/B+xpzGHxSTPuAAAAAElFTkSuQmCC" + } + $query = "DECLARE @InsertBuildNumberTXT nvarchar(100) = '' DECLARE @InsertListBuildNumberTXT nvarchar(50) = '' DECLARE @UpdateBuildNumberTXT nvarchar(100) = '' DECLARE @InsertOrUpdateService varchar(max) = '' @@ -720,7 +725,9 @@ function Add-DiscoveryRegistrationSql($discoveryPostBody, $connectionString){ DiscoveryTypeCD=$($discoveryPostBody.discoveryType);` FriendlyNM=$($discoveryPostBody.friendlyName);` DescriptionTXT=$($discoveryPostBody.description);` - BuildNumberTXT=$($discoveryPostBody.buildVersion)} + BuildNumberTXT=$($discoveryPostBody.buildVersion);` + HiddenFLG=$($discoveryPostBody.isHidden);` + IconTXT=$($discoveryPostBody.iconTxt)} } function RepairAclCanonicalOrder($Acl) { From a27bd7dafa82c43fd4fa5c800191726fb4a4fe06 Mon Sep 17 00:00:00 2001 From: "michael.vidal" Date: Mon, 24 Sep 2018 09:38:29 -0400 Subject: [PATCH 462/473] Add optional config path to Get-InstallationSettings. --- common/Fabric-Install-Utilities.psm1 | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index 1f1c2ee..3ceead8 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -414,10 +414,25 @@ function Get-CurrentScriptDirectory() return Split-Path $script:MyInvocation.MyCommand.Path } -function Get-InstallationSettings($configSection) +function Get-InstallationSettings { - $installationConfig = [xml](Get-Content install.config) - $sectionSettings = $installationConfig.installation.settings.scope | where {$_.name -eq $configSection} + param( + [Parameter(Mandatory=$true)] + [string] $configSection, + [ValidateScript({ + if (!(Test-Path $_)) { + throw "Path $_ does not exist. Please enter valid path to the install.config." + } + if (!(Test-Path $_ -PathType Leaf)) { + throw "Path $_ is not a file. Please enter a valid path to the install.config." + } + return $true + })] + [string] $installConfigPath = "install.config" + ) + + $installationConfig = [xml](Get-Content $installConfigPath) + $sectionSettings = $installationConfig.installation.settings.scope | Where-Object {$_.name -eq $configSection} $installationSettings = @{} foreach($variable in $sectionSettings.variable){ @@ -426,7 +441,7 @@ function Get-InstallationSettings($configSection) } } - $commonSettings = $installationConfig.installation.settings.scope | where {$_.name -eq "common"} + $commonSettings = $installationConfig.installation.settings.scope | Where-Object {$_.name -eq "common"} foreach($variable in $commonSettings.variable){ if($variable.name -and $variable.value -and !$installationSettings.Contains($variable.name)){ $installationSettings.Add($variable.name, $variable.value) From e6d63c082eb456d41a534566780e7ef31537218b Mon Sep 17 00:00:00 2001 From: "michael.vidal" Date: Tue, 25 Sep 2018 12:00:07 -0400 Subject: [PATCH 463/473] Added ability to write to specified config location. --- common/Fabric-Install-Utilities.psm1 | 58 +++++++++++++++++++++++----- 1 file changed, 48 insertions(+), 10 deletions(-) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index 3ceead8..f9c50ac 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -469,14 +469,31 @@ function Get-InstallationSettings return $installationSettingsDecrypted } -function Add-InstallationSetting($configSection, $configSetting, $configValue) +function Add-InstallationSetting { - $currentDirectory = Get-CurrentScriptDirectory - $configFile = "install.config" - $installationConfig = [xml](Get-Content "$currentDirectory\$configFile") - $sectionSettings = $installationConfig.installation.settings.scope | where {$_.name -eq $configSection} - $existingSetting = $sectionSettings.variable | where {$_.name -eq $configSetting} - if($existingSetting -eq $null){ + param( + [Parameter(Mandatory=$true)] + [string] $configSection, + [Parameter(Mandatory=$true)] + [string] $configSetting, + [Parameter(Mandatory=$true)] + [string] $configValue, + [ValidateScript({ + if (!(Test-Path $_)) { + throw "Path $_ does not exist. Please enter valid path to the install.config." + } + if (!(Test-Path $_ -PathType Leaf)) { + throw "Path $_ is not a file. Please enter a valid path to the install.config." + } + return $true + })] + [string] $installConfigPath = "$(Get-CurrentScriptDirectory)\install.config" + ) + + $installationConfig = [xml](Get-Content $installConfigPath) + $sectionSettings = $installationConfig.installation.settings.scope | Where-Object {$_.name -eq $configSection} + $existingSetting = $sectionSettings.variable | Where-Object {$_.name -eq $configSetting} + if($null -eq $existingSetting){ $setting = $installationConfig.CreateElement("variable") $nameAttribute = $installationConfig.CreateAttribute("name") @@ -491,13 +508,34 @@ function Add-InstallationSetting($configSection, $configSetting, $configValue) }else{ $existingSetting.value = $configValue } - $installationConfig.Save("$currentDirectory\$configFile") + $installationConfig.Save("$installConfigPath") } -function Add-SecureInstallationSetting($configSection, $configSetting, $configValue, $encryptionCertificate) +function Add-SecureInstallationSetting { + param( + [Parameter(Mandatory=$true)] + [string] $configSection, + [Parameter(Mandatory=$true)] + [string] $configSetting, + [Parameter(Mandatory=$true)] + [string] $configValue, + [Parameter(Mandatory=$true)] + $encryptionCertificate, + [ValidateScript({ + if (!(Test-Path $_)) { + throw "Path $_ does not exist. Please enter valid path to the install.config." + } + if (!(Test-Path $_ -PathType Leaf)) { + throw "Path $_ is not a file. Please enter a valid path to the install.config." + } + return $true + })] + [string] $installConfigPath = "$(Get-CurrentScriptDirectory)\install.config" + ) + $encryptedConfigValue = Get-EncryptedString $encryptionCertificate $configValue - Add-InstallationSetting $configSection $configSetting $encryptedConfigValue + Add-InstallationSetting $configSection $configSetting $encryptedConfigValue $installConfigPath } function Get-EncryptionCertificate($encryptionCertificateThumbprint) From 7e35a7bb61ee717e2ef54fee796926e8e04f2627 Mon Sep 17 00:00:00 2001 From: Imran Qureshi Date: Mon, 8 Oct 2018 15:22:59 -0700 Subject: [PATCH 464/473] convert runondevmachine to ps1 Signed-off-by: Imran Qureshi --- realtime/runondevmachine.ps1 | 155 +++++++++++++++++++++++++++++++++++ 1 file changed, 155 insertions(+) create mode 100644 realtime/runondevmachine.ps1 diff --git a/realtime/runondevmachine.ps1 b/realtime/runondevmachine.ps1 new file mode 100644 index 0000000..dbd2f64 --- /dev/null +++ b/realtime/runondevmachine.ps1 @@ -0,0 +1,155 @@ +<# + .SYNOPSIS + + Sets up the DOS File Service. Reads from install.config. + + .PARAMETER quiet + + Indicates that this script suppresses all user input. If a required value is not provided, the script will exit with an error + + .EXAMPLE + + .\setfileshare.ps1 -quiet +#> + +param( + [switch] $quiet +) + +# https://stackoverflow.com/questions/9948517/how-to-stop-a-powershell-script-on-the-first-error +Set-StrictMode -Version latest +$ErrorActionPreference="Continue" + +$myreleaseversion="1" + +Write-Output "script version: 1.0.0" + +docker swarm init | Out-Null + +docker stack rm fabricrealtime | Out-Null + + Write-Output "waiting until network is removed" + +while (docker network inspect -f "{{ .Name }}" fabricrealtime_realtimenet | Out-Null) +{ + Write-Output "."; + Start-Sleep 1; +} + +docker secret rm CertPassword | Out-Null +"roboconf2" | docker secret create CertPassword - + +docker secret rm RabbitMqMgmtUiPassword | Out-Null +'roboconf2' | docker secret create RabbitMqMgmtUiPassword - + +$env:CERT_HOSTNAME="$env:COMPUTERNAME.$env:USERDNSDOMAIN" + +docker secret rm CertHostName | Out-Null +"localrealtime" | docker secret create CertHostName - + +# username +$dockerServiceAccountDefault=$env:UserName +$dockerServiceAccount = Read-Host "Press Enter to accept the default user account for Docker [$dockerServiceAccountDefault] or enter a new user account" +if ([string]::IsNullOrWhiteSpace($dockerServiceAccount)) { + $dockerServiceAccount = $dockerServiceAccountDefault +} +Write-Output "Setting username to $dockerServiceAccount" +docker secret rm SqlServerUserName | Out-Null +$dockerServiceAccount | docker secret create SqlServerUserName - + +# password +$dockerServiceAccountPassword="" +while ([string]::IsNullOrWhiteSpace($dockerServiceAccountPassword)) { + Do {$dockerServiceAccountPassword = Read-Host -assecurestring -Prompt "Please type in password for [$dockerServiceAccount]"} while ($($dockerServiceAccountPassword.Length) -lt 1) + $dockerServiceAccountPassword = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto([System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($dockerServiceAccountPassword)) +} +docker secret rm SqlServerPassword | Out-Null +$dockerServiceAccountPassword | docker secret create SqlServerPassword - + +# dns domain +$dockerServiceAccountDomainDefault=$env:USERDNSDOMAIN +$dockerServiceAccountDomain = Read-Host "Press Enter to accept the default user account for Docker [$dockerServiceAccountDomainDefault] or enter a new domain" +if ([string]::IsNullOrWhiteSpace($dockerServiceAccountDomain)) { + $dockerServiceAccountDomain = $dockerServiceAccountDomainDefault +} +Write-Output "Setting domain to $dockerServiceAccountDomain" +docker secret rm SqlServerDomain | Out-Null +$dockerServiceAccountDomain | docker secret create SqlServerDomain - + +# AD url +$dockerServiceAccountAdUrlDefault=$env:LOGONSERVER +$dockerServiceAccountAdUrlDefault = $($dockerServiceAccountAdUrlDefault -replace "\\","") +$dockerServiceAccountAdUrl = Read-Host "Please type in Windows Active Directory URL to use to connect to SQL Server [$dockerServiceAccountAdUrlDefault]" +if ([string]::IsNullOrWhiteSpace($dockerServiceAccountAdUrl)) { + $dockerServiceAccountAdUrl = $dockerServiceAccountAdUrlDefault +} +Write-Output "Setting AD url to $dockerServiceAccountAdUrl" +docker secret rm SqlServerADUrl | Out-Null +$dockerServiceAccountAdUrl | docker secret create SqlServerADUrl - + +# Sql Server +$sqlServerNameDefault="$env:COMPUTERNAME" +$sqlServerName="" +$sqlServerName = Read-Host "Please type in SQL Server to connect to (default: $sqlServerNameDefault)" +if ([string]::IsNullOrWhiteSpace($sqlServerName)) { + $sqlServerName = $sqlServerNameDefault +} +docker secret rm SqlServerName | Out-Null +$sqlServerName | docker secret create SqlServerName - + +# Sql Database +$sqlServerDatabaseDefault="FabricRealtime" +$sqlServerDatabase = Read-Host "Please type in SQL Database to use (default: $sqlServerDatabaseDefault)" +if ([string]::IsNullOrWhiteSpace($sqlServerDatabase)) { + $sqlServerDatabase = $sqlServerDatabaseDefault +} +docker secret rm SqlServerDatabase | Out-Null +$sqlServerDatabase | docker secret create SqlServerDatabase - + +# $env:DISABLE_SSL="false" + +# shared folder +$sharedFolderDefault="c:/tmp/fabricrealtime" +$sharedFolder="" +$sharedFolder = Read-Host "Please type in folder to store files (e.g., $sharedFolderDefault)" +if ([string]::IsNullOrWhiteSpace($sharedFolder)) { + $sharedFolder = $sharedFolderDefault +} +$env:SHARED_DRIVE=$sharedFolder +New-Item -Path $env:SHARED_DRIVE -ItemType Directory -Force + +$env:SHARED_DRIVE_CERTS="$env:SHARED_DRIVE/certs" +New-Item -Path $env:SHARED_DRIVE_CERTS -ItemType Directory -Force + +$env:SHARED_DRIVE_RABBITMQ="$env:SHARED_DRIVE/rabbitmq" +New-Item -Path $env:SHARED_DRIVE_RABBITMQ -ItemType Directory -Force + +$env:SHARED_DRIVE_MYSQL="$env:SHARED_DRIVE/mysql" +New-Item -Path $env:SHARED_DRIVE_MYSQL -ItemType Directory -Force + +$env:SHARED_DRIVE_LOGS="$env:SHARED_DRIVE/fluentd" +New-Item -Path $env:SHARED_DRIVE_LOGS -ItemType Directory -Force + +# docker stack deploy -c realtime-stack.yml fabricrealtime + +# use docker stack deploy to start up all the services +$stackfilename="realtime-stack-sqlserver.yml" + +# make sure we can pull an image +docker pull healthcatalyst/fabric.docker.interfaceengine:$myreleaseversion +docker pull healthcatalyst/fabric.certificateserver:$myreleaseversion +docker pull healthcatalyst/fabric.realtime.rabbitmq:$myreleaseversion +docker pull healthcatalyst/fabric.realtime.mysql:$myreleaseversion + +Write-Output "running stack: $stackfilename" + +$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/$myreleaseversion" + +$set = "abcdefghijklmnopqrstuvwxyz0123456789".ToCharArray() +$result += $set | Get-Random + +Write-Output "Downloading from ${GITHUB_URL}/realtime/${stackfilename}?f=$result" + +$Script = Invoke-WebRequest -useb ${GITHUB_URL}/realtime/${stackfilename}?f=$result; + +$Script | docker stack deploy --orchestrator swarm --compose-file - fabricrealtime From a15b315903087cdf627c3194ee795d9e33dba3c9 Mon Sep 17 00:00:00 2001 From: Imran Qureshi Date: Wed, 21 Nov 2018 17:56:06 -0800 Subject: [PATCH 465/473] update wait-for-it.sh Signed-off-by: Imran Qureshi --- wait-for-it.sh | 135 +++++++++++++++++++++++++------------------------ 1 file changed, 68 insertions(+), 67 deletions(-) diff --git a/wait-for-it.sh b/wait-for-it.sh index 401a6f1..607a7d6 100644 --- a/wait-for-it.sh +++ b/wait-for-it.sh @@ -1,15 +1,15 @@ #!/usr/bin/env bash # Use this script to test if a given TCP host/port are available -cmdname=$(basename $0) +WAITFORIT_cmdname=${0##*/} -echoerr() { if [[ $QUIET -ne 1 ]]; then echo "$@" 1>&2; fi } +echoerr() { if [[ $WAITFORIT_QUIET -ne 1 ]]; then echo "$@" 1>&2; fi } usage() { cat << USAGE >&2 Usage: - $cmdname host:port [-s] [-t timeout] [-- command args] + $WAITFORIT_cmdname host:port [-s] [-t timeout] [-- command args] -h HOST | --host=HOST Host or IP under test -p PORT | --port=PORT TCP port under test Alternatively, you specify the host and port as host:port @@ -24,47 +24,47 @@ USAGE wait_for() { - if [[ $TIMEOUT -gt 0 ]]; then - echoerr "$cmdname: waiting $TIMEOUT seconds for $HOST:$PORT" + if [[ $WAITFORIT_TIMEOUT -gt 0 ]]; then + echoerr "$WAITFORIT_cmdname: waiting $WAITFORIT_TIMEOUT seconds for $WAITFORIT_HOST:$WAITFORIT_PORT" else - echoerr "$cmdname: waiting for $HOST:$PORT without a timeout" + echoerr "$WAITFORIT_cmdname: waiting for $WAITFORIT_HOST:$WAITFORIT_PORT without a timeout" fi - start_ts=$(date +%s) + WAITFORIT_start_ts=$(date +%s) while : do - if [[ $ISBUSY -eq 1 ]]; then - nc -z $HOST $PORT - result=$? + if [[ $WAITFORIT_ISBUSY -eq 1 ]]; then + nc -z $WAITFORIT_HOST $WAITFORIT_PORT + WAITFORIT_result=$? else - (echo > /dev/tcp/$HOST/$PORT) >/dev/null 2>&1 - result=$? + (echo > /dev/tcp/$WAITFORIT_HOST/$WAITFORIT_PORT) >/dev/null 2>&1 + WAITFORIT_result=$? fi - if [[ $result -eq 0 ]]; then - end_ts=$(date +%s) - echoerr "$cmdname: $HOST:$PORT is available after $((end_ts - start_ts)) seconds" + if [[ $WAITFORIT_result -eq 0 ]]; then + WAITFORIT_end_ts=$(date +%s) + echoerr "$WAITFORIT_cmdname: $WAITFORIT_HOST:$WAITFORIT_PORT is available after $((WAITFORIT_end_ts - WAITFORIT_start_ts)) seconds" break fi sleep 1 done - return $result + return $WAITFORIT_result } wait_for_wrapper() { # In order to support SIGINT during timeout: http://unix.stackexchange.com/a/57692 - if [[ $QUIET -eq 1 ]]; then - timeout $BUSYTIMEFLAG $TIMEOUT $0 --quiet --child --host=$HOST --port=$PORT --timeout=$TIMEOUT & + if [[ $WAITFORIT_QUIET -eq 1 ]]; then + timeout $WAITFORIT_BUSYTIMEFLAG $WAITFORIT_TIMEOUT $0 --quiet --child --host=$WAITFORIT_HOST --port=$WAITFORIT_PORT --timeout=$WAITFORIT_TIMEOUT & else - timeout $BUSYTIMEFLAG $TIMEOUT $0 --child --host=$HOST --port=$PORT --timeout=$TIMEOUT & + timeout $WAITFORIT_BUSYTIMEFLAG $WAITFORIT_TIMEOUT $0 --child --host=$WAITFORIT_HOST --port=$WAITFORIT_PORT --timeout=$WAITFORIT_TIMEOUT & fi - PID=$! - trap "kill -INT -$PID" INT - wait $PID - RESULT=$? - if [[ $RESULT -ne 0 ]]; then - echoerr "$cmdname: timeout occurred after waiting $TIMEOUT seconds for $HOST:$PORT" + WAITFORIT_PID=$! + trap "kill -INT -$WAITFORIT_PID" INT + wait $WAITFORIT_PID + WAITFORIT_RESULT=$? + if [[ $WAITFORIT_RESULT -ne 0 ]]; then + echoerr "$WAITFORIT_cmdname: timeout occurred after waiting $WAITFORIT_TIMEOUT seconds for $WAITFORIT_HOST:$WAITFORIT_PORT" fi - return $RESULT + return $WAITFORIT_RESULT } # process arguments @@ -72,53 +72,53 @@ while [[ $# -gt 0 ]] do case "$1" in *:* ) - hostport=(${1//:/ }) - HOST=${hostport[0]} - PORT=${hostport[1]} + WAITFORIT_hostport=(${1//:/ }) + WAITFORIT_HOST=${WAITFORIT_hostport[0]} + WAITFORIT_PORT=${WAITFORIT_hostport[1]} shift 1 ;; --child) - CHILD=1 + WAITFORIT_CHILD=1 shift 1 ;; -q | --quiet) - QUIET=1 + WAITFORIT_QUIET=1 shift 1 ;; -s | --strict) - STRICT=1 + WAITFORIT_STRICT=1 shift 1 ;; -h) - HOST="$2" - if [[ $HOST == "" ]]; then break; fi + WAITFORIT_HOST="$2" + if [[ $WAITFORIT_HOST == "" ]]; then break; fi shift 2 ;; --host=*) - HOST="${1#*=}" + WAITFORIT_HOST="${1#*=}" shift 1 ;; -p) - PORT="$2" - if [[ $PORT == "" ]]; then break; fi + WAITFORIT_PORT="$2" + if [[ $WAITFORIT_PORT == "" ]]; then break; fi shift 2 ;; --port=*) - PORT="${1#*=}" + WAITFORIT_PORT="${1#*=}" shift 1 ;; -t) - TIMEOUT="$2" - if [[ $TIMEOUT == "" ]]; then break; fi + WAITFORIT_TIMEOUT="$2" + if [[ $WAITFORIT_TIMEOUT == "" ]]; then break; fi shift 2 ;; --timeout=*) - TIMEOUT="${1#*=}" + WAITFORIT_TIMEOUT="${1#*=}" shift 1 ;; --) shift - CLI="$@" + WAITFORIT_CLI=("$@") break ;; --help) @@ -131,47 +131,48 @@ do esac done -if [[ "$HOST" == "" || "$PORT" == "" ]]; then +if [[ "$WAITFORIT_HOST" == "" || "$WAITFORIT_PORT" == "" ]]; then echoerr "Error: you need to provide a host and port to test." usage fi -TIMEOUT=${TIMEOUT:-15} -STRICT=${STRICT:-0} -CHILD=${CHILD:-0} -QUIET=${QUIET:-0} +WAITFORIT_TIMEOUT=${WAITFORIT_TIMEOUT:-15} +WAITFORIT_STRICT=${WAITFORIT_STRICT:-0} +WAITFORIT_CHILD=${WAITFORIT_CHILD:-0} +WAITFORIT_QUIET=${WAITFORIT_QUIET:-0} # check to see if timeout is from busybox? -# check to see if timeout is from busybox? -TIMEOUT_PATH=$(realpath $(which timeout)) -if [[ $TIMEOUT_PATH =~ "busybox" ]]; then - ISBUSY=1 - BUSYTIMEFLAG="-t" +WAITFORIT_TIMEOUT_PATH=$(type -p timeout) +WAITFORIT_TIMEOUT_PATH=$(realpath $WAITFORIT_TIMEOUT_PATH 2>/dev/null || readlink -f $WAITFORIT_TIMEOUT_PATH) +if [[ $WAITFORIT_TIMEOUT_PATH =~ "busybox" ]]; then + WAITFORIT_ISBUSY=1 + WAITFORIT_BUSYTIMEFLAG="-t" + else - ISBUSY=0 - BUSYTIMEFLAG="" + WAITFORIT_ISBUSY=0 + WAITFORIT_BUSYTIMEFLAG="" fi -if [[ $CHILD -gt 0 ]]; then +if [[ $WAITFORIT_CHILD -gt 0 ]]; then wait_for - RESULT=$? - exit $RESULT + WAITFORIT_RESULT=$? + exit $WAITFORIT_RESULT else - if [[ $TIMEOUT -gt 0 ]]; then + if [[ $WAITFORIT_TIMEOUT -gt 0 ]]; then wait_for_wrapper - RESULT=$? + WAITFORIT_RESULT=$? else wait_for - RESULT=$? + WAITFORIT_RESULT=$? fi fi -if [[ $CLI != "" ]]; then - if [[ $RESULT -ne 0 && $STRICT -eq 1 ]]; then - echoerr "$cmdname: strict mode, refusing to execute subprocess" - exit $RESULT +if [[ $WAITFORIT_CLI != "" ]]; then + if [[ $WAITFORIT_RESULT -ne 0 && $WAITFORIT_STRICT -eq 1 ]]; then + echoerr "$WAITFORIT_cmdname: strict mode, refusing to execute subprocess" + exit $WAITFORIT_RESULT fi - exec $CLI + exec "${WAITFORIT_CLI[@]}" else - exit $RESULT -fi + exit $WAITFORIT_RESULT +fi \ No newline at end of file From 3d1433f6d0c21738bfaf16410814867753387466 Mon Sep 17 00:00:00 2001 From: Ben Skeen Date: Fri, 15 Feb 2019 12:35:36 -0700 Subject: [PATCH 466/473] I added retry logic to the New-AppPool function. --- common/Fabric-Install-Utilities.psm1 | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index f9c50ac..d275114 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -84,11 +84,27 @@ function New-AppRoot($appDirectory, $iisUser){ } function New-AppPool($appName, $userName, $credential){ - Set-Location IIS:\AppPools + Set-Location "IIS:\AppPools" if(!(Test-Path $appName -PathType Container)) { Write-Console "AppPool $appName does not exist...creating." - $appPool = New-WebAppPool $appName + $successful = $FALSE + $failCount = 0 + while (!$successful) { + try { + $appPool = New-WebAppPool $appName -ErrorAction Stop + $successful = $TRUE + } + catch { + $failCount = $failCount + 1 + if ($failCount -gt 3) { + throw + } + + Write-Host "Retry #$failCount" + } + } + $appPool | Set-ItemProperty -Name "managedRuntimeVersion" -Value "" }else{ From 04689f38d40814e5a970712b4bbb23b83803a01a Mon Sep 17 00:00:00 2001 From: Ben Skeen Date: Fri, 15 Feb 2019 12:54:13 -0700 Subject: [PATCH 467/473] I updated the error message to be more descriptive and I fixed a couple of literals. --- common/Fabric-Install-Utilities.psm1 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index d275114..8ab6917 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -88,12 +88,12 @@ function New-AppPool($appName, $userName, $credential){ if(!(Test-Path $appName -PathType Container)) { Write-Console "AppPool $appName does not exist...creating." - $successful = $FALSE + $successful = $false $failCount = 0 while (!$successful) { try { $appPool = New-WebAppPool $appName -ErrorAction Stop - $successful = $TRUE + $successful = $true } catch { $failCount = $failCount + 1 @@ -101,7 +101,7 @@ function New-AppPool($appName, $userName, $credential){ throw } - Write-Host "Retry #$failCount" + Write-Host "Failed to create app pool $appName $failCount times, retrying..." } } From b9578ee24c786788c369bfd136b4ca41b3b3ab75 Mon Sep 17 00:00:00 2001 From: "whitesource-bolt-for-github[bot]" Date: Fri, 12 Apr 2019 16:29:33 +0000 Subject: [PATCH 468/473] Initial WhiteSource configuration file --- .whitesource | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 .whitesource diff --git a/.whitesource b/.whitesource new file mode 100644 index 0000000..f340c5d --- /dev/null +++ b/.whitesource @@ -0,0 +1,8 @@ +########################################################## +#### WhiteSource Integration configuration file #### +########################################################## + +# Configuration # +#---------------# +ws.repo.scan=true +vulnerable.check.run.conclusion.level=failure From e7636e9aafd47b4ea9bc850e947a42f4314e6e79 Mon Sep 17 00:00:00 2001 From: "whitesource-bolt-for-github[bot]" <42819689+whitesource-bolt-for-github[bot]@users.noreply.github.com> Date: Fri, 21 Jun 2019 14:56:03 +0000 Subject: [PATCH 469/473] Migrate WhiteSource configuration file to json format --- .whitesource | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.whitesource b/.whitesource index f340c5d..f056952 100644 --- a/.whitesource +++ b/.whitesource @@ -1,8 +1,8 @@ -########################################################## -#### WhiteSource Integration configuration file #### -########################################################## - -# Configuration # -#---------------# -ws.repo.scan=true -vulnerable.check.run.conclusion.level=failure +{ + "generalSettings": { + "shouldScanRepo": true + }, + "checkRunSettings": { + "vulnerableCheckRunConclusionLevel": "failure" + } +} \ No newline at end of file From bdb99392c6f70464cb98b9ff316b5ff3d4298cf6 Mon Sep 17 00:00:00 2001 From: Josh Nielsen Date: Fri, 21 Jun 2019 08:55:50 -0600 Subject: [PATCH 470/473] Added error handling to display URL and error message --- common/Fabric-Install-Utilities.psm1 | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index 8ab6917..d161598 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -332,8 +332,15 @@ function Get-AccessToken($authUrl, $clientId, $scope, $secret) scope = "$scope" client_secret = "$secret" } - $accessTokenResponse = Invoke-RestMethod -Method Post -Uri $url -Body $body - return $accessTokenResponse.access_token + try{ + $accessTokenResponse = Invoke-RestMethod -Method Post -Uri $url -Body $body + return $accessTokenResponse.access_token + }catch{ + $exception = $_.Exception + $error = Get-ErrorFromResponse -response $exception.Response + Write-Error "There was an error getting the access token at $url : $error. Halting installation." + throw $exception + } } function Add-ApiRegistration($authUrl, $body, $accessToken) From 401796411e9fa8a9bbdc747cf0c531dc6989ab54 Mon Sep 17 00:00:00 2001 From: Michael Tabet Date: Fri, 19 Jul 2019 09:12:33 -0600 Subject: [PATCH 471/473] Added graceful handling for duplicate values --- common/Fabric-Install-Utilities.psm1 | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index d161598..58711e8 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -517,20 +517,27 @@ function Add-InstallationSetting $sectionSettings = $installationConfig.installation.settings.scope | Where-Object {$_.name -eq $configSection} $existingSetting = $sectionSettings.variable | Where-Object {$_.name -eq $configSetting} if($null -eq $existingSetting){ - $setting = $installationConfig.CreateElement("variable") - - $nameAttribute = $installationConfig.CreateAttribute("name") - $nameAttribute.Value = $configSetting - $setting.Attributes.Append($nameAttribute) + $setting = $installationConfig.CreateElement("variable") - $valueAttribute = $installationConfig.CreateAttribute("value") - $valueAttribute.Value = $configValue - $setting.Attributes.Append($valueAttribute) + $nameAttribute = $installationConfig.CreateAttribute("name") + $nameAttribute.Value = $configSetting + $setting.Attributes.Append($nameAttribute) - $sectionSettings.AppendChild($setting) - }else{ + $valueAttribute = $installationConfig.CreateAttribute("value") + $valueAttribute.Value = $configValue + $setting.Attributes.Append($valueAttribute) + + $sectionSettings.AppendChild($setting) + }elseif($existingSetting -is [System.Array]){ + if($existingSetting.Count -ne 1){ + Write-Output "More than one setting $configSetting found in scope $configSection, only updating the first value" + } + $existingSetting[0].value = $configValue + } + else{ $existingSetting.value = $configValue } + $installationConfig.Save("$installConfigPath") } From 681d19c39f0a8f66594677e17f0c9c8debf40a15 Mon Sep 17 00:00:00 2001 From: Jason Soto Date: Fri, 23 Aug 2019 13:01:59 -0600 Subject: [PATCH 472/473] Get-DecryptedString support for CNG cert private keys --- common/Fabric-Install-Utilities.psm1 | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index 58711e8..6566425 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -580,13 +580,21 @@ function Get-Certificate($certificateThumbprint) } function Get-DecryptedString($encryptionCertificate, $encryptedString){ - if($encryptedString.StartsWith("!!enc!!:")){ + if ($encryptedString.StartsWith("!!enc!!:")) { $cleanedEncryptedString = $encryptedString.Replace("!!enc!!:","") - $clearTextValue = [System.Text.Encoding]::UTF8.GetString($encryptionCertificate.PrivateKey.Decrypt([System.Convert]::FromBase64String($cleanedEncryptedString), $true)) - return $clearTextValue - }else{ + } else{ return $encryptedString } + + if ($null -eq $encryptionCertificate.PrivateKey) { + $privateKey = [System.Security.Cryptography.X509Certificates.RSACertificateExtensions]::GetRSAPrivateKey($encryptionCertificate) + $clearTextValue = [System.Text.Encoding]::UTF8.GetString($privateKey.Decrypt([System.Convert]::FromBase64String($cleanedEncryptedString), [System.Security.Cryptography.RSAEncryptionPadding]::OaepSHA1)) + } + else { + $clearTextValue = [System.Text.Encoding]::UTF8.GetString($encryptionCertificate.PrivateKey.Decrypt([System.Convert]::FromBase64String($cleanedEncryptedString), $true)) + } + + return $clearTextValue } function Get-CertsFromLocation($certLocation){ From b03ac5440d66420fefa869011293ef7593d9a16b Mon Sep 17 00:00:00 2001 From: Jason Soto Date: Wed, 4 Sep 2019 14:12:36 -0600 Subject: [PATCH 473/473] Added logging to decryption function --- common/Fabric-Install-Utilities.psm1 | 30 +++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/common/Fabric-Install-Utilities.psm1 b/common/Fabric-Install-Utilities.psm1 index 6566425..fb142ae 100644 --- a/common/Fabric-Install-Utilities.psm1 +++ b/common/Fabric-Install-Utilities.psm1 @@ -587,11 +587,35 @@ function Get-DecryptedString($encryptionCertificate, $encryptedString){ } if ($null -eq $encryptionCertificate.PrivateKey) { - $privateKey = [System.Security.Cryptography.X509Certificates.RSACertificateExtensions]::GetRSAPrivateKey($encryptionCertificate) - $clearTextValue = [System.Text.Encoding]::UTF8.GetString($privateKey.Decrypt([System.Convert]::FromBase64String($cleanedEncryptedString), [System.Security.Cryptography.RSAEncryptionPadding]::OaepSHA1)) + Write-Host "CNG certificate detected." + try { + $privateKey = [System.Security.Cryptography.X509Certificates.RSACertificateExtensions]::GetRSAPrivateKey($encryptionCertificate) + } + catch { + $exception = $_.Exception + Write-Host "Could not get private key for the provided certificate. Certificate thumbprint: $($encryptionCertificate.Thumbprint)" + throw $exception + } + + try { + $clearTextValue = [System.Text.Encoding]::UTF8.GetString($privateKey.Decrypt([System.Convert]::FromBase64String($cleanedEncryptedString), [System.Security.Cryptography.RSAEncryptionPadding]::OaepSHA1)) + } + catch { + $exception = $_.Exception + Write-Host "Could not decrypt value using the provided certificate, the value may have been encrypted with a different certificate. Certificate thumbprint: $($encryptionCertificate.Thumbprint)" + throw $exception + } } else { - $clearTextValue = [System.Text.Encoding]::UTF8.GetString($encryptionCertificate.PrivateKey.Decrypt([System.Convert]::FromBase64String($cleanedEncryptedString), $true)) + Write-Host "CSP certificate detected." + try { + $clearTextValue = [System.Text.Encoding]::UTF8.GetString($encryptionCertificate.PrivateKey.Decrypt([System.Convert]::FromBase64String($cleanedEncryptedString), $true)) + } + catch { + $exception = $_.Exception + Write-Host "Could not decrypt value using the provided certificate, the value may have been encrypted with a different certificate. Certificate thumbprint: $($encryptionCertificate.Thumbprint)" + throw $exception + } } return $clearTextValue

hz0P`kU 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⁣h=d^Xvi?5FU^|NQso*d10Jt~)Sd?XnE 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 diff --git a/azure/restartkubedns.txt b/azure/restartkubedns.txt deleted file mode 100644 index aedfa3f..0000000 --- a/azure/restartkubedns.txt +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -PATH=$PATH:/usr/local/bin - -echo "$(date) Version 2018.01.31.01" - -# https://www.cyberciti.biz/faq/how-do-i-add-jobs-to-cron-under-linux-or-unix-oses/ - -dnsPods=$(kubectl get pods -l k8s-app=kube-dns -n kube-system -o jsonpath='{.items[*].metadata.name}') -for dnsPod in $dnsPods -do - restartCounts=$(kubectl get pods $dnsPod -n kube-system -o jsonpath='{.status.containerStatuses[*].restartCount}') - needToRestart="n" - for restartCount in $restartCounts - do - if [ $restartCount -gt "0" ]; then - needToRestart="y" - fi - done - - if [ $needToRestart = "y" ]; then - echo "deleting pod $dnsPod with restartCounts: $restartCounts" - kubectl delete pod $dnsPod -n kube-system - fi -done diff --git a/azure/setup-coredns.ps1 b/azure/setup-coredns.ps1 deleted file mode 100644 index 6350d38..0000000 --- a/azure/setup-coredns.ps1 +++ /dev/null @@ -1,163 +0,0 @@ - -# -# This script is meant for quick & easy install via: -# curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/setup-coredns.ps1 | iex; - - -$CLUSTER_DNS_IP=kubectl get service --namespace kube-system kube-dns -o jsonpath="{.spec.clusterIP}" -$CLUSTER_DOMAIN="cluster.local" -$SERVICE_CIDR="10.0.0.0/16" -$POD_CIDR="10.244.0.0/24" - -Write-Output "Removing kube-dns-v20 deployment" -kubectl delete --namespace=kube-system deployment kube-dns-v20 - -$serviceyaml = @" -apiVersion: v1 -kind: ServiceAccount -metadata: - name: coredns - namespace: kube-system ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRole -metadata: - labels: - kubernetes.io/bootstrapping: rbac-defaults - name: system:coredns -rules: -- apiGroups: - - "" - resources: - - endpoints - - services - - pods - - namespaces - verbs: - - list - - watch ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRoleBinding -metadata: - annotations: - rbac.authorization.kubernetes.io/autoupdate: "true" - labels: - kubernetes.io/bootstrapping: rbac-defaults - name: system:coredns -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: system:coredns -subjects: -- kind: ServiceAccount - name: coredns - namespace: kube-system ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: coredns - namespace: kube-system -data: - Corefile: | - .:53 { - errors - log - health - kubernetes $CLUSTER_DOMAIN $SERVICE_CIDR { - pods insecure - } - prometheus :9153 - proxy . /etc/resolv.conf - cache 30 - } ---- -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - name: coredns - namespace: kube-system - labels: - k8s-app: coredns - kubernetes.io/name: "CoreDNS" -spec: - replicas: 2 - strategy: - type: RollingUpdate - rollingUpdate: - maxUnavailable: 1 - selector: - matchLabels: - k8s-app: coredns - template: - metadata: - labels: - k8s-app: coredns - spec: - serviceAccountName: coredns - tolerations: - - key: node-role.kubernetes.io/master - effect: NoSchedule - - key: "CriticalAddonsOnly" - operator: "Exists" - containers: - - name: coredns - image: coredns/coredns:1.0.1 - imagePullPolicy: IfNotPresent - args: [ "-conf", "/etc/coredns/Corefile" ] - volumeMounts: - - name: config-volume - mountPath: /etc/coredns - ports: - - containerPort: 53 - name: dns - protocol: UDP - - containerPort: 53 - name: dns-tcp - protocol: TCP - livenessProbe: - httpGet: - path: /health - port: 8080 - scheme: HTTP - initialDelaySeconds: 60 - timeoutSeconds: 5 - successThreshold: 1 - failureThreshold: 5 - dnsPolicy: Default - volumes: - - name: config-volume - configMap: - name: coredns - items: - - key: Corefile - path: Corefile ---- -apiVersion: v1 -kind: Service -metadata: - name: kube-dns - namespace: kube-system - labels: - k8s-app: coredns - kubernetes.io/cluster-service: "true" - kubernetes.io/name: "CoreDNS" -spec: - selector: - k8s-app: coredns - clusterIP: $CLUSTER_DNS_IP - ports: - - name: dns - port: 53 - protocol: UDP - - name: dns-tcp - port: 53 - protocol: TCP ---- -"@ - - Write-Output $serviceyaml | kubectl apply -f - - - - diff --git a/azure/simple.json b/azure/simple.json deleted file mode 100644 index 4daa84a..0000000 --- a/azure/simple.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "apiVersion": "vlabs", - "properties": { - "orchestratorProfile": { "orchestratorType": "Kubernetes" }, - "masterProfile": { - "count": 3, - "dnsPrefix": "swarmcustommgmt", - "vmSize": "Standard_D2_v2", - "vnetSubnetId": "/subscriptions/REPLACE_WITH_SUB_ID/resourceGroups/REPLACE_WITH_RESOURCE_GROUPE_NAME/providers/Microsoft.Network/virtualNetworks/REPLACE_WITH_VNET_NAME/subnets/SwarmMaster", - "firstConsecutiveStaticIP": "10.100.0.1" - }, - "agentPoolProfiles": [{ - "name": "agentprivate", - "count": 2, - "vmSize": "Standard_D3_v2", - "vnetSubnetId": "/subscriptions/REPLACE_WITH_SUB_ID/resourceGroups/REPLACE_WITH_RESOURCE_GROUPE_NAME/providers/Microsoft.Network/virtualNetworks/REPLACE_WITH_VNET_NAME/subnets/SwarmNode" - }, - { - "name": "agentpublic", - "count": 2, - "vmSize": "Standard_D2_v2", - "dnsPrefix": "swarmpublicagent", - "vnetSubnetId": "/subscriptions/REPLACE_WITH_SUB_ID/resourceGroups/REPLACE_WITH_RESOURCE_GROUPE_NAME/providers/Microsoft.Network/virtualNetworks/REPLACE_WITH_VNET_NAME/subnets/SwarmNode", - "ports": [80, 443] - } - ], - "linuxProfile": { - "adminUsername": "azureuser", - "ssh": { "publicKeys": [{ "keyData": "REPLACE_WITH_YOUR_SSH_PUBLIC_KEY" }] } - }, - "servicePrincipalProfile": "[variables('servicePrincipalFields')[variables('useServicePrincipal')]]" - } -} \ No newline at end of file diff --git a/azure/testfileshare-pod.yml b/azure/testfileshare-pod.yml deleted file mode 100644 index 83b8665..0000000 --- a/azure/testfileshare-pod.yml +++ /dev/null @@ -1,17 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: testfileshare-pod -spec: - containers: - - image: kubernetes/pause - name: azure - volumeMounts: - - name: azure - mountPath: /mnt/azure - volumes: - - name: azure - azureFile: - secretName: azure-secret - shareName: fileshare - readOnly: false \ No newline at end of file diff --git a/azure/translations/en_US/LC_MESSAGES/acsengine.mo b/azure/translations/en_US/LC_MESSAGES/acsengine.mo deleted file mode 100644 index 959e81d01cf760c6408660a87d5418ded0a5893d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2658 zcmeH{O^+Kz5QdwOEUftsa6o{l2rWri#@J3^!z_*nW{nnN#ag@(w`e?5p6O)VJ?ZIj z>>xPt7dRquLgH5-A%w)AKp=s{0f{pb2i~3;$1B4D!F5|IKl4#le!Hrse>i>eGlBIq z>^a!Cu;*dvefYup5hU;@a2q^vLWn-t1oy!Ld;|O%?1F!QJ#goKA|J(&HgI|IK{sO)LZk(!gz63st`yTiywA}!m-_ILW{HX^j zoo&$RoP$p1H=xt`C)fl12P>VQfKKNZ;1>8j=yd*Gb91xO`6B3a9)M2g$Dq^s6-eN( zpwqe8sC1qOoz6Z8nc`s>N+hry0jUBq1VY4Pu+y;Rf_u51!tWC>$PiD$9))46;&B*C zSoRGN55XRB7wc=!7;VUK5J?r&M5atz`72aD_HijHhdYUTbGu-(aDG<~1~e(-a$T5^ zbGUBLL|+#wq7Ks4kLixI3E4&FvXWF}6DG^kEDbC-X_T;G$`f6r5owh!Xw1~E(b+EQL*nKmwLV)T?|Y;vhpS+swSKH~8&a&Xz15UsJU)7j8c|ut+PGv~9ctN=}NC@}aV&z_oVakl0VHiqJH&O^*bCpV38Km;=YILX$ z*QQh<)eP^WWeeP_xm2N6b;)TQgtw|T70YLkt;aV}Q=v_mFjNL8Z&_W}okHE~uUHkf z`aUSq7zQ^3JeRo@g+gz1tROL>E5rTk)hLv?#3Goc%MWWkaA>qs;O$3V9ph6F=B#3= zxN*R4zPv#m%gB4Xh;whGeQFG^jl5nt7Fv1lpmsiWTJ0ULwc~YOqgKmrUEFSA!O=V5 znRHXR?st*eJAUT^V&HcbpM^Ivfy(h&x{|&p0~Mp@impm}^XBp{m2V~5PSNsasHc|^ zr{W@r*&A^%^=VJVsmzmmk9}fwZZ;PDao_ak&|NRE%d|9=Gj1+b|S4*&oF diff --git a/azure/translations/en_US/LC_MESSAGES/acsengine.po b/azure/translations/en_US/LC_MESSAGES/acsengine.po deleted file mode 100644 index d6b886a..0000000 --- a/azure/translations/en_US/LC_MESSAGES/acsengine.po +++ /dev/null @@ -1,121 +0,0 @@ -# English translations for acs-engine package. -# Copyright (C) 2017 -# This file is distributed under the same license as the acs-engine package. -# Jiangtian Li , 2017. -# -msgid "" -msgstr "" -"Project-Id-Version: acsengine\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-07-25 00:04+0000\n" -"PO-Revision-Date: 2017-07-24 17:23-0700\n" -"Last-Translator: Jiangtian Li \n" -"Language-Team: English\n" -"Language: en_US\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 2.0.3\n" - -#: pkg/acsengine/engine.go:239 -#, c-format -msgid "Error reading file %s, Error: %s" -msgstr "Error reading file %s, Error: %s" - -#: pkg/operations/kubernetesupgrade/upgradecluster.go:71 -#, c-format -msgid "Error while querying ARM for resources: %+v" -msgstr "Error while querying ARM for resources: %+v" - -#: pkg/acsengine/transform.go:99 -#, c-format -msgid "Found 2 resources with type %s in the template. There should only be 1" -msgstr "Found 2 resources with type %s in the template. There should only be 1" - -#: pkg/acsengine/transform.go:122 -#, c-format -msgid "Found no resources with type %s in the template. There should have been 1" -msgstr "Found no resources with type %s in the template. There should have been 1" - -#: pkg/operations/kubernetesupgrade/v162upgrader.go:102 -#, c-format -msgid "Total count of master VMs: %d exceeded expected count: %d" -msgstr "Total count of master VMs: %d exceeded expected count: %d" - -#: pkg/operations/kubernetesupgrade/v162upgrader.go:30 -#, c-format -msgid "Upgrade to Kubernetes 1.6.2 is not supported from version: %s" -msgstr "Upgrade to Kubernetes 1.6.2 is not supported from version: %s" - -#: pkg/operations/kubernetesupgrade/upgradecluster.go:86 -#, c-format -msgid "Upgrade to Kubernetes version: %s is not supported from version: %s" -msgstr "Upgrade to Kubernetes version: %s is not supported from version: %s" - -#: pkg/acsengine/filesaver.go:24 -#, c-format -msgid "error creating directory '%s': %s" -msgstr "error creating directory '%s': %s" - -#: pkg/acsengine/engine.go:1194 -#, c-format -msgid "error executing template for file %s: %v" -msgstr "error executing template for file %s: %v" - -#: pkg/operations/kubernetesupgrade/v162upgrader.go:67 -#: pkg/operations/kubernetesupgrade/v162upgrader.go:182 -#: pkg/operations/kubernetesupgrade/v162upgrader.go:295 -#, c-format -msgid "error generating upgrade template: %s" -msgstr "error generating upgrade template: %s" - -#: pkg/acsengine/engine.go:1189 -#, c-format -msgid "error parsing file %s: %v" -msgstr "error parsing file %s: %v" - -#: pkg/api/apiloader.go:24 pkg/api/upgradeapiloader.go:20 -#, c-format -msgid "error reading file %s: %s" -msgstr "error reading file %s: %s" - -#: pkg/acsengine/ssh.go:55 -#, c-format -msgid "failed to create openssh public key string: %q" -msgstr "failed to create openssh public key string: %q" - -#: pkg/acsengine/ssh.go:49 -#, c-format -msgid "failed to generate private key for ssh: %q" -msgstr "failed to generate private key for ssh: %q" - -#: pkg/operations/kubernetesupgrade/v162upgrader.go:289 -#, c-format -msgid "failed to initialize template generator: %s" -msgstr "failed to initialize template generator: %s" - -#: pkg/api/apiloader.go:161 pkg/api/upgradeapiloader.go:70 -#, c-format -msgid "invalid version %s for conversion back from unversioned object" -msgstr "invalid version %s for conversion back from unversioned object" - -#: pkg/acsengine/engine.go:322 -#, c-format -msgid "orchestrator '%s' is unsupported" -msgstr "orchestrator '%s' is unsupported" - -#: pkg/acsengine/engine.go:187 -#, c-format -msgid "template file %s does not exist" -msgstr "template file %s does not exist" - -#: pkg/api/apiloader.go:98 pkg/api/upgradeapiloader.go:51 -#, c-format -msgid "unrecognized APIVersion '%s'" -msgstr "unrecognized APIVersion '%s'" - -#: pkg/acsengine/engine.go:1183 -#, c-format -msgid "yaml file %s does not exist" -msgstr "yaml file %s does not exist" diff --git a/deployments/baremetal.json b/deployments/baremetal.json deleted file mode 100644 index 9aa2c55..0000000 --- a/deployments/baremetal.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "kubectl": { - "version": "" - }, - "azcli": { - "version": "2.0.27" - }, - "azure": { - "resourceGroup": "baremetal", - "location": "eastus", - "create_windows_containers": false, - "use_azure_networking": true, - "acs_engine": { - "version": "v0.13.0" - } - }, - "service_principal": { - "name": "", - "delete_if_exists": true - }, - "storage_account": { - "delete_if_exists": false - }, - "local_folder": "c:\\kubernetes", - "customerid": "hcut", - "ssl": false, - "allow_kubectl_from_outside_vnet": true, - "ingress": { - "external": "public", - "internal": "public", - "external_ip_whitelist": "" - }, - "networking": { - "vnet": "baremetal-vnet", - "subnet": "default", - "subnet_resource_group": "Imran" - }, - "network_security_group": { - "name": "", - "create_nsg_rules": true - }, - "dns": { - "name": "baremetal.healthcatalyst.net", - "create_dns_entries": false, - "dns_resource_group": "dns" - } -} \ No newline at end of file diff --git a/deployments/fabrickubernetes.json b/deployments/fabrickubernetes.json deleted file mode 100644 index f9a55ae..0000000 --- a/deployments/fabrickubernetes.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "kubectl": { - "version": "" - }, - "azcli": { - "version": "2.0.27" - }, - "azure": { - "resourceGroup": "fabrickubernetes", - "location": "eastus", - "create_windows_containers": false, - "use_azure_networking": true, - "acs_engine": { - "version": "v0.13.0" - } - }, - "service_principal": { - "name": "", - "delete_if_exists": true - }, - "storage_account": { - "delete_if_exists": false - }, - "local_folder": "c:\\kubernetes", - "customerid": "hcut", - "ssl": false, - "allow_kubectl_from_outside_vnet": true, - "ingress": { - "external": "public", - "internal": "public", - "external_ip_whitelist": "" - }, - "networking": { - "vnet": "kubnettest", - "subnet": "kubsubnet", - "subnet_resource_group": "Imran" - }, - "network_security_group": { - "name": "", - "create_nsg_rules": false - }, - "dns": { - "name": "fabrickubernetes.eastus.cloudapp.azure.com", - "create_dns_entries": false, - "dns_resource_group": "dns" - } -} \ No newline at end of file diff --git a/deployments/sample.json b/deployments/sample.json deleted file mode 100644 index 2c23783..0000000 --- a/deployments/sample.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "kubectl": { - "version": "" - }, - "azcli": { - "version": "2.0.27" - }, - "azure": { - "resourceGroup": "fabrickubernetes", - "location": "eastus", - "create_windows_containers": false, - "use_azure_networking": true, - "acs_engine": { - "version": "v0.13.0" - } - }, - "service_principal": { - "name": "", - "delete_if_exists": true - }, - "storage_account": { - "delete_if_exists": false - }, - "local_folder": "c:\\kubernetes", - "customerid": "hcut", - "ssl": false, - "allow_kubectl_from_outside_vnet": true, - "ingress": { - "external": "public", - "internal": "public", - "external_ip_whitelist": "" - }, - "networking": { - "vnet": "kubnettest", - "subnet": "kubsubnet", - "subnet_resource_group": "Imran" - }, - "network_security_group": { - "name": "", - "create_nsg_rules": false - }, - "dns": { - "create_dns_entries": false, - "dns_resource_group": "dns" - } -} \ No newline at end of file diff --git a/kubernetes/busybox.yml b/kubernetes/busybox.yml deleted file mode 100644 index d7d81af..0000000 --- a/kubernetes/busybox.yml +++ /dev/null @@ -1,22 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: busybox - namespace: default -spec: - nodeSelector: - node-role.kubernetes.io/master: "" - # https://stackoverflow.com/questions/41999756/how-to-force-pods-deployments-to-master-nodes - # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ - tolerations: - - key: node-role.kubernetes.io/master - operator: Exists - effect: NoSchedule - containers: - - name: busybox - image: busybox - command: - - sleep - - "3600" - imagePullPolicy: IfNotPresent - restartPolicy: Always diff --git a/kubernetes/calico.yaml b/kubernetes/calico.yaml deleted file mode 100644 index 301db5b..0000000 --- a/kubernetes/calico.yaml +++ /dev/null @@ -1,448 +0,0 @@ -# Calico Version v3.0.2 -# https://docs.projectcalico.org/v3.0/releases#v3.0.2 -# This manifest includes the following component versions: -# calico/node:v3.0.2 -# calico/cni:v2.0.0 -# calico/kube-controllers:v2.0.0 - -# This ConfigMap is used to configure a self-hosted Calico installation. -kind: ConfigMap -apiVersion: v1 -metadata: - name: calico-config - namespace: kube-system -data: - # The location of your etcd cluster. This uses the Service clusterIP - # defined below. - etcd_endpoints: "http://10.96.232.136:6666" - - # Configure the Calico backend to use. - calico_backend: "bird" - - # The CNI network configuration to install on each node. - cni_network_config: |- - { - "name": "k8s-pod-network", - "cniVersion": "0.3.0", - "plugins": [ - { - "type": "calico", - "etcd_endpoints": "__ETCD_ENDPOINTS__", - "log_level": "info", - "mtu": 1500, - "ipam": { - "type": "calico-ipam" - }, - "policy": { - "type": "k8s", - "k8s_api_root": "https://__KUBERNETES_SERVICE_HOST__:__KUBERNETES_SERVICE_PORT__", - "k8s_auth_token": "__SERVICEACCOUNT_TOKEN__" - }, - "kubernetes": { - "kubeconfig": "/etc/cni/net.d/__KUBECONFIG_FILENAME__" - } - }, - { - "type": "portmap", - "snat": true, - "capabilities": {"portMappings": true} - } - ] - } - - ---- - -# This manifest installs the Calico etcd on the kubeadm master. This uses a DaemonSet -# to force it to run on the master even when the master isn't schedulable, and uses -# nodeSelector to ensure it only runs on the master. -apiVersion: extensions/v1beta1 -kind: DaemonSet -metadata: - name: calico-etcd - namespace: kube-system - labels: - k8s-app: calico-etcd -spec: - template: - metadata: - labels: - k8s-app: calico-etcd - annotations: - # Mark this pod as a critical add-on; when enabled, the critical add-on scheduler - # reserves resources for critical add-on pods so that they can be rescheduled after - # a failure. This annotation works in tandem with the toleration below. - scheduler.alpha.kubernetes.io/critical-pod: '' - spec: - # Only run this pod on the master. - tolerations: - # this taint is set by all kubelets running `--cloud-provider=external` - # so we should tolerate it to schedule the calico pods - - key: node.cloudprovider.kubernetes.io/uninitialized - value: "true" - effect: NoSchedule - - key: node-role.kubernetes.io/master - effect: NoSchedule - # Allow this pod to be rescheduled while the node is in "critical add-ons only" mode. - # This, along with the annotation above marks this pod as a critical add-on. - - key: CriticalAddonsOnly - operator: Exists - nodeSelector: - node-role.kubernetes.io/master: "" - hostNetwork: true - containers: - - name: calico-etcd - image: quay.io/coreos/etcd:v3.1.10 - env: - - name: CALICO_ETCD_IP - valueFrom: - fieldRef: - fieldPath: status.podIP - command: - - /usr/local/bin/etcd - args: - - --name=calico - - --data-dir=/var/etcd/calico-data - - --advertise-client-urls=http://$CALICO_ETCD_IP:6666 - - --listen-client-urls=http://0.0.0.0:6666 - - --listen-peer-urls=http://0.0.0.0:6667 - - --auto-compaction-retention=1 - volumeMounts: - - name: var-etcd - mountPath: /var/etcd - volumes: - - name: var-etcd - hostPath: - path: /var/etcd - ---- - -# This manifest installs the Service which gets traffic to the Calico -# etcd. -apiVersion: v1 -kind: Service -metadata: - labels: - k8s-app: calico-etcd - name: calico-etcd - namespace: kube-system -spec: - # Select the calico-etcd pod running on the master. - selector: - k8s-app: calico-etcd - # This ClusterIP needs to be known in advance, since we cannot rely - # on DNS to get access to etcd. - clusterIP: 10.96.232.136 - ports: - - port: 6666 - ---- - -# This manifest installs the calico/node container, as well -# as the Calico CNI plugins and network config on -# each master and worker node in a Kubernetes cluster. -kind: DaemonSet -apiVersion: extensions/v1beta1 -metadata: - name: calico-node - namespace: kube-system - labels: - k8s-app: calico-node -spec: - selector: - matchLabels: - k8s-app: calico-node - updateStrategy: - type: RollingUpdate - rollingUpdate: - maxUnavailable: 1 - template: - metadata: - labels: - k8s-app: calico-node - annotations: - # Mark this pod as a critical add-on; when enabled, the critical add-on scheduler - # reserves resources for critical add-on pods so that they can be rescheduled after - # a failure. This annotation works in tandem with the toleration below. - scheduler.alpha.kubernetes.io/critical-pod: '' - spec: - hostNetwork: true - tolerations: - # this taint is set by all kubelets running `--cloud-provider=external` - # so we should tolerate it to schedule the calico pods - - key: node.cloudprovider.kubernetes.io/uninitialized - value: "true" - effect: NoSchedule - - key: node-role.kubernetes.io/master - effect: NoSchedule - # Allow this pod to be rescheduled while the node is in "critical add-ons only" mode. - # This, along with the annotation above marks this pod as a critical add-on. - - key: CriticalAddonsOnly - operator: Exists - serviceAccountName: calico-cni-plugin - # Minimize downtime during a rolling upgrade or deletion; tell Kubernetes to do a "force - # deletion": https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods. - terminationGracePeriodSeconds: 0 - containers: - # Runs calico/node container on each Kubernetes node. This - # container programs network policy and routes on each - # host. - - name: calico-node - image: quay.io/calico/node:v3.0.2 - env: - # The location of the Calico etcd cluster. - - name: ETCD_ENDPOINTS - valueFrom: - configMapKeyRef: - name: calico-config - key: etcd_endpoints - # Enable BGP. Disable to enforce policy only. - - name: CALICO_NETWORKING_BACKEND - valueFrom: - configMapKeyRef: - name: calico-config - key: calico_backend - # Cluster type to identify the deployment type - - name: CLUSTER_TYPE - value: "kubeadm,bgp" - # Disable file logging so `kubectl logs` works. - - name: CALICO_DISABLE_FILE_LOGGING - value: "true" - # Set noderef for node controller. - - name: CALICO_K8S_NODE_REF - valueFrom: - fieldRef: - fieldPath: spec.nodeName - # Set Felix endpoint to host default action to ACCEPT. - - name: FELIX_DEFAULTENDPOINTTOHOSTACTION - value: "ACCEPT" - # Configure the IP Pool from which Pod IPs will be chosen. - - name: CALICO_IPV4POOL_CIDR - value: "192.168.0.0/16" - - name: CALICO_IPV4POOL_IPIP - value: "Always" - # Disable IPv6 on Kubernetes. - - name: FELIX_IPV6SUPPORT - value: "false" - # Set MTU for tunnel device used if ipip is enabled - - name: FELIX_IPINIPMTU - value: "1440" - # Set Felix logging to "info" - - name: FELIX_LOGSEVERITYSCREEN - value: "info" - # Auto-detect the BGP IP address. - - name: IP - value: "" - - name: FELIX_HEALTHENABLED - value: "true" - securityContext: - privileged: true - resources: - requests: - cpu: 250m - livenessProbe: - httpGet: - path: /liveness - port: 9099 - periodSeconds: 10 - initialDelaySeconds: 10 - failureThreshold: 6 - readinessProbe: - httpGet: - path: /readiness - port: 9099 - periodSeconds: 10 - volumeMounts: - - mountPath: /lib/modules - name: lib-modules - readOnly: true - - mountPath: /var/run/calico - name: var-run-calico - readOnly: false - # This container installs the Calico CNI binaries - # and CNI network config file on each node. - - name: install-cni - image: quay.io/calico/cni:v2.0.0 - command: ["/install-cni.sh"] - env: - # Name of the CNI config file to create. - - name: CNI_CONF_NAME - value: "10-calico.conflist" - # The location of the Calico etcd cluster. - - name: ETCD_ENDPOINTS - valueFrom: - configMapKeyRef: - name: calico-config - key: etcd_endpoints - # The CNI network config to install on each node. - - name: CNI_NETWORK_CONFIG - valueFrom: - configMapKeyRef: - name: calico-config - key: cni_network_config - volumeMounts: - - mountPath: /host/opt/cni/bin - name: cni-bin-dir - - mountPath: /host/etc/cni/net.d - name: cni-net-dir - volumes: - # Used by calico/node. - - name: lib-modules - hostPath: - path: /lib/modules - - name: var-run-calico - hostPath: - path: /var/run/calico - # Used to install CNI. - - name: cni-bin-dir - hostPath: - path: /opt/cni/bin - - name: cni-net-dir - hostPath: - path: /etc/cni/net.d - ---- - -# This manifest deploys the Calico Kubernetes controllers. -# See https://github.com/projectcalico/kube-controllers -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - name: calico-kube-controllers - namespace: kube-system - labels: - k8s-app: calico-kube-controllers -spec: - # The controllers can only have a single active instance. - replicas: 1 - strategy: - type: Recreate - template: - metadata: - name: calico-kube-controllers - namespace: kube-system - labels: - k8s-app: calico-kube-controllers - annotations: - # Mark this pod as a critical add-on; when enabled, the critical add-on scheduler - # reserves resources for critical add-on pods so that they can be rescheduled after - # a failure. This annotation works in tandem with the toleration below. - scheduler.alpha.kubernetes.io/critical-pod: '' - spec: - # The controllers must run in the host network namespace so that - # it isn't governed by policy that would prevent it from working. - hostNetwork: true - tolerations: - # this taint is set by all kubelets running `--cloud-provider=external` - # so we should tolerate it to schedule the calico pods - - key: node.cloudprovider.kubernetes.io/uninitialized - value: "true" - effect: NoSchedule - - key: node-role.kubernetes.io/master - effect: NoSchedule - # Allow this pod to be rescheduled while the node is in "critical add-ons only" mode. - # This, along with the annotation above marks this pod as a critical add-on. - - key: CriticalAddonsOnly - operator: Exists - serviceAccountName: calico-kube-controllers - containers: - - name: calico-kube-controllers - image: quay.io/calico/kube-controllers:v2.0.0 - env: - # The location of the Calico etcd cluster. - - name: ETCD_ENDPOINTS - valueFrom: - configMapKeyRef: - name: calico-config - key: etcd_endpoints - # The location of the Kubernetes API. Use the default Kubernetes - # service for API access. - - name: K8S_API - value: "https://kubernetes.default:443" - # Choose which controllers to run. - - name: ENABLED_CONTROLLERS - value: policy,profile,workloadendpoint,node - # Since we're running in the host namespace and might not have KubeDNS - # access, configure the container's /etc/hosts to resolve - # kubernetes.default to the correct service clusterIP. - - name: CONFIGURE_ETC_HOSTS - value: "true" - ---- - -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRoleBinding -metadata: - name: calico-cni-plugin -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: calico-cni-plugin -subjects: -- kind: ServiceAccount - name: calico-cni-plugin - namespace: kube-system - ---- - -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1beta1 -metadata: - name: calico-cni-plugin -rules: - - apiGroups: [""] - resources: - - pods - - nodes - verbs: - - get - ---- - -apiVersion: v1 -kind: ServiceAccount -metadata: - name: calico-cni-plugin - namespace: kube-system - ---- - -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRoleBinding -metadata: - name: calico-kube-controllers -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: calico-kube-controllers -subjects: -- kind: ServiceAccount - name: calico-kube-controllers - namespace: kube-system - ---- - -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1beta1 -metadata: - name: calico-kube-controllers -rules: - - apiGroups: - - "" - - extensions - resources: - - pods - - namespaces - - networkpolicies - - nodes - verbs: - - watch - - list - ---- - -apiVersion: v1 -kind: ServiceAccount -metadata: - name: calico-kube-controllers - namespace: kube-system diff --git a/kubernetes/cleannode.sh b/kubernetes/cleannode.sh deleted file mode 100644 index 4ed7ea4..0000000 --- a/kubernetes/cleannode.sh +++ /dev/null @@ -1,8 +0,0 @@ - -sudo kubeadm reset -sudo yum remove -y kubelet kubeadm kubectl kubernetes-cni - -sudo yum -y remove docker-engine.x86_64 docker-ce docker-engine-selinux.noarch docker-cimprov.x86_64 -sudo rm -rf /var/lib/docker - -sudo shutdown -r now diff --git a/kubernetes/common-kube.ps1 b/kubernetes/common-kube.ps1 deleted file mode 100644 index 1e30314..0000000 --- a/kubernetes/common-kube.ps1 +++ /dev/null @@ -1,345 +0,0 @@ -# this file contains common functions for kubernetes -$versionkubecommon = "2018.03.27.05" - -$set = "abcdefghijklmnopqrstuvwxyz0123456789".ToCharArray() -$randomstring += $set | Get-Random - -Write-Host "Including common-kube.ps1 version $versionkubecommon" -function global:GetCommonKubeVersion() { - return $versionkubecommon -} - -function global:ReadSecretValue([ValidateNotNullOrEmpty()] $secretname, [ValidateNotNullOrEmpty()] $valueName, $namespace) { - if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} - - $secretbase64 = kubectl get secret $secretname -o jsonpath="{.data.${valueName}}" -n $namespace --ignore-not-found=true 2> $null - - if (![string]::IsNullOrWhiteSpace($secretbase64)) { - $secretvalue = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($secretbase64)) - return $secretvalue - } - - return ""; -} - -function global:ReadSecret([ValidateNotNullOrEmpty()] $secretname, $namespace) { - return ReadSecretValue -secretname $secretname -valueName "value" -namespace $namespace -} - -function global:ReadSecretPassword([ValidateNotNullOrEmpty()] $secretname, $namespace) { - return ReadSecretValue -secretname $secretname -valueName "password" -namespace $namespace -} - -function global:GeneratePassword() { - $Length = 3 - $set1 = "abcdefghijklmnopqrstuvwxyz".ToCharArray() - $set2 = "0123456789".ToCharArray() - $set3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".ToCharArray() - $set4 = "!.*@".ToCharArray() - $result = "" - for ($x = 0; $x -lt $Length; $x++) { - $result += $set1 | Get-Random - $result += $set2 | Get-Random - $result += $set3 | Get-Random - $result += $set4 | Get-Random - } - return $result -} - -function global:SaveSecretValue([ValidateNotNullOrEmpty()] $secretname, [ValidateNotNullOrEmpty()] $valueName, $value, $namespace) { - # secretname must be lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character - if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} - - if (![string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data}' --ignore-not-found=true))) { - kubectl delete secret $secretname -n $namespace - } - - kubectl create secret generic $secretname --namespace=$namespace --from-literal=${valueName}=$value -} - -function global:AskForPassword ([ValidateNotNullOrEmpty()] $secretname, $prompt, $namespace) { - if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} - if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data}' --ignore-not-found=true))) { - - $mysqlrootpassword = "" - # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html - # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script - Do { - $mysqlrootpasswordsecure = Read-host "$prompt (leave empty for auto-generated)" -AsSecureString - if ($mysqlrootpasswordsecure.Length -lt 1) { - $mysqlrootpassword = GeneratePassword - } - else { - $mysqlrootpassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($mysqlrootpasswordsecure)) - } - } - while (($mysqlrootpassword -notmatch "^[a-z0-9!.*@\s]+$") -or ($mysqlrootpassword.Length -lt 8 )) - kubectl create secret generic $secretname --namespace=$namespace --from-literal=password=$mysqlrootpassword - } - else { - Write-Host "$secretname secret already set so will reuse it" - } -} - -function global:GenerateSecretPassword ([ValidateNotNullOrEmpty()] $secretname, $namespace) { - if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} - if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data}' --ignore-not-found=true))) { - - $mysqlrootpassword = "" - # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html - # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script - Do { - $mysqlrootpassword = GeneratePassword - } - while (($mysqlrootpassword -notmatch "^[a-z0-9!.*@\s]+$") -or ($mysqlrootpassword.Length -lt 8 )) - kubectl create secret generic $secretname --namespace=$namespace --from-literal=password=$mysqlrootpassword - } - else { - Write-Host "$secretname secret already set so will reuse it" - } -} - -function global:AskForPasswordAnyCharacters ([ValidateNotNullOrEmpty()] $secretname, $prompt, $namespace, $defaultvalue) { - if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} - if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data}' --ignore-not-found=true))) { - - $mysqlrootpassword = "" - # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html - # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script - Do { - $mysqlrootpasswordsecure = Read-host "$prompt (leave empty for default)" -AsSecureString - if ($mysqlrootpasswordsecure.Length -lt 1) { - $mysqlrootpassword = $defaultvalue - } - else { - $mysqlrootpassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($mysqlrootpasswordsecure)) - } - } - while (($mysqlrootpassword.Length -lt 8 ) -and (!("$mysqlrootpassword" -eq "$defaultvalue"))) - kubectl create secret generic $secretname --namespace=$namespace --from-literal=password=$mysqlrootpassword - } - else { - Write-Host "$secretname secret already set so will reuse it" - } -} - -function global:AskForSecretValue ([ValidateNotNullOrEmpty()] $secretname, $prompt, $namespace) { - if ([string]::IsNullOrWhiteSpace($namespace)) { $namespace = "default"} - if ([string]::IsNullOrWhiteSpace($(kubectl get secret $secretname -n $namespace -o jsonpath='{.data}' --ignore-not-found=true))) { - - $certhostname = "" - Do { - $certhostname = Read-host "$prompt" - } - while ($certhostname.Length -lt 1 ) - - kubectl create secret generic $secretname --namespace=$namespace --from-literal=value=$certhostname - } - else { - Write-Host "$secretname secret already set so will reuse it" - } -} - -function global:ReadYamlAndReplaceCustomer([ValidateNotNullOrEmpty()] $baseUrl, [ValidateNotNullOrEmpty()] $templateFile, $customerid ) { - Write-Host "Reading from url: ${baseUrl}/${templateFile}" - - if ($baseUrl.StartsWith("http")) { - Invoke-WebRequest -Uri "${baseUrl}/${templateFile}?f=${randomstring}" -UseBasicParsing -ContentType "text/plain; charset=utf-8" ` - | Select-Object -Expand Content ` - | Foreach-Object {$_ -replace 'CUSTOMERID', "$customerid"} - } - else { - # Write-Host "Reading from local file: $GITHUB_URL/$templateFile" - Get-Content -Path "$baseUrl/$templateFile" ` - | Foreach-Object {$_ -replace 'CUSTOMERID', "$customerid"} - } -} - -# $files is a list of files separated by spaces -function global:DownloadAndDeployYamlFiles([ValidateNotNullOrEmpty()] $folder, [ValidateNotNullOrEmpty()] $files, [ValidateNotNullOrEmpty()] $baseUrl, [ValidateNotNullOrEmpty()] $customerid, $public_ip ) { - [hashtable]$Return = @{} - - foreach ($file in $files.Split(" ")) { - if ([string]::IsNullOrEmpty($public_ip)) { - ReadYamlAndReplaceCustomer -baseUrl $baseUrl -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - - } - else { - ReadYamlAndReplaceCustomer -baseUrl $baseUrl -templateFile "${folder}/${file}" -customerid $customerid ` - | Foreach-Object {$_ -replace 'PUBLICIP', "$publicip"} ` - | kubectl apply -f - - } - } - - return $Return -} - -# from https://github.com/majkinetor/posh/blob/master/MM_Network/Stop-ProcessByPort.ps1 -function global:Stop-ProcessByPort( [ValidateNotNullOrEmpty()] [int] $Port ) { - $netstat = netstat.exe -ano | Select-Object -Skip 4 - $p_line = $netstat | Where-Object { $p = ( -split $_ | Select-Object -Index 1) -split ':' | Select-Object -Last 1; $p -eq $Port } | Select-Object -First 1 - if (!$p_line) { Write-Host "No process found using port" $Port; return } - $p_id = $p_line -split '\s+' | Select-Object -Last 1 - if (!$p_id) { throw "Can't parse process id for port $Port" } - - Read-Host "There is another process running on this port. Click ENTER to open an elevated prompt to stop that process." - - Start-Process powershell -verb RunAs -ArgumentList "Stop-Process $p_id -Force" -} - - - -function global:CleanOutNamespace([ValidateNotNullOrEmpty()] $namespace) { - [hashtable]$Return = @{} - - Write-Host "--- Cleaning out any old resources in $namespace ---" - - # note kubectl doesn't like spaces in between commas below - kubectl delete --all 'deployments,pods,services,ingress,persistentvolumeclaims,jobs,cronjobs' --namespace=$namespace --ignore-not-found=true - - # can't delete persistent volume claims since they are not scoped to namespace - kubectl delete 'pv' -l namespace=$namespace --ignore-not-found=true - - $CLEANUP_DONE = "n" - Do { - $CLEANUP_DONE = $(kubectl get 'deployments,pods,services,ingress,persistentvolumeclaims,jobs,cronjobs' --namespace=$namespace -o jsonpath="{.items[*].metadata.name}") - if (![string]::IsNullOrEmpty($CLEANUP_DONE)) { - Write-Host "Remaining items: $CLEANUP_DONE" - Start-Sleep 5 - } - } - while (![string]::IsNullOrEmpty($CLEANUP_DONE)) - - return $Return -} - -function global:SwitchToKubCluster([ValidateNotNullOrEmpty()] $folderToUse) { - - [hashtable]$Return = @{} - - $fileToUse = "${folderToUse}\temp\.kube\config" - - Write-Host "Checking if file exists: $fileToUse" - - if (Test-Path -Path $fileToUse) { - $userKubeConfigFolder = "${env:userprofile}\.kube" - If (!(Test-Path $userKubeConfigFolder)) { - Write-Output "Creating $userKubeConfigFolder" - New-Item -ItemType Directory -Force -Path "$userKubeConfigFolder" - } - - $destinationFile = "${userKubeConfigFolder}\config" - Write-Host "Copying $fileToUse to $destinationFile" - Copy-Item -Path "$fileToUse" -Destination "$destinationFile" - # set environment variable KUBECONFIG to point to this location - $env:KUBECONFIG = "$destinationFile" - [Environment]::SetEnvironmentVariable("KUBECONFIG", "$destinationFile", [EnvironmentVariableTarget]::User) - Write-Host "Current cluster: $(kubectl config current-context)" - } - else { - Write-Error "$fileToUse not found" - } - - return $Return -} -function global:CleanKubConfig() { - Write-Host "Clearing out kube config" - $userKubeConfigFolder = "$env:userprofile\.kube" - $destinationFile = "${userKubeConfigFolder}\config" - Remove-Item -Path "$destinationFile" -Force - # set environment variable KUBECONFIG to point to this location - $env:KUBECONFIG = "" - [Environment]::SetEnvironmentVariable("KUBECONFIG", "", [EnvironmentVariableTarget]::User) -} - -function global:CleanSecrets([ValidateNotNullOrEmpty()] $namespace) { - kubectl delete secret mysqlrootpassword -n $namespace --ignore-not-found=true - kubectl delete secret mysqlpassword -n $namespace --ignore-not-found=true - kubectl delete secret certhostname -n $namespace --ignore-not-found=true - kubectl delete secret certpassword -n $namespace --ignore-not-found=true - kubectl delete secret rabbitmqmgmtuipassword -n $namespace --ignore-not-found=true -} - -function global:DeployYamlFiles([ValidateNotNullOrEmpty()] $namespace, [ValidateNotNullOrEmpty()] $baseUrl, [ValidateNotNullOrEmpty()] $appfolder, [ValidateNotNullOrEmpty()] $folder, [ValidateNotNullOrEmpty()] $customerid, $resources){ - [hashtable]$Return = @{} - - Write-Host "-- Deploying $folder --" - foreach ($file in $resources) { - ReadYamlAndReplaceCustomer -baseUrl $baseUrl -templateFile "${appfolder}/${folder}/${file}" -customerid $customerid | kubectl apply -f - - } - return $Return -} -function global:LoadStack([ValidateNotNullOrEmpty()] $namespace, [ValidateNotNullOrEmpty()] $baseUrl, [ValidateNotNullOrEmpty()] $appfolder, $isAzure) { - [hashtable]$Return = @{} - - if ([string]::IsNullOrWhiteSpace($(kubectl get namespace $namespace --ignore-not-found=true))) { - Write-Host "namespace $namespace does not exist so creating it" - kubectl create namespace $namespace - } - - $configpath = "$baseUrl/${appfolder}/index.json" - $config = $(Invoke-WebRequest -useb $configpath | ConvertFrom-Json) - - # $configpath="./$appfolder/index.json" - # $config = $(Get-Content "$configpath" -Raw | ConvertFrom-Json) - - Write-Host "Installing stack $($config.name) version $($config.version) from $configpath" - - foreach ($secret in $($config.secrets.password)) { - GenerateSecretPassword -secretname "$secret" -namespace "$namespace" - } - foreach ($secret in $($config.secrets.value)) { - # AskForSecretValue -secretname "$secret" -prompt "Client Certificate hostname" -namespace "$namespace" - if($secret -is [String]){ - AskForSecretValue -secretname "$secret" -prompt "Client Certificate hostname" -namespace "$namespace" - } - else { - $sourceSecretName = $($secret.valueFromSecret.name) - $sourceSecretNamespace = $($secret.valueFromSecret.namespace) - $value = ReadSecret -secretname $sourceSecretName -namespace $sourceSecretNamespace - Write-Host "Setting secret [$($secret.name)] to secret [$sourceSecretName] in namespace [$sourceSecretNamespace] with value [$value]" - SaveSecretValue -secretname "$($secret.name)" -valueName "value" -value $value -namespace "$namespace" - } - } - - CleanOutNamespace -namespace $namespace - - $customerid = ReadSecret -secretname customerid - $customerid = $customerid.ToLower().Trim() - Write-Output "Customer ID: $customerid" - - if ($isAzure) { - DeployYamlFiles -namespace $namespace -baseUrl $baseUrl -appfolder $appfolder -folder "volumes/azure" -customerid $customerid -resources $($config.resources.volumes.azure) - } - else { - DeployYamlFiles -namespace $namespace -baseUrl $baseUrl -appfolder $appfolder -folder "volumes/onprem" -customerid $customerid -resources $($config.resources.volumes.onprem) - } - - DeployYamlFiles -namespace $namespace -baseUrl $baseUrl -appfolder $appfolder -folder "pods" -customerid $customerid -resources $($config.resources.pods) - - DeployYamlFiles -namespace $namespace -baseUrl $baseUrl -appfolder $appfolder -folder "services/cluster" -customerid $customerid -resources $($config.resources.services.cluster) - - DeployYamlFiles -namespace $namespace -baseUrl $baseUrl -appfolder $appfolder -folder "services/external" -customerid $customerid -resources $($config.resources.services.external) - - DeployYamlFiles -namespace $namespace -baseUrl $baseUrl -appfolder $appfolder -folder "ingress/http" -customerid $customerid -resources $($config.resources.ingress.http) - - DeployYamlFiles -namespace $namespace -baseUrl $baseUrl -appfolder $appfolder -folder "ingress/tcp" -customerid $customerid -resources $($config.resources.ingress.tcp) - - return $Return -} - -# from http://www.bricelam.net/2012/09/simple-template-engine-for-powershell.html -function Merge-Tokens($template, $tokens) -{ - return [regex]::Replace( - $template, - '\$(?\w+)\$', - { - param($match) - - $tokenName = $match.Groups['tokenName'].Value - - return $tokens[$tokenName] - }) -} -# -------------------- -Write-Host "end common-kube.ps1 version $versioncommon" \ No newline at end of file diff --git a/kubernetes/common.sh b/kubernetes/common.sh deleted file mode 100644 index f1c4102..0000000 --- a/kubernetes/common.sh +++ /dev/null @@ -1,289 +0,0 @@ - -versioncommon="2018.03.19.01" - -echo "--- Including common.sh version $versioncommon ---" -function GetCommonVersion() { - echo $versioncommon -} - -function Write-Output() -{ - echo $1 -} - -function Write-Host() -{ - echo $1 -} - -function ReplaceText(){ - local currentText=$1 - local replacementText=$2 - -# have to do this to preserve the tabs in the file per https://askubuntu.com/questions/267384/using-read-without-losing-the-tab - old_IFS=$IFS # save the field separator - IFS=$'\n' # new field separator, the end of line - - while read -r line || [[ -n $line ]]; do echo "${line//$1/$2}"; done - - IFS=$old_IFS # restore default field separator -} - -function ReadYamlAndReplaceCustomer () { - local baseUrl=$1 - local templateFile=$2 - local customerid=$3 - - curl -sSL "$baseUrl/$templateFile?p=$RANDOM" \ - | ReplaceText CUSTOMERID $customerid -} - -function ReadSecretValue() { - local secretname=$1 - local valueName=$2 - local namespace=$3 - if [[ -z "$namespace" ]]; then - namespace="default" - fi - - secretbase64=$(kubectl get secret $secretname -o jsonpath="{.data.${valueName}}" -n $namespace --ignore-not-found=true) - - if [[ ! -z "$secretbase64" ]]; then - secretvalue=$(echo $secretbase64 | base64 --decode) - echo $secretvalue - else - echo ""; - fi -} - -function ReadSecret() { - local secretname=$1 - local namespace=$2 - ReadSecretValue $secretname "value" $namespace -} - -function ReadSecretPassword() { - local secretname=$1 - local namespace=$2 - - ReadSecretValue $secretname "password" $namespace -} - -function SaveSecretValue() { - local secretname=$1 - local valueName=$2 - local myvalue=$3 - local namespace=$4 - - # secretname must be lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character - if [[ -z "$namespace" ]]; then - namespace="default" - fi - - if [[ ! -z "$(kubectl get secret $secretname -n $namespace -o jsonpath='{.data}' --ignore-not-found=true)" ]]; then - kubectl delete secret $secretname -n $namespace - fi - - kubectl create secret generic $secretname --namespace=$namespace --from-literal=${valueName}=$myvalue -} - -function GeneratePassword() { - local Length=3 - local set1="abcdefghijklmnopqrstuvwxyz" - local set2="0123456789" - local set3="ABCDEFGHIJKLMNOPQRSTUVWXYZ" - local set4='!.*@' - local result="" - - # bash loops: https://www.cyberciti.biz/faq/bash-for-loop/ - for (( c=1; c<$Length; c++ )) - do - result="${result}${set1:RANDOM%${#set1}:1}" - result="${result}${set2:RANDOM%${#set2}:1}" - result="${result}${set3:RANDOM%${#set3}:1}" - result="${result}${set4:RANDOM%${#set4}:1}" - done - echo $result -} - -function AskForPassword () { - local secretname=$1 - local prompt=$2 - local namespace=$3 - - if [[ -z "$namespace" ]]; then - namespace="default" - fi - - if [[ -z "$(kubectl get secret $secretname -n $namespace -o jsonpath='{.data}' --ignore-not-found=true)" ]]; then - mysqlrootpassword="" - # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html - # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script - read -p "$prompt (leave empty for auto-generated)" mypasswordsecure < /dev/tty - echo "" # to get a new line - if [[ -z "$mypasswordsecure" ]]; then - mypassword="$(GeneratePassword)" - else - mypassword=$mypasswordsecure - fi - - kubectl create secret generic $secretname --namespace=$namespace --from-literal=password=$mypassword - else - Write-Output "$secretname secret already set so will reuse it" - fi -} - -function AskForPasswordAnyCharacters () { - local secretname=$1 - local prompt=$2 - local namespace=$3 - local defaultvalue=$4 - - if [[ -z "$namespace" ]]; then - namespace="default" - fi - - if [[ -z "$(kubectl get secret $secretname -n $namespace -o jsonpath='{.data}' --ignore-not-found=true)" ]]; then - mysqlrootpassword="" - # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html - # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script - read -p "$prompt (leave empty for auto-generated)" mypasswordsecure < /dev/tty - echo "" # to get a new line - if [[ -z "$mypasswordsecure" ]]; then - mypassword="$defaultvalue" - else - mypassword=$mypasswordsecure - fi - kubectl create secret generic $secretname --namespace=$namespace --from-literal=password=$mypassword - else - Write-Output "$secretname secret already set so will reuse it" - fi -} - -function AskForSecretValue () { - local secretname=$1 - local prompt=$2 - local namespace=$3 - - if [[ -z "$namespace" ]]; then - namespace="default" - fi - - if [[ -z "$(kubectl get secret $secretname -n $namespace -o jsonpath='{.data}' --ignore-not-found=true)" ]]; then - # MySQL password requirements: https://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html - # we also use sed to replace configs: https://unix.stackexchange.com/questions/32907/what-characters-do-i-need-to-escape-when-using-sed-in-a-sh-script - read -p "${prompt}: " myvalue < /dev/tty - kubectl create secret generic $secretname --namespace=$namespace --from-literal=value=$myvalue - else - Write-Output "$secretname secret already set so will reuse it" - fi -} - - -function WaitForPodsInNamespace(){ - local namespace="$1" - local interval=$2 - - pods=$(kubectl get pods -n $namespace -o jsonpath='{.items[*].metadata.name}') - waitingonPod="n" - while [[ ! -z $waitingonPod ]]; do - waitingonPod="" - echo "---- waiting until all pods are running ---" - - for pod in $pods; do - podstatus=$(kubectl get pods $pod -n $namespace -o jsonpath='{.status.phase}') - if [[ $podstatus != "Running" ]]; then - echo "$pod: $podstatus" - waitingonPod=$pod - fi - done - sleep $interval - done -} - -function mountSMB(){ - while [[ -z "$pathToShare" ]]; do - read -p "path to SMB share (e.g., //myserver.mydomain/myshare): " pathToShare < /dev/tty - done - while [[ -z "$username" ]]; do - read -p "username: " username < /dev/tty - done - while [[ -z "$password" ]]; do - read -p "password: " password < /dev/tty - done - - mountSMBWithParams $pathToShare $username $password -} - -function mountAzureFile(){ - while [[ -z "$storageAccountName" ]]; do - read -p "Storage Account Name: " storageAccountName < /dev/tty - done - while [[ -z "$shareName" ]]; do - read -p "Storage Share Name: " shareName < /dev/tty - done - pathToShare="//${storageAccountName}.file.core.windows.net/${shareName}" - username="$storageAccountName" - while [[ -z "$storageAccountKey" ]]; do - read -p "storage account key: " storageAccountKey < /dev/tty - done - - mountSMBWithParams $pathToShare $username $storageAccountKey -} - - -function mountSMBWithParams(){ - local pathToShare=$1 - local username=$2 # - local password=$3 - - # save as secret - # secretname="sharedfolder" - # namespace="default" - # if [[ ! -z "$(kubectl get secret $secretname -n $namespace -o jsonpath='{.data}' --ignore-not-found=true)" ]]; then - # kubectl delete secret $secretname -n $namespace - # fi - - # kubectl create secret generic $secretname --namespace=$namespace --from-literal=path=$pathToShare --from-literal=username=$username --from-literal=password=$password - - # from: https://docs.microsoft.com/en-us/azure/storage/files/storage-how-to-use-files-linux - sudo yum -y install samba-client samba-common cifs-utils - - sudo mkdir -p /mnt/data - - # sudo mount -t cifs $pathToShare /mnt/data -o vers=2.1,username=,password=,dir_mode=0777,file_mode=0777,serverino - - # remove previous entry for this drive - grep -v "/mnt/data" /etc/fstab | sudo tee /etc/fstab > /dev/null - - echo "$pathToShare /mnt/data cifs nofail,vers=2.1,username=$username,password=$password,dir_mode=0777,file_mode=0777,serverino" | sudo tee -a /etc/fstab > /dev/null - - sudo mount -a - - touch "/mnt/data/$(hostname).txt" - - echo "Listing files in shared folder" - ls -al /mnt/data -} - -function CleanOutNamespace(){ - local namespace=$1 - - echo "--- Cleaning out any old resources in $namespace ---" - - # note kubectl doesn't like spaces in between commas below - kubectl delete --all 'deployments,pods,services,ingress,persistentvolumeclaims,jobs,cronjobs' --namespace=$namespace --ignore-not-found=true - - # can't delete persistent volume claims since they are not scoped to namespace - kubectl delete 'pv' -l namespace=$namespace --ignore-not-found=true - - REMAINING_ITEMS="n" - while [[ ! -z "$REMAINING_ITEMS" ]]; do - REMAINING_ITEMS=$(kubectl get 'deployments,pods,services,ingress,persistentvolumeclaims' --namespace=$namespace -o jsonpath="{.items[*].metadata.name}") - echo "Waiting on: $REMAINING_ITEMS" - if [[ ! -z "$REMAINING_ITEMS" ]]; then - sleep 5 - fi - done -} -echo "--- Finished including common.sh version $versioncommon ---" diff --git a/kubernetes/dashboard/index.json b/kubernetes/dashboard/index.json deleted file mode 100644 index a999d72..0000000 --- a/kubernetes/dashboard/index.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "Dashboard", - "version": "4.0.0.2", - "secrets": { - "password": [], - "value": [] - }, - "resources": { - "dns": [], - "configmaps": [], - "roles": [ - "heapster-rbac.yaml", - "dashboard-user.yaml" - ], - "volumes": { - "onprem": [], - "azure": [] - }, - "volumeclaims": [], - "pods": [ - "influxdb.yaml", - "grafana.yaml", - "heapster.yaml", - "kubernetes-dashboard.yaml" - ], - "services": { - "cluster": [], - "external": [] - }, - "ingress": { - "http": [ - "dashboard.yaml" - ], - "tcp": [] - } - } -} \ No newline at end of file diff --git a/kubernetes/dashboard/ingress/http/dashboard.yaml b/kubernetes/dashboard/ingress/http/dashboard.yaml deleted file mode 100644 index e3841d4..0000000 --- a/kubernetes/dashboard/ingress/http/dashboard.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: kubernetes-dashboard-ingress - namespace: kube-system - labels: - k8s-traefik: traefik - expose: external - annotations: - kubernetes.io/ingress.class: traefik - traefik.frontend.rule.type: PathPrefixStrip -spec: - rules: - - http: - paths: - - path: /api - backend: - serviceName: kubernetes-dashboard - servicePort: 443 \ No newline at end of file diff --git a/kubernetes/dashboard/pods/grafana.yaml b/kubernetes/dashboard/pods/grafana.yaml deleted file mode 100644 index 0bd3572..0000000 --- a/kubernetes/dashboard/pods/grafana.yaml +++ /dev/null @@ -1,72 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - name: monitoring-grafana - namespace: kube-system -spec: - replicas: 1 - template: - metadata: - labels: - task: monitoring - k8s-app: grafana - spec: - containers: - - name: grafana - image: k8s.gcr.io/heapster-grafana-amd64:v4.4.3 - ports: - - containerPort: 3000 - protocol: TCP - volumeMounts: - - mountPath: /etc/ssl/certs - name: ca-certificates - readOnly: true - - mountPath: /var - name: grafana-storage - env: - - name: INFLUXDB_HOST - value: monitoring-influxdb - - name: GF_SERVER_HTTP_PORT - value: "3000" - # The following env variables are required to make Grafana accessible via - # the kubernetes api-server proxy. On production clusters, we recommend - # removing these env variables, setup auth for grafana, and expose the grafana - # service using a LoadBalancer or a public IP. - - name: GF_AUTH_BASIC_ENABLED - value: "false" - - name: GF_AUTH_ANONYMOUS_ENABLED - value: "true" - - name: GF_AUTH_ANONYMOUS_ORG_ROLE - value: Admin - - name: GF_SERVER_ROOT_URL - # If you're only using the API Server proxy, set this value instead: - # value: /api/v1/namespaces/kube-system/services/monitoring-grafana/proxy - value: / - volumes: - - name: ca-certificates - hostPath: - path: /etc/ssl/certs - - name: grafana-storage - emptyDir: {} ---- -apiVersion: v1 -kind: Service -metadata: - labels: - # For use as a Cluster add-on (https://github.com/kubernetes/kubernetes/tree/master/cluster/addons) - # If you are NOT using this as an addon, you should comment out this line. - kubernetes.io/cluster-service: 'true' - kubernetes.io/name: monitoring-grafana - name: monitoring-grafana - namespace: kube-system -spec: - # In a production setup, we recommend accessing Grafana through an external Loadbalancer - # or through a public IP. - # type: LoadBalancer - # You could also use NodePort to expose the service at a randomly-generated port - # type: NodePort - ports: - - port: 80 - targetPort: 3000 - selector: - k8s-app: grafana diff --git a/kubernetes/dashboard/pods/heapster.yaml b/kubernetes/dashboard/pods/heapster.yaml deleted file mode 100644 index 7853e1b..0000000 --- a/kubernetes/dashboard/pods/heapster.yaml +++ /dev/null @@ -1,46 +0,0 @@ -apiVersion: v1 -kind: ServiceAccount -metadata: - name: heapster - namespace: kube-system ---- -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - name: heapster - namespace: kube-system -spec: - replicas: 1 - template: - metadata: - labels: - task: monitoring - k8s-app: heapster - spec: - serviceAccountName: heapster - containers: - - name: heapster - image: k8s.gcr.io/heapster-amd64:v1.4.2 - imagePullPolicy: IfNotPresent - command: - - /heapster - - --source=kubernetes:https://kubernetes.default - - --sink=influxdb:http://monitoring-influxdb.kube-system.svc:8086 ---- -apiVersion: v1 -kind: Service -metadata: - labels: - task: monitoring - # For use as a Cluster add-on (https://github.com/kubernetes/kubernetes/tree/master/cluster/addons) - # If you are NOT using this as an addon, you should comment out this line. - kubernetes.io/cluster-service: 'true' - kubernetes.io/name: Heapster - name: heapster - namespace: kube-system -spec: - ports: - - port: 80 - targetPort: 8082 - selector: - k8s-app: heapster diff --git a/kubernetes/dashboard/pods/influxdb.yaml b/kubernetes/dashboard/pods/influxdb.yaml deleted file mode 100644 index 29408b8..0000000 --- a/kubernetes/dashboard/pods/influxdb.yaml +++ /dev/null @@ -1,40 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - name: monitoring-influxdb - namespace: kube-system -spec: - replicas: 1 - template: - metadata: - labels: - task: monitoring - k8s-app: influxdb - spec: - containers: - - name: influxdb - image: k8s.gcr.io/heapster-influxdb-amd64:v1.3.3 - volumeMounts: - - mountPath: /data - name: influxdb-storage - volumes: - - name: influxdb-storage - emptyDir: {} ---- -apiVersion: v1 -kind: Service -metadata: - labels: - task: monitoring - # For use as a Cluster add-on (https://github.com/kubernetes/kubernetes/tree/master/cluster/addons) - # If you are NOT using this as an addon, you should comment out this line. - kubernetes.io/cluster-service: 'true' - kubernetes.io/name: monitoring-influxdb - name: monitoring-influxdb - namespace: kube-system -spec: - ports: - - port: 8086 - targetPort: 8086 - selector: - k8s-app: influxdb diff --git a/kubernetes/dashboard/pods/kubernetes-dashboard.yaml b/kubernetes/dashboard/pods/kubernetes-dashboard.yaml deleted file mode 100644 index 29f99b1..0000000 --- a/kubernetes/dashboard/pods/kubernetes-dashboard.yaml +++ /dev/null @@ -1,168 +0,0 @@ -# Copyright 2017 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Configuration to deploy release version of the Dashboard UI compatible with -# Kubernetes 1.8. -# -# Example usage: kubectl create -f - -# ------------------- Dashboard Secret ------------------- # - -apiVersion: v1 -kind: Secret -metadata: - labels: - k8s-app: kubernetes-dashboard - name: kubernetes-dashboard-certs - namespace: kube-system -type: Opaque - ---- -# ------------------- Dashboard Service Account ------------------- # - -apiVersion: v1 -kind: ServiceAccount -metadata: - labels: - k8s-app: kubernetes-dashboard - name: kubernetes-dashboard - namespace: kube-system - ---- -# ------------------- Dashboard Role & Role Binding ------------------- # - -kind: Role -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: kubernetes-dashboard-minimal - namespace: kube-system -rules: - # Allow Dashboard to create 'kubernetes-dashboard-key-holder' secret. -- apiGroups: [""] - resources: ["secrets"] - verbs: ["create"] - # Allow Dashboard to create 'kubernetes-dashboard-settings' config map. -- apiGroups: [""] - resources: ["configmaps"] - verbs: ["create"] - # Allow Dashboard to get, update and delete Dashboard exclusive secrets. -- apiGroups: [""] - resources: ["secrets"] - resourceNames: ["kubernetes-dashboard-key-holder", "kubernetes-dashboard-certs"] - verbs: ["get", "update", "delete"] - # Allow Dashboard to get and update 'kubernetes-dashboard-settings' config map. -- apiGroups: [""] - resources: ["configmaps"] - resourceNames: ["kubernetes-dashboard-settings"] - verbs: ["get", "update"] - # Allow Dashboard to get metrics from heapster. -- apiGroups: [""] - resources: ["services"] - resourceNames: ["heapster"] - verbs: ["proxy"] -- apiGroups: [""] - resources: ["services/proxy"] - resourceNames: ["heapster", "http:heapster:", "https:heapster:"] - verbs: ["get"] - ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: kubernetes-dashboard-minimal - namespace: kube-system -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: kubernetes-dashboard-minimal -subjects: -- kind: ServiceAccount - name: kubernetes-dashboard - namespace: kube-system - ---- -# ------------------- Dashboard Deployment ------------------- # - -kind: Deployment -apiVersion: apps/v1beta2 -metadata: - labels: - k8s-app: kubernetes-dashboard - name: kubernetes-dashboard - namespace: kube-system -spec: - replicas: 1 - revisionHistoryLimit: 10 - selector: - matchLabels: - k8s-app: kubernetes-dashboard - template: - metadata: - labels: - k8s-app: kubernetes-dashboard - spec: - containers: - - name: kubernetes-dashboard - image: k8s.gcr.io/kubernetes-dashboard-amd64:v1.8.3 - ports: - - containerPort: 8443 - protocol: TCP - args: - - --auto-generate-certificates - # Uncomment the following line to manually specify Kubernetes API server Host - # If not specified, Dashboard will attempt to auto discover the API server and connect - # to it. Uncomment only if the default does not work. - # - --apiserver-host=http://my-address:port - - --heapster-host=http://heapster.kube-system.svc.cluster.local - volumeMounts: - - name: kubernetes-dashboard-certs - mountPath: /certs - # Create on-disk volume to store exec logs - - mountPath: /tmp - name: tmp-volume - livenessProbe: - httpGet: - scheme: HTTPS - path: / - port: 8443 - initialDelaySeconds: 30 - timeoutSeconds: 30 - volumes: - - name: kubernetes-dashboard-certs - secret: - secretName: kubernetes-dashboard-certs - - name: tmp-volume - emptyDir: {} - serviceAccountName: kubernetes-dashboard - # Comment the following tolerations if Dashboard must not be deployed on master - tolerations: - - key: node-role.kubernetes.io/master - effect: NoSchedule - ---- -# ------------------- Dashboard Service ------------------- # - -kind: Service -apiVersion: v1 -metadata: - labels: - k8s-app: kubernetes-dashboard - name: kubernetes-dashboard - namespace: kube-system -spec: - ports: - - port: 443 - targetPort: 8443 - selector: - k8s-app: kubernetes-dashboard diff --git a/kubernetes/dashboard/roles/dashboard-user.yaml b/kubernetes/dashboard/roles/dashboard-user.yaml deleted file mode 100644 index 582e7c3..0000000 --- a/kubernetes/dashboard/roles/dashboard-user.yaml +++ /dev/null @@ -1,20 +0,0 @@ -# from https://github.com/kubernetes/dashboard/wiki/Creating-sample-user -apiVersion: v1 -kind: ServiceAccount -metadata: - name: admin-user - namespace: kube-system ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: admin-user -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: cluster-admin -subjects: -- kind: ServiceAccount - name: admin-user - namespace: kube-system ---- \ No newline at end of file diff --git a/kubernetes/dashboard/roles/heapster-rbac.yaml b/kubernetes/dashboard/roles/heapster-rbac.yaml deleted file mode 100644 index 6e63803..0000000 --- a/kubernetes/dashboard/roles/heapster-rbac.yaml +++ /dev/null @@ -1,12 +0,0 @@ -kind: ClusterRoleBinding -apiVersion: rbac.authorization.k8s.io/v1beta1 -metadata: - name: heapster -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: system:heapster -subjects: -- kind: ServiceAccount - name: heapster - namespace: kube-system diff --git a/kubernetes/dashboard/setup-kubdashboard.sh b/kubernetes/dashboard/setup-kubdashboard.sh deleted file mode 100644 index 92547a8..0000000 --- a/kubernetes/dashboard/setup-kubdashboard.sh +++ /dev/null @@ -1,59 +0,0 @@ -#!/bin/bash -set -e -# -# This script is meant for quick & easy install via: -# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/dashboard/setup-kubdashboard.sh | bash -# -GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" - -source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh?p=$RANDOM") -# source ./kubernetes/common.sh - -version="2018.03.27.03" - -echo "---- setup-kubdashboard.sh version $version ------" - -# enable running pods on master -# kubectl taint node mymasternode node-role.kubernetes.io/master:NoSchedule - -# echo "checking if there is an existing dashboard" -# dashboards="$(kubectl -n kube-system get pod -o name --ignore-not-found=true | grep dashboard)" - -# if [[ ! -z "$dashboards" ]]; then -# echo "Deleting existing dashboard" -# kubectl -n kube-system delete $dashboards -# else -# echo "No existing dashboard found" -# fi - -# kubectl delete 'pods,services,configMaps,deployments,ingress' -l k8s-traefik=traefik -n kube-system --ignore-not-found=true - -# kubectl delete ServiceAccount traefik-ingress-controller-serviceaccount -n kube-system --ignore-not-found=true - -# https://github.com/kubernetes/dashboard/wiki/Accessing-Dashboard---1.7.X-and-above - -echo "-- Deploying roles --" -folder="roles" -for fname in "heapster-rbac.yaml" "dashboard-user.yaml" -do - echo "Deploying kubernetes/dashboard/$folder/$fname" - ReadYamlAndReplaceCustomer $GITHUB_URL "kubernetes/dashboard/$folder/$fname" "" | kubectl apply -f - -done - -echo "-- Deploying pods --" -folder="pods" -for fname in "influxdb.yaml" "grafana.yaml" "heapster.yaml" "kubernetes-dashboard.yaml" -do - echo "Deploying kubernetes/dashboard/$folder/$fname" - ReadYamlAndReplaceCustomer $GITHUB_URL "kubernetes/dashboard/$folder/$fname" "" | kubectl apply -f - -done - -echo "-- Deploying ingress --" -folder="ingress/http" -for fname in "dashboard.yaml" -do - echo "Deploying kubernetes/dashboard/$folder/$fname" - ReadYamlAndReplaceCustomer $GITHUB_URL "kubernetes/dashboard/$folder/$fname" "" | kubectl apply -f - -done - -echo "---- end of setup-kubdashboard.sh version $version ------" \ No newline at end of file diff --git a/kubernetes/flannel.yml b/kubernetes/flannel.yml deleted file mode 100644 index a1d1f24..0000000 --- a/kubernetes/flannel.yml +++ /dev/null @@ -1,159 +0,0 @@ ---- -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1beta1 -metadata: - name: flannel -rules: - - apiGroups: - - "" - resources: - - pods - verbs: - - get - - apiGroups: - - "" - resources: - - nodes - verbs: - - list - - watch - - apiGroups: - - "" - resources: - - nodes/status - verbs: - - patch ---- -kind: ClusterRoleBinding -apiVersion: rbac.authorization.k8s.io/v1beta1 -metadata: - name: flannel -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: flannel -subjects: -- kind: ServiceAccount - name: flannel - namespace: kube-system ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: flannel - namespace: kube-system ---- -kind: ConfigMap -apiVersion: v1 -metadata: - name: kube-flannel-cfg - namespace: kube-system - labels: - tier: node - app: flannel -data: - cni-conf.json: | - { - "name": "cbr0", - "plugins": [ - { - "type": "flannel", - "delegate": { - "hairpinMode": true, - "isDefaultGateway": true - } - }, - { - "type": "portmap", - "capabilities": { - "portMappings": true - } - } - ] - } - net-conf.json: | - { - "Network": "10.244.0.0/16", - "Backend": { - "Type": "vxlan" - } - } ---- -apiVersion: extensions/v1beta1 -kind: DaemonSet -metadata: - name: kube-flannel-ds - namespace: kube-system - labels: - tier: node - app: flannel -spec: - template: - metadata: - labels: - tier: node - app: flannel - spec: - hostNetwork: true - nodeSelector: - beta.kubernetes.io/arch: amd64 - tolerations: - - key: node-role.kubernetes.io/master - operator: Exists - effect: NoSchedule - serviceAccountName: flannel - initContainers: - - name: install-cni - image: quay.io/coreos/flannel:v0.10.0-amd64 - command: - - cp - args: - - -f - - /etc/kube-flannel/cni-conf.json - - /etc/cni/net.d/10-flannel.conflist - volumeMounts: - - name: cni - mountPath: /etc/cni/net.d - - name: flannel-cfg - mountPath: /etc/kube-flannel/ - containers: - - name: kube-flannel - image: quay.io/coreos/flannel:v0.10.0-amd64 - command: - - /opt/bin/flanneld - args: - - --ip-masq - - --kube-subnet-mgr - resources: - requests: - cpu: "100m" - memory: "50Mi" - limits: - cpu: "100m" - memory: "50Mi" - securityContext: - privileged: true - env: - - name: POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - volumeMounts: - - name: run - mountPath: /run - - name: flannel-cfg - mountPath: /etc/kube-flannel/ - volumes: - - name: run - hostPath: - path: /run - - name: cni - hostPath: - path: /etc/cni/net.d - - name: flannel-cfg - configMap: - name: kube-flannel-cfg \ No newline at end of file diff --git a/kubernetes/inputrc b/kubernetes/inputrc deleted file mode 100644 index b665a58..0000000 --- a/kubernetes/inputrc +++ /dev/null @@ -1,13 +0,0 @@ -# from http://web.archive.org/web/20120621035133/http://www.ibb.net/~anne/keyboard/keyboard.html -"\e[3~": delete-char -"\C-?": backward-delete-char -# this is actually equivalent to "\C-?": delete-char -# VT -"\e[1~": beginning-of-line -"\e[4~": end-of-line -# kvt -"\e[H":beginning-of-line -"\e[F":end-of-line -# rxvt and konsole (i.e. the KDE-app...) -"\e[7~":beginning-of-line -"\e[8~":end-of-line \ No newline at end of file diff --git a/kubernetes/installstack.ps1 b/kubernetes/installstack.ps1 deleted file mode 100644 index 357cfea..0000000 --- a/kubernetes/installstack.ps1 +++ /dev/null @@ -1,21 +0,0 @@ -param([String]$namespace, [String]$appfolder, [int]$isAzure) -# the above MUST be the first line -Write-Host "Received parameters:" -Write-Host "namespace:$namespace" -Write-Host "appfolder:$appfolder" -Write-Host "isAzure:$isAzure" -Write-Host "----" -Write-Host "Version 2018.03.28.02" - -# curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/realtime/installrealtimekubernetes.ps1 | iex; - -$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -# $GITHUB_URL = "." - -Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1 | Invoke-Expression; -# Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; - -Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1 | Invoke-Expression; -# Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; - -InstallStack -namespace $namespace -baseUrl $GITHUB_URL -appfolder "$appfolder" -isAzure $isAzure diff --git a/kubernetes/loadbalancer/configmaps/config.ssl.yaml b/kubernetes/loadbalancer/configmaps/config.ssl.yaml deleted file mode 100644 index ccbdb57..0000000 --- a/kubernetes/loadbalancer/configmaps/config.ssl.yaml +++ /dev/null @@ -1,31 +0,0 @@ -# Traefik Ingress reverse proxy -# based on https://github.com/containous/traefik/issues/2329 - -# the config for Traefik so it knows where the certificates are -apiVersion: v1 -kind: ConfigMap -metadata: - name: traefik-conf - namespace: kube-system - labels: - k8s-traefik: traefik -data: - traefik.toml: | - # traefik.toml - defaultEntryPoints = ["http","https"] - [accessLog] - [entryPoints] - [entryPoints.http] - address = ":80" - [entryPoints.http.redirect] - entryPoint = "https" - [entryPoints.https] - address = ":443" - [entryPoints.https.tls] - [[entryPoints.https.tls.certificates]] - # TLS certs for Allina (AHMN): *.ahmn.healthcatalyst.net - CertFile = "/ssl/ahmn/tls.crt" - KeyFile = "/ssl/ahmn/tls.key" - # [[entryPoints.https.tls.certificates]] - # CertFile = "/ssl/ahmn/tls.crt" - # KeyFile = "/ssl/ahmn/tls.key" \ No newline at end of file diff --git a/kubernetes/loadbalancer/configmaps/config.yaml b/kubernetes/loadbalancer/configmaps/config.yaml deleted file mode 100644 index 1376054..0000000 --- a/kubernetes/loadbalancer/configmaps/config.yaml +++ /dev/null @@ -1,22 +0,0 @@ -# Traefik Ingress reverse proxy -# based on https://github.com/containous/traefik/issues/2329 - -# the config for Traefik so it knows where the certificates are -apiVersion: v1 -kind: ConfigMap -metadata: - name: traefik-conf - namespace: kube-system - labels: - k8s-traefik: traefik -data: - traefik.toml: | - # traefik.toml - defaultEntryPoints = ["http","https"] - [accessLog] - [entryPoints] - [entryPoints.http] - address = ":80" - [entryPoints.https] - address = ":443" - [entryPoints.https.tls] diff --git a/kubernetes/loadbalancer/dns/upstream.yaml b/kubernetes/loadbalancer/dns/upstream.yaml deleted file mode 100644 index 9c918ce..0000000 --- a/kubernetes/loadbalancer/dns/upstream.yaml +++ /dev/null @@ -1,9 +0,0 @@ -# from http://blog.kubernetes.io/2017/04/configuring-private-dns-zones-upstream-nameservers-kubernetes.html -apiVersion: v1 -kind: ConfigMap -metadata: - name: kube-dns - namespace: kube-system -data: - upstreamNameservers: | - ["8.8.8.8"] \ No newline at end of file diff --git a/kubernetes/loadbalancer/index.json b/kubernetes/loadbalancer/index.json deleted file mode 100644 index 74a5abc..0000000 --- a/kubernetes/loadbalancer/index.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "name": "Load Balancer", - "version": "4.0.0.2", - "secrets": { - "password": [], - "value": [] - }, - "resources": { - "dns": [ - "upstream.yaml" - ], - "configmaps": [{ - "name": "config.ssl.yaml", - "ssl": true - }, - { - "name": "config.yml", - "ssl": false - } - ], - "roles": [ - "ingress-roles.yaml" - ], - "volumes": { - "onprem": [], - "azure": [] - }, - "volumeclaims": [], - "pods": [{ - "name": "ingress-azure.both.yaml", - "access": "allpublic" - }, - { - "name": "ingress-azure.ssl.yaml ingress-azure.internal.ssl.yaml", - "ssl": true, - "access": "normal" - }, - { - "name": "ingress-azure.yaml ingress-azure.internal.yaml", - "ssl": false, - "access": "normal" - } - ], - "services": { - "cluster": [ - "dashboard-internal.yaml" - ], - "external": [{ - "name": "loadbalancer.external.yaml" - }, - { - "name": "loadbalancer.internal.yaml" - }, - { - "name": "loadbalancer.internal.open.yaml" - }, - { - "name": "loadbalancer.external.restricted.yaml" - } - ] - }, - "ingress": { - "http": [{ - "name": "dashboard.ssl.yaml", - "ssl": true - }, - { - "name": "dashboard.yaml", - "ssl": false - } - ], - "tcp": [] - } - } -} \ No newline at end of file diff --git a/kubernetes/loadbalancer/ingress/dashboard.ssl.yaml b/kubernetes/loadbalancer/ingress/dashboard.ssl.yaml deleted file mode 100644 index 8c06c6f..0000000 --- a/kubernetes/loadbalancer/ingress/dashboard.ssl.yaml +++ /dev/null @@ -1,20 +0,0 @@ -# ingress for the Traefik admin ui -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: traefik-dashboard-route-ssl - namespace: kube-system - labels: - k8s-traefik: traefik - expose: internal - annotations: - kubernetes.io/ingress.class: traefik - traefik.frontend.rule.type: PathPrefixStrip -spec: - rules: - - http: - paths: - - path: /dashboard - backend: - serviceName: traefik-dashboard - servicePort: 80 \ No newline at end of file diff --git a/kubernetes/loadbalancer/ingress/dashboard.yaml b/kubernetes/loadbalancer/ingress/dashboard.yaml deleted file mode 100644 index 34755db..0000000 --- a/kubernetes/loadbalancer/ingress/dashboard.yaml +++ /dev/null @@ -1,20 +0,0 @@ -# ingress for the Traefik admin ui -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: traefik-dashboard-route - namespace: kube-system - labels: - k8s-traefik: traefik - expose: internal - annotations: - kubernetes.io/ingress.class: traefik - traefik.frontend.rule.type: PathPrefixStrip -spec: - rules: - - http: - paths: - - path: /dashboard - backend: - serviceName: traefik-dashboard - servicePort: 80 diff --git a/kubernetes/loadbalancer/pods/ingress-azure.both.yaml b/kubernetes/loadbalancer/pods/ingress-azure.both.yaml deleted file mode 100644 index ab29992..0000000 --- a/kubernetes/loadbalancer/pods/ingress-azure.both.yaml +++ /dev/null @@ -1,48 +0,0 @@ -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: - name: traefik-ingress-controller - namespace: kube-system - labels: - k8s-app: traefik-ingress-lb - k8s-traefik: traefik -spec: - replicas: 1 - selector: - matchLabels: - k8s-app: traefik-ingress-lb - template: - metadata: - labels: - k8s-app: traefik-ingress-lb - name: traefik-ingress-lb - k8s-traefik: traefik - spec: - serviceAccountName: traefik-ingress-serviceaccount - terminationGracePeriodSeconds: 60 - volumes: - - name: config - configMap: - name: traefik-conf - containers: - - image: traefik:1.5.3 - name: traefik-ingress-lb - imagePullPolicy: Always - volumeMounts: - - mountPath: "/config" - name: "config" - ports: - - containerPort: 80 - - containerPort: 443 - - containerPort: 8080 - args: - - --web - - --kubernetes - - --configfile=/config/traefik.toml - - --logLevel=INFO - - --kubernetes.labelselector=expose in (external,internal) - - --kubernetes.debugloggeneratedtemplate - - --accesslog - - --insecureskipverify - # - --debug ---- diff --git a/kubernetes/loadbalancer/pods/ingress-azure.internal.ssl.yaml b/kubernetes/loadbalancer/pods/ingress-azure.internal.ssl.yaml deleted file mode 100644 index c6a0e88..0000000 --- a/kubernetes/loadbalancer/pods/ingress-azure.internal.ssl.yaml +++ /dev/null @@ -1,58 +0,0 @@ -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: - name: traefik-ingress-controller-internal - namespace: kube-system - labels: - k8s-app: traefik-ingress-lb-internal - k8s-traefik: traefik -spec: - replicas: 1 - selector: - matchLabels: - k8s-app: traefik-ingress-lb-internal - template: - metadata: - labels: - k8s-app: traefik-ingress-lb-internal - name: traefik-ingress-lb-internal - k8s-traefik: traefik - spec: - serviceAccountName: traefik-ingress-serviceaccount - terminationGracePeriodSeconds: 60 - volumes: - - name: ssl-ahmn - secret: - secretName: traefik-cert-ahmn - # - name: ssl-ahmn - # secret: - # secretName: traefik-cert-ahmn - - name: config - configMap: - name: traefik-conf - containers: - - image: traefik:1.5 - name: traefik-ingress-lb-internal - imagePullPolicy: Always - volumeMounts: - - mountPath: "/config" - name: "config" - - mountPath: "/ssl/ahmn" - name: "ssl-ahmn" - ports: - - containerPort: 80 - - containerPort: 443 - - containerPort: 8080 - args: - - --web - - --kubernetes - - --configfile=/config/traefik.toml - - --logLevel=DEBUG - - --kubernetes.labelselector=expose=internal - # - --kubernetes.namespaces=["default","kube-system","fabricnlp"] - - --kubernetes.debugloggeneratedtemplate - - --kubernetes.trace - - --debug - # https://github.com/kubernetes/ingress-nginx/blob/master/README.md#running-multiple-ingress-controllers - # https://docs.traefik.io/user-guide/kubernetes/ ---- diff --git a/kubernetes/loadbalancer/pods/ingress-azure.internal.yaml b/kubernetes/loadbalancer/pods/ingress-azure.internal.yaml deleted file mode 100644 index 7797eb6..0000000 --- a/kubernetes/loadbalancer/pods/ingress-azure.internal.yaml +++ /dev/null @@ -1,50 +0,0 @@ -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: - name: traefik-ingress-controller-internal - namespace: kube-system - labels: - k8s-app: traefik-ingress-lb-internal - k8s-traefik: traefik -spec: - replicas: 1 - selector: - matchLabels: - k8s-app: traefik-ingress-lb-internal - template: - metadata: - labels: - k8s-app: traefik-ingress-lb-internal - name: traefik-ingress-lb-internal - k8s-traefik: traefik - spec: - serviceAccountName: traefik-ingress-serviceaccount - terminationGracePeriodSeconds: 60 - volumes: - - name: config - configMap: - name: traefik-conf - containers: - - image: traefik:1.5 - name: traefik-ingress-lb-internal - imagePullPolicy: Always - volumeMounts: - - mountPath: "/config" - name: "config" - ports: - - containerPort: 80 - - containerPort: 443 - - containerPort: 8080 - args: - - --web - - --kubernetes - - --configfile=/config/traefik.toml - - --logLevel=DEBUG - - --kubernetes.labelselector=expose=internal - # - --kubernetes.namespaces=["default","kube-system","fabricnlp"] - - --kubernetes.debugloggeneratedtemplate - - --kubernetes.trace - - --debug - # https://github.com/kubernetes/ingress-nginx/blob/master/README.md#running-multiple-ingress-controllers - # https://docs.traefik.io/user-guide/kubernetes/ ---- diff --git a/kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml b/kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml deleted file mode 100644 index 94375f4..0000000 --- a/kubernetes/loadbalancer/pods/ingress-azure.ssl.yaml +++ /dev/null @@ -1,59 +0,0 @@ -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: - name: traefik-ingress-controller - namespace: kube-system - labels: - k8s-app: traefik-ingress-lb - k8s-traefik: traefik -spec: - replicas: 1 - selector: - matchLabels: - k8s-app: traefik-ingress-lb - template: - metadata: - labels: - k8s-app: traefik-ingress-lb - name: traefik-ingress-lb - k8s-traefik: traefik - spec: - serviceAccountName: traefik-ingress-serviceaccount - terminationGracePeriodSeconds: 60 - volumes: - - name: ssl-ahmn - secret: - secretName: traefik-cert-ahmn - # - name: ssl-ahmn - # secret: - # secretName: traefik-cert-ahmn - - name: config - configMap: - name: traefik-conf - containers: - - image: traefik:1.5 - name: traefik-ingress-lb - imagePullPolicy: Always - volumeMounts: - - mountPath: "/config" - name: "config" - - mountPath: "/ssl/ahmn" - name: "ssl-ahmn" - # - mountPath: "/ssl/ahmn" - # name: "ssl-ahmn" - ports: - - containerPort: 80 - - containerPort: 443 - - containerPort: 8080 - args: - - --web - - --kubernetes - - --configfile=/config/traefik.toml - - --logLevel=DEBUG - # - --kubernetes.namespaces=["default","kube-system","fabricnlp"] - - --kubernetes.labelselector=expose=external - - --kubernetes.debugloggeneratedtemplate - - --kubernetes.trace - - --debug - - --accesslog ---- diff --git a/kubernetes/loadbalancer/pods/ingress-azure.yaml b/kubernetes/loadbalancer/pods/ingress-azure.yaml deleted file mode 100644 index 2ccac55..0000000 --- a/kubernetes/loadbalancer/pods/ingress-azure.yaml +++ /dev/null @@ -1,48 +0,0 @@ -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: - name: traefik-ingress-controller - namespace: kube-system - labels: - k8s-app: traefik-ingress-lb - k8s-traefik: traefik -spec: - replicas: 1 - selector: - matchLabels: - k8s-app: traefik-ingress-lb - template: - metadata: - labels: - k8s-app: traefik-ingress-lb - name: traefik-ingress-lb - k8s-traefik: traefik - spec: - serviceAccountName: traefik-ingress-serviceaccount - terminationGracePeriodSeconds: 60 - volumes: - - name: config - configMap: - name: traefik-conf - containers: - - image: traefik:1.5 - name: traefik-ingress-lb - imagePullPolicy: Always - volumeMounts: - - mountPath: "/config" - name: "config" - ports: - - containerPort: 80 - - containerPort: 443 - - containerPort: 8080 - args: - - --web - - --kubernetes - - --configfile=/config/traefik.toml - - --logLevel=INFO - - --kubernetes.labelselector=expose=external - - --kubernetes.debugloggeneratedtemplate - - --accesslog - - --insecureskipverify - # - --debug ---- diff --git a/kubernetes/loadbalancer/pods/ingress-onprem.yaml b/kubernetes/loadbalancer/pods/ingress-onprem.yaml deleted file mode 100644 index eb87077..0000000 --- a/kubernetes/loadbalancer/pods/ingress-onprem.yaml +++ /dev/null @@ -1,65 +0,0 @@ -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: - name: traefik-ingress-controller-onprem - namespace: kube-system - labels: - k8s-app: traefik-ingress-lb-onprem - k8s-traefik: traefik -spec: - replicas: 1 - selector: - matchLabels: - k8s-app: traefik-ingress-lb-onprem - template: - metadata: - labels: - k8s-app: traefik-ingress-lb-onprem - name: traefik-ingress-lb-onprem - k8s-traefik: traefik - spec: - # hostPort is broken on CNI (https://github.com/kubernetes/kubernetes/issues/31307) we have to use hostNetwork where CNI is used - hostNetwork: true - # run on master node so we use the IP of the master - # https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ - # https://ekartco.com/2017/09/kubernetes-make-pods-run-on-your-master-nodes/ - nodeSelector: - node-role.kubernetes.io/master: "" - # https://stackoverflow.com/questions/41999756/how-to-force-pods-deployments-to-master-nodes - # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ - tolerations: - - key: node-role.kubernetes.io/master - operator: Exists - effect: NoSchedule - serviceAccountName: traefik-ingress-serviceaccount - terminationGracePeriodSeconds: 60 - volumes: - - name: ssl-ahmn - secret: - secretName: traefik-cert-ahmn - - name: config - configMap: - name: traefik-conf - containers: - - image: traefik:1.5 - name: traefik-ingress-lb-onprem - imagePullPolicy: Always - volumeMounts: - - mountPath: "/ssl/ahmn" - name: "ssl-ahmn" - - mountPath: "/config" - name: "config" - ports: - - containerPort: 80 - - containerPort: 443 - args: - - --web - - --kubernetes - - --configfile=/config/traefik.toml - - --logLevel=INFO - - --kubernetes.labelselector=expose=external - - --kubernetes.debugloggeneratedtemplate - - --accesslog - - --insecureskipverify - - --kubernetes.enablepasstlscert ---- diff --git a/kubernetes/loadbalancer/roles/ingress-roles.yaml b/kubernetes/loadbalancer/roles/ingress-roles.yaml deleted file mode 100644 index a465247..0000000 --- a/kubernetes/loadbalancer/roles/ingress-roles.yaml +++ /dev/null @@ -1,132 +0,0 @@ -# from https://github.com/containous/traefik/blob/master/docs/user-guide/kubernetes.md -apiVersion: v1 -kind: ServiceAccount -metadata: - name: traefik-ingress-serviceaccount - namespace: kube-system ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRole -metadata: - name: traefik-ingress-clusterrole -rules: - - apiGroups: - - "" - resources: - - configmaps - - endpoints - - nodes - - pods - - secrets - verbs: - - get - - list - - watch - - apiGroups: - - "" - resources: - - nodes - verbs: - - get - - apiGroups: - - "" - resources: - - services - verbs: - - get - - list - - watch - - apiGroups: - - "extensions" - resources: - - ingresses - verbs: - - get - - list - - watch - - apiGroups: - - "" - resources: - - events - verbs: - - create - - patch - - apiGroups: - - "extensions" - resources: - - ingresses/status - verbs: - - update ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: Role -metadata: - name: traefik-ingress-role - namespace: kube-system -rules: - - apiGroups: - - "" - resources: - - configmaps - - pods - - secrets - - namespaces - verbs: - - get - - apiGroups: - - "" - resources: - - configmaps - resourceNames: - # Defaults to "-" - # Here: "-" - # This has to be adapted if you change either parameter - # when launching the traefik-ingress-controller. - - "ingress-controller-leader-traefik" - verbs: - - get - - update - - apiGroups: - - "" - resources: - - configmaps - verbs: - - create - - apiGroups: - - "" - resources: - - endpoints - verbs: - - get - ---- - -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: RoleBinding -metadata: - name: traefik-ingress-role-nisa-binding - namespace: kube-system -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: traefik-ingress-role -subjects: - - kind: ServiceAccount - name: traefik-ingress-serviceaccount - namespace: kube-system - ---- - -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRoleBinding -metadata: - name: traefik-ingress-clusterrole-nisa-binding -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: traefik-ingress-clusterrole -subjects: - - kind: ServiceAccount - name: traefik-ingress-serviceaccount - namespace: kube-system ---- \ No newline at end of file diff --git a/kubernetes/loadbalancer/services/cluster/dashboard-internal.yaml b/kubernetes/loadbalancer/services/cluster/dashboard-internal.yaml deleted file mode 100644 index 8412145..0000000 --- a/kubernetes/loadbalancer/services/cluster/dashboard-internal.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: traefik-dashboard-internal - namespace: kube-system - labels: - k8s-traefik: traefik -spec: - selector: - k8s-app: traefik-ingress-lb-internal - ports: - - port: 80 - targetPort: 8080 \ No newline at end of file diff --git a/kubernetes/loadbalancer/services/cluster/dashboard-onprem.yaml b/kubernetes/loadbalancer/services/cluster/dashboard-onprem.yaml deleted file mode 100644 index ffac2f4..0000000 --- a/kubernetes/loadbalancer/services/cluster/dashboard-onprem.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: traefik-dashboard-onprem - namespace: kube-system - labels: - k8s-traefik: traefik -spec: - selector: - k8s-app: traefik-ingress-lb-onprem - ports: - - port: 80 - targetPort: 8080 \ No newline at end of file diff --git a/kubernetes/loadbalancer/services/cluster/dashboard.yaml b/kubernetes/loadbalancer/services/cluster/dashboard.yaml deleted file mode 100644 index cedd587..0000000 --- a/kubernetes/loadbalancer/services/cluster/dashboard.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: traefik-dashboard - namespace: kube-system - labels: - k8s-traefik: traefik -spec: - selector: - k8s-app: traefik-ingress-lb - ports: - - port: 80 - targetPort: 8080 \ No newline at end of file diff --git a/kubernetes/loadbalancer/services/external/loadbalancer.external.restricted.yaml b/kubernetes/loadbalancer/services/external/loadbalancer.external.restricted.yaml deleted file mode 100644 index 0289d0f..0000000 --- a/kubernetes/loadbalancer/services/external/loadbalancer.external.restricted.yaml +++ /dev/null @@ -1,27 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: - name: traefik-ingress-service-public - namespace: kube-system - labels: - k8s-traefik: traefik - annotations: - # from https://radu-matei.com/blog/k8s-appsvc/ - service.beta.kubernetes.io/azure-load-balancer-internal: "true" - # https://gowalker.org/k8s.io/kubernetes/pkg/cloudprovider/providers/azure - # service.beta.kubernetes.io/azure-load-balancer-internal-subnet": "" -spec: - selector: - k8s-app: traefik-ingress-lb -# k8s-app: nginx-ingress-lb -# https://kubernetes.io/docs/tutorials/services/source-ip/ - externalTrafficPolicy: "Local" - ports: - - protocol: TCP - port: 80 - name: web - - protocol: TCP - port: 443 - name: ssl - type: LoadBalancer ---- diff --git a/kubernetes/loadbalancer/services/external/loadbalancer.external.yaml b/kubernetes/loadbalancer/services/external/loadbalancer.external.yaml deleted file mode 100644 index f8100e9..0000000 --- a/kubernetes/loadbalancer/services/external/loadbalancer.external.yaml +++ /dev/null @@ -1,28 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: - name: traefik-ingress-service-public - namespace: kube-system - labels: - k8s-traefik: traefik -spec: - selector: - k8s-app: traefik-ingress-lb -# k8s-app: nginx-ingress-lb -# https://kubernetes.io/docs/tutorials/services/source-ip/ - externalTrafficPolicy: "Local" - ports: - - protocol: TCP - port: 80 - name: web - - protocol: TCP - port: 443 - name: ssl - type: LoadBalancer - # Special notes for Azure: To use user-specified public type loadBalancerIP, a static type public IP address resource needs to be created first, - # and it should be in the same resource group of the cluster. - # note that in the case of AKS, that resource group is MC__ - # Then you could specify the assigned IP address as loadBalancerIP - # https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer - loadBalancerIP: PUBLICIP ---- diff --git a/kubernetes/loadbalancer/services/external/loadbalancer.internal.open.yaml b/kubernetes/loadbalancer/services/external/loadbalancer.internal.open.yaml deleted file mode 100644 index c5a4e05..0000000 --- a/kubernetes/loadbalancer/services/external/loadbalancer.internal.open.yaml +++ /dev/null @@ -1,21 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: - name: traefik-ingress-service-internal-open - namespace: kube-system - labels: - k8s-traefik: traefik - annotations: -spec: - selector: - k8s-app: traefik-ingress-lb-internal - externalTrafficPolicy: "Local" - ports: - - protocol: TCP - port: 80 - name: web - - protocol: TCP - port: 443 - name: ssl - type: LoadBalancer ---- diff --git a/kubernetes/loadbalancer/services/external/loadbalancer.internal.yaml b/kubernetes/loadbalancer/services/external/loadbalancer.internal.yaml deleted file mode 100644 index fdfa9b6..0000000 --- a/kubernetes/loadbalancer/services/external/loadbalancer.internal.yaml +++ /dev/null @@ -1,25 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: - name: traefik-ingress-service-internal - namespace: kube-system - labels: - k8s-traefik: traefik - annotations: - # from https://radu-matei.com/blog/k8s-appsvc/ - service.beta.kubernetes.io/azure-load-balancer-internal: "true" - # https://gowalker.org/k8s.io/kubernetes/pkg/cloudprovider/providers/azure - # service.beta.kubernetes.io/azure-load-balancer-internal-subnet": "" -spec: - selector: - k8s-app: traefik-ingress-lb-internal - externalTrafficPolicy: "Local" - ports: - - protocol: TCP - port: 80 - name: web - - protocol: TCP - port: 443 - name: ssl - type: LoadBalancer ---- diff --git a/kubernetes/loadbalancer/services/external/loadbalancer.onprem.yaml b/kubernetes/loadbalancer/services/external/loadbalancer.onprem.yaml deleted file mode 100644 index 66d5da4..0000000 --- a/kubernetes/loadbalancer/services/external/loadbalancer.onprem.yaml +++ /dev/null @@ -1,19 +0,0 @@ -kind: Service -apiVersion: v1 -metadata: - name: traefik-ingress-service-onprem - namespace: kube-system - labels: - k8s-traefik: traefik -spec: - selector: - k8s-app: traefik-ingress-lb-onprem - ports: - - protocol: TCP - port: 80 - name: web - - protocol: TCP - port: 443 - name: ssl - type: LoadBalancer ---- diff --git a/kubernetes/loadbalancer/traefik-cmdline.txt b/kubernetes/loadbalancer/traefik-cmdline.txt deleted file mode 100644 index 9c5c168..0000000 --- a/kubernetes/loadbalancer/traefik-cmdline.txt +++ /dev/null @@ -1,356 +0,0 @@ -traefik is a modern HTTP reverse proxy and load balancer made to deploy microservices with ease. -Complete documentation is available at https://traefik.io - -Usage: traefik [--flag=flag_argument] [-f[flag_argument]] ... set flag_argument to flag(s) - or: traefik [--flag[=true|false| ]] [-f[true|false| ]] ... set true/false to boolean flag(s) - -Available Commands: - bug Report an issue on Traefik bugtracker - healthcheck Calls traefik /ping to check health (web provider must be enabled) - storeconfig Store the static traefik configuration into a Key-value stores. Traefik will not start. - version Print version -Use "traefik [command] --help" for more information about a command. - -Flags: - --accesslog Access log settings (default "false") - --accesslog.filepath Access log file path. Stdout is used when omitted or empty - --accesslog.format Access log format: json | common (default "common") - --accesslogsfile (Deprecated) Access logs file - --acme Enable ACME (Let's Encrypt): automatic SSL (default "false") - --acme.acmelogging Enable debug logging of ACME actions. (default "false") - --acme.caserver CA server to use. - --acme.delaydontcheckdns Assume DNS propagates after a delay in seconds rather than finding and querying (default "0s") - nameservers. - --acme.dnschallenge Activate DNS-01 Challenge (default "false") - --acme.dnschallenge.delaybeforecheck Assume DNS propagates after a delay in seconds rather than finding and querying (default "0s") - nameservers. - --acme.dnschallenge.provider Use a DNS-01 based challenge provider rather than HTTPS. - --acme.dnsprovider Use a DNS-01 acme challenge rather than TLS-SNI-01 challenge. - --acme.domains SANs (alternative domains) to each main domain using format: (default "[]") - --acme.domains='main.com,san1.com,san2.com' - --acme.domains='main.net,san1.net,san2.net' - --acme.email Email address used for registration - --acme.entrypoint Entrypoint to proxy acme challenge to. - --acme.httpchallenge Activate HTTP-01 Challenge (default "false") - --acme.httpchallenge.entrypoint HTTP challenge EntryPoint - --acme.ondemand Enable on demand certificate generation. This will request a certificate from (default "false") - Let's Encrypt during the first TLS handshake for a hostname that does not yet - have a certificate. - --acme.onhostrule Enable certificate generation on frontends Host rules. (default "false") - --acme.storage File or key used for certificates storage. - --acme.tlsconfig TLS config in case wildcard certs are used (default "false") - --api Enable api/dashboard (default "false") - --api.dashboard Activate dashboard (default "true") - --api.entrypoint EntryPoint (default "traefik") - --api.statistics Enable more detailed statistics (default "true") - --api.statistics.recenterrors Number of recent errors logged (default "10") - --boltdb Enable Boltdb backend with default settings (default "true") - --boltdb.constraints Filter services by constraint, matching with Traefik tags. (default "[]") - --boltdb.debugloggeneratedtemplate Enable debug logging of generated configuration template. (default "false") - --boltdb.endpoint Comma separated server endpoints (default "127.0.0.1:4001") - --boltdb.filename Override default configuration template. For advanced users :) - --boltdb.password KV Password - --boltdb.prefix Prefix used for KV store (default "/traefik") - --boltdb.tls Enable TLS support (default "false") - --boltdb.tls.ca TLS CA - --boltdb.tls.caoptional TLS CA.Optional (default "false") - --boltdb.tls.cert TLS cert - --boltdb.tls.insecureskipverify TLS insecure skip verify (default "false") - --boltdb.tls.key TLS key - --boltdb.trace Display additional provider logs (if available). (default "false") - --boltdb.username KV Username - --boltdb.watch Watch provider (default "true") - --checknewversion Periodically check if a new version has been released (default "true") - --cluster Enable clustering (default "true") - --cluster.node Node name --c, --configfile Configuration file to use (TOML). - --constraints Filter services by constraint, matching with service tags (default "[]") - --consul Enable Consul backend with default settings (default "true") - --consul.constraints Filter services by constraint, matching with Traefik tags. (default "[]") - --consul.debugloggeneratedtemplate Enable debug logging of generated configuration template. (default "false") - --consul.endpoint Comma separated server endpoints (default "127.0.0.1:8500") - --consul.filename Override default configuration template. For advanced users :) - --consul.password KV Password - --consul.prefix Prefix used for KV store (default "traefik") - --consul.tls Enable TLS support (default "false") - --consul.tls.ca TLS CA - --consul.tls.caoptional TLS CA.Optional (default "false") - --consul.tls.cert TLS cert - --consul.tls.insecureskipverify TLS insecure skip verify (default "false") - --consul.tls.key TLS key - --consul.trace Display additional provider logs (if available). (default "false") - --consul.username KV Username - --consul.watch Watch provider (default "true") - --consulcatalog Enable Consul catalog backend with default settings (default "true") - --consulcatalog.constraints Filter services by constraint, matching with Traefik tags. (default "[]") - --consulcatalog.debugloggeneratedtemplate Enable debug logging of generated configuration template. (default "false") - --consulcatalog.domain Default domain used - --consulcatalog.endpoint Consul server endpoint (default "127.0.0.1:8500") - --consulcatalog.exposedbydefault Expose Consul services by default (default "true") - --consulcatalog.filename Override default configuration template. For advanced users :) - --consulcatalog.frontendrule Frontend rule used for Consul services (default "Host:{{.ServiceName}}.{{.Domain}}") - --consulcatalog.prefix Prefix used for Consul catalog tags (default "traefik") - --consulcatalog.trace Display additional provider logs (if available). (default "false") - --consulcatalog.watch Watch provider (default "false") --d, --debug Enable debug mode (default "false") - --defaultentrypoints Entrypoints to be used by frontends that do not specify any entrypoint (default "http") - --docker Enable Docker backend with default settings (default "false") - --docker.constraints Filter services by constraint, matching with Traefik tags. (default "[]") - --docker.debugloggeneratedtemplate Enable debug logging of generated configuration template. (default "false") - --docker.domain Default domain used - --docker.endpoint Docker server endpoint. Can be a tcp or a unix socket endpoint (default "unix:///var/run/docker.sock") - --docker.exposedbydefault Expose containers by default (default "true") - --docker.filename Override default configuration template. For advanced users :) - --docker.swarmmode Use Docker on Swarm Mode (default "false") - --docker.tls Enable Docker TLS support (default "false") - --docker.tls.ca TLS CA - --docker.tls.caoptional TLS CA.Optional (default "false") - --docker.tls.cert TLS cert - --docker.tls.insecureskipverify TLS insecure skip verify (default "false") - --docker.tls.key TLS key - --docker.trace Display additional provider logs (if available). (default "false") - --docker.usebindportip Use the ip address from the bound port, rather than from the inner network (default "false") - --docker.watch Watch provider (default "true") - --dynamodb Enable DynamoDB backend with default settings (default "true") - --dynamodb.accesskeyid The AWS credentials access key to use for making requests - --dynamodb.constraints Filter services by constraint, matching with Traefik tags. (default "[]") - --dynamodb.debugloggeneratedtemplate Enable debug logging of generated configuration template. (default "false") - --dynamodb.endpoint The endpoint of a dynamodb. Used for testing with a local dynamodb - --dynamodb.filename Override default configuration template. For advanced users :) - --dynamodb.refreshseconds Polling interval (in seconds) (default "15") - --dynamodb.region The AWS region to use for requests - --dynamodb.secretaccesskey The AWS credentials secret key to use for making requests - --dynamodb.tablename The AWS dynamodb table that stores configuration for traefik (default "traefik") - --dynamodb.trace Display additional provider logs (if available). (default "false") - --dynamodb.watch Watch provider (default "true") - --ecs Enable ECS backend with default settings (default "true") - --ecs.accesskeyid The AWS credentials access key to use for making requests - --ecs.autodiscoverclusters Auto discover cluster (default "false") - --ecs.cluster deprecated - ECS Cluster name - --ecs.clusters ECS Clusters name (default "[default]") - --ecs.constraints Filter services by constraint, matching with Traefik tags. (default "[]") - --ecs.debugloggeneratedtemplate Enable debug logging of generated configuration template. (default "false") - --ecs.domain Default domain used - --ecs.exposedbydefault Expose containers by default (default "true") - --ecs.filename Override default configuration template. For advanced users :) - --ecs.refreshseconds Polling interval (in seconds) (default "15") - --ecs.region The AWS region to use for requests - --ecs.secretaccesskey The AWS credentials access key to use for making requests - --ecs.trace Display additional provider logs (if available). (default "false") - --ecs.watch Watch provider (default "true") - --entrypoints Entrypoints definition using format: --entryPoints='Name:http Address::8000 (default "map[]") - Redirect.EntryPoint:https' --entryPoints='Name:https Address::4442 - TLS:tests/traefik.crt,tests/traefik.key;prod/traefik.crt,prod/traefik.key' - --etcd Enable Etcd backend with default settings (default "true") - --etcd.constraints Filter services by constraint, matching with Traefik tags. (default "[]") - --etcd.debugloggeneratedtemplate Enable debug logging of generated configuration template. (default "false") - --etcd.endpoint Comma separated server endpoints (default "127.0.0.1:2379") - --etcd.filename Override default configuration template. For advanced users :) - --etcd.password KV Password - --etcd.prefix Prefix used for KV store (default "/traefik") - --etcd.tls Enable TLS support (default "false") - --etcd.tls.ca TLS CA - --etcd.tls.caoptional TLS CA.Optional (default "false") - --etcd.tls.cert TLS cert - --etcd.tls.insecureskipverify TLS insecure skip verify (default "false") - --etcd.tls.key TLS key - --etcd.trace Display additional provider logs (if available). (default "false") - --etcd.useapiv3 Use ETCD API V3 (default "false") - --etcd.username KV Username - --etcd.watch Watch provider (default "true") - --eureka Enable Eureka backend with default settings (default "true") - --eureka.constraints Filter services by constraint, matching with Traefik tags. (default "[]") - --eureka.debugloggeneratedtemplate Enable debug logging of generated configuration template. (default "false") - --eureka.delay Override default configuration time between refresh (default "30s") - --eureka.endpoint Eureka server endpoint - --eureka.filename Override default configuration template. For advanced users :) - --eureka.trace Display additional provider logs (if available). (default "false") - --eureka.watch Watch provider (default "false") - --file Enable File backend with default settings (default "false") - --file.constraints Filter services by constraint, matching with Traefik tags. (default "[]") - --file.debugloggeneratedtemplate Enable debug logging of generated configuration template. (default "false") - --file.directory Load configuration from one or more .toml files in a directory - --file.filename Override default configuration template. For advanced users :) - --file.trace Display additional provider logs (if available). (default "false") - --file.watch Watch provider (default "true") - --forwardingtimeouts Timeouts for requests forwarded to the backend servers (default "true") - --forwardingtimeouts.dialtimeout The amount of time to wait until a connection to a backend server can be (default "30s") - established. Defaults to 30 seconds. If zero, no timeout exists - --forwardingtimeouts.responseheadertimeout The amount of time to wait for a server's response headers after fully writing (default "0s") - the request (including its body, if any). If zero, no timeout exists --g, --gracetimeout (Deprecated) Duration to give active requests a chance to finish before Traefik (default "0s") - stops - --healthcheck Health check parameters (default "true") - --healthcheck.interval Default periodicity of enabled health checks (default "30s") - --idletimeout (Deprecated) maximum amount of time an idle (keep-alive) connection will remain (default "0s") - idle before closing itself. - --insecureskipverify Disable SSL certificate verification (default "false") - --kubernetes Enable Kubernetes backend with default settings (default "false") - --kubernetes.certauthfilepath Kubernetes certificate authority file path (not needed for in-cluster client) - --kubernetes.constraints Filter services by constraint, matching with Traefik tags. (default "[]") - --kubernetes.debugloggeneratedtemplate Enable debug logging of generated configuration template. (default "false") - --kubernetes.disablepasshostheaders Kubernetes disable PassHost Headers (default "false") - --kubernetes.enablepasstlscert Kubernetes enable Pass TLS Client Certs (default "false") - --kubernetes.endpoint Kubernetes server endpoint (required for external cluster client) - --kubernetes.filename Override default configuration template. For advanced users :) - --kubernetes.labelselector Kubernetes api label selector to use - --kubernetes.namespaces Kubernetes namespaces (default "[]") - --kubernetes.token Kubernetes bearer token (not needed for in-cluster client) - --kubernetes.trace Display additional provider logs (if available). (default "false") - --kubernetes.watch Watch provider (default "true") - --lifecycle Timeouts influencing the server life cycle (default "true") - --lifecycle.gracetimeout Duration to give active requests a chance to finish before Traefik stops (default "10s") - --lifecycle.requestacceptgracetimeout Duration to keep accepting requests before Traefik initiates the graceful (default "0s") - shutdown procedure --l, --loglevel Log level (default "ERROR") - --marathon Enable Marathon backend with default settings (default "true") - --marathon.basic Enable basic authentication (default "true") - --marathon.basic.httpbasicauthuser Basic authentication User - --marathon.basic.httpbasicpassword Basic authentication Password - --marathon.constraints Filter services by constraint, matching with Traefik tags. (default "[]") - --marathon.dcostoken DCOSToken for DCOS environment, This will override the Authorization header - --marathon.debugloggeneratedtemplate Enable debug logging of generated configuration template. (default "false") - --marathon.dialertimeout Set a non-default connection timeout for Marathon (default "1m0s") - --marathon.domain Default domain used - --marathon.endpoint Marathon server endpoint. You can also specify multiple endpoint for Marathon (default "http://127.0.0.1:8080") - --marathon.exposedbydefault Expose Marathon apps by default (default "true") - --marathon.filename Override default configuration template. For advanced users :) - --marathon.filtermarathonconstraints Enable use of Marathon constraints in constraint filtering (default "false") - --marathon.forcetaskhostname Force to use the task's hostname. (default "false") - --marathon.groupsassubdomains Convert Marathon groups to subdomains (default "false") - --marathon.keepalive Set a non-default TCP Keep Alive time in seconds (default "10s") - --marathon.marathonlbcompatibility Add compatibility with marathon-lb labels (default "false") - --marathon.respectreadinesschecks Filter out tasks with non-successful readiness checks during deployments (default "false") - --marathon.tls Enable TLS support (default "false") - --marathon.tls.ca TLS CA - --marathon.tls.caoptional TLS CA.Optional (default "false") - --marathon.tls.cert TLS cert - --marathon.tls.insecureskipverify TLS insecure skip verify (default "false") - --marathon.tls.key TLS key - --marathon.trace Display additional provider logs (if available). (default "false") - --marathon.watch Watch provider (default "true") - --maxidleconnsperhost If non-zero, controls the maximum idle (keep-alive) to keep per-host. If zero, (default "200") - DefaultMaxIdleConnsPerHost is used - --mesos Enable Mesos backend with default settings (default "true") - --mesos.constraints Filter services by constraint, matching with Traefik tags. (default "[]") - --mesos.debugloggeneratedtemplate Enable debug logging of generated configuration template. (default "false") - --mesos.domain Default domain used - --mesos.endpoint Mesos server endpoint. You can also specify multiple endpoint for Mesos (default "http://127.0.0.1:5050") - --mesos.exposedbydefault Expose Mesos apps by default (default "true") - --mesos.filename Override default configuration template. For advanced users :) - --mesos.groupsassubdomains Convert Mesos groups to subdomains (default "false") - --mesos.ipsources IPSources (e.g. host, docker, mesos, rkt) - --mesos.refreshseconds Polling interval (in seconds) (default "30") - --mesos.statetimeoutsecond HTTP Timeout (in seconds) (default "30") - --mesos.trace Display additional provider logs (if available). (default "false") - --mesos.watch Watch provider (default "true") - --mesos.zkdetectiontimeout Zookeeper timeout (in seconds) (default "30") - --metrics Enable a metrics exporter (default "true") - --metrics.datadog DataDog metrics exporter type (default "true") - --metrics.datadog.address DataDog's address (default "localhost:8125") - --metrics.datadog.pushinterval DataDog push interval (default "10s") - --metrics.influxdb InfluxDB metrics exporter type (default "true") - --metrics.influxdb.address InfluxDB address (default "localhost:8089") - --metrics.influxdb.pushinterval InfluxDB push interval (default "10s") - --metrics.prometheus Prometheus metrics exporter type (default "true") - --metrics.prometheus.buckets Buckets for latency metrics (default "[0.1 0.3 1.2 5]") - --metrics.prometheus.entrypoint EntryPoint (default "traefik") - --metrics.statsd StatsD metrics exporter type (default "true") - --metrics.statsd.address StatsD address (default "localhost:8125") - --metrics.statsd.pushinterval StatsD push interval (default "10s") - --ping Enable ping (default "true") - --ping.entrypoint Ping entryPoint (default "traefik") - --providersthrottleduration Backends throttle duration: minimum duration between 2 events from providers (default "2s") - before applying a new configuration. It avoids unnecessary reloads if multiples - events are sent in a short amount of time. - --rancher Enable Rancher backend with default settings (default "true") - --rancher.accesskey Rancher server API access key - --rancher.api Enable the Rancher API provider (default "true") - --rancher.api.accesskey Rancher server API access key - --rancher.api.endpoint Rancher server API HTTP(S) endpoint - --rancher.api.secretkey Rancher server API secret key - --rancher.constraints Filter services by constraint, matching with Traefik tags. (default "[]") - --rancher.debugloggeneratedtemplate Enable debug logging of generated configuration template. (default "false") - --rancher.domain Default domain used - --rancher.enableservicehealthfilter Filter services with unhealthy states and inactive states (default "false") - --rancher.endpoint Rancher server API HTTP(S) endpoint - --rancher.exposedbydefault Expose services by default (default "true") - --rancher.filename Override default configuration template. For advanced users :) - --rancher.metadata Enable the Rancher metadata service provider (default "true") - --rancher.metadata.intervalpoll Poll the Rancher metadata service every 'rancher.refreshseconds' (less accurate) (default "false") - --rancher.metadata.prefix Prefix used for accessing the Rancher metadata service - --rancher.refreshseconds Polling interval (in seconds) (default "15") - --rancher.secretkey Rancher server API secret key - --rancher.trace Display additional provider logs (if available). (default "false") - --rancher.watch Watch provider (default "true") - --respondingtimeouts Timeouts for incoming requests to the Traefik instance (default "true") - --respondingtimeouts.idletimeout IdleTimeout is the maximum amount duration an idle (keep-alive) connection will (default "3m0s") - remain idle before closing itself. Defaults to 180 seconds. If zero, no timeout - is set - --respondingtimeouts.readtimeout ReadTimeout is the maximum duration for reading the entire request, including (default "0s") - the body. If zero, no timeout is set - --respondingtimeouts.writetimeout WriteTimeout is the maximum duration before timing out writes of the response. (default "0s") - If zero, no timeout is set - --rest Enable Rest backend with default settings (default "true") - --rest.entrypoint EntryPoint (default "traefik") - --retry Enable retry sending request if network error (default "true") - --retry.attempts Number of attempts (default "0") - --rootcas Add cert file for self-signed certificate - --sendanonymoususage send periodically anonymous usage statistics (default "false") - --servicefabric Enable Service Fabric backend with default settings (default "false") - --servicefabric.apiversion Service Fabric API version - --servicefabric.clustermanagementurl Service Fabric API endpoint - --servicefabric.constraints Filter services by constraint, matching with Traefik tags. (default "[]") - --servicefabric.debugloggeneratedtemplate Enable debug logging of generated configuration template. (default "false") - --servicefabric.filename Override default configuration template. For advanced users :) - --servicefabric.refreshseconds Polling interval (in seconds) (default "0") - --servicefabric.tls Enable TLS support (default "false") - --servicefabric.tls.ca TLS CA - --servicefabric.tls.caoptional TLS CA.Optional (default "false") - --servicefabric.tls.cert TLS cert - --servicefabric.tls.insecureskipverify TLS insecure skip verify (default "false") - --servicefabric.tls.key TLS key - --servicefabric.trace Display additional provider logs (if available). (default "false") - --servicefabric.watch Watch provider (default "false") - --traefiklog Traefik log settings (default "false") - --traefiklog.filepath Traefik log file path. Stdout is used when omitted or empty - --traefiklog.format Traefik log format: json | common (default "common") - --traefiklogsfile (Deprecated) Traefik logs file. Stdout is used when omitted or empty - --web (Deprecated) Enable Web backend with default settings (default "false") - --web.address Web administration port (default ":8080") - --web.certfile SSL certificate - --web.keyfile SSL certificate - --web.metrics Enable a metrics exporter (default "false") - --web.metrics.datadog DataDog metrics exporter type (default "false") - --web.metrics.datadog.address DataDog's address (default "localhost:8125") - --web.metrics.datadog.pushinterval DataDog push interval (default "10s") - --web.metrics.influxdb InfluxDB metrics exporter type (default "false") - --web.metrics.influxdb.address InfluxDB address (default "localhost:8089") - --web.metrics.influxdb.pushinterval InfluxDB push interval (default "10s") - --web.metrics.prometheus Prometheus metrics exporter type (default "false") - --web.metrics.prometheus.buckets Buckets for latency metrics (default "[0.1 0.3 1.2 5]") - --web.metrics.prometheus.entrypoint EntryPoint (default "traefik") - --web.metrics.statsd StatsD metrics exporter type (default "false") - --web.metrics.statsd.address StatsD address (default "localhost:8125") - --web.metrics.statsd.pushinterval StatsD push interval (default "10s") - --web.path Root path for dashboard and API - --web.readonly Enable read only API (default "false") - --web.statistics Enable more detailed statistics (default "false") - --web.statistics.recenterrors Number of recent errors logged (default "10") - --zookeeper Enable Zookeeper backend with default settings (default "false") - --zookeeper.constraints Filter services by constraint, matching with Traefik tags. (default "[]") - --zookeeper.debugloggeneratedtemplate Enable debug logging of generated configuration template. (default "false") - --zookeeper.endpoint Comma separated server endpoints (default "127.0.0.1:2181") - --zookeeper.filename Override default configuration template. For advanced users :) - --zookeeper.password KV Password - --zookeeper.prefix Prefix used for KV store (default "traefik") - --zookeeper.tls Enable TLS support (default "false") - --zookeeper.tls.ca TLS CA - --zookeeper.tls.caoptional TLS CA.Optional (default "false") - --zookeeper.tls.cert TLS cert - --zookeeper.tls.insecureskipverify TLS insecure skip verify (default "false") - --zookeeper.tls.key TLS key - --zookeeper.trace Display additional provider logs (if available). (default "false") - --zookeeper.username KV Username - --zookeeper.watch Watch provider (default "true") --h, --help Print Help (this message) and exit diff --git a/kubernetes/main.sh b/kubernetes/main.sh index 713d7e0..4aecfa9 100644 --- a/kubernetes/main.sh +++ b/kubernetes/main.sh @@ -1,193 +1,3 @@ #!/bin/bash -set -e -# -# This script is meant for quick & easy install via: -# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/main.sh | bash -# -# -version="2018.03.27.06" -GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" - -source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh?p=$RANDOM") -# source ./kubernetes/common.sh - -mkdir -p $HOME/bin -installscript="$HOME/bin/dos" -if [[ ! -f "$installscript" ]]; then - echo "#!/bin/bash" > $installscript - echo "curl -sSL $GITHUB_URL/"'kubernetes/main.sh?p=$RANDOM | bash' >> $installscript - chmod +x $installscript - echo "NOTE: Next time just type 'dos' to bring up this menu" - - # from http://web.archive.org/web/20120621035133/http://www.ibb.net/~anne/keyboard/keyboard.html - # curl -o ~/.inputrc "$GITHUB_URL/kubernetes/inputrc" -fi - -input="" -while [[ "$input" != "q" ]]; do - - echo "================ Health Catalyst version $version, common functions $(GetCommonVersion) ================" - echo "------ Master Node -------" - echo "1: Add this VM as Master" - echo "2: Show all nodes" - echo "3: Join a new node to this cluster" - echo "4: Mount shared folder" - echo "5: Mount Azure Storage as shared folder" - echo "6: Setup Load Balancer" - echo "7: Setup Kubernetes Dashboard" - echo "8: Uninstall Docker & Kubernetes" - echo "------ Worker Node -------" - echo "12: Add this VM as Worker" - echo "14: Mount shared folder" - echo "15: Mount Azure Storage as shared folder" - echo "16: Uninstall Docker & Kubernetes" - echo "------ Product Install -------" - echo "25: Install NLP" - echo "----- Troubleshooting ----" - echo "31: Show status of cluster" - # echo "32: Launch Kubernetes Admin Dashboard" - # echo "33: View status of DNS pods" - # echo "34: Apply updates and restart all VMs" - echo "35: Show load balancer logs" - echo "37: Test DNS" - echo "38: Show contents of shared folder" - echo "39: Show dashboard url" - echo "------ NLP -----" - echo "41: Show status of NLP" - echo "42: Test web sites" - echo "43: Show NLP passwords" - echo "44: Show detailed status of NLP" - echo "45: Show NLP logs" - # echo "46: Restart NLP" - echo "-----------" - echo "51: Load Fabric Realtime Menu" - echo "q: Quit" - - read -p "Please make a selection:" -e input < /dev/tty - - case "$input" in - 1) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt?p=$RANDOM | bash - curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupmaster.txt?p=$RANDOM | bash - curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh?p=$RANDOM | bash - curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/dashboard/setup-kubdashboard.sh?p=$RANDOM | bash - ;; - 2) echo "Current cluster: $(kubectl config current-context)" - kubectl version --short - kubectl get "nodes" - ;; - 3) echo "Run this command on the new node to join this cluster:" - echo "sudo $(sudo kubeadm token create --print-join-command)" - ;; - 4) mountSMB - ;; - 5) mountAzureFile - ;; - 6) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh?p=$RANDOM | bash - ;; - 7) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/dashboard/setup-kubdashboard.sh?p=$RANDOM | bash - ;; - 8) sudo kubeadm reset - sudo docker system prune -f - sudo yum remove -y kubelet kubeadm kubectl kubernetes-cni - sudo docker volume rm etcd - sudo rm -rf /var/etcd/backups/* - sudo yum -y remove docker-engine.x86_64 docker-ce docker-engine-selinux.noarch docker-cimprov.x86_64 docker-engine - sudo yum -y remove docker docker-common docker-selinux docker-engine - echo "Please restart this computer" - ;; - 12) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt?p=$RANDOM | bash - ;; - 14) mountSMB - ;; - 15) mountAzureFile - ;; - 16) sudo docker system prune -f - sudo yum remove -y kubelet kubeadm kubectl kubernetes-cni - sudo yum -y remove docker-engine.x86_64 docker-ce docker-engine-selinux.noarch docker-cimprov.x86_64 docker-engine - sudo yum -y remove docker docker-common docker-selinux docker-engine - echo "Please restart this computer" - ;; - 25) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/nlp/installnlpkubernetes.sh?p=$RANDOM | bash - ;; - 31) echo "Current cluster: $(kubectl config current-context)" - kubectl version --short - kubectl get "deployments,pods,services,nodes,ingress,secrets" --namespace=kube-system -o wide - ;; - 35) kubectl logs --namespace=kube-system -l k8s-app=traefik-ingress-lb-onprem --tail=100 - ;; - 37) # from https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#debugging-dns-resolution - echo "To resolve DNS issues: https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#debugging-dns-resolution" - echo "----------- Checking if DNS pods are running -----------" - kubectl get pods --namespace=kube-system -l k8s-app=kube-dns - echo "----------- Checking if DNS service is running -----------" - kubectl get svc --namespace=kube-system - echo "----------- Checking if DNS endpoints are exposed ------------" - kubectl get ep kube-dns --namespace=kube-system - echo "----------- Checking logs for DNS service -----------" - kubectl logs --namespace=kube-system $(kubectl get pods --namespace=kube-system -l k8s-app=kube-dns -o name) -c kubedns - kubectl logs --namespace=kube-system $(kubectl get pods --namespace=kube-system -l k8s-app=kube-dns -o name) -c dnsmasq - kubectl logs --namespace=kube-system $(kubectl get pods --namespace=kube-system -l k8s-app=kube-dns -o name) -c sidecar - echo "----------- Creating a busybox pod to test DNS -----------" - while [[ ! -z "$(kubectl get pods busybox -n default -o jsonpath='{.status.phase}' --ignore-not-found=true)" ]]; do - echo "Waiting for busybox to terminate" - echo "." - sleep 5 - done - - kubectl create -f https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/busybox.yml - while [[ "$(kubectl get pods busybox -n default -o jsonpath='{.status.phase}')" != "Running" ]]; do - echo "." - sleep 5 - done - kubectl exec busybox nslookup kubernetes.default - kubectl exec busybox cat /etc/resolv.conf - kubectl delete -f https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/busybox.yml - ;; - 38) ls -al /mnt/data - ;; - 39) dnshostname=$(ReadSecret "dnshostname") - echo "You can access the kubernetes dashboard at: https://${dnshostname}/api/ " - secretname=$(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}') - token=$(ReadSecretValue "$secretname" "token" "kube-system") - echo "----------- Bearer Token ---------------" - echo $token - echo "-------- End of Bearer Token -------------" - ;; - 41) kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricnlp -o wide - ;; - 43) Write-Host "MySql root password: $(ReadSecretPassword mysqlrootpassword fabricnlp)" - Write-Host "MySql NLP_APP_USER password: $(ReadSecretPassword mysqlpassword fabricnlp)" - Write-Host "SendGrid SMTP Relay key: $(ReadSecretPassword smtprelaypassword fabricnlp)" - ;; - 44) pods=$(kubectl get pods -n fabricnlp -o jsonpath='{.items[*].metadata.name}') - for pod in $pods - do - Write-Output "=============== Describe Pod: $pod =================" - kubectl describe pods $pod -n fabricnlp - read -n1 -r -p "Press space to continue..." key < /dev/tty - done - ;; - 45) pods=$(kubectl get pods -n fabricnlp -o jsonpath='{.items[*].metadata.name}') - for pod in $pods - do - Write-Output "=============== Logs for Pod: $pod =================" - kubectl logs --tail=20 $pod -n fabricnlp - read -n1 -r -p "Press space to continue..." key < /dev/tty - done - ;; - 51) curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/menu-realtime.sh?p=$RANDOM | bash - ;; - q) echo "Exiting" - ;; - *) echo "Menu item $1 is not known" - ;; - esac - -echo "" -if [[ "$input" -eq "q" ]]; then - exit -fi -read -p "[Press Enter to Continue]" < /dev/tty -clear -done \ No newline at end of file +echo "This has moved to curl -sSL https://raw.githubusercontent.com/HealthCatalyst/dos.install/master/kubernetes/main.sh | bash" diff --git a/kubernetes/menu-realtime.sh b/kubernetes/menu-realtime.sh index d2b2ff2..e7a9088 100644 --- a/kubernetes/menu-realtime.sh +++ b/kubernetes/menu-realtime.sh @@ -1,95 +1,2 @@ #!/bin/bash -set -e -# -# This script is meant for quick & easy install via: -# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/menu-realtime.sh | bash -# -version="2018.03.28.01" - -GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" - -source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh?p=$RANDOM") -# source ./kubernetes/common.sh - -input="" -while [[ "$input" != "q" ]]; do - - echo "================ Health Catalyst Realtime version $version, common functions $(GetCommonVersion) ================" - echo "------ Install -------" - echo "1: Install Realtime" - echo "------ Status --------" - echo "2: Show status of realtime" - echo "3: Show web site urls" - echo "4: Show realtime passwords" - echo "5: Show Realtime detailed status" - echo "6: Show Realtime logs" - echo "7: Show urls to download client certificates" - echo "8: Show DNS entries for /etc/hosts" - echo "-------------------------------" - echo "q: Quit" - - read -p "Please make a selection:" -e input < /dev/tty - - case "$input" in - 1) curl -sSL -o installstack.ps1 https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/installstack.ps1?p=$RANDOM - clear - pwsh -f installstack.ps1 -namespace "fabricrealtime" -appfolder "realtime" -isAzure 0 -NonInteractive | tee ./installstack.log - ;; - 2) kubectl get 'deployments,pods,services,ingress,secrets,persistentvolumeclaims,persistentvolumes,nodes' --namespace=fabricrealtime -o wide - ;; - 3) certhostname=$(ReadSecret certhostname fabricrealtime) - echo "Send HL7 to Mirth: server=${certhostname} port=6661" - echo "Rabbitmq Queue: server=${certhostname} port=5671" - echo "RabbitMq Mgmt UI is at: http://${certhostname}/rabbitmq/" - echo "Mirth Mgmt UI is at: http://${certhostname}/mirth/" - ;; - 4) Write-Host "MySql root password: $(ReadSecretPassword mysqlrootpassword fabricrealtime)" - Write-Host "MySql NLP_APP_USER password: $(ReadSecretPassword mysqlpassword fabricrealtime)" - Write-Host "certhostname: $(ReadSecret certhostname fabricrealtime)" - Write-Host "certpassword: $(ReadSecretPassword certpassword fabricrealtime)" - Write-Host "rabbitmq mgmtui user: admin password: $(ReadSecretPassword rabbitmqmgmtuipassword fabricrealtime)" - ;; - 5) pods=$(kubectl get pods -n fabricrealtime -o jsonpath='{.items[*].metadata.name}') - for pod in $pods - do - Write-Output "=============== Describe Pod: $pod =================" - kubectl describe pods $pod -n fabricrealtime - read -n1 -r -p "Press space to continue..." key < /dev/tty - done - ;; - 6) pods=$(kubectl get pods -n fabricrealtime -o jsonpath='{.items[*].metadata.name}') - for pod in $pods - do - Write-Output "=============== Logs for Pod: $pod =================" - kubectl logs --tail=20 $pod -n fabricrealtime - read -n1 -r -p "Press space to continue..." key < /dev/tty - done - ;; - 7) certhostname=$(ReadSecret certhostname fabricrealtime) - certpassword=$(ReadSecretPassword certpassword fabricrealtime) - url="http://${certhostname}/certificates/client/fabricrabbitmquser_client_cert.p12" - echo "Download the client certificate:" - echo "$url" - echo "Double-click and install in Local Machine. password: $certpassword" - echo "Open Certificate Management, right click on cert and give everyone access to key" - - url="http://${certhostname}/certificates/client/fabric_ca_cert.p12" - echo "Optional: Download the CA certificate:" - echo "$url" - echo "Double-click and install in Local Machine. password: $certpassword" - ;; - 8) echo "If you didn't setup DNS, add the following entries in your c:\windows\system32\drivers\etc\hosts file to access the urls from your browser" - loadBalancerIP="$(dig +short myip.opendns.com @resolver1.opendns.com)" - certhostname="$(ReadSecret certhostname fabricrealtime)" - echo "$loadBalancerIP $certhostname" - ;; - q) echo "Exiting" - ;; - *) echo "Menu item $1 is not known" - ;; - esac - -echo "" -read -p "[Press Enter to Continue]" < /dev/tty -clear -done +echo "This has moved to curl -sSL https://raw.githubusercontent.com/HealthCatalyst/dos.install/master/kubernetes/main.sh | bash" \ No newline at end of file diff --git a/kubernetes/setup-loadbalancer-old.ps1 b/kubernetes/setup-loadbalancer-old.ps1 deleted file mode 100644 index bb15f4f..0000000 --- a/kubernetes/setup-loadbalancer-old.ps1 +++ /dev/null @@ -1,597 +0,0 @@ -Write-output "Version 2018.03.26.01" - -# -# This script is meant for quick & easy install via: -# curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/setup-loadbalancer.ps1 | iex; - -$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -# $GITHUB_URL = "C:\Catalyst\git\Installscripts" - -Write-Host "GITHUB_URL: $GITHUB_URL" - -$set = "abcdefghijklmnopqrstuvwxyz0123456789".ToCharArray() -$randomstring += $set | Get-Random - -Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1?f=$randomstring | Invoke-Expression; -# Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; - -Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1?f=$randomstring | Invoke-Expression; -# Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; - -$AKS_OPEN_TO_PUBLIC = "" -$AKS_USE_SSL = "" -$AKS_IP_WHITELIST = "" -$SetupNSG = $true - -$userInfo = $(GetLoggedInUserInfo) -$AKS_SUBSCRIPTION_ID = $userInfo.AKS_SUBSCRIPTION_ID -$IS_CAFE_ENVIRONMENT = $userInfo.IS_CAFE_ENVIRONMENT - -# Get resource group name from kube secrets -$AKS_PERS_RESOURCE_GROUP_BASE64 = kubectl get secret azure-secret -o jsonpath='{.data.resourcegroup}' --ignore-not-found=true -if (![string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP_BASE64)) { - $AKS_PERS_RESOURCE_GROUP = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($AKS_PERS_RESOURCE_GROUP_BASE64)) -} - -if ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) { - Do { $AKS_PERS_RESOURCE_GROUP = Read-Host "Resource Group (e.g., fabricnlp-rg)"} - while ([string]::IsNullOrWhiteSpace($AKS_PERS_RESOURCE_GROUP)) -} -else { - Write-Output "Using resource group: $AKS_PERS_RESOURCE_GROUP" -} - -# Get location name from resource group -$AKS_PERS_LOCATION = az group show --name $AKS_PERS_RESOURCE_GROUP --query "location" -o tsv -Write-Output "Using location: [$AKS_PERS_LOCATION]" - -$customerid = ReadSecret -secretname customerid -$customerid = $customerid.ToLower().Trim() -Write-Output "Customer ID: $customerid" - -# Ask input from user -Do { - Write-Host "How do you want to control access to this cluster:" - Write-Host "1: Allow anyone to access it" - Write-Host "2: Only allow certain IP ranges to access it" - Write-Host "3: Only allow computers inside the vnet to access it" - Write-Host "-------------" - - $AKS_CLUSTER_ACCESS_TYPE = Read-Host "Enter number of option to use (1 - 3)" -} -while ([string]::IsNullOrWhiteSpace($AKS_CLUSTER_ACCESS_TYPE)) - -# read the vnet and subnet info from kubernetes secret -$AKS_VNET_NAME = ReadSecretValue -secretname azure-vnet -valueName "vnet" -$AKS_SUBNET_NAME = ReadSecretValue -secretname azure-vnet -valueName "subnet" -$AKS_SUBNET_RESOURCE_GROUP = ReadSecretValue -secretname azure-vnet -valueName "subnetResourceGroup" - -Write-Output "Found vnet info from secret: vnet: $AKS_VNET_NAME, subnet: $AKS_SUBNET_NAME, subnetResourceGroup: $AKS_SUBNET_RESOURCE_GROUP" - -if ($IS_CAFE_ENVIRONMENT) { - $AKS_ALLOW_ADMIN_ACCESS_OUTSIDE_VNET = "n" -} -else { - $AKS_ALLOW_ADMIN_ACCESS_OUTSIDE_VNET = "y" -} - -$AKS_IP_WHITELIST = "" -if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { - - $currentWhitelistIP = ReadSecretValue -secretname whitelistip -valueName iprange - - Do { - if (![string]::IsNullOrWhiteSpace($currentWhitelistIP)) { - $AKS_IP_WHITELIST = Read-Host "Enter IP range that should be able to access this cluster: ( ex: 127.0.0.1/32 192.168.1.7. separate multiple IPs by a space.) (default: $currentWhitelistIP)" - if ([string]::IsNullOrWhiteSpace($AKS_IP_WHITELIST)) { - $AKS_IP_WHITELIST = $currentWhitelistIP - } - } - else { - $AKS_IP_WHITELIST = Read-Host "Enter IP range that should be able to access this cluster: ( ex: 127.0.0.1/32 192.168.1.7. separate multiple IPs by a space.)" - } - } - while ([string]::IsNullOrWhiteSpace($AKS_IP_WHITELIST)) - - # $AKS_IP_WHITELIST_ITEMS = $AKS_IP_WHITELIST.split(" ") - - # $WHITELIST = "" - - # foreach ($cidr in $AKS_IP_WHITELIST_ITEMS) { - # if (![string]::IsNullOrWhiteSpace($WHITELIST)) { - # $WHITELIST = "${WHITELIST} " - # } - # $WHITELIST = "${WHITELIST}${cidr}" - # } - - # $AKS_IP_WHITELIST = "$WHITELIST" - Write-Output "Whitelist: $AKS_IP_WHITELIST" - - SaveSecretValue -secretname whitelistip -valueName iprange -value "${AKS_IP_WHITELIST}" -} - -$AKS_USE_WAF = "n" -# $AKS_USE_WAF = Read-Host "Do you want to use Azure Application Gateway with WAF? (y/n) (default: n)" - -# if ([string]::IsNullOrWhiteSpace($AKS_USE_WAF)) { -# $AKS_USE_WAF = "n" -# } - -if ($IS_CAFE_ENVIRONMENT) { - $AKS_USE_SSL = "y" -} -else { - $AKS_USE_SSL = "n" -} - -if ($IS_CAFE_ENVIRONMENT) { - Do { - $SETUP_DNS = Read-Host "Do you want to setup DNS entries in Azure? (y/n) (default: n)" - if ([string]::IsNullOrWhiteSpace($SETUP_DNS)) { - $SETUP_DNS = "n" - } - } - while ([string]::IsNullOrWhiteSpace($SETUP_DNS)) - - # if we need to setup DNS then ask which resourceGroup to use - if ($SETUP_DNS -eq "y") { - $DNS_RESOURCE_GROUP = Read-Host "Resource group containing DNS zones? (default: dns)" - if ([string]::IsNullOrWhiteSpace($DNS_RESOURCE_GROUP)) { - $DNS_RESOURCE_GROUP = "dns" - } - } -} - -if (($AKS_CLUSTER_ACCESS_TYPE -eq "1" ) -or ($AKS_CLUSTER_ACCESS_TYPE -eq "2")) { - $AKS_OPEN_TO_PUBLIC = "y" -} -else { - $AKS_OPEN_TO_PUBLIC = "n" -} - -Write-Output "Setting up Network Security Group for the subnet" - -# setup network security group -$AKS_PERS_NETWORK_SECURITY_GROUP = "$($AKS_PERS_RESOURCE_GROUP.ToLower())-nsg" - -if ([string]::IsNullOrWhiteSpace($(az network nsg show -g $AKS_PERS_RESOURCE_GROUP -n $AKS_PERS_NETWORK_SECURITY_GROUP))) { - - Write-Output "Creating the Network Security Group for the subnet" - az network nsg create -g $AKS_PERS_RESOURCE_GROUP -n $AKS_PERS_NETWORK_SECURITY_GROUP --query "provisioningState" -} -else { - Write-Output "Network Security Group already exists: $AKS_PERS_NETWORK_SECURITY_GROUP" -} - -if ($SetupNSG) { - Write-Output "Adding or updating rules to Network Security Group for the subnet" - $sourceTagForAdminAccess = "VirtualNetwork" - if ($AKS_ALLOW_ADMIN_ACCESS_OUTSIDE_VNET -eq "y") { - $sourceTagForAdminAccess = "Internet" - Write-Output "Enabling admin access to cluster from Internet" - } - - $sourceTagForHttpAccess = "Internet" - if (![string]::IsNullOrWhiteSpace($AKS_IP_WHITELIST)) { - $sourceTagForHttpAccess = $AKS_IP_WHITELIST - } - - DeleteNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP -rulename "HttpPort" - DeleteNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP -rulename "HttpsPort" - - SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` - -rulename "allow_kube_tls" ` - -ruledescription "allow kubectl and HTTPS access from ${sourceTagForAdminAccess}." ` - -sourceTag "${sourceTagForAdminAccess}" -port 443 -priority 100 - - SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` - -rulename "allow_http" ` - -ruledescription "allow HTTP access from ${sourceTagForAdminAccess}." ` - -sourceTag "${sourceTagForAdminAccess}" -port 80 -priority 101 - - SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` - -rulename "allow_ssh" ` - -ruledescription "allow SSH access from ${sourceTagForAdminAccess}." ` - -sourceTag "${sourceTagForAdminAccess}" -port 22 -priority 104 - - SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` - -rulename "allow_mysql" ` - -ruledescription "allow MySQL access from ${sourceTagForAdminAccess}." ` - -sourceTag "${sourceTagForAdminAccess}" -port 3306 -priority 205 - - # if we already have opened the ports for admin access then we're not allowed to add another rule for opening them - if (($sourceTagForHttpAccess -eq "Internet") -and ($sourceTagForAdminAccess -eq "Internet")) { - Write-Output "Since we already have rules open port 80 and 443 to the Internet, we do not need to create separate ones for the Internet" - } - else { - if ($AKS_OPEN_TO_PUBLIC -eq "y") { - SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` - -rulename "HttpPort" ` - -ruledescription "allow HTTP access from ${sourceTagForHttpAccess}." ` - -sourceTag "${sourceTagForHttpAccess}" -port 80 -priority 500 - - SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` - -rulename "HttpsPort" ` - -ruledescription "allow HTTPS access from ${sourceTagForHttpAccess}." ` - -sourceTag "${sourceTagForHttpAccess}" -port 443 -priority 501 - } - } - - $nsgid = az network nsg list --resource-group ${AKS_PERS_RESOURCE_GROUP} --query "[?name == '${AKS_PERS_NETWORK_SECURITY_GROUP}'].id" -o tsv - Write-Output "Found ID for ${AKS_PERS_NETWORK_SECURITY_GROUP}: $nsgid" - - Write-Output "Setting NSG into subnet" - az network vnet subnet update -n "${AKS_SUBNET_NAME}" -g "${AKS_SUBNET_RESOURCE_GROUP}" --vnet-name "${AKS_VNET_NAME}" --network-security-group "$nsgid" --query "provisioningState" -o tsv -} - -# set up WAF if requested -if ($AKS_USE_WAF -eq "y") { - $publicip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --query "ipAddress" -o tsv; - if ([string]::IsNullOrWhiteSpace($publicip)) { - az network public-ip create -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --location $AKS_PERS_LOCATION --allocation-method Static - $publicip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --query "ipAddress" -o tsv; - } - - Write-Host "Using Public IP: [$publicip]" - # get vnet and subnet name - Do { $confirmation = Read-Host "Would you like to connect the Azure WAF to an existing virtual network? (y/n)"} - while ([string]::IsNullOrWhiteSpace($confirmation)) - - if ($confirmation -eq 'y') { - Write-Output "Finding existing vnets..." - # az network vnet list --query "[].[name,resourceGroup ]" -o tsv - - $vnets = az network vnet list --query "[].[name]" -o tsv - - Do { - Write-Output "------ Existing vnets -------" - for ($i = 1; $i -le $vnets.count; $i++) { - Write-Host "$i. $($vnets[$i-1])" - } - Write-Output "------ End vnets -------" - - $index = Read-Host "Enter number of vnet to use (1 - $($vnets.count))" - $AKS_VNET_NAME = $($vnets[$index - 1]) - } - while ([string]::IsNullOrWhiteSpace($AKS_VNET_NAME)) - - if ("$AKS_VNET_NAME") { - - # Do { $AKS_SUBNET_RESOURCE_GROUP = Read-Host "Resource Group of Virtual Network"} - # while ([string]::IsNullOrWhiteSpace($AKS_SUBNET_RESOURCE_GROUP)) - - $AKS_SUBNET_RESOURCE_GROUP = az network vnet list --query "[?name == '$AKS_VNET_NAME'].resourceGroup" -o tsv - Write-Output "Using subnet resource group: [$AKS_SUBNET_RESOURCE_GROUP]" - - Write-Output "Finding existing subnets in $AKS_VNET_NAME ..." - $subnets = az network vnet subnet list --resource-group $AKS_SUBNET_RESOURCE_GROUP --vnet-name $AKS_VNET_NAME --query "[].name" -o tsv - - Do { - Write-Output "------ Subnets in $AKS_VNET_NAME -------" - for ($i = 1; $i -le $subnets.count; $i++) { - Write-Host "$i. $($subnets[$i-1])" - } - Write-Output "------ End Subnets -------" - - Write-Host "NOTE: Each customer should have their own gateway subnet. This subnet should be different than the cluster subnet" - $index = Read-Host "Enter number of subnet to use (1 - $($subnets.count))" - $AKS_SUBNET_NAME = $($subnets[$index - 1]) - } - while ([string]::IsNullOrWhiteSpace($AKS_SUBNET_NAME)) - - } - } - -} - -# delete existing containers -kubectl delete 'pods,services,configMaps,deployments,ingress' -l k8s-traefik=traefik -n kube-system --ignore-not-found=true - - -# set Google DNS servers to resolve external urls -# http://blog.kubernetes.io/2017/04/configuring-private-dns-zones-upstream-nameservers-kubernetes.html -kubectl delete -f "$GITHUB_URL/kubernetes/loadbalancer/dns/upstream.yaml" --ignore-not-found=true -Start-Sleep -Seconds 10 -kubectl create -f "$GITHUB_URL/kubernetes/loadbalancer/dns/upstream.yaml" -# to debug dns: https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#inheriting-dns-from-the-node - -kubectl delete ServiceAccount traefik-ingress-controller-serviceaccount -n kube-system --ignore-not-found=true - -if ($AKS_USE_SSL -eq "y" ) { - # if the SSL cert is not set in kube secrets then ask for the files - if ([string]::IsNullOrWhiteSpace($(kubectl get secret traefik-cert-ahmn -o jsonpath='{.data}' -n kube-system --ignore-not-found=true))) { - # ask for tls cert files - Do { $AKS_SSL_CERT_FOLDER = Read-Host "What folder has the tls.crt and tls.key files? (absolute path e.g., c:\temp\certs)"} - while ([string]::IsNullOrWhiteSpace($AKS_SSL_CERT_FOLDER) -or (!(Test-Path -Path "$AKS_SSL_CERT_FOLDER"))) - - $AKS_SSL_CERT_FOLDER_UNIX_PATH = (($AKS_SSL_CERT_FOLDER -replace "\\", "/")).ToLower().Trim("/") - - kubectl delete secret traefik-cert-ahmn -n kube-system --ignore-not-found=true - - Write-Output "Storing TLS certs as kubernetes secret" - kubectl create secret generic traefik-cert-ahmn -n kube-system --from-file="$AKS_SSL_CERT_FOLDER_UNIX_PATH/tls.crt" --from-file="$AKS_SSL_CERT_FOLDER_UNIX_PATH/tls.key" - } -} - -Write-Host "GITHUB_URL: $GITHUB_URL" - -# setting up traefik -# https://github.com/containous/traefik/blob/master/docs/user-guide/kubernetes.md - -Write-Host "Deploying configmaps" -$folder = "kubernetes/loadbalancer/configmaps" -if ($AKS_USE_SSL -eq "y" ) { - foreach ($file in "config.ssl.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - - } -} -else { - foreach ($file in "config.yaml".Split(" ")) { - Write-Host "$GITHUB_URL ${folder}/${file}" - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - - } -} - -$kubectlversion = $(kubectl version --short=true)[1] -if ($kubectlversion -match "v1.8") { - Write-Host "Since kubectlversion ($kubectlversion) is less than 1.9 no roles are needed" -} -else { - Write-Host "Deploying roles" - $folder = "kubernetes/loadbalancer/roles" - foreach ($file in "ingress-roles.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - - } -} - -Write-Host "Deploying pods" -$folder = "kubernetes/loadbalancer/pods" -if ($AKS_USE_SSL -eq "y" ) { - foreach ($file in "ingress-azure.ssl.yaml ingress-azure.internal.ssl.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - - } -} -else { - foreach ($file in "ingress-azure.yaml ingress-azure.internal.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - - } -} - -Write-Host "Deploying services" -$folder = "kubernetes/loadbalancer/services/cluster" -foreach ($file in "dashboard.yaml dashboard-internal.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - -} - -Write-Host "Deploying ingress" -$folder = "kubernetes/loadbalancer/ingress" -# foreach ($file in "default.yaml default-internal.yaml".Split(" ")) { -# ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - -# } - -if ($AKS_USE_SSL -eq "y" ) { - foreach ($file in "dashboard.ssl.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - - } -} -else { - foreach ($file in "dashboard.yaml".Split(" ")) { - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "${folder}/${file}" -customerid $customerid | kubectl apply -f - - } -} - -if ("$AKS_OPEN_TO_PUBLIC" -eq "y") { - Write-Output "Setting up a public load balancer" - - $publicip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --query "ipAddress" -o tsv; - if ([string]::IsNullOrWhiteSpace($publicip)) { - az network public-ip create -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --location $AKS_PERS_LOCATION --allocation-method Static - $publicip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --query "ipAddress" -o tsv; - } - - Write-Host "Using Public IP: [$publicip]" - - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/external/loadbalancer.external.yaml" -customerid $customerid ` - | Foreach-Object {$_ -replace 'PUBLICIP', "$publicip"} ` - | kubectl create -f - - Write-Output "Setting up an internal load balancer" - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/external/loadbalancer.internal.open.yaml" -customerid $customerid ` - | kubectl create -f - - -} -else { - Write-Output "Setting up an external load balancer" - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/external/loadbalancer.external.restricted.yaml" -customerid $customerid ` - | kubectl create -f - - # Write-Output "Setting up an internal load balancer" - Write-Output "Setting up an internal load balancer" - ReadYamlAndReplaceCustomer -baseUrl $GITHUB_URL -templateFile "kubernetes/loadbalancer/services/external/loadbalancer.internal.yaml" -customerid $customerid ` - | kubectl create -f - - -} - -$loadBalancerIPResult = GetLoadBalancerIPs -$EXTERNAL_IP = $loadBalancerIPResult.ExternalIP -$INTERNAL_IP = $loadBalancerIPResult.InternalIP - -FixLoadBalancers -resourceGroup $AKS_PERS_RESOURCE_GROUP - -$dnsrecordname = "$customerid.healthcatalyst.net" - -if ($AKS_USE_WAF -eq "y") { - - # $nsgname = "IngressNSG" - # $iprangetoallow = "" - # if ([string]::IsNullOrEmpty($(az network nsg show --name "$nsgname" --resource-group "$AKS_PERS_RESOURCE_GROUP" ))) { - # az network nsg create --name "$nsgname" --resource-group "$AKS_PERS_RESOURCE_GROUP" - # } - - # if ([string]::IsNullOrEmpty($(az network nsg rule show --nsg-name "$nsgname" --name "IPFilter" --resource-group "$AKS_PERS_RESOURCE_GROUP" ))) { - # # Rule priority, between 100 (highest priority) and 4096 (lowest priority). Must be unique for each rule in the collection. - # # Space-separated list of CIDR prefixes or IP ranges. Alternatively, specify ONE of 'VirtualNetwork', 'AzureLoadBalancer', 'Internet' or '*' to match all IPs. - # az network nsg rule create --name "IPFilter" ` - # --nsg-name "$nsgname" ` - # --priority 220 ` - # --resource-group "$AKS_PERS_RESOURCE_GROUP" ` - # --description "IP Filtering" ` - # --access "Allow" ` - # --source-address-prefixes "$iprangetoallow" - # } - - # Write-Output "Creating network security group to restrict IP address" - - Write-Output "Setting up Azure Application Gateway" - - $gatewayName = "${customerid}Gateway" - - az network application-gateway show --name "$gatewayName" --resource-group "$AKS_PERS_RESOURCE_GROUP" - $gatewayipName = "${gatewayName}PublicIP" - - Write-Output "Checking if Application Gateway already exists" - if ([string]::IsNullOrEmpty($(az network application-gateway show --name "$gatewayName" --resource-group "$AKS_PERS_RESOURCE_GROUP" ))) { - - # note application gateway provides no way to specify the resourceGroup of the vnet so we HAVE to create the App Gateway in the same resourceGroup - # as the vnet and NOT in the resourceGroup of the cluster - $gatewayip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n "$gatewayipName" --query "ipAddress" -o tsv; - if ([string]::IsNullOrWhiteSpace($gatewayip)) { - az network public-ip create -g $AKS_PERS_RESOURCE_GROUP -n "$gatewayipName" --location $AKS_PERS_LOCATION --allocation-method Dynamic - - # Write-Output "Waiting for IP address to get assigned to $gatewayipName" - # Do { - # Start-Sleep -Seconds 10 - # Write-Output "." - # $gatewayip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n "$gatewayipName" --query "ipAddress" -o tsv; - # } - # while ([string]::IsNullOrWhiteSpace($gatewayip)) - } - - # Write-Host "Using Gateway IP: [$gatewayip]" - - $mysubnetid = "/subscriptions/${AKS_SUBSCRIPTION_ID}/resourceGroups/${AKS_SUBNET_RESOURCE_GROUP}/providers/Microsoft.Network/virtualNetworks/${AKS_VNET_NAME}/subnets/${AKS_SUBNET_NAME}" - - Write-Output "Using subnet id: $mysubnetid" - - Write-Output "Creating new application gateway with WAF (This can take 10-15 minutes)" - # https://docs.microsoft.com/en-us/cli/azure/network/application-gateway?view=azure-cli-latest#az_network_application_gateway_create - - az network application-gateway create ` - --sku WAF_Medium ` - --name "$gatewayName" ` - --location "$AKS_PERS_LOCATION" ` - --resource-group "$AKS_PERS_RESOURCE_GROUP" ` - --vnet-name "$AKS_VNET_NAME" ` - --subnet "$mysubnetid" ` - --public-ip-address "$gatewayipName" ` - --servers "$EXTERNAL_IP" ` - - # https://docs.microsoft.com/en-us/azure/application-gateway/application-gateway-faq - - Write-Output "Waiting for Azure Application Gateway to be created." - az network application-gateway wait ` - --name "$gatewayName" ` - --resource-group "$AKS_PERS_RESOURCE_GROUP" ` - --created - } - else { - - # # set public IP - $frontendPoolName = az network application-gateway show --name "$gatewayName" --resource-group "$AKS_SUBNET_RESOURCE_GROUP" --query "frontendIpConfigurations[0].name" -o tsv - Write-Output "Setting $gatewayipName as IP for frontend pool $frontendPoolName" - az network application-gateway frontend-ip update ` - --gateway-name "$gatewayName" ` - --resource-group "$AKS_PERS_RESOURCE_GROUP" ` - --name "$frontendPoolName" ` - --public-ip-address "$gatewayipName" - - $backendPoolName = az network application-gateway show --name "$gatewayName" --resource-group "$AKS_SUBNET_RESOURCE_GROUP" --query "backendAddressPools[0].name" -o tsv - Write-Output "Setting $EXTERNAL_IP as IP for backend pool $backendPoolName" - # set backend private IP - az network application-gateway address-pool update ` - --gateway-name "$gatewayName" ` - --resource-group "$AKS_PERS_RESOURCE_GROUP" ` - --name "$backendPoolName" ` - --servers "$EXTERNAL_IP" - - az network application-gateway wait ` - --name "$gatewayName" ` - --resource-group "$AKS_PERS_RESOURCE_GROUP" ` - --updated - } - - if ($(az network application-gateway waf-config show --gateway-name "$gatewayName" --resource-group "$AKS_PERS_RESOURCE_GROUP" --query "firewallMode" -o tsv) -eq "Prevention") { - } - else { - Write-Output "Enabling Prevention mode of firewall" - az network application-gateway waf-config set ` - --enabled true ` - --firewall-mode Prevention ` - --gateway-name "$gatewayName" ` - --resource-group "$AKS_PERS_RESOURCE_GROUP" ` - --rule-set-type "OWASP" ` - --rule-set-version "3.0" - } - - # if ([string]::IsNullOrEmpty($(az network application-gateway probe show --gateway-name "$gatewayName" --name "MyCustomProbe" --resource-group "$AKS_SUBNET_RESOURCE_GROUP"))) { - # # create a custom probe - # az network application-gateway probe create --gateway-name "$gatewayName" ` - # --resource-group "$AKS_SUBNET_RESOURCE_GROUP" ` - # --name "MyCustomProbe" ` - # --path "/" ` - # --protocol "Http" ` - # --host "dashboard.${dnsrecordname}" - - # # associate custom probe with HttpSettings: appGatewayBackendHttpSettings - # az network application-gateway http-settings update --gateway-name "$gatewayName" ` - # --name "appGatewayBackendHttpSettings" ` - # --resource-group "$AKS_SUBNET_RESOURCE_GROUP" ` - # --probe "MyCustomProbe" ` - # --enable-probe true ` - # --host-name "dashboard.${dnsrecordname}" - # } - - - Write-Output "Checking for health of backend pool" - az network application-gateway show-backend-health ` - --name "$gatewayName" ` - --resource-group "$AKS_PERS_RESOURCE_GROUP" ` - --query "backendAddressPools[0].backendHttpSettingsCollection[0].servers[0].health" - - # set EXTERNAL_IP to be the IP of the Application Gateway - $EXTERNAL_IP = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n "$gatewayipName" --query "ipAddress" -o tsv; -} - -if ($SETUP_DNS -eq "y") { - SetupDNS -dnsResourceGroup $DNS_RESOURCE_GROUP -dnsrecordname $dnsrecordname -externalIP $EXTERNAL_IP -} -else { - Write-Output "To access the urls from your browser, add the following entries in your c:\windows\system32\drivers\etc\hosts file" - Write-Output "$EXTERNAL_IP dashboard.$dnsrecordname" -} - -Write-Output "External IP: $EXTERNAL_IP" -if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { - Write-Output "Internal IP: $INTERNAL_IP" -} - -if ($AKS_CLUSTER_ACCESS_TYPE -eq "2") { - # Write-Output "Testing internal load balancer" - # Invoke-WebRequest -useb -Headers @{"Host" = "dashboard.$dnsrecordname"} -Uri http://$INTERNAL_IP/ | Select-Object -Expand Content - - Write-Output "To test out the load balancer since the vnet, open Git Bash and run:" - Write-Output "curl -L --verbose --header 'Host: dashboard.$dnsrecordname' 'http://$INTERNAL_IP/' -k" - - Write-Output "To test out the load balancer from one of the whitelist IPs, open Git Bash and run:" - Write-Output "curl -L --verbose --header 'Host: dashboard.$dnsrecordname' 'http://$EXTERNAL_IP/' -k" -} -else { - # Write-Output "Testing load balancer" - # Invoke-WebRequest -useb -Headers @{"Host" = "dashboard.$dnsrecordname"} -Uri http://$EXTERNAL_IP/ | Select-Object -Expand Content - - Write-Output "To test out the load balancer, open Git Bash and run:" - Write-Output "curl -L --verbose --header 'Host: dashboard.$dnsrecordname' 'http://$EXTERNAL_IP/' -k" -} - - - - - diff --git a/kubernetes/setup-loadbalancer.ps1 b/kubernetes/setup-loadbalancer.ps1 deleted file mode 100644 index f398bb7..0000000 --- a/kubernetes/setup-loadbalancer.ps1 +++ /dev/null @@ -1,277 +0,0 @@ -Write-output "Version 2018.03.27.01" - -# -# This script is meant for quick & easy install via: -# curl -useb https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/azure/setup-loadbalancer.ps1 | iex; - -$GITHUB_URL = "https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -# $GITHUB_URL = "C:\Catalyst\git\Installscripts" - -Write-Host "GITHUB_URL: $GITHUB_URL" - -$set = "abcdefghijklmnopqrstuvwxyz0123456789".ToCharArray() -$randomstring += $set | Get-Random - -Invoke-WebRequest -useb ${GITHUB_URL}/kubernetes/common-kube.ps1?f=$randomstring | Invoke-Expression; -# Get-Content ./kubernetes/common-kube.ps1 -Raw | Invoke-Expression; - -Invoke-WebRequest -useb $GITHUB_URL/azure/common.ps1?f=$randomstring | Invoke-Expression; -# Get-Content ./azure/common.ps1 -Raw | Invoke-Expression; - -$config = $(ReadConfigFile).Config -Write-Host $config - -$AKS_IP_WHITELIST = "" - -$userInfo = $(GetLoggedInUserInfo) -# $AKS_SUBSCRIPTION_ID = $userInfo.AKS_SUBSCRIPTION_ID -# $IS_CAFE_ENVIRONMENT = $userInfo.IS_CAFE_ENVIRONMENT - -$AKS_PERS_RESOURCE_GROUP = $config.azure.resourceGroup -$AKS_PERS_LOCATION = $config.azure.location - -# Get location name from resource group -$AKS_PERS_LOCATION = az group show --name $AKS_PERS_RESOURCE_GROUP --query "location" -o tsv -Write-Output "Using location: [$AKS_PERS_LOCATION]" - -$customerid = $config.customerid -$customerid = $customerid.ToLower().Trim() -Write-Output "Customer ID: $customerid" - -$ingressExternal = $config.ingress.external -$ingressInternal = $config.ingress.internal -$AKS_IP_WHITELIST = $config.ingress.external_ip_whitelist - -# read the vnet and subnet info from kubernetes secret -$AKS_VNET_NAME = $config.networking.vnet -$AKS_SUBNET_NAME = $config.networking.subnet -$AKS_SUBNET_RESOURCE_GROUP = $config.networking.subnet_resource_group - -Write-Output "Found vnet info from secret: vnet: $AKS_VNET_NAME, subnet: $AKS_SUBNET_NAME, subnetResourceGroup: $AKS_SUBNET_RESOURCE_GROUP" - -if ($ingressExternal -eq "whitelist") { - Write-Output "Whitelist: $AKS_IP_WHITELIST" - - SaveSecretValue -secretname whitelistip -valueName iprange -value "${AKS_IP_WHITELIST}" -} - -Write-Output "Setting up Network Security Group for the subnet" - -# setup network security group -$AKS_PERS_NETWORK_SECURITY_GROUP = "$($AKS_PERS_RESOURCE_GROUP.ToLower())-nsg" - -if ([string]::IsNullOrWhiteSpace($(az network nsg show -g $AKS_PERS_RESOURCE_GROUP -n $AKS_PERS_NETWORK_SECURITY_GROUP))) { - - Write-Output "Creating the Network Security Group for the subnet" - az network nsg create -g $AKS_PERS_RESOURCE_GROUP -n $AKS_PERS_NETWORK_SECURITY_GROUP --query "provisioningState" -} -else { - Write-Output "Network Security Group already exists: $AKS_PERS_NETWORK_SECURITY_GROUP" -} - -if ($($config.network_security_group.create_nsg_rules)) { - Write-Output "Adding or updating rules to Network Security Group for the subnet" - $sourceTagForAdminAccess = "VirtualNetwork" - if($($config.allow_kubectl_from_outside_vnet)){ - $sourceTagForAdminAccess = "Internet" - Write-Output "Enabling admin access to cluster from Internet" - } - - $sourceTagForHttpAccess = "Internet" - if (![string]::IsNullOrWhiteSpace($AKS_IP_WHITELIST)) { - $sourceTagForHttpAccess = $AKS_IP_WHITELIST - } - - DeleteNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP -rulename "HttpPort" - DeleteNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP -rulename "HttpsPort" - - SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` - -rulename "allow_kube_tls" ` - -ruledescription "allow kubectl and HTTPS access from ${sourceTagForAdminAccess}." ` - -sourceTag "${sourceTagForAdminAccess}" -port 443 -priority 100 - - SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` - -rulename "allow_http" ` - -ruledescription "allow HTTP access from ${sourceTagForAdminAccess}." ` - -sourceTag "${sourceTagForAdminAccess}" -port 80 -priority 101 - - SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` - -rulename "allow_ssh" ` - -ruledescription "allow SSH access from ${sourceTagForAdminAccess}." ` - -sourceTag "${sourceTagForAdminAccess}" -port 22 -priority 104 - - SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` - -rulename "allow_mysql" ` - -ruledescription "allow MySQL access from ${sourceTagForAdminAccess}." ` - -sourceTag "${sourceTagForAdminAccess}" -port 3306 -priority 205 - - # if we already have opened the ports for admin access then we're not allowed to add another rule for opening them - if (($sourceTagForHttpAccess -eq "Internet") -and ($sourceTagForAdminAccess -eq "Internet")) { - Write-Output "Since we already have rules open port 80 and 443 to the Internet, we do not need to create separate ones for the Internet" - } - else { - if($($config.ingress.external) -ne "vnetonly"){ - SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` - -rulename "HttpPort" ` - -ruledescription "allow HTTP access from ${sourceTagForHttpAccess}." ` - -sourceTag "${sourceTagForHttpAccess}" -port 80 -priority 500 - - SetNetworkSecurityGroupRule -resourceGroup $AKS_PERS_RESOURCE_GROUP -networkSecurityGroup $AKS_PERS_NETWORK_SECURITY_GROUP ` - -rulename "HttpsPort" ` - -ruledescription "allow HTTPS access from ${sourceTagForHttpAccess}." ` - -sourceTag "${sourceTagForHttpAccess}" -port 443 -priority 501 - } - } - - $nsgid = az network nsg list --resource-group ${AKS_PERS_RESOURCE_GROUP} --query "[?name == '${AKS_PERS_NETWORK_SECURITY_GROUP}'].id" -o tsv - Write-Output "Found ID for ${AKS_PERS_NETWORK_SECURITY_GROUP}: $nsgid" - - Write-Output "Setting NSG into subnet" - az network vnet subnet update -n "${AKS_SUBNET_NAME}" -g "${AKS_SUBNET_RESOURCE_GROUP}" --vnet-name "${AKS_VNET_NAME}" --network-security-group "$nsgid" --query "provisioningState" -o tsv -} - -# delete existing containers -kubectl delete 'pods,services,configMaps,deployments,ingress' -l k8s-traefik=traefik -n kube-system --ignore-not-found=true - - -# set Google DNS servers to resolve external urls -# http://blog.kubernetes.io/2017/04/configuring-private-dns-zones-upstream-nameservers-kubernetes.html -kubectl delete -f "$GITHUB_URL/kubernetes/loadbalancer/dns/upstream.yaml" --ignore-not-found=true -Start-Sleep -Seconds 10 -kubectl create -f "$GITHUB_URL/kubernetes/loadbalancer/dns/upstream.yaml" -# to debug dns: https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#inheriting-dns-from-the-node - -kubectl delete ServiceAccount traefik-ingress-controller-serviceaccount -n kube-system --ignore-not-found=true - -if ($($config.ssl) ) { - # if the SSL cert is not set in kube secrets then ask for the files - if ([string]::IsNullOrWhiteSpace($(kubectl get secret traefik-cert-ahmn -o jsonpath='{.data}' -n kube-system --ignore-not-found=true))) { - # ask for tls cert files - Do { $AKS_SSL_CERT_FOLDER = Read-Host "What folder has the tls.crt and tls.key files? (absolute path e.g., c:\temp\certs)"} - while ([string]::IsNullOrWhiteSpace($AKS_SSL_CERT_FOLDER) -or (!(Test-Path -Path "$AKS_SSL_CERT_FOLDER"))) - - $AKS_SSL_CERT_FOLDER_UNIX_PATH = (($AKS_SSL_CERT_FOLDER -replace "\\", "/")).ToLower().Trim("/") - - kubectl delete secret traefik-cert-ahmn -n kube-system --ignore-not-found=true - - Write-Output "Storing TLS certs as kubernetes secret" - kubectl create secret generic traefik-cert-ahmn -n kube-system --from-file="$AKS_SSL_CERT_FOLDER_UNIX_PATH/tls.crt" --from-file="$AKS_SSL_CERT_FOLDER_UNIX_PATH/tls.key" - } -} - -Write-Host "GITHUB_URL: $GITHUB_URL" - -# setting up traefik -# https://github.com/containous/traefik/blob/master/docs/user-guide/kubernetes.md - -Write-Host "Deploying configmaps" -$folder = "kubernetes/loadbalancer/configmaps" -if ($($config.ssl)) { - $files = "config.ssl.yaml" - DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid -} -else { - $files = "config.yaml" - DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid -} - -$kubectlversion = $(kubectl version --short=true)[1] -if ($kubectlversion -match "v1.8") { - Write-Host "Since kubectlversion ($kubectlversion) is less than 1.9 no roles are needed" -} -else { - Write-Host "Deploying roles" - $folder = "kubernetes/loadbalancer/roles" - $files = "ingress-roles.yaml" - DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid -} - -Write-Host "Deploying pods" -$folder = "kubernetes/loadbalancer/pods" - -if ($($config.ingress.internal) -eq "public" ) { - $files = "ingress-azure.both.yaml" - DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid -} -else { - if ($($config.ssl) ) { - $files = "ingress-azure.ssl.yaml ingress-azure.internal.ssl.yaml" - DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid - } - else { - $files = "ingress-azure.yaml ingress-azure.internal.yaml" - DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid - } -} - -Write-Host "Deploying services" -$folder = "kubernetes/loadbalancer/services/cluster" -$files = "dashboard.yaml dashboard-internal.yaml" -DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid - -Write-Host "Deploying ingress" -$folder = "kubernetes/loadbalancer/ingress" - -if ($($config.ssl) ) { - $files = "dashboard.ssl.yaml" - DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid -} -else { - $files = "dashboard.yaml" - DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid -} - -$folder = "kubernetes/loadbalancer/services/external" - -if ("$($config.ingress.external)" -ne "vnetonly") { - Write-Output "Setting up a public load balancer" - - $publicip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --query "ipAddress" -o tsv; - if ([string]::IsNullOrWhiteSpace($publicip)) { - az network public-ip create -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --location $AKS_PERS_LOCATION --allocation-method Static - $publicip = az network public-ip show -g $AKS_PERS_RESOURCE_GROUP -n IngressPublicIP --query "ipAddress" -o tsv; - } - - Write-Host "Using Public IP: [$publicip]" - - Write-Output "Setting up external load balancer" - $files = "loadbalancer.external.yaml" - DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid -public_ip $publicip -} -else { - Write-Output "Setting up an external load balancer" - $files = "loadbalancer.external.restricted.yaml" - DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid -public_ip $publicip -} - -if ($($config.ingress.internal) -ne "public" ) { - Write-Output "Setting up an internal load balancer" - if ("$($config.ingress.internal)" -eq "public") { - $files = "loadbalancer.internal.open.yaml" - } - else { - $files = "loadbalancer.internal.yaml" - - } - DownloadAndDeployYamlFiles -folder $folder -files $files -baseUrl $GITHUB_URL -customerid $customerid -public_ip $publicip -} - -$loadBalancerIPResult = GetLoadBalancerIPs -$EXTERNAL_IP = $loadBalancerIPResult.ExternalIP -$INTERNAL_IP = $loadBalancerIPResult.InternalIP - -FixLoadBalancers -resourceGroup $AKS_PERS_RESOURCE_GROUP - -$dnsrecordname = $($config.dns.name) - -SaveSecretValue -secretname "dnshostname" -valueName "value" -value $dnsrecordname - -if ($($config.dns.create_dns_entries)) { - SetupDNS -dnsResourceGroup $DNS_RESOURCE_GROUP -dnsrecordname $dnsrecordname -externalIP $EXTERNAL_IP -} -else { - Write-Output "To access the urls from your browser, add the following entries in your c:\windows\system32\drivers\etc\hosts file" - Write-Output "$EXTERNAL_IP $dnsrecordname" -} - - diff --git a/kubernetes/setup-loadbalancer.sh b/kubernetes/setup-loadbalancer.sh deleted file mode 100644 index 588ba0e..0000000 --- a/kubernetes/setup-loadbalancer.sh +++ /dev/null @@ -1,100 +0,0 @@ -#!/bin/bash -set -e -# -# This script is meant for quick & easy install via: -# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setup-loadbalancer.sh | bash -# -GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" - -source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh?p=$RANDOM") -# source ./kubernetes/common.sh - -version="2018.03.27.01" - -echo "---- setup-loadbalancer.sh version $version ------" - -# enable running pods on master -# kubectl taint node mymasternode node-role.kubernetes.io/master:NoSchedule - -kubectl delete 'pods,services,configMaps,deployments,ingress' -l k8s-traefik=traefik -n kube-system --ignore-not-found=true - -kubectl delete ServiceAccount traefik-ingress-controller-serviceaccount -n kube-system --ignore-not-found=true - -AKS_IP_WHITELIST="" -publicip="" - -AskForSecretValue "customerid" "Customer ID " -customerid=$(ReadSecret "customerid") - -AskForSecretValue "dnshostname" "DNS name used to connect to the master VM " -dnsrecordname=$(ReadSecret "dnshostname") - -sslsecret=$(kubectl get secret traefik-cert-ahmn -n kube-system --ignore-not-found=true) - -if [[ -z "$sslsecret" ]]; then - - read -p "Location of SSL cert files (tls.crt and tls.key): (leave empty to use self-signed certificates) " certfolder < /dev/tty - - if [[ -z "$certfolder" ]]; then - echo "Creating self-signed SSL certificate" - sudo yum -y install openssl - u="$(whoami)" - certfolder="/opt/healthcatalyst/certs" - echo "Creating folder: $certfolder and giving access to $u" - sudo mkdir -p "$certfolder" - sudo setfacl -m u:$u:rwx "$certfolder" - rm -rf "$certfolder/*" - cd "$certfolder" - # https://gist.github.com/fntlnz/cf14feb5a46b2eda428e000157447309 - echo "Generating CA cert" - openssl genrsa -out rootCA.key 2048 - openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 3650 -subj /CN=HCKubernetes/O=HealthCatalyst/ -out rootCA.crt - echo "Generating certificate for $dnsrecordname" - openssl genrsa -out tls.key 2048 - openssl req -new -key tls.key -subj /CN=$dnsrecordname/O=HealthCatalyst/ -out tls.csr - openssl x509 -req -in tls.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out tls.crt -days 3650 -sha256 - cp tls.crt tls.pem - fi - - ls -al "$certfolder" - - echo "Deleting any old TLS certs" - kubectl delete secret traefik-cert-ahmn -n kube-system --ignore-not-found=true - - echo "Storing TLS certs as kubernetes secret" - kubectl create secret generic traefik-cert-ahmn -n kube-system --from-file="$certfolder/tls.crt" --from-file="$certfolder/tls.key" -fi - -yamlfile="kubernetes/loadbalancer/configmaps/config.ssl.yaml" -echo "Downloading $GITHUB_URL/$yamlfile" -ReadYamlAndReplaceCustomer $GITHUB_URL "$yamlfile" $customerid \ - | kubectl apply -f - - -yamlfile="kubernetes/loadbalancer/roles/ingress-roles.yaml" -echo "Downloading $GITHUB_URL/$yamlfile" -ReadYamlAndReplaceCustomer $GITHUB_URL "$yamlfile" $customerid \ - | kubectl apply -f - - -yamlfile="kubernetes/loadbalancer/pods/ingress-onprem.yaml" -echo "Downloading $GITHUB_URL/$yamlfile" -ReadYamlAndReplaceCustomer $GITHUB_URL "$yamlfile" $customerid \ - | kubectl apply -f - - -yamlfile="kubernetes/loadbalancer/services/cluster/dashboard-onprem.yaml" -echo "Downloading $GITHUB_URL/$yamlfile" -ReadYamlAndReplaceCustomer $GITHUB_URL "$yamlfile" $customerid \ - | kubectl apply -f - - -yamlfile="kubernetes/loadbalancer/services/external/loadbalancer.onprem.yaml" -echo "Downloading $GITHUB_URL/$yamlfile" -ReadYamlAndReplaceCustomer $GITHUB_URL "$yamlfile" $customerid \ - | kubectl apply -f - - -loadbalancer="traefik-ingress-service-public" -loadBalancerIP="$(dig +short myip.opendns.com @resolver1.opendns.com)" -echo "My WAN/Public IP address: ${loadBalancerIP}" - -echo "To test out the load balancer, open Git Bash and run:" -echo "curl -L --verbose --header 'Host: $dnsrecordname' 'http://$loadBalancerIP/' -k" - -echo "---- end of setup-loadbalancer.sh version $version ------" \ No newline at end of file diff --git a/kubernetes/setupmaster.txt b/kubernetes/setupmaster.txt deleted file mode 100644 index da42fb2..0000000 --- a/kubernetes/setupmaster.txt +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/sh -set -e -# -# This script is meant for quick & easy install via: -# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupmaster.txt | bash -# -# - -GITHUB_URL="https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master" -source <(curl -sSL "$GITHUB_URL/kubernetes/common.sh") - -version="2018.03.27.01" -echo "---- setupmaster version $version ----" - -u="$(whoami)" -echo "User name: $u" - -# for calico network plugin -# sudo kubeadm init --kubernetes-version=v1.9.3 --pod-network-cidr=192.168.0.0/16 - -# for flannel network plugin -sudo kubeadm init --kubernetes-version=v1.9.3 --pod-network-cidr=10.244.0.0/16 - -# which CNI plugin to use: https://chrislovecnm.com/kubernetes/cni/choosing-a-cni-provider/ - -# for logs, sudo journalctl -xeu kubelet - -mkdir -p $HOME/.kube -sudo cp -f /etc/kubernetes/admin.conf $HOME/.kube/config -sudo chown $(id -u):$(id -g) $HOME/.kube/config - -# calico -# from https://docs.projectcalico.org/v3.0/getting-started/kubernetes/installation/hosted/kubeadm/ -# kubectl apply -f ${GITHUB_URL}/kubernetes/calico.yaml - -# flannel -# kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.9.1/Documentation/kube-flannel.yml -kubectl apply -f ${GITHUB_URL}/kubernetes/flannel.yml - -# enable master to run containers -# kubectl taint nodes --all node-role.kubernetes.io/master- - -# kubectl create -f "$GITHUB_URL/azure/cafe-kube-dns.yml" - -kubectl get nodes - -echo "sleeping 10 secs to wait for pods" -sleep 10 - -kubectl get pods -n kube-system -o wide - -WaitForPodsInNamespace kube-system 5 - -sudo mkdir -p /mnt/data -sudo chown $(id -u):$(id -g) /mnt/data -sudo chmod -R 777 /mnt/data - -# testing -# kubectl run nginx --image=nginx --port=80 - -# Register the Microsoft RedHat repository -sudo yum-config-manager \ - --add-repo \ - https://packages.microsoft.com/config/rhel/7/prod.repo - -# curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo - -# Install PowerShell -sudo yum install -y powershell - -# Start PowerShell -# pwsh - -echo "---- end setupmaster version $version ----" diff --git a/kubernetes/setupnode.txt b/kubernetes/setupnode.txt deleted file mode 100644 index 1071e2f..0000000 --- a/kubernetes/setupnode.txt +++ /dev/null @@ -1,70 +0,0 @@ -#!/bin/sh -set -e -# -# This script is meant for quick & easy install via: -# curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode.txt | bash -# -# - -version="2018.03.27.01" -echo "---- setupnode version $version ----" - -u="$(whoami)" -echo "User name: $u" - -sudo yum -y install yum-versionlock - -sudo yum update -y - -# remove older versions -# sudo systemctl stop docker 2>/dev/null -sudo yum remove -y kubelet kubeadm kubectl kubernetes-cni -sudo yum -y remove docker-engine.x86_64 docker-ce docker-engine-selinux.noarch docker-cimprov.x86_64 docker-engine -sudo yum -y remove docker docker-common docker-selinux docker-engine -sudo rm -rf /var/lib/docker - -sudo yum-config-manager \ - --add-repo \ - https://docs.docker.com/v1.13/engine/installation/linux/repo_files/centos/docker.repo - -sudo yum repolist - -echo "docker versions available in repo" -sudo yum --showduplicates list docker-engine - -sudo yum install -y docker-engine-selinux-17.03.1.ce-1.el7.centos.noarch docker-engine-17.03.1.ce-1.el7.centos -sudo yum versionlock docker-engine - -# https://kubernetes.io/docs/setup/independent/install-kubeadm/ -# log rotation for docker: https://docs.docker.com/config/daemon/ -# https://docs.docker.com/config/containers/logging/json-file/ -sudo mkdir -p /etc/docker -cat << EOF | sudo tee -a /etc/docker/daemon.json -{ - "exec-opts": ["native.cgroupdriver=systemd"], - "log-driver": "json-file", - "log-opts": { - "max-size": "10m", - "max-file": "5" - } -} -EOF - -sudo systemctl enable docker && sudo systemctl start docker - -if [ $u != "root" ]; then - echo "giving permission to $u" - sudo usermod -aG docker $u - # reload permissions without requiring a logout - # from https://superuser.com/questions/272061/reload-a-linux-users-group-assignments-without-logging-out - # https://man.cx/newgrp(1) - newgrp docker - curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode2.txt | sh - - #echo "curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode2.txt | sh" | sudo tee -a ~/.bashrc - #echo "Please logout and login again" -else - echo "Setting up docker" - curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode2.txt | sh -fi - diff --git a/kubernetes/setupnode2.txt b/kubernetes/setupnode2.txt deleted file mode 100644 index ada6fb1..0000000 --- a/kubernetes/setupnode2.txt +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/sh -set -e -# -# This script is meant for quick & easy install via: -# 'curl -sSL https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/setupnode2.txt | sh' -# -# - -version="2018.03.27.01" -echo "---- setupnode2 version $version ----" - -# remove the line from next run -grep -v "setupnode2.txt" ~/.bashrc | sudo tee ~/.bashrc - -u="$(whoami)" -echo "User name: $u" - -cat << EOF | sudo tee -a /etc/yum.repos.d/kubernetes.repo -[kubernetes] -name=Kubernetes -baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 -enabled=1 -gpgcheck=1 -repo_gpgcheck=1 -gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg -EOF - - -# install kubeadm -# https://saurabh-deochake.github.io/posts/2017/07/post-1/ -sudo setenforce 0 -# sudo systemctl stop kubelet 2>/dev/null -sudo yum remove -y kubelet kubeadm kubectl kubernetes-cni - -echo "checking to see if port 10250 is still busy" -sudo lsof -i -P -n | grep LISTEN - -echo "kubernetes versions available in repo" -sudo yum --showduplicates list kubelet kubeadm kubectl kubernetes-cni - -sudo yum install -y kubelet-1.9.3-0 kubeadm-1.9.3-0 kubectl-1.9.6-0 kubernetes-cni-0.6.0-0 -sudo yum versionlock kubelet -sudo yum versionlock kubeadm -sudo yum versionlock kubectl -sudo yum versionlock kubernetes-cni - -sudo systemctl enable kubelet && sudo systemctl start kubelet - -# Some users on RHEL/CentOS 7 have reported issues with traffic being routed incorrectly due to iptables being bypassed -cat << EOF | sudo tee -a /etc/sysctl.d/k8s.conf -net.bridge.bridge-nf-call-ip6tables = 1 -net.bridge.bridge-nf-call-iptables = 1 -EOF -sudo sysctl --system - -echo "---- end setupnode2 version $version ----" diff --git a/kubernetes/setupwindows.ps1 b/kubernetes/setupwindows.ps1 deleted file mode 100644 index 49f4e83..0000000 --- a/kubernetes/setupwindows.ps1 +++ /dev/null @@ -1,112 +0,0 @@ -Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force -# https://github.com/OneGet/MicrosoftDockerProvider -Install-Module -Name DockerMsftProvider -Repository PSGallery -Force -# Uninstall-Package -ProviderName DockerMsftProvider -Name Docker -Verbose -# 17.06.01 is minimum -Install-Package -Name Docker -ProviderName DockerMsftProvider -Force -RequiredVersion 17.06.1-ee-2 -Restart-Computer -Force - -Write-Output "Checking if docker is working properly" -docker run microsoft/dotnet-samples:dotnetapp-nanoserver - -# https://docs.microsoft.com/en-us/virtualization/windowscontainers/kubernetes/configuring-host-gateway-mode -# $url = "https://raw.githubusercontent.com/Microsoft/SDN/master/Kubernetes/windows/AddRoutes.ps1" -# wget $url -o AddRoutes.ps1 - -# https://kubernetes.io/docs/getting-started-guides/windows/ - -mkdir C:/k/ - -Write-Output "installing Windows tools to set up networking" - -Invoke-WebRequest https://github.com/Microsoft/SDN/archive/master.zip -o master.zip -Expand-Archive master.zip -DestinationPath master -mv master/SDN-master/Kubernetes/windows/* C:/k/ -rm -recurse -force master,master.zip - -# get ip of master via ping -# get gateway from ipconfig -./AddRoutes.ps1 -MasterIp 10.239.0.4 -Gateway 10.239.0.1 - -Invoke-WebRequest "http://7-zip.org/a/7z1801-x64.exe" -o 7z1801-x64.exe -Start-Process .\7z1801-x64.exe - -Write-Output "Downloading Windows Kube tools: kubectl, kubeadm" -Invoke-WebRequest https://dl.k8s.io/v1.9.2/kubernetes-node-windows-amd64.tar.gz -o kubernetes-node-windows-amd64.tar.gz -mv kubernetes-node-windows-amd64.tar.gz C:/k/ - -# download from our own location so we can use zip - - -# Expand-Archive kubernetes-node-windows-amd64.tar.gz -DestinationPath kubernetes-node-windows-amd64 -# install 7-zip and extract - -Write-Output "Creating the pause container" -docker pull microsoft/windowsservercore -docker tag microsoft/windowsservercore microsoft/windowsservercore:latest -cd C:/k/ -docker build -t kubeletwin/pause . - -docker images - - - -# if using windows 1709 -# docker pull microsoft/windowsservercore:1709 -# docker tag microsoft/windowsservercore:1709 microsoft/windowsservercore:latest -# cd C:/k/ -# docker build -t kubeletwin/pause . - -# https://storage.googleapis.com/kubernetes-release/release/v1.9.1/kubernetes-node-windows-amd64.tar.gz -# copy to c:\k - - -Write-Output "TODO: Copy and create config here" - -Write-Output "Setting environment variable to point to kube config" -$env:Path += ";C:\k" -[Environment]::SetEnvironmentVariable("Path", $env:Path, [EnvironmentVariableTarget]::Machine) -$env:KUBECONFIG="C:\k\config" -[Environment]::SetEnvironmentVariable("KUBECONFIG", "C:\k\config", [EnvironmentVariableTarget]::User) -Get-ChildItem Env: - -Write-Output "Checking to see if we can connect to kube master" -kubectl version - -Get-NetAdapter - -# https://github.com/MicrosoftDocs/Virtualization-Documentation/issues/529 -# https://github.com/MicrosoftDocs/Virtualization-Documentation/tree/live/windows-server-container-tools/CleanupContainerHostNetworking -# net stop hns -# del C:\ProgramData\Microsoft\Windows\HNS\HNS.data -# net start hns - -# Stop-service docker -# Get-ContainerNetwork | Remove-ContainerNetwork -Force -# Start-service docker - -./start-kubelet.ps1 -./start-kubeproxy.ps1 - -kubectl get nodes - -kubectl get pods -n kube-system -o wide - - -# kubectl apply -f https://raw.githubusercontent.com/Microsoft/SDN/master/Kubernetes/WebServer.yaml -kubectl apply -f https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/testwindowsnanoserver.yml - -kubectl get all -o wide - -kubectl describe po -l app=win-nanoserver - -kubectl apply -f https://raw.githubusercontent.com/HealthCatalyst/InstallScripts/master/kubernetes/testwindowswebserver.yml - -# https://github.com/MicrosoftDocs/Virtualization-Documentation/tree/master/windows-server-container-tools/Debug-ContainerHost -Invoke-WebRequest https://raw.githubusercontent.com/MicrosoftDocs/Virtualization-Documentation/master/windows-server-container-tools/Debug-ContainerHost/Debug-ContainerHost.ps1 -o Debug-ContainerHost.ps1 - -docker network create --driver host host - -# https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/#44-joining-your-nodes -# kubectl drain --delete-local-data --force --ignore-daemonsets -# kubectl delete node \ No newline at end of file diff --git a/kubernetes/templates/index.json b/kubernetes/templates/index.json deleted file mode 100644 index 0821afe..0000000 --- a/kubernetes/templates/index.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "Name os stack", - "version": "4.0.0.2", - "secrets": { - "password": [], - "value": [] - }, - "resources": { - "dns": [], - "configmaps": [], - "roles": [], - "volumes": { - "onprem": [], - "azure": [] - }, - "volumeclaims": [], - "pods": [], - "services": { - "cluster": [], - "external": [] - }, - "ingress": { - "http": [], - "tcp": [] - } - } -} \ No newline at end of file diff --git a/kubernetes/test.ps1 b/kubernetes/test.ps1 deleted file mode 100644 index 957d166..0000000 --- a/kubernetes/test.ps1 +++ /dev/null @@ -1,7 +0,0 @@ - -$myname = Read-Host "Please enter your name: " - -Write-Host "Value: $myname" - -Read-Host -Prompt "Press Enter to continue" - diff --git a/kubernetes/testwindowsnanoserver.yml b/kubernetes/testwindowsnanoserver.yml deleted file mode 100644 index 59278c6..0000000 --- a/kubernetes/testwindowsnanoserver.yml +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - labels: - app: win-nanoserver - name: win-nanoserver -spec: - replicas: 1 - template: - metadata: - labels: - app: win-nanoserver - name: win-nanoserver - spec: - containers: - - name: nanoserver - imagePullPolicy: IfNotPresent - image: microsoft/dotnet-samples:dotnetapp-nanoserver - nodeSelector: - beta.kubernetes.io/os: windows \ No newline at end of file diff --git a/kubernetes/testwindowswebserver.yml b/kubernetes/testwindowswebserver.yml deleted file mode 100644 index 1b5a84d..0000000 --- a/kubernetes/testwindowswebserver.yml +++ /dev/null @@ -1,42 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: win-webserver - labels: - app: win-webserver -spec: - ports: - - port: 80 - targetPort: 80 - selector: - app: win-webserver - type: LoadBalancer ---- -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - labels: - app: win-webserver - name: win-webserver -spec: - replicas: 1 - template: - metadata: - labels: - app: win-webserver - name: win-webserver - spec: - containers: - - name: windowswebserver - imagePullPolicy: IfNotPresent - image: microsoft/windowsservercore - command: - - powershell.exe - - -command - - "<#code used from https://gist.github.com/wagnerandrade/5424431#> ; $$listener = New-Object System.Net.HttpListener; $$listener.Prefixes.Add('http://*:80/') ; $$listener.Start() ; $$callerCounts = @{} ; Write-Host('Listening at http://*:80/') ; while ($$listener.IsListening) { ;$$context = $$listener.GetContext() ;$$requestUrl = $$context.Request.Url ;$$clientIP = $$context.Request.RemoteEndPoint.Address ;$$response = $$context.Response ;Write-Host '' ;Write-Host('> {0}' -f $$requestUrl) ; ;$$count = 1 ;$$k=$$callerCounts.Get_Item($$clientIP) ;if ($$k -ne $$null) { $$count += $$k } ;$$callerCounts.Set_Item($$clientIP, $$count) ;$$header='

Kis?X!wr^+3v;@apRHRquXcJ!JDV;P58EwW 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 z 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

1@0j(mLI;PCAM*qWZq1OD9RU)w(`pAy zAbl@;PoYlGuCz2WZB*r5{7iA3A?FE$X|qPB+}6Lp$WEg0a~t6Id*NNU zRsFuSvf2*^qV*yh@%yQ18{vU5;epkg;G)dEUx5PAKhrMHAEOO2>hu`BF6Jcnp|85|8Xk(WObHInHJ)*0ZA+E&h0Wq2=7=}fxznrk zZiL^35su{#s5U@YVD%;-EU;${oSjMrGDT5X38oObFF>SNf$UHz7BpuTjc0T2m1+Z9 zY6D9{pDqKsiU&9t;9dg|V5EsIbRX$L64HzSeMV6QjRwwu0J&LPT}Uf*ofNNqnO~Vy z8@R>V0GGXXTJ3-d1e{0};ul7kfcQexzeb)G z)9)Ys{+hkGbv(eWNLkAQy0ZfwaF7l-=8)k`Air2;y=&SmQH|hSjbQD4x6lrB8O${- zz=Tzj2~YKbdfL0HKCm|I7_qyS63a5gQm|CWI(z?=5%QZ#iNe@ed9(vh$q`@Zws8PL z`uUXF0SBNqAknH>QRiZ^7jje^pxOZ9GU`RP!spLC`wP{M_}H@#U;onA-~IMbK7Kd- z<=q?p>*PoC;aUIH_b-3`rT#(p-wmF!@B5klutFN6+Q6Rig-`&HkO))-3IX5?Im9u( zOjV&PTk0ryZFOd~6Bam!1vVw9mwcfv1G<6-w6|J;w55qJbe-Bj=BC~`CWuUV7CxeBSOsL@T+M31bEHa`U<)Q#`U`a#&^1hePE$fUpIs?Q zLvU4%U=tkM2Y(?`s@jF<&>5giklkfNIgss&D8RU5)=1J2Z0&~%_-shY>cS#)DA1D?_8T=+#jZs6;NYW9 zj#>}oJNq_k1FF|fsU2_tgU=|4lIR0XIN-WCU^7@J?Eq;9R;eN#^Qwde2n!GvxHT;? z`U_|dsbe7(1jWz_c*q7S^u~Z~qA`eb1oaJ`tzdzT@4N*b=rW+Ic))Qj7&4MsZc4R* zds!QR@?pdf(ckpYHoy}eq;Sa#u)nPcQHbYC?D$pz~I_eJs^&^mApHG!`RUO}Y_e2vbNq$|#d_jWNs zJFN&4D3w%lg{(O4PKS>44z;Yp2N)>@#$u55;X;OUJRZ(Qlf(M@y5hC^Y3^Jd!^uhG zxY&V48()XPAf2F*_JgleIXlLUGbh(P$ZgtY6+X|wDH&^qJ(1EEb+jCl?mzLP8+E5c!QB{78PIhb_I0^aG!?exL^90dDC?Zl;>U zC^0(?83pt7n4+;|^2sW~11C?zIXtlTzFX7>x(wzj7O+lhFT5dtp>0@TZP;;NE`pes z??)*I3va^748Lq|>AER4ecF%X;pB?L$Z^dw&EK^1^HRmKW}z@9BHhD6EL>LT>);uK z$tch^;ebtJ{U_=Mr0ca)YBwCfg_NB9g|3eSHr7sWfCYXSrSZI5GvR?pe+~Nmbo`T@ z9uC6)j0eBJ7~3BPQ~P@<-=DrYb)z5O|MJ`SAD(~r)9mNthnR6I+4zfQF6X5SrwM(r ztI0UkX`BWzWdJpLo12hQPcrftTGMk79{8m3fHkF29w>mPEQG9bK;r{1tV1-zR9#k0 zgVp`159H_EPwAhtG=awJU&tHvksE41XhJky#ah5yq!22hqax=HY;K+kfksi#e3qq) z`C&I-@yY06RUxR%4?$yk=mXG0NPwSA=bt|*@y+v}U*^}^9<)Z@_{v?tkuKMA6^i!w-GNGBaS30aTZ9yjw6$2@~++)mKx@a?!i z&8TKAxxW=awX0(8jK=u@ru`gl{OiGF8m6&;Zg)}Z1 zC&6Sy=~5+_H+fmxLJQ5S3SipTb)K8^EuKHGCF0m{;LGpwnzQmnb2#T$K0BthlWxB{ z_|NZNzI=W#U-clL%F%&f{J-+SG*8Qy{Zl-n!fDf|m2q@{7q~<(nLdKnS>RdI%)73T z1?!-NGGiRJ1FBtV636|~v_Bj)&%J237Xfe)=RJPrPf9e8wE^bR)+=~TM`jC$7J3EL z7fZ`coK8;3BV-)+Kg@&koTEpVrD68W=z0fWm?LfgtZ}!ka;)TPo_Ch^=4yGw6X-YvlX&bqU4~H)P<1Xlqe1S6+DM16=H(A z6waVBgDd;#K$az&s>`)pgDl!Pt>Ed2AtA`JD`eRRN7lOHO4Nvl>l&U*%CLwTEPTP8 zOu>aDQHR9Ey{C}HS|$Vp_xN1`wGvupY^-q!4nhXbv!sW`A zI)>l*Vo)cCPu8^+u99A7zPO3eBZ~kVB<((!#@>%g%X%dQHHz`Pz_M1%SbT+Wa$_AN zL+n*aN5=|>=(YFzZg7DyCY>WU*K6a2b=o9hg{2|<#lY@7EegL+&PY*6x92BL=o3~T ztRTt73G<*1?=RNg=t!%1UI7V{xFsx+EE3-o_0YxIRKJ?GGK zW1R01Bg+OGgF}*+OOJ$T1n?v%4KEr{VZ>+y>1t5tS;Aa9U~YE#~M$i zjcpiVZP;-G-L*KR!o8eaw1p9{i&BEA!YlA;m<$0H49o<(-)6FBtfvi3EN`Q;D6|$a zXosQ=%C4Xysltk=6|Ynf=$W2z#2T4u$+p@6CYIk_hCt4aX$^>c9440NwR3IFXZ@kJC z8=R4|))$~aNRXt_9YE(Z+F#6a%@^+iy>z*v>*xiodC`k2XU=YcnAM(P-q~u3`iz#o zSP0?e0vx7}$l)&s*FZY|kX&GW6G|LF)lsUWi-0|@~t27&6OpPWcU!hf`H#b$}i!UL#qq#&d#YxoCNH6DQ_Xl>3{&IQ9&Y3g>-_H^^r%<7PKODRks^=ZF5 zQvu~~^H}1OH~k3~?+=bqjG8V6_Qfp5l&X}+E)U{jPJBCC4kz3f(8dv1R6{bQd^^o1hkrE3GKJ17?;eNMe6&2mf9E?F zXLlOL@ACmq$FtOabYWQjhP|E5m?zKQC@lT&fB)~iY&Dp?NYg2%M|0Qab8bEwqq*4p zK5iC+b{|UE>g&Ap%2)l2{|DjZ>)~nW51!%S^3VX@UYgnr}wKNFj39jxp!|~fNu5gTbn~Sr=f;s*0 zBE=a5gzuXtSpNQFU$!kycJ0Mlyh1J<4lWn?2CKQm!6cu@znfE>!e}NRG=A1^hxQE5 z5-fSO%{j2;^K8=_`s~X)%!0MC+YVW#vN5Vl;#XgS&RqSzB+(Hjl4s+8ZVTlVmMqwU60BHQBlwz20i#09 z<&CIeKW$9l$)dn@g!PX%cFHkCzg9FEDPTU400%M{E zS19wq!5w1wgGUZ86sE1UD1GLC9<-;sD0||sxzhCK)yz$DRjBJ4k`fImhC>e!?`k;Y zLWFKCD(bagoY`t|IUn1-ubH#!)y#LlqJLJ+JXeMT)~_~=h_;XFvl{-Sm~;)l(QwgGA~Jj z?QiM)a~F?vxvJ}lFwLEX?*T41CBm*7{g8O13r+X3L|E(nU7krjc1z4$&4<2DLS<7L z;R-tWrT7VNMRabirI!qS|8U$Jc!mZv7J^2MmVd&69RF+`7M-gUeJhw+~t`JCaT6c+wf1 zLuUk4&kY7aRVuOeF3t!lu}=Gd%wN6wn|S*Dqu*b%7rz{%Y1Frmp4^(wK%&Q{%K+6G z7!oUiwu`|^277TBIeAxt7;q0ute>Z+c$aIr3Q*B46>a0aza@aW5FKBsFjy>f`wD~I zBAqVf)JwLQ(*c)DEG}CK1G1C{G(LRy!&7`uRLR`++IxKmh(KQ6F&%#dcfmCmt*nyB zA{pva`Z{57Rw5(nJv14HQExatK72blBqt-HV-i-lbF5JElDVq3MdbppEC(^uGc+rO z$*Y2-O+^{*nU6R3&{0FP2n+9QVylgX^bJ1Vr4FnrUEoG%mGynqByW7_EnYVH3_!cW(B$o_}rc-YDip7a2fJ$*CKDcjIGRaZ*<649pokrveD>X zAd)JQmGELvpempPl`JG4>^^$y%LJqAJJBFR108tnOi_U-fm_p;5Ruoia9Y<|JI#G^ zi{Zb|zTF!y+4c0tyI;*s#NlpE>t}AvV)!Z_WzP5JpPKN*z6*`RtBra#S2(*B=t|Kjl;zIgFnv9a>moGtmX!#4skg;VI5 z;e$cn1;%2K^(w7mH{T7?n4?a#rZGoGvyI0oqq!5chccRIw98QR6KFsRhcTyY;zHX* zMEwU$!KDcjg~C-8u#w5lmCKY02IIBF%i5MIXF1U9qF;qL#=OiTh4gB!To8r?<|HtG z%D(SsQ|}cfJ+U9A;pF`!tBg)DIYZ$ zyH6Noz8`hMaj#@sw#F@6wq%dp(-VqBB2l7UMY8$OtHb~OtONlTiy(_&m0ZP=($n@x zB=JgQ0(%8d`6Z(+80_#tBX7gR%vkyA3}^?qFKf;`58H z(OUxbi!c9_@V;IT2ZZ;`_AS*?5_-(xJ#-NB@FI3KpRMlQ?FaSiXR$4mufCthvrG|v zis)0%w`6yns*xRB$?m=y$+)M=LWAIC0oyPx&>_n3BD00hbLmTMX+<^IR*n1=BKqzx zz9yXSGNSEpo(gM>x+O()ojU9kzsC1@6DLvX z7^6${pJYd!f}bq%v!Q?TtR_|8X{6phm$i6(ILR(Juq(=R3fWW0o7<~UQ_5ul%}?=$jhdO57T!uA{1ig=YrFxQ*uBfpwqkcGz`y1yG5N-8 zsrYN$goA?k*8aPN^6kx90lg?#fM>QuM`2z<3>s*LrcVOVQV2Zc3?0$q@;V@(ZyofI zuzuIZM;6@Ee!U6~3+_z>y_O$y0)Cx^I2&v#^X`skbNRg1g8X&m2kx{$b^AWLPR17ts|2Udw&iBEte0y5u0@bFjw!Q z1!i(56;tS8TWW)v1cB*}$+^!w#nXaEC%-aa0syJvLjs2W!ch_bM(cyh;5&~ zm7PFdlkfLT)vdOtXe z>Ef(fMVtDo-e13Y@#0x;sc-1Ti#h4RXW?)0bgHb)i{Uvg!=1;rbZr9$+OL=O0Z@zI z3n@dFDS@2teE^7X0L{L_8#OnFwTDqkTMm}whzl;h)x!+ zz^lk8>6|5G;piSO>e`k$o1hO8Pz7Zb#LL;7C3YlE#WEc*Nf>;kfS-1 z?Ech~j=O%8szRwMl&V4rs-&vWy{HO#QZj02fX8O63gxiaw<-Wn)54On3|jc(l4r-< zL7lXXE+@<4&UzL%hc7!kLJ4}=gW)EE!?hJbXOuB;?sH3h9ss^RlB!UJA<;3q!)^#C+0PlYhGl9 zlvIOnCWMbO`~bSyr2}5SBD0K4Z%~2Z&T<-8tn=1G4nw*6W|>1(_ud>P%tj?}NdKD%vAFiL9+WII*tdVwl;q#2sn z(+DQNMUbT^kO{rq1Y`bg(u~EPxm6!FPRVE%g}+AMwBTlN(W<|@D5k}4<51(1*TWfp zJ{+CKf>d*?m0G{vvRNWuFII!@jAuC~4w*2H#8{5vT5j>Sq3DBRawbJ6dA)Tx9gpCH zRXln2#duT>PZ!hb6fcbUcir*FaYK-nS6Y>NhpUsgNfGF4D6J;5!G$7bP>n_rrnAAG zv0iUKur@CTyDs$d?{{6*hnX?gzsdU=Xngq&_i5EZV}qHBJ5$Z5JGeC)X9E4z+GAt8 z<_Tx}$K}=-SOE8+Be2 z)Q%TU9QnA)k9AhngZ~P)ojW36@`E;1W z!eJF_eHlu(IE!Z#f7E{Z;=`l9EA2DBbVD{@4%Mx|80A&ac+AtSI?35!?kCkd@>zY( zf7I{E<=64SAEQyg}Cf&*1Vlockx(n)85z0Dty}@h*nqjKk=&Zuxj@+tG>C|rhTceRMR7)Q=F6P zfMNb-JpFxed9-%a0dLwsYD=zR1>M%tg=<;KR{EhrJWVR-gO!$mRVQIOA1?DiRgLVj zy<0rZJ4$w3v(QneIWF#N3oNgVcsoJc9+CFVyTd`bxUAhE=Fnn6mD;MW@{n}mj@fwZ zqqF0*FJ=GE^2b|>vDH8|n{SNNu(%?(8t>ZP6e?!k{Y@^$ObsqzJ@JKfB0juU*0H?^ zwf$yuFy7 zQbZ|5lu|?~MU+xR_aa3k7z}j+$l)B^L!^lCALE$JXz&C=Y%Yx4sc5|u1JS)Saie`n z0yVLTI!YvEi7Vm~e+}F-Q3T^nj)chZ)5Ndw@@*umUG8ctTLg0$a3@mVf!R81{2Di5 z$zvWbratT^k+=3Ab9I}2ZQBIY_GT?Ixl%&$P~=%)4o$>FV6X+#G((?xmKUBBG>-y- z1IXm9gC0UC-?i}#NaY&+NHcjYETM9#%%_B_lZTdZQ5#AIJFK6k^>cMvB09bG-n>U~~N$MHejviw)k z5brO(>n}O@eSbDy6mBx+0DL+`_6>50{PqO88d z^4r>8`_Fc+BC21%ZVmwOjP$t_QXaFUd$dfPZ*7!#7k*XS&u8sHvNF6#Ex6~ClLX!q zcu(Lxf%kg>-n~^c_wb)`g-5@!lH{2)l4OLz+_Nl7p-go2+{*7bPVgQ$<5Z!;LRmzQ zQchh4<+{yEDLnIqAVzsy(eZ=#gI>E0Z0~YETd-YPNv%vyQoxPk)Wdmw)ZfZD~rr&T9iCE!$j0d9{}999{3ROe$@_c0N`QR z;B_cTCbdpXuJ(R6M*d4(3?Sr)=;;v6~8(`{lYkt*2EVz5&Vj>kV|`9gu#AcFTbF1dl8{-Ze14 zhU8r;LTL%B&)nMjlxD#%ro;KW%R1aOZi)l6fAexSdsT06?00%_>52xMr~hGQK${tW zPqvEsH*QuDW_~)HtO?j2#_{c;Nlb4(b!9p9z4^Fz4hMlStw(%=C~zT(n^n)!$N>4# zjZPaIf&W!+hC?BpQi=XIf5KSC8dkz`Cv_XmXVXv)-(m-GdT!a#RX=mcgUqVr4YsYW zsy-1&+{bZ>#ofYiqssOSr_qykrQ&-ss>C(;1#&Yn_tTnyzc2Fea())~A9rvsXW_;* z9O+byXPLRlFdDpvY45KX^uOKW+(c~z4`HN8tNVQ0vy<$bofQGHSc*=Y5pOlZoQPFo3QaLtLN>;gZR##xy>9~o8Q|Wv(3*gO~rUIs}sKnW|hQ~ zbzi`+^}!lrg6|jek0>bExSFGzkJbCE*QofnhXnv$DMGk}%WzkB1G8#KpG5nJk7_pW zxT5c|X$|x6sCh)PU)R4rG9D59Nax{2 zbSs;!DmAy??QZ=nwpB2y@8|I>lkO)`hZ1!tQHK(B=w48VN)6IHha7;DXxOcEnOVl+ ztqlTw&M4XhbBEIVJ)#czyg<8fs2qg0V38Zt%=26oxGW)9iT)70GS5GL>QMK0Zo?bu zax=H^hQJatDk>zBIZR#g7<3=|B`>8TX=rV?ak%&Ed)7B-5rohsRgyxXmrIV03Zew} zFPEBSxhJ{coO^R=pWzUO5X8KY2!jt;T7qwwB6)OmxJP)k;1tdq2z~OxLcLBj zY+4KFGY@&TD?;GfGhET};??ehwzL zSmHx)kaZw57W&DXbrKzA0AxjY<8V#7f8Ej+pBTy_ut|KBQ1I8!+OWk zU=*b}&9SB#mUuzXyA<{`nF|0vo>9V>+OFMSwcOh_$`@baw6?1Es}pKX*YCgW{WbPH z>BZ)Li&^iBaS={>jF7*@lc*k@vHcC&zMoGpund+E@Y2YLeL>_2wI@WzCJb@qB`704 za2JN1^KYrRxCCQnVV+=2G_{UiP)V`R5{yYOCc&6{0b@)E%uAv&;-lT3M+;<=dy$dC zGgF9MVGyy{H640<12_(-k&;8|37qEYeQz&IZ4UO|{W zcVKM{?hd{b3IcsnK%SrL0%a@iVopM5o&^~2c`M7ZW6$=TAzf(n^Nn6E*=!}Bk4 zbhcJu9);84sLqb!H?3f%`o34Ul8Rx4ck^&Mp1xa8_C74mhojhR8*%dM7+1A+v+)b; zXRl-UCl6t|+}0L^fw`RGL_~M^1Yvf@?g_$N;s&*rYv<}sEOk_6i}l9=3K`QK4#&+` zal1v1zoFu>zUj7SN5?XV=+{#};fPzq5sA^Y1}_qpm<&Ocm;z8mv=v@12P9#M0*uFD zISg@Rz!J|bTDW9RXec~l(isMOX#Pt*60?Hp5Te3kvKU690wvIaJbwJxTK)Kuei&1> zSHe>y9C4`myMaG*!}HmoktQxs27fs`N7u~RcMQbJS@QnNUxxCVe>~)0y`BH^_BH)=_Jex=-SFkNFMj%^{9X>B>Pnbmm8&dM5k*`~ z;6_k~M0)Ha-Z)ZL#mu{qid=m@+ay`39ZDisB}9=BMM4yKu-^+rfj$^o%1~xO7%<5h z44ZTGkjqGbLN==l)9>!j|)^YAH+TaajLBK8CZ6OtY!EBgvg)G zhoREF$6sG+9f7}}{P)&g1Q*RP+Pk=96u0hM2>Zi>J3s8POl-{Q)_%5W*}UHAq1f4U zA$r(u>C%9!n~(kYERF>J-E2H@m3{7RKgo^_9zMXx9@NNSZ49rvuC`DyRWbFTZiDL7fXrId(?%v*fdC3DgJF6-h z9fDB*%8f?hEYkYE$1`-9p@{7BSfr>@6^mHyXefW@ZUmQzbCfdBffsFf*Xe(FfhB&R ze-*%B=${Y$bX+x9^W*cTm8#1FrC`7?X^ z?W5mbk>|ghq8R)2qbH9ZKE#4V({+0M&;Dy&L$jwRY~s# zHvyBYNgC`&molJ`X|pK;9dg$r&YjIBiAqAf#fpu@z;OEr*f)B{<+o2HOs?0#6jz4v4((F-D|7w zld1ZZ{Ii;NR$&nQd3J$7VvK{QkQHgL07!+pcLN&idmCs7(Bvve^TVJh7V_)|#1(8F41=+quNw?|h5X3?>mQZ0hB ztOz^Z9gbHX^$8oRce$Yn^>jf!2gE#wfStA7;{DPA=B#hf0yy`{SiL)_Nyq|IV;=q- zWbtEIRupH0B23Q4?_w?CF8Gbx&%>WBW@v**QyC?hT_=~gB#lbasC$7UxCmt-V7EjZ zLCI7*mF2;Pj0av88fMqBD#mOrqkJ_gehmLwz{Pc2K!k7a#9{%}B^X5j4;4^-Wt0Y; z23eNXrUz;jPmmAl{3zSeMueiT`lNLtkSSamK1lfAPRa*KAEOXU{IN!^~ zk7Y?AT0J9+vcu_Zv^YD%hVAOZjat9{NhZ|DGcMQ50qzUb_N}sl7*TJus$y4D+G`ZE zL@=!-*@3REvm{v*Ren0lY*mOZEzTEh+9%EkX+^EIQ+43Wx#bt%7FG3jtqd z8DvgLuFO5OSNKG5M3m_BZccC%p)h&X0%QQ#*|6b1DO~U6-$D`qVJbk(nBz$o;L@8ml zH&?i`Z1N7q3!~miFO<-^dWYVr1WjP$@MK1Mo)MF?!ctGEEP7e*;nJvK{_f;im_~Pb zP}q9I5pW)u`n_TZ2?$8R?@oG+9^z~akIoCW|9AwukpOALc_%aEKjCB}Bpv!K=lr3L zwHl%x`boi53~qwG*F)F4;=oV7d;I-L?^-wH#rXHoc%Ys%6J#Dg?3L5;dCxltE_!c< z^H<2yl~d4Wdc(3e3eZ)|-1J@lW>@`vyjZrJSSKZ%uH$s54u*VToCg1X@UqUpK_t_A z&`r6~dk{Up;xnzcpQZ7~2fTv6kH^2qE5O9=O~wG{^PxMdhY)|6LO*%(0S|Y-2Iuj3 zfmE+p8<=`XKI9x~ULd{MBzXAF`CdJj_5BBZpzrwlr>6^DtX8C_TDt`QKH2JSle)i3q$D^-4 zzj*AQgNZns_b0F1xU9wW>};5GyrLlct6YdCyaXUTk{zym#@N-e2k8 z;!#)PKldIS#rU3Eo%hZiH?PWVTc1E`+k5c!S1)?kNs?n!t3EEX!G+uo!#g~E1x7(t z>xq#9zFnR7pz47*`~Tczm|+ghhU3xa=-MYUf{sG;|NVc;;Tfv`pI6(iI{W2V_dPWp&xA_tTGm$3(npoYUy));irjmP>vzh7*&r<0h{Hy3bD6UY+&h z=kfu1_~$P_;l-aljBVEcfF1Ve=R#{WN;j%q)+-(F>ABu&&c1Jhaj9k z`_%MBZ+U%YCMmgMp?-8)}K#}_ky8KzWUlitI)db8(Wew#fWPqSysAo<}x ze){pNFaG`n2O)jN_FQ~*Im>EC_SMLbV`vnw>Gb^&@0KEzkjjPb`-q!D&_4-AG7g-#_>G&*O=V+W&kYmrKR;%OL)SaHYL$`VX1;7m2@Jp-8zgmob z4@H-w{t5TH+2!Us?{Yd{y`8|UWEMvuqg^)m8L%z>dgIyh*~Z_y?CLoJB#)UNM|3it z&a=i;G43BBREEj>Ij49z6GHwsFf%IVMR>l*zpTV+vo6P|9tD@50sn;)0f@P z7tfBf;rVcmr&pBa;n|%b3AL*6;$v4-_YCJ{Md$sl1wb3mMQgo*{1H9q8QQiBtQVRH%|GiA z+xs$jJank;q1Q8KC-}qHPxprm^)tvXpUQh4gZW=p>C6A_<|2ys#$+)MgV)39eBsWX z;`s$kbr<~FU1t*YduyJ&D-GXLWS`3Ad+b9}xjdE2Q#XQ5>En`UG>lF~olKcqg4F{k z0Nu285&W%nTJO03dsHqrq{xFVV!7P9OgOMqjiW^-88I$|l88c}(s?|T+iG@PClP}1 zb-bARP=T=7;KH-uN+bHsH}KB)UPFcLGN6}B*n(4{Bw<=d7l~UaVb|~UD+}2D=0_-O zHX~QnZ;x>3aUsnq?qNEF1_KTG^L2k zs6$nI$9Z<)$6meZ_R97GNdR~kMM_MIdHa0zUKx#|6Ri$-r~I$bJX`DejluzuAhYz&#%4yFX|J1!wxXT^C_NB@qCKs@7#&d)4*lO zi>y?IgzISZA5~}wP(tg$Btp%il60hazRsv!5zk+|w&Q!SiSN4%@Me4uvKnPlNfV)>QLO`!Z6Vz%*?gbk`&LMDgLr>!U!BHhGxT5I9#Qcsps%nIS28bS!%0IW(&GqJ zA*GV|YaotN;+zr|M_p~So7;LoEZGX%Tle^iYp7wxabW{t`t^D_3>y%oG|?tugAb77 zsQY(cnBvSp#s-vII9iL`ik; z<2KHiYr1eGxRKnzqv->lFv)=CQ{xptb01UJ@5y`AFR25xj2+zq(Fj8UjSzyvHtxvBiHgInF{ zHXJS7C?q9<6PuBoS@h}xGv7*iVk%1NFu*z=x;esKDk(z;Qo;#78s+8YN8#;c^^vjF zuda*@mj#=FgW?h*tJHjGdnlL;{~kYnY^{F$NIy()l(sNac%=QOozeUgc}-`2b?JpUpfhH z?8>`$x(yh?*~@yt+YYf4LkFKpPxr zgD|CKDsH6WhD&JU)wsCmvpNH0n!JgEDR{6{YQ%1Sfy!Y`&+YEhJ0 z6r~nL9l#6>L$G?jc=h&dKlXm!%-#XGx|%>+PaM!KJH@Q zhJEZQZoraMdhOveCkmhq0ifYf(#Ueoa-)R})I=3;;!<6QOVwp?H_--ce;^6fG7{?( z+W0upMy`U&L&!5pB}@t^2vvDr6j_jEuCy|_urbk;(8e934RRvkg1B6c2fz);x?$W+ ztXB7_xY2O#8iK^#8Y8p_R5u_@eGigH<===kl{6YozDpX7q|w;OqbJhTMZpn|iH*@o zRScU+m1|paPxGp2=^k9cg_j0NH_*jPNJm*7z~68JjY63(rKW{9u@zs!6<6a5G)RMK zc$dN4#1TS3lp!UFfn>rF2jK{e*tM$^akR%Eb`Rf&;%C_GN0#nh0drezL8w!@bO8uK zVfmD3ADla|p`0YJH}j5xkBCFv03kHt-r;9^gc@rC$Nqjj-wz1X2?BMP+*)yz?L>FY z*)2MmBaPYD1W8F_oqU&4T>!0(%3+n%bp^|1(V(|>faJOUIPHM_VS5otjP)25It1Ou`}ENMzMWv z;afox4Jpx(5)BDGa1#wl^%;-t($H(oN@R3uBK(tcbO-9~ly_g9tsm#V#U6?Ua)$|S zd^?P;G#mN+tH&?Fja!Esg+d+RD_ZgAU&PqU`ULH2`m$!Rf?*5_q%kR1$WXiADf z>R%47lE!*Ac9Z^idOCQ6PRS%`tc{>Lgy`NeSyXxxB$qi)8f!2GQkOW)irY{Jv^*i0s$P@c_6%ZC_EM39q+Vwe7AvyV0&k1Q86dCXOVG%QGV^Lq8F8 zId=qQ<*JX*GWAw%(dk|I$H&^sE}@Oez9~66L6V&`*2DR`K@B8RapT2Lzm(t0;oH&E zq_Msi8fzgn{9=JIf`PxCkcwu;2E1|&*EugFnps5qg;db*f|}|E5HoO4#CFU< zpLeadmfm`5(P2K=0RAERO`zvBy4zW}ElWcJ$L+ltT4+MQR!V-aI{f(b)`-8E>eqAr zfS^4xlE5sZN~WNFI`pHni5*m(1&c794faojSccuUf@libQ_!A*_7t?Ip#5G1?NpPJ zgYuA>GBP2Mj?P@JX+|8{S{n_g)jUcNx%D(2n*~ib&27*QFxBRYicU zLw^K8d+7O4SlvW_jYGzl`l+( z_m_X=Mx$^Refz&p&ZZcJ)DAkegHHX~I`Ji2O6cTldZ@E$sX6@FVaP~5fq6R`Qf4_r z)WPzyBp~>hf<}*?PcGwr&9`3@!gm?gRtOIYkKvr(k|$Dqg%L08w)kv*1fq45)UN2v z#~XfJoal>pF;co9gj{4Kci!AigVB!8+K#8C_h_gN2Y{T#o(SHW%pkspB00zMDhOdA zBDD^|{LXV-g@pTWU;B)YGYilA^$Iv3php(o8fMWTH)Y|kn}u)D^HT;sW#Cf=K4suj z2EIcE;|SWG<)+{S0${LaV!a=KavJ1(%>+lFVPQLz1i%{^_|`kG3Ee}7!Q2wM3lu)o zErsrNdi&~VwfWKQhwfKp-&@0ui)fI=?tp#A9y<-d;Pr4iUu&`54%P|We|@fGCWyy> ztdS^S5wK?rQt>4VprGB*Ip|}{ydzLw&i4ZXb!6US7cqI1ar%Cgb?k}v#F|Mh2~taf zHC6$2}8j(H@w%X`BcYbJ*;3G`DGbG-z0uGGk6_>{7V@$hmOql1vFQ#za_tc*D4^fiv=!7-)=0B7ff6eA`wrK&YSan?ebPGhsl%URzZ z!?p_Mt8ps=EQtyjyN4W}P{KK=%?o7tc`0Cs35zHwXK~ckMtg7H6-Vy^19pva%d;O> z0#6hO8|TAN;ejPG_+nf{73V`>g2}wX1k2B#hS>}rhWP5A|9tRcn2i_c_SCCfRc4sW z!_jGPIO`2Z@uO4BtXUtwi#VVSIM(*v!W*ma;+7vAZq&>1Ft~w6!c-r1F#*Mcd3fRS zvpbdJuAjxWM{D){Jf3B$A0%9na7Dru30K?;Tv39;Pn5Trw+_q&?%~&`;PVX;Zc!Aj zq)5gg#Q9_iLET?`4VdUMqHQn%Eun^OQH){#d@xaG=dTW!n;#)qyJaxZ6c4(OJ+7oV z$K42G%WgZ3z+mk>Vsx_#_bZGLs6go_fJbKv1CM+oGFNh)8RKkOwMI-56oZ z`E>yWyEoe!pkE~YZ@(f?Px1pobQaw%m1g!R-7cGp<^e;OuKcmCEy|!Hu{0 zfWWUn%oe&dKL4cC?$>w& zHZgsdp>4(Vj0+7nKNF+Nlz*@Nz^`!=4vOtt`|lRpw>N9W_KG-fWD&BGIk4r70C7hO zli^>AG<~iEIWQ^TI_M#>{jQCVEVgI;dKDZP+)G$ciK7ng&&IBJy1+a_E~a%dAs`I6}PRvGvzHjNE8mZPBSc${(No z`+-}`UyY~3_mvbT>XDs~hlRl4V(=R=gM00UXD%O}!7Ar@nBPTszVlSpy0&ecW(wC+ zxE|h4Fr!nrUW62`r*Qp#gzK^(A(UQcB`J}3mx^RY8=6sON;IE>%9ekU2ADT_1vcS( zm$BUp--Xc%>|VoTO!?<$-s{V}I)H6{gb=V{l~>`2&6uQ|L~H@Ujp%RtHket~2ct*YDZ(xI%kk`t=ex zAhhSCPf$K2vLWIeRcPPfs+!ZZ)vgE<;Ja!nyKz2iX?P~lrI$eAos2LOJ3a;WDX@P# zN`d|T2<)w9fugdXc_EO^Dg`vGrI48|9H=&q=d$>u88zGA#XH`8O+?>iP+Jkbl9pOV zZ^;;^jy0|hV4EM^enej%x#@-4G4$vX%3rzXPQ$VNq}oBfD`8=89lAtVU4pE}QQ|Vd z%mtY8Fv#H^H2Q8q{gvn3C9?0bgCh&?Rli;j2ZZ+&vR5o4q$lc)jw-z01Fvo~vfp_s zwcvFfvChIgW$jbeK4tCm-vY{UDY#F;J<3=2f-bLeqNps&%s2|I9)Vwtr3gdv+~mCA zg(50G*giRu&2?XYO?=;FTwC$IR2&jmB4do1GWO&12@LvLsqw+S0HjNZzw7p19o_HT z3W4z|@m>`)O3E2$g@ulsDrD=a$a1b+#t9`fx3IPetXp8e>zG|)`aRnoSvW8I_4Ge1 zoVSKaag4!ygQ#|C6mBz`-+eA?d5WZejjR(2eq2;6@f6UffIbEEKmAgEFNZ0hzb^s3 zmO6Jd7f2*3^r7W3pqJidIYhBSdSw-f+|y4kpufQzu!-rr3~f862aBE(5-TLP5YyLJ zd36}u{OIm-_U({pe;CpwtlxQ)I}OO7bz1F=JxAkN=1LdI^uWtBL_f+Xg3Uqs=4c!N z$~O+SLIe9vDO(5a64~#((0b#e3+?Mwa9C)6#F_f$2CO-luI}6I({I+#Vr?a@NH^8@ z$wWSBU=yi6rRP&LKZ$y&dy$?m5L|Et`)kd>ofHT<4&+cpyy9ix~{F)!#T@c@W>@h?46X>@@ zRNbQXwex7l>y#BlgEya*!GSjKp@lVEa!6yro0rbWAP)4aSv%Y+;@f|p)~)W3Ge#Hv zdXgU&qaSVhy(xaY9!}@${p(sSy>2rPzw4y71?{P+Y|6sp)&4SN;ZqhqW#P|fgT?)c z+hxd|$V&>FJhZJr{U7~gjWJoled)PYUQ_=m#_czH|1}|em%(j?@Sx2bqh(}W+(I6{ zzRs%y*ycyKAHv`0HsGT6NAtUma1niV8k;NHy0&9|;|=w~^Nb1$-y4axYj9lQ86knd zGpZ2Oc8vA+pM96mzw=%&0Y0s!vV`^P<#-s_;4*qr9i<^==bN42#sCz)5xOFu!`-Cs z$J5Y%GaMD;H?#gI%m;Wb3}f?9vaqcqLVPadYftN#}w3IMR7WdAa$~ zGP+KrAB;;y^i6PMoZv=+8}|!t2#(l?NRn{@+dtva#mX2}W?ouveQ;ihXb$qpl?ise zlsl!{8o1GAa5v!w1K2?C0UAd=!HpZ;28`fw!i~TbF^ZB5NFNx#C{UX-Im;Bxd1Rr= zfbs%Pz5^9#*Z5q3r35!l9>k@zSr3aKuzIS!7@mjO+?`jxfrM(E$TPd8X8wgy#4Ef>|)5D*+;W?l~v`H=SdF1;<1d-qde|P@++)RFW z_sc)NegEv69~VEJKE!}^CPbYF*v=NSX(+=qpw~mhXOlMtcHt(IVH|6M{+U`^H2o`z z*msA5a-4^d5mrL(l$ScM3a!=8ou9@nuyv|#3=-UUk>JMtf*XWN1&eXSJ32Ush6Ty; z5>0av2!V3yIb3R@hBd(r|7tiwzsrN*Mwh|egd3Ei;i^=()n%)WS8a@@ZrlWJaEf+c)p9%p zZoqfcQg}YudZVK>CQ5Jvfop;rzq0R6e|_}m?@qp(Pk+?&!N~pRboATvss4U6*T3Zn zZoEA|n~mM1Kc1cr-pmHENB02#TY3Y{-wl>fb#OX-9Y!N}9=W|w&ZlmKcj|EB&?y@q zDAh;z%s#5t_%{Yr>p$%Mus~Yu)es+FiQ+bonBYc&8%UDeCo+{m=KxC!=pVd5IN14dO02dH)5LuZmgC^-N7uujRZF^0ts%^k^jz^Kf#UoCidg=7Q$-G z7#6cIeK|azpiTLBwCtYPLQWk=G2V? z)32A~0dRwWOhs9$Y=l$T2TW#z(&f{kADvC?0JG;cqKWBjuz&V-ODOHLTT-AL)m&nto7eB|(i&HLrStb$BvujDAOWc8_G@N@|x& zcu49%Lnd?)U=zQ18htQZw9plsM!GU^$CAe|&Ag4uPRqivF`#8>0XO_VXlZC*gE4g+uDppfv<2sd% zE`z%XHw0SI5<^LhHxu006&rOzeHg(89UT|kAi1Tq6e=r?#G)e(7~fik|0o(rkY41` z3N8_;)-n@!L8Q_rEH;#`mSbnQ0gM8;A%!sXs2fV}#@7jMRB=U;i6`9#8jJQj=9rUi zBN3^#D|!;#_|nZ?m7q58o`Q74XRMI0ga}M$F62B@o)w~`p;WNrOK{_gZWhN5$6WsVX;Rfer5g5-ibfqgnpMn*f!!pd6#H|lO3C5$8Fu{#GhZ~gi>*aU= z++ZM5p(BvuG?A$inaW(5GEFA9$(1U}#4p75F*HxQ4gV?}0CevWnTjwkw8$xV9cZ^9 za*jkREnHUQ+ysiC$gxNvPt}dO}0y9qa_gfEdbB-WG?-1tc0h7?j1z!#PYEIJer zGZ!(3k=knQbI*fIaO0BF`%cJI>O{(Zy&MmK8_;c7!l=4kMzb#kRT0_}!6;kI8d$3x&oG{NOa z8|VZ#65L2|Bf*UXHxk_FVq$SUZOA>UZUo{iwhcG`}K0{3^#yLNT0@u{;M4DKe{0N_JwFsmcROK9WcL>o?+!dfRX zWd(~J{@@FzOPUqXY$z{iA*w}}(8e934S6DDzg~_9zzskY!ju6CE5VHfHxk@Pa3jHu z1UC}g0Nn67L*V0S=9orrV?v57S31vvkqnkBFvqpA*Ia@d*MS>d26q!~aKemKf+nT- z$IGQ6Wl+4}Jkz;?UMjZTFa`JU!7Z%U%!fjzwi`zv-H?$MRWHZRa6_I*zzt~r6|)I$ zB)E~_MuHm&ZX~#o;6~(9QDXv#9hnk3dgSiEEyx8wqXzZm6JgB?_4tLLger4a=-5L{`H6pAg3iOOjIjx^Sb* z;BLSTV=c&SLXy~bA;FE06mDos04r?hkBu=a>~Ay$>!78-Ol$^V8vEJ{*sp6nNx%EkqEI>hOZXm&~|4Gs1$z>LPs=oL0vp ze{~*4ZZxm9kjxOhCvJW4$7lb3;1-DOro;Cx9_+yhKJd#wJ$O3w)A8)8B^BP{h%;=yCyrX_$={(*!s6+_nLRdFbXCWQr%hMwX999_1)6 zH$Mt*C##Q)t$wwU3_V}nW8_K){>%-}XM;E;M)>n=HVtK%hLMkVG%5q#aEw3w%Dy}O z_0glhJNa%t{ZY>cBln-v(QnVE`uovb|CaN2=daJrbXR2He#aOIDDMn6>B*=ZPtU8Ar8~ptO%VO{bi9~+ z=gwmQT)KQZ^rN#$DSBg5V!#&T*9bQ32r2~ zk>Eyx8wqYCxRKySgd4;g)bLA{5g6Y>yW!x;=>yNCEF{&X;09&gRNZ*$u2tRWFu0p= zg9wBvhO+2{n&8IA=}d*r8VX*=JS)9INzoA)!}&7L;7JARX#)XA8PoWwx^V%J?+9)% z(XW?dXSl&nfKiAQR1%ZORH^SqGQv&HR7onHv>S;`1-Mb@TZjyB40TDUT5UrroX@T5} zq7bs>A!LM=HqgA(xrnJZH<=6z=ch468UvD-ODzji&^5&mHpC=v&(CIKH|dY3r-L`M z0T!_w;D0FfkLJS*Bc$14T6;wOut4Gd)$rPTIvu_aqjkS2>}fc0MG?<98B=w zm;~pS#7vv_ekqO{#-w{Eaa?Qn2V4`5F^nc;{eLZ|+5i74xU=~y@8<68-E7|fM2x9m zkApy`@W2=fv<@mk>nKf`q0=8LN(KM_Jmy&w+PDtd=rXvQXhTCJ&aEM_m3u-PA1B%< zp$mt}G@5Nt3bX;5KlD=Y!7Z@dq~gx!#N+lSv~kC1gPlkY|H^7P9soB0QM6)0X_1N> zAE3B#HXJS9x>JOS7cwonA=9E!i354nSrwvmc(MCeZZryKGlT)(Pr`I5t;a4Zd3B|+ zU&JsZhA*>|!QkADa0cf%2LuMw(0?-=72`Lv{wT~Vz%YwDYJNPM&o2F-ODvOMM}i&6 z5BCBFCfI?e&dk3G5U6%73@s*b2kC-p7V{x~_{Gbg+0$$w}5T$)mJygfjX*jE%j}?C&sZp+!W0?t_pgfVQ3=N8HCRMI&$vw?o1Pn!3S&QIM z_@F`%UjkiKdnv6AU{1NrgI5lE2NjtU9!{MuFewUxf=8880D_-?SBV8KLV>SF#gE}% z3+OGe+m?& z}jYkd4-q_OtY5P=)_-HXfP6F(s zpy&m*j4DKc#kXi|3KXq!!w+|2O4?~U>3-C}n z+~XoMB|{%f{4K-66PePWA?8ZwUL7qKm`r1ZWIhZ?zW)2c5*d6kE~2x*nigXD`O`3) zA%lyr{`t=bKh`d$J?!E2FuJ1-N2k5vtT!CRk4^#GW_|oF=0DniV{PB<#6jaQ_2JFApCcF}amnL%>#6!htP(lZ7T&w^l4%9{A^R9pg>}!`x@&Mo=qo0()4Nd~@ z58)@(ZLMD)dL#~1>Y4#|Ly}%3_>rU+x5R-m#CaQFDFqi>1tyh`T{B=~>(H&(vqEYn zkE`Ah0b#?uLc-Ob4Z+T;KUi|Zco3>YZ*%70A3+2c8vHs8QBr;Fi5LQ1O2~^kMzUkUPUls7k>aC1_Ss zS#}r9WwKOWgj{&V{hv^6xj3g*rKbL>_t$S;ym;1oUeU^Wv3hjULj#Y$#gnP1lvi~2 zU?+_9>ot1-G(z8U!?flyRb@T|G}>Q#y*?~T6tL7tuuhmKHF~PZpfq5GN3t@$$QT&Y zQX7L@C1p~_O2PFiCaEHGAq&w040MX5u*x9|$pgu94Obo|3W(AvRlba-0!fX29W{E{ zVQ@Dw3AYwzNJPc8pD@W)m}Gw#a;$iyq?&OlAO}It0gDcTth_|?asYW`B1F#0iUD}v z@W@)Vqb=y6&{8D*3gI)AZdA6Rz-Wx%!?Aus~}>MEb?`>LW4))bU11VQ(MA; z>ia*#tSS+;_WDIO$fV2tZ6gyvLat3JihSe}m3vIo+Ja2xZo1@WwYX4VKUH7-DX64g zD~G|7dq|LaGab$&382xT9-&!aB()`z+@+^x!XAekj3$9d(x-!y-^I@w55f(w-%&rF z*ib7r6nC^_M#B)R5GYF!2RQ{Z9*WtLDbyyoB|EW4GReJU79V|tXM-*S+6wlS=E#wn z$U94Ah(pT|5h7i?><~wMjCf`EJ`_K@vqf}odb(;LwBuA_jI*j0RH`J@5tJ;P%ZQgC z6|%g{j25x^MlONhUCv2#JYH?|-G<-v-a`(W(C_fGtv8K<_wg9pQq`~L{2@U*1m6-_ zUd|KE=pN9FlCmKw8Vm_3P<)F`1U9!4AA5Zvl2##Vl8WW`v`9 zAj-fq3))iV(YG&GK{G+41@l(=(x+NN*!%u#xI*}X6w}^u zbd7`4kWbX44&@BU1DDjKE(6-a63j@7KqOWnQu$&BA87EqnPuB5Nyk7GF=d^1HPdqQp#_D6q>NFmBjDLYWnmr0qfVx>M%?o31g@x-6u@Y0)WS? zUTBvauV04v9(^O5Uc{-rcWUpQ+I!ftD=?=e-p(*#=JqE*Ew`imIB=`EGsDSoC6`@ ziawrp7p+%tgI>Da+fDQmd;CeMXli${uM)Biy|iuxCR)Q6J1+87nR{>ZJO|~5)xok#mclg;Jp?MU7cHOV%eCME@oe-EuQ6n`=HG&V(5_{`n8ms|IKMN_IUt@Dz=DMUt z6sZwKYDD3u<5^@T_|%Bvvj>a$5Ot9+UjEFUe*5URSLFGvH=>|kaQG`Cln*|@47T8K zu|y*ZRusxQ&!i(cVxFz^spD-#ktkHFaz%&x+lCiX8K}uqxgt@hu=ZETWv>OD?IK4PX#Z+1$+r`%756 zrB~OlB_ySHQhFz)cT##MjuPJZx4==#xyps`B4Y$id4;gxC{gJ%26|E`r9!vtr1ZYX zAn%qNH-Uba0c{8RFfCO=re4_B3G|Oa=}nz0MRZ;(xdGL$U}$iS3LMO6y&xzgxDcWd z+YLha8^rCaVEt2af2uISa#?kT1XZPi5|jc>5_*4#O2vK}VL}Q4gVawIinVf0QZwKc zk}4FbLUHzPRuyOvIoy4PBCvu`B}hg^j=+Y&U_Uo9WRm94cN>!X%Jy<=g(7*)f_$!J z){^x$sG-Z?ZlDHbnYPqGhK}ix*hg2fkM@Tl$Es#T7xAs3ap=bvMHJC6)A}hYzu&ZlMCgBS9!* z6;#tAQm_-Q@UMoWFxy{&=rW)!EJ3B!oRZ`I2+M-h_{g2Q7{lG2eug25i`=xd22|hq5F&^Pv zxStEul&3yUg>zyhC00^mB_&o;r$^~^-MNyP?3Zrts#jL&U?$4|_+7#AlG8ay{|V~> z45;TwhuR<#E2#r33H64hy1C1MwlM)*`V7Ly7yw~EseSfh9$M7;T_ot3kh-=*(zcLu zZw%H}H*ZKb@L}yC!qa$ zSsjK600_89tfa(Ba>--$)wq~VLm8%FsxZDzky z_29)%zm(t0;oH$u^6fC{E;o#JuO7ctJ-Btk(dQw*b?P{YT`O5%o=N)wkUTWIt@@Mwy{V<&`= zbI&MeK}NHJ8{mq>N_v3&`)hZ$2ncB6Qra}T>Q;fEx?eBH1JDL1eL>OPhO$(Fm=68u zY+@5DDY23guIMFP@orGthsA9DC7zZ4%98hA{xX!`{No}2>h1iOx3B51vmey^?}jhG zO}JusJ{v41v6$SUTi)HP9i-yg1ci1sR76vzGCHja5U-^TMX*Jg3!ZSr*;BWME4KL( zt~y|M8PFD%0DD4EViK0PudF0s0h#B3=O#cZBn+x~PNPp;;n7E4d4+b^>}E(IRUks~ zbAuD0x~MW8FNWs<&P?aAi55DuX>_K`hOD9v$g+o|LT?Vv` z2|#zIAVb8YXksOe&nNedl_ZVVAsUS_X!$ZhrOu3j`B+iFNgyu-vz4U%2GxUv39f+& z>SguOV}dQErQ;AS>@Ca2lFv0;v?ZvJphAKQ2`VJ0a63?;(B6x(1U3i~8cZg1W^)iX zIntoUs{*Z%QtRgpsId3_*U*x>4DKduP#|3^*jL4DbAk;YCoQRvB`~-sGS5qJ0U2s` z4yxFy-+JLBTrgNv4c!1(Y>6FP#GL)ght^&`IkO}JVf1o29soBOy2u$7We|y$^dV_U zsRZF)B@@<7rh77BO=d~SED3_-qcUL?K|3N#2a$sVEs2#T%L`*OF3LicCTFx#bSAmO z9$L~$7~N$+TUdg?otZ0=u*7v}Nk<`!wk#AJvIWSYA&k}q$qaZh(JTpV#2ACwK+g$@JS#spMyrEKced>u@1 z3@zLWuk(Un1sSEHRKdy2Ns#?)AE&Ih=YTzX)X(f|HEtkcuENI+5Thr z*8+;h_;&DTL%a*>4=T4xB9CfwP zcQCeCHy=9W=(VZq7Lag_yG`6HIUB2`6`0v_4Xf|smW%v(YvYS^YJsHstKMI~dGX>|Z@Fpj zi*XT7dMG^oEuPFi^@4NI?Ks*rpl z6_QXo%{+SNGWfn`0{wF{qw_o~$`bU_LL-&7v!}$Pa5@|{)ru`qSM_~wT9-2rVR>XR zPsh`D>+#&f;(Rz7&gQW;{yHA26%K9u0{cl-k}!okFNs}0WCnf5TXbWYp?xg~6SJ_= zdvv+CZQvpWm!c{nCGGgfsU5%1Rg!iU1NDXJvN+Ouax`Dzk+HRgvF&Nou{t68^*ZT{ zMCeJXPTZWKwJlvh<2_4eQL_yRYi-_N1^xK*>>}hxp+AxY+;EIPC9|khok-P*RGq*B z;TC*lLBI*dl{uQ$A-5_x0|%Y6=okgA0@qX;m8uhm2spY7XgkQqNGs4rVgQ6fQ0jJl zh_CE12spTeajY^jLt+~>31wja#5~QkG0f>g1xHf1>uurvUS89-jXGn3dRZk*AVd(s zWV}E#4#H^2kmCzVFR1c|Zq`0?X}2@)o_9ZaAcES*Zc zA81}c)J>pnaNy2lJ}4Rjr-BzTm`RMKHKV639R1gjip&OG2D60+n6;Kuo%&4dV=J|W z9rN<8nM%xR3NI&t;NK(KB3@;=;=lqFF&O6}_eG?k-7!;XOX7aveL#cBsB37a?pI&_ z3CVlbujhN`K)s?7!CZohTF_-cH-mKs1-pdhOJtv? zDao!T6>t8g+#7dR+(J$fr5az_`30vdJnbdWS?oaP+|?2~Ccf%!00 zn&D;m9!0!(-ma49jjH%5JO*G~gRlPi&j&w-*?2Map@%)Z9!6T)aCF)m&U(X9{OA*rWkH+euOzf6zYBiO-WD0iJ&e65x62 z3Wi=j8qKvJJj-Ajtuk~HC0U>z?hb8T zL>NN_A{bSanah>USYb=WEP5DOg)>QzU=Jjq4J7C?plwJ1tp=QLliGM+{(c)II0imX z&I;}vp72oI;4#l3>u^Mg%o?JtFVMlk#m9Vt1h;0$N=^U?>Sc8RCg8Roy{Awos5e@f znO3UuE`FxC&ye%D(Y)HCQ*P^z&!Uqk{M@F)_e+n_Xf5jJz+QM4?p439tgMd1fv8<% zOZ@)Sv@PL*X~F}Wli;$+Ij&Z-<~C=v%3G?AS?sGIpHU$w_j~DHi~OZ6<0-(GUNc%6ESY6e+1ishjGyyVW*Q zlZ-8q6bS<4UVE>#_5nD6lfFn(Ed+}=AU1H0&DzXlQoU&jx1oojNK_uUz8N)%wcf*_ zxxh2d7Si&NFRV5ZdQidGPqg_(C?Ng$Ml^ z?TJ$Gg&;gdZZkt$HqeI@)K7iqymcjt%+0^+?%Ou&E%s%3QmCP+!2pe|5wzZSjdq~RV79OTVUnkW=~y2q=KYK61Fd1lh~2i7IJL%EMtqVM z!TZNL$ZvAal1#c>qaC>SD)NPH8V4YxUoNQwZ~$rpDOxr2*ts~`3#nKeh_wO4Ww968 z7N0-x?9Wv@+#^liKm4T>-~M(#ee`zz%iGuV*Vzx*`={m0?_T`$OYyxZ-;SP;@5(@b z*dmR^+Q5CU8WcorcHaF_7S(`7O*NP-4@hAaJXpfenV!jC`S+str(m zA|(2SRmnrMfnVL6b2QUxg( z4UuZZ1eaifmA_Dz0c~LdbedwR(!rH7Y6vc>5$u9v$KWrNSzajP6gmS~57}KXlmpo= zaSV(*BC|AV2zK`&_*j;s0TX2XdRZNY30NvpMr7m*MZS=bet>6kY36vJQ$ZP&wImHm zh>6a1krC4D=qp9;h}Q_ zexpVj?x<&p@CJOg9AZezxJo=>hHzC_>0*swOFz&et~7k1E`!;^0$fN1gC`NOz#ZfZ z3HWTJDJc?(&>=xjR@iS8P!%hS?!iVo;Z}wjqn`NK_(H^_ zUKNHU=r;fjK}wL@q-mZ=Ds%0ev4#iobL0zM!WUX;2)Ybt8xtUGB#K0Tp}VRf@XAPK zs7}1rfYyczs0nnQ&>SjN;A?cAjJo20cyAUH)XOSj0?s}6DoJyS*{RTxUZIwiXagf9 zLx?kJF=%8sr_=FbG8+_E*A=(wr=fGTGs9u!xY&V4>t31B$Pdv-``$xu7pIswOLEP< z(57vXXL&nz6I*?2aeo!g)b2_f=@ zqTgumhv+vtsOfD{Kk!NG2MRDA;FgZ$rY|Ur5`)uF#$lfByvwBZ+Djhs!0?ILzyq!K zT~iQvx(o}nh8^>=31VKnoA?kcyf(uH{&0Cq*IlvclhRGcvkOim z#5Jolf7Q-Ur`*|sm?X;_(mlkuLfd#&w`027+bHoD={%OR!`SeFQAB@a@Oh>;zpUUq?bNRbX-<`caQce}t2%o|Z4l zGd!crS=FbNP;`K2xJ56BIDyug;aO9yyRMK0`=Es~Ar!U)yxwW%rsZT_jz`sV&&kV+ z0Jw?E9zV+`C7Q=d19NGqIlQJFk%>YJy#(rumE|TbC#2*NGEU3)%iuiZ=+R|q96U3+ z&HxOv!vw${x7%8N*Yoo_bfySd#<-`yvZtrNK8TRz-rhPwM{?9@`Pz>{#En6%+)lAz z%ZWjVf)85p$>xT!gfV{?OBlhUXe$xWapv723nZHwrmZ7MZb8G~0^(>Bv21Q$2 z;5e5;mYi7%I!TeR6r2(+fWM5U5T!y)P*|oiRAz8zKOM-jVpDawmo3O5loA}Co*0q{ zSq_CP$Kc3XNQdw{&jm_^OWD)&(-5rKmK*EtMc6k1v3JeEcAZH23(7J)CGIj51ugcQTD zOe8|PRg>-v(;+QgGg@_f>=;DO+&_ztuMp6ghAN)oK?by}u)g3Bt zpp2o?EX#tJ56Mw3(EOR9|C=q)7usq{q36ap-yuepG}0M`Bri=h5~2>k$EH3@sLl;> z8pc#AD5LLYd875ZZP-{{?qeGxWD<@wI+ivr!w9Wm#{{}_f{Mfw$(-Oc=Z2wYdcYAaGS!N0 zwF6A7zT1aD*5}j$A|Hl{#rpM{I{>GoaGMnZ&*r17YdrPyH{l+cXM9gwy&a>R1t*%aOLQMuHF=HP3 za`3fNn^D9)vM@UMq23|PqC8U|&?CIjJXCCOMM_GYfC7<%B#rI>B3#k&VwNkucpLQ6 z<&L(|3tID{7gxxf-2gGGzQXWh+bQZbExp+Y;bj94D(?Hor=ef*2H zh{g9`;NLQ@H@?oC`=*m?)BdsUa-x22PU}1+Z2z`VdC(1O;c zbgq=iD7RTrZ(3h&xSK&8QXk2i8Kge-cWV_;_%@6sK6zcvuz5K;MKNmL4D9oTbKd7Z zj9nPSW=(vvSPduK7tqELSTu!{23`zsWv~MG(@Mp-&+j&!-^|iy*28TBR>ycg&Vk<4If}}Rf>y2H6wFydIqhx$l!H3ox?%C zUS_kwAJw_cq4NqqkJG9?TAkrvVdmoM&dl^(IN|wp;p>mi4a?8?we^a5{OmQy)_?u= zKVjQ^G<)vnb1aW))`n}YKANJr*m53Mn?bt|C2amMY`yhW8Swwe3?GiqOgVarhu8B( zQIv1P8R6f>pKs}#+?0Qs-~C(j`ya30p3(92{hYYIecNw#?z`c5k>gi_^BVT5F3pdO z9pdhOJ)XWX(;Vj*j@eu#HVo;9=iV(KAbeLn!NT_+`nFx-WLMv;<`r`8ba1=CH`vZ4 zj%MLH{;Do<4x^cH()hPM9qKDwCs@L6yK`Wx=h?0|^!m$N%!1Xi+W}dyN{|?<_1E%J z+{JZ?g2au44<7urNs}9&H43jFNFBwBeeA*Nb2#rx??a?ML1>5w9SMgtR_wz_#ELy; z#SQder7(xKisqqpBu{veLHa|ON^(|^oC+f0Q-Cwsnf*FmcJJpaO6+n!+qth)BWa)l zjr#_2U$yEl{Mi27SF_R0=f0vSaWVG|T3mUFeh43xc6Gg>@a~uj%~$(S#jfcS;7bSp z64qbN_ru`A@oE9LP~sZWt+JHIUNeuVA)*Et`h*wI)i{!|W*%$i5jEUc&D=r@SXIhl zw}tWw@e*vo6s%ZSBj|#r3`T`m%R5oSaoU)`lZAup2&S;%}hGn(H3ri-J}*e3x1O~fE(&CC;Zrc+|X=v^SEJu6n0VlvYVyJ-eY$f zjHZ0B4h-8hbC1fng`-{q>PV=Sg0!y~<4I;Eby9iZN$9PxDzt}E%%-1s*uKLj?b!j=~Ft2q`5>pW&Z-_2o8YPy97hnm%65 zJo73yMNvRfA|S<3=mDZt0f$_O&@+jOdZC*u+b%ALbG!33b8@ws`Qdl;W7W(1u@3}FWjcs?+p;&(LgJbHzIih%c{###j?B_K`7{6 z@f*>k?c^SDXw9NC$fHvf_CR%ziRFYQX@M3rD2`?+4;@=}k~fYQw|?#fjxKk#g9sxF3pc-?oztsg;hKwv0dJ!uca zt;ef5*r$@YdC2xWl?m1#e2ke(v?Ar+gvXTc>K74n>Q~XF&$yD|0 zxqbjdh+f{#pMC&$!Iq0wP)P)lOzczo%42Z0BBR)QXf`&J{&;#icrzPBC!$|E+-ucpPJiNQy%{E%V7zx5cL#9~Hy11ORbMP^4jaTt)`gc35U6;YNURr~B zF9H3HGB(9lJ0rFn1 zMc#QEYnkQI=#Vcu$z2-cOrU!K^E~k~g%<+{RRJBS(j>)$T{|tc^)R}=6%8^p(1sQ& zOL7n;Fg3M>h`dM>B}5^F5>$KD4F6sB?cRCIuBJae{BG_d4tH}}U%PSVITlalF^$_% zdv>!_*Y{?<-EP(~%*W=RooRQFW)H_Ee_)1Y}!cDxwnPtE+t#n2!B1()Z~ckulA zx5>`RXLYsFmmR(lh$$3D#|&*U^j#ptnY7rZRUGEK5jEzh6SXwv$Y|E_c+6-XMD2+g zO*GmiDEcupAce!2;?h$lq>n`XdxXQK2@-`wb6D}$-`7Lz`*ALeHGZWdHVXBeHut!FenIxnX%y}}A7 z0*^%N(C>@dL{MSDg(y617{lUz4QbSN4&-==`k!-Fv&$WAWi=&oL>ZxB#m1~=%xcd2 z`^TVR-(JApxNK(>z1R7d;P7}C2>P1{KBg@`xwJ)X8hBYNI;1!@I`n-8*}f>%z|#sH z3q!hgG267G4e!cr23xo85LEW-_w6BB3(}_)EZyouUC=+ycc)0pmggQ{cWQtL9@{kNmA{RrAicHJgF0^VyZXL|4Pe#)7$l zi)^eGY>mo|sNC4%Cq_2bt>-RC26F+EqJe@ZATR}9mLi!;gaw63dgZ;|+gI*ZIz&{~ ziPvewe5I^?w|8Gdis~|`?esw)j-`ag^g+>r&fSI|BX=+@>im&+g`*wgvv#WnLWxgP z(4!325SErKPz+F@1=1Au9huDYiac~UJ?i{9U!h&Y&I5!Hy%nFYyGHK_)Yo5rl<>Y@ z4+n(zO!qaFLJ)e);XQN^bN?cAHJ`2S-OUH}n`f~rl&`*@hqH_keT?X1&$noI9jlQY zT*+>~8p%>eGYt)b6FF?dQjQK$D$Ns}J8Ok2q^1?sU{^KrbBO4>zxbMPzRQTV!+FZJ zQrQhDqU+RQr}#Cz&zm^8N@Cs|n(99G2gULmhwU^1gUuZ<8mkbz8V;Q+M^f!bUiuhV-?=HI?U5s8&@&jXZf&P>1s8jHh zg&mge@w1v#eXEgr`&>5S^>UJ|Ij}3rbPU;J$R0!X7_!HZ{Z54JX_iWv5hy2#gOE;e znwTsziAVEOykUc8CZvUT5(qzsko^j8z$SL@GPJGOopSK6(=0Oi#v7^lE8K*Gg80_) zyM^-Y-C6-X&zXm3wm?VWw161Y(*#YQIHD!*Q*RkMqKD;mKtSL6(L=)eeLEjna8LX7 zDmW~-R{`|u^q3Ryn=HiHU|X4Ydpw)-=d}^!Zz?CZPj|17Fk*m+0U`#77$9PRJAnao z23sVZlSFcz!$MUmmW>y2MdDEz)4T;}0}ly6^-J0XAI@gzGskTUv6Cz8dGD?bBCNZ{|K&MbG^7 zb?N+%{?CP<&8xah;c{Vwq6v(p4Ep%OX-FFnakVj-=0 z#%sJWnoCFnx4PW)HrxtapOip6Wrs&7K`(nS+_*Qmw%p5vG6v4Q)zn!J@b!sQg(?h*j?o=%V+(u`*oR6)C`j*SvW1PzbW6xHKzpcwSze}q^gK`X$nJpmnCSY@7USql1JjsQi5_~hxU6|nq z(9O>M;MFTK%gFQ^6`0iMl!g^+oOaN|a9pG0D#;l*U#ehE>rm0f;7`V*nSU_O-yt3N zFZg|p%$cukzcx_%2CoTU2KTTd^{cPXZdVhGLhBsa&Mb7jK$Sbt3{~i91e4#~i-PCK zgr0ALF@HB{#^RE>RsU?5lEEwre+|BA-pt^lRe!fGriE|AP~(%=Ym`#a6CM-o_%%ZqvHQqK9eNdETg8L$^_b#U65qz-n$IreRkBahi zF|AH&8@n}6INQI@x5mH% zxEswO*3b9mln4KO5KcW*m7j+T`=8oEa7W*aaF_mT|1);GmBtZ2We@EN5-#Po7g+n& zt?tJyESvS&geTs{lG%Kstv9-CwzaohUEIdw{rprt=K0mWo~?Cu3^Qua3nz?xSmnn$ ztM;7s)-2rho~)kQ&F;^}(|Nd5&eL!+>gV0or+yTCX}-qooMQ?P>@g|**-FO)Gz`rlt1pf_RgsJhcoXw}Dg@wZ^)_Uj*vlxam z3LCYbzWDH{?@IfO&)tyimqT?cFh;ft8jpFpRVO(c%-y7VM?S01`LFstx%@iZo$XiS z_8#HB9_yOgbCKbcZ~MK6Q`^0eCg&G$36wB>ZHA9WFdZ9@^7T?2EzYc;eqU6#uKJiY z3vt=mta&@F?&7iDrb}NdtMF}$AX;77|Aec?!>ZlStomlX%eu20qQSdKbR_*crxj~} zo_m#~Ic1l1Iy=m-ay=LKM}V;g7;AvB1{iCAu?Bc2YJizBsF`KxhUtw&Ru*YyBN*tk zsqh?)shMY?o^Z$Lil1d2u*b^N;N$)I>kA$4(R7^#?wCr=SOQ# z9q_shq;}*QR?uxDUAU2zY^5J6#M7jLK3Hi9Sass3^KzL7s%m8C?cKs@-cqvTiiM6k z&9T0(EwH>X;_U=&dqmnd?-mDTeOdcK%%R1CDz#N#k3KZYAFKo#)=v(QS~z2@LzI;O3Ld2eqH;x5o=_pUcKOcy}>9rifySD5i*FiYTUt z?nH`+GZ^Z4ki%1O50N6mf0SV&q23V)u~V+ZUPbGz7>Hg<6Iap|#8VZTsG~$u6u6>P z;IBS)jOSiCWswj$ewz3dUcQZFwaZ;?Ws6`A1MWoZJ22a1jbGs=EP2f1#nk!BN#w2L zhg{uuU)weTwY^)5OrB*tOMPw=&kUM~anE22CTW5`^UUUsR*JILci8JFdF^H}Ba z4x&mXCip89-lAF|O(rwdK-Kfe+Ok$x(;5XUU(9xW5+I~yh5hF{h0^VxWitPC$=3-0;kB!c${-XnOA;Qda3cc(LI z9sH+E?$B?nAT}{dkc2Rpdlq@YGZh>?ck(-q6TJJBr8Gl_g(43gr71NDlXoc8q(7t=u7I1gD z$#NUIjCdI=u$_a+T#+Y6(!5B$QH%$z^Z~$q=MNtO-Y+`9H2^#e8=Uk7Nkl5ZPjj9p zmN}n@Tx#?+GE&LlSKS%FZ-%lp2)hN?zI(9tMBMdh?gH$oF`RmuCeA`w&AANEc>y;7 zRiw@tqKLNV0sDo>ap!5(Ki`04{Ph|-@eWAe2fJlJdxA$69`6#EUqbROGD2wqt52(S zeM&R$7SnS6?z|3ngPURi?ccnd&0f_z9Q&OfoV%jI_UV6^8PH}1;FF!A{;ivp`PfWr=}=M*PD-fXK)bk(|W|WhyrU#+^l+*1_sEFW^~%v2>hRVH~bXR zDV6AddlSYI*02(m2dUd=KAZZYe2W8w>AB-T7j0&c2bopL8|+(MRed6mxR1jW3x|c_ zMwRU;r@@nUrQ&-$s>C(e0=b!x`)N(UKNi-%oDakC!vXH(EZn+=Bb|!jEE6*+gTcF> z_Wq7R|Hlo^P1Hv45Jrl$y3aQ~JIQ6Uvm!v|OVMeQeA@f$tX9F#cq2R>Js2-WAuW0* zChxB68|=B5Bb~*yDsMG$!IwMhnc=Ya^OISx9QA&F`shV{JGP#$&13J%PuKGY*!9T# zxtz`yX83fO!>mtZ<9XeApH9!*Ob~MEyxxB5R(Jb;NSgl>tih$;(@#H{d3?#0-Kj|( zZc;CBJA2j)&B*Nw9L~?n?Ub-`X>`nPVICd)H&O+3eg@3>ULH@pUkp2|QUZ3mA4jSVK(k{bK$J z1qEAIb9D2udY|;y*qzBD(JY0xHVE{VQM3t84NC8K zh&tqKj&|WtIdG}LB3G!HTbt#$EY4Yh{t#(po`3w*q3-Y8hBwsZX71n(fhDH0ppb~> zFm=Ua(0%Neyp)clp^d|a;l5nov$;cyAcQWdg5()`xma{m;03sUR!EjuM=Vd%)Tu+; zL~Q)rD%d>iEbHB_K?Y(Jy)PsyKzE@a1EGUSVluSr)(&2WXi;9MEVTDNoD5W5Tot3% zpzanB_2vLy97osZxC<$JjgAonl*m*=p~-Wl5>1>*^4wD&I=-+JT#N9}z4|B@5`s3) zsowmiXh6)RgqYMO8B1}ig=UE^asq~%w`q}P!mvj0Q=Mc*-uSP(3s9F2+D`p8C5EtTrCh0o2og5p2s8oG2@XvF{2Y|kSmCWaKipgEZ1$aL7f5@_z8B-#@4v$d23m6I{AR~euQEz4wOG>(OFSp& zT?%`e#CU)o$0%Ve+pXPSwcOh^%Ihz2T07PI)d{tx>-XRF{vLXs^g?sL#jN+$IQJ(# zM#w+HNmP%{(EbK(-_Ir(SO!Z7cxfa=zaZj->JuVD6Na$zB9!4DxC_JH`L|SDoP#kl zKaVgbm|6!fsHoUy5ynIq6JgAqfHBH@<^;(S;)30tLknbO9ZyK^n98~3R^BlflaW** zGw&0P!UN2kL;rN1>~mO66IbQxN8oJFqbZw+CPH3<7V>B&dw^#1AkhM>g*`C zX$3RY_r1E6R0u1anfuf6^xbB%_kMm>jzY6-#L2HiT-7?v))qLWfccoDJ0qy$xB3P2UmmVdb%kccI6FdoaI^kHPc61N&HToS`2 z6dobz41+y1|D_IzSx%+*LE$l3l!2%~33MP|fBm)A^6Llken{C~2v3o4#81uN4cyR_ zXR|>gOG9S+(%ZA)Y-}d|@$_`?W;Q?pS`6^N?L!8uwdH5^6}d;6 zynpyhDZc&fe){O`{Fk?{>94aNviDERm*2hk>6hYrQNA5LiCE%JUj1GiPGhs-ZGS^LkrBT3$okIMo33D#I73>h+Hl5S)b;93~}L+I}OKRv@1Le zY50}gqZ*~V-V&v*YT9v*YUaJrM<7gwv!Pn7G&-}PK^ywbQES4YMwrnA zi#QfOsKE3?GdI;yBqZCOTaidEag-eDVU;7)vlcpT3AK|^fwXtW5I7{;1@RPZ>Zkzg zu_$z+Qh~oBsla&dl~X~qb-WU%YrKFPl~b2H8*%tWCB19h1Wc|bX>d6jZ$(+y`|`xZ zpuJlQg=Y{nr5-PF&x}GZGM)WK^T>l+}tmgfPL{#Ak3g&mge@v{K9mw^9C6)@Gv z_2D~^TuK+V{wq9{V>R;QRwFko4{s3%ZJxyj0$O#it-g<@>KF3QYT8+aLGb6<8i9lu z2TvhWj`62o+0)ZsA3XS{5%1>HALV>7GXF6h{r-F^zaP!z?>2pR_WDdset7rGZ{NLt z_U(_0pH4%l)cL0){0T8-mi1Z6`&4K6HwXd(bq}9EKAW0R?+3Jjo4qP88`f?5UxYuA z(ioVfi^&L6=}y3(TyTaS)-pk-_RzUKxFRr(j@^_>?u}---|Oyhyz;2e*jT;G4UMR$ z3+g!_<~aoHY#bKvmkuyzbB7kdxl6|C-9b%67ML1y|8bDTkA7KEoDFh68IIqDTEcDc z8+V_F8!l#OgGgf;C7NAFm$)d6iqfb%fg@7xi=4x5i5P;CsWe$)z4l4!(;}BJyB1Y3 zW@j1Y(J24X|G9vR>#l$Z-`zHgGvg{_jpSv z7r$SdDoK|c*TxH!P{zd#*;%hHWY_dq={I`o%@8F|>maA9@qK*0$m+Mx#Z;?UW_>>U ziy=D?ap4vBckj}|2ptQh9f}}3e{hwSz5vTyv?I>qj!7MxJrGUJh_ypt`R!&57dmPOB<*HKmta4stVQgT^UoI3x-77_Akfhm;1t$Rqs|CPSDDX!wymrB^}dg;90H5zCBlNWiWj!6Agp)lN^VlKQT;H>*2w4lZ>dQeCv; zPB_r$FLqQ~ny7y!2dsg{q2AMug6cn{{E!5YSMGkb2CqR ze_vtieq$E+x}44zX86RoSLMjh2L3G&#;hEVX8-u#|LftS2S0st()(sfJnOBM3cb3~ zP;Z$mssHcg{N2QV`D8pQ=i}*S!i6!({Rf_6?)nNiRhoR&EV!jg3Jw z0-|AEF7O|TGzM{+Xdt0p(!0O3dzimFdFH3VqaH-KUO56<1mC}xmk^SGTKw*$*QhFn zV>o@TH3Q=jOiMfj7H6F-l|RDC24Gvd9q0U^erq*EJ#?jlH5oh!d#_8=yWoeHv*b!Q zc^0E4AbCW_g>a{JVq_F6Vmu^#QNopX2c#;R-OZ zdy_F1;Jh@$dI<5CDO8vzAMoey*5G_SULax2HwLC2k`FnDn%7WoHt`Pbb*@*>7RwN`U@`fk7ZP5xS+&3(=O;b;w?AgX$M!$}FzQ$P_Q#*zsn`E}m;J}n zZ)N%ZSM|;K=Vy;6@4lWr!_#HNzx>-52zRRWwsC;pzWaH~-HX$=hCF)s8~g6`Pk+XL z`u6SPnf=cP`HxRWlm8sq;kR$T9zFUJFOT}Me+E9|Y~G)g6CWO)cvycm9u?*3Vj51r zuKl0%=4jV8Ud+FQd*2s5JcP^Q-Ip(>3;#vWK|uWF)A7i6KIBpuIy>nh$1{FYALh)w z{W2vTkAcMF+pt`Ef4k^H9)-qzctZB-&3on)RO;Eh_vq=*c(*Ni)+fDi86AIj>gVCP zgL8cu{)kifl7G>ITFrG)?L)qAyZ!nxzi+Q_1=o4s zUg76%@qK%RvpxKMdxaml+WYoOKNR1$`(NSlef#0xw|igY4K&^LwmyMDM(^G?k6!ey zQrbooQ*~dP4b~!ggfr#oEARj-hDJc<_;wX1464q>v;WUb$^@BUBx z=ie9vxt9xku~`-63}~O;3ypz$yCTRimM?+vAudLURKFK{KmGVm1b!Eda~xgSii>xT z61RqnAXYjXXGCZ=zw2$pQ=9ZEq`Eu>>NZt_1|7rA@K4u**jZiqt-KjnHH$N zCcXP1T27un{4V)=JWZZ0lT!D8`{~C=U;XnjeuVTHyX4}l%UN<1l1C#q4ylN6O{ecm zV7c5E5V-s9#|XQ^h5~}kN*6!)9Tw(Y_69VoVM92=AKp(AWPx6H`{iYFZRw>NcK<)& zpDw@pHaVLm%Mnd#K$w(yI7F8sNta(ho)Y&i51Hq1*s32rMzx_i_uSNX9AAu3$gCuR zuoDioJ<9*L2jiA0z~7gPIr@ioIl16xHJK+vGdf+s!zCQmkCLCBU$SrWxC&NW>%7j+ z#nR>3H=7_^>#IE90>BrK%oX<$RIn;9`Bphab7}3diI!_ua1f5w!pA1B?iuA;XPu9` z5ddvH7nRN(3ZyUuHK8Q#a*$A!MB9PX2$5>18PlDACJ2ebDQ^w?qvtPvdVUh3G|Gs6 zK}5SvH!K9w(d4BEe~ zijM!)&HMZE`qql&cylIX`%Y??0H17>;s&95cMbi_LvI(SsF5!P>(PQNYVa``LR20) z&ery79T{7Z_ZHgh{v&rn|>1;}q8GT20On1I8eB9$z+maE`U zaXi|YG8j@`B{zbIcD$H6U*WRZU~N8hVMm#5(n+WH-%8)oVQ|m$(s;^9CS(R?S|Eyj zd|q1po)13;$E9KU-seA~;26{ot5~&R;DpzDGl~@{>&R~dE~+`*{nD3xfzFy;)M;!6 z+Y@DD{}!1|@+2pj479`!WVXxCeib`jet$2xhWaSD zk_+TAOStC)Pd1b^7qcgUL30}B5-huZtk+*CWWO#$8aGsm%Na0S_~;b3YSzbgVU{g- z57A$h{KWw_j@`PD)pudf56GqiLLj7HFUPKII_w1b44Skln%yj$u4AjAeN(1kKpqFi z*l66fGWxm>uJ}IM8)Fqkf3I2x6E!ulWvNZ1<_?K10!lAKQ%xb2;?h$lWU$@6TI^p> zunxlcs~!IiVGBia>t!A^HK0jz11Y;QG*1L0%6MN8o^y{_=Q!C0(uRUbf@F!JC>(GEs_nJ$>(v;CK!XbQ#hS zvZ!d-@KH+BufL8Zhx^aOjynfL_X-9ZgWWPDYuGPX(Z(l zZftmDc8YVG@i8_N$Dlpih+Lyi@0?7d){pD-y3so=Tok8LJzcmi!07jV^<` z4L2kl)=~y19^C&3H}<7sJKYA1;Bi(rB+CloWR_$`XP_BEB5iV-CPWaIX+{cNq0I<4 zZdn~oPblp#m*W9wBL&(ZER!M@H*Um>A{IAdapS65)`&JD+K6c5!TtL;gEr7{NI2Q< zXMzft6i^VVtj+Vpi^67TJY%^I(z=K?ZW(Qm69Lop<#Id#ZornEQbDxL?ox515#%2! zf$AEV;``{sgor9?G@?c$YBXXM<7RM0${pMY2?JfcfOM2u5B`SXiRa7}Leku+BI1g5 zW8ppN^Vev}F&lIl%xxUOIYb#kkPt{l9B~kiz=&PBN)bl;VBtlGZC1g4#kVKaWU??m z*t25!6tGCP25cxJ2<*+AVc;X;r&c>1PJe2`y~EFTt*ba1|0RM3Vf}i(9}uX+X_ZQi zwj2B|1?o}sFpE7JVvhzq{F4kV)n zRZ@=-gcYDA*g{&K;TeoZwPkKxkbwq4of_wzIKww=wV=qdg>bm3?nWNQnAJCzr~k@q5NG}c`PcN=an3da}DDo>wSKKL}@ zhJu^2@H(`FV;+l+xdc)NpGaw81VjwXUoBR{HHr)^ps-_YT|ue+*})A)`}J}>0B)qZ z51(d9ql4_tbl|)OLn%7QMs`wUCq;HrWG5lsxB-o|FEZ~qm=z(7fG%+`kJYf2NHTA= z79PBPA8RD_ZiEihlt_|BE>(1NijGdN#`$dO3qSQE=RsJzH+d79)K}Gt zP^yT5P@Zod4qC@c3*lQXLg%sUL1XjU2;7NI~y5>H(; zklh}?xgQyD!}3_%xUu2}7ZQH4z!)C=K`=ivnkemM0%^6hX)e&rB0L%*+PDhZ=rXul zXal7UD$v(h2L@X#ZhV@>jWkR1B8B1zok`%@3~&MQgn*42Ua{ZWnDZ zeUkEiy&Suu4eW$|+bLxV11cRLNYWub^qaeJ?a z7Mjqn#Vx#?|Fql{q^D!iTO{>xI2JM5v%th1HRxZ7xBs!`cqS_%A1a7P#KqVtYe$q9VY~p+AD4y>KMenNJj;br2gWvUz?vg{9Ru4<6rG z@LtFi{_HShq>jM69StcH%Mf)iTNDHYAC=SK(ev45+^_idYeM)g!`cerLE%wpn%g34jZfhm z8mhwqz_QR2!D*E!#P?7nTP&}f5at6?TkW*%08*ugLQo58}O5c}gGv25TnN`|&3uLC%+qrwBAOY=@!% zcq;?ndgnEvdzZo75xR2}KC&AM-Rt!B#nEcB(aneM7iHgD!;Xu%JYe5*#7+Y+cwJ8C z8!fim!8(Eaud|s*IC1!oRssbq0``nTD!yPI6trtP2YqUpcLeIo`F=p4j?8=LA|{S9 zPQM&w9ed(EvSv}VbR`kvgmguzdSH1!6OdV@n9K1Fg-F)=EKNPy~26T$!_a3{` zV6@ZN?O0wFOnD^{!F%nHco%_;#_~kSf(oDJ5|KWBEGFJ5ONf3!#7RiJGbG-z0uGGk zvs5T0k1_4OHP4=Vx0s@V&^OcZVsZprnyvE*>uMVpk7lPa2_FOc7|_RnJ_hu6BB0M@ z2Gwc?*=jCBgAdgG4TN@yQ)xkoFRay{B@O=Kck!NgUlY!E8Px4?9!z-3DWt+7s04l* zqB`?cgjaf#?Y&xKt4H0gh=cb@Y#v#P{YzaZ#UwjRi=rW>hFaa&0gl$oXVPo;2 z_9N*&_87LNz;SuyVB@f1xGycA3^sRYRS7)hDE)Zw=v1!Yk*|1Sic}^_8C~QyGpP>{ zu>(eEN>&>`*98>p-|grs0`(+6AVg=u?J|>0AEn!6GxVdQH_mAheWGd3d_IZXeHKIY z7^=rm{Z54HX=rkVmUoHd5|IWJf{FF1PP{A(yeN#+IVTYxA{Oo?714_!Bx|#n0Ak8_ZZ8^SU$$`cOsTojuw)u40iP*(Dn&Sj6vF+P|9>J3+3!*op!&% z8?cG#y9{kBre`UaaPte^u`&Ptw9da@;U*ju+qaJ2Ew*p(){5;jVw@7WPYPzhmQx(W z9l=$Ce<{-RR(f(^Qoi-0hs5^#c0RJ$p7rZhaA0sRU_r%?I=CN>P5!_P&B%o&QH?Ls z&9U^G6?OhRHiG)0jgfpn+ZP&lyP+x1W&^XBzZ&7sv)R-ae(G^kp|uLHOH+>Vr%23? z#QaFikHmaD5N?8)PkdImqDTY{DqL=1x9t$v7h2^|4@w5-ZJfzxOQ7lU%4Jtwl-Hj7!Bv!Z=$Y0#9$9Qo(JHo@<_E^+kSHkHSnSN)w44MrdZhw)l5@|!O41y* zJZSx8p>NhK(Iz9r5aLW4T7NCuqf~ozdZ+yL#lP-_5N$jy-&fN2dnfq7g`Y)mwr(-d zh#AalQx1(Shp@_d?&r4=p6@-CjjnB5ry0Zb7_R%b6U=CqMH0;@Cf;M>{Z1s_MNYgg zoJT%kQt{dx%;5Zb4tPf$K2q9NiORcPO!(9yDxw9~E# zZbc5$00GpEcXiu3pN%v;6X?=Qpzw}Hn2{YH1N+>^!2U@L?C(TiuO;&omHotVj%-%J zpP-O)du`AqLdybVwG<^T14>Q z_V#y=a$F4V-;QE%fA3BN_n9Rb6?u^;L!s3p@T<`jVTiTLrg@rYBnuC=&yHks)z@DW z-**|;R(vnA6cSh>LW~(R_T#e&4EkEB@xf&QNS6?Q-|f9Py5GAO0^?QUy((xFG-WBv zHFV@OL$;ps#HN`^QbGx}8rC+RbqnnG{brY#{*rxL*0(vQ=HPmt>5;OFn zO+!F0oJlN1v0S)JXC!b>Kf8eb8gIZRrtdPe?U)`cdP+#Bkla8_Uti_LVQjO}?d9y- zA<^YwNSCmF?@jJBAcNLvwKMi98qYFQm_VinUZy_yQ3esL1?4+M;|Nf`@nb7AaA}{h z_K$Xn?Dt-1z4Ot9_Vp?_EVMu3Onq|$c3FzvJpE?#EH+lsigZ(bA5G+=1~!uFV|qSD z^OK;Lx)afSj^HBAV1F$cxRV?~M`9VFNrn`KM?=Td*}(7qY@_+^FTN&-?=qsTAfD?C z%DtQFNY%vWU9_MfLT$+DH$4Yc zzMBi!_np+P^%I-Q#w+SZ`{kAAXBsU%Nb z;Zm77N!{ldw_of1*M#t02DcT$gEp^}6oGYd19|xRIxh}jn~iQhgum8pz(qBPV}CTi z?-$n5SEsQ#sHv=SiaPGngmMkv8-ccKa9l|fLOg+IRL-gH80%kt_N&^rFlH>8Fjxnj0fRx^?GgN$f391(7eBix8^ z<8HwXo+9=kf+Q)2?H_mOVx?48Bu;3joi{Gy!5rkXD-&Gn{nx;aE`z%bHyFSMdJoVr z>Je^S>oy!M-0&CWZ+zBZDZ-7DdtoVU zw-gQqpX#ahqCE4nxjCzR0|}L|9ZQIQLBt7DCp_!d%ds=uP$vRPVNJ61xRt`Ox`Dv; zp|^`5?O)p1SFWgw9G?fi&kU_-&&L; zc5Z_%)~wZ0%p6Bq0*M-1jBK&}(K4AI;RePf!i}owLWCPHBHXxJaDz~h!D1Zoj`Rki zVNMcTplL1wAy7_T3YVIoVU2LZy(&lOciAc3*1(M}gS!nkC`H3nk=<06tvX)a6_B-D z$Zvt5v@e|QbQ^F{$64LrhNQ;19Ks$T4X!DgR7>cJC1H#xmKAx?QF*X$d?MTkq2p^a zTm^=MyqOI`_x1t)w{(q~zZ=xO`05GPL8WlD^iU97p7n z=71Y${*^e&DK9Ep^uX(gaN{a)qs!oK!40B0M?2-%T3|d2ox%2n({~$gFqY(}f#htreLhKpOBk;0$#RqYVvc z-{p=LG`9yDrgn%OTXdpU_38rsNlnT6%(NTwM5unf91nmS1Y|18Vr9dh!Ute78x+P) zOE(%$^Z?4A*GT?NXM@XUU$>M3rld2&p`Rjj?vOupugqxVhk*kXD;p7NM5qy=MuZwS z12r-sjTP{al%D#8%iO~zK7~v?<7lf!xX5|Ml6(#7>Qi$DTEaSE_-K^>=>J@R^}H)} zh;Mt-`s?a_F!!h9>ATGX+|SR-Q8}AW&Afc=cO7JF3mm5mwAzo~R`gma^@d2*WpKBl z27I-oB2>vR96)$OT<+shF`k}bkj5i3#ODn?=$r5=U*45_>-YJ_2G8m@`}Un{z2|q0 zeS0GefAiBfPOB8kT-b~DwJk2 zsb1!UTY~JGNMMj*@ie5cinrb;gcWF0V+(03gS={U;{v3Nx{avYc>lC~`CZg)ly^(F zVQHT0%(}!_=fI{CGSLiXn9TcBm?D)%1jTBsY+R+X(PePA;RZ)5TB0Zk@n(b@`(mSR zS26dBV|T`75dHZ>zW!OIEKN&z5cS)Zl654S=5 z8-%c%8}@!!AdB~^#K#w+xNSW^l!-^UamV0>g7*}p8!lnFKx)A=nHX==By%k11@%P+ ze~bt>o|vn^jV^<`4L4FESw@)(#Qg|2K25lhrbX^qY7=y&D?p!u6`a8`Oqjr}_deq+ z4X>mKH*OtnP|~lL;{kAkfk=gpKv_y7nJSX0lue}OA(cnahmwgR5fV;kU=uJQeRQR| z7pof)Zk&@;FJV=z9Lo#u~9GBcu z@H)_LgWD8|R+^h6x2f_JL6KpBLLRFdSAiQ{26r27Pyt^etw^XTMY!>a!VSR%&w(#A z<5+YkASNbY4ke_P(pi^!6XC`=rT48=H?k8U`t@==0B%6Hp$Vf>s|YtD+=y@^lBr^K zqu;Sc6skTEZn#(e%*?uu*&Tu#mKt=`fG%8Xo1?{_MI(UJF(g`jAvJ|>ybY00gd10Z z8(jwXJlsgN)^MbfaKVjmv#6R9iIolQOze9f5Wu zJ4toFUXF*rjbMVCB5fce+=y@^!i@+wBHZX2I!CyHPCv6x7H)WAbgGF@Op(g~H{i!< zj7b=CDWR?iPPh?n46jC}>N2?7a3fe!rO=s1xbf+_QfcXOlfnwlXa<%AY>yL7a+tyi z;0+k#63&B`GLoronM{?PP}#4SV`sPlj6(V})I@l!Zny|HBHV~@Bf^acH@bM{ZAo`J zR)p?QbpxqYuhYyVM4_!X7a0w84s;tU6pUCM^OQz1mAN9^=rXw5a3e$44fG?f{JeD1sshkvs7bbzA7$&$5JvWqLBq^{6(fzN;xesVF!i`&p8-(e`097p{){WZbEP4$fddpm#WL) zZletVKC}kYGGM%jHa<v zm*W9&0}zFXYCH^hkm+<@jkV>-f(2sa|!h;SpqjR-d)+yLA_T&p~Y9ZAMz@W^pK z(YYsyx5A_>D{P^oQvAwXst$v@4L2xOw{by2--QS_K2f+KH36*D33NIz zrqV)yOa-}k?lgn~&`YHx^v#WAs#_*g@e`r@^>RD}Zjio!qaP8m%U^^W5pKk$;<3wL zXHVB?O!Y|{Q(5MmV}vGDDi~7{LlX;r6|@_KvLfXqCs8SWRk+b*aJS)xVmw7cmB28=JVL`mWCSD)oXXYhlIUH*=sy1`F4>(|Ti0Js6|21N%IrX$>l za3jKv2sa|!h;ZX1RyR=HfMFw-LW!h6Z!z#Xq(rLy4nqae=@BU3W*uuhL9#PXfTXUn@r?hI=K`~#p=ebS2tJ&lc{Ps zc7_`~^y-j8Q%YjnjR-d)+=y@^!i@+wBHYLUHx%a?&jdP*QFIpPTBnI+j3yaXx)8RY z(6C0haYY~8E`z%bHw0xMRHZD!jZYVDDCxCPsRm`yC{#DJ3B7J$*H9EZ(*n&QD~uoE z#;wB*N+A`mmg50%1KN!gT{qA@r`~DirsZT_jz^EfBiBjJJ%>~$%_)4zl(C888YET| z=&Rtgnl$iN=YC{H^J)*l6p@$2t@r-=;$Qd70!-8;btZuzHsPf9l(&n{Y0 z{w;oShW%!PH`8+NaSAhsDTp&3%ocWa4YNU)3m8oOY`mC8xN*sC8(^4AGY^SBJozQE zd}-iOj%>00k$*c`eWY}?)s{>D+3Fs<@!7x)O?fsOgeft?pJ%hFFZ|SxT)3k_8EDEe z{`4z*div{w2mdtU-F*6^oDW9kKc=JKpHJoYqq+Rurti*PpQ*_Y?|%91yZ6t&{c-Wr z>3!_n`KQl(gc}iVM7R;*MtJuTB;hn(j*zK3xZw)C_N+;5Lcy?d()dj4K*)26 z=nID#j-45n?|uHW87{)>`k?*)+K^#X;Uiq8Eiq_w;~991+~sheR)t7%O>^LTC%p}e zF2arV4ZH80pUiz|e%QJhtM4$-2#lZ4&HOwQYu8Q)&zDcN7v-6s&COW|=D;eI2`~WB zFNio{>50hTXj( z&2+q&JT+$_04|K3mTokh1nyh2!L#Z3b(#C=a+`JV){2&Q1!V1w5TP|kuEOSH&w8#; z_qgCj4v$oc>LEO*tw%}G%ETCgzvkWxW~@+Il!~863@b=+vv7lxe!UzIfg3QwC5&cS zgc}iVM7R;*MuZy?ZbZ0IRX3bM4Zp||0^?g~Hw-*Eolg@XazSOmQ-!i_tZqCpSE_Dw z7~E~RK{&z`MOkn{jd0`Bbf!XQjSODLX;QchB}GGE4Ce})z>^Br(+UEPBBb$Sbz=>X zZwYQN-mjNqXSk7`0HYAisURwnsbb%aXoMS$aHA1!G{TKiaU{iaX{F2ymoQ08!dc;A zi3>87aG7$sWR{V@;*DggtH6yegS!Pcko0B*)F2ts+YxSjnsCD~WffY-Cl38p5;R%? z+^`OM@iYT(UubW2AXi7YaqDmcyr|`JJOFK=HK0I&IE_ukqjcjk#Z8oM+#}o)3DF8V zo#x2BWE4U+>wQ94p*^*Qv^=EV%w$sL#!V5kgjb_~xzw_-47#T9!Iqfh?b&cPHk1B% zdOCPB8(3S8>oE7AV}mDzAK`)AF?+)yH~#HZ>z0shpTR z4`-ZZeU|b*)fxT`yoJpTdwYNS?3@^9``pL&cMoY+bwx$#!|#}!K?o?b#Bhn^u^?H3 zF$8IsqIE3ZHPZXgMQySuL#mk)(2&3W`fKpzzkVR^hgZ(lC|-O5jkIeq^V65**~Cw0 z2*2$VqRjyuU`Jlo_zP<_gCckFQ>S1-#mEy;C_%}y{@JZ?UTSWcH`;P538G5 z5m^wUq*-QIqP!!(2{z0ur4x}^sf*N6YeI%J_bZJbehME{z~Lb-vpNdwaS-U_4j3Z? zt%C~CIto=J==8_(B7^_G4M&M+<0@#Q%iwOK4GEEWsuc;X+#}lfG|@%@T{ujp(QJcK zpbgOcp_hUWZjR+9veYNQA{>aZOz%UC3YBrwDXXiHP63ax`5n)G!9cvgEVaF%kexuOZ zgE?gq2VObo9h3tgJ2-V3&jil_gKd>l0D_-CtRx||HT*$k-M|K{U$2+Luz{8|MYbhkgAafWF1K%}-T_y_1rNPloMI72 zOb}h9VkrU(;h@6_R=Bk$nBvy(KdEYMck|z=jrL`S}w+n<0aXum1bL@BLW2nD%gl*JW@= zEk~!la@H$H;iFT)wpkzBg`{#DaBLjAoj7P5ranB}NM*lXj-BBKJK?&YkyPmjHa-B@ z=!W_u;P7}H_RkYlmKZA9)<*7Ak+Zuv65aWVx0D{l!A+G1_6f)T{B=~YtXIOv0O+dj;r1g zDo_pc3JF&?EWysIKUhjqQqQvjz0HlIFy{31A5M76C1gDqqNx11Ncqt%8amdJi*-P^Fh7DC zP{H7V<}5K5X$RsZwHAL*Sy&}^4f%XE_260tu^7aMuS@4QpA6P0RzOt>u^K_MlFG6> zXC@Iv=D4@qWvTlJ)t2=+wJJ6LKYQ=mNEw@YpAdtue_S$=`wX3gs zfB)vii)X#(C9SOIt4C)&H1PO`KbewBc|~UrcE(7*TC)d0BlIoTOeroyRpvIJ(f-=& z^cIKDTrVR4DS-2>xiNS0n?nxlzKW+fE^pKqb&#Dcn{V@ zu%yEPH=zfV=!xQ<1r(siRnVi;t-vTAryAYnSbBL(Bd3A%g%DVVRM80CubE&Ox_%hn zUgs#`M^hZK7M!=(O02&`e0a-hbYO$!dN~jp#8kzh$M~)I;=lGU} zHE2W*H~9%9t>BLvpuwH_dmy6d%0k3d~<|mfu7W6gGp}Cr*B(1b>uJw>=Cd>z#eyoJ-DGc z(+Y-InLt^B7|1D@wouIGEJkgDCuAq~2qw9g%;LR|@NCd!KpVk+tT=L{+Vjpr8RF0~ zgojAiE<5-U-?n%DZqg4++{K_?F1>avo?#CqOd_%7&n92+D@g zXD?8U@an$}{Fbw$;;jQjEF`@OEtP zdvqlXje&ini4x8b;P%NVA5SmJeo$tJ&+F**>*;tgS%!uWa+6LAI~q>BPPg9RnfDUS z+;ngF=znZ)SnI>s`p9Jzdwl7{#;w>GjN@u}p{-+ZK_$>x!{ZIIYX@Hfti?RX>fq=SSVap;#^ik+y>;}N@~hU;12EM4(+`SM+-NUwM6DpKtzO zF5`@+4t8(OcXz)*!NI+SUAXUCF}q3ap>Y(%b)QyG4Z{1?ay$%fP$@L3N~Z)j>KfI@ zNlyy6BH)UED*~i*m4V9AX_wtq;kLrxdYQMJ*xzCNXmnvl@9`W6(ue z3Ut3nSVoEE90;j=!T3HIA49u~#w)l+FJ12KHhS?r{-lg)Xm_!%64HiV8n*%yt>%jz z7x^krtxeK21?4J%zf-DMq>~int2n2OF{IMfDON+)ttDF8T`(EvJVWtEL1}^~L+pHu zk0heZF+-_<9h&iksHW&+#jR=~39i2Ld$#ee*5}lKd$-W;f}RQ8uh#4V(1?;gh1>>B zH3BpW>@1D;x`_Y@)B0vGOy-eFfD>kBB_5In%yb^wU2IiR_R@lCOwwg=o0tRvsegvzsSqkE zS5;K@-Uf`|apI9!$EdELR*6=NXus#HFTf;Ng9!&M4@dWz4OfBB_x zluxV@Q^JjEId+B{^h_pwsg&mAq{JX~nXXQ&9--RH)A^t1>)EdsU(*y8T6 zg&>5{7f3tQ|+v@aQ2T?Vv)CzMX4*32ik1D?1F zPqYsGO)!KX@x3bh!Rul=U#w?=k8xIke<{09Vf3q#9MucRi;=a&f=U^jpks)tm}H8^ z`3=!R9r_)9wnu0lg`i#at2y5}XlG{x=228j#X^nXHd!|3KiD=3c2jHAlt@0 zo3Y^y@W@7lxjc#|DmC1p;1_k*jVMZ3QmvKFu%xUdBxv(Olc4mj4etgp2q(>&3(mN=G^a?ixYt?r`G$*3Xgtx-dl!QDa)al%wW zHDu@kHRSXDRqUhvVaN>-#71)cT3}*x{{}zFq_Gt-cM+iq>T1bpWOA%LCb-ZUboq(! zG`}0*ibhiZI)G^78rH0(PYZ2u)~}XhXSjh11X^22#z{~!tXl4b3PeyzKOiC{;AP54 zXBqq_V``!lQAR{q4ux-;t5o>6o|#MvG~M#ivrnA`mGoeo{_ZT8JKoJHFI>PC0ax_@ zT-u-g=PPH1^HzINQxd#puR}FD2CrEL!GdvcT_eW%HrUjnkcY0=LIXeK%1UQ~*DRhRjcU(c z+oiUhJiESpBE2Xs95_%H-mV57ND3ZM5lLPUdB*4&r~PVK9fk=|g78}PYNwU$Ua45I zN(d*Mj(CQj656DZ772?I6BB}-qj2cXamGsuZ@EXOQu<$?{riDg%wLVC#rvgo>KQ&j zC{eoo?dJm3<*AQT;T%{=ft3_kNr9Er=~3E%939=cstHzHOwH)(p#6I8UyF%1ZtZaR z`>!?R24=DhfZt>sFFBQR^q)v9fC04}>CnW9z)I@CNe)eVP7Mv z-g~y6Y@LAit7UZYofY0pqS*r*=trNh*yq08WIqXvcMfK-AhhEWe%hL4k##5K)hMNAYYnL_^q zi>4^tcS3L}w~TV;q&F+L0j>zFqzA~qzc#~#LqOw~(zZyYTLpruezhDAKpUL&1x0ro z%0dNVTG-KWk_1*#U?l}y(fc9bin>Fd&(>e!S=q-4dH>}vh5Y8Xhy3x|`7du@(_d#l z#P6RLFTV}AqPUn1PN)JQW3IG|(awenZ_1Q=r&TnzVKQ-1>zW3Nx%X!O##ofgH%XpRP&5NpSaATk9=%nw8LgMLkgh+ z;j*7=oY0AtL}kBPR)=8%;sr+}V1irqO1gR#IRk1y)jEB_V{k1Fs~NYY?ot zinu`+H_#~*(w-ES!bpSCgwWi`&~xDsR#KM%ZDIn@ohir=J}HW_PVh=P#4G6-SV>Y_ z<-E}tgO)E6RH9R?hWS{Q!AT&^1WQUu`wglG0TWyU6I9FUqsIg-rKRH#E$l7J-k_yJ zfC>RB1gH?8LVyZ)0~Io5t;lm=11F)uWI{zr3gRY58dTdjLo1}v`gsc~?0x^$w4^SB zyA2y+kgj9cSNUvnfDIofEh&>ZFu2Gf%X4r68ESS0s@SsMdS)d0|1hr_x&g3gi5(ln zoc+p&#!-;A|Fq1K2!zqg<#+(xVCW*JV=sdUw4~dlC4~}1XcLFW;uh1rqiA)um(o8227kL)vI%Tv}bOyP@9$L~$7~N$+8(4y%RRfPn zz!KM?B^^TvB2SphIAjZuLqiy?G7@RH_jt1;v=L(rW&@r*bpxajN)U&ZAkZYbT2=>O z0-E$=?-Uu#l7fM%hSdR@wksE;3PGw6qzdzQL8{<8CtMHLo|05SOPVp0ML9!-L2zJ# zgpoWVO2he43axmMDs0snu9hlv7|~ouE+^LT_yg01El{V75qC zCa|+X7YEouZ9R5A9WN%cL4JLBu(vFG16tDe6E|JD&3^X44h=MdUiNMl8LryDw`XUA z!G#%_b9Vtpd$dBDy8fGDl#Soa`Xe_l1O1sd0ID~h&1aW3=#rNVa3R2j02cyWST^qh z!odOEzkHtk^uoW^3jg;bfBn|1s4n+)8?~T6u0;Mc2&`xOP|N-(=mvJL8|~BD0_;N= zMSj+<$`hSEjBl zAmJKExtbOA#nhR(^G~Xoo4zir+k7HqY0N|n=B11MGcG{`J)QD2Vmfx2mbh%m{79j5 z!+cT3oVC@`3e2=z!|FS~=OTUH*m-?U4UklQ)%*K5FJ3(BEqCpGG0xms4~3_H_>(E0 zxL5R(AZJ4MtMz&S9P${7Gl5n*rv!)U`q^<{ptf{TpiKqZ6rMiUix&fJ>Z`B53bd&% z>4|I4v5J@1q2a^z=I{xXNHQj4%g`z*O;X4)xbIzUbQYyKO*Mfs!zA9Y@^~=M5de?Y zcU}!Px(sLoY#;`ai6EgwvJY&u4n5{)oz#8t&gX^K{-AqyrGt2B+WJO{lrQ%I%l>?!fcofo6JTG0}9mEZTKRXGC@7W#3!^YQfEW<2*W zyC_D*Z0>90ul-Lo!lA7#aGX#jaZ|YS65sVhM$mV>MK_ii+Sh_GF>@=uN0)os1TIo= zDas;J(2jqc+VNAak~FIrs4q;H#gWF7qy7qyjMf@P+ta3Fbwc#3bE9op)ZREv#4MeRfYaL8$NWDho2*U8EwJ{JYI^40Rsc` ztURv<|sd!5KK{oO#D6a22?sQpce>afpDU%YZh6e2jDq z+K3N;PzVaXvWNJ}9)o~`OBlz-T1H50qb3n+*gr8#Bc(MnDvO;Vq1$y^c)yp|)V5P+ zOi(SWfC+?f!s&=-lzDj(9`XXT+XN0}#1LW)&p)JU;|6%(`=HW5v>Gr$zyyJ@6c|f* z8Qwv!iP*r>2{ttmO*4qP3DgY++?mL_m^#O);F%9*0%K{z=&6OHkL<&IHs~^#4Lrb- zB;izrJ`?-cN{wO1yu5Fw5=#_?my(FD=?mJ+oNebIlI2of092C12y%iC;ql-fZjXHWdNa_?$ z^PU6tPpL}-Ib+&O3$UyXfdsxu1A4ZTpf#%i)CRg`!ZaULK+fCP^odQH$BKmw;(VoZ)Oh6+S5ah69W zjgyFFNglHVJ&ckVXA&U69!NlINYG_Kn~(rn4LIKhwei0EeH$b=20l;9GHwi>@KD^~ zG0!3EFeDaHqKQguh7JzKKjs4@7=!0sykGZQ_<(#KK!R#n9e@dV()Zp|s1sB>t;|eI zRe2XbQ`~3BdCX{D?$If?_19CbdS!4_R zeuqKn?-upKPxe1TIhD@^pHPUKev#6Rd;s=z5s;gxrU6o5UH_ zDx$G1ZBs;KG_jFQsYx9-3D?KvxLV@oqq99-a(TK8W&;bvpo7F*hlXwYus}1+xc|~X zLOC^YN>LEdkjJPPf0MBBLe59ZRFFJRLt_SnHVwYehr|IfLi%z^9e@J_=}XQNDOtb) zp@DN~)@CM?@=Z%b>U$W&hd;(bCn98FDy4V)+=Xyo!h;1ZzuRW ziTb^Y(&xP;q958`LymyHS7%)M(tPa2gob(wQwh$sio#484f@UEv@Pz_jXgib+ zlH#Br*kaHHJTNbSzrT3-GyCq_N58)!&wn|0)0baAdU9v_0jikuS{BfqHSmCjbU+i0 z45tJ6MG2MYvdvPc5p2{58t=PWJJ4k?8(4raB{*S;kCrgZ!3%Vk7ieSHF=F>ECFZHI zDI+f8x%d7_E#x$6f^w-%B@%yL6%Wq%&^h^G|EZ&a3 zBi|OD{%}xjCDaD)91EZTz#$RHA`}9^7t)AhlGJ69%v35Zqq&lv)gG|G1{P>bP_Otx zT?TXu56DDG0n(NXe4*>q20Szz!wUbAYg)k3FKfqXCE-Z2HmM+jq8N;#BruT zWsv9%;OPw_%XpMnG!4su47AQk&Zv)6118vm30D3>T?Vv)3D9YZah-Tq%1|RXR6}qK z{z7poa&4?eXMof}cIOS{K(>o41LKaUmM%^exa5qez!wU9 zA*tK|&*Z|)5gJlS8I-kz`y|9D&9^^VN@$l`>7?B1%8V#Hg^G*W!23##g1-<0MQ?!r zZO5NMQyetKSZP5&fQQZ<=m(54!cxZ~=?wU68N`q&6FPE)86tF^DjRA9Tl#?pai!)9 zbs5YC77$Wt7(B^<1@d|SDlE_#c8u74*9IhfHaI7Fq!2np=*bHEjU1|CouYfNNvw1_ zv>xy?`z~t(qF*hk18@L=&nSqJ=mQ;az;$szTkSOT9%xlg1}rcen@N8>Js-T84FVPj zy$7~&VBibgIbR6<1tf*kG2#M(VrT^t$Oba>#(-^N93#$Qp>ObF3k$Tq^J+ZMWk9#_ zfTofWWF)=ZG}H#J!UL^Ce*~ByhVn)T3nY+;82y8_M3q3P$i^fUJQg++zWsLK3*8|m z5VT({t3xmW>2pbA#zH@`TjdLd7R3P*-~qT*Ea}L#2=#$b9|-kP6vq64+U2(IJ7yN~SzfiyfzB@zk8x4M=-n#ZbUpX_Jzp`d-hVN$cz8zoS z^|-iqf1w1j z#jyq5ju;zhuh5q!Ap|C)K-&Qaw2k!#)D3Xmua?wdIDj(FY48`iJ`QLv;9VaJd_Qs1 zWw++f9xMqqeuxd-#L#`!;^?>uF*+IC7AY@%qtx86sB(-1sd3TO zSG~V~^Ww#`-g4KTzm&5cBlI8sWXh-Ii{b*$D05NvX(bdL;2Cbw3nI^;b!K?hlWRvDN}t3<$S+7cCMw9t#7 zzF1jq;&OZljtAkic)twJeN2unOXCslUDp|aVYZk6*yH$~pEsd11;{eSJ^htEJ^%I5 zqkkItZa)1{%?Bg%U(?a=&!_79(OmtW@^=@nFZASxcfb7h?fYln{J8k({2`{|7J=w; zZ?8>-#qvcwo4VXh-N^c9$b-on{}vBzl!Gm5LxLV4%SR1aQf^q1S`uX`Xc$65{A|$o zHOd{gd8$*+^Rh?!YXF1oVCV5DtHDD{Sb%SP(+XSQHICwqJ0DNqZ3YGpvx{O>%;r8( z^}01E+S&rg*$Y`RmQv73@`!P8N`wUdG6{t!6=H%sWjaP>1`oTB2ePc#R9)_61F}f1 zrGTd=h9p3iLm|sCII`v$6)ZqNxhD!)lp>5lKprKD zB0i;pu5@Y2;n0v$l?$d!nw=tKk^O4j9fnzubXP2Nc)nEy#!Xb&0kQ30%l1UP43JnHjJ0Z&>cV3LH04?SB_X1l!-AYTB``Lgk3?_qIi_l17 zAMvZT$c5L+eUraVqteo>grG(-T^3jx#f#Oq?K zsMj%;uW(_9r_=S0e?nLRWem;ZIQC*bBu9lr^Jj+sZ)uLc&}l*`^xPQd6Jlg3qpZHVUr>%-&2D>Q1h=>vaJ`Lfo0SsJ=A*1@JazLo zB3TnK3m$X*-MlDpq-JYY z6k;^rTE`Rtvjof%FpDSd2h4&8!X0#>5EgB96P`xY#9$IL=AbVJUz?{fMckuulXySW z6T&RoF%1Ge!ka|+iVdzvE0si`KyZ+x(H%hgD>`1xa?KZSjb6Ik(I$F9YhLu?@^7I# zAZArp=znZGMZKn_*Bc?8sNq4$egE(@^lRP#TuyzWyG8ChkKJi7nt`DYw^nSca(pxu z5LG)8F&QJ;*NFR5YakO#DOyd+I8M7Z#@KnTt7vrp?Q5R#&6OpPWF*EW0s?*oDL;o_ zl2&<)nrvnr6(TjnEN{kSJes*j;|xU52mk&*|L1{ER^k87@aM`P7TqZl=>2ln~GTIVw7$IcI8y(Ye1tcDZr z3uxmAEXpCJffoZ@8B&S+nJUeM5>CdHS9=$eFUF(1IA1LF<^FWe{(I|I786@;L+gEx z{oLN@eNC9e>cso%cy!RwKRMYFJO6?@H-qwfUFt zu;L0^Z4JHF$j$v%{syjQ!!0bXlD;%3XJqE4vq9r6GI(7~=Wvj(mf39ZM|m!D=)C;T zsRkERIgmh-sW3_=(vVY4s&)>~f{9{-Qb@XPUqDMnB6@Or+;^Wv>PBm7zX`If%P zO!24r-Muxx|MB|m1szY{&x!4)Z~OJmeLEa4GW?2nTEJfArMZzwhq$|6ji+zSG{ZUi zW7b!R4So9Ixw8uh2;Y@YF#r8+-?lwYcGbAW1F~SHATdF88yU`{D_b2HMlO?;!V8ss7r6$#s}oZ*=#$uOLcX%w3HZS6-sG z;iJ;5uGbXamNaPn)h<-gHhnyN>EK_&`pfx#7+g4BE#MYPTtm85mh#wZ<^eSX)Br;t z{{p%mM>1#v1J5_q%$yb3TOLg1$dFt_XohNI;c@}bd0f%QRx@9lnRK|L4cq{`$wVfx_nW)}+)#x% z{>MI^nt3-%lbsP>r@^Sp2kXGFSu=O2jHhtai$ERmwNjAwHDe-*Q$?-PPCDXyE369b zz7(_REwn~%JI{3$jqbmF%`?7*nz_&#c0_4pGZ?J;5_yzJ%dp^6&P=w>l1COuqMhRDg$F82Up1Rz`-3N_y@HVUMNH= zrBM3x|9MbdZe8}ozxqnkhpU;#PG=_1b4W@gq!=1KKoXt9Ar~U_SfQexC-s$W7nl9H zoqWxlT(4$+_#ORFHFIAXzFa~MHFFF}sF`={{&p=MQK*>%7s1?j%fpxUtJp0h!8&*k zAJ~9!cL;PPmCZ+GK{)a%v?B~ju+WaMkqNy_CJCkUdoP`XP43{0r6Zy_I@jjNglXbA z#zJOkCbUZ7mANAccD$wYPhC9H<*qgpVUlVE-vghHLDF-Gkn71PA5SkzHn|xt^9tj| z)VeZ=U1m=ntkM0(2G2aJ930-g85aLzA5S983vX(od=QWHcZZP6N<2cvHB9%3xXSxG zT}wR8PfghbZlYAE`{9cUNXuo>W9tK;F*qCkK zLch!IGrP~_D%={#8-ctL$Qz@1kr$;+p#l3eF)EIX@ZwBK;wW)6P`*nMM8K{0j$4UE zYnCL2Jes4h2daaLQbB0MbF`pAaWv+_cWh}TZyYaf{nQB@UG8cFw-TLDNeS~%GT_#o z)>BtUKgWSvPnEzCaBI~Fb2jMG1#?x2s*0hvulo+T^#e!_2n@x`C+%Ul^>{T0yHql@ zPUP+s2fNOsO&uSgYJjQ%ss^a~9r?EKveqrJNhq<-&G6l!;}{-sN6y15|WNMceo!xg&sDi;k}>tkxSLO04UZ zcjU@0ZE&%+?<$?H%*|UhGr2K-rmGk#tPCm_;{z%kSx`P#?q^-PgRrL`qHgEyt~}Z zCR)H4Ny2D4`Wt1k zNW~7id}&3_ycT~2Huf@Qcgl&ccg8o@BBRirM6dTr8+Vpr@su9Z zxE+;eH{(flZ`RwjvyNdtHvi;IyS+4fI5ycMGc+UXrjLyM!;P}a{`}c^JY0Lv-@~(I z^VBYRUk_6>dLWz=B?oEqoHuQqWzD=uGD|4>&)E~8w`!CJSdSXVOpf5Wz znpHd=GMWcbdqPGNjdlr&ehdvr;V`C!a+FEs28f9ZGl#kkTpA!@JoUYQ(kRWhKXPv; ztB-V2Zgpj?H)J$tV>9WGry-*mGMXWyc^nx{htA6!rdJW1*(4r`sYSmpnnse!6kLeh z!G;l!zY`ymi!F)^S5tvrGS{U0KajAn0!* z_>i{v=+YLIY2dzAbVzY*bm;p8vVB3Sar;sYs`}OY_K>Uv=~D_9Adyr%&1|LWDT#1h z&_CYpb9iu!=H(upnt%WG*}orn4$gR5yf2Mrybp-6zJV#g?@mYFEl0$=S8Qy(!?(_- zEqjUVSzu!YHdg2m5ljYxa-+DIno3mA?D3XXul zLP#eCjZ7Sy$f5Zu-mqRXQY{-6%H((vRcNyA7>`q0@ zG>-$5Z=BCp9Zs%s6AlXE8^`Y!$~Sjw1oR?f4xZT(9ff%gF{q;vnm!3cOU`kZGIT`u z%j zP9b5y009F83=l9tzyK$K0g@QDNJ&N_C6Wvls!GE|C`}?pG7t$e?NW7Own&Pxj3|d1 zg!SerafU(!r8c5EQCh$xB&Gg}j^7sPcHhf2GU;-|o5+NLQ9?u@32h>i+r2*rftJfZ zy%n2v129(~q5)=7BV!h$hi$GjY7zvdJ38eyvJ_7X?u~ccfu>7Wp1>i%rptkFJ!{(- z&oo+cj=mUY4!piErq0Zrw~C&*>FdI}AKjk|H(PS;bDK#cHH}~_WzfeLPD6=tFrG3d zPK1#HW=%fmy>%AT`m7p7o9e6H-@keB;#tqz(JW>?e=%o0M(98M>6BTU7sUlG!(4c^ zJHAj69I{FBg2*$PoKf1Zmh}Npi=Tv)q05xGkIspg&nrN!;MX8hqTo~kie`pKN=#u$ znId)}EJstoG)KP32PLCFlw&sKi=sEw>zRW5ocsHeTZ^X8}^f zE#Bd#H{q7&`fw49Y6ILlS-8~#hwh^#JU~vhm<|OwiZjVhr=E1&^`lS~3RR&1RYFxL zRE18WDr8B{sHP4co4zWP!eT#(T^uDeOGutOCG2s@vwZ@jO4|DD?y|VEnZ-@v%MOoF zf?oDuxCv))ZJF~4Q3lR^noyfMfUl3FDpX=fbd2tB8ynz*ARVO?3E<;U@PX;mT|06q z6O26@DgLHE&*fbj6&jRdn2OUJLT>^#C+0PlYnnxwlvIIlCWQ4f`~bSyr60V0MP?b9 z-k<`*O~R>PvBoAAdKiIgR6<7?1LsTU%qEFXl49^Dda)XG zqb*B0G022*B*sz{*U|)U8;U+CI%QJ0oL772)A0yCSlN?jUyMh2alV+Ar?@ua-*v~o z@;gFjxYDXr2V9-RP1I;#Lozj)4c3a7D_!9)FRS)>IoNffn?9Dqbk|kg&WySKP2Sf) z!pm6X>rtZcn@B31|D)<<=Nj0H@I$Vm%S-Qy%>Dkw0}` zRetU-?0+f?!Ir)m{x1FZ?q}?FD~%(5${yMk#9zvNFRD*tc5ZvF4>Up>IDf~C#OY;?O=Nwb`$uqx0ZiX|roP0y)={9iLc{2L07{P3(j7p^c z5^vJ^*p7#O5BzyyC-|rT!cUDai`jfyq>GJM>r0oL#n7LT->CWY#fL|ISDI&h>4t2- z9LigPF-psz@tCJud6Kii+)m1ODYLbt(W3xagn;|_j!5i%8yyS5SN|J>bKMCE*|S`+WT5r zg>PE~(eldv$6qxbR?U89 z>4y^W)Ty9bD=h)5PTX`}Eb~BRjqI|$n?KEaN_Jec&{3s1)~lcamN!PcnV@ZsNb~01 z^SX9*}wL(WjRpw?pq^OWLM-?{axFeLdDEG z-Q=Rr)ZhX(6JJOt;=^lY9h-}=HCcwkOZ@S_-AtL`Lsoscm3Z5Ao;y=V_dyCLFzhdb zn~yFZ)O@brA1}OlE*tOQ_F{TS5rq^{ND+k;QAiP;M2bi-80t8X!#TKzND<*5+AtYW zXNgfU7h3LAwBC#7|6ZE7RyHS&YTra1C6YYH6>*7wb=)$MIc;@{gvjyJ#IN!4ttG2n z?rI}j1ala0CqmzWQgB~qi>`4KmOSS1Vrt#~1_X`c`&`}rMqlj0q#yAB<8wP9W*9b#fNu@eT_!K@%1sE5oU_sFxtn{oSjjZ;$-ZoSVT#dH z2owH^t{%hcm}}}dKJa_ye`YoDe*Im4$-(d2;dqh36Q*z8qs^!H_rM;1l^K*PS^kYV z;dg7NbUd`yO_rWmjVH?LJ1oE1B3;@~A(i<6gqy`>Kdr{Tx8hty;(qnIIRL;j(&ti0 zdCZdT(K2z~+9>fp{Hof|XX8P#GQ0>axaX6z0Nw+558yq3_mcqcHi>C!;Xh?Ei+*D{ zNh6~rf%P2BJ@YIVvG$Iht^AJT1n-VBPGfXf$TROz%DtH$5lNIwVVTVY(Xqu99Y1(K z=(StJ_Ad9c0o!FFX(EHu)Fs${(C{xYVn@KZWhYtboR~_I603L=7R=J!+l1uQ@tP@entczr(67)4P zN-OVI-5J1dhO!k1y9e0bK3F>t#06RBEP)B)WQwXbtQ2seD;Rc{{Zml7jBr^RGL!1mCOZx2mk zdh@Bt^TPJ#*_O`rqD!v53{I zgyli1Hk!|-E-&8V0DgM59O$ae4DukeGI@i2%d4tR1QPeLpJM*7Fx)7!J;l`7jX`)a zD#bO}0=XHV`)N$TKNhKbIUoAt`vaWhEZn+=Bb|!=EF&{1yurJh_Wq7R|HmE9P1Hv4 z5Jrl$yw7(%JITJ;SrQ<#rRcOyKJ9#VmaE`ryb+#^9*q|xpB6od$=h~)gB=%hq_enE z<*g+Pp*dAA?>r1?L=8eHl<-SnfG$9t~qq$ah$Nj=Z)?4@RCMs`== zaCu&C#{~7a8`E&tCc7WXjbZIJx9i{TJe>~?BEEE^cbL*2!~AW%l%t!l{w&Mq?bd_% z-k!Pj9NU=RZI9V{vrALaU(D*n*THNo@nqc>Ftk2ceN6EEV*U{Y1zT5hbn~%%pY>`L ze|uN};1wc-OSlYobvH08hxCcJkNBu&^NuSz)fru1&g%JfNgYu??ml3!TmQtK2k+K- zUV8qPGi`MNn-5^po=>=P-c~QrttZyeXB1jNS^Kpd-CSKo1KSVa)lEIpSy@lsOVjbt zaNyEx+-VK-@Thr2vR~D|J~AE={7C2Sg?B5fWw-ai9@;#MwhBi1{oJ2r(ESAJP@oP4 z>QJB#odk6#S0K%E$N@Oq+#$4}=59A212Kx; z7mDSeyP(UpKnIh^#Aw%@Sa=nsdsfaA-tM#3g-=kK53Rfy-pNtS~FuK3wgH5oa4$eT+#93)tkJ1YvkJHwl9CVssp`(FZri`Vqa=>q`cJjLWO{Mx;XS3@}yFl7K z`(BM}zyB5|=xND?b(pmnMg&dP7KDxgllBxU6i2k0P`l9L#>SN)zB)t3|3Q_NxX*l z1YyjcH*XDLy4=zh2!n^V)QJ!85O@s{Zao?0j;lMy5uvP}nk}45+vsrJL$nbiTN^7AU@)F9GM=^68 zg-X<~6SUj$z+{x>+aI~N9#b#3(n+~hfG$)!THlOO~jAleaF zk7*aXNFmHuAmHKo=Q%p9RhUQayckv4QEbx)X3Fn-RVyhUR#-E4=i}+S&1CPx?4lU? zX4{C9U;DVKahR2g~e5C-OQF(<;i!v_enGjZ?KS2 zn3yjRv8`Q-QOKC?a5%2N^82+J9Jf6?I+j61znc01N8A~X2#l@`coDF~qySZ73P9!2 zmV3DzkbosJFdmD%aDHUK5>FGfaEXjiP#mJ22B@wSnz8eVX-w(_Jt#qcv z`?6N);g~5cQ}Om+PvBZmheZ0D@$`?{k+Lji-iK7=>ho!nWQBGpfm{_3ML-k*QQ*OT z5{LqQFqD)okDSn8k~0`Kr|2OU5eJ2=S4Gpcpqr5~a&My=N#CDvp&t;7~;w!cN&hts4YD7Y50}gqa3AEZ;4V>HPdm1YUTsqN5D^& zjXnd*u8@@sAAk_~vw7i4-MioVQtJr(``LfD_99p}!)PAjl2P2IZz1dt5AOW1$1<@t zr`yAH(?hni>4NvLZRyg0tDBGQc<4t0f3_P>TxFlT+fTA%gNIuf*@GGxY>eSm z*R`?P_E2ALTyV%>mmb0&Xs~y>In;%_md9!RRjBE8#@~&8u`4lLow5J$62xK z@S+XxCjAdDu)q(ruN)W*{foj*$7O>xJHDt(K0XaJx+vQ!&(NO7O&u)${m4(=_{2S$ z8<&+OaEFNkGZN}%G$R+WZ|RphhbDz(!>3%OWjnKS^H9^T>CgE$^C*?zRJe|5>`Ft!RY@sBN zW5dAbv+!47sjn961fAK?pbh=zXlneTMwn3ti#QfOD8clXW^T%(C`h)QNM)pi!cj7) zhjoTfFHNE2R!}<`?MZtlhQJ}&&WWRFQ%5COk9nR%noImEk_t>@PFw9oTgNMLy1@&$ zRylRKvjK-+Rnoh`O~B-;lLq_Icq7Wf-un|1gXV4x6dps+#2sGZjv0+!XzKn< zYL;dYLDAIb*H+Mdw;*lzSai@j?b{jWy#{GM=DR8S&PFqk7}2xvdfq+)sYs>G0srr@tvx;_BVi5d&wniX6#=%p_6l47DSN8P$*GG^3Y2>^4^hY%x zjLd&cN54Oxs_#d0^?SivK=aI;s%zG2;_{{{FHD2<+3x|obGl}-ZwWKu9kQx&08yYJlY zT@hGc;!)_u(5iV8yZkg7u0h=%yS6X**GlTFCAdc<_-;jb4teQ z-9b%27ML1y_hFF5k8W8}oDDKJ8IIriTEczs8{5yr4i_`DL8PIK63niHOI(mf1!>et z;0P{Uo(b435kpWiRVI#7m$-;Ko@WYX*Rm|ew3bmGkFp=#p9{FSwgp7^_FgO&P+fvi z1n^J>)mKERQ&9?`7nqtUhsBgJsHEV0kGF(!_4~E1l61LoO}sz}WkTMOo%QNM+NQ@! zztLN7hA4Sj1vzDn@5A#&R=<5Irdq`^>+{)N3~4>Yl~>$v-=%>OIu=Sh6hT^laFv$6 z0?S;rBhL47@ncz1@K(>rqUOn^V)Q8@=&{6eOrC%ttO-=CtNBo&7O_jtKU++z zvcS%QKu2SMb67u(HcJdxo5jRrS*S($$=Puf{QzDfmj!!;y_OUwREtnTiUgf;q8Nw) z=B8!y$V9FjH&~USZ0KM z0(J!n4k28wc6wTt)YsN$E2!2ETy6nJG~vMWd$C(1{c2(#8t`j0)lzpF@c++WfBV1x zuP+}z`swSl-eNi&7Ac3Y0E&dtAYn2d4|`|57V&|34~_)3yf}kcr}yCN$1i&K4YLQU znTNX$+dVfM5G~O!T5I4hv>B#MbHV;UGbti4i)Y1n^m*Aah{%YNp6@d>pndwl_ZR9> zL002(0jkby-uI*MayUK*MHypKrL1~C{rJzb-rueoq0=6h_4K%M7?!jmj09#v$6a1I zG>x0i&aNKk9{%&UpWx9IJ@nmC|AwEKyn~y^Xu$g*@AUruucZMtZXy2HCw&?-bW?x+ zjQpd{8^W-wPjz4PmRB&q@&xOr`nQ+mOkRGbu*b4EwwBo}6MUE$I7aWGpY_r6FTahx z8c(BV<$3fT{`S+4kH7fm6Z{J4Gq&gI%j;QYDWbaMMl2@BY91f4c1XHoBNa%Mp#L za&S~+{t#Wlq%OYzTT|S-%)fj5Vatwm7}dJa*|SsEaeOgCNT19jpR)6Z+8*Wq-Gg*% ziq2M_FXreV(&gm5qIEKlhGulWfQri>)s3Q`p6}VWe$;p|?w-~1bUbobuO~!7lksTg zddrt(*-fqE9tSMgFAQ{8ksre8c<8TlG>)wQY|o{ZtK-?!oL`tj_xb?$t3KrRI_+{1 zkKaxp5}x_1h-jA`em2v0e(UXL!__yZ9I$d(K|1J$#YHj4%JNiiJXa$4$gc8+_}FCS z`A`AR#4e|_JnphKQ?1iflh|<{!%90dNIY5&w??$l$x}&VWhq*rr=1TC1!FDg*?Jt@ z>d$xvjUSE6Pn>@}e*WU8=Vv|wpsef|$Qet1JG-r)em)1w2#*gCO0nXm^Qd-|@;CXy zyp8Y#_?%OSmNyH|`*F38;TMfzpQ)Sq=3MaY=Sr^s_N|Ex!n-j~iIdZDU^_J^FE zG2Q$6yM3?Yat75i{hw}hK7ZxU5CPDhGgv)I?D9#u=h2k@?cb|>{evGDBR@eOY($@5 zF9i#|^{cm6HK^<@-x$^Zy`1BL{P}m|Q86D+zgx*+zZe#HTCWz1$;>cX1_}t)5{>Rv zz8ehZp61BXG=fCTpti@H;x6^DtX6e5kWj{V0P5w1Xhu^&UYV`Q?#;avgOc1?{93Iwq7v;tIV(L%7 zdS##W=4kVa*ZAjfeg3S6hj5X<`~1ap;XdnG7|(p(7WeKv0@orn{^UiwyGFHpH0@*u$ zck1T;xr1|k>HmsT_*{I}gH-vCah|`-;c7Xaeop%OvvQN_^Uss@W$jGyAY}so9*p?N zy(v>6&wF^SS81T$-|0X6udb{oR@tA`dG9>%Rhf~S<&H3_Wf#HOU~Tq*;VsTzfzMhp zjeMklZ&&9%@HfQGwlhF7BIsvH|KI;7FNWZreqQdo>MQ*pjGR0CW7%AqL`=V+{6F|Z z&ip@;-|!UxC;qt+%|7w}?*7C-{)0hSzF(-0&9)LyZ8Q2VGf*Gd=r-1A`&fP?X{?K7 zbiAJV%P^(Pa*>e5TIS$F77Mw;kj1Lil9mUV96KC@t-T_Y=Y7YUe_4B5X>EBfjAOZ12kMk$5N0~gYWlu?)3Sm!A^kR>X| z2C>jQ5gh-9DwPnODhJQq6w$9w(5%X-(UT|72f8o2Opj}13cDY7BLLdUwSk|gQkJ8~ zu!chqI=QIGP%0v;QZU4&Q+d`YGrTAZvzRSlh-MOPYJ( zeKI?>1Zmi%96&(r=Ir3n<;H^Uc>EJ0Yi60@4y>9;VZ_m^&48?lPzGjvEOssy5P$77 zj<^@WS2;UAJQe5Q_g*c;>N23036x+o#feT-LiF7bD64C`l0Mn5Hv)YS^_Vi6|-$Or*hZC>tIiJ^{%ZltLF=p58#~X3E2(Z*ZNDp?=7~nMM;~+{c6s4BzqTt`M_XeBLjp5{KVzCqN#5s=*g z05pz*D*-Q{YW3vt(vn18c{MC+G$kfje*T@O;hlRM2lz$*Sd*VhW`U1uJ>8_3fvo5W zGUvEevp%+Kca`2ab^~v$zWX3>qgsv!zzycT8#L9N1-Ri#1;%W!HX6UOd-N8{9<-TF z2e<(Q%n2S4TUo}7ojq?t*&vh+LfIgc4eq_&4p$jRg+NCnhtY#@FpEnB8s5T;ohz25 zsnFhyJ;05saNp_uSHq1igS!nk7>T8d;lkjf+yFPm7n8-@HG=t0w*ez~oNz;C!sJ$_ zFbh+F8(4o)3ZXHYL&fL}r38u94T}s7pwI~LPxxK_SPwyHg8l|MM2h&QY|^G+y#~q z2>KDR(rQj}oeRH=Zcv=4L%+k%w(^McdH&MkYm>6IW*xPR!}`nHt`X2P>4Wxi&L0xA z!-PspN@ICSL3;zC;YL`@1kAMKXp*JOFc<_V%3f56yJyH)tJfB7?5f+pg zq9V;C(rHR-p&VsW`IhlpXs07-tpbdDjbW~P{1cKGc*iE`(k#m3OoAJoKwS_E9_1Dd zWu)LVD|;M-cz%C8zh)A9dTt%xcNyUA_@2N_mC0BJ$-y|E?-B=;w1pke>hi6?bK*E_ z2HwXnmn4ofMd1Jxr5L?MB>vSAD0hi5u}E%)0$O6pYXE}AQH~262;HyN%VF4n#IYhu z2W$}dL;A`cv2py3#M za{L}%aS7QmOx}ULTmmBzZsRCR;~Z&zg{Z|-83HEQzyy1F@--glGPn&qfHs*i2lBv{3eOIZ>8;|Ej87rEMrHN57ykit<%|73hI5hHc)CRf2 zHX|yy9NjtGfCq~p5;O>wi5!tnD#4tFJqs1+5|S#Ts0eUl!)LG)Prim5T?TgxZa|J6 zqXL1h*a2?rDL449ovRTp@r|2)#ua@H>a04y+gm253gz83s8v$+vxbYy4`w)Pl zCnp+uCSHkHv0$EDpm|zvr+DJB-hDe<4sheePru~f%i`_myHMRYiRy-qGfJ31) z4`}1#L>p=B;?%+MOi~Gx0t!M^nr2z#U6Gs*kaay$TTP{0i; zNuuIYf*Z9U|2VYVjmo7jM#0x$SW-qhB=YPlgU;1MPu&T+?V#HZx^4c|S3$QOTEpFu zMuQ6rH$uWd7tbLbWvK&y!-&WUW^<`%W_2EL#kx7`4${=pgQ?44ZsQ0cAj*)E_&_q? zh=XthM(o-e3_sf2Jes|tg{J=!p(a+jao(O4%O{6La%#YaGLpdF%o+whB7W)y2%!%5 z4nNzquHtC?m&lnA{c64+5U9gxm8yg$LYz{d-a=eE(wKcyj1yYIh1SkNV;w{ffrZo| zd2#<5Yp&rJuX!4wzcUCCl#nRNG6w@l1STm;1WpDP(se}-T?ThMp64ni2vt~!=l6Lo zHByI-FysdD{l>Ab73y#9kBsIjfG_P4@>Hkj{%j%{C&aUmAbQ|ZMR6`=>O`stK8d9Jk1sc+W4tU^t zHnJx~L&{?0;V488G|eIRWa!fz(9Zp4JcD;B*Na}DW(aE8K1 zEoTvr1@62{WL~yrT$MzgmTgnl5`eulswPkfaAT_#U>8d#az@z`n=J3+b^YU;Y$a!!ICp?`nX(E9WN$J zKFWjKq}987V}obaTYN8P#sAoLnzZra_pkFhA})o&aIZ^ec3MpQnau_kWN;^(263OF z7qd2Lq(#D_#KeRc0*yY;2lWBY{khKu>(joakYjy{FWybuW-qbE^$cDY)A?e3Lpu#Z zVjSesLL(ev8&IP zH&W%#7ZwD=%=w~UV=}D2y!}i&ll^MW9}u()(ientb)2f@r*8gcJpE%ZTK@l&(cDdQ zgOTm!^neT~U6CG*9_fRCKSY8<+%z31?+G%$%zw=yI zAz>rvZrr}+86ThPsn5dmezgJ)2)l?*bc62PtavBTS9k%!bf~Zp?mc% zzdBm2H@f@K{jgA@OTfP4h@A#tJD1%I)(PByZ5qo+5Q~2#TB3kOz@E`a#pld{f_6ja zpgP>UB2?dTiANi#FX#IKfjTnpzKfVV$~b*L%DTHqefPOsm3R-VnX?eHhnPLY>>*}9 ziI_dLnPFO!D2Hz$f{xTiDS=yPOtm+;GfF20@l8m)uS(!ozWwUNdzWEtMDGk?Nx}*7 z@#Kf+&Q$OBtAp2iqq~pZuN!`JiQ{)3yVGDa)7Z^eUgu0Ztq{Sx#3J!7JsFKI4$0nyf#nNGS>6Rz<1kO_jvB?Vp`1KmBhCr;L>cJPg^=-G&>JT z_z=*CfIbBDA)r5rfId?(RI4#$tC<1~K1SW&Kxh|P&2vgzo~FqsNrT^t`MSOP>Ttfx zpl*lrV8T;DArecr=$>qvyM|uEAuFx&0FODW=s9&%;A0b+KuM3L6^a8#`{7O!Q=RD;{ED9e|3OcZ*=$R`k1YB_vxFQFIpTstaY+}G%;1+&;F?_yJ7SFQG~VBgYILGVe4Kw*f^{o?)~+G%^eU~uM++xgTzsR(vJg=PG=e(`C3FK z=PJ_LBzcy`hC2@tS3B+3+;03_7f?`FHJZB}T}7apR!4IX z+6H!Lii;Tx)uyAezuR3-Mre=gA6%&(XQxNRpxX*llizLP$ ziElPH?Ct#Ni^5LFGjFDB#}|!rAE&=NF!;(V$_wXz$7C!`jEW;86vvaCprNUwBy!Zc zObe=<^Yz}zqR6l{C0I&def3q6sIMNWhdxN!8pW$mpe_+EW^VejxR}7b7KV8xr?7FP zj`zcl%cU!_j}!9#%U=rl&2JC+4&VGpBKP_H<`{Jix^6zEwcJy5c)lVW+ z=f266NJ*rGLZktOV3azZL{8-fUKBENgO4X=_h7vdT4C=FA$xPTM&Qn+<(|hAX>KwY$Qsal7&!Zi&^S(0ufg@V_<+E@ z@uP=?@4I$BvLIgdm$Uz{7(QXj2NB1}>Umm$&B-Di7WT=rhX^{{Y<92N_U5^4Jjsel zwDzH0Mf4%<9@6e1mJez75X+xLEUzuimC!Nl>ZPac6BZeRv^$}cC7H^#O+V?h`!(Kx zbxhx7Xd5v-5)2A%e%eQuA^*NJB-$T_91`0%ZgRKSzPVc?wvUOiT4pZFnE_i)3lMjt z&=LMnr0G-T$bm`u#*ZEn+wa=>$YOieuU5fzhQ?zDRWn z?!$M6s6oc%^VnET!!$(lEs5yMDby~B%USH_R5AS~Y?c4XyzWH(S)A>W}d}a1_ z^QSKyq~O{5$7lG>$s6B@!b~P*ZkQlTrxXk}be8$IJ4Hju)VYYT92w;_SE=xipK^0! zeeT&`yL;*0PVjdYhpas63?VCD_;BRPX}MjISvnh(bFh=MLF4cTR2nc-JA~R>r{D4T zi-~tu=y3S^Zyu|Ni*uXjk)&RQD^l2PTLkubqBE!m6@&A(U)-K){m}vj@s+Fa6*u%4;l%J!e|&cx16TMXT6ynjaXOL!zK*ZLxDyZaKA>!Mrxb z(4@r>%!20*YMi?d&v%~6M#H?V(+uHy2-icn9!NBSL<1t&35Dx2BhKYkMLEd<&1Fm? ztu&1&(>ao<7?*5P}XvE2^eg;p`xy_)-&^22A|tINDPfUP$|2v`$U zo_NaNhX+kJxeK_a`fPXipxX5Vod#sE6$8zhirJLq(&j=$%2=Rbs&g1&8WmY%Vss}% zgWXKvw>pq&cAe=eJiH>V-?Q&=h4w`Et0iziXwONXpnOQ=QEOK#PE)I05!{L_roo*o zt2+JOem)y%_%%O17-0r>e8|IlzJJKWhdewK8T~((8jt^c<;-yY3fX8gd^an_6?mcF ze;z(j%u!VKBP#?N+2;Zp)?COa$qcAAhNm+7q!~2_z5D8jzRRFCBKlY+G-33PjB%=W z`_%z#z0uuA^wlrdCh}XM(5}#pC_24>E{ zl!rkMx1iB?3+k^t=Pr?bmjfJGcpvwx^>9FVPa%87GD3Qy+9_o2lK~u!UZda*0?)dF zvlHo6g4a#NI&<@owGUbQkhKq4`;fIit*m{Vl9Jj+WBotvtn(CBiJp2FI zd)Fqnjci-+`$Wuts8GzE?w)9n`F>PH$6U!zwOg`m$v(1ApHL(ci4yE8lIBCN4*&PN z5(FPbkVUX0Rk5V>Y5B+`00N0jV6VN`T3ZoSGw41ylFfBre~b9O%ec1Ud#N}iup}z+ zQ^x+fcL0NT``P-Ea>iL)^fDc=wa=RIx$E@^SHyGb}ZkKbuP`mN}wow4U=Jj-0^BAFg|nTF^`8AY(U zKp!hKj^K4MtOE^a=eZt|t#6%iv-6Q<>SeE41&4+9N1Ul&+`YCp=xv1c>u0g{I9rl# z>hF_@{Dx#MX<*lEIy>qIlQU&O4#mWj~UuMc3(Rz_S+9* z`s+JjAudDjdI3>Z5DngZRt5*!yoVOnaLFN!1#ezDBSUQ%vD|4>NWLOOTov&hc9zE( zql;cM$q$Rsk2d|jD4e{i#?$rwb*r{!OQ3ageED4`wJm5*O=VLS9 zig1_2upxIMFDY#D(6$EkfAo_z#$*NerRQ3CP5tK>x4+l>ZxO=F4ujhY;X#`>M$5>$ zxPd%;bDdWQu#1guJ`ew1w*eQmKbqh53#;g>)7Tu;RMvPyz3@Dv!p1fuXuD>e;u#@< zz%!~4Xmo;K?GWqlKl^3uctz;n`6!qGpI1{^!g|eeJPd4b89k|v(h#%r&A!R{z^;=@ za04Eaq-OZcIWCFxgY08X^i6Oh!Honr?ikz<9I+3PB;x|Mf5M}Sl`*Q!ytLl>;Jgyi z9OSbr6TH{^Zvi*D4DKe}U;rEFJwW5AC%Exmw*ez~oNyyBMT|llLm+)%{Gvc@&g3jp zFz1nlDg(+332wl{du7Xe-}^9{hFJJ);ilzxKtq#R{&ec5vr9W~+bLFF>!;eY>H=oJ z?xME&CRD?AEF<DWmMDJQO5s%9K;Zgi$Y*Dm9&<1GIN{tZ z+KNTK&jcKo3pa3Q;R2p3=vX=qz1P*C7`~qL24ULAZq+0j%`Y~dOedE%=t6a6G26 zC4%n!yp{}hXus)Sy1^iv$HGLaZlu1$P2|5b=1*`VzKQ+tqQ8lE7U_uDB#d8F7bCbF z4+ry9M+-T19L0Du=0DSPaPVJQ^6ty$mHhVC`~0gn)8}tq(O)J%sCSR67vCkgamU~W zAvpKx8G8qvNlJS}OFA844m8K$k2C(BfIi-UBHg!gBr-O#7f^qS>(0NfxT zQ&Etx2r0O!bn@|J3TG|k5Gyq=GZG4)Q4QB-k>}a~CodMoZXnulER3@Er z1w;Q0<&#YOvh-r9&A3V3hCUUn*DS|Fpa$u2%g_<~D4Rm;T2fok=^}G^bIsAO^|(!y zjh6vE@p>1PAI}TIF%8|sq>)=Uz~3j6aVWz$416SlMxLgthWJ~mY^2JDwfgG^`hJ`g z2Qj%8&xcgmIP1Tj^cf+tkN<5JfSL)`q2{_V`W>r5cgU40r$u2^?lYJBn1PWxvkYdK zECeoH$+eSFv6_ff*QsoD8Qe{{A<&AJ7)ox)Shfj1BDUGx9b&Oj(rtVg-3G}mrKM0= zX(SdMalrT%%zYFSX&^y*kw+`IM5MZ9B9%U6v7vOm96Q4eU=+X&DTJX%-B5ZnvQKcM zwiZY-are*h;J2q^{rzC7f6J3@qhrvQbQ_6CmEgvn<`o9sQ;=@>j1>}<%)oT!Le4Yg zSs_XqN(Fz61UIfnr0O!bn{a~@%@k!O68BSeV^=D+Q;`WHc$}_OoR>vlJj#PZ3HlVQ z;2f4=#w2ci2ud&>rGyD?+&bK#q}MFR1K_yO!abDtV%0UEi-x@ z-Q{X_6#grbsdh?6F4wCzv*w9RmB>_gj7&wC7h2>LybiS65IIMpl@=~5a&7`eP~=#o zkf-X#b*dX(26q!~PzhfmYe=jqCAjg4!VM{;D1a|46IgU8AZ9LN4kNYI+UK4Jm*7U7 zY<|_)fZYn2N}WpCYnI~ya09vxOBmJGB)E~_MuHm&ZX{Q#UdI|yl8GPQUj9yzsT{g$ zKo@RpUZBNajz$37GbCC=sV#+Xd>$j81UIe&H*&gva4*9RZmoqQm4*v$f*YT#E0wg` z!i#}roOx6?O7GC<27+-2Nx99@;7{x1N_7O<4Ry+GuUU?Vz>R2v%aJzF32r2~k>Eyx z8wqYCxN$FOH%{*b;w-l$WUef9gd6bVbk1drc}}P=qZ4j|8`pHD>N2>Sa3fk$ap+7F z-1u}|sjT*evN`(Igz5Yc9W8@CQO z2cr7eXooGxirK(nE| zpoORxT|yhTj5g${kiBL(9soB0Q3z88B&-BC65L2|Bf*UXHxk@Pa076|=L~_5rc*#8-N=P8 zx%MLCvH+JV#Oj6(Xss!N3`}t&X@VO^0XL}VHOuh;xDkDDIfvRmRX37!!zH+p;6{QQ z32r2~0l1-p%9SW&W(a|3H8(7?st{QT_kThhD=bM$@$15kE`z%PH;lC)w+TsN--QG> zK2f-#Edi{w8FV@@rm|9kOa-}k;Vpy$&`WVbaQhRP>Xyk=;#AsRvm6hB8>A=U=tpGg z@|WO7f*aEWHxk@Pa3jGDz>S=F?-`*P)dt2?#L+AVzY5w7LRrZLDM(U^Ul(q48Qe{{ zVVK}Zs1lvv#wY88Yx7X364G$R@`&-J%8Zr){~1(4tb!k0>hgC4)eUhfSg%=*2fz(z zHz+!&Fq_~;f*T2LB)EaBuIe!^dekcXiO=@fUIO9Q!;7&SoTM&)Z~Ok-#g28U?ZzkF zb_0fuLQ5mF61~O1>(Cah$84TifwuPglDk z@sF~`ppd8lH>7r%lRBW&CX+?bUe5(nsk(9N)eWX#GF30f&TvD-UL9ImN=a(Fk>Eyx z8wqYCxG_o9ja1zLyf#88p(HwtQFIm;*77W8jAn`&Tgtqo(6A=BaZMlGE`z%XHzZ{s zRB@Kz#-|H6j1JZrZb4ae2GtGgVy_$6HI$`LR-!p%jqwxQxOKQeDWu}{ay$TTK)b=w zbpzdVnw=(oT#csHaPY9eBiCyof`C+q7Zko^#^sq279>^|>8s$hIv)9}(=c#@X}yPJ zhUh(U>%Bk!{-1kphS+Xgy>s!$?w#TTKmXgkN0lEBCs!@0@CLs)!G4qe>v1&=IE9JF z6vP?#C$oHc4U>MC3+Ru-WH=iqxUuK9^)bwqn_`eDp8OhFJ|20LgS_1QD7+ahKQgx7 z>g9AgT1$prEbp-&UM$kZaY_u3I-X3%p$y|N@bQjDWuU8u_}ee+@!2mA9{kJ6x6|>D zdW!t=KgWaLo{shRgQ@;4=Wj1wU6|1iZ=e7A-Mc5>{y6*T>^^qx{L>d9!Honr65KdV za05>pf+U>9%MmhF4>w$i*Iw>;o>4HYymmoZ8)-eMx^bQAMwh|egd1EDMl=!02=}Vk z=yx;8F5F}q#u>vKniJTnk^Wl5A%wiiLqv$rvBT1BsiL|-_}`Ov%b>Rl*)cIUJB zx;|+CKi6a!b@&LE>6|#Uxd{xsMd1s$Pn%L^g{1}Xz1Ja+i!Q;9)eXDveHcwcY<}3f z8O!f5&@c_6% zAQe|q8J@^g32r2~k>Eyx8wqYCxDiurJkJYd6jE&(EjI-5Hp{t!h}95^mVa=8Ox2Cq zb+sE^26q!~FoN!i4BYP+BLU@|<0d^El*92wow9W2_GzRfClYemc30LEO*^MI0K zt~2Kd{<8={GM7uEl2rUMVpu|on}r*K^qS>(2;6`XE@4!u1UC}gNN^*;jRZFm+(>XE z!VTgLYWStf2#jx`-Ei>a^nqtm7Lw{xaD%dLs%|`T*Q#!G7~D;`K?K4SLs@h}O>pDW zbf!XQ4F#`bo|Rsqr058Y;e45A@T7wEw1I%5jA{H--BZz2pM6e4Ky!x zE@JAPFOwhCyT{dw@1Fhiy!>8PZw8OZcUA0*yfFzbE{T~o@BLgHSH+}z zCvjZs@CRHIexr&eWW7IT;D@}d{`bq^&ZjTEo4WJ2lW7lPtM=)4JpOD1nO>K}&!!bN z{NlyW?9q1*etSutK0gcN7vDU1_~3q&W4)>eoc2iM8T;XQ9L{S(O-*D$jKY<2EHl9q z;DlUd=oDr%sd8;g?rH8~hO`JvjURprAJo9%OI&7s6xib+&?!7Hh61gFO3*q=Q)cM& z$BI(H|38mMNoeCbXrs&EZlVnhkvO-8#8&PJZG4(&ql7LTCevuPK`GD%X#UVk!3Vd% za+8WXpA(PUpU}oFqYZW{Is7Z@<#+(x07TJ>38h6UZhU~^#(6cEy>Vv<6IU`Vx*^k| z^&8TipVx294lj29(hUaTe1do4_oFbLOY8BHt=%|ljr}Z!Au)WJK#YCi1~`KYoC5-b zap=9S2F398q&EoD8Zb=affgH2rjtt>bctmW>`1U9`Qff$V1gZM77(8v>?o}bU{1Nr zgI5lE2NjtU9!{MuFewUxf=8WG0D_-BuEheYP~fXU@niU72EAnrkvB!P`1WMnd>v7f zn})OD`0cuG_kM9v4XVjBKJ{P4T1x968(ZKwH7LDZ?LepZV82FclYW;0Zb1(Si3t%p z@v8Qz#yi~#Oss|SDh^#ks*-vLs zb%$cRs(bY%*6;_Fbpso)Ub9{f!v2QyW%#;j$F!5g*7M{qI1`RP+ zI``^mvA}2?DAdvj#)#juFhT5DQ}`R9+qWP%JXzWVpS@BP@gn4aJWud3*d zS`E%ls>w+;h##E+woQ82E+&=RfMf00?Zm;tVd}%f4X%65a_kH@*r~8RMYypEY|JJh%rR6y+14iR6ATNf4+VI(Is^wuHJa7QRf?o9|N85%;T8Jz1ARZz zZ8u=Tp|oJEMdU~r6P zQP)I4U-Z&sPJ?);I1NhZppAqmdT~S23qzc@0hUs5u~iUo_}DcAHntAkiajf&X7ae|9T5;N zm{&-+`tu6xtmcEcB!vf|O7u2&p2CwlnO30D zmKtl`UkKkk`RQ5A!rnFdRhN6aiF^bRTxiI8FhoiDah39;TQqdE$j1ZS!u$x0atsU} zXu&draN<8CF773b7hNvy$4fyI?Mp zrSc-=!Yl4SLbYXePOVB!^VP{;zkT-X$;s22R(2ArN2e!f;PJP3GBuU*iq0PFl#yPu zW)FZy=v!`>)?B8l%!hzR`)jY)hee43mKq5*3G<{zPZb%I2CVQ%R>l_@17lihW00$) zOzK!ExL(C1Rb-ZG^im5j&?%C_Du*m24Ommt@U>}JD)@~YleaMk2F{u)hDlv%&mQ1j2&;(1;!o%WKzQoci70rSH(icKt8B$F%biZbT73limVtbvVgdc5j$Vza&#a3eVCE~*mtVRbm zn6H-up@E`Wr5@uS#20tlI!s1Yk}_?Lt)Jr?3DV1i{-hB}{6PKvmVWQR+WHNQ*IX|n#g#!Dj{_3Nkl4h+O221WB zLF)Cmnnn`9LWg>UW`U8^=95Wo(x+dOsgeXDNuLf*eiuJ$JP0?yenHJ0h&=#HY8<3QZ^*7 zsT9lO)qewh_JVO9L5R=L848~JT<4i1q(m`+kV5kS&#BaBZ^PVnTRnXz#i+{wZ^rhq zN0()23>+g(lyJ@gZXXWH;rOC9s&?o2d=b5VGak-H^U&~K>GE;q2j`=x(_L)vBzlP! zVZ1kdj6b$Ftc_vp;>dLrdwl7{)~#3@jN@u}VSHe4K_$>x!{ZII>i}N@ti`g#>f^GI z-ll$gv)V=Xl{=qp80fYp>rz<}VaqH>^>XO;AlluUV1@Ko6*}xzSo$nV`o9 zfFApmOt|mYEF&b?kzhxH9SL?M*nxNC4ZseonB^+ajBr#BL>YKyL0if^+J)yTXeMa1 zVBSh!`dmv0d*6Qx?ogM(Z9xvMrJPm4U` zQWZQ8uzL%!yZd_-9Kst=L1W*F$@|nET1P=#_j&cyAiUQs$HU+TmBOH^beG`9qDJ*; z(vuRdNVp>5ii9f?uDBUoL7hV5ZlyEHVc{>LVh0*&D5kyR=o$wbC!eTE9m*My2hOQU zT?Vv;C76*Efk>=Er1HfMK2ZO6Gs(79l8%9zL;}l=av}=~5+m3^$4=Z%Wx60-2Yf?K zq?Er0Qdoq2tt5U|R@3K)30SXLR)=8%Nf<*l=`LY{763eE^+LPcc>OZO_vj9`=tZ2` zd#Co^sl7MeG8=sT%i{dhZ4b>44sXBRVA9lW@ARIq!As#|6@o&|pb7z9gAQ2<7EVB{ zBdL!e+3}Pj_Nu5Q#NR}*kTGwN=XDNUl%+uT3(E>hJm)}2xS~&|-9_sayg)Bq?(HUe zi9Py1t9m zkX37mE$uFtR3$G^{LxUF;K`suZ1G_;$^vtg3fQ5!NQi2SK9=07EhNF^cX7{cysOnY zwcy?dXm>$Rh3PeG_5f%^NsmHqgQgk@8YOm?xza2f8$z1AQcrhOkrkEkoF>xc9?ULz$9G;w~a{P7a z=~Ktsh$2y_mgR~L_qPo%q%u&Gr*cK2P+{#ak;`5SvQ6Bx9vi*~9$AYp=SPV|rItGs z{Gx8U5k(D4nzhmymejQbi#9LRCZ+en@U9PofZFD6(%)ag+AY1hek~y>y_3>ADZP`@ zJ8_io#=ilMQqEN_gclhjXv!;u1xJZWpE1yrLMauxWhbTgDucXRZoCNey9{VM(1&TM z5;FC|zD}Tj3`%e6Tq&aSTFDKleg#8=YgFK1M(YJZA;ElnV8dXrpBou6NptAC4at3Nd%3kjk-TO>KG!m9$$A&4q08WI zpax}`w$wm|j_HxuM^~|r_J<+Is%CJx@D5vrlCmYim;#L8oW3sXRsZ$+f}y$7yn zCH1dEtZEk+5Z8TPXoIs}vm86a4OAe|+Cnl;lA2-Jawk5jg=bQ)Z?p;6JIT z%W^~+8DXUjG%s~7;#<#+MirWF#ppSv&XP*HKg@p%emZw^DyxuiMN2AwnG3k-dj;Qh zH^BHMmGp!A_pzjIpaS7k$x!cdnb)w362z97MHV$9K`3JtRMR3-uoJHEFRMYA?5{v{ z8PFD%pweniN%ES#s}%?a!Ga5LT_Y~UHrUjokcY0=!T>*%+RNaQ*DRhREgi;Q+of$g zb!m4;PdV*1%jz&pfD%O1sy91L{J0uT(G8?ltavR%5W!@;pt#S*<(UzdW!5P|&~p?H z-6hU={vxaQ=u}Go^Y8z;=VsHF!*TU)Zk>9H4-iTW2Y46m=K?LtQ=g{7IkA!wD=D#( z5-X|GqqGG%I=XWuGubcQ)YY%7(!orY0r0zm<0Yqaj{XzY0~k=xkq)&%Bvw)fRubwB zb9Hl<0c~Rfxbzu>k1+tkaZ>y2*)+7M^}9&WF(Gwrhoo&G=iV5st!^%Z;z9?N!Dk00 zJEZ`v(GoH%Jqy-_+!i**itkZ9ScHA8sCw_&uGGz+S)G9Pnq_quCIBGdBC(PZE6F8~ z)tAF!G7e=Jhk+01YkzO_I#xmJazLyFr0T)0ju%&Fzf<+#*-y{Q?`8F7@Q8d@Mcw6w z(eBmbm#POhuA9zXUNS{&rfA_aVP%;aQj`D=B2sQ($8KZVGgS}Pst0@NFbmYsWpFo9 zgGO^eD!~-Ps3+9$X|j^Ip{3HqWy%&B{SQ2vqVU)WA>`aM%2|-ntl&LxMPeo0L;n4h zJD&vvG;t|ynq76PKv3Olmg50vgOi@1=x#$SEHLjbbsmL$|!!S35|> zwFwICY^aE)Ol5Rh6(C+q8;W3yG8a7Iit|Tq4OeXQC0usE?lPb)ECKd}pu{9BaaUPM zzydPQ0nbf3CLM1UNHY#3owk z%%;(qE+h6Ck*AEFQrT;k)nS-`M8OeBnBaqYCB2VNYhooOR#IXmC00^mB_V{k0i}X2 z4G7j;XWXHS8|V}oX-^8lKGLAn5?VT$dM+HoO6oG8ZA<{VGX)tUCPfn~X?QWZYpf(` zybjT5j6utn2`Y7F49v%h0!{*XA(*Wt?e9@NNSNRnn4no!pFAemQd&9=(Zb%cY%KX) zvqf8i3JEGCsF0vSf(kbS6$4Y3MsXI-hc{w-+v2Q zQkTKqgbfO$YX$qNm~Bq5;nSog6|w{d7e(fI2`(T*&CWp;TlZTpoP@g`i>jgb02W(f z#}+YXzw)7Vl+VsAi9i@VUycXB4TdgqMnxG!q9uJuT2d-O_?O9qb(87dQM5XljT5d& zxFX?-o52+#Xh&q}AaZb^C9%?Ed0}kEMOmoQLAO)d84* z+MbF|k;yD68K@dq9iVBu4oRwzqzXx@Fnyb(3Kw{ZZz#As;@Z0;RWOnk%oSP5P+<@p zn7}epW<(n}KT2UVPf~@ATEo>+g$@JS#spMyrEKced>u@13@zLWuk(Un1sSEHRKdy2 zNs#?)AD)mh7-jEn7X8=bdwX)) z?_aoqI|~ofu6~Eo-w0BVI(eFvN%%ENKa>V z%(<{yT7sD^*RcF9?m5e!wsu~fQwtj7{mVkpi8TIt*+IJBsr9R~*5mM%)PsYIK?)8~5W* zMB5@bWDST^AW(4wPMk)aB(l4fI~@)s7GdAvXZv~flK>_Vy=GZ;#suV4+MXs-@;lXH zE>%cUg+#ucj(^nC{=ofnJoxSDSbsm5>fdty_Ttrr8U66~`LEx-d-Cm%v!Bjl_u7rP z=A!cBVV&tgs&_$-iA@g&^Soc`DY20bZ6e5r7h^X_6_QjT`AjM#p>&#g^v-4Qea!^= z=VnIdc~+Dq=%s~5Ds5*^i3j1V8Z4?6TcWP|`;&1~&On6ak;Ob4j^D1wbN7pjYEVt4 zu{QoH{!}X*+SmfeNmY_ChC45bT|Z<7ea9PgW0|0REeI2nu+)2WxwmcLA_bSCE+QrE z_@}8IzspsUb`=Blh4H*N(t2_%zQQA8YYk)D)23r}LiCz-(iw@+(^Q>!e}>k!bODX` zESW`3db@*u5Y8s6kROHqND^?>5PwT%QBCN-v*ANW8vPmKm%%!Wzz|m>2L=X4xkbNN z-!S2ggf~7Dya57EFs{tev<|sd!5KK{oJGeda22?w(x_COI7GnFWkB0OK1N!BHWC9M z6oOK>>qC5Hk3qn}C5&U0kr@)(s7WXT`zPjUrj21v7b-ZCx?OJz@AvYWw(Zmz6Ew>z zVFDq72qxnNnsGp0gonHU?bgDfj5tEPKt z2lpcZ@CE{P2#pJpBb#HXlE^v=hepvZWR%Fl6yAAV6W&vxz80u&edjHt1ziSoGgxO( zuuE9JMD}?~-e1Mg**f$Xwc8HZsm)=#3MXT9frDb#qqia=cXV+mpixIp2T6m*Y2I?c zJ{rdpm{y_I49~;&DB{KQc9}$9sEQxKV*tiA`0C&PzV~C83}<5>PH==*Rivd=gR_%r za#9WAM`sxRNe|n_ENvSVtR1@r3YOn}cuc@dlonuF9RdkrlLqu`CrNGmLHk4}K2L%K zc>X0wfaj?z7<&0=G}nUgEQ4vZ%Fs!aWPy6PI|!;na2Tu6tX5ItS;TpQ1PKz{7$gXW zS?5ZGF;pOeQAL@#T-l5jwp7fbhmlp7p9vD|fdq5`3Azku8xlaP0q5JKHr|)N-v$Ye zfzOk(f;)#NJQO#0%yY;(98n^(hG^>xbZ~I-F`pp85Ipbd-KyWh$AtvVvN`}0aNCRC zQ>YU(J1xyjYgKs{KU3Ui$a&mgTJO=R2>s{ZqmwB7+{V?rxyNX<7WGqLFT4x)s^6DZ zR>$E$)Go3met&A(mheE-5hOe?9l72{cWiVS)2N7vaqa ze`ksr5ebQ2FyFu<(@Aizi`y3k#u3voy@ z9P}Ak;UpS30|LZmZDqzalVuRJw0V4GrrN*_)&?l=HOuM%Ou*noDiFVrgb5N~C^c}N z2l+9=Pnci^Qsm334Q#HCX@~i50Y$z#>s?kM)dyO@@apkP^?@751UaW=0R0*5i8%N| z5S}8psnC`U^dSSeZ&~=n7dpiMr^|r0FabKjX|8S3`|hg|94lW)_`prc(UU;rs1ry^ z(cc4qD~qD!rHI{~6DEj=_a-p`116}K)d84*lO99E7D8mI6I{1W&@SX9zEI)|ZKj8l zq&VpZHXL$Ojo{X61XQySwJe}J8{h#0>3|^y8O{Lmix%3Ny3JCm5vt_(C_0 z0}#^Bm(&3`0JQ;*R?Q-HE>8ABCe;Q~Z2)zV)QfC`&mVdAm#Q89D@)#e`Mi?f{(7H( z^=A6~%`5uLRn7Z?~lWA|>dSG_zSO5h8 z4v9dKp%4JRkU<<{^H5~6(7E)CmRd$ud%^;1SYTU%ddU~+GN2oHKw2#YNLw=Tg|1T@ zh}_g$#{`~8w9^P!JPr~ZG{1#;1WIg{lmu=yG_t{Pnu#xTQ?&tVPo+k`uzFb?fC(t+ zQHsZ)PFmu`7fP5QVS7Szs>kFwIE1- zqgZLlUkDGK8)!k`v=g2NmdW72XDc9v%$YD*Aj}bA%3S+YBiPUnw1_JUzEGFJY+(T* zwSmEtOjzI!@`WUPHaI6`rV%=1=*bHEjS{M2lcRgEvt9<1S`WmTeUr5T(QB5}0XTrb zXB0$9^np$|;JP?qJ6KQJfutSSq>6ORt0pXvut35BH|8&d{sNLh>X>l>K{2!f7P5f? zy)j^$s1)KHmih+IHn70fcisXIbQ#c1JYc9~1R2RFH%+yHJ6Rim@`Bw&R?|6n6g zCD1zaisXVT;R_MlZzsOc4PpX8d(E;s1QU=RmsBy9`jLH5zEEmWywzD8k%S90L?CmJT zVBwWJpW!e2Te@zGO&?W$Je*u{8ZoX}rupmcvz7~=m&9dCdC={M^O=bXed#PAFc}5f zPB>uOSbs#_05`p6Ngaj*DC3+af1&H+fUULD_rL<*kHUD~tvTU=2mf;N?R5O3p7sas zpX0%APsjTE!Bqd2^S2kTF3jkMx6gn5?%k7bf1Levb{{LQvvlDipf7eY8HX~A!@!3K zphmA_6VlX^EO`vI^c)EfeA0M8t6T{S6hK21LKZQgv5sciAetef%!|6g>haVE;&blD z@W(7npz-<-@a-JU2c*?B+W@9NjMp z1eNh2s8kPq0D1@s@F&vw=TAy}^W>*z@wIjYt&z9Bau;x<%e~x$BT6wOuSsnxo9Ie+ zk*?%XS#m;g2EAK701$WWMW3 zyp+=uM(E$-$<$BFXVnFsQSPGd(@H2hz%$&UXGESt>&)=1sn=as$bx;)LYWW>+X2z+ zH1XqVG_8h%`nl)z{vrTw;=Bewe^R1(tadP$)>go4+7q1_w9w0-zF1mr;&Nh29wFnn zdN&WwV~!qOmWI(Yqw5U7Fnde@>~XuT<+nXQ--phWAj=T<^cVK{?3V`#vfSHQN9ZV+ zIICWTL5#RDsI}WE7Hlw&@j z;-VTT)kzkVP6J1w1`5Bnh${3R#Z9k+m$SU?t+=vV`Z7P{d;eGn-MvgEKC0)FE+m?L zf-G>Av@-I=mG>4|Oh_>tQ!2g0?u!X^7 zkQi=#g*|sF@F_^~QjY>6*CrJA)MS=2Z<1SQ|8^V!ohmY zd_N2>5JI>y$<6iJc%e<3Ojw~mNs8@ul-n`RN?0MeIHCO1MND<=Io5#D4%)Hn;j24@ z6;Q@7TqzaBd`ON8iRRA?{onEueW7zpDfHYJ=R3s6(oTD4kmRM@A|dJld~zOCMs4AU zw=kwMQ5k(V%NwoN?ShTfrNKnQFF-q9~$ZS{~r#fVO%;e z{g+I>MF#WZld*Q6%PyopsPLjl^^JbQEF|VcuNUtn%#tum!YnuDJS#lf>RO&>)G08D z84J*tgRjkVMG^Pt(%I;TdWSHJ3Cw^%kMPEdSh2ws8Le#w3Iqp98r=b8yrSd9EZ2PT zF3?MtJK9DsXw8dWTrpRF1H`Q63geG$rl?o6^ul&BAGP+c#$re6PA#z6?h7+@9G#pIAgJA(8=)M2^```CsvI_t26o0M^ zV)6ao@uw=9jo)X^ebdRcY4=!nIngk6XU(bpSO4GjKlgH0I2Qzjba@H?z@o$>FbA#8 z*uog6sK`~>Y}#CIyqi%S(i|zc38X&FcPkZ8{5FmyK6zD5uz58&LosT)7}%#X??Wg; z9J@G(i^coRY&o28UqBm2U{MY!4ZIlO%8*Ok&s-ZOvTEXGm&emN z{qK!iS&e+X4PESW^tY|Qd0F`2@-=*zJ9_=QHX2v2a8DmTX;hYR-0=sE+ls;q)6;LgMf$I*@e~g7 z%`%(xf3MGF3Y}N{d7M`L(ee!cj58Nkcj3lw;|Wj4v(S8WX;^;7udP^vo>CH{m~fB#pd(4-VEA(C}E2)kCR<bEuUxG-q5QrZ!rtj#BK*Nbs@A`k zm*O_AOA;imSuWtg-5kXgqf^hB`K&R8a@Sh?QhL~9WT50^A#m_xu5Oa7q>_nm{_v7 zf!tT4`r8&vuENyCMmL}PN}|NsG%V2K(o6J1_^7n2>kA6+mNe+%t6ivK+w_U>rGtM7 z>&@r;VQ}GiwSXHaaRup?S;}LtnJ3hcPy-BoQq8=q>OKSx0gQE8WlqHWz9cHMfhN>| zJ_;8tm&eqZ>Bdn*4lQ6^DTmz_$}1#jumw3-v9Lz4CFKl8g}YG0aoU)`lSP2*2fKUU2=R)#N^kWi$|1d=BO~h+;_vnm-d?2EhWJ^cn=@gfbe>uU=og`Bv?v<4W?B}f>p8R zx}hGrOeRUC^II>SgH0abjb$=oI6Bvs$b=aZImSX3c_EC>;gxykO6Q-uc%;i+Z70Gc zH5$GLxZNoccHQXbI1*uZRXoyof9ETy$6<+?tNGBIZ2g$**(XBSmPWXOPX4Lo0vZnd z;I1>tcag$x#h8uunkVgHu=R+I*>*oI7nGYs-Wa&EaDk2pDF2Q_?{zgOhOZ}4%+bdS zx2hYU#b9|7@#A!IX@f4#PxVn8TC&}vk}_>2;jt_;K<}xIkHVYS5ox{^90IrS6)s2V zO<(dv`A(GYMBYf`jo9L5cI&v6c(i7*3i4=C@N!nTFcL@-ZfzQ2PWoNC zU@j|BO)>Pt>%J3i{Rol+0z>ioNqZP>JzmYhE|tv9gVtSVvP~VIbOx!!no6vx#QKPQ zmrAT-H|YH_L+tvp`rj{uJD`i^Ist znjGqwJ6K}r8|z;X#h4Q z!fhYEyWuH*B&uX;dd*xv03swWZy(M+fV*JJMGHRO2`eP5kg!6+3JELR>(JWh_RCs1 z&50>WofXDG-$y~rv;@scVe%>b&}gO$V#Gn0Sh7vn!}4hfU1BFR6OH&uv>4n%>#_CZ$*O)4YZ@BQCR_^1g56V zAtEn%W~3~oG?Ln27Q=s+HOO0U+4c0thu_UrfjH8PqvbL_>EyJ&a^o%vES}n98oM{1 z-HhAj-mJFU&N_zq*z~hA?T*sy^PwvqxN|q~Vf?`P-@~A2?9ZPJhvzHr`CE9lte@H? z@9Xm%jUEW+M9Y5OKIe6t>=7ltaa%746=Pms`25a8dUe1_w6BB3(}($EZu#jc0vDm zyU&fx>pi;2)Bzg0ty;V@Zp~(3<9xPdFVWR7 z(hI#iKd=4qI}j55OE(yV^9e@c`%#$pPQ@6{75Vi*%?fwy z-@SYC?T@pc&hBHtu5=+=_cyqx+n!Fwp$y}I`avA|(d$Uhu9Fe?uavv^VNSQ-H>{iH zZo~YyfMs0(=OuHzq};f;1Ii7eU@qV|8Ylz;0#oE=8KQh9b5NLcFd^8TedTVYLqrwd z2Jh2|`C3`~ZtuPYDXPn$w$lfZIK~OZLnoyVHqdXk;m61wtnj~l0X9PPSpmHZ0kO9fua1aZiXy^xa>4i*UZnh_=IdDy%W;h7{3FXxb@$jqmeCoLna{ zZw^g$ANzx1`L)A#8iD@$4j7GP2wo3|EsQ4|e1CLRM>*d)nZZI7ovf&rE)S47NR6La z?zCCbZzpuuer_4@b%@s6yB%GO-c0fXV|0oBlkBKd@S|CNUipVl8dCMGM(XWzS&P@J zQMTg1E-BL~WKSV`YSWyO@X0=@Lk05oCDB}QtrdZCl6VN|q@bBo%4Gq~Pw|G0nwgju z-bx_+976VMya5-ndzYbY#qLyqf6Y~5@(s%si|raW;h-SCb^LCje0#T6Kradw;F&Ga zQJ9wyg9e(R>61XT6ao)9Lr3(uybcKHTR(b8SifuMBMa_nuUQ3$1@|U`UdxX;0l&^d zob)%9dAG;2xqM!0LH@dOa`SX|3JDViNEjetfP?`O2DlR#z$(}x*@9$R*a8-++Q398 zw;3Y^hy;ZRxxQnzNSd*NXlNdVkLD?=Kp}!spHXAA5ikkKX}qH2w?+D}@8tzD>2kx{ z$b^AWLPR17ts|2Udw&iBEth|KBR1;>V6Hwy3(VwBDyGoGw$uhS2?Em{lXIVWil+sS z#yjCa)1@m<;1FQbekY_1U8V%?mnuo96OrO7bMSq$6px!;MUVQiLr|0GOvU)Q} zehqiSuYqePoCy#)SPKVQEfpA204BOrWv~Uy1(jF^TgxrS>(`Lr*4k@)VKkSK1>EX# z)7x+>a(%c+MzslU-C4M`1rFUtOL%~sW-%QKax`a>-JN>Uao3MhRVY=3QdKBbg;G`M zPE>_FDH%01z+*F3g>qQzTNPAhX<P=a3e zV7Q6kaBW412~h^leQv4G1HjiOQWdH(BsxZSxQ#9FL0})MHA&#(Q1F52v(UFZdm9tW zD?M{tn{g=^#C+0PlYhGl9lvIOnCWMbO`~bSyrE|P~ zMP?qEzDEUyJIiTYvCdl$J&eFLYGJa1f%9cb=BidV?IArF7E9!t*>cdG@hs=WArr=t7|T&y%PrnE z6n#)k&ZGz>Z+^EN4+rqUDjq)hVmK(Pv)SCaX=TK}>yCdNcLZs9sa0tXxIBsXQKNkW z$<%1lUnyexbw`RKj3@m)W4+#fU~OLZcU|b^?RQ<(hnX?gzsdU=Xngq=_i5QdV}qHx zm{GTIYc|dV`m43a#&*pU&i2pCtud;>+1+Rkv3kBQPPzZD2l3QnRrzVWuti6REqycM zUHb3c&)CgY8b|z;J+v!Gyp-EsVC`GCydSr)Y*uFzpLlCaX8nn_+GyWwYj3%{xV6Xo z<*9ni^Q(P58|&;CX4H-sP8|8T%8zwc?Ktg?S-9;zSwFQGyFVF@r}0vS;PGZO&%2FJ z!yx+7e2v>V#T0({B<@hU^GTRbzVi_2HgMT_ICxYIV7607B{F`AH|ccfhv#t*{CVa_ z_;>swPK__C$#h)h(1R^wtuI6AX6NyY;zsSKFFri#yV5@6OE+ZmXV%Gr+!qwBcC+q{AXjeJO4V~oy}L{<{t6B9_yOgagp(qZ~MK6Q`^3fMwb_G1(Yy` zo7lqvT+4=oVzm?pvx_{8zc1@sSAWbF3vu4rZ1Hwl-o<0RO?zJ}%kXW3AX;D9|HP}t z!>ZlSto~-T%c`>*qQSdKbR@kdrj`&^uJ~Ej0lVDF%{rj4mY{8} zj;4Ld7<%Es+$qjUb-*xvJskhuzdTwy>VV_9)+%3B?G7tEZOJt(q1#%za4jp@NT)P z%i0ZM4lNecsjcQJ4@oEPn2pCiIy+ALQugmW|9VR?wjQX(?i(Xj6<6d|<6YaELdDFx zyUE3vslf%TC%%wQ#D~|)I<^<#)?^tDFYzb-b~|N;4_Wi&M&fPPdG1Ud-3BR~z_7m# zZa%quQ2V)ld%W=Wxvaf|w-?h>iYTRsQi>?0h*FB^PNawggP~3UIh=!gh!he2WgL?k z4W2lyxG-|3qV-k`MEBCfjrJu8)Wjz0D3O#Uu82$gXW*WRA{cLSBt(v%CVq{V??STL z<*v4}MKFf}cOvy2n5?tLuW=LRJm%qS?8AN%dF%KwSGT{BSbMh?nOrHMcqsBLFoz~$ zA~4v3X_}$WJj)AD3YtfOzyW0P){h=SDBrd7dyvXC`jvz{2V)vb8l>_RK7i+Z9vj3Pzc&Xwm152PIeo|gSp@XW9ZVTa!|Bku!eq(Ftn9Ky21un z3+4PW-Tbg59$@3EY61cj5=zm|Xu(wfX;jo?tLD_UkjIH}UKM!rz?am&wb!auXsV=VCB<8m5sg zRx?dvvac9kxN7hi!i0aJtH*hB%oTMUAH+S&KZ*tMe)U~%&cW~b^Wm&O+uWXehmNta z0}}T5v(BJg$?|W_iMZQ#O2>Wg!)We_)q0{Vzr*sI%<{SY6jGVX_I)4Qxr(S>^SU_z zz%$b0Qb>8slJ3DgalWI|;?4V2Z9kv22g%a#BDLV2j@EkALEJDN*0BHk^N0uve{^WDRw8oySIww9{y9V@aQ*Il00)pl8i8zdzM8hl!=a>TlpQw z3El%|oGNr!D2wP(%BjnsT(?;%g=fAH#3+v|I)3ne&}(-A+q>M)7HpSR;vtxvrY^zu zgN7dyYJp1j1NN;)#t~W}c3U;Neb*Ln_k~kM9=nVL9WAiEhsj)7WKPqfT4*~C29pF6xJPaGW4kgJXm*A)QAhMkKkjX+@^fhwY=ongc2Jq{lYy-k>0k&@+ ztQ`?|bDG-#J9kddKzZhK2&;wA@i{Ny24G6=y(5O${4!v_5;<-?t>)(!AQ}G|;qf(f z;vJBFh<3|>_5_bCJl-`hzlP*pDne;#p?tTtIi*SPvvDJSW%z%z*nIcU5xEieq*zU*iJwcP0lj+!%W#vz%!xMBehbpHT z@eQKDN)k7zlb?|R@}nD^EpFKV*X)L$LOP}PCD`1Av5YNP3G;(AZ8V>ZLs`9P?);Vm zUA37*9%ND{Z?J!TRm=0QhH;9;!@_W*&h}K};MWG>;h+}RU<>4CV(zCk0e_$6;l=bk z9zP!7PR_!OYdF%W7|$|uqbeG_hw;f@G3bB0!MTar2p+;nk=FP5re`PFH#=(rWHA?= zE|O0>pPlt8_!)16hl2;h*`T;9lXu(o^>+6 zkH31>+>VXs>*BF@?WgPI18jR_{#=cxGk5-Yp2KWTW9@m}d7n3r(x1Zo-FhiUH(}#h*3a9G2l1^va~E@LZGLZi%q}*&G!^5; zEKhtD%qoc|>%M?t>w`7M1mDl5pHNV+aWzLbAM5wo$wI}yJuCq5N)f^(T!y>48<^EY z`Y_r@d{VP{#}(bx8NIli<@4*3I%4s-`-s8r;wSbzcsI`T((|{TY0C>(e*ly1`GhOy zZSw-%cw!xWMqw)`+kP!aH&>U@z~%#Zc~g&cRxT#*rRjKRIB;n;?zD!vf7Co8*=y=w zpBRq_ex%dzEV`9VmX(^DXAiBP#kLAY{rxnaWzzj5-A~f}B;8Na{oD!aP^m$h=a2(% z5)HeRE;GwGytP4~&lyFVVD3v z^m573Q9+d8{^e4$EcYZAoO5puZ4d*!NgmsjUt&_E$|8z^<>shq>S`;9vbgK4&L zn#<-P39lx+n(%7Es|l~(3B1Z238K*G_GdVRAp|imB*NeWmX_cfrbr%L9qtfbEjWeq z211{_uu!iP4V%`&`OHI}?TQe%_6%2aym<9}-o6Xu+U2&kkt?j=fn4M0+yHWIE;Ihv zZrrxm2>53qC3#ptM)p1}$-3FMzt3I3H7(9|xA0}x4|E!kR+JdSuBCFN9wJECh$qkl zXfFjc0q}D$xy3?91Gz#wPhsVN-&*eUxE6)3luOCuxp8Ih;do)Q_G zFvOLYpp5vyT^M%Gzq#V#5{#LIX@W7))H-@WCB;5VFebs61Y_<5j4>fFFNw;Ck9K<= zEs#y_MMetGOd)cS>pKQx6yXM$`H)!@9$?-iOQ@C6y&78OP{3-ca5idq?;woX^X6SZ zm@c<;3xvT#TN)d~I|N?m2)7;%%HjB;mPNXAe7=ax>(0dUp!eR&M`~?@C((Edjf(dM z#_`AQ6olDx2iC^m_TWpQAkZfTS5v8YVKl-lR50=zzS04)syo6i1;F^=pfE zI}w-+@^bT|@FrsF`Bui(TP65{B!f!uWsu-Yf-iRhzK~LCL^~EC00GgCz$=U>cNZmq&R2xrxx$&O;1Rxne4f6}y)ieZI^hwRyK{C3@z^nP(s4Pvux#L2H> zT-7?v#uhlvUdQmy9>R3Ftt|)xb2-I{i1v#K!t9LQ6NI_M4Qegd&efY(>VT{C3=!L^ z_Jcykc!$IB;;XpdHiP4B&yJ2|5YcOwqh9eTAYYko`EHSD;m55fr5p9JR^8ra% zq5$KuDytAj1}yR1qJ>N5goeT+CY@ohhvvW3BQYze4k0Q$Mzbms6)1rY@hvy;Ye8*GjBsGa`pLalVqiKD2ZH^5Jf^1Zw8N2b>dD`C(s8&OBu>62m>ZLgJE-y z9&#B8P{>AAG*z+V;T@|^eBLcly4=%Sh7wI^fththc6+fA($NcI*9{3ot{3^NPIEVg zxbn!IhNC~&79Pel{8H{wkJ4RliPBUx^I?H%=DpZQAWoIFJ_CC?Zd_^|fxS=vduuO( zRWl4=N~GYXRj8%&apOxyaqGT?us=Mw^TQs?#DzKC+Gd-U&Fh^Wik(dtqKEBhyz*6S zx-@JUqi;5zxXM0vx1VIk1`i)#WDja&ur`KQUDw)Xn?rrMals*jU3&~Ho@k%T8t&fSe0k0TIX|x}8XbaA|I!Tx;XKm% zzQ+S_o}q~Bb5~u|m18%H)s6+_@4^k>5^;g52|Dni4evVr4==F94{WLr7dv~QUes-s zSKUzK$d6vf#66lD*Oeu3hlvI=66$6&BNr;R^vgp)lft^;Q>pX1omstks_DT@WzoEI znEw_%uM+}K2po&5!^3Yjt+3%2FMei^zI*W7OY-#j8H%yrJb3uv{(US+G)=To;`=k@ckj6>0um#7 z7M?B9bTPbe)gWHrzg!;9BP7S4l{^ps@n;QQXZd;MA3lkIdk**?)d5qp!>v_EkF91nhbI@aG0ruw&>zrA>MVMaf^eg5lr@1A`7&gbOsQ0lanYkz;ZGCeU}zS=vXN2Pz2ffgUht^6%8X<5atr?l57W{F^6YlDh4s?@OJ7qKakQ|MDf&|`_0 zm^=wXc$cVHQH{Nu50z>W@ROH){BJX#Kbei2vcS%QKu3}L8LXcM>m>%P&1&R|BGn=e zunLF+c!^x*zp~`rm(MHt?XUOwS8t}z-@Kx~Ony-B9#=2EOSK3PNc(rmUO`A<(HSRG zKnyT%6*O~R2>3F~AahD`W$vK8!e@dbbcdVQ!VyF;3xb-CVJ@KINA{Fn2BB9*)d@$; zGr}yFy2P?njoIliW zEr;mjl{<&27~BL;URCboiXVRX`0MXaPp)-Co(+Ew3lG%O#RQqg4^PVR@Z!Wf2rf=u zSJRis(v@S-W=^W|WDtCqOx*Zw@BOa&`*^WzKCwf4E=iZAZ0|$}J z$-QpMjgx!P^D92nPWH1j{``Pf@UP+U_jm=E*e9bQ!1=Ut=gkn}KgJM0o_@feyIX_v z^>Bt%uUH$HW=KBd99qNxCzDa|@SXD~&0LN@{$YP;3iKFnc5AVmV;0Ote?N(-s>!5Y zU=NGall(8gPtG6a|Mj~wzvORz{OPTE^{=<;pO3%Q)w^HJH^ZNwJRH6Kdh!HMmx1`l zU;d6jrCx7q2l(~7pU1*KJA32ES6}|hzB~IPT!^2(ee-aV|JQ@!$H#-we+}~UZ(n~s z`05|4$NmMFh?8k=REc;aFG#c)toXR~oU{ibSvdNM_$wc%{~5BTo={R9u;s(ky8 zXX9D;`-z8c_aBdkgRq>t`wlsmbWZS00?YVybC?VF<{zANJO)yRZ{l(}`O8%o@)aJD zGdv+rn$1t#8A#BR>B(1*f5y9Q&X7JmiI>swcgJBGpF23$7xAw+g@1^@pFk|~`>-ru zl<*ZAj{iY==I`|;&FBBHtIL{=&(Euz;}r$jU+qFP8V=7f=yj+PM|==opTwqjPfu3c zocxvkE&l3K{O8_*qZr?F%k$oO;Ki$Q+uo;;+Me9|=BsBX*GZCNRO>!2lm05bgyF5u zUV>3j*Lq^4fNz)Q-H$gUO#Xj2sxr)>Ni`h&16})MM$l1+{=ffES)HT$|Brg#WoN(t z#mHH}zvk`zNXE=F%KsO?&l&zD$*=gz4GR1lipZ5j2>%`az`y<%gS2PAR0x~Zqu!@I zdM~yZJlQs*<5<2x%mJAaZdp^dI{E3xe_RVb0o`ZE zYp>4c@pJhHPVmoPe!`1CyC2)E{{=rWk52o%2Nv+jU;k^~Nh5>fC?!48ql(%8!`{0# zw{c|IqJKr9FL&lf7m)7> z0j_SqVbip6cLe8N9+zN}D{ zzUlXy=f(cqm91?4|Cays`K@oO^Jz6-(Q5I4sz!DBh(7I>KEDC>=s0$D!La3H+hkj; z>XI<^Bu#S9^~DO6O0O!Tzw%L=tNg#7KmtC&!{~os&5%UaXXlDD#^tO!3**x(sKLvp z=5h7o%N^S;Z&$_CJ=0K(+0PR^{Xnqz8e1{*L{BLA8@>vAGy9q zG{#fz6iH_&}HpYJd39cQES z(F}L5BFn?QyMpKcYQ~Enhq^sxTzTLBbJq%>jr*d=NTJtILNe%oLG(xRo3jmSDIJ+{ zAp3i@>j~XnQ}f*i4k)|4vFu;GeD&kYlTxK|(MB*!2*mz&@}Yh;G~4a1?q!($=?U{s zKF>sg8u&7S<_>)j>8;vSUdcjXDxE5Bnef@baMZUcBp{{CHm7tC!p0pHi>pI=B&cjJt|lqB_-s17 zwllcZqki+@-1|AWWX<+j;P3f)VFP{0g&bkN7H(}PhT*-FS`v?vN zzSwe?Zzk2=RQOz1W4+dAxOu{?ZQmJ_2jO*{Vqvf(q}ccxtV|1sq6TVO zF(%)=_kCvOy+36upZ4VydJV8hD$JV>!T0*bvh4@VEJHaj^k8wl^c|vOBZaOVxVD~~ zdmW~WB(RtX=f_dr6WInfn0s>(%eKutx*mfhFc8S`V|o!T2N#pm;csZ26U&xD z%vx*6Ys1L7KB2AtdS$tEd~SO3uM2aypCw0`8Lff+o}d4SShkEc+4_V~cwmGQIiTS9 zp24rE&pgZ0Kx=f$C=d?hU8^_0voL!3%XhG zOXHolo>9Sn(ae@mqtj-;aV~S00w3FU8rdDxv$-o>HCzMwjLeBwTpRTI4SM|%W4Ee_ zIUpg#)KV5*;~h%*W$Cy7-Y&)h$JNm1X0SNt_bJ-h0J#N)qxG1I_UrM`YCv-w^*hA& zpx0mD!@9^B=gfhY8K38Pb&4~7-t}%nmMOW2th*0sr;=R;lE6T~UxtAl)|4(yZ?el+ zUbkmCBZYWL4j+~79iBfUoddDfcg39smG3pMtvX7MH!bwxcEa6dQr7>DNWRe_CdyNc#C@}pB6s_6jl+nxus_Su~;vU=^q^M?R87MJ55a6=T=J;$AVR5OCk!9EuL5Wx-E z@@(H;mZqNO!U6%eKia71Xly`ZgIYu%tU)u@f;OsI84W{KLJ*MCC(p;}E#fXK^>-hG0fp1OGgN8#_h_yUUPcg&Vq7 zp-DQz=Gg*n;QFf~tQ`>RYmn({6*KmZLxwH2W2Z{rIUQN2gwLlIpB&s^Y_PZ-_kbHP z`8F7DaC5(&e|MBCEay_kG1AzkUnWh$S~*SFVr?;cwtu zJyz}DkwsbY3(zh`zvud|#UK&)o}EQ^my*O`>%*gHs^~OYNPq_*_1UIkNhi4fG_FzQ zGP=WXVp;m_zqdz7N#d{!Lebuy^ZOL-aQ$b;D)WF;S{3x|#V3u9O&K3Mj==#aN*E*ujelkqV2%@lQT}cy;E$Ub z%*jWEJKp-l0|s4N3~j+k*Dro({t!P=Zm_ss_QM9u7|X09Z14fF!S2D`;kbb03O|c) zPJe#>{C@}&z>I(TdW4(e1}&@Sw1DIagb4@})OlrJj^{QmrnXjHVFH`EkQ%aMq-rEk z8N986Os1-%Y0&1ks9Fk@fiS@uCfND>TjGH}i`&5iS~?@GBRsGR59~Y)IByT`{jb;Z zTT0xWV}SMTJ6IqZ?|JsB(v1Rt$UC_HM+k)!SVT_igvr_+Cjx&Q7WkCp3V<7Wu(%w1 z!wt+YAXfm~gRd;X4T2jkR@N&#TNAUD6B;x@+}%}qHfWoNxJiw|43Fly5CJw8MVl~= z&E}6X$rTW*nu-xitKRr!z90hD&8+<3Fpxl$BBB)Gj3SpKTtW9hDS`)!Vj46EQ7iZ> z`l!L2hCK^c(XnWQ<%;0OT0T)PS?&^U^jX{uxKXU{F@a!?)X^U=+^98&XFu~5i^5l` zF}5U-#Hx0YWzCcHDd6&7%_}yuNA>|bD`%YpxJVt)0^sy%!42UCi_38zxPf#9rJZq} z;0D1Bf*Y?dYDA|aDm0Igca{i z=XApg)35}~3=_P;0~QkLP;*%^&ESnDSOYsQ>^#AZYdY1+aB0h^Y4zHNCsT1gm|u>2 zpbZJM!Gy7zh8rIu-*Wd5lekor;YP!aGWH>~@t!n>(8esBy_?Pk2z5j~@$mW1Ic1$} zQWb>JKpP4`BVeRaMJb}Q3f%=)RJ?>X4nZ4z7IzbEXlWn`wYm`N32l6wXd{|z(7uZ> zU(zrsK#myNd39Z77{VHBTvTneH=&IOMjPxz%faGu+yid#5*@9Xw~s11dMU_14lkw- z#vtAHa5&v6vZZWj%7!M7*EG497CHn9>*1#CoTeD}KE;qK!Htj!(8U`}EJe)VZv<6k zB~qg;uaj#CSDbwvZpRgKjdq{K+{6(|L6o8A3EYGu_QDZ3FAttl6x8+s{FfLH#x@}r zdsbXN4J?vl02?Z3279v<1o(*fRd+xL%W`l3y*)zzC3d3JU~#_hQK-Xdm0QofQp7?c z780?Lh=ugjm;r3)2izO{DSqe+FP<0YlQ4er{Y~=j+xyzYLVES%PtCV_^mhC;`)X8V zq8rMW+t-ik_xrEk9sJ^*j1}^oL5SdtRlcslI7}!^B1QyR6AS53(Sz)AJ^eV0t{L>+Q!#A$p)Bow*RJ5^e`CA;VZ;IHhDWTz=vEkICtAD(>=4|z3)~QVu(%xefE&^e;L~h5Imk{3 zZV=p<5!@iSL2%>gs7$g3|C~><{_AxPXS3G{aSLm*gpJ`$Pl)!2;6`ptP72J5;+=q$ zIGD$JF3@Pr(R-c2+s~Qc#!hz9cDT`JaW~-x)6iE7XG!(&@me|=CgBx}EXKw``k->) z@KI|-C5^(7&t5leG$X-{>v7adN4;eXw|Wf&3(VVI&cf^p&N0^;Z<|l`n{F^YSX_>K zz>ShX&6#DAxKzZYqTvRi4MH1)HVAEiJ)pFOUo0?2cCgb{+VINx3_^jEHp*Hf%%YgR z(QxCC;YOdu-9Q@{ZE%fTV_z6-G~D<&ha1w!x{**EA(;fO%>Wk=Pr%4NLq1W%NeyA} z1>zIhxCRU>L~)O3L->+Rw5fRmJu{hIun zHYxf&yTBAqLE#jrc`2L%#l<~@Qy`p27zj10XsrUbUKQe$WXQskuyFF=E&IaZAZ)RQ zEw(=QmVp#~7IYI&Ag9-&6k#;I*fqV_y7V|dm+Ftb^%&T;L*d^k;wWA4RpH+%FLd&W zdnC+fpTR#w-UKqQk#6VVwyYh?5{DPRYPHe+RH$X?xBuQApWYhvw=jdnIlo8IUKmMW zmT{x0XkUo3_EtA-yMlN*p{Z!6qP?T5rJ`M;_rpN%$edM~r(8S5ZO$b;=<=!!*MPQF zN-El^Xur3J2X0v-L3yZLQhSo}Oa(}({oA>3W zt7tq*6{F&voJ}bXdN!hbHgZPVDNT6z#DvC5__M>1ktYW8c42)L1*#4an}&hl<7!?! zdOo?1`+-ltWeMMBSvw^>C_GL|c~725i*H!)!p)vY%QvATx2%uv$rI_o1JJ9Gzwxts zEk?IG>vrIqln|&62Y@I_CPMPAa;Wd2NRGI?YQ{t^NUcXPf8)NcO2XZTue-;`*@c&b z#TBqeL60uHcfvdWsF?c8`N{p2^Lz2)sEDT`o{D%X;>q5$hramXi})N}Eg1yBV9k_y zKmHah$oW<%i9*A}c8CPP8y)ygB+s&R@3WX&N_U09hq6y;@zq>HbUi{Ys5% zWbsgR83y;?6pgMFOZXq}GzM4<>=}nvd?PX_Xm@lDT9$jalE8o)X7POAR|&!;LPk3u>JyTI!!VD+ znQImVrj0v%9dWq-^)y_;`*1S)y$uQ}4nZN!Mi*lcK08;>@`QPr)74}&d)Fq3908YR zV}HtxZL=LQo}N+@o(g&@=&7Kmg8oqy^tClmts2NyYYQ5@!Q4MUXjdgC8_seQqyHpn z@EbK>zh~dFobR)!o8>&1@LX|7g-cQS$5Y{#mHL(*Y^NY8kMxJ-(ezt>tlV-pZ*I!p zdSJ`i@1zxNug|(gJ$FeZ=)WtG1d_zE6o_1_EwtfYiJ)uCRl&;p7xf#f(W6a&>z6)C zRtvTU!1{mOf0yyA`@V|jnmtYk|b-2JufZ`!GC)jjKk_~FKIpyc)Q9IsAs_NTLe zn4A_6UDZHC#rArNp7?nfhtqtX$Fo7YnB>84qj7!l+jKC_vmrJcO|i}D&C}WRy*KnR zzGy!s%53nTYA)d^rC~!-Dw6`1^D^ z$xWW*aYD-B(=uxfqYM1)XYtMH&(EL#PtfmXlOODCI1c|k8UOlnV!s{F?5|P2JAZTT zF28^G)8D@O{kt!Jxcc$***?GeJd@l03He`=|0Vff;%;MuNs&ePUmA;IL=?6FSn|b> z&*^}WAw^`HtKDRq?QZ*h7PnjPE60>H2KV%PsP`Ao`SQzdE^wD`y8n9rZe>WHy8ou% za9w@%TAPkIcWrwt+p3svyTf&cB~gvo+8p5tr9yz(yhfK_HVTHAu!w?k7Qc11(f*D$ z*T20Fv3~a&Tw?(wK40d^Y?RyLY)<3(?4m9;%$i5#{O4ci=@iu(Ui$mrpZ<`i7gtDo zdeUY_PtoKajZdG9rcXxW@}pBgwCMovD}brX4qE%{&WXBut!(*Wxj}#%i_398xPc&H zZjXAHfGF=-eih=`gUWH&_hK8gXkVX|y`=d8%@1gPK=T8dA3TcrK?4duGs#!U2QU|8 zf?uD3&o{>6bzO&sqZx-1=aVG_^?&d!hX;LDvpERec&`4W37kpDk6J#zBu?I%j^6UD5f}1zn zTA*Ju^tXKX>lgo!5`A%!?@^+Q;&y4Q@JH!(xm^13(HrMlpTgTZRjpmzvR3c2q@7ybdW9HPOT7JJRDZzY z?^UdKN~?Y)dv~)=;VyNOg~wAl8EP2F2GDy1IQy1yV`3~C+;WKbDBL^0bf5D5rj3uR zh_}$-ma~7q8r};l7(413{_-lGjna$np4D}ka6D+Yy}K`Kce2rC)r7dPzOMv$FOpeJ zZFg$BQ!P(zcWS%$fC>-qo#PU3ta1i+^}5jZnW#cQ+nsSPd~F+-;wRm9Ki~r_z?O3g#2u|%g+Cl^ z`e-xTvnk*CrTf(OH*I`mwY?ZDu7W*_dkqUJb=1ZE*+rOm{uyp6i%lO@pfdE_li_daXcDc!-}MfstqbYE}B_gVG5YW4R%uwR}2 z{wAFoJqYDW3Pe?BfpKfD>k64esRCn$Mdu*uOMA*|-}{C8)aTnaJhIxHBPzB%&G)R$ zAyIIAX|Z!uZaGUaLwFNLXCaQxFkOC`XAe=H-?%Glscjp(N##0~>vLhTFhrsOHH4C< zD0%7;Bv0v@<=iA&HLOA7T^m+8>v+Y5YY;vKm96|F4KVNW2wax$eb#ofd{@pIuzQ^> zHRT`Qd0%|Z+Y8v`n@|ESS>>%9bO_Pns)U*j`?w7bmmhEn68YtHcs;qlHMD-C*q9Fc z6e8Dqd$W7aO^3PHf($oztLvE)MWa)rRAoZ~8s@Hn5oWMe3c()_N$~6g6taw4Qr!xK{o*%o_nf@3^ypK{-}=eDmSg))b&LAYz{1`K zq(pezfUG7l;&Q;uHJI`+$dL&&`hG?It^3@kvhVW&M^@gO!Qy(@qrB&kz2Y)Ldt$NC zQI+>Q;1$e$5&#}%&<_Zh7lPMy#5&D0>e^G+p1St&*NpHAD(>Hozb3l;qoB*1$PCwY zQ@OyQ)no9h@f>AHj4sMr)`ppKWBcStHa9+rcRc=<^?jdp?bP?$NJwCrE;S}~>@UtQ zVbIrUjl%$YiVU&p#sZ{IiGS1Ky}i1>aVr$YtHyiVCT_SCQq&$ga&FMA=cmQ`7I*_Q=Y4Jy@Ln`<3(F39XK?m|r5Qn=}gdSl74$#;)O@Q)RM6w1coYS_)iwqm6&i^KIkd7A^g4wqLKLfXGTyM} zQ!ME3@C01e^nI4LThoI@&lxKdl6$D>7vJ*sGIsfUQiUf@ei&LLt)wFY{ddD2oU-D&$xpI6}6=uoW7(*|`43eeF}(@7nn2O8doCuwQ9^ z#GU%(0a$Y|T^+akYtnDqi?u6hMY?JCl1$_`jO<7QyJpkb(>0JZu%v-SDNN3ks3_j# z0+soIwH9F)lSw{nL(JO_pt2efM#cIrrxGiLfGMAyuQXC+eFHc67;1b*omT^Bd=`Gt zcG^D=v(SD@jp9NY*k4^RO=b~m7y!ooh0kru9Ev%DTLK+L+ybexhwWnXr z+WxI7zWw%cvDuN;=xVSy$@i<#kGB239DckRO=j!)bz6eL?yq3KX{WYbKNKnp-!KZ5 zr7rvhb>XQCe?A>PB1d_hV^Fc-u*pMg4d(yIlXcEjwMG`)T;rlFZ zr-TP>-Z`ra>*5~z@Qd$xdjY$A)BX41?{paOrIy;;-E!EQtFK;bvsb9BOO7X%WW|*) zF(Zgw^TEi9vCQBZRV(g$*7`TC&z9QpmeRlXr{Dzmv_fT>7%VQw{lJFQ#gpnN4KaHk z?E9qs+_X~!H>`)ff6H=tOQatn{j3Kt5!`r1aN}{o4JA?gFwH8dVEd;MQmmXaO_j7y zKIM>%D&`=c+?e1_&%Y(y=(D(+a6c>6>tNRWz^VQre6ZE|b^xuJ&qlo~N^LUWz#k zNG)u~D&}7?eIne6GK0nC*c)!R6Ah)XXGR{kQutA7m&)-GU zji;HW8w589Zj2rm++bWASd63Iu{l6AtXLHrgyy0U0_8MGxYQI4E5VKQdNfAfWv_PI z5^nTa+)cQ_IRaO;xv!M1MZLPMAp3fhCKuB}6I#BBrW=1<6tJDO*=xF?0+S)78p0kR z4dppPsx5TImI=X}FiqVQkqN<#YsBy@rF=Qdg=g784y)I2e!_kB3lSAPcbFP?Z z;I0rG8(Usy`*xBvBLHN$$ao{TL2%=d!3~Gx0MBdaACf}lBWu77gnw0uE3TT>7QOH~ z2yPq#H~K8@2Hap?Da0vLw7`2nr&G-LLVY-IkCRL#V(pZLbV=3@R~|}JJYY>kQ(apV zvky@evN>|;cbx-frf_!FN(Orv ziKN$IJkDpO@clf;t5aNR^8&6w)NoZw;N`%A;0D2sp6cz>(VILThx0N{eQ^%&d7M_G z%TU)v$ZE_$NHqXS7Jo|rcKwY{zQ4kA>h%aez7@r7W+oHdAh_|!;09xnWyPDSF&f^D zOz0{E{Ev*$n_!HnrN?DJaN`iT(Pwct;Rc-W(dsdp$W&`{m5&T=lxwXq7ETEs9tTQb z&Jldz1?{Ig@rKuNPs7yBGL6VoA7Z*;PqZ5>F2_CK1_POj3xXO1HC(LVah=f1W3WyW zx~a4UInQP;w9Q1MqR9q9jq7Pmfne|DNu)14`~CBuM*7RYJ(FL&o&EIo4gY!iz4`r{ z(Jx;S)Oci2!)P0#hKD3>f4Ne&&ajD>kck_GST&|}tv>1Wh0PkSSF3GFr0TP{n@|J3 zTGlb{EC3$qHf~~l^g0Y!!Q-541h3HXLg<L`~*KSl@2D<0{I&zkxcx3F4Tie zHtdNKgT>{z57b}-=>-z8k1`bErb}uIIwc|%O*Uw}xSMc8A&Qnc&Pu&WaO0-h=yAgh7Cq;UGF9U=E;<%~@x2%LAHy@tI;mK!;D|`| zz(gv0B1)iidpY)o8^9=l8(JyHk2+9#vynn@qt*Hlkt+Q6Wc=&PiT!pwv%f}y8$AnU zB2p3DV0wuEZlbaUX|4ywbAw0M^UQlhaKpiS3et^KiCROWm4&TBjFnWHEQqEN_bx^W2H=(D(+aD!|35_!kUOo`yeM+!Hz(y9i&@Iv9D!vL`g z1#>uUy|pPOnFGO%_l%_;giK{lv>q%j$35T%bQ_)tZoMP8L2!fM2Eh%28w59=(sbkG zY2*Q^8qkG%A8SPXMFauJB+zKhjrAP9@v&4s1UC+W8+{h{eYhdL_i&`LaKR{}*3urfBdt7-|!xT;fZ@?IrDOF7AiA?ptWGZvQ?O<^^_J$k4 zC~UyXOhnOiBN5ynxIu7(;0D1Bf*XJvXsu>1O{kbdthmyKmpKR0#u^7B)+93LM5YP{ z!i_$Qy9qZ8Qa6xC-1>nLnd;*tQ@NToK{cU*pcp2&37H!%2v#+?2$BBR)G8OWNpR!A z;Ra)a`Q^9=+Tevt<%(FGh8u)72yGDBAhbbfgU|-hM$HX3CDB-U2Nro!D12)CO(1x~ zN2g^SO13d^sSe>%^;z6av;n|}XfSUJ#v`=xaiWc&TE)% zS|<45);?L0a;+(L;|Qc1y3nE)mt$|Zp-(j61~mUhc!C=QHwbPJ+#t9?aD(7R;Zkwu zGKd|OQMP#Gq+Izrvnod&q%civJSoKw=2G=o+)cQ_6^z2PQ)Q+^(~XaFx)GIg(I!<% zU4u)N%XGtML~E+7voO+WPH^KW;09NN#pSpM+$cV{QbO%d(+!et1cDm`HwbPJ+#t9C zxM8x1M%B7A;xEYYj3L+yibvyTOs5B0Rwj zf*S-k2yUROYX(B90rv)f%DsINH2vay62?!yznbLf>k)pukt%&YN|TFeVHKx~^G;ax zMf^3V**wC!8RZGexloJfgEdu97ISmWOyx5NS%rh43(ADeZJ^WT)u_h1Ib%}(`Okm$ z-v0TyeO3q+d+oq9p(BRRxtiw5FQan`6{k?~I#1JNbU7PcjB#S%glc6NpNCm^F+by+ zvfAmYLADrp9o8dy%*V>3zbR~4+_|`$aKjjndjRJYD*o|mH#GiZ zymJ^N8o&*0Llv~mNZJ&-&NkV(V2Y+24?f)x1}0PO<=7i;sFKxTwdb5s>;}ONf*S-k z2yRSix( z!xd_~$>{em?=Im7=zg|+rmt6h(wq2+`7M6q6z`r6f18YE8N0CTUJj>MarGUh!#-bN zh<@$G)r8>2j>9&@GLOQnw3>0}x9IZ8!lN9=X7fk+?d9r6&bRNnwH2Mt!svWDET_a6 zf1ge#xyh3}PNg4R8rflVfxrDMzB&E*`Sbq?`rT~ugPje>;lC&2Utdn_x8s@pHOhDA zZ_eH2_wRoC+gHDT_vH^)Kb}6r#=U>_c_z3)aD(8+3Be8AZ5Wzx9uG&zR1@5AH6D90 z$XIbOtdb4cV9dpYg_HyEViMjI!IOhs^m;0D1Bf*S-k2yPTIm5i}A z&Y;z15xJpQ@>P@uB38#ZBLCn5Nz;w1L$w=y7IzbF2!?b;0q!^IO_GY=)QbIwn^xyx zI?Izvpdlz3T%6f(twEcnxpWDaJ=Rz63d!`kdflhlTMooU3TLC=bN$zFc2&BAdu{*k zHRRBCt7~|qT1*e&IUO@biqTdfF#NO5S&I<0Gb9y10_}!8QEafd9QT16Fv4Ym8$)n| z;0D1Bf*S-k2yPJEC~$)%hZ%ljDhA_QXg2~pIa8LE*0tugQPN?oOVf?7!$H%H9*esP zH<&`1;3ClvIM3Z5O3o?~X#--Yd zC|F_f5}E1{xY1{EH{b@E-h!c5Z%ccd;Ks)ZH-d1{Av(TFFbk;=v;w#h6ZGQJfVZ!G zj=qqq32r<%+yF0XemU-eHV_S{F(8%{Do)akU5Xo$ZaifwG7HfPl1^*%UJQqjE#_P? z(ZEzGHa4o#dJC7AqdKHwzf>NL`IottMHuLs$`3ZgByZ2prWfIIa4|U@{x%)rBGyCv zcW&b}dpBGtTc%f&g-6tl?od5H>2&lakJtUCuur4QP}gOT$(X9=DwYL&&uS}u;o0w> z|1{EH{_UCk;_d9Gw{Q5*)9=mi-;93w>eY`wHQ(yd+ws@zt5L~C-Z%+vH};x~<3^?F z-b)Es>jD)%|>|R zXTSVaeErq)UthDAKb^u+>@Uw>JbzZ?SZ`WyGd^IY6PGR~lYG`{09!%^Y7}Wq5S7b` z0Vl*_dFFhjO|-s|iN{b{fjf+;V2^`Br%u2a2DA>YLF;H-Qz7Y3)Qy4ve=MIuXyXvH z(Pwct(T0UcTzbb!lsln~j}vV)(1pWf8etop18soj54{w8aBEy{+Q^V1OE~<5HXayl zh!ZX0U)f%cd%z7q6l;VsR?%?d0}MCLM&qlu;WUqD*Stx-!JFjm6Ed8gwNK0*Pu}!8 zjK}$GipTG_@b8>U>+z6n<<*6C8LmnhQp%U<$#8fc#@K^%>;oK0CwcJOXk1_XHXV%f ztOX3y@VIaW{+;yhubp~U+?_lT=!H&lJ4CYj*5_sjH zcW?#g<^-qCkcCz?{F!6hQviaWeFFr#&V&DAT>p^&c?Cv7DUml>?s)adWbtxAO<|T# zFDCESKj2w?J{pgvvvSveQ)Vfh57~GJKBonx59^rH>p3`Vk=k_FXMsD=143fPlqFu( zF4cIiLxB_PIHepKCPp=jp^_MFfY9gxKb!{U2lR{*`f*Vot#TYRqz&fM%Pa7na=o4R zbp0Z(;SWlD0yYqX#r3iuHt?29bXy1;d;n~)TTj(K0}jFkpXYdWii?;q0l7%s6jaf( zAxxtP%E;J0?pn;JdUPx{CMiA7yhnryBFnIkf}%UZq89#{$Z&B96e!OD6j-gA6v?#q zP+51M#ofdM+8TxKr=>`~U3g%38FH*xK;|ak7}u3+1adI(uL>8Qs*D8E5|db@I|H$hnP83f!lhDqk3nRyt*};I)OT zHgTWc6L$A{1}=vXeHOR_It+u`Ee8{2@i;v{Nqg+8u%N0~q^nOA7Irn3>)S&JXcB`Gp1 z(;(YCBo1TVtcqKxFqPoZm39l68=bPMw%1m!pwJn&jnA)@WTvgI-2-%^yT z2&n6jM%OVz==E<8;%IkNA7@TOJDuq~$A*`ge?5;(qbYqgrQ6(eOA24mX-lxu_ zX7SRK|M>FNtM8t?Y==Zo%Jk^u2`sMuv+PVurM$)aN}LEbSX{GvKqKUqJ7KNVG?n=f z&}jGU^>A236fg=BTrhMl`Q&TxeSeN*kc8 zr!s_;C!fRXtDReT&FciitIE3wBAAEaotKTPI3fsylR`&c=tu-R)?mlB9(?CHxFmx0 zS>P`8fD+wXSy(^>J#K>@y$%Id@i^7!sllb!7+z%uq_331WymeBkbW(csFC^+O1#cd z!jG;v>n1)0pk_H~E@0rCHAK~e+&w_S}ePbnhq^|JJ zXbiFM7@|O=gU1eK#W(GpzaFK@#q<{3QEHskte~ClVUA#Q9YV#D2B}cQrgB!5@QtW} z-$RtFI3BMy`ews#dgrekE=#}t_ja*qDZG!z*p{2Y;+)^7XouiiqsuEL(TpAe&4`o@ zL@^?Y5mAi#WYgf`xG}gRiqXC~d)bAAA|zEvhJxq5w6O||H5eu^R$H0jIYl{p8|Jp# z=IJ+5jQT9_W^G?Gy1YOzaH%vg!Z`!;^u@Tjn4GtHP~i+eUskVwnOt05&P&6mO^B0G z8lPPjo$m4t-xV*>I!|_%kL8!`ENe>{yZq#~iaow|V&_n-Eyk;NMfr7YU9`J~&Trv> zSFBj4z1C;=W;B^yt(`Dy+jkIvOIg4Ll|g3>k2lD!GkghfEjA6VKB;S+Jmu|OwJy4E z!r9e^fo|tyT`4OHY`Kb<9&AK%Y&(Me1l3Fp7MJ86&;u%L>8#aW6ZH51&||lf3CI1w zF#^F3f*k}q2zC(cz%%kb;=PUV(qvvSiRpoAvaCF4OI1Q#cr@7x#RK+aD}Cux9U<&| z{w=vfzQ^KrAcwTtamk1~bW0C^_zyR&b{+VCa5YKNQ__uU6Qziscg-p&3J{oLMgukQdpLKohJV7 ziOhV{PY)A_!Q!&o4-;r61g1%k2@`Yx;4!Ngy5q*f#}MC=$r70?k(zGa^?aIrMo$K#HyWPD7fQl8-Th za^>Og6s@S7k04)}h6^FkO1F=38gd;iu_f+8Xw%3V!ygN!3GNIgmxvEvagjyfT)}TH z6hc&2^s(YrZ6OJ+UMpK}<6T|vQwQ#SfVc~OqTFC{&F%q>I2&-tZ4jzK(1_Ss?p8C) zA?{+MFhf=Ps+NJNn6`LlZx zc=Ot2St}F=8pJH6WL*UXC(Jr&IQ|AO(- zO;mOshNHzJ#u-dkFsnq=BI5VT^aYp%*Pxf6`{q9mSei(WoNO1R}WNu(71)t#VK7}61E_0ac|f{F($ad zT*51dnM({F!wIB|YpbQv(Iw4DaK3>pZfLa68Crc7w1X$C^V&I48r*~@Zo?B>m;Npo zqOAB%mHnoQywo_W!oQW>M;QHD-(Y$Hc`^K-aY01^CujpvmC(X+)7%j)EK9%r_x1?Q zqfoTl!Q!0nU9^i62JJ8lX(mO!fT9a5zn`$qbfe1ryYzp%&2x zYtVtU=*3bH#nNXnU7Qa$lf7Zp62`MpP4)b})$=?l34cYD@;POg!PXKkmI$H{b!~h| zLI)O6^K7M09d8f?QK(kqiXO+e3oo>BP?OWRf+$qD_E*Sdrv=$2?pd!5?|?_vD$JF5 zq)TyvU(|gEQM9mRajo=*CG9N1Bj$yBQhF~9?}ji4Xl?GM!`&mS8&z+2m?e!vy1wsmh6bLEY z4^qgYX51)NaTQV62pH@~r*oxwgudIcm|EM*trH6Jng#jX>Z&8_U5*F(EbazsFkV>C z9c1W)8k*VQHull(GUN^jVy(G;5SUoszQa!n(IjPLt{AsaS8K_u(BR4wN-9@Fm+w`f z`P~6mbej5y0HU?;aLro!w9tkWgT>|88*X3%foKaYBqKG$DsqP=5TufR%2Z_FW$Mb+ zHT)+H4^>2!Q8Cf@%wuDtDo?#|c{xJpR^j)Q))}d!hZphJoWR^c9`2|aWnw;cr1Iyh zgjr%f;hMRcjd1mR_RC+z*IzyV^)-9>(`lak@|Wi??v42rOe26|LzOJ-q7?H@<Gf!wr)_w`HU{u&0?}tdJ6M8iZzX5sHG2rv=on(K1q2Hr!*z{? zTw<_!!XOW+*vbJvG&boR$ZHn&kl?tg@?QjbEi)h?P@bR6ZESkU0v6 z?go22r|`C0^lFg(`%nLR8m?xqFD9ek+jPtl?-)=@T#WI}c5{K2a!wNQV&)V<_&XobDst6 zVgk7IIh2p30K(@GD`_8AQfWvX?AW@kSZH6kIaCW-7r zj=uJ#R=mUXU|IHcs_LD4`^nA;_+W8a?S}~f2&5ub60wp3d91#^sHc2v@utrn4|QpAO47=sliQ`ogo{ zKmTc@zx>-X`NiAWPjBDwpQqoO-@h6C@)hBVvSwG8WtcoVpM>$?pL2-%U$1jGo4rn9 z7S7&HX9JM3@U(k)R+2W-x@-_gJto*PS~?EV!p^ZQ*{V{ULx+*llUz>G&lJyw z-aA2s`+*9zO-VHkutC<)U!6YUBZ_M14#492w=d)icl-{YstAHX7(Krn_kbG$DRRyf83fUiJ|r!PMi3Mehuh)? z)17by#l#J6my3|x;ojvAD%-$x6CiR3pe2dMRk3!ylB%gq8n$s`RtBoN$AWe-0oT$PPg%`}V1i>XP_2`VHNzF; zj44uupsS!k_VcxBvUSO2Nd~IhhBkkofhsV;;wz<8YeK;b;$W;3N-z8;$FW-=>3cp0$Pkv={&_ z-#nd7-+MzJz5~Gpf(rx}2rkT}#~(dhNJb_Zw5v=8H$v60ad8d?;^1Ig9(677e|XFv z&j_I$kstCuui&#@o(}13glECx2d%+5Gw`yk>rh#^&{V2Xxr$JiR>DM?gErjjQee(E zd~x}#uEAd^PYq)RLaG7x27d}Qbl4o;o!d#rS+b(~9M?_Mf_z+!{wWEpr@K(g&clGSXL-&I^Tcs(v$!A^3|*Fp3FCW^4Ue5Po7}#^q*yC+B@zoc@peI>A~W9-2)C4 z3?+p^l+I&0pTp`!l4Fn@1Epo3_Qb*G*uom1huzX)=kOyM zk<>z)BoLJpeS{oCmh9@_>MAxoItFD%@Wrt5crecq0FSNDyd~J^v!ETYff_`6#b`vb z3v6s%dYqpJ0}O22sYrLCk}i~B*?Shas(65CTjhYR0n-KqD(S$9vzU_Ed9SmBLLlH+=~DH_oqMP>BZF~d7U=_&ciF}^O=ZVk)9+UUr^OT!lMM8G2fbVOike^#Q8)H>B4d|t{MJw&b zOo`|DbTnR0E4EZ!?dwk_i*ZK#T$tt4i^;q9nvnJRXgr$E%53~i`Bj~A=-K=4z~|7E zBv0VZ%S!5puAuLD3wcth;V`k8=9S)~&#~F3y7bf%J zNaxP6d)}ww0%Ix2=8vR}-T@EL41#75AVE(E6A&gKOmIJ#zyw%2!KS9-v4*IdLER9* zovBhbJZH(3tV=ONjHNZBr!8~%H;{@7lXz5-n&q5 zX+$uW;ELRr4%c^WYu=NzfTRVu0USolrb3;h1tcwa{_Gj9pnD(-L1L*8J?H#MZ}By?W&3X z@kk4VE7Ag7R{KDL64HRoc1CLB51JEAd>(=Xxc?C(z^yja0$Dy5;aU)$RWOY<6_P|* zm3e}@gW@*lfVH~3YE_iD7fDHwfFQxWL4xdr51~OB!xbtRQ#VzJ##f^DjS(IhM&983 zBuKCW608ha`z&Y|5a-V#SL!r60(lKjHs>YY6@C zKmF@zxPqVCWc2&oV-z+|ABF8|$K^|ib{-$B$g`SVrQL(0p6wH9*)Zq*LkvPDh zq;D^&J#c_x11+W3S`ZGP0A~to3zwJela{GiG7NR)>caIkJXA5}42R|h_qf>Ds7k-E zeS1g~pw}|z&cEchm-xFd!m;v$!|Eua3(;(VW&`&&8*nNc$P`6oC741;Uw}xl2HBxj zENIRwf@e$bm1YAwW&rofj zoR8Avq7CdpV%Km~L*h5OPA|KNzh(^i+MhO~)^V5kLbFQ*DNeUC=r-4HK4xukDa{9P z^4)`kAWGh3(4P@cB*7Pg@D#mGgIG4uhaBX-O`V7@w2%K!p9Sq;0wlp%X+7zEcg+Zn zl`o`HmadV=Bv27^0?j${J@B`tt{d5?lI~2HpdjA+!~_DEpuMd2zyy*F1Oi(a(=;bI zbWYG62)5F3O8{_ZO=_EIKlElx%`Aw}vWo)WF;=pru#1|@O_I=_2l=SmUY7ZQM z*?>e;v!di;vKMkR8=%<$YS0(wlQ4erJ%n?cESQ{SYTU&dc_y& zv!EMzKzpkdNL!ltLWj%-3ODt^F+pM)aT*yHPk;mm;kPi4z=+MWhQY0d7d9AnllVgS zg$cMn(RQ%7toFbJoDDd~ZP1dInD|132?!GqCeR%Y6k&ojy3^b9v*|^+99&FJhrdmS z0%PSN{=1279+95d)D~0*jckBIZ%}nDE1wV=Rs$J0*RV$LQmGOq*ntUF{z82gw1Wwd zG$o|-#g&p~1p8_Tj=^8ZMAf*E9FhTIhU~5w%7JWGB>~1AvqqAJV0#Y1AEhfUn7|Ac zm(_llKu9eGv&0u7zL2(gh|UTOqM3ZI5wL^lY`9ggb zvx5bcwhjhQny^4K8{CEkI?Ij~d+6DKhR=qStf?$YhYFdju-|B)Ds~a+!NDh;9Yqh6 zGy6Vg18T6ir1ro83_hbEN+JiEaKNEBVB74JvIn**CkYD>7NG2b+qBrECBApQ5b^~y zht#o>3W8#21w3Q}HL@{an`jK`96`CkR~uMh>oaeO2l_1NCLVBH3xuZ5%W5A?zy?xtBLwA< zeNes-MHCYzzzuL?SkjYgLGuBc572zz-ZTU($n2WHD&!47Lm(M?n_SkF<+k=Ig&0&J zKNDYQ2VZEVA?UN9T}*(okvT^GLXTBLkX^7Ya9?Hb0j&eqP!ssN;x$yNz}HBgBwaD? zBlkHc047*mR)h(Z$|}1`)*NT2Ln6JyEUWSXMoNLP6l618j@nKq7gv|lVRN{yxI4%r zep)?SH+_;cWIgg;_XzH=PY&SBuBv)q`t_8!#T=mX79TZa9n* zi_?%%Fi%f885^_DRuLXJ`#P-QfzI=8IUne=n44I@I<39%hWv$gVS&!F3~s5wPs3gvv-%*q;c6e2__>( zmny@&$;-x8T4-L^0Mou{%C$NF#P#pBLL6ImeDzw{@+!V;cV~U$>wW5c>BUP={^QG6 zufBUS-}FiODko0_qM4FK~!nF?|B9v%tNkz3%!#7HoqE zWyUyc2h?Jt)orM~@AbJ8;ULa=x$`?E!eecKxwQ2PUek%$${|9pg8E`*xrwh+N^sl= zC!^oz#d)d8k+O6##GMI_vxEoziO_?TE# zN6;{ohWI%k_qA%WOigrA%BIaoe*<8!S?qii zVh)Le`$!>+wM+;I$SdzHD=ihI(#0s@&=9$8l&~Szj}fxy!Q#5x53``@ZUrSge^3R+ zT~yfwSqQQaWFg2xkmdd$3tT0=E_`v5l1CR4Qj8#suC({YacD5OxDm2E&!?mDEuf`+ z{Xt;Mr#orsb38k+MZjcGIz>SeyNF-gV9PO>#y*ZoOLr228O3BiVCf7qmM`5j2PqJH zQ|8@s!XXBW^L;h%?Jj;_Nq&!_Q`RBDG+ACZEkQrTKCx`=UH-| zCFj}oD`GRvjhtui-Fa3e#Oit(D;^A(#6o1~%fZ){(Qwo~wh6xYp*|wa;<9ic(4)NZ zs!VL~jhwZ<0tG^XB#m?cUB1!rVwM9Ryi4@b=ZJRE3!-_E#Z`Ls_dv{Ae8cj~He1x! zwDjehP){u3LCbyr<7wyz9sqou<&NGga=-Djdo4z{Ff8TPifz@dkK+oW>dY#k4XS;I zx<94>nONkAn$*U`zQGtb?(3==-F^7Fdwh3g2_zXlB(EUgw~+En_$4{p7|dkrl(|wd zurNOumk@g8=NC1Ipilqx_rE_al1Ti&6a2Zgh{fxF!kJzEii)C=6vm3FkD5`EZ(~Ky5(pVb;#nAa+pHu zvv}=V1yo)wYl)w{8BOu_(fAa@sM&I1UtXn@bDhiDl|@`$6Mwl{EhpR;5aS3eDj}tT z7Xw@wqQ>!z)(K@*)`rW))}zbMF2>F1^lGjzFS~Q{e>V>0=rXnM;md7~{;&-9F$@8NL}!W^j;STxQeZKiYknLFZL|J$9@8 z(P|I>UCvy5yYn!4S9W+dxyp+ly|*lX#c#X5VqSdrM&aH6{`db^-dm5SFY|1M%cDJO z%Xe;nG(ou7{5)>o7A`NLgsnd>@7{Q6RPg^eoPBi}U;pvu?K!`g{61r85Z?}#8xPXi#Z`^pQk)jBRr}TQIK(p?-9KMUehZTt z`&d46`7QCr(tdcE(-j1S@7g<9dHq8lwjEA(i-Wa%guJ&qI9%vLZ1xhz)ABw3-G0Rx zjAqJC<4^Z=SbW3l220s&dk<`NKil?%zJBomyI_mjZI3QkD@dei{hhoNw{^fskho^K zfE)khVp_%luuvOP_lvq;)csn&BB=ZI;GT*c=Frjcx zaGW+K@MKZoI>LI+J9x{3sayrts0v}I$*9~Yc+TS+eQY!HYcrD`N3??*U^nTtH^p!A z9&p2=%qhR@5IX<{947)S)jLCR}qh1B-NST#_wC{vam5G)o>$1+Q zWGk!&?VILA*U0V0eO*)@|$fA zm&?9A`k6U9Y-Yay5&ffP=4CSc{s@_7=2#M%nfFY8JBUX_GjrfcnEP&c`0~M`cB3ZP zhj&50xdghE%2ui}5{|s4I6`WIQ5<2X6Z$@xghuBNJ~{`RJi{ByRm@2w*EZ;cIaWBv zO4qSg&PI4;-p~X)-qHD|E*|M~RJ)BZ&7FnsL21XJ>G=n{`hJv+uzn_4H&#|<<#%=k zyKSXzBkZw?M;6}S@mlJ!Ut{KWKJ+0Cm2GW=Tj=B;TQ6Y2fgeA1CizXI@CPww-SV5_JYuVjM=8VpB` zR3))xD|zF1aqFi};OKKyJGhlO&oyTPhnsNg&6U_~U3(&Mpcv@S{=kUi8W)yuD#ERY zZUrLbOxj|AgD@E^=tOksK{Dx z?V!+z^}$E15*eGW090pSNUQ{67lV}y_Tn&d@-8YXAK{4g)ASVYb1XLjD$-IB8}I!+ z0o0}F_|{qC@=d4`m&RWAriR zxf?9b^*ta0d3mRN`T^VpH*rF%k{~+fa5zmw$Ly4eZ_m%j$%vec$jRvJ-L$nfL%neI z;8-E@$Xwmns&)bTJ`Q50X9z2W$*Y2-O(hu~nU6R3&{0FP2n+9GVylgX^bJ1VQ3qB> z7r4EE4j?Ir`)dK&}I zdkg3vY^W=1GIaSmsYVnn{t9e7J}oi^?R5i_a`ZJc9QswmDx?hf5>J#gB(5g70(p09 zk+&Ykh0OA3bjY{uSXwz4eeCra#{QXkHJ9v6Oo`tzWxw*EKGl)?*r< zvGD8`(l3t9_4~H7j$uAF`{Yc!i!}S}BGk{rSpZ3J@;sz}QKmYFH;_TXc{sHbS z>$~=z_w`vs&;yf_Sv`#1eO|Z8zQmVUy%}G3Zd1Pg$uGw7;%Z!f6J|eLo#o^I!lU>1 zclh$$kEu zc5VD93Hs{@p4t{4UE5+|8n`Qp4lRzgguYLp+ecE34=>f=cCdKf?$fnk1J2TfN@xoCE5zYvuP7D-Sp_>YR+fLccg|-=J{$EeS)$H}f zWb}I*TUzu~A(a5r+ca4lj)===#)H`mZ0ygr?j=$UsdquW3+i1^?}B<4kD_Yf$TsjUqeXIVI&{ykBOA6zEUr?@xz0ts)%pD0k<#0?Dht)NLT?R! zLwUcr9`-2jg&%lswPyU7%X{b`X8Bb~HJ`4I-TfE!>wB@Sly6_3mA#~jo+^5(=&7Qo zivCel^gERZqc2YKJ!^E0{7G@t zE%?i;cs5EezFUy0AGA{M?#o)eKDw-~v*%WnX)4*NWT%pyN_HyQA4SP7jkMM$5q^p%Y|+e=w(wR0;ipitAMgZR*6w|lwo|)v1*3Fnh{<=+T(j5?I0$lE~=78#z|8i~TPffzLN3ZYL5)l$wfM}b82a(V4h(06|6K4tw)8)LtZ zsR7Rii>qM2;@%a|>*X;w;MZA*)8VEv@8Nhh@9)=Ik-x5-+}zz8g@l9w2m=rXAPhhl z;89=zZ(xh$YgSq1YgnjS2NR*_E5T|I32K+4ePp&sR*0HegcGS$%u`H_K?LWi;?7&A zU=k8}`9{ZYi}Yci%S&X^=YV&Si2$R7DIy82Ba;t%eD(q@@BiwJ+N>Xdx&0$LU?v7_ zgaPBcu?{l{2GboEWvUX#-9i@QoxG>%(ycqN53uR;LHIt`wlReVKZiV@UDRuS23WXh zp1c{Q{6qfdRi4h;F;$al9kk;WjHLo{eBm_YLx%BG2*#_R70jAS(fh$c)WT(9+u{5$ z1`K?#xUBbpTJljy8TyY?32v=D#+OEO6zmtW9APOJ~phSXH_ShZ?Ky6u>RrlO`&bf>l z8sRFEszM$X`&LC&SXx?ARZ)v@T=MLc4VouyQ+9V&+*!@ydib)#6@{ReJs55xI$T>B zbwL>e=iXZyd<6JX@>7XH@kAc!z(hg$n*vk815{mX~nu=;dVp? zu2Bn9lnk6NQ?X!es_0_yFNTA0d@?NGBklMv_n($?E4?9x7`uW*y zYJyQ&TY6ZOr>+;MawnRhNj;4sZh4fID6P|1n_x`dUo6I=srk8btLKMJQ!<%F;jhUz zExPe!njG(Ec57)KO?opgxir)$uf6Gw@$=r`>;?KGERMBQ>(94bERk=f%RzT0FwcoY zCX6F7=22Yp7H=DhJ}AaBDPqOvTUVpu06tjd)8}6d2UYKEI;v0c(ujZC9sfFQ2-5OW zt1{o=@+5AeM%&L7{>oUdwjWrTm)&g_diD3)uIj_gn9GVO2J65^8=D(weEA;tY1u(z zjhVVQ*d5%OwKIYKYUQ!9S@VRm{rA<@7+3)JqdCOoL|mM5_peXVsek+Oz4Q94wlX3*~HP6CA0cOyZq6v+1C8! z^5Rw=?^mblG0(5&^{lP4W0+A}UN~vw(<(pKS+(V~*Jk0S_hkLlUTpq+IGUtO6@sUm zF@N5zeHsVJm*#8S&IzXQ)8}b}%Js)_Hu?H7Sqs5s=jq^CZveBMIx3OrOT0-Z!!Ycp zE%5KlaDo4(FVfWbvNxWLdLAt@m$BBDv2xRXI-~TX=F=A+9`#*mp7E6%vi@?YZw1E4 z*FobkPq+Fc$K6S|sNa##=jZ(I`FnEqb-Fw2ug3K)(tSPFHMQj;(<$Hedk?3!c_Cd~ zUBEq{gwY$#9`*>F%^F2%w0+{e)mRekH~kJ(}&&N`bd-cHNAc&xW+=WAsdzO4~N z>nr=8bk%rRHT#*>-&}5T+1U-z;Qb^zlFmG*m1}@eL{spRvR$3d_VcT}oQvBdz+3~& zHNad0%r(GV1H2bCK;;~2W(wUfqtnRBBF*e1BSqvg3N)r>k)?XVJ) zD6AzQ&&JUE2smb?sNr-J;%*PQD}hrQ>fJujS2wx$b->X~YvnJicKa2cHsl(X z&}}7MxRS_kq#tU;vq%Mfu+kE+>Uxdrs=Zq}%{xkV99Za>r#UWXU;`|#jCeCa+Z>VR z&AY=vxxB3HAZFiUL7m!~U*$gO#4WS&*hgo}XqJ)X`m# z!U+uf>)__W<%62f^}FMRH_v6|9lW`io>N3QMU+!SIYpFHME4>^Bp3{JBFNz!+(V>@ z@E_xtENBeGX~l(+TNSN$Vj#McCT?`7NTen;QAdfSs&GYI;;)ehCdz1n@j&UvPZK}j z<-3rqwz;c~Y!S?1z@5l_2ga+c@dIwcUdf}z{@W#xnwvF}NJ_!DlcW>Tm{lGo@q>aN{L7k zm)4~6%>nHkB;5gppgCkaqwo32ZsK?_7eizWT^f}KMH>cd=+_8CTS=rVZ6s8CewA*% zUlI?naU*;Dr;D;CTg^{x19_Yn7gUKik2ewTAZm2slD|R~J*pMjDXq)`s$NaM{fsQn zCFSbr^EYDscWuba+j0{kA?I>1ei0{$Emkv4QnIfcp1a=Qdk7Q$imo1ge3BSpm(3LL zm$YT|&vHS$zx=K<g4O#YM;c0r!+n7@lK`f7cn5Ygzt{IgvKoOzC)x27DKj z%?itAAxW)z3QjcNN0Z#=PCk6nc3@R4*<_dhf5*lF-y7!aq@OJ z`h82M#oO=JxA}Zl9wbY{i`;^Ha&el$dj{_ryl3!!FTi`SiuwTmDOU#c8>@&foROp; z4CbCySqWv5qvu9`$8m!9$Qh>!9TuuGd6aVM3MkiYQArV4C z_p<@prIqmH%T7~QVEbOfKf{PE*&ZABj6F2MT;J)#|`+)cBc5nj#55tC_V?_$dCHQF}io&xH3t4K5zD7f z1NhZYb`HYs0Jd))tSu4u{4_TKcJ7>@k@6yV2&;wA={Yaq24E^4f+L1le-*G_iySwe z*8K3dhV)~yTL!czcx2)6u7UYAB=1rYN-GQHyS4LE8pkjl^(ODH>Tp-MDGt#7?W^(l z^*y=M-78nrT|fN~GXt8;fR<^QGLFNjcd;U1dz{Ai1WjU2CL>o>y>K!ao}9x$AdcoE zzD5+dl*EneXK7-9{OAT}3mbv|HQx+}LOP`u{jdLov4SmF3A3Hd+h{%?#j5uXJ4l(9 z4LiE-XAXIgah<%uw)IubPvm0M8>T6ib_>IeI@{A5B~RL=itp*57T4ex$jzkOPh$f9 zKK1d{q@VVmc5v*^n~k$@?HZ1BDyFk6+(j=LyvNbWpE2lvxy8AO+6W%PNRig}`L<^# z*)=w#g%#qIGxhiitalw~6KXLv3 z$(<+}dgdxg z$j*7a{?x7S_T!W^|0`I7GreaVJ(zjCKByl@Wyz9F`*cLckotNt|!Q$JM zX}Ikt+aJn}VQn|J7sqZro%aqRzKnzSn9>hn{%*XKqnohlEbHg(+JpGcp1F%Twlcpr zJ!Tg_yD}Bi#Vk+!GMH5oPu5)l!^Q_|iV1$0P99KDuy!>^Hy`Ww*~vo1zd0-b@X8Uw z6x^Dp&hq(nMIEtt+05XWH@t zRv*A*b3WnPc{_iBu064iKBKS^lx@D2qnoSCXkh&Tyu7JLIx82G_sVqKHypS!8@F1+ zJU(h3k?hRtUk{8&G{TIGFOyr@cv-2refH4mS!}9c)Zb6iS!Uf&rVeH5P^J!L>d?KQ z4pkbYc@8-MC&{o|>8h}d!&@5!de11@1apVd`#qu#1z)0FI8+WoTd>FtYUbXn5|(96Z6qk^cw{qs_@!Uy67=RBBw+eEA!ZW(Oucb4!t3Y?5 zAOoR;N#PXQb=v^1L$oNbj4Ee?-mXQ&k_=Q|Tpgp%LERl7>eT_hK8~KB<0hmWEjmUJ zP$Id7LQ|B+6qW>6lx3tbb$nqQT#NL-NAta0O9)yyr}@usiw493C&Y1ID8_NCrDcV! zN&<#k^t|FqI<^q})F)Y!H~#DX0@T@q_JIJ@FNWtAfTmsd#`XHn_xfPaKp}M(D0S

zq{J@c+4g;L4X1$$H0~Slebrfi+l#8Vyh6MLTabel3uy#hP|hG!h_$>GH5{jm2{c&*xQ>vX(+b-1 zU@9ku6e2+}RF?@~2x!jZjXt)R`AW>B!-%$U1LP)ks}niHgm#{eLOMqZjvTD zExb;h(S#3HhG9Eq?hzTcP}EC69SN~gkoFa0BFU_zPAZ>z5^5_f1MMLcv#u?)LT)?T zy0k|34_~{**AO!oN&Mq)5e3r~#r?0fk&7p=S~i^+Gpqwi#RwZM*X^b8@wq`Qan_ zpBN&!j>oWBAFzH&Tl<*4mP=mHkL|=;;39(z!RoO;24WEx4BT#LMwBJ z6YO|H=bw7=NS9G;A597?n34C&Dvfjv+i zWMT!O2`^BB2Eoyci%_v;D|zF1aqFi};OH`{E!;|!rYR*XK*@+(cS=uPZv7kwZoR7n zj)+_9LYUKjmnxXcNK_pRz5cxKh+98E$^n6(c(v0WhFgy}=U`WsOp_;aa~TJ_TCy!W zK0?(9RU=f5Q1vnSwhU>l8_6ay#5yyBx6?|l0KGH6b*RcwV^alysxk-?3x=|bMsfmq zaR@nSW#M4CgCW*WQ&YUlSZ)GTR7*wKc&%>;pf*Xzmj+gwi(n--@yZ)g(3=#XW4K-D96LsR@nvXZIl)pPv-h!C~Boj+cwbj*H# zT9-AvXcK^2*vpjNnNEDQ7QcTkG6L;+0g-a}HBu<_i-IJmGN40wB9|h?H8Uze-u=1ATZgeu zvpkwSrK0$eLb)! z^guW#GVR-To7ZKs$9Re5#dzI?O!@kg9}VqjKFpt(*^l#qKmHdkFSfV;?AbTT*2rh| zwo#WIx)HD`lt9G{Z8FqdAjBD7Y|<)LnK_qg>JPV&`!CGRW@09vpe{Q+nzcP1J(>qm zd!k1Zg?0&oehdXjp)jU|^pvI2_hA#4W`^uKaA|;qvFiu@q@gV~Kk{$J%a4?(W?Z?Y$>)x>rn5D+9ai^1s9_5kYU93cgKkO zpR!l8%ZRqTni4*ujL^VWieAl~Zp3w%x3apcIBxW6cB%ig%d2@82>R;?KDsSFI=4kF z8n~|%9b6o175Y8_Z(mH+xc*cPDtq;Ldx+P9^eBZ2kkIu_Q&(s8R7AKg=pU#13>qB6 zS#?LJ;@^LN_Se0@!5K};ca_jg&;cWb7Jg>+@hts1j{_qvbHEexAFwsG$ zm`~TsMXahuZ|RxUmmkEuuh+u?<~`FrO=X%Add%iM@*rmZd8leWU5?$&rC~QKYrPfQ zO!?~jS!iXn=%Ym+E&6EDM~nVWSoDlLnrY-9xHN}s7#FAzrFfp`+*zBtLTVbw7+a%} zpMpi-{orfN`7S-$Hs`6(N@X{c5nZ3^o$S|eo;T?Ol@s&k&{X%n$D1^5+@IpG_SjB6 z&|klyWw+~GIl{sBM^$x%^NmRpFq2Tpin`QTk2Hr=;%5%9+t+?>Y4LTy8SUGS&PJ~% z`GGciiu#l6s9o^mxgC`5(bJk#eXEvwyDe+>dO1#39M~mgI-2a!WRE6$G})ucekV+J zo^dHNg3L+ckVuybnwTsziAV8MoUkEhCb)$^S(E(=Ctzc{cj?-e?M_9;6we})Z&b{d z6;7@&2nQMQt>56$cp6@__$WKd5N6nzq~mb~ZQGE_tl%j*DxzV)Mr znDx7EJ~HE;_Uct|m~pQH=+*p~9q{Wc#A$ysGw=3zHW%BqX5_DDPHr}LXCh(501*R3 z3=lCu!~k~!1LzF0NIEBp6gr25s#FjWvN~ZT2azCG-pV^BizFG#iS&p;xFDXAJqB7R01L)mWDSvep#gJJ(n9~(q+Kg$b^AWLPR79ts|4`9iM|h%f+AGu+6#wn9Cp0 z0yEa68Ou<^wvY-j2?Eg_Ww}cn#csia@Qy!Fbm`It90F{*JP7Zzl8p&WqXp;ai&5^u z>-%Ej&CCa>=&7H)DxLq)|2g;51=qfCd1_Kc69`Kg)bWMVkTxE|Q^sUkm{dTlDHy%i z&SF}%sui@UzdHHnH_x9xJqdC&^XW-=nbQ+S=)Xd9DzDA+@*J;W&O^34zK{tNvWb39 z(o?EWDecwE`T(fK??fs?mnm@@l@l+vD?+WP*B~sBP^th$Gsl*aQ3z66*e-+>C< z5k`3=IcN<9TA5~GNCBA0A}hQ`RZu}wtmUoYmg6m~7~$61F}_q5APwB&9R|G(w*uFP zizrkZ;ntmnTU+4JZIpxu$f+08p&&C-)TCz{@E}kgIE;) z8g$dVnIg(mf42&zg>OSwIW_x z@jlsTUn6B|JngSCVlGvMzqqWn&&&R<7hTt}9N1lNbv-lY>Vv$mfX0_^F;2@08XL@1 zj7&A7ZeeIPT7vwmwc**G^Muy^eX%qK7Qo#o4zZeuO_TfIJqS$?QRQdh#r~(35ZqEX zBaG62?cQTIOKBYOE_-NIknk$Ey};T-w;YdKST?KH_{oJOvv$(s9&8a^(E5ZkG&k~DmYlXNz6qd~X>|2}tP z{5O0NrpA}$bT%pNe9hMS(idhv2rUX1wRc~9c+{iPZt;Zy**qMop+Fzm%4j_1=~gvz z+Ml^`bw)m|+x&NZPAanc)}f{D}Iu3z%E0%83z`uDSezRk$M#_`U_Cw)h&B&~43KxaP=jxgRRT)3}1JEwluzI`)%U zx$py3F|v#DZlRgC}d7{@89;YWz|v5?HfH+=9lH|bp z9ovg=tFsJ`Pw{W~?Y7GdAF}$(4aeKAcJ6c?-3BR~K(N0uZazAHP~S17ziv_hIpW~zaz7u|0^!^^Xxw?BINN^D*?XkOy6 zM;YZDUkCQqMe_14--HOrIUi1+`B`9#RZNrM?8`^zrW`&&V#0T*>M^LFxuTBagK%f@ zXWkI+SKsv(9Q>XejOIBsVS45r%6tZW58Uy0hU;kNCRj{DB}@j?@;wWBP* z!}6QX?LvMEuFQKN+{`cPX|?XX7Ue3E_3Gp1007TOkEbF{k2$4#xNw|rEtGg0dR5!o zv$l~e1utR=?%DV>g7*mCBY2PC{Z4>)r!#6D^ruYjP;aatHZdwCke-9MXOR~oQ$f*l zE5GA7!Mo>-(+m|BiacnP@*t*1gieZ7IOcLeROawT#}D2QI(8e_-eo*nuszi&)oE0k zx&Ye`>iz{r>=t1A z_RiX2ao5e<2H3eVf_lmmXOUPfgbe$93N-*#aOVtBMB9si{Ziz(wORGgHy{~*eUCix z4oKezxn)3mf-MW%y9DN!NO?~)LTM$Js&(C@sdw{9IeU9C4|k25VgT)5znD&6);Apc zNcS(iQGc`f*E0j!%m93{HK~7NuyQ|jlXAS4z;-|M?+J>;oXjSsC`xxS8=ag(LBLPy z9^W7etWx5p)m|DHAU~SnStBFxzw6uZQ*ftLN&lOdFqW`}m9Th7T}Jci#24ioJRnTZ zEf2cvG6O%zv~u3y-s-LDh9Jd#6sA~sECe?yZ%;Y#Zmkm@4XflDTmj!q@cpzV;2(4A zU(5#K`QZU~au#m9!;wzK(8|P&%OLRXCnx_zr~m5)=O$t!*o5ICt;YGLXD8V=J1YWY zzDPQ4oKHLV&T19>j1%F}@WE(43~tdoF?qMWUw_BT9O*2sv+|Y`7ks(%6Ehf`{QP)& zQVvgke)8~nJscbRYqRZLd3U||fNfjm&*fw`H-je&A7f*@dYX zUS`?wl`)&8*je`(3|lwWU=w^lpM69|!N%Jh-F&Rhvy&!^f4f-#;1w-|3%CrUx*M2P zUHT}w)fwHq&T{{{kR8!%cOTH$ZGK|U#=FtZ3;S<1)0Qu=z5$c%{)9{C zZGC`l>{v(dQP>K~w!h2K&DEtfu(<&*2lYs2Wixp%OvgjbfeW*7r!>s{qvjE%y*mE& zk@1M2M>_M*gIZaWc6%G_q4id5i(pjW&q6C>-cO_sMe0zb4n^wFouCdC5~O*KbO26* zV0R{qL^BR;Z4l@!qbL*14MOjCh&tqKj&kA1au8C3MXnGtw>Hc1T0)={CrTVw;`zr< z9qNAOHoT!OgSmw_1eTb}LWV>Xhp8hT{qB9g;H7jV4Xr&kboc)Jp7k4A1R;}y=#pos zcELJ_a=Hn^&eB7+Vg&ph1SzZJ^YhO&LJE`;9sC!&$P?%w_SA zh*u+Cjd(TU)reQ`1YTu^c#%s~`%@f=Ap|xrQiQ<=EHuG4EF(6kI@}?=nsW-}4VXSQ z*T`Nc5;Cp1afw5Ew#mKc(lNZz@#59@Iei=C+GSYV$Q4rXK(3*8ZUDK~uNi)9H*RY# z0{&?d+#ltrVD~;H$-2q6zt1S(otoC}R;t+b1D!ggWhDl)Yni!HbrDk7h$F}ekS-O- z34or1vKk8=1>|yR9EFqvertJC$h%+9RA1%U>}qKjNW16W%W>`Z-=cwmmRvf&Ua{1x zj8aQ2)-=Ns&k1UmLY^iu9^l6@N*K$w=k6~{?rrPk)t6}2*6jVNL9OZf{kJFo3^h+q z7U}*cUyO2pdcp|#S7=1Fb%ydcDEods#@uC)gn*VtLiBTzo>F~E(olpUth@+i#5Gr8 z*g5|e85b8|%+${!j0vLFK?^Eo?6U}CB8-VJ=1#yE(Q_nP0p*dNHf6ajb&a{CSDl5_f|SmYZp8X8J@YH>@|$TkKHK z`r!89OP(P?pX5l-w=zfAiksk*kcnd+0(?%VMbWWl`%V+E(SP1QcrCb9L!Ya`msAo9 zF*d{*i2!`@pa&=ljK-lXLWRwVllqRqm&K}!@Fl{RK6a0CI>p8tP{cIAh}pFFx*X=C z*V7&n2l^=tYiXb?DYd}K=7L}%!||3%rG)hGOGsZm#mw*&nj(I!QEn#ylc6m(Kk{z^ zre0j7bahpPFK{ws5xxu~e2MVoPQVvZq!QMSh6zAGv?GunQ$F*Fgqbfvz{CC*I67OS zFc17$Ijp^-xTa;yRNtS}rKEyc;mpjRjV5o`oxS(-^Kux9ZNpA}73`|kV>Yh9bM`8R zfASEf%doZ}48-L!PDD_Lj}T_3?H(b_1#VDlxpt1;U?C$gF`L6;Td5QykTKbzaNK+q z?%O7CylwC37zPo&dg@0Uabq|lGP>5_MZ^;05>$x^098O+{>7q0B9_R(cr1(3hn@jT z+-j6?NsN%l@CZ(4?J0`?QU}MZpwj!0;W3_MO0~R}bX<;Ih3Gp2FdX zpPIexyMZasr~RozfF948BMkncJV({c>1d(x)_&5P^TBjv#=X(xtp9r2M*uqQ0&+0dF4>fuBWN}&_+n`ys; zG2F!tTE&iTFD!CbSX~iQ49##>5%IeCyMd7Yx@YDnr86ntRk6wd$4n)eiqn5Jft!Rn zIMQE_CVw=FlvObEHc~|{Z_l=rtXK{ulB*)3h=?L03T*6m0#Tq2hD=jmBwi>m$r%Kj zEo#Um#3MsCWJS{~R6M+6(TPvHBubYty=5p-n--W^mw30Ei{OrKh+Q|7AaXU!XVuKz z7~;|=cj}J*aGQA;-0;hEkE)mMdP$Tzs%b|#qM7$X9f2@a*6Iu_szTOj_yC0PpUp~N z<-LciFO-hJ-%tN*Yb}CRF^u*jE(pb~>lQ-(@Zic1dn6MZak{n3HYJ!ZzP#Xp3~hag4es+fmpM??8LH$$jIoFkNh3cM)8yH5YZ0T%gz?xhEV zp?6-o$*3x@=0@jD$S1gghUZmT)^OYapNko1nw}AU`8Ul8O6v& z7E1bA?@^?%D)>}LTa`1bE{`$2wUFA#{vI^1BLa^I9E+;M<~N^}xbTY?KeNZ*KKT75 zdG^a0g0Wvec=X`@eJn^6O~Ti-N2*PAG@1B8wLexCwvZ{$GQ+^ zXhXd@YE4+wFf$rs5zoR06`20g%uMwZiIicofZ5?ll(|a7iO_o!ak&QU~vXI_;3<4%s z<22Zh##>ev?%wa1=(lfcq3{d|P2A%U_sl5NLW9<(VUQ3dR56<)35wd_Ut2==-3e*C z`=Udx)4rS0?iEN2HsAZA?|e7~i4ipm&z68ZADx?W7+&x@V|@ceSLt~`rGHo8b#4cx zd-OB_?gij~Tp3I?a{clxNG_!dSN|P$$D2SYz?D49OggzKj%H;Ad-Ui9&ZTc^7FNcl5`okHeR5FGLhbpob~cWwoQ*^{>I7bGFZuz+Q_M5d>@`K zvi$7}Hr3LWS+!?(Fl6f^E`8(P_FGyQp<|%5Ll9)^4=&x(mtdL8ZbW-820s=dg&_3| zFUk&~>fwAaz>V$b!+Vu}{Xinr@G~yf%K_>ORQGhI1yQ2DX&J??rnHj?W(lt#YlDb2 zqSTP$7ojMT$xx?=pvDp}FnJ<|a3)f*F6TqVSj4V${^@*DhXr;91Ud=>oI(0&xE^A_ z+APN=&tohiOwNwI7&`C*xh%>n?3JXrL$L@cQlU{9C&_>qAl@oyVw@1rWlnu+DY2Ql zgYpWW2#)A7cr6@31k)g>$zbLJ8h&6+>7@~RsZ||u#KI#S9I#7Ba0uaYdDD|Bq`s0q zTSB$%z~vfnL>mq~yA`=L(yJ%-p$5M~Q7w6+2LJ#3{g40q|N8RbgP*=WJu$f%B;&V` zN*JD;o_OU`CbA+SDT7Qn1GUx)lPA)r;Mbz^kuvTiIk~@(R+zm#ed;Gc4<4kmlX8fm z0Jr`mFOjqX8t>cFlO}^W3M^C=`{)z+geDsHJR7+34Ua$a9X5qt=Vlp~EaRw<8C$G!dOZe4_ z35YHyWpOg}$b^`h$=lxhz4iCuW!V>l5>cho0@~DJI#fRf4_}xDf8Bdg`^=Ema&oU* zuEj~E(iL{0ll{DkzpwEPz8j7H2ycLieKH;aPR~j+sJjq$Hz)z_n+pFSGD{c8FYyUS2~{*TXKT2$+8 z?E$}i`}0J&=VxyWdHCgT?AxUZ9_TLZkAD;}z{~p@GH?O}MKKy*OQJ;f5 zIGy#z<=BVK6PxuHqhV2=%_pJxb)5b5WQNjcqxtM}DCK>2f=#$A-hTdkGWVaII3(+S z{$w=t%elMnk&7hEDfT4rf?wBX+Av(uhH>$Cw><89klgD_#>L|x%lh^=^cNJisD59C7{vdbJA0v zRhQJCf38=rHJ=OyrR6xHkf>Mb28~Cf0Xn@hE<%qF{p*uZrtaCv>Y9^((tm|tU8d`q zcVHEUb8gx0oeyq~%58U_B02Wt-q#PGpWL=vyT7#b&=HWi_0v94smhd6@OKK%DN|gq z|Idue1ha2ij)tFC75Ye;P*QbRpZ4gzP|xp#idBc#b20S73s?(C2|{PrA)=F?e*6wo z=&~NV+x^m79NW8LLE}YFU?z0D<)ufF*2&s=wY8s5@XtSff+l8iKU5?C2YzB<683oy zWZ9E{{(Dhy0z-)Z^+=CqOzY&?Q}VB7=Yc?GkE)(HS^PjB<}g^c_1|7p>tOMj#2pJV z%4()Bi~~#zJmchkSTo79FTYK`8cmX?3)A%eZ$JI`@Qd#r;a5nHu|02Jz0V>lkUSi^ zQ7}ltOP#$dv7_g{KuVeK{)})d5sk_@~RSzDdrf$)ZP-`dCQHJUpU{TcXP^Kt>#6mj|pD9$Qs_MXxr*q7ygq z9s3tO6zr=cgvi39HhcO1oFG+tf+OJb`3x1ix->2*NQ`I6zzomk$eIpM^~2<+XM65# zwwfS*v9j*Au9j_Q=;nf*jz`0(udMw!jz8>n%M)PhGhy*8?l@qZzvoq})$w#<&d$xDcYT2IY96_{PP@Fs!#87ya!kWpB(%#7KLhN9t2g(C%Lk|G zuxeQ$RUg*Zc{#(%3aM4tR}$#9FXMFh*yL4vsL;C8Hnn)}f(ucvQ=?6hsUl5sSs;Tg zlhB;a17AB$IhY7K)kW6jZ5KPiDus4qJGj=L35?ay8y9z+e?NTo{HJH9!2+PHs?f^` zOMg4PuAhDe+s@OZ)-#nSC^yW>DN9eje!TBEu4Yg()4%h>v)RkgLKr}MTCm&~ z++wHPvo+a&{I!ga-}`Ys3={O;nzyHM4Xln{*wwspT=I|!rAInJNUP* z$#>N8cPnICAAi^AJL>rBN9;Sg${W0g@8~K&cYD60tF-oD-_ccm1Uu$vK7kwh5Z}?& zekl5mcDtjZ@93lO9l;}4RqdVjSK>-=&6Q^_kv~!~dxNEbZHqux6y*T99-mkDK8Ldsr|J3le=&0A@t?|71SbPi&nf?3{5~i657WQlD*#UX7y4H# zK^Xkq|B3(nF9so({lYM~Y{LQ71<6$;_}j3SP0BaKLQwko_BG!%xp%aHa`0%sQ)3>pinN*UI~>fQULQ37fvicqSCrg2C-1 zsb;E^-|QJ&B7PDaG)wwY^61gCzUrl2rpFaLg|hQ=*9@QyUt5L>Y9=jAA~eT;gb0Fm z8v1rAbw*1M1#dyxkr8flPxGWusM7?AG>Uk9!4iNA zjJ($=WDxMHOKRNiB#8a3?~)PG`6-vDSufz85BXIgq&c5H4s7tVkbw=U*JT`~a#9An z7O~`$a*7~&;Ax&=sHQz!w_Ol+?b)pq@#S|Rnfn@x-Xj=K(q6qByJlhFCZt_wlt{vF zGzp_)h04xjjlQglTOa!}$FN^9Lp!34s1zF#g0Vxz?Cc;PykYOIVss9vRhv?^&Hez^ z_T)u*9??cb8+!_6h*aiU17mnafHu;MCQ3sTi7GBF&r`D&#p0exPYs+8*+%AT%`k4_eKumc<= zHpJ~>3?x9#-vFs1b7WbL;(ekR-^U_+FsUQ9h}c4F`PBn?KVl1;NG%+yBf#)g499OO zl@ih;lR*X#`v&sr7~`rZSOYY_6 zK2>b7_1tUlM3)ZT#1mO2B}@?#qZgxM*2GO(v4KFM*xL2j2O7w8aKxe$sM>5w8!e!-*PMGK0kptPwXo@03NQ}2Nm8q=@k$6u18c6Qw2)?j#7@rCt>&a*l4 zbWw&g_zzl7UVVA}Mmx)T^_)MzXy>}8QYb-Z>0OEuG$VJsMtdyzu*Q?Q=)GMqs`>^D zYGkd((sA3JwNbA1tFOL_MtjQOpf)NR?H{;uHkG8{pgbh12uujLqZ4C8ZC%4tsm=ttWuN7@+eT{^U7v_o$xBPqY3QVe%E2(Y#5F+XqHXfGV$I-IQ)EdbgO!=VXAB}eX93mTVnzOW5&-nw4c7aSh!nq{s7>)L(KKRhjUXLb! zJc1C?1j2MkB)ECAeRo@SLEmBNlIU@d#yjjTf}QGW-pXjaN8=rFr)a!m1tH-OT|s+` zO?6%603UZzH^4LYuz3o}Es8B5cfb)O2r>zAZw9M_*`gr8PYMN~@sv-_c)#N5*O>5K zy0vA(gTkXY)KbykH&6wke#7u%BT#S4cRv3)sB~azt(>^cMK{mmx#9reb@m(bJD=UD zGy20#>#Xg8FPx(S3k!=W#j7Utdp+Aedv zN7hVqyhq17%CZ$@vt$aF9|tV=8@bdpgesZ>TP9p>jJXS472cV2q>HP(BVZf#lb z3}%VuRnRgz-mf?Sn5)O&cvl5eULnQWcpWlz(m+N-+1gYVH1#}}u=LT?4z~R6erTMx zACKdm!SRk2aG*7x@l>gsty0`kAZKIjngT#yqae}v2)HyG?b+snA5KxDCpzJ$sAdM2 z!KzAhsGHf3H2CSrjC-TWS^qU^ERslrj|M&R-pkqBW@$im*x-YpvltEfn=$BfnIUU6 zL)vOCL4(f__cutiOPt~bCBA^}_9sb$zx*uTarQOle3wq$H0QyDr-IU(Qs1oK50h-a zJs6Jk#!9YS&mUeg<4WCs6=VLQQPZhA8W-ortt|&VRZckMeB=WSdB~iDa8-=fecJ0mr>GnX|+~|1y&>Mp$4AfF&RF_*80a0oHFM z+pLwq*=FJI)W7V~xovx2C?a^41)CG`k^w;PqhT?coSPXG%FO_uH%52m0bKAm?iI^0 z{MrRi>)MukIUeE1cJtC5Y<6&?EW$&px>Rs#}^(v!_+-8RR01-Q2ge^a}bSNLz$`uMYBDG7H==CH&z(i+3 z?J|>0AEnx5Gh)Nd)a>QB-CQ7GcU!jE>rpgkLnkIGUaloFbd(T}qB)VfAE`bM?%&7x zegmdD4@ItoC5aRgmIg8e6YIH7yetf~D2&wPlMDe|;pA&<^)6l7vei+I0cBWa5F3lO z`V~4K{np)BZ<$u1*Y}(3?b}+0J5L=CJf1{xlS4q(fZoHv*_VW7nYAGYHw^IshI{Kr zmuBEqT6~;FyzDJz|6w+~W-{=FkCD~WOyKd{4odgv>HR#%?3~`Jx4qq#H5bWjdFIa`uyUyICHR-ZO>d5>(=- zjr+mKW?U$#tl z@ONQ;h-kWpy0MMv-lf+uE4%yQFFdfDoqq9_mW^(hP@xJ$l6wZJG@s`QY7V&sj2U8; zN-1*(rq^Eh!9(oxZ8sj7ZB9`twwmS#+U7`6P_&WQnYu|i4%sPH7Pyl_c;QvTb6S=D zvdC}NEYT(-#1P^P52e2r-l6J_PNdAgJF4Y0DG}zCDF?=u0|-ex^RwG9&v!Out!mpw zGo!g4&2|4~4C8}kQ2;XvU_K__M#uZa410ghVN|><|Kp`MgV{@GW@hkqItv0?I7{ZY zZmy>}@xE{}DM$gwdzz6%NktRNRDt4C$g<_1qyXmo9D$Ab-lcCh&3B<>26nIF!KVE1 z%=h{=FE?PDi(mpa2J#Kb=Dg1+;GLS*?&iSn`hiXz(%-Owrh#;@SQo4bAjJl-n2L2x%Hb}?D}1Ad6bkIqI&fbIKZ^$q(=}wBdyBYPDwz-RC-{k?v<+&$WuU-!anD-QEuUJNKPt-R>&;9nQRXdSht$n$USf_p# zz4p;-AHDYWckiIm9<^;9I5 zXC~o<5^7PnPNKtSI*MR77 zb5$eSZCL}#G5%1t z4lNG`ed9?$-w#S~M@GLWh31oWUW$J?-Wk`axpnP)_ zjsWEwKh}YUv$L&-cAxo9g>0 zB7doNN95i_?oH(0MDEQ|k?M087d(UfwPfH<3K$)UWrQXfTofJ!9l5iC-~Gv2^W6`= z#)$9Iqb(y|=nR>AH&v0Uwkyckg?=Nq5_Q?XjJDpuc_tAkEVBt}qQ{Ig#Ma zCxthl%{%16DxPwr#)3DW8kKr+pkB?|&n+#!{a|aomB(qLi(Wm+53|va*8ScDKVFrS z*?g^j-Il^&H)pW#YScEPy;W2%taWDw13!VAx`Q*yy)?t2AD~Rxy;xK>7JrJxpJMT+ zPC5fEk;{%%3+f5hVQ1O^;vJtq9}l~2d`FNB>#Y&CppeN!*&4+EQBPJWmE_zNj?2tR z>OMug{k_h=#)MBhbZ*Op2W?&{nFiLy4fx^f_q^PIZ7#ZbKm2cz^7GImatyE z91jB-=lrMwiargc}TC1GNWe==BIU z-fI|+7H)W!5tUJr0OB(hy+P8jAc-wdG#7>tD5s7?r6%OCM!4Z#mP6FL?Bs51;6|6u-Gm#I zqTp(p-BgvW+S0@j?>9$pfuOX@5biV#c&X!zZU{rTaV|$<50Hk?6h*2f@`@#4j3|~B zdC@WRU|0XNfI^q?y(B{Oslp9TQSPf+j)%Yv=#FX%%_m*obdlwxIr1NzfaSw;zzr1tN*onb6qPJ`;B`c}aTU1H zrE@pn2GK&GoN_EJu#hRCUYo%7?F&(SR{T)g}aT(9ZeKAV}@9A4+u&D(AY*ty!(o|oqy^^DJ}sz`)N z6ji}MJSXWXQ>Rq)>g9L<+z4e3xY9B`>I!BNZbZ0&9*A%w!i@+wBHX|k`Kn5Oqdih3 z!;K~rKQPO>n*zsKmKl~P55q+;nXg3m;CdS}D+*+NPEMqy>%}tw}j)%kiNB`#>hc&Kf83FkAWKw^Pqa7vO{Ml&o zcHIoPpP!e*aypyftzP+U581c^&na`f#)sDsd@nn98Qtj6xtnkUO88RhERAHUP!;99 zh5-}mIHMb3treNXs@2dq5Dak+qYVvc-{p=LG`9x|rgpF$TMP7Y+2~*F>g8691ncip zB2&rJRQ2lRcmUiWAX8BmBOCq<@&V&%zc6-Ey5V4adGUqKIo!>qP#rBXP5gYhm>mj9 zMR}(v?-b>on&U03h*(xv$@ z$CclZ2ut8yOA`oWSnP%rQt{UNgs=i-YHT5GC6HHLZd_0vi+LL{Z{yvQ^2N8$W8TKy z%G8M|3}Tqfd!CwtOOu9-)kvhe3X!Ty=WfCcfl{QQ0MUT3m^kyKT6~>BiBf^c}ZG;;grAW^}&KM5Od7ynh3T45t zgO_8tl>$J@vL5522em=`8xmpHFFg5SjtKnA5+7fR;x@hWF-<(ejUX3rhg7K)w5O1| z;S!doa4mQy6XPvUGRJaJP+w%w$B1y_vAGJ|=+e2HaDx-cGRjmS?nk)sal#GGi`+AA z6I7)uK%asXoWU|oSc;+dJ`;?GBPqg-RqDkuf^oCa4N7|Tay$TTFc7Iw5h&v{lBpt@ zO4&qe5nOo$btqX{B&meb8Q26Yl|HIc-HXwU2shp~+`jNhu{WbPDo)XcpWIWAuNZZmF6bNEmxkxC^9Ti$YXTl zDsZDq=WfCcnnIUID-vQ#5pH~>a3d9|$bm036IgTzASNbY4wXtRrL&HE6XC{%Oz&HP z8`)`^_Uh$$0Ng;{h9-lra3jKvNT!O>jb6tXQG^>oP20Wn=Vscq&+ZW1u+*Tc z2J*tSwmC}tSrh``j=|CD3#ln|<882fBHXwN-00G|7vToiT0@aaLIpR%jgK}>Jk?S| zi-9GaIYc)KXHe({3FGj6a&1xIPs*rDbp*K^*(uk(dO02fH-ZQ*huc6#xDnw-gc}iV zM7Yt_bdGT2qlO!v7|k{Di79d!;0E+KjWG#hjuYyNpoAOY#^7pXsxFl0y_O1>S%#E)gQ+Qbsb>Et9FTQ!0D)a_kH@fKf<~ zhM0(m(G3^jMuZy?ZbY~d;l{l(B=q$DT;%Ee$4hSpvzO3nHG{X)P(bt?C;mq2PREGQ z9g1$iwdys`OhOdOii|v85pG1d5#dIJ8xd|qxBnh6>+#Xnvy6)AkibIucKGvrH!vKuPr4m!BGc9J=tr?KqD z5u|RUffiLS$IfsgJxu{Okn^809pOfV8xd|qxDnw-gc}iV0B*ppRUX8SBoi`d^xH)Nqy+w$L$C{K{Oa4xPIRH>iM6SgJ&bDaGi<#~IzQLMbbqNO+oqOXWj!Lwl6g z6h8GV<0_>QZX5;NprThV#{=L-(81*#+5R!Q5mPrzgc}iVM7R;*MuZ!o{EW|RCUR8t zBm_yTR#XS-g{eMjVJgdD*1Yp_t%ss1h0B z#z(7ztF6zo0;%B{vjO9$S)yd>@mHVaL}$>0i&g%PAi5z=1?$zz@c_7i+zpBfDojVX z5#dIJ8xd|qxDnyTX^d_lx&gsPAybtm1!{|d*C91Zk7=7|_}97j)Nm6ta$@erRdP4F zbnYhH$TCehr!*E7|9EpZQv8!?r4UHW05?);5`zN6sIrX{{HN*du9&XZc@H8;m7Ws;sdw%)4j)~n~bKH zEh+y7zc|Hx)Bfv8IrC`3)L{yu#r^5rF5h9=@A3luiJy+Z%Qu{`2J+yU}^y4NQ4H?T0Bb#Gj|ri7))b4_z41kQr#o z5&rZmdvf;cg9qQ4^zCf&qn!1J=07LH-=9t7_rsa|-SW5Rug=x@hqu4{_U*f;-~2fL z>Fhpk?)=l|KEjO%HzM4Ka3h?31Wq`O!x3q!4r;h5jy-F*O(+;vP8y$S9cVooSW&)PZEX`niI&Xk^Y*+wm z=OjI4{4~v=XFazhZO z6U#Fsu_{7Q@((JIF}g9oYVJmt&fSC?jG($A1NS@FNI-c54AP@vF`ArLE=x1O=Zz8l z^<*?3KQZUQ04|K3lx{c}2ku*Q!PCj;Rhj$A;+mE5*0Pqj8D#B?V4*cnuFU3R_j<0H zdt7iMheoPI^bnfU)+3~7Wnv7$UvuwMW^Agmm@0k|F)Sg)&B6^qdi8QV1a3eGmoS=T z5pG1d5#dIJ8xd|qxDnw-72R+OG5jJ+2!wBuyJ4Wo={!%;G*7841Xl>_#^}albEW7; zhtA!E8$`fNQIrKG)Ce~|PGu@o*2tiB%#*@p2q_u@VK`UV1e#Qko>oZUD1sY5MmJUf z`Ig`Y6TNylc7_}L6c~kQK~th4nJU)Zh(fqg2saAhMj_moDh{W3F0GV#;Swf^NdzlA zBymBeN?oR0E}3N{uy`Yx>MC%fOXqID4LH3S0X0Yl_jZIEA1B-}Oj(7}@rgryl>~)W z05_~dzBtdo+fTK(I*_X)+_-hP0bbN%IUayEP#Q2rfSAXk;xTn&U&c*L-MB}DB@#(1 zsC1gc_mWX0vRUsF!V2xFEu37fg=NTV3Lk7Fle{?}Oh;zi z8%@soucv)1;0=nr!Q?q8Nye$rX_$`9*jJvyJ5A)Zu@ zO`eAqXIYPN(W5%Uzk#=~e&NZ^pFY2kjI-JHk^S8xHLH4~qV(Z+OwN!9D6_-}3FmQ2 zvIKny(k?~mSe!M|`%pz~JTHT*nG(>DzxwJc@a4aHAn%7GXQLM{Z$OjUHJ|#)i}HNz zC)3ezkv7(PQpfQK{c_=r+(S*?efdk7e)HRX{_xH0mp8BIuhSp0cTdU}-#-88m*V@h zd^3DZzAZyt+uJ?6MDN0lcM+MVw(NOOK%3Vm(I-0;O%tQL$X!7 z`5m7>A0th#%j4&>5*L2);%D~w+XuhDB+q_1!@zz0;L(HoAsy>gHHB!81fH=QO(uR& z4Q54TfsMkm%&OaBl!!L2f;PHz?k3uhND}8-kx~OHVmu5KhgDK9$?_nl2Hqs)!y2`Pi2ZJn_FH;EN zpPM0CaE>;>Fqrt>>vEWnUQc^NKdS)4G(4!ecsiS2xS)$I6JbY$9T9e{U|@tDA9eYS zLTeA^lt~kv>vi?1)fuZ(%a1)=yVSDE2K8GKKxou}A1Vdr2lTWY`Qt1<+RSkz zS#RWJKbs?~+vnS}x>sLf4PR?oH?RTg)$8RjY@j9O@U}#3a1GdCzkEY=23!djeCh4{ z42w8of~X=DLlIaA2l?`2D56uis}4JL@K|j0{>K-Ju*5??3K`uN61C9JM5s(TP@psg zP$0P|oQAeEVb_fy7_eEaagelz4)u>kjl!5HU>Dj4cu;%^BSo=7qY z8luglb=lEkf$=0nNM@yn^YyQL3uN%cC=c9$wOokB=a2n#3J)&6`tSd~_hYSMdV(js zDuX&|IXpWlrzhnwd~^obHtpfM;8bn{j@Z zqvT3tp3z)FRXcK@E+lq$Is=;^M3)Y3fsTwI)k4WAUAqr-bQ+4I4MNzQK{1+zye1q8 z!lf!P62!xdQ=bXxr7|G`7&%a@z~^lN56IUpmgE7zBMo{|3IiMyystw~s@qz>I`oJf zs8}@v?1q?n5mPVjb)hS^qd^_x5i#DeOubOVIPD=R1r^&22^=m|&47%pLA7GX@>H_) zxZ)il0@X0D;Ba+=66~z{gGEXT_aZA$+uS$`VO}qSS}4mBMy>KWa~4&%Fmo0+J{sRg zDi%Dg@X5Bau@?1(@Xgboo(C`NU87%h8QV?dBZ%NaBCQ8q6f-|A%lznO4IOL9#X6u{ zh#w&vP(k2<<}5K5ZU^EewHANpEUc2dhJ3!5cyKL4vKW#NUzN_U?+n%`Rv@bs$!Y|} zN-D|joS7soGAFzhF5~V4L|ayEYDH@5uTK8?&GY9^Po7n@vXc-!Iz2%FkAH>6R8-1K zDtoX~Mtb#{JpdY^Zn@?;`MQaYuXD}ty%%tpUTHhP!N-NYnZYltC{EGSV# zOmZ0}*>8p%D;_DRWIPo}2Z7H4iw+4{wm|W60C{*Kgk?p=0K98>WG!0qu~5LM?$yij zFu0)!XOh!M0{cKDuy)bVt3!?$iHVVz7>S7@SV4UvMq*%g-h>ENN^=Lnt3)dcBAABY zo#ur~C`u48#aU`;pd&@tu?9P~`QTgUU_%7c9XhxTJ&=j6B@Zm12t6)?9-W2)y?C72 z=&r!hD>9mR1*9*8z%rzgCa8YR1j|wN!-VoWM+raL$swzR^DVLxt1n?6UUN1&u)$)z z90(0EDzjK){91Hzx2?k{RFzUDwbIo-zLCQkb3_go`H3X0sE-?=!HwzTW>TpP^{tU3 zl7pn>AXydUITI%e6t9ASbIJl=XDc*#;LploLzvoP4piTN2(hY2)Y_{T*&vfH))Q&jFSQELk_nVHFgpVi_*f&El{^+8Zcy;cr`C3lb@^?FjyLb_lhd~<|i zfq~TKqDXGcPv4Ys>d0Y=*dt<(h&^r$dvHSwrX&Qha)Gb}F-WIi${}O6U>RZ)T$7#H zBZ}l+5Q`5w!qa}24s99xndI=1s=zyoVTeP+5CI}xIqVR6d{f@}@v;EZj-~_~XBjJ~ zvXT%-$kN=Hgt!!>LS~CZNfC-~*cABPSWbfC@$#l88+y}wf3n}0euuZVzBL%$$0KY@ zvtB*t4>8)2@SVcT%Xy?3-2s|W%xs964KcGJ*4c{`BOLuVKr!;lI2a)=L1idt?sI7q zLr8&O0wKBN9-33J&fbQ&?Y4OOPKr^N4&JowLya!YP#8E^nh4uP}B}y5V3P@^qUEo(3(^+)w_0_TIJ0Z6nJT{eC0vf2dI0bG!S5 z!OHiePB`w7{M5K@%a-hM_nZkuB9SQ3W|3?@WXT==?{_5#kSu~Mf>lx#DWzxRmPr6i znvHbj2`qIZ5LfCu$HQb>to!f#OTuVbaN!+1*+@Zb0aI|nkdrxF31(Jxc@8{U* z5yc9l0AthJm)}2)d3UhWPAwaE?P%$gI>Cf?IwDOHU6YjG?ly97YW&hURpze ziPrGNj*EO%=HA;p&q2Ae(09r;%Z$xIzEUM+jKP(zPca&@DlM_4+y#@WSXD%q%EUT%IA z-i((YC2^@o;pL)3m|})R#l#I`J|%c_@P6TAv(Z%@s1F6Sdvpkq{W6|c<;5txH%WIk z>CQgAw*+rmn7|7G<3NI#B?K=rC!mB`c!^EYftk)zxr>b`%3fMfgGst{ZX1)pAdPz{ zc7+sCxhbNucNoxv$B9RjQHZV}R*6!JD8Cn@FTf;NgO-Dq2c!ZSS~UI+F_$fF^_D%p zKm5{q%10K7so+Mv96Q4edLeC3YHc_=32m%2hD8T= z!V@>)iLG6K7Yq@5d~cTh`Ro2ubX zVv=d9$~&Tk#`HV9wMQr(1*2W}>N(%pXlEA$;!)H{%~FiuU6jP$x|q(_0HvP>lI;2O z^QnK8#9&jbV1iJRD_CxwR`9^;6f5XmEp-IE<{nml6tLlh9y-j!J^CywJFoP5xhHxKtLsP zH$C4U!rGmBb^BOC%Jfc|-YL^NWqPMfZ=Cq|pdgiVl?&lT#t4e?3Sq%fqS9v!^rTQq zg=*O;(|hGX-komT82Vj0v~B1^v{Zq>7`@tncuA;sJ_{`)cDK242QE_V@plkMpw5*d zDzBB?z`ay36u3qN4y05s2m%RiK}EfT34aH>eQB(JOzKY+CRi-1&XAyrR8WFYph=0| z?;=vMpGKIFLW)qN2t|rev{G79gkt6fZ>O^!0yHpE=CeMcSf9Q8nSJ}slV4wv=f7Mc zGykh6_ZOiEtRPegl2MVvuwf9`&y5V3q&f1t4at2ad$~12k+fz(KG!m9rS&$bp-bm( zpax}`w$vaEJ)wqj*1L&)wBHQ51A2OUfA+s$1vi+z^6toRg;OO%yvt=?LoP}XTV@ts)Qkk7j8({*7LkITaD{)> zABO4v2t=0-ZD9#2t>%;@t=Zd9jgCQUmLXxm1*onO7h)M~>Ji98Rcv8^A4=_Ia7k+x z`$#L=vsZR$+f9*OU+qXQ`d0xQsH-Sf0}Uh%4XBLR7ern#dckS0URH-;0)!x9u6ljb zQg*M(Sn*njAcDzwfu9n_<(UzdW!5P|P;(Rt-6dMQpzv0AbPA>a`N_W@x%uqXXwv^< zA)R`G4`51EYJdB=Kuvh+!_06_tfa(BO01;BO6s(gwjf7Gb*_4X^{*ywc(c)dJN2*m zI10CRc>Kf18cGK-Sq8xG3XVfg=N$DXtOqclp2Hn#gGj8T4y+`^8y4BkT{^Ul382yk z@xByaxD6(V4yju!ByBS}_u63X?B+5k4(&yiL1zacJEZ`vQ4%sMJqy-_+!i+4ig$<} zG-hARs@~h$k2X#~d-bw93=;qlaFJL^iIwD%#_Fq4F`a}mOv2Cy)U|&!{yj!Pt8hS! z1*GV~u8J2ovuaZG;KfhBl;6w#o8hXke#+r zoHnE=0USi6+(3@qMz?2*9;`(V_R?V*)X=4KH&KH|aX>1;6hp74T!s&mmBbA#l_oAz zw$P}5;87HX$4Uqx=bll{f{bDXcfb{imGlVy_t$PP4=`xrQrb*X=@x;Yx>qm91JDL1 zJwZ|3hO!ianDqT{Ft&-6lvqg#SDgKja79xgFM8{*@vQt8mi+PgFMav-KOgfi-pqb^ z^P2u+`h)u8yZ*~>60Yc9P0vp#0wERGCMcA%p(2Vhl~HLGg>9I$p$N7pbHNj?7<}v2 zaK$!V!es^QE*;v!5@1gVN=(8Mw~0U;11kwwK;}8%xd})W5(d#cr%@-a@TeoNyh1r_ zb~mJuA`qeYxxopYSV>g&>Sc8pCLl54h$Kw#PPLNmqSKmKNr{z|SV@VMlvqhHA?`sd zNtXr$YpyfyP{j>&3Jtd>g`_atpwtptI+3iksQ3hlipOJIW_k%P&E&TJ0iCWjl;cvYYjQY!tt0TuS1 ze+@0EOXqIF1_jc!f_zof zEVkH=En?38%!k%f;I{v`#F7XSqZiBZ0JyxB1?xP2M1abD@~Rc#%5fUg(^+XXqC~K(jE5Dl9q|lT{^Ud zB?wA2a77Z9xD74o7(x)GWuf3mTR=KA5~FoNG6VIVD3*jWVvIp-AhM_KfD}>);?NKT zibU7T>HthYZBIp|$Rw7O1XK;A4p6jRhm@+2QWa9F!t8BIRfv@nZij16DOJHpS}<2+ zB}0Tka9{$(LALpY{VLFPF3j8p>0e+C0EL(TFtk?1jmr7PUl{+6s8QM*&q}f_hmUfC*xpz#3~QJ*7B7D=388+8zKD z>EGwmdA<~Zot}45fIV-d$1W$M`FMI>-X0$84a?qvmh}BNOcrXhpFHvdhaAC}_U`5d z-a4M!(~I--D>rnP;R=fOD1|f$z2E!8V)Xm8Hw?4N(4R&DpyuM~Y#Tf!m ze~XQ&cHA54NstR6d-Zxf01ibA#hE}Uol}BCP5kUQFwi!4QKC&H+7x!5+u4hWHudF~ zUnbgA7x%=i=UC0l>rn9Fc60cILL>!~$}^No%59Ex3?6G&J5ywNNpnMxnc-{{tUMmf za|FO+>zUVpjV>M90voVFq!lEENcMq^tzD1#**JAyyp4Y0l|JZR;~Mw2EYkfq!6sdz zf(6hH))GfWMjev2MR4#M5UD_*;s%^JjW|hUcP(!^97;51-{GzOIO|CO6Np~DtU6-? zav^O`6Dj#gm6%Hrk`y74Z)cMq_3V7;{$n!y_4!19Kb+}bbN=?~^_3a_@b;H~e)Gq( zuYa8Xbom$?(S}`f)%TN8<>`T|w;{*GqKCtU-!Ija*l>r|7Ua`dkt{_>QiS9qiI9ZS zY35NomqGV66R4k?8J*`@QI?>W78v$s#z?+Bur9uw`tGVQkxNIz}f%uU;pekqEs= z(TTe=w6?hmXdE-|27@p`2)lz1(7$rSVHm`)coK_BVo|l}zq8;&$Mo<^*e}C%7=i7j zKXzbXV4k(;7wZ=$ypiz6M}jv%zzN2cIf~Z7w<1e$2MXT%0T{!d75csnA3#{j-+bW+symD zyryk8b;bnsvPzghh#-Q=ctKfAFTy4-K)bb2C?k##?|At>vo`L42fj~P8n9LqCPGnJUt6k1LK#=nQPMZC&##eoGVY%tD6?u$r6dtj#0 z7RUYE`+x$IF|VQRx?g_z9-Q~ASI_s(hI&OKg17_~Nqy<|>DAku_bIg?r50cV*q|?U zbh)S0f|ObSxS9-gte|@^)RAahkR09|OO=GzQ8*Neb|Irg7N+pd>x%H64D~fbee0Rm zq!x7P&`o2VA%k5)@+Gp*lk@&2hR)WmN3T7!!A@-s*;ObRqY4}{c0FnhbN|-TJ zz=BalnYmoqj1{(2%%X;oRcJ|q1bZL>Z6HCH4sAmMphjm@`ARlLWX=$u`JB2uaA&zWF2&UfHy@qs>4MACr88StK!FaTxJd=u_F;jx znep(U0ZTb`DyIkt7^KH&g}+J2c){l*WiCir=BY3POq&*8=zZb<1(Uv7QU~AwL3)yN zDT%EK;2cP%yx)1Ry|9C%Vun(uFuuGaT|WvcgFea0Ud3#oEe@YbMJe zXle6!WTx1_J;nwo@72rd08GH3L@Hpvkc0^mUnmuDUKsh&!cUlB4o>Q;K6dd9U~@g< z(=U+X*I#MnjPhRtf_&AdWxrCtN_?T&7=;w4TN!kl{kI6SR=6}_0!+Spzyvv`WdQvd z<%u}>LP$J?Z&RTx8|Xs@>Aq#*6JO{M{hux!+QI~=1gE*SDc^TrjNn-LLc#}bN{*TY zB1fD+Qi}Q>_*+>NB`-y+?wl||M7;Nj2^cUzwX6=n1f2933bqg;Q=H(oae{UrFY$#E zUue^mPASDHe_(?_m+-)>5B&Yv%b(e|-#q#C6?y*4WthDD>dDi4%O9Ycg_z3%y0ZZu zFi0IR#K6NDKz`9eTT_);N-=`97(wg2YjOv=bY=?+5T*qu%tmVo-JG;QcWHsPx*a|C z(5b{ccRpt%WW0>pKe-XMyCXV#-=SOH{UOi4;cqotZK!5&Po)EDZ~p)E{+N>hv*8&xS& zjNs55f@9DZQn@IN^9Gdx@_@9vC@2TAUFI1WcSI|matOB9A$VVT#Ss&zUcIai!vu^= z&WKKYp~M%GI-Fxq?zPiih zz7PXN?;QWXX@91i;*?X2m6q}cu<6`G{(#d?cp6wHg9D$fKr&>`gvkP7jtEoc+NT)7 zM*cvHxYF>2x^!j>3kazV1fFEV0_CiC6BcN7J9_M)V*?U88=R9e(=Z(})MSPHMv1Iq zlcRdDvt9<1N)N=DeV?%b(W{r#0XTp_XB0$9)PYVo;I=qmTkJH|9@v^WnXtfg3PBesrJAo4orNZd*=(GzJR1ib{| zaXgsPkqq?)kVC);e4CUPnWnn1-n-n1NPbRyp*?(|We!1?4sBxsn2p4cq%U-;IRwEt zZ5*{(uolqTQHg8`oV(cUL87BZHsFzj31VRK6OvVd}*=bOb-XNBh zSqC8{M~HX4Ja0m6my^+aJUuUOpI6)t-rj%wBmn zbAz|jS z;N2bzd_NA8MYZNn9xVtqaf!Qmfdw9&%~NFdUAdvV3|G*7$B{Y-z2E!8V)Xm8Hw?3i z`9GbmT|AvluU*iEl$`PhQvHFmA5#5+^P1w8@`*p_d}6I~B`iY)xm4<-TrL^}Ufn7tas!{^ygFQO?}6~=hj(#Ttn z+y;(x8Ou#Lq7;MknpC2)iLP{tbS00-k`sbt1cFAG@0@43<2K`l8&nd~7SkS+d5L4b zgJ|4A(CPg5Nq-hmP0P8z7eLjwV(pA4u>rGwz)Jh~qv_1e=F`tcMZ|8OO@fg=yyzj*QNY;o&Ze3gqcM(E#SW2)WqMgIzWl)I|xv=WL6@C-xrg2)Tx zIy3Aw)w=5nS#S?ZC=)^pBC_%^ni~cO2jTc^5iUf-ED9 z=|9+am;ZS3wzYstPn<Dp$vTNtGPxw5pCX z?}Suap(<%*T;09vZ=9|X31ypfhJ`u3P{t00PgfR?PO2uS8I7fv<@n?qmZ+VHj(7B})`P}H| z6Jlg(r@b?9@=|W$5cL2)IS(qMws6E-2veDu8GV}Jjn;A7u(7&~V;dtV4aFLpLL2)q zLaW;`fgTzk6qw7wc%3N*xhTPi$gBXLhH&Q~!9bML$1NtiVm)nPVp;8tMxZtGP8tMl z5OxI>No1ONDQF=aL(TMvBU)stCEIEXm{@+d3xTZK)B+;!hKa>`^_n{Xr*NpvN{PMs zDB~L6h1u_;$#3V#iHQIEbT|u>(t$R!Wb)k~8Ebc2elyc-8`2;4aZtpG zc~Rgd#FMoJj&`?o@dl4Fo_up$S((9o9Bwc z?$M>QQ4jTmFpCMyfItuP#)=rR!5bN^Z3YSi2T2;$0c3om8SK4kTkz!P+;l`*ZJ*CYDo_nv_cAT?=FEZ0ph*-9LQo7T-Oy1SuKTc`J~> zuaU~np_gQIsSuMbe4s+)j=05Oj7P(1crq$L1by`H|MPzyMQ0WM=K_CjG-C1nC-~DZ z>Wl9(=f3Ks+O)f`yEHV++-2R=|2+Rc)jyANRyY>~66x|1`hi7>EiebI&Dg>ir>MwP zSzlVeZXC^+9a29jxG7S7>hD%rK=Iqym-ys$e~Qcd!%GCCW=+RFpL-ud5n|uPPHfi1 zSMz0eLVW>c9DzkSQfZ*Y09A%uVmxzgn9w3fMR|R9fBe~KSoSaHi~RD~oQwb37|Q-Hhn%M{PXmzs8t8eO6~##(u{i6msW1(vx*hudW(2ljqwi z^|HSF^S4-WeP3UVe63-a#joN3E@#6#SX>o->AaeeMVL&_Tc^nR>;7a01^IfJP0xR; z+A>3)SNwT2tNLi!!aw88#oJxE$=lfA*<>E-kFIsg&-k^~ih26%wZPSX{`ueW+G03; z9%eHvk80M&cdkB~z^q%${@l`+K|DhXvKDu)K;dj`)p3lp&|0cEw zf9C&sLw_$^|6lIc@W%c6+v_)1bTs*6Mtm=S(`#<-`N3#j;8&v30`96_Eeu^g!03KC zn*8o21=<*&*}Nq#jP8f$!OxLE__o@?;`i@**!C#d)q~X>A=jFN;er=p)0a4$#`pNM zdc_%pW@4l9r#&6&H(WVb;%(b~V9Wh%+X=n;@&UbIwe5C*7pzK1Owsx~X(?{=fTe`Q zwfrS){FBi%h65m>)`(K18my`A66)GepXx59x=RnPsYoFXof}%j(vcz)r9$ctVJ0hB zNeU{7hE4&F{jJ`w<7M}Lyh({&#JpZ=>C0QDJgM2 z3k_OaYKguJ9hG);y`k`Kaf3Er?LrmXrcZ<~9rR0BZ!zBwgA2!-3%G$2SCDS$r9AeS zc|r{dH9*iO9zeI_NT!^?#Pdxt^Lwkzlp`0gij+fc3*i+KG}wY1tXN1R*phMvp+c+q$$y_YYsY#qS_yE{uU3QJ(n%0;@4Zo>}P`7JSZ`D@sTj zMolCHYi}7dCy1cLsMos;>m3#!S`Ba&8`|cdj||nOq1z&?Ry(T;FeXZHg(43e+#!O0 zQBR?TLZsFjq0jiwqxyB5uqXaAMw;GV%v=RixUwvfQX-LxVNe6ani2}RNJ3W{5%tnG zZ?+j+j%_>nm^ry!%>3{XeP1#27#Y4ELQXMrbV-VtcdY()D;`mbnFAL=+;>C6m-cGg zEjhtDXb&G)fN-}7bR(55T4gD5Byx;}Eb>AaokJ^ghZF30L+2lR@<^9aZ9BpwH5$4H(H#S)=Kv)yGY>=BFsj6^-g;j zY&~LOwtWlzKC92{Zp%%$HIX+Gc_WcGhO>UzuVe}x*r(QMl{pcUGbK@(4Kz`{t0aho zTOS;^5|7d>Rv|r_Bd`amgU)h6XvRyFph0j{aSy&DPIx;MP+ma3tJX7s8yLcd3H8j6~JJ(08Brop9@WNI4)76t8yL!*J{I z<{a$Gl49#HkjX=sWcNmep7y?U-601=Xw zw-1-^KwYqL{>6PIF?4QfGy6 z2)j}cGc7@}Qi!|?q_hdo-HGXVQ;R%mj!R@*#4 z==wo&kdXuJXlYbdfGB~fX>%lzmpn64mQor?Z7@yupR#WE)*-uH{_)|Xxs5p7O=*3l z#$6OxJe9^YhNIT(X57|ev$}3O>lor=vyV=+JEmq2My`0`25#uX+L;%{`~7~Yvi+f+oa15-3ZteMxbJbbqaMC2=R`Wo3x5mX3mY8`ok^c{%doy znV8u}sLKwIW^IorkLE$tp5)O)p?D+ksJ3$ljPA%9?j&@JPwa$K;>l)(W?x~Y!X{y?oscH z=9#222N$9YkYU93cVa~SkJ+o)Wkg$EO${HBA~f=ql2>!58*v@xt*q`Uj+?xiUFtvW z@@k#}L4O^=C%451=eDRt1NW7pgNtLWLf=Q=?MtZ|?><$7>Rx@`9^$niJxZYhBy4@t z)Yn-(6%nor`p4-$g9gWNR^8F5`1hZm{QFVl;EX2yKPsV_r~~4BEMN-oyHk;OLlN=* zGd4EP@QwCt^IpPxme^Q{jg=}yB$0uXxzWFxxMA;Ka|AeF_5b&);0Ci-C|iA8nHxkw zT)=S@PzVGBrpU`OMEOkSpfKrRLa;mQ$~{Phh<<@H^Dc#$Z{@Y`cJ?)-s4kt_b{|CI z7$;F*Ex8YFXL{VifpC3bW8ZhCMs3{MqDK)*0_UJdIjkWpEnQ}&FrWoe4*3qHi=rYA z9ZrwB{=>H@*Rb^g(L@KGVm@6j7qO}uy`^VXU%nUfzFrRpnD@-~EY(sHdd%iM@*rm6 zMXYK*U5?%TrC~QKYrPfQO!?~jS!`vp=#xdCEc#^8CyV|hEPBR0RTeo2UKWrI;{p|; z3@ac^Co?ua$?>e zn(E&7c$21$`%@g&9^0u0&ev~f+3mJ4o^bH}QB@t`eCK2aW)dn{Q7>H{kmevYe&ztX zeeLI#7GDRP(Z22IZ1j4PA84aX)SqNW?SdcA^FiM~eO8mIAJkHBw`I*&G=9F?-K=D(YurX&Qx`jVlll>MaU}L*? z>Drd1PXg9b z2t4Er7187JI>4ZB{pcZP{jQsj%($n$dKDaI+?xn`Ek9-l{5lJ9dcK*N_i#L$>+M=I z^4BvbH=DaNkuYI^gaHx;NEjetfRn%gRzViY79`Wc7LZWY1|mYa%@`>_Bq&VC^@+(M zX~qho17Z+9il?Xofe1={Mvc`*KqMrm@r{mO7U|ud%MCK=GT?1w!oVmYB9VmFk;%Iq zpMyZl^`G9b&AI`Yn;+2vGr5zBDb%nnwLwgRKy=6C+-II*x8PBDCmblcbYlY!0XAJ8 zg!fs=#zdykf^+oQs0iToeKrYh7NS)2G)!LiefTl_YaXTxu6^kX>7=0i;*1gcx7eJ@YxAOi zh1YObG20zq=nM+k#J(W%g4zp8d-bwD0BZ4*NM-0UB_5)3;`MeVsFm~@L{2o6DnQXJ zu%##pLCPGq3t=US0_G+BMbTJs<8i-mK9;?&NE9y@0u~JZLJ~jN5U+T1HAs35sj#A- zjHc0G@uRErR9Nxht5s+xoC!#BuoeomS}HK408DhL%3x6yR8Wbvyfxf%yoD7L+*&)v zm&yX9fm^)8pts>xolZRIxZ_7DDwLu^ z396*1P>KqjL{!L=l2JngG&W;YD2K$pRY7Hz7M7G{(83>AdUkYx)K1&z-CYEC*1fnn zblIU1N>Ixl3^x%R-mM7HAGJa^IX5B6`?^mhG~_TNc1LPb7Ed&x#mSyNJ%yLW!G3hVUsA{eu` z$uH_b|4MiOklQSto$?Lnz$!G{2tm5gj&ql+te>tC2Oo8%dKti*Qe?+&#(6TY^<|mm{B_poY?bml^^S@+R^NdS-9<-tak0@ z_GhEXEWWA`JPt;^-)(#f{Y~i7e2L+lVG2Ke7H=rsU>X*aZxABg1}ZyGhu`*x5ZkG& z5*fe5Nje+((IDP|KQH_k|Bhe8squM#I-B(K`I@cuc_`g{5L*;4YVW@I@TfG{l$t26Rh-R3{*b8_)@9G%Uhar2HiuE)BjcD!V4@aF~Af9OfkTdhyg0+5HnM#h8diOR~Bw&CmG70aTx>(Q?tNgJmJLXiXUYh zu**x~;hj*BtpR z_d|tv8duOe3oQYwj>BZuU-*Hl7}<4sx7f@Fa(3J@&{4ZNR;!=|me+c`?VxSTlHHW;!fN#8;`wrb~O8%_iuaHvg)Yj_KlwE7dQA;iK+t-A^wsSzB-XyIMJ88DC>|h55tu^} zF%cMK!8FZKXP)JSCk4%8g1`Y}^459)tRsE9y8thbu^8gWvOm(Y$~rOwav+GM`c319$vcc~EX-`M2go zylp$B7X;d?7ytSLP!SZsynZv|9JR6XhzRdi8O00Dxzt$EA?+ zm{Yok3&;7^LWvKdSGB!8Ya7W@@FJDqo{cXOcu(Lxf%gR7PXfGqt7z__KjjLKdSfNY zGiM}$^c=)J%c2y@L`Bc7{Ep)U?}0N;6)G&0Mbs$eQB02ro0U>{<_kfL@_3`;2k!?R zyA5pbGM+8iF0G_iCZ(xsu>GL!Utq+JfPL$e@r0I{+|JP5erpT3`@*Rrk5xv3juP13 zLu9TjGN)-#^56`s1SJmu?puHO5b%D}1MUFeA=uz`C`l%{1V7COk>$*XOcvUru94G5 zN4@IK0Dj$+twGoW!1nE(wZr1Bo4F0JbLRvNlxIFiVzm%D?(-6A0H);LJ7S2l28)j!{WWc=qH^29qJ{Sf7r0qqI4ENt%@m|r91T`EFpC6{V#-K1&o^GSd9_Ie)f z8aKrO+W-D?I(=2&aO@*}e(jCUH=F-%WkrDWx^=aFUAAjN$Yr&xR}1UD*gPk$2pS|>am zR>?KE0=}8(`)N(U-{yIEIUB_1#|NC`EZlg9Bb|z|m6;p&qriKZoc$G@{*z0Hk0?-bUf4? zxHcPiO2a%pY95j7)$y+nj7J1L(ph*B)ykT*+lOEet+!%Z1f%+X7F(I}eiC&kQHK(B zC{c$_f;v=ckmfnk0XT_*-Ab34WgObtAkgQGqD(M%2)&;Wb;#!h%7r7#L1+sWxk1c4 z&sBlf5(1?-QR27~&p&?ZQ1>&p;SF^e%q_eju*8gt84^hxrjB@=cklZJFQp@CXzj7F zyZ7h!tl!Wg2)P18mqMYIOOA>Pq6GIZmzrg{C%NF9dvj=+h_#kuW%OQT|W@59MJRVynSwFY$$fT-7d>SjB-ZsRtj94snE z5KtnyMTVv*jL9tVE-Q*aL#+71IJg$^pGWmmZX^V)wW+@RzGy(qb3z=?GsQTDT3VLb zvLIl%g`AgMNynOmpQ@1+dE>uM7oaXS+7ASvem1%q1Dc+@*RDTsd4B)~4Kk!20;TS3 z$^hcsZ`@@V&a#bWE{lgGyqfT8!mA0dCcJtQc$GO4M4?gb&u}D$5ZJs(5e6Tyv;^NU zMe?ZXa6)*s;1tRmFn#jEB72=^$g~#DXCCR`3KP^zf?k*+Cy2-cSWfbsEO>1{6RqXnKP94&+5~JC* z%v`Cu2q|pD6XXPFF9mV}pyyz6i-nE?a)oxDLdpTZwY(|j-LGe=ukvhmwX_SQ-E;5F zxc2*R(7;Gb?)$J_u{0P(X-;#jX@(_U5Y#S(JWb{Tz>jB?Fs8QW?k`L3ZR_RLmuS}3 z?ER`it?ByxH)ns1HBZhK>HcS*jf!w_#t8XaY(%wn#_~5P`+haX++~o2fR;u^>2oPUdqi)%1u8fFQ`L{aOg1(h=PS%NVM#v~YX5-`Suz`P_X zBRL0nDwZ!*Vpas?s9e0G~IOc~zNsVe~#)=}4_z@GNF{ z7Gbj2FpfWVQV?d(2(0zN!@-wAAwi!MNYBr8fv^>K(I=rZ&jJMayp?6yv1a>D6R^>L z-amLPxK%@++rby9Ne(eK#2JYIdVKMrB+C$>NxrAY@9h4=t6*$>^6ij3|-lR50=m5Wj4%JiK3{RmF z@oS56I}w-+^K$c}@FrsF#Z|^uS0(rYCxc4xWtiYgf-fflUq~r6tQ`vzfPiR6AU$S+ z3YmtPuR*}W{uenqTca>f!exJ0dq;6i%b2OYKdVbgMYF=YS-2cc-mW`)9~W2sVJx-{ zJNb3At6GoQxB}1Fs~G;#LzphZ+JZ0;ms6aGs1BbX%ud@qL6~dYpw@Ej9KFFpMqpw# zhsCy1DMlb;vP0px`6}MGP2hOj-qA4(B6{`IPdMV`$=!E2Gfxn z_ePV;^WUfE2tdno{Qu@7qtx2sv-*wv7nc0-`7eF>^*4vzHSN0Z+gMan9e`4FihH@9b7N>(a|lE_sFQ6xl>5Ct~& zlRy-xgQ2AiWfp`1lbk`YIY$k-j09xJ#;jtQF+O)vTy1~2M zTm*M?L+rYz1d-cWKC5Q##t=6?xl?zX54V|z(G9;$_o#a5)Jvk&QO$f*Ae#9o))9zP zWv$M@qAFyah7Ujp|Jke`s=W7j^|jIw`0tDV+FFZXRScv3h-*S|>$-)IKRmed!yd`R zMx1W#vQ5e6^-2%L&Y}xZ!*)xR2E5&D*batg7{GK{{rsu#OVhHE_b?>|McIVaj} zS;O7ii!U#DAcH{_(db}=`d4l^41-AP`yPAf!b1_+=P^i8xhm!{+R;${uG|nR5myLh zpaL(-@UGMUaDXL#pnny>VCY@-{bW=XSo5Q+Cgc;{K*Ou5tnw7)dBP+>;y?EM`1k0z zM{(mSvIOoh(O^a*yBWpEg^DHp@(@s@uqyae>bxpvR$ZQAdTSxIQT}VxyiN!_A#g0J z4x8V6*2jgPz5JPd`^}SIUyjroKB&O-=Wgbzr)Z>X2a(H63yr4~ z$R0KYOualu9=ArelQWUDcVY+}DcdCp6lLnD1naRZZDzQ{f5NH2L=lWPF=^{~Q=IN_ z05@4qT}C$H@S8$&6$t%brB5}J6xAs(1BsD%ctO~)W1 zN~mFZfg~uJNB`Oqy6;X%+uau(a-H_wjCQX;TD1A@ioT2C6eLE}EWBI-@?v!5`os8w ze|LFkfaoec52*Cd3cSwqLEk@p76JDH@PAtwOf_=-{4Gc>eIKv>Gw#YM8u@;sk!zBN z4~T=-Td{_Kmep&k?~|zdjr_Bkc2;2!{C&DYAkoIbF68e>0w{l{eZ>+^~JemK*==KSr|>nk(<;q5Q~{N|5mU;jA&=`xy1oqsyPpJ-Dm)ni=r zs8#qA69OW251&81nz-TF4=4jSebwLBt()|}1b-5xF)~Z%;~}QfNx+{%3KnRtGgNAi zmD{5#0<);tO{o^aSyqId>JG=79`z9mt9KdDgnGK5o&#*2L%`13V{yK8fH~_ov;fX2 z39EMpH3?Z@YRtm>K^8xTMMQCWUWD;r^fty49)jPvy&ZlqpP~#RO<|NIcAZq>QfgF6 zjXDV&!9^$w0l6jO2tuaXsVomRWIXV)&=9+pRWN3280Cv$@niVc94fBc3?h8{AQB6R zE)c&I?uS4L^jS&l?6Fg0@yi7Dq0NkMy$H-vKY`PxKDx(r+!FHl06koP2Ky?l{v z(_@*xakjb)R`R4aa;g~L`{#=+fBTwEwX|hc?b#g++4_hZ-?+E^mKH|n7%1%!1ljt7 zOSkk5Smvf1(cbI9k3~o!N|kAr_!(QNrW1H#>IL$Kz)JQo>f*5 zBkG%$QS53;dyQb02nMn?h*%>^4Jm#RixN47Iz!W z5snVnB_ue6aJjtcyDFr-q`s(8Bs|983Y?WhhR+k7mTevyu|9LrkI}V?II~w+9qsh0+goMuqeS{L0 zPjiJEWaGCGUKpNToRy3fsA>(-aZjP0Lm)byOND~Dc}|!Q#4th6va`nvp@!Mpi)UdH z)#X89JL?ZIuwd$+6@8?DfE4`p;;hMs7>uCNxnlc|hL9TxNR7DaB!>JR8XM-<{p?!%x5a^81UkTMfvI(Ql#AK)q-t$Si(%R!&A&XWk*< z;_UbS>=nFpFxnF2sLKkUx3x4u9^n zI_JyL9Ijrm)-iRLyvsS%*Z^nKaq!Tc^Jn#3jz9ixe`p5u7zewxSO%B{^YJHV(N#5_ zRtxNDadDRa<+thJY5t$TIrESF&5u95HLw5vR{h6!U+exK|1e*Tet!0J{PxS~Gwd!y z@#$YafuT~Zx3vfS^P8V1!oRqD`7o5|6V`l%DwrNla9}T%kWKHE@ywa=|#T4 z7CFZbc~)P3<}N{kp3cs``0i(%Z3~9<#aVofj=wtzv$*e|tuNzW(S%RMCuc|&`E68| zFH7hOjV7Oxp82G@r2hOs#s676!7h`-RE&Y!u0=h<9>!YH0_UupQ37?%m^w9(f{}VDf+R?I51iqjzx)J)HhUb)tp5c+v9M0hc@He$v%mi5qLM}i#ZgLnq(>FAHhcbz z{H@spq5RpSrYFu8KX48^AN1k+zg|{La`BlyyINSstC_zrQ>w4Y+2go+v*(|GlYKdw zWX~2x^5cL0^y3$w{rxF^g!CBO^YYc}ETSFR7ehaarcr#S%Rl-!TZ&L3RW5XYM!XdX ztw{Z-GVIQOg&1m=yKz+1+gN3B4ph6;Dg zaS&t6T%JW+p9$M*amNAc^|J^sve<=_(ICF(aFkV$W6!HrtK-?kU0%6E?|Oj@fGKjr zudOQoYCile6kUGxJ&bqr$jx=$r8!@`8AGgO8hat5U2gapuq|G_vA2A(@!wq@^&AG0 z$IOpCIv!1CStF_#pAQo%!{q&xQyk8OkpBhDjEH#=p3n2ot7Nrlm*1$ig6n(0f5M#o z>G?~dv@S(%m=mR7Oxl752uue`h16PNGba~rM63u*ki?T@?NEkk2pSZC|9m zB{7qf&4NdU+ShS=0#D@x(P0v>{1~+QcZyw5>&cB8!+of}_N4Nze zQVGHgiq76kgu6cHZ;WsEnu`$MZF;c^?;iOu;H8@8?k3UhGIUnfSEs(Y!Fp?l#Zikd zF9I#H(m=TvNwYM|i;`sk7Z~|~a>|9kuXYHF?{9sV7-85M>#zIKu8p4S{uCH4esqbUn)Yzrc8QR+XSYbh%kLt+_Z^l&141CO zS1-q|ae3SXBCeuD6MnB@`HnRUI*&E_vMzUY?8_X(eoM}7LK{gtq~_QrzHTaqc4HNE zoNBj21N8*!kd$}3=bsSTfETr}78oO->O9KzDViCJG&yRx&Uqmjmpl2o32ksrG{WAS z-nIs9bm`m;v;oByDvjj!p7^x2@zKemj&@*Uz9+O%D--Xx-r8t`D_)e`33%^0c$5Ga znUknS7=rc%DY#oe{Dd}^j{8STM6pF~W%=DZMjOmtM0v5ra_ovWaFZlGP8rCsN167w zYr-}Xn8$%J)(Q?T1q$yH#rQtSvIF!dY>}`r}5ClSCkp3Ex4!fzBbN&+59z#|k!P#uE9hB=;BvDasK6(UnZkH8SR)A;4I@{ zeXq5Ys3s)`Cl$ZE{#$| z@_Q2JJK-R})~?6=d}yP+^n_alf<9BIR|IW0kGL8tlyN6>r`22V;I`TbCx`{^4u4xW4(wyzsnN zuYdy#dU)ZjVb<7_V(Q<&Ilqg3!mLv~+t;(_W%xg^dE}gl>bQcJGsCzQqPuTko z-GBHrvo(fp7lVC=@p7}dzUwB~HcPv^N=hI>YM(0!ePWM)StAj^B4E!LxZ+C|KtYSF zv*k@u9c-PpvVu!HezJ?He)FxzXQ(gc`vHbJJnxcN2(=~0yUV*&qHV#<^P3#+i8YfP z@5%8FY3;IKQ65ktIk!%$%n8krF-0JX5}@%Js86h!MLC_>+w+A)*ZHDgSjCG-Hv9e9 z?71%-GlpcPveD?seU_8bW(rj%sWwg<8(Cc+oz1@6-+ANd*I4gey0vA!Gngfo6B6x7 zbohHNNK?OI{IL(m@g9-SF*x2$$xJXvv39{i@Y2gjMnnA(sY@yYFElKDG_`{*zk4D! z&fERNcPfr|2FE*Az=77h;?kJ=ty|MkAZKIj8vWU?CZqZI2)HyG?b+sz7)~#f6aM^s z3LWTF$MSZXBFPD#Xz&Q;Cxag6{XID03$2i~s*tu?Xwcvl;{Fbac9}Q4q$HGiZa+#I z{LN?aj1PaGQ%@3N~Kx zifVG~GTf`?9;{unX3})(n@t&;_4`{CogzSzsGvFvIW(b!bI3L?;N|C~fFLF$qL4X@ zU+sVZ4zL|>05F}Of;WLMKBNR^s2LkcLkrcL&qhT|v{>p;HflI0uC|Y?+*l}cu^bPB z8&p8u>!^bX2p-JB3zrWbG#z)n72CGf>ib!2gewxRNVo!q#XZCi zN>KQT@;37p(jS6*==CY+d?N|BC<<3nIOEWgkCqVB{oreY2VHu!4JMFFs3BVvZP*k% zsDlUH`ySoa0G{0lqH&_HJvMgt{&>Oq4K0iiP~f*JZi{Rf1IDKjnJc-@jB&Osa^-l4 z5U~SB*wVhGL;0{)*0-UpN2GQM6TP0~2bkzAs$DA0>`|&+HX}CNOwC@7+x-OscDH4l zy`DsKHrOpm@p3JZp<|icMD(=-jr+mK6;Is24SkqAWG3$QcC4+YL7pu6h_;hg{^Ai+Nl_;$>U^6l`IE5Z zH3_QpWtmADvv5TYxor=_zO<%5_Mm1^-p0oE(GqC79C?lD-lZ>FraSn%Fh4{x-Phgm zU3wj}vO8(!+5@}U>DO;*+31c56RSXEMPQIh3q_Hk=8(_8m?60_k}`i_dhN9zJj6cV zcH@!R<`ku3t7(3qZH^QLLmP>msh{-6v;JsUWrcVxL=eGbyr5O-uN?W!mSxr{LL4F9 z@mTt6q0&~}(TSA#XGgW1CYiy#cKw0N`-A@M?ej2u2=jbrQ`V}sZ8S5P>&aXXZ^ocM zBy+t8$y`t7`lFLD*JVLMD80@~Qo`{r70HY?G^5OvC_aTOTmDfBVBX~jY|QsAeY>({*5fNd^<3D_9O_nbz%VQfs#yBH#?*6!xO?;7S#9df?ethQ!O z&PwS^Au{be&@eS6gfN}XymJcG$zWa<0>9OPRI{t4UF`Zj_a2vNPfV{~0tcA(ob(97 zheRHA?rP0x+M##!VBGkP_N=+#mjxn{5aw*WMhH*r__fYR?D(W?-@CpdlCu4*4=DWE z%b(e|-#q#C6?y*4WthDD>dDi4W5-*~0!3s$^FqLzRSM*=mO^H>aG=^ap3CB+X4Gsy zi+7xTjYZ$3Q(G3jl9pOV?@1V^=I`EYz&01%zeQjF@^;P1sBcB zPm%VDWd!#`eN*z>+jA%yy~aTc0#Cd2*(NeQuUFOj=hHAtUi;*=PhR`{*WhOhlQosC z>POk0n)|9-!;6k=XcB2?7Rzx@zU{L1vE;^8E1t> z9ywL;)>Dz?T)B)BN@$M4g(5Kg*7BzPC1}^}t!reCTeP>v14m}g%U(VG4>RYjVNx8U zG2bAnT{#NS5b~G+@b0{S71`ZwS@Tn*{MX1jq2R~Gj3u57`ee{2gZ`&q%I{_W%`nk$ zPJ@P{rOqAA1ssVAb!d4s=%sgAj-*&2y|Ri#?&(Ko(BI(%Y;5{2UE8+l!J?;x#0bef z*!1;V-fYG;7d@QMzHJiiH$%FZ^*aZ-Q-_?ln$`B$a}=Isu5^)154=o6)T4|^usJB- z9EBr5`NofRFzk1>^$>4;tHsA^+SjY#Fw_2sJ@w7#ttpr;$L;>j`t??iw`Cat{ z>%e;7SkN7xKOYaVkUKnn{^0KU0>%YbkiXUp)o}!jjx1+{W(qEffP#+P=aJw2(OUD} z55C5T@6w|!BVJgA%)R@nNY&WqH~ONRiyqF1@80*Ap$*-CH-UbOMTPrr@NRFrq2-9D ztRNb^`K$~Mw0VzQSi>bpYAks3(is`VfqFITuf3=bduS_<(?%D)dXgVzqaUsNy$RO5 z?oVd(wfc3bsBBfY%*_iNg7E;If`NVIhVC+4A>FX&N0ZR|y+15QzfXI^FgwR8>`!se z^5W@idhLQP#z6HHH^WmF{&h(z|N1a5H$Pf9os$%CJfQgr+3hmq zPUIzpOdiVCApVbfvc{OK;J)-+E3c{l81435hw?V3)y|@_T{^dA!h<$%jFypgaSwj@ z`aN$pV4I8X--N%@FyN*3Tl2eqVP$=F>YIa#${KH|7oKNS*qBI#vTIOW;Ta);Kr^Zk z)ONJ>_qTrO?7ab?bbbmZz{gcomatyE91jBm`})WEPnWUS&4xqs zdM@O8gyJg9UX6-Xj3VN*@$Us5;l|^Bgmwf4ZM3$i!ci1a2%CZfkcW^FR)T++mpZRJ zAJyf~PZHcXulskD;6{QQrv*0zhwVco$+&>*pYW(+WsE8_FRiyeIIlz$2l?p21a~_B znutM{&fSC?3}6Gb2Waf|1UK$94Cuk*gd2e=ViYAAkUlVeQ6M&Fa+WEG^TCcboY&O`N_(UV7mp^BFmTI4I6_OV zlw+9*9@Rowt}+{p&7{h;ExD(;iy_M*EDt+uulS%s4okRUP&vTT0{IVK!1Cb*;0B6+ zWu6Ku%1RbJ@;VaSxDDLs(zzROgIFO@PC1np7)@hku)CQd#|k%CUKpXVYI$L>@?e^R zKA>_q)umQ>ur6mY^C(3({{85+8_Z*p=wt80coyQ0)(TWCzk}I1o#)SIZZ@xY_|47R zZt51@prThV#{=L-EOWq(#r~Y&Mz};y&v<%Xx_r|2!@>AwMbu3Ul;8$fMvHWgl)C}$ zRU%WN-e4kAO@B~-eAj>Z&5J~)IxR94AvpOSNnRECT&vUDsQmo)M!HvPU z?ly3vOXqIF4JhG*$f{%_Q+>E_Bd)blX*dZiG!6tqoWog1Bii?crzI`&0|iqz&9p79 z>Xwz>ieB9ip;={de@wX>`a+ssy&MmK8w6x3$`aH_P{ZUIG_E~-c?8mFOqQ9{Am`~o znbaYriKo1cvmfS&z`yFl#@b-&Tu+DDtR9f^HWJi`3T`KqCa$D*xrBx!w!e@GT?EL) zbEJtYfwF2u$U=P7)fYBxxK6INhDg<=b2p&|bhWf0)adArML=l)x9-znIhtHmK`l4H z=M6pRtLQcS&Rs><@5*(!cEPi{tkU9|m7lm}WyT-dWVW|2N<^xkYe##lZ*DNtqYr%< zq^JmJ&I(r)D7vPd0p3t3eu7U_CY^ExL;VfqQ=0ho;KVX|v1OtzzkAn_4SgY4uU?La zKn>F4mZ2i{Q5J>R6)fC>P7{$TsZymh@s8~L%l_*ytVvlcD2euFf*ZSRqfV#~ zJ=g%V@4J)rGPOptXO~+nLaO3cqcS3N(KzjD*1Y!HH&yG82jW32uCtaD(%*2#n_$s?wF9PeBUKVHsvjV(3Fq zg7N49OK@Wqk6T7C?l-zYNv~dx2fz&mA{8nEDNYlaDv_xYnJS6krszgj(3arF2Msp} z^FoW9g4cm^8zSd$w9>+5Mb1s2Fp3dU>~t2%S)LBc~2kHINr>ZC;?nUyecm+%q^@L#Zu=ZhRgsp9D8<12?*K z?sd4qt+i03(on%oaN~njrIJ=#Xfd#iGmq#-=^YB)AYmMdq}=8x@TYZBr8O$^%i%WA32r2~k>Eyx8wqYCxRKxna+m^fmRk}sR~9D*1Y5hbZO@=O!l_;6LJtoDWDkb-lTA$J3^$C)JsMByax283~m5K-+l zk*OY-Or=WfCcg{m8;Cj^D zFpiO|#3DrXzp@Y^qRj+19vp5E(pxOY1JDMITq+Zj#Zz!2p^bz#652>;BcY9iHh?w? zs;G(;jfFK}k$VBdr@-GB3UAolNM5*D+cwdNAsxDDLs(z%;(gA-ZkMI=F@Pn)y)3RCePCQa5CzMb*o(Gu)6D5^w`K z|BBfJHxk@Pa3jHu1UC}gNN^)^si-jl#Ewh}9W`=%$ZQcv7INu0Q)OP-lqr5|E>(xl z-Gm!dKqyQa5o1azy76H~H*#T2uD!^(EWo7-F}h&`N^6QB15?~cn&8G!zzr&T^>RD_ zZbThi&XMh(q8ll7!zH+p;6{QQ32r2~0l1-p%9SW&W(YyjYHnC&RUxtx>i>i|R#=iU z#cvBYx^(Ua+%VRH+$JQ6br%xc_(0)?wgj-!X2{clFqM@OWGbYK7v3UK0Qpj!5Db4J zQ#~-5N?b_WtC!;;aD((D6#a-yRsIs(NN{78;6{QQ32r2~0l1Mf?>!?lquM~2ia46( z;8!7cgHTp-K?;&G#cvBYx^(U)+%QaVI8=#FaN~p3!L@lPREgAZ#qx;prOJ$!0sk3P zL9BuvT&nVS1knv~Ay}_ojt9UEN~jRZFm+(>W(UR~8=T=b|__!IZ`Sj`UR z*VC(s8=n0zpM>eFK0e;4yKvR_lhOar-n%xrZDiS^-*3eI4-Cbf+ubJ&GGE9{)CtEu zlAjv4Y_%nO+&w*^$V?lx#DWzxRmPr5v63E0}d#|1C4}>@ zzy3PQ)Yp&H!$7Dw=mcU@@!@Q2CjIgBeDHcUV1%Rt{QqX}_4;0y;a>NDU*7Bg^U|B) z{G~HQHG$DT!@2BHV~@Bf^acH)gTA5vv;jxLOD)WQq=B6rIIImhr?gMiWVO zR;0F|(6C0haYG;6E`z%XH&V(#sNyWbjgJ>@Xyr4bc?Qa&(Wq`@CiJ?2T|-d_nWbnB zSz-JLH|`y7PztGdH60It8_;fWblpJroO-93o0gM#IUYR@IYp<0@B&gDo>TaeX=4*D zGLTqJps#|{YIxwU&i%-Y=G7i4(?sowTOa)S*&h$g0uJ$SOp zlkVat`ZxH+8MdAcUQf%p$0;<~%fW16SJyBbbh&^5^0ni|G{TKNw{3u7F3mionz8aL zWchgDQI2e}`H_D!S$(9lYO8Bg(QatUi`gJN5+nS5Hk{pDZZy?grYkBgtqA7bau zKYigN+=y@^!i}>CH?Z0eB;hi=93fM6aKlaU+Ovk+go0t^l<^XUHmokOx^a{0Mwh|e zgd1EEMiddz2>0WK8*rJn#GuWMXW%Ugm&1Kp7ip4bGzY$S%G)sMBHXxVxWUg-2~XQ< zIvxNw2&CdNm6}H~RfHQ6ZbY~d;YNfT5pIN38@D!>S|Zh^&~if%mnD`h z$XMN2+*G^KWpFp)1|#UM$iV$Zycwn9yHc^g=~;4NW^+GH7!rbK+%H}k7l zW!p|5A1!OP&&vxxo12S3Re@)QO2BX;*>jSfF@DBGzn+er;YNi~NG51XbR<*7z8ld9 zH#$>Asd&_GL^2g#u(`5I<%LU_A|?^6@UX-MnJRTsyIe8LNMP|sGSyAsMwh|efE!49 z!{9)rDx|j~-1s=*hGE)jw2n_4%t8`0S^?a!4tjAe!P`$WZ?izIj&S4N;Rbk7%jtLk z+CXc-6a``)n~F#2#y-VOlx{pA!V(413Ob$U$h}AkA)EC+A*_I@k}Z@KA@yb^lQK6h z*e``wqkpl~vM>owZ%>r*dNQJe+Yfrs_C~ zVF0gKZMm;9^6txD%JkcRJ>*}#ng84 z6eHTW3EJo~xSME0K_t#IO+qX8h&Db>v{6784wGp#+n^L^12li=rQm~`W4fi18)u2b z?T={Vp3w$7OF8^2tLbNHXE#8=OKbl|iCg}!ml7?Cp_>RNM z4Yb3H-MuuUksrA@K9S{OPZKineA zJeX4^ap0AM-a!SNn;o1wjc2LI;m>TVoB|O1{QJr>`Z5&wYLx%ze_w!+5JKclmOH-f zP3y0#cf#DCkEd_fiS!Tii*i)X=3&);6>2H1gKTVp<5ZyZejQUfy$1&sQkxCB3~&p2 zKuAo8P?1-)Pc`1@R^Y)pPANwU6Qi71lW>$aKxoVWKXeMr59nz*^y4f)TID!sNE^(h zXAAJ2e7>FcbonLb@Ovdb0UNM>JzoyP2AQH9*_Mb6-UBw+ucx{>F8I>h#W^N%#01er zYFDF*jtS>jiU7u*jYkd4-lz(69L0zUK59&0iHCg@6x|jUweZhG4;Sq~fyyX=0?9?; zY&5OCsjR!p;BMl9R7rvCr;084_Thp3VaTy!0qzTfdz>e_VCaL1|4K0NL?RVvh*m1= zbM3rXcR;8;6$J8{rxFy24h;HqCw$Iftror$b33D;Q!8}9*Z zbVL0Sa8xV?Ql+#E#VH#(F^Z+83>DnjHgay^8U%&(QwaY1a0PskIpOnT8jsoxZ z;V0E?uHPJbL=IH!ngMo0lwQQ1;1Pa=PB^bBA}Q^YidZ_HPW`YdUR7S0kcV<94NJ6l zh+UWs-R5qT%2WinyZYM(P_(RB;M zu-x(S{9IL_UHDE)c)%)wW&!0c-J*$dDy-+%rpcZ{cLB z<@y@$D|W_6zn-%PKqK@m*Gws%#;VNwfJXakuQ!K9kpdPQ2?o{?0+Faj4+bb3HG!)| zzNJk3Qp3?S8eQOp@S?nk6flww@c)~`R6k&`B6IejPy!5eilnf#kcC)J606|KBSj8T zI;GMT!Bils(Ql$g?=rZXn1p8;%#er-b3bB|>oCdwFyvVANI@0jsel{=IR{KS2(oN} z=H&qL$V3Rsii!bvYItO=TJo__z-ZR5r{iI8BO{zCP9q8I1ChYmU3_j1IbtOyR$^i$ zhDRb8FlQu!A?&<^N=%m0+`;fF$+QI#EQ8@)#tWTLv>;%bv((Z+M~bjx4R&nH!MEOn z4H2x%0JotBl<1k_fdv$y$92%7)2+ZL9;X`J6_|R3q>0x+`a%dyL#k+k?$=DP99=(5 zXs>gW@S`mbxfGmlv6Z;|67k`CR-*$OEa%IC&_GfpV~_Fo;)}a&9!8_8lroj+tXjvf zO&>>%$ZTvT{qZzvL`dSP^EtfOmG=g#|71}yKq!oXA~XobbP*chskj4ZAeGh<{jH%9 z$wAU`u&fI9oQV?!npfcgO8)VYu{x$ zQYE2|Ak*BKgt!!>LS~CZD-oJ+*cABPSWbfD@oJ|{zv;a{IcP$^!_T(fH3Z(rV{A)h zzkcQq3ECm}PLbv1JkpF#fMyhx4N=(;l?_>@zJ8=0Mr8v`k22wq-wqNz1~2#&5f5Bg zC`(mHYHSqlI^xBsY*>lCy*3U(h)d8J3ZDC1*~Ac1pqM~NuDFNiRP3|2VQ#yvp1zY} z)MbD-WBbsfD`RL393oAWaE1W4k4MFLdQoZp%@ChA(d#$U@nW(J4IdQ7PD?i$PJ&Li z+2CpL63zW|Z}=E~Y;RZ_!r11>RTO)C>BQEpSR0JzZzmAVU0N6IkD>h=bpH%itg}wz zGk8@_=Zm!mW^Ml#0?^JgxS$f~tl{wn*|mo+0p?;+VD|AePhA%K?JX)7-B)I~*f7v- zJ*+EbMSv{}i|WBfOO9=Ku$!Qoh<-gK4}cy}VRNlinxzqXya(v9U&(~~e#2gS5q3n_ z5n)G!9g)6-cjO(=momvREiPIM_J3NKIPHPKSVYTR8*rz$G=Q%Ye49 z1k))+AQGw&v3zlg)Fk4W)zXN>OGu1h106bX8=0t_aOLq0)uH-&3#8D5eXS(^{))_U z*G~@#mg?72|=4FT<;6>T=B9867V|(w|-WzY34UW&n zifQY{7cJA$CXEoiU9VN^*O)YVyPiD|nRlshp$b8vW{|mnu0i>v01L+>)=8-gN%7+; zMeJ2krx1S=$$Y|`MxNIgbWu(Px?f~0r^Im%goG>lc-mdGUcn7|>2hy3(M#y@m!^`& zb{G39A=`js>sH`FJI-oIVV%pYwV+&O@OQEbZF4dU@|7$oV+^Tub&A!H%hnQG+Fh_z z7CcAsM?qYJQoNKQV_F*;CW&MoG^2jLXKm= zOy{xP#YPonFDQ6mHnoQJj6Jwz`v5+ zTNwSStU&bw@?!X7U_x02Cuj*#6-$|-vbZH$XhOfk&-Mt-qY$*Ke*MgM4%*onfq4|w zsbaB4@IG2%Z=FnoH9+ZRp2T>5FqpZQ(F``$3Z}?;o1EFqD2WWLLM}E1A2$oM_SlGG z3;PRJEoL;YT5`l%0V0jNs1-QD;jf5L-a8L7*qp<~5{)QWp3BTQmKtJlCR^!K$J>Y^ zQm9ttiVpX;4KGrup(c;zib$ct++QJ=y%uDfxMw{!yagUvi!fK>kv7E%eo=Sbh@yfe z^<3!;OR8EzhBhxWi%Rdt@NNKufXe1>HrQXn+NpZG1@?$a@2K>SO7E!jj=1A)aEIm6 z3gJY;2%7Q=k%6N`Qi+2`~YA^a`k_EoU{DY-vYm|!`rIzxi0Qb7qy zfjSDk-$$ilKaKF_tfPn&B2tJ*AtHr{6z&Eoc$O0?1xcu|2y7S(_N`8Rl2QwOwm5MOl4F=-|D>cQv4}Df!V0i&w`{RLG%wLYD<-4VID%v|5gc9Qsu53RSs3}i%Ye2q z0bKgfCO*~|Zh{FyLh8m2N!vosy)jr@-CTIdh4M0i&kjm4MmS-VW zyhZh(3Hw@6_1?3+R5yQGtR!H9dRiTZ2>=MVh^(Z@N;1)7_2oF9O?}~~e&js*+CP}Q z4pq>q91v;&v3jtpX zku-OS$kHOwBrgCQM4;Tjjy(%$&saTJs~+s7!!)R&%iwOJ28HH;GzC)(qaL*kA15n` zYg$M}Od_*fq5pwHQxqOLA$ZFjqn!CPm=)XtS439Q1LWUdnc>1Cpb1lH)9k8S1%j%6 zJsl4~8=Uk7MRyy@Vg+Jay3ufwMOIQ|B}H7(`$xnTgJna>LCDr$;aRz_GV<=rU&{2` ze?8=1y_x^=<`w>u*o_vMT4BCaSeW`o5f6q7p?I2Q8~8-DTPXZGZ~N58%#&+Z&o zq>?M`CED3g5loqi;It}0yiPNp`z$Z4;1O30pO`gVaV;yU%Ye491lSXT5*@L`O)3z_ zz)AuZNUa4t*B(+Kp;65<3Vq^ohd%PsNwmXew?hiC0^#$Y8=TOIl|<8iJ*^JI1SANK zNW=v1)hp>XKCO|J6j@1;l@wV?k(GoH;to7oRiQz!<|^R^UEDyYP)K`HSPCNzN;5(W zlg6G4hp>{m3}_n@fbL8|h6qVfly!yxijPOdczRLMmdy~KH@ur~rsKurdjNH8Q>+w* zYa2YR-42)ATqayw?3M6in;F>lMhL%}pRSnK$JplS@)V!HonTokNR}(ve&qTR+Fv&xnE|R6r1O2T&nb&WWM`Ht;Dl zm`tc7vmkDAq(QZlIa(pb*3TPIVek8|p(S-0+)daZLAsW(uL{}b2pc|5T2h`Cz~CZJ z9528HWT@F0sA8*r>$yqM|Az(D&@F()me_GWENo$n)=@q=xIrL{UQWjY;08k%IW2<> zBGQuHCoL(KAYz+1EQ=dV_lPTEo49_IJIu}S?QGt6;|olY`==!duM9~G1CfIPEr}I6 zvANC?E{a?h+A>-xI-}fS4=rgWjP5d^Ei6IMs)0)qvBXViNk<`!&X~_RWDAf(Ll~`c zl4!X11hXWx5n~Ky1A#qt3#1TfNr%#s&?LH^RtI1Ln)PLHii~DStMX=)DnzM5lqy82 z!u)NNDukf@X1Mm0qzXEvIWu`uFjN=>2PViEDH5VIoF7x66^~MdjatL?QiTo!+QtMl z4%A*F5PB7d$8112124)fj$vTdbC#|Qc{Osy+y5KOXzy5Yv^PR`^D6oxeqJV z%uipH&abZsxs^;vFfY9fYg~o~dfIZEFfDzqQ(Sh+!bqWW!+e32;8Fy$0yA6g!|J=R z=fXZ~?RizZG=g*(^mb>=880Y@1hr-j}!pT%C?lt`+$eDmjV>w?BfI|U8 zaVF48=ak@3Q$ITn474p>6lqhDHigyaX7OT_V?;RyLd!1ci5ov-wKYHoyQP~w!zWZC z$yq8LL#rg4S;#SX=v{4ep4fs~O`yy$Sum_T9?WwDz+>w>ZzaL#FrY24ffyvs1c@b* zePCnj(Bt{MF~GpSt%!6ls%S$A;iwoN8zLMkTvLI zyAOaIw%wqPm_YRFY1J7Mkh3)FE0U)Cq*}~vftkmF4)*5;fbN_b4y%5=9p1<8r5TO< zFr=trg=CCTh(1qsFt^iywWD0)yhJ~!`dE)Ire=hNr<@pML@~;(bm;nqu|g6nB%ery z#1}>}hu*mizORWu|J+0?Ym>YvSgLY`RNBs-5|8|OIclmETcWP&``)xJXH@Tnxj!FI z-(E>V<`?CtoXtaR{8jj=Ryg$V>J~UotdjUC+<8gp`jIBkcf3J2mJq|u25#n8dXFym zwhdfT!BbHck)n3|gR*vQ?EE!vC7~58x&Pb%5C!LW9J&VxmCd#IOv=O$0%?WxT2|+u{v>x zfTPQRwu5|(v;=J=1VAVRMPJ#)+_#8Ezv)@BtvYcG0uG+SI9BR3L1G&<38`WK#2ihO z*376}dP8Ej>uurvsw(n9FhM=7A|?>R3$GKNQx@b!SmXt0w;3GDh#|xoUJRN7-|aC$ zt0oaJT&zJv1KG$}s;Y1%XYd15Fz7__I)U+oOyEXN5>Fi%qJk>#4c5xZqGDoDg1lm6 zETKje8B2I7?!Z7+8dy3Nct22^L)1;6ZZP1^B+g6fJ*R@_A()Abr8T3c);q6ZD|H#n z79L<(mT{_LpNV~JrPi?HxoiTNgQXDIx0SNK0aJ-(io(lDAozEPwuqC7l^j@rA_n7J zSeFMH+C4Lswj}Ns&UrML47!HaI6PZ@`2hlT)~}!U&VhPGBZ9dE714d^{kktjX+e}0 zU;(%pEjvmJVxS%a^+yjMVg}topbnvNPAsxH8I>urj>4c(wDAcgX|8i;oT>=#F;HI% z)VF1jR}7sl1G*WkGbq?oSiS`Ic}(74$I#h2^cc1K4%lgCVY><^V|0OoV%MR!A|iKm zamb-jM^A^8dWF-x=YaiFY6?frm=4kcOshj6L1@x|p6w*6jo)jZXnKqMee4q*^#f5q z5c@>O-2L4^05Sk;@ZH1d+>wm2sm^bWytLxH2>Ze|}KraLX(&wFJv$ zv|=@NT1H!k@2E7d0cQudgN@Vgc>EJ`A1YiXbE;KBrK@aHL}D~?iL=yL&rQblaXGG5 zPsh>Op2E3c4xL7&*+YJH>D_cA^Yaq}`} zFUkttxUVwu?#o}w^xJWlD)wvN& zM=Wq;4V<;`5;8@WC=R9&x-USan1k$)3u01A6dKQl+-s~2?5Pc`=t5lvbQ2FyFu=1E zfFMLo80x6?Jw)q!3=Nz)q!|YKj3hTH8aM+2gl26;!WBykFKCh3P-2UEdXKIx1@a!YP*#KmuG-wV z;NBUQW&gsznc(kCGR!G_un`V+%&kTVL6i_g3BjF72rQ?C2mKlCi8%N|5S}8pDbbb< z^dSwoZ;`vm7dpiMr^|r0FabKjDXy}p_uW?`I99%paGvXeqbGr|s1u}=qQ3|JR^)lX z3lX|IM@)d2;4bR~lmQb|)9L_Bz)7E>zX%~|tP|X{PS7so-Q52t>Ib5JAnFIAejxIN z@b8j0AtP!l$2wLyEMmx}DFk4uFFeNx) zS%{WmePDbs*;OBC4Le5czNN(68fO{t2`_^8k9CmW@M$-FGFh;0-&uIIaq?XMmJpo$S+vumOc z=zMZE7|gaBZbj|Dyu^I_;>FMG$#;)_eMz4Ea_*-uzIpWc&T0cF0B}eI@&ttd@P#zu zn9TY-NpodW$7rF_z-o_JU=0gwOHi-)LR|)Q0}rH`N(D$;Y2*vtq&9FAd?80twA1jI zJO&aRG{1%MGfHe3DG1zZXkde38b!X)UGarzc9yDsJ*^JF1eEkC#WJX(mN@c-A|{BK z0P$JX$T(^UqK4oT=@%w*1u8>|-T;B#Ao83inM2dC9LPZHf)tE~NHt=DJ(ytSFVtl~ zTbKZyrWn^*aHWhjf~W)$&2!~>rQ9x%!XM?FhYZ(x*|Lkww|(1|C^ z5TOgJT&xjn=m%QFm4+|WWiVSd+!P0FtDVN)16$b< zZfMGj*&uk#j_~){Z0ZX?^&{sIe}@EzDaZI*)DA@LK-3OI?En^pJJ1fGzd%YMbxgQ` zpcq<#46=b7eXU`eC?(+rzVp~tA* zHztr!-U#7<1TrDfKUk-z5-628Nvz;fxLkzx+mSDHhnPUnem$)Y!33nwQz{vY{m9-c zUnsUHj+g)o;0FCZ`U@fdni3hjsS$HQ!%x!({RW^R-~_o%%JW1~m1oWwYeXPFN50S=zR*fT&}Bf|m;hlT(Iol{ovMbw zYooNGS>m${(Av-xYJx0JXbzPs@HJNYs4K=ga+h@iV1jyDMNF{2i`t-p)#uakVuD^O zH`f)n3whCB$YW6YR~4wSMlc(jNq;;&AH1Fo7%aU8`2S5^Y4jV7cp&0|JJS>wU_8Jr z9m!2!P~g?zG$aMg)17xxS)X|&A|4n%F>83B^}cKB16>Al6ALJvrWwm*^cUKP1zN+7 z=duZ6p1+--(*DPTS7x{fCHE(*zK1(14%=eW{W~G9S*7_O2WoA`g|h`QiIfiM9%5Xg zgF-(w86hwk1=@}{VB1)KK-~b>{d!6rh65<$oJN14o8y4(1-zSMfgdJ*y6o2c*@I>9 z9HzKggoziD%`=#lT$qtL_ZMgf*>~fq@4qfb`S|s$Kl1aco7il&w()E}yRt!-q+{$! z7CnZdejw@xJ`w$Zl2(cgD1iDPgv>)glNp*QjcA65!sbJO?AEzMoQVA+!};n6*XQVljY^$A0xC}=*d)h={gUhepK@-WX4RED>PlzsF8 z=p!V+pFroo@bj1B@bY>3)AI*-tyLww`)!T9^_APekuLXg6OKs9kh~_9scfVx?Envh z-}EfmI`nu-?i-RgRF;eoBq1;~!t>5~Vhzs{uDOO=pvv&r<1|+|=6f`mJP0}sUQf$; zKsBx8{$2o8?~1uInT8XXmmV|ij|a24nJ;EvjProqzL8$U3c}}g1uD|O2 z_1ovqpZ1o!_QIu{^%$Xl3nx>pme0!ztWoBo>d8bXI>0mBqUR(%gVvd0t*Pc+SIB~W z&_bCI3flou?=*AMaxyQ+qiWrAYJU*`H*xMqW;9=}lxP&C49ulfCg3&gh)OhC=p|5J ztSmQiIUxkcLO3noEratAlfy}IJi@)}`UGH@9UcJeaeV9NZRku9vP78!p6F?mIYgO5 zm+S%-;G5Cr>Iba6n3_@l_oW5y|9R=naQ@PnD}9b{cKpR8Eax2#zqof>RLc#^tRqQo zLBkL!#LotOUz5UfS6FR1FRFfsuK)}-gPpHNc>^A{ga!DvH?6S+UgH>8e?FeRT@MT% z<`?CtoXta`>ebeuXk!Z;XD?*QnWdnU6ba+tl!z4g%VZRyREP-*%d|vg22ak%16fvV zsxJ4k1zA$9QvpxU5RxL)iXEJHb!gZIS&qSxwaBSp1>)hNfaj8s#9;=rETNivqmAdN zL*nM1C}dHJFa`m6f>$C5DHU|3vzEi5!BSNSri{%`5wfKHdfpv|S@2p^EOvN)uL_LY zsIntuiI62imZ-uAiR}nk5N6zg3Inc^SsM7_(zy&-Oh_>dlWCG>nbZ^-49a#wmPh`) z99;uis_*XwwtTvkmM-_R1zVWTIM*UJlGsQ5+6G&W!8Gl?}#noB7Yo}&aHM2hCm4E^710Z##&Q3^dbUdt!M$Wlf*qmksLJVQd% z0r*(%WkR#u5SPK2N(W{1X_hxyuiJ)=)#X06F@jWZtjS_&V;@Fn4Lcs7`(|S0c$U3( zDv=C!QGyYXWCDB|!i|9i1Cd4@x0&oE>uC!UD^pG@6j~E!QjMYw%C4Xyi9|7%3YrVU z&@(;Yh!&Y@#kSf4CRX3=LList)B+;!hl$1d^_)8Zr*OEn0$9f#@c-@yEv7j5-*DIAUP8;3zoU4Dqn9>99^cO%hbk<*mM+F zGF&UNeyndGEV_gGhHz-Bn{k^^Bf%tQ%tK!ezBacKmS<8GCJTP3CxltFXBq^0gg2Q8 z6&qZURw_$Cf#4uXqdPzvuIP9%%MD+=4SMNvN89KHt$ERlE9C0$fS6TZVfeAl6!j%7 zz1axyL<0{h?)!(Qq2KTZ;BuN1-7Rw8dF)Pu(GCnlxV2(iRpX(rLb0Rg|lJC(!NORGYnCYw7?g|LPM z=SJL&$#^vLkH$HOpb!4|_rD(mE-wD(41cZ-V)6ZF_*3Tf#J<5rdvS8YR^eVX4n+S@kRyexch z^%~yK9liNon@r1BxTlYw)+);|?)Za7?z~U>X+6@HTMe6s=Sd~KtT+GiEoNNl>aC&I z8u@wnD%`-;)9@bdQq@a(P(6{kpUwuYx5(gCIi15nzMf{Y!Ee>M%%SrNKabO@K3bjO zpW(^H)m@nB+i=43>B83^T^W|2@oSee=JC^40$cz2=l_Il^U>^?pU*Kps;4$wbM?^_ zVcqgMt~N8136!w;mtpITugZY`M`rlt_`;N%>^A#-_42Z+c*7Y=e`?`7dd_e3)3vqRk7ugBBZW}4$1!!ety#D*dL z@XWgf1cYy^6)b%JzHi$eC%gJ)HLs8>r-R!CW#?utaWo6p@n?03a~REplg6L+<4|AW zWr8K_wmk>7TF}iZ1}xiPQ1yI?BV+f+e7XR&~9h@NP+iHec;R z726)40AH$=>U#eY)?YsFhrxy8)dFsy#7juG%2FPC%{-!ph#Fw%6PD758W8;&1TdLV zGBG0L_hV-!SHEN2_@d>)A8Y2nocrmEZywzp&(}f=SXIhlw}tWw@d|7~4puCz5we1E z2BSjE<*lgUIBiVe$s)jYg!Npe;VloQa$-m!5;Q|~Quso^a~@apvDM5k%}hGn(H3ri z-DH+#GWbp20dAL~c9Jbrp^7zkTg9eh)Qsp*8G?Y~peltcDVKlBJGe!duQv zUck~Ycp}}rW=>E+301H6S=KwOK6H75ce;KChH7)7+bXP?GMUQ3m?*#%3OsOdhY0>f z9fcPPNtIG4eTIJ?)R)_oJ@KER()8hK=F;oj6h#3^NeU^3Mh}oo7jVdh2wf^v)QhaS zvd!XhIJc9pnUkB<%n!e#AF5^^D#KSx$gyUQA&E6}4<1YoODzG5>qHB%nKC26i6O)p zUaY#m-H1mNYv#a{F!$Z?@TL7ac8f`{4&KA7N3dH1!rdXzwN$ncl||vm%h--ECc%Q; zLrj9r*VRK8t2SXV2?m^Y1YW*0_wdHj3DF#}OMy(7CV^ut(%j}kD+{m89Z9g`EuDYr z;t^;B_TJTYA}pm^!S?{SJ0`+z8vR7^NEe#!u0&Yv{cSI$9)~4nuIEGFB%!h`jc^T} z{A0@n)ExNHsWZuUk;3oAn2q-9mG&^$dc?+TyI0Gmbx|a5#I~6iuP*fDA8&v8*LUxp ze*5F%r}KvhH8!XcR{_GZ3F#oTKN>BY!Of<=@KZm6nFi3+AQ4Uz zo#!a%%HY{#y-x`0xt`iWSrLMpYIEZPItzs>|H8kiT13f6-WbixqO5ERBW{hj)z4m* z+gse+KW-%stywY&c{E314^#)0SV3sQ3$&m?aa3{vxnQT+XN1Z{`8APZWq3RRzT^VGp*JeX;KOv3{DK;$80LCO}2ERJ4uHvO5B(btn^Kxl{}ytk<;)LKN3|k)&2Te zKL8>`FK_4H2PL!Rq7_sUk&YRijG`tvmbD^QC@-dF)c<{fc;|S_T9#U(^Fk%LHqiG` z5HmA^W~DHB6_B(E$IXfPc+(6zYG@W=;T=qDQ>h?*gO9gO4au!GRHi{?eX5$|tuNii z!@JAfY@-E?QA${7$P~+2*O#-l4nD@Mfi$}@!_MPgj~aIG*1`=AbJt0@)+-A=7~J^< zP`}9&B|UWcsS^bYTKpB*I6W;g3hj9TlXB!WQaJRBf+XlNkcIX{E``KZ8XX|-el7CW z+gQsik4A@l-AQiKAj=fp3z!#)R~%jp0#pS^0eQl)uxBn)ne{Nbz84KLG|+|?S|&M& z5_mK-3lVw26P>0-n(CBhUN^&k%D&xOZ`sZC$A{m|%K|Zm@*t=6OE>O3$K``O>;FTFJJV-kqx;r5(K9u+9ai^1s9_5uwlgPI5DFB zr<~R7az|TPO@$nhBsB1qVpel!8gU)wHE=Mg-0m=LF{`;U57|9{E1&ku{L85j^w$x5 zOj~?(X^Yx4a9=Arq&U_(^nC)^z9`jr|56RA`t|$vkgNsiQwkR#k<~lRT&?PykjTPBgk&Sf{Y%C&SE?_tsD0l(_Q{ZK3B3+VNP?(h0-e)`e%H2zch%(1J z^EQo`Zy)QC$YLojwS}F-}4fJEjkA7JA$ufpGQ4hOytRD7p5e+Oi5liRT>j zD1$kKsig|I_Gr)oDTjTBRC!*JhYqJlT|MU;v}@RUfDod$8^0}_^FH@Mz113-{Vk=p z?G*-UfAcql_w{@@AiQT;Kcgy52|ecUemY*v{qxY(e73rGckdmxeiqw8`Re<5ILjE( z$A~^g^f9835&cO-^o%*V#(KycQiY#c?X)?GS_8iRbE}B26-{^9 z?dW3k`XN6sMo-ayk{xvlezLH`(mj4!ldA7EQg5HjTD)FPlFQz6E6Q{X*<;8aL-rW5 z$B_LbLUt~>Qj$P9NgRZ9si29G(j*?uPw|EgnwgLm-bx_+6hihJyaAioz01(HVs|QF zl+I;j@{NmmzsY*v;3gat#J7&$EtGHX)(YrF&OAJ`Q*;#O1;n79CTRL35G{Gny=CZ# z9;Vj;0e$O74+-mc?R;dxJ?+=C;IQCc2hf}GV@|-Yvk+&4O=aHw@ocW1*IJOjuAJOF z-JL?hhyfx7h!`MZfQSK30s~|cwn$k{5+$-67OG0aM95|dBRPl!x%O6_m@SfGEGG)h ziG&O0DKbYPf>M`IohdC~5@Kn%qT{zkdcW`G2AOoZ;caBXz$hUil7!Zg$@{%O2Z5HW zKfMu~bptThAEE_jtVt!4=wVwZjhY03>5jJCC5~dX;K6vuA85LC?Fk$LY`Po>*K<|2 zwB#IpG0v}A9nAdnRq6bX{`ZBS&8xah;qug^nkF!oGU($Ar=iSv7*81^GhtEzv!)RA zzIPVW2RC4#&{0>@`T(fKPeRJj<&nT0bHLtrO6$COUJ+_VzlPXYahFxZ#Y&Uv#utO= z*YMSw`7du?(SOeVA>VypzWDC>PrnpDq~)7Y>{jvMB%l^oMi}iOa>z0`(5h5|Aq8Nf z3R(CpXI9YQX0o;1a=eWdBivehjjx;qNCUUJ-1Iiw3S1v9qET&xTPF**w!oqLXbDeg zzn)Bof*i$J%1)=Ablml$SQUy@p;#4)RiRiFIti%aNWrM49v+*aDr8}?pGhy1jOH0B z3a^AaE_rsanXHqx!R2IG+*!}!TKKZVBb1<*Js57n8(drNRYDm9=iX-2S^x1=g(?h* zj?o=%V+(u`7^f;lBKSBIeB8W(bAyUa2&h)fv8qmiatu?_77%(9usQKuW4hWr$uv|m4RHCx>Tm>m=(+jhJ~1%{i9(=cO=%N+DD0@tX7PI3m$moAvgvQW{5 zaAz_e&HSTr{uWvNKj8NjoMCI*uQimu#%sct!9DCq{p#zp+tvi5$g-W$qOJM4a>weQ4L3TNMd3e#Z<;r=`64*pFYVUCb2KlP zUUFfmQC@ph&ainoI)4U1fAd=_wSK*4Bd_{qu^M!v9kZMmWWqQSV;03Vo8fIk(Fa9a zmI`0+dhcR79>E7IfBf`|@u(=z7t`t#FOB$j-SMx(jvy_sv?}!hS0`~BHQF~2c1>o3 zOGV6}8jajfXM;Usz3xl7_FN8jUFg;AcU{%{d15XrrWmXnHrm+UK;z4|xKFDN8XL^i z=Ev^g)@+;!^jB-k#&*pU&i2o%tuZhGPNO-*<)m*;dGPl~;ncr<{`~2)aAE&bTL^CH zn-T8PfA3ynH(O~O@hW?0SCDWi_dUVdw{CSm?qS+oo=sTs)~3w*igvltzNf9dM=iG?d#c?XUFhF?RepYkq@){Sf8pLr@iqMZhKEwt9G;d)A4j3E>#E~ZbrS{ zZG7rS!I$Q1+|D^3;m1$I4uu)c{PN)&`sd|^hs)06(UWonvz;m`NyC?Tlg`I(JPdo_ z&vQ4yzrz>d(fG2Q&8MYZti@Vi`ob)R;f%sY?bR0_9`#*mpYfF&viWkTZUx53Rzc%2 zKW^1Y&IWTgsos%K>vR6IeorpH4tHns)wsDwxUa`Lr*>RqIOY3(@8Q(8Po&A!30wjt zOwq~c@d&14<57M&6-SE;>!&{y)vc>OX3a!gb~bC?POH0kthZ_JYh@L_Z4gAOEBl{t z)mW_B{miOwE_b=??1pIYG>ML+U+1)94bTg(6P{DHuhZFKewCNc;_e7A)&OG-FxCKL z4KUUKPof4WjX}*!+C+P!kd;N6*`$mlo~K@*F*Wln)DupOuJ}pT0lVDF%{rjSGJ*z* zDwy^~W9Y_>qEno6h=<&j1BRjA?*n~xmy@ppPM2CMds($RtnjoY*RXqCh_r9sJr2s{W$gwr zhZYN})K-0!holpCJdMXbIy+ALO7?GPzur=etp=*uePg7`{F>ZqxNCb;sCe>DH@O%x zHMoHF#23WNQ~U|P-A2D~P8$G*L&1q$qGjJjH){?wH8EcG?1^AHR9f4PL&DWVOp( zZDosK4g>B)>^m@9XN}+BCg9;}7_$2t5VVfpErHbDt(8QQQb_J|n|Nl>L`--FTQEfv z^qFTicO<7a2m}rwled2K5R0E(JKus-uF$WPd!P`shiq^3U7zeWjt4W|dB)JCQCd*6VX%gNjWD!LNow-U6RIq~N;f|& zi3ixYl|BB`B(KO;^{F*eV~spcv~e=Wo5yO8cM#PoF~MJ<@D|kyWu%h2fvQ*2Z$Bf; zb4hQ1{PdOB+^!3Gc~@>i1mv8LX3zXQu*E8-Nl5nP;|o)czK1a3@963=#3z9fc1az_ ze}p}Y-}8oefB9X1$-(ct;dqgo$)s=I!9Ar9e-!NTXO%&@mgV1iCc0|V*>jSf(d>-Ke*L;R0KhZS=c!23W0rJ}{QUKJ`rFnIGA?-9J81bBCuq}IWI%H$6H#tLE+qf?R)26N9MFND;=(Q_-m z<2b>)=ZsT{4huydJW4q=36$$uQl!E$mkXk$!xbGrct7a1+raiN_p=4t(=4S~8l9%D z!1jZNe~A&ti>dSb0sGb?;|Q%Vxvd)AzH1A(yWGg!hAtys1q*EFU@}+aiBU8!xHp=K zpp`xVxNrU8L%{oW2e<`*hhc+Lz931;Q}ENA7l~!gCuy!S^ffX{tKe7N8NjcHvNZ_1 z2iU%Suy#b;^=WPc?A#bZJ>`kB5LOGJ!aASA4L}#%IYTtb>{Y;iEpps?TJ_K08PfN` zZW+*?V9CPru7LR!B=4ytlolD3?^#x#(#*TXw4A@as>5C5rWio`*Dq$XmnU+k2Uo6W zuzC9L=Lu*t13IQ3Z{V?*a}2ep-+C22tQr5;v>X z(!c=u(TvU;8-f2-?}nd3I;9f*Z*Ia^!Wve>@*s5^&8Jgely7i=kZIX+pzAg>$b-zP z#7xRy@b0I*zhcn;c8AXl^I2m?M3PYgOLr!3AILqGyJ~-p@~Fy>it1`TMV) z*SBM1eQlP#8?UZc53p^?{JEUY7iReVGKX28#@c$_d7n;eu1pEp`&@6Xy4Br&7?S3H z2WxPt_w>_`<~iPTWheDehnv(3+|HggLo;%_0*9;55t+0-FhiU_rQj;tk&C&h4|jq+~yfud%m|Vv(08#9>s7ms}sKr zW@U<%bzi`+bzu!L!4Hf1M-&unT+PuvkJbCE*QofnhXnv$F+#Y4%WzkB1G8#K9|!x0 zkLqdOaYd*4L^qeSTEDKSBbw#z0|vXzPwZKEH_r3Q`dd9|s|#3PfXViJ!nMzB{Q})s zv5r2YuoaYTzm}tWR#(x$<^sIBsYm)$HV^NW$MMi`;L6ju(;DXCQS*q>eqI0i$aqBX zBc1!_!L4kzs?^-Q0BHRzwpB2y@8{txqwXhChaz<-QimdS=p?8^g#u}wLk_@6FzlA9 zNHWIZtqlUbWfX0Kxk2gugs4N#=4clVm4i?jSmYWtb8BUe%MyYW=nugw^Zetd4t0O$ zHoT!OH**Vb2rMxzgF+&j!_*azLHDs=@=`jIhSm-nhI_w3%=!*3f{@8Ubjc-pxma{m z5Cyn@HdQRKj#$Atclyva5oRb>nS<9M zT9g-B=F36v)*@m>2C6QuicxD&cMphqeSoizqw90rhLnAVju8ZuNS;BVDRQloj5w3z zxu-sKd|@11i}25b`Y6{Dg4WKd-u$j;K+JJM47Z779Je~nSdtYv0mIE(UT~Qj)(C#8 zldQ-a|9!dub-B=fBmnh`@x=ttbYNbYa%gNh1cL?&srx{wJ5OZ@^X@n1+>hqT#%Zpa zheW&@@oL1Y5wAwPdJ=e*8RA8*AR^Tq!VrR(7ZPFc0gH^_8zzYjt_~-JS94C`yn)ci z<{8xMM8T#tH!g9IXPex6t{lS^9WP$J&D*y@u3c_x8@a*?9>_I}&K)4v`ZB|h?Z$1* zM!-Lfz`g3|cbk@E-R#?Ma~E(;&Dri2zU=yeP6N`45<}RvQm#}(1PL2)1eyTlQUOf> z{2a8+FwxOKE?34;SUKRgRyzgV{kl^9QfIU4OuInZJ^NmdYk&9-Cm3kSrSt0@OTCtq zT52(;8K!tn(7P1&G>P#5KaNqtm<$5~mHdYMe${es+bCat8TQ?#-mgxm^|=1<-FD4B z>8jaJLlcHD^CFZH@3{-Z&gXBbxVQpiW_})FOfa<$UQki7&mxS8Febv7lYlYWd*)Ii z6XJs1o{ZJkI+?wHPn6;_=XjFE(EWafR6q3{6nrnG=s8QrU)RrWcorgD=74etrU zm_2Xa2Euf?rCT5j7VT7LA-n@-9l|2%@u(P2FDhB28RGLMGOs!lFN5ASkEyi{o(AJB zG%DU37>6G_DG0OY4y=vA{lS-9LZDA_$n&krQMTeHBmp8BIKWG1t@4hczeE0mPUy2{n^3CW;#1bcgB@`?yna^AzIg%elr_%2!^}FL6^0o`zwo_ z3ae`i^(tbD-T7|hW&U_z7W0=dPJLI^DnoY0RF0Ie4v5H-c>gnQ|cKj~kTZaS{)-QD=22{^+;IJ)q767w0% zf&J9OU@(+(Ca*)-fYwS?T#L#jQK-v+Ta8v|LWYI{)_b%_sO+W-Wh*oFYV(LF)&lym z{WUmlMMM!11t!%=APV%sP-*Im#0w23IfG%dMGv`zcqn9pDw@jB@$kf|6Q6cVlrH!5 zo}ok?>fp(`CcE8igfw}%uXOKW>np7z@ZV?uy|ov?WiyQS zA+8w3t@{?j{_x<=4|^;V8*{p~%{DEY*E>DrJDV;958EwW8gO;~oo)_jC_3HIwY2#v)B?B3 zp0=$yVKJ%R_}8~1{n%=H&Dz}R7rPR}H5vO4FHzimE^BX}?ah~$JdokAs%UfwLfuO< z8u?+sfj?jkU1lf(`#cmWA_7 zT>NzY5Yy<|+D~2bi3q%$m^=@)Hi>S=T=Z!s@h321LhTBlKfainQSTq3C*^y^FV?3Z&CW50Ry_|d~Kr_nSCU(-IR z7S-`|>W9_(SVh=ErCdtGz~^)DS70_&i*<(1Y-rGiesk2CkXA#O(FBV)7Cxw6tzVkC zsg9x`+4jPwi4qD&$n8xH^v?>sF6^*$kDms>y#)MEs***GT)%vaK%sPD z>p#P)9IKHdGn!Ygk}m2S4B27T$TiEud&EKOXR(HWwis4cZ)y|a&-GP6;E~y74KTzw zScObE#^3(QzCZuxqep)?>D&4A#|VEgFdNXWBN^`;a*NSAs=<*W`~mH8S)%SZieUh+ zlvE?7aW4(@gy2t}3WgrmDnY0A(78RhBCre{yD3$|n~ddtr@O=P%A-DEWA!dKG@_m^ zsONx~=Mb>7c38ZSI>4Ou9a;eAl#JE8gPMpe@Mz5ahd~xU`ej9NHpu;CIDQ-0eD`66 zz5P7ga4|z0L>h5KG`o&2aZwr-rBNqQM&ZI2xq#ggF$AP#Wn^M~<`eFDkt>*8r&Td# zYZ>LMQU0URcuOeP zzh9dwNtYYf#tW2CCek~yvtC`uw#Q?o-{@U#hA4Sj2RT(@_QUfjyHS2F+qQUk-3zpjkhYnIKx!JFTkN)g$c`idn*I*xI0CjVd*)_(f<+WF-0& z5%gH%1s`^4eTEs3n|7>jyjeP#v@Au@({S6?R)j;5FAF$iGHQg<5g|IeR)`M>|KFTZ;9 z(>G_mZYn#s*DnY@ME zebhVaF$F~&ks@L67sukRvSl|kOQi$_H)qb|y`=YWY1A-(d-l{%gS$K^Y`t=X8w;&` zFE1eh0V(+HS+8*<7>?o5d8xM_k6<_AVNP(-$qe}eoNRaoOSk2m-`8)ghN$<-3}Gq; z81jYTG5F)bi#h`bn~L6pZr%yK2f_0z ztZBXdf!Ck!@e2Mv9{(1u01tL=G6p!Gmu6TGA^u|u{p8tu{JGN_oUg|Vq`RdDmvG2}*_ZQ-)Z{Iwg+5dW!|M>lA@?Rr6{Py+Nqpv={T=p-(M4Zk0 zlXBw2;)%uji}9!^&ll5h`gPU*tT!(&{CF|{9KL&>^{@z+#oN!HPZ$2Po`dxF^Y6za zzj}7}9daq@oMBA@%lLJDm<#jfb51%Q11ZBdVY>AGa@~b|g(Y%<6|z@v-ZSSQLC@yB zufG2o@3tjF`m7f&qvP*R{XDEYIM)~9uQ-Lz#b-T;MSdF>#ft*ILgVS@q_01#HmN`V zJiENC#dJ6jUtQVnn0Jt9 zh4LXEE)8!myyf{zFbb+#Ply!o?drS- z;fDCx|7Rv;f@f$}jz^y}LeqqxqY(Xn|DU29qWb@NweL#)`X7v(d;AL61Q{EX$H-Ps!h!MG(%PeX9GSxBP(t z;(Vwl>;HODP08hFs&}!BjxV45WtdWZO?nT*>`k71`Can$c$z$22FVZq_0x}Eeew6l z_z}`)Y|q74m$R&PBwvl(ID|&wn$F*qc(>%ffK<+RKStOUmQs*@R0_MnuP{UHvNv88 z^)eQY@SFFO1X1a$Zoj+?_Lr_~VfX(P{^|0oZ<32yvK-N*enBN=9uCnZ-O}Y3V2_S_ zmwylXb2x0(*%qVP5T<%=>N}1vMkqvjNhtk=Lv4=o|L#EoKE=!E^TiyU$hw?daK@O- zlc5=%FW|=(j_OCrPtW%3+bmbX)Z;SF+&WphtbMb|cr^1B?pWYOj3smRF4}rb#9qri z4w$cB1bC5zA)Jnf;W|g-q=FoKF14B+Pp9Vm!W_ESa|obkaA&(RtK7@Q=r^Bt`PC0_ zznepD&hsv(^VORP%t~fq6cXBHho1r4!qyvW%V!(^-Q`fv5Fj}``C&vS=k1O5x)>`%{L6pm0B^@7Hs znGghIc2Cl*AfiyYb{TykxfGgbg2A$h;Va!~&3%Th$$lC}XvIB99zT9I(EYUg`C{!D zmKWt5t5=ZaVeL-f53;K9;$xFn_l$}x6P=H{765Imi_&w-w96A|B!wcFp&LCXI>{ts zPE%1BU3C7LKuHd#yfN%wJ$wGsv$GJTQAV=oB;^Fr+1dO0X=t{qrS6%Tf7T;e?@RBn z=up)o=@}o9Y;fEqdDvj2$kq;Oh}T!NEEG`ja1es%X6 zpiHQR!5}Da=u}d8WEZ{9NM>cOsYCb>;YOVUJP2-d8Qe{{!C=}V&_zOoC>O*2feE#B z@X;xx4zKkley_0Vk)u9bRCBt=1vj+J&@m*lP<}Bu_8@x?#~y-)=E|n{i%D$}9D7#O z-B7_?kG)q#i~a$zV=GF(!BIXrxWQ<@o{k5=4W9M2Mgc`dxN#@hod`Gfbu5eez^D(5 z?Uy&L?w88yDt{f}2I37+B9L49pjPd^klqPt1Kd!FFb;*@PjV^<`2{%Y81z}oc0Rcp~v4i>13H2Q<+>nIZ+|xWMH2M<45|k!3FIWQV6z;r- zm@5xxGs2B~uWpdEUr)ya;0A0)BqfUQSlqaaT5?1i5pCQw@f_VqzW(~_Slozc<8IJ~ zNL8L?z!+W=pp6u)X`R6YkZP_h&r`WzaNcJG(A@s@P)dd#}M0T?TX$Pe?HJ5sHvly$Axd zU1Xq8z1TYRx2afQ-@_S2A$Ph8{3{As>M}>OJWbGP0Q^Hy$VAhEqACb3lqR0z_Tr~j zI~`7iYC^xm&$d=-1QA1}o>-?~JzK!P0d1#4{-AZ_%P+&e?@<7O_?yXo{mdT_v!~AmwNGmfjLC$u;zHOD{`bw(B5T0TS0rOrG&A}9km`h z;Ud7cpgqXYZ>(zA7Od`-0kng5xH9ofTAeWItIjnJbv2tN9Lfcwm_sNZI@iRYJs2pR zg`hp{*U$U`LA!u8A>mvdr)v3oKYu-*{x%pb|MxKr@}{s(g-ucexb803zWZEuEnuV4 zB{Ab3gLfADlg9p}u|H`CB{bXu0aU(t@iTk!-J@S$l4rlbKl#Nsj~+jI`0#Fm_d;=t z=0ea8IAWlhMEeQL5OpwH6a)kxozoB;eR5Le8@~OT5WdT>wnBJNcr@qyjy#d-E4)5> zZ8k#6wTX}KNThtj8-UAcPIR|CdFQb^4MsaU+ZN0_DloAynNmzEm+3?!zK0^&VtVC- zFdvXwhhTo^xvoOOR;K(CeC*r#$g=RfU(bL80(xZO;ZK|C?4+3bcOTAQmxaGDGXRZ9 zn}P8!Cgp|?XUxE_A)1b+q%i{@Gw?A3e`i6ww>swp0${LaLcJeH- z3V=5<@U3@V6S{X9%q^k2K;c8)QRsfc+4t74cM8~d1TWWz>$`SB(7TGeD=Bw9u%}&ItMl3-Zi26jZx(ovK<@0_(ppMLYN;0&eIYze3 zKA?1$E}^^6<+{XsWX-IFsWE0>8;lsUb10?=Oi?^Kn0e}=X-_omx%b4oMcZelHAxEi z79!}dF0lk|p_1xga%Ysz4C0%Zcwd#kuYLP9(R-I+ZAI@4VF_|SA^CF$c0Kj`{rcdw z+2~Xf@7)+QJ42gJgV81Nt_y~?W{_ALpE)Gn(?CXJd6KGvrk>{tkv@KG1psza-*=wt zN0@kLNW5bP92m_@o@%X5Ae?Wy>wSa%Y?CA4(rlbhSlBjk@o08_3s0OMqINZES7Q=B zCgEce{?3x{xsp(=O2}4o1sc3W-QPfHmpIJ}N_=5$_DRyl1}>WzjUBX=;1=IV_-D4^fiwUwZ!+6f2!cfuS)Co#`iqA|;$4M&e+lje$w zfRzsq>aYIr4FdbE2RJTP4b^b6tmeaE;XRR=pqd_Ic)zPwa_PXdx|Mgwm)~_#+oJoH z|JN;I{n*?qdelUZn&?pz<*o<;?m+IUjC7V*_+LteV1xy>09f+Dk58utO@>4y+bs5z zZQh_!L}-sX8@QRr`|uTv+h&60OVsLgX^`FSB=hzW}*C}+DNfc?L|iXCsj*0~&m`Y5;(wEaao zc3%2f@VZ&L-h466L(AD!Pv6E3=frynLzN4-QBTLi;078AQ+3qE1QZYE{<*QkdzIs^ zpT)L0U41_fXL$=u5$gxzSU-sMgIGU^^@BUB9~7YQ6X~+VWd_Uz?%>xa;qwg_xo38 zMC9(@J9nRlCRf6eL!dY&a-6$V}uMrGua)Z6ZU3vbI*Rd#VrtlnivTd}&z z1lq8w$lDJ_^*0#&gM#%|Xw@xbZ|~L$+|V3&?Q>aM$;wGm z7+YK4uiSHD+I=vXx!BIOWh4}1`54Q`Sl-Od@a=5gcjF7Z)9>E^Q#)EHp(X6<(?HuN zEHMUYcS0%4a#d(&Kk2ml4c>rFOy6Z_TQNQ3Lcz^Xhv@RdlX<>h<_kN8vf;(vKd38)WD zMl1VKw6c#@_9tOwuZWk0D~cqgL4_+U?6w^O`y$gh)Pst_c^h%fCrhB|^2%#M_by}E z3f;lqMff3N=)Rtg?=tEK#p+iM*ey=Kx=SlYH%#cz1tQ5kLyE@dd4irpE&*ePSglja z+=24iD?fNhe7M090Q`YFJR$(aQe zK_*71n0Swg_hU=Er#bPya4IQCfy8?%Nurge31zxK^C_ro`6p?B*$5OjUURcShgV<| zzIPeh&G21lCBg31Jj9eAKJ#8*=Jf$=vk^kTCYgOlnfKe=1zb~ew!2gByMCb4fDASt zj!>Ie@nfnXvaCp5Aw;5#0~)5ffDxuqi8Dr`I~l^uT;R7>JMA{Y+;yg_@UVkUcJqAe zeUB@&C%RuxfdfK&PWlApLy|T`oTCcu>-tvXoVwMn=pMc8H_m4*4bM_^=_OEjMO*dYNW4WAu)UaZZFwbI|a23g!QQ_TF{LZ6nJX{eL3PJ5=b;bbn!xdB4<&jx&<4 z8sB6~_Sii=p-3bWCD<&I=0&#-zx%fm1X(PCEP^Guij=aa)gzGr2xKCGz4l&f?Hhxv zo8$SLcWnjru7riXb?6ddbqTT>M~TY-GZ$dW!yt!y(CE7b^*8=-m&m@$0gf!ZSG{IE z91z}9$X>CGke+CEI;!w~FEl%X%zYzxT}Ob^FiTncl(kP;`;@i+>6h|*S*73}1)Gxy z?p00{l|`8uN1@dt@T;*DVMv~voEN-MM8yZ&M@O>R`6k};`dh~LUBl57+>0OpX6f2}xR*}d({pbSv-EZT)Z@^_t-(_gq zF+EuHl#o~f+Ne+ z%U-hz4h!v%I8(ozy|y>#eT4PvXR-D;Taj++?~{rAi{wn1G_Z+OpVIRu6U`S0F1UjI zwPxT>3IrWl&IrvEQWOCV9l6gVzx$(&=DWZ6mO*@%5p4zW!YU~D?y4hI6I*nOS?|%r zru*3AO1j7HYlrPL0ymq;Q&tcS-h5UD2im-c7S?ddA&muZUOFR#IMA))FFenvu+bp_ZP(zq!ZShw zfoD`9sO=c*??3x4p?~M2;0E}(n#vN^YnJ0-V1vu(Np+Nln4Kp(!Hs_Z(hc23xP-e2 ze4{6!_o^BeqgT`3FwFXRE>u&rR(=q(_0!lpX*RvKK^L#2`Y3L;qVqs~9O*p6yxja~ z5nU(J55}b?`X;zBN^m2=jnje~f+O}Jl4M-K_D^_pu`))LnU~gEADmYrnuC0FWrAHV zq0+)Cly_;_{8+`VRa^Q1aGZsSyfvN)*C4m)V){0lc6hCxIMpM`vW zf!o6mTy=>LqD^Xn&zA@y!43ZA^5vx&|M2FQe}4V;$yYzlf4X>x0qabNx(u+LEvA!D zhDkuLhdAovR|O8?#^WlEH9`MOtu31V6-Dg3LqR#tL&yj#A$Q74o!5oddUNNap=E*_ z@ow!WxbZB(jnje~gh~aAal|`1IEaP?$?_6Sa}fxEa_Tu;YNCcU!43bS8lvB2r}y6y zZgd&kO}IfR8m>xpS6#N6cokFJ3dpWh2Fs07b)&7o*dOq>s~f@*?z}G`>;cjcmZC|u zhOSr>#)x66EXt0`gZ;n0iXHdQ?+q22<|rRob;F!qn$Gj5GdG*pnd;@v+jil}p>kr+3O@_Zco#^j}GyPkh;6{QQvGJiF zUG_Ke&N3Y_pN7fv>T--W<)h)EdtwVYbsWVA!>*~w{pXgv{p^=Ye)Z3X{PWkdUtYhY zzfONpZ@;UaC%92pxlRaf5R#K1XqlBt!n=_$nK_65;dySAQ;HSb;%%Ma#%EeY~nd&;!2>c8WFM( zHA@mj!r6CqmGCOt`1!E-G5j$H>v>!15Z|6nny>5k!7N;iCT}7)cA0T}SX@@aYC4+$ z4ZjTA4zjTYj#E=T`$%A}*a_3V*RZ}6!5~u%(zP%y&kWkpM(r&jju7v7*LSHwZszKUF{edg zRqivFdk;31)R|>4!(<_F=}NAhjEdD%*|<$*qs!oK!VQ5|w8T&n(|*JHriN6u=EBgrP^> zP`X1gEWwSW+ek#J1UC|qib);Q;kTUsFyRL0Wf2&UHMmfMJ_Rc{hh>;CiK!1k z3C5$8Fu{#`hZ~gin&o%^++ZM5p(BvuG?A$inabpuwj!qT2>MVmS!Pnh=?rXw7{eqJ z+~i7?Wa3xS_ZXTd-G*P3D?0++6CzU)=7knH1+N3`Hbl;mXr+bAikzE35fnKVDdefT zaT~bNWpFp)29@w7vWCQ(Qi2;FDBO@jiURn;GJ!>h0%GPO<}gxQt$pr!a0zZ)Q+nSE znM$2Y*=v^L0dNDl4NDl+)+D%*;6{QQ$pkmKQuR89&IxYB<~<)Q+{mdzR}JXGt<4Lx z_{-4Eyx8wqYCxRKz- zgG8n}e-MbX+>(&Fvd|H3z>m{8moer!p}vexxCw3yZbzo-GPs*?BU(~%=u8vb_;6jR ztoDWDu!3`zfn@>P&OJu4Kv$|mlQaVw(41!{q;Cl4jFpiO|#3DrZzp@Y^qRj+1?j3Fr(pxOY z1JDMITq+aA;;Fci&_+TV32h{_ko?+!dfRXWd(ejErlXE!Honr65L2|18~FV41tfQnPVEgjR`5T zT+HM?ybVEj3RI?mA!wq>Z0XLxeSIj23k>Eyx8wqYCxRKySf*X-bMU4p{ zc4SKE=#k??W{W_wkW0szD)Z7NrTDG6R2>F)6K+reqcCYitSP1H#)nzm$b~Vv_9El5 z0GBGn>V`#=N^q!TV2T?_6WlloxIsm)S&j$5jp&2RIn@5Cx{;(CF2RiiHxk@Pa3jGD zzzr2tu0$a-gWlWl!8K^btqPHqaQ{a`ZdO>5l;XFA8(ju>18x{=L2eV0#J&p&ZhW9{ zLt6q^X*1|_U`%DD1epqQ@xogO1)!JWgkbs;nd+X&RN`FPUb7qzfg7YJ;pj(X>hhQ1 zMuHo&1UC}gNN^*;4Zw|@dG8sa8Px{HRK(FN2fqs14MJJT1t~~Uir*G)bQ#=DxM7&! zNT?E>;Km2*gKP6ps1nj}#qx;prOJ$!0sjoDAXdQ-E_L}kg6f7i7p&JT#{=L7v>Oy1 zRG3Y0Bf*UXHxk@HR#){H7d>hf{={c{(`fqf<-`qBm%r5I&yOx~SKO{?`3ZITgJGl4 z(#WhtZ!z#Xv_Eyx z8`D(XNYxEgH;fQUD2WbZ6rII|wLHriqnV<{mNG9XG^`13+|mcP%iwOp4M`aYRh%Wb z@!`S^ql0yZTTm9AL3P8r*y{#%4P_~mm1quGWBdd+?j3GW3aNO#91nmS&~9*a-9Y!8 zW~Zs2RO4AS8a^)Y$n{!?ARyJ@1%)q}ad~Eh1&P%~`YJfBjz|9LEDYUnR_`I1A$m{T z`ryw`{{6ts5!+3ww=VwJgL8b~7k_*3ZRIDU=}k*2yv8q1vEQ`+YEsPtPGRbC3*wCX z(|NwShH1ac1@tFjI+{-s+}Ja1eGGHuW*B6OC%;CPk4GNmFfTVh3a`hjkBqIi+DL|8 zuI3oI(!L+K>T=qTx5N;CpH3&C43jYQaYmyu&{ZS+?N|2Q#jlSZedFYt+2lt(>kr+3 zO@_Zco#^j}GyPl6-(0@DG~*xM{PNGQ-#+>3$N5he53zISpS}zUZX~#o;Kq4^8+h6f zB;hPxj*zK(xZz5?_HxJbjDlh1wF}DHNb5<}joVZ=x(x0n+~A5ZqKQaGxHrW{znf`x z>87(V$r#?yoWNF%^w%OLKMnD(2;6`XE@4!u1UC}gNN^*;jRZFm+(>XE!VTgL zYWStf2#jx`-Ei>a^nqtm7Lw{xaD%dLs&0JiZdKjrFu0p=g9wBvhO+2{n&8HV=}d*r z8VX*=JS)9INzoA)!}&7L;7JARX#)XA8PoWwx^V@N?+I=&(QB4tXSl)7fl-JRR1%ZO zRH^SqGQv&HR7onHv>S;`1-Mb@TZjyB40TDUT5UrroX@T5}q7bs>A!LM=HqgA(xrnJZ zHy&4o^OKk&jRDE?g_eaW=$hgO8)A~zmxJlZjeDcXMgP^bk3}r|_%BNR!&!A@gfyK` z8jq+S<|y31sBV3vi|S<95lt)Z6c>=U+ej>6h|*S-l>9OTMmRU*wIO;PRT7X>;xu;wP4~RItZEpi_8Y39ytO;%025od1+)cEhArj}-kl4ySp^Xm{ZIsZ3!(qIDfr+P zSZ-2r=X2sQ{RwT{GumM1lEc5UUXBOA4L}sFm{3}z;>LR@ZVam7{I$D4n0O`Aq8l43!Yo{jCU4etyAO-YYFJHY@u~kZ)>2vr+1LWdsX^)eY6m*K2m3WroA$d5 za0_}sNKA;(iC48xHQs3|aAPf%C&wk_kT5YSNbWL@(gp~P7VyJJV17W)oI^j(ilbGI zLu9?7%YHhCsyh_hRoz!#Vhz7nSvRl&>ox1;Fl=Bo<;b=qZ15hi!G8OO+v9@ILO#F1 zB2Jhfxk#l_1Qxi_gCe(mN1CF(0w-X0ThpG1uH@NOK%ds=u zVCTa26ye4uu<;(iMmN--07sp(yw3DkV5nqUo48LDhK1CJ0z6wCf&;7=&+FtWMbejl z@x>SL3jN}dei-St8!+MeEwxD=N`Rvizpf#~btsW;jDAOuc0xsn!dq?yG9g09|VRW*t-3K~4O$F}X<19kt1%qQW zi@GMf5`>o~a~i}$#c5DN2W?!e045I9RpIl#fCubr7fbR0;31=*l)(fif%p6Hlj^qC zZx1~Z2P$>V0J|YcFB1Gn(u>#$=VeVKr9Dy;OGlGQ7}Uk9+CvobP_C3?nF$`T3(Hkz zgRz-Zxwa+uGD2#@3-*v1f(U zOdeOgBLc!D^9l)9Kd8XYYCc$u3lBn-=xy#ig)wgs(JhpzjM3bLg83X>w=fKg9UqS$ zLW+eIW^?-=_I&CZw*xZUsgV>KN)goSP4}ro|pv9 zN@~mQg1JnV%8QT-uekpUsx4RN)T-1pU!DE!t7p%ioIR~+WoNN^bbf{g9)FJ~Q$Mb6 z=hz>+f__bMP>zwN-e-Zr$`E`9I}u+kSy15l`KgXp2Lx1m|09 zC9b|ieE6Q#=)eYx^>QFIP*khbWBk4N;%-}q$*4+FrmeB{b9^H~dY#apG$P3#S3>j) zkKv>diT<-KZ{*~U`^yE~1ipN9chEqg!lTgN8XA!TBrOlis%X!dc~PQy6+}#uMZV5f zXz(apRKq17KdEy!f%CJTO6 ziwgzzQ~lLnf=ZgTau_T*L4wq)Ni~ZkfTa%g2-&JNmpPf_CVl!XnJP&jlJx1|jWD2zjZplvUkxX*0nZ-vR;c36i zfVP5tr8#n>Ci2cw8RF0~M1)AUE<3~#-?VrBcGW;=$Em~^XH_exRY|BLC|Nj{5idb1 zWOzjwYA2*53{A`7(O_ax$8a7op*U z(&dxN4+rC@(_L=xBzlP!VX`-Tj6b$Ftc_vp^2l`*dwl7{)>Nzw#&I>gFg`H2pc3e; z;qeC9b$~Ac)?!&=^>JB9Z&Sa$dF`V6(hcSt2D+`Ab)~F$|MdbQdd-qN0D3@$&5hR5 z$^<>$1N7LhWWv1Pve#aM9SL?M*pXmIf*lB!?f`aJ#Vl8WW`v`9Aj-fq3))iV;aQcd zpqZf2f_W=_>0>P+?0x?&xkFtBw*@)4mWFbYxI_E6Lwl#;XyJzTp2$)Ph={QALATb(T1P=#_i^>qAiUQs$HU+TmBOH^bV_hz zS)=+e=}8G!BwUejMZy&cSKJM*piZH2x6+y9u<#dAu>*}X6w}^ubd7_JlTXy74&@BU z0~ge!E(6-a63j@7KqOWnQu$&BAE^JknP%H6Nyk7GF=d^ z1HPdqQp(=}DJ;XjRuaD}tLfvz1gzIAtHUsXB#fb&bV`_@1ptp(z0fW<-o6a+J^Ds2 zdl9Gh-l@HJYVVD=%m!cox;Q^|+e7n%^L~GNSo`e;lcsKa=MRJpUJ4(p5EN<#RS4)B zbjV7uZ~|f-Nqr2-j;9o{S4Ax${w9irjCq4RuXE_4ECsq>SXNNtIR`?*6@57EE?TeP zC3@*Hx0~oC_V|-h(bVo@UnOK4dTC7sZnPy|?6}BRW$wMr^Bj~b3xB6vqiv4OLB3KY zWsD(}u1~QVa@AU5OS=muRmlq!e>9XPcrvIETYT7zvcMdr0)BHYGW^=2j}^CS3rTSG zUEFh?L$y7-PTIOUrxx6M5A81KxiGzE%^m=aDCtqiZO~LBL8HXZGBn%2kb0b zn7|8x;6Q?yB?K=rC*Xuxc!@?M4$O3(+Ffi^QTEb;mYAf=;I=Ud0@C;l#r&s=%1srO zz0-gZJWf2Kj6!tY_Nv#bhCnW}1mg$a{owaC$o6Mt?A>xSdRoVAnR+HKM>Mm%T zN98d3)wV?S0`g+`KVw1V3{KDrqADhtrmB2Lw6F~Q4nNx?G><~iu6xZr-#KV!=LF_a z)JV-zjo^K>#NN7?`fGsFPeY35*Vr7_xh|;@MQTKm;`tQM58g~`ID=5){^NP-1&6;P zLiykW%wP)+7fUpvU`3&<^GrID<3zX8r;fJ~MWRrx$`u{vw+%0(GEkGJaz&z0VeKDf z$)Zhh0&nTA8&TA-q**JSVM$#}uxRr_ZBlwK4e$Ce2&irDrv3dTtliS9+e%W#5hWfqn4!Qdd+TApPpJ}-#Ozb zu!2w}NJd4Dz=pwKKQ}UDlIGBN8ov=2xY8-YFb1JcET0@MKui5{S}BV1KPq8R9ej`NnW$Jp&A`S z1%g4a-~wFNhzqd|HuWgvp)0m9zz?PNGPvY5i|0s7hq2doY1>XwNm4(No>i9t9H`4^ zR|5|u4G*Y{*k?qZGkVTxuUS@yVFHvOqE@}xY3e7{c!q8ub)!hHg$N>;j2HMRVO*XW zVOeIKA_P50;m}>;j28*AdXG+}^gloO_X9Vdy%2+?dJk5vEzrS za89hG#7au6q{K?<^eAmXj*jkJ$xQY$V3YclRXUi-G5~&8aJ=Mn&e4CudH@6JIntpv zh{Q_jz)C{BVWDpBGN5ft0GB?4@G%BJI8JJxJ)eb5N%2lN786ppc1YS5a_)`6+Un*q zC@yqR8GLq7vQrAs8Z9BS(z9S)$ZcU`toRPqgJsy)imLaX?UlOu<6*2TL>niFlH;i^~9>2s&x^q@i?(&i;Vlzbxp9w3=%#fl4a1fDl13Pvb)1Ik%uvR_T zONUvahAxA9(%jAjMz zfGb*jqAiL0{Sc#dl#h;;M0KxOjt8I(PI`i(yA5Tj0x_xla4@!sm6TXX30Iu`kZ?u6 zu@8&c`fEHZ|G6b^Kl`PUU;XnT|NQmrm)9@puhSpY+wZF9Ung8qT~7P+aV#cx=$3c? zeoRtvZGu8O8!DnHQyHCB1&G(uh9cOa%mq)lV(_h7!xh_n30EDky9{UxOMpEgC@~33 zoGL2`SU~1E;JFEq3JHU1p3~?PS9tW1S6-nVHhVXukSY+N_}LBS0Z-O$tRyOX&9XWS z6Obr4A_)_`SFfaZ@o7!0q{K=}tfa(BN~|P=5O?5}q)P*WHP;z;=;8)Cg+|(wqD2VO zpwtptI+=Pd9KuTKGN5ft0J<{;83J>j>I*m37q-E%V_+po<8_EeV+>lpOi-yaV_-g3 z6mSyA3&CtHX@7_6LBa&Lzy!^*`rt7^t0;tS+a5O?@KYacw^wS5X}^oqqQB($T}(#v z@w8vwUdX(+EF0mSzg>&A1QilgNKhd`g#;Du1}YTVdr_9a20=oD$%M{q4&o+98q|1I zpcPVT{k#Dc_P+m?w4^SBy9pZiyP=Y8e z3k8R40di;vqjfkixMgf!I}5+-P=UlS%kZ=cjUI<<~IDg#w%BrTXLvXY^~AUH6AWu(lAHgJBF!f2kP z3LCYCt?#^LeWA;MwlM*fTq&D+HQxpk9D{*s;dNdRtRSOQlqxuxISI0#Ekqf#@h0$O zpt`MS^A{SZ0uwaL>Htg->jc(VOX(@q3AU7$K73lz_v0{GxXpsuG;q)e#%iLQ7a(Ir z=auPszklh5?jl@<;jHIJlhAur4U5sMX>S;2wI+EQ4S<##PiNC>8+6G_CS`L{HYa8C z>`hWOU*h$)VffS$@}7{g*(>h3lO|IE+z3&?#>E&Ih=YTzX)X(f|HC*OPYEH;$dBQV zIegaR+rbYiybGESYPVRT;AL49F4J(K$wVnamP1{dF_rV+q@q^F0CTb9se8sPJ)|-_@tVK$;--z z^(R7+D<%|}mqEp6oJ9jYlk+@dMuoyiT()F!eWP>3Y+lElO9tBt%xqz&t-gzU&hw|O zov+TRb^Xm(XMg+Z*|R5Si(St?9TnmH427q^$CIg_xHt5ZAm>8%n)P}B9Euojh(Joc`3rpWS==7vC-;cPUlJRZz*1i)kKJ8ua#x(sLwY#;`aR*+O8*#|bZ z4n6MATgxu6Z!03*tJR1x=?WDrfOfE!I4UygAleqeA!|US0)dJfaN;!TB$3^<+UYxZ zOv!xwzH?iqi|6Tm(_|b zQCI!_*`z6F)bE8^xEM{|tj9?Yi_2?>Jk}!cgFNs}0WCnf5 zYjk6oqJ1rVT&7{A_vkXWZQvpWm!d8rCGGf!sU1J%DoMMFf%?K^Q5$!6l4i zm5~_|+o(w>1N$fDX{L=~P8TXTlDb`Q3-9;xnzrrK851LyS(IB;h&9~2FNQ^AWE%p}Irn$gpiI{ZsWMW+2OgW19Z%v#H-PJJf!v6WiG zj{EYynM%xR3NI&t;NK(KB3@;=;=lqFF&O6}_eG?k-7`~ZOX7a+eL#cBsB37a?pI&_ z1<8BXYwq{XfqG3Ng1H10$$jblx-TVZK}z1^0g#gSDNx_M2~wbbWPv(_#s$fd&9PKT zWF3V=qi7d0N@QUQ@4T)F?~vx;PZjsH3NYq(S2}?>S%}PvQy8s!(f&7vXyp@!~zT zN}?}S#oxkX0LC@=>RzR7-@XYFBseli5Dc@< zl?Y>~Km? zPtFSN9ICTW+@M6uA?t8NiOd?JtuN5Q!MOwpw$us!T1e0=s{=3rx4q~+g*rjA)2hdE ztt#)*W*PGgIgcC8>ODFUQ~&%VI*G#1ZBo5mc#KACQ9lFr0w&w5esA>TfMdtm9Qqyj zJgFIU(i0~=anciadW_z-43*r6K65iyzphGeRY8r;sPeUKipZQHKJz(sdEm}+b6k$A z)lu4>F1S2h2D60)6zCv|o7Avv9~L-9E{~<0I+art1PtUcTH$XJHeNPRDRV)}GEa>e z5Fp=aX+R;Qub0#TI6#n|5Pn&F_&$ObvtePDDs-c=uH4Le5czNN%GcRpt%WW0>tKe>nerVuPs+7}k> zz(X*JFLc*903rQiNgaR#P#fTA)htry;$$ymQf*+7?2noLR2!J%CG(=fLu{kKakCb7 zl>ZhW0ID$78702ZUGaseJ(n8&!s=yp04AWMM=2hII%$a$UnpUMgb9F$ z9$!w}Flh*`I6Sdfa}DMA&nYoq!=dWkKynac4o&KQSepfyJ`q@vvl;6wh z_3&Hrb(JuI8}|NKz{~%95!_(*!b8V(Ml<05UM9BqgJ9 z8WSeig9%ptLaM`nwlD!YO)+k4bfru+fN1!uEFh#dFnE#)3zW0oO<15c>=?28<_k$^>NqE5rV%=1 z=*bGHT?tjO$ykhBAMAlw082>k^lh14_ z1uSF(1<3+z6O}@o!&2Yi`34r)`p#S8fi45Oi3bdoj36T!<)*1Na1$QbI`kN|`^E$c z${Qg(kbo5m{ez7}l|bvvE0PPYgfB#Fzn%C(cZdlD?KR8l5KKUNTvEkY>PPlo`9i5h zal!<60B+F7JLXoW^GU)42@@ntfE9EHn1DDQOzB95egn`DaDv<>o9# z@W9|(w}uB=@4IDvpvz!xVgYTWw9KmHFSHK}w1yq`rQ(3j2<0+Ugo?SuoijrCus8{nqbEUCkA z0A-xhy_)uhVODn&n@-m@p3bJ%Hs}&$q@H9+KaljqNl*Nd^d!?NSHc1X&=7@?MGR=H zqnS2{W{4>BqHeHyJoSP2BKR@yW!j}x*A{i3_-BTzvU~|)u zF*J&T<}=TYj~$m6J3byiED8jb@vWg$4}Ac72np~f()lmL?8PX)e4hOD>;YbDbz_YF zbe>QBq#Dnv(Qw-L`c6}CTVJ_LIMQVvsS`}c$C z%+2Q0Pe(<>Zl6wqo7HOLX_&mMd{|%2j4KnA;b1bNbSVPNn=CJNCYhu~0WfXLGOo?V z5!bJ4g*djH`0Bg3=RAK}pU(QuSLf8a=;o`lzkT)W*^{%yu4nO5&d(U3e~%|qKP{hC zmv~0G%ep5Mq38h5Fh$RZJcrhq;aO9!yRMK0`=Es~Ar!U)qSg^&pk1;u%6h~1b*Yys-Fninp z*yH$~pYK9vN{}VV9B@Y`N>eIfJm`{LzytVpw7G^e*FlqfyW^jbY#+1!(?$U(yp z65?lvzOPvsxG!^)b6(c{5MKfqYz8}@4~r#u*b)}t+p|f7E$|wL`BS(UP2Q{r1`mtN zYFJHYF;Vq$Yf!YY1&*^9vJ@<*pp%pthY^ zxokleX^a%`^o$`XLao%nc~^&qZD{cr99heP3RWT>E=zbW2}L|sFtZsoJUHV5M;#KA zd!mpve>HImpz{MrUvj=?ncG%79aN(gEclSP50Rm@m^wW|&i zA@-)syJLle^_u(rFt|Vn;l?C4*IVO-Hf^#_Weo;lf;WDL1fqZ8hQlz3CGmt65>`l9 zAz_6`f=O86ZmfKQ6bU%nW6t%UZO8_ZYhPH8)tGtj4bW6cLqsb$}JM2 z9>6E(L1okyj(7`WDif8_r&-=;y>6FmtSuC!U%W7{l3ay!U(x7OAvMZ=aBGb%EK?~s+ zdZtGl(IQi=*j8J>#Ok|U2;}OVT0rFeFtJ##S#t;A6b`ppDe-JR%DTpPVfJb?`MnQK zMEw7chqEv#oe$F$lke`xSi8^VcQehlA^l;67e&00yi1q`kGZ5OA0O`EpD0hFM<)m&lxvCS0q6)kS)S-_k^9bLcN&a#U>L)#72B#FA43I1)q!M8Dn$DRaewX|WMVl*t4XO; z-nB8t&U0Nwqx+|?ea7#uEP*7$I&TF8{2Eez4!6wV+^5Jcr+?N z1by)DfBox0|L*^*{?CJ) z70v|#Azfa=Kd>nA2+ToiGqy0sDJpVRHk&q=8)q}BLz*K6H-*%v`R+;u6u*sQiBDcu zQ*2%hFHnq{EeH1L-1`uU5XUYK;&M%VIbRJY+!xTs5m=N%N&_zjxH9At^O=l`=YmDSkS+tB4cM?Y=-&C9|E*RSFI%;@cBZ9J)7Voo1F zX;hYR-0=sE+s&$qSovf2EzH&}6%Z?=YBYZzwnt2lwHyWu@7uDX|W zzrG`jFq!sSZ;}4XYBGa^e6!4^{om_znL+0je;%h*f3!NoKjWQ?tGjfQH}QmLlX+-9 zx;897g{)OT&X=K7-vXe*2RxZcc-$56r+pT(^= zzN#YrAG*P3qf1u}BP0IlyezBN@r>|i{>N+js&LgG?ziyT{r3CI*OzoOc{?M%m%r{U zckcPYXkOq~qSFHQsxK`JT|U6~KUN^BU@4^M-iLqPbZeuBmC-}kib zak6VBYxxSfb~>0YWFa{rTu z-C6dF!W=p`w1}-EMJ7rG=?`HhD_BViDv5?q0bcuCvtP%{?)`X0iCyNio%`YzNdpsU z+;@=sYK%&@1(R1{>T;vI&wU;0qmo34O^mZ^;1(7v5goLu>q`pnmNe+{t6ivK+wBwK zOZ}v}*}sJK7WeyMaN&5hfEy_B3ev5zl*e8(PpBcG1{nIpN9pY>AQEaws3D<-J3|dQ zw19P`9ClkMuaKa@7UW>X!WzMrlrtC=Vl8h)4aaF?0#6nJt|P4Htbw;Yn97+WrO40> z)hiK70nd3{(T7$uzcMrFFrzKp0J}*mt%`n=cYqt3Fem=lhf_1}h8}iCc%24gSw6T5 z4BIvHfXa9dN4*TxkytAQY2Pp=GL>uUwFxqi*jr&$Xx}s^x?aUP4Ya za|}tUnRo2|b}JrHs+j{9!Q6Ml!r!3-qQKUE*^nKVDGH96Je4X4c`MycS?laHu_28kuEgd zU5T*9`#ZmqdK{LRxtR}rn}o`?G{OyZ@((Q+&~V^~r_LnbMGC(cV>a4rp0tO-)+07% z+x@g$wk}HKjnp>t^5vx&|M2FQe}4V;$yYzlf4X>xP-BBCv72qaXa+Z(gfdLR5M~;{ zOXF8DIE5&tMo(zAMIaHDnJEesbXD|h%0tKq>bZgDrOrhRZtBgQkLWBGuEO*1x^5Ar z5_w}dtIDdjDNML^w(fdy{kE(MbT)yaYN>`;wDhX)!DP~gC3Ode&cvfNi&cfVO9iM{soc)0z>ioNqZP>JzmYh&0>#ZX_>mIj!!y+ zq%%lRH9^&H$=6kswceOPNlgvQKDnk-d+hS+&fmtX--U0 z>Z~vhbYTi&rX^@r3X@j>Nt^K8otTd|wa`&Rvj_|CXksgshV%_S-nn$7$c>{)MwRuc zYLd6UbeA69U1qb57BEJVu-K3(m9uUW@mxWg`}FVjSi4@qwO;2A_q_)6ciI)1Rsp(v z=|#z+7JmgcPEU)BLVHodq#St-35R}Bk_=r2Y-~^DB_yuOnFx9JYmv9Ep+;tTG&h{#Kx z87WICjiff1cTy3|V zbqw>d*+*yE9i`cWkt-g#fdff!^2qt$!?0-V&!3D&gDda(dw902pV~F=>p_l24-kJ5 zE&F-r%%7iw&nxtt4+S_ z@QpxBVFWs6Sf|i;fe`O_*4a^i-)KjwJtzo`E6MR0@J3$%W6 zgE!N4Z|9RF=&vLAl(zWb(iV+r;J#LLNO7!n==%t= zeMzeE{-qjJ_nP?Ssv zRB!9HrBP4id~9HPlO}7!5pns>xHp@Djq}--y+l{Tl)Ff|iy$IEmZ^Q7{*9 z91Ro#0f8yThkpZpb$j#c?#BeyIMcBVyLpV&C|y9E_Do>Yu`R!pZlHYAh;&OwiISVLG^x`bnb9jM+Nn(99GxRT{L?vLfy4%=x2`s+Ki;&xjYPdNDg=&Fu# zzH>6OoS>5x_0r`5G6$*gGY7=&Yd^P&_*&6)Yo6B6^2$y6xMK9?CO2lnd5KKAOn4iaFfdApNF{iio#vu*(9=0mi=Ozxy&3O#H~ zZBUaSFx@dZ_nD`7TJUJR6Am<8y72@K0XAI@gzLGojfp(?MLi>W7F_umVBn@<^0M;b z$MDBIOlNhOs`Q0)($EaXQVxB5;WT7jfbo=b$_gh1%$j1*``#-gjmyHe>3ly147ArQ z>jR(`KM5&Ams{d4n@}t%eAmw_L9I_7RBna^h~6h~E`&=@qzDZ2a`U4_AHl^|231jP zb)z@GAGqpr+K=j&A^twS>TMX0jJ;ho!ry*n-(CFr=+QS$zL`ya)U*E3{nupp+tZ2u zemK*=<@`-*tk}uR_M!r9b3yS z$JA34hsVbDJLa8d0szRwMbP`n|PfA7&4VhuFDwM-w->RT8OAAZNGHBtCOP(FGK~2&& zW_K6Go%Jkk4qtXAH9;?XFx*6NxV9qbj4}q!eQv4G1Hjh@QWdH(yLRMSCK!8m&}CfTrB$IpIfiMKmk@drusLyGW4Y!!F7cxJE5ZRxohBOv${pv7(E?ACHF9@Mu)LLE7=( z@cW9H#>Vz*4W+N~n($?G4?9x7`sVDmHNhyYEpk|t$F3Ksaz~n>i9L-1raZ_}6xQkM zO)zF}#>=s2Yksaxb@Q|FmW*am_-FJ@3vLRV@8-L!Vp{w*4mCb`SxvEdHN1EVLI3i% zR%-ob&*c*Na=sdLXFSU}ama*mB*t-F{nYxiY;*M(l+e%DpKpF8IE zlf18i#%FIZPpb|Z8_ZP9Onpb)!_;h?3G`QMkB#k`C!Fn{*IQ#?0h~s2h^rfMdCL87 z9>r6Sw*F7!h5c`1A-JV)Mx3Sp+5L>&Y^8C;PuWAeg2YR??*-PLy48H#!?L+Ln=rYy zWY(W(R~zlS+uB>ME^h7de*IQG=KHICJsa!n81ASYFPu2?ag`tIUA5!1H}1l1@5%b9 zz1;oDXflhJDg=*{(LC=qJ`Ka@OY;S$bB0^^@sqei=?2rVxcLU*S#=rUvh#TOZ8e11 zP92rV_$A(?vymSS;vV?(%#ZQE@r!tCd{#|olPZUy{3_P^ER=3Oh-VZxYCnDP;Ze^@ z`;4zm$mYwTo(hanUI&fGe7n^rIqlEBu1%$5sr(b;VIc3REi zu};(8*UBn<+aQS6SN6a0s`0RD_cN=%x!UEbvm2tp(*`K|Orjd+%+p!Zf-KK(H18?damzwSljgX(16yEuZN%FN+V+UFC+{8ygYa5;RJ^Lb#U{+<%8PK_50(6 zx6ftm9lX7mo>D|9MU+xRDMgf0L?@9V5)6hq0pxHF?jce{_#fk#%xLh$X~l(+I~A?> zVj#MgCT_GZNuVY+QAdfSEOA9#;-7(gCW>IZ$$`?3pC*2bm+w-t+GSQ-*&>+3fIE@; z4oufsrWyLov%K)6pm`Js96%;- z{pcZt@?AT>1F2l2UrESwFs8AjK`Jj~=3EKVF`j8m=9CfWVdlVmTlpQw3El%|oGNr!D2wP(%BjnsT(?;%g=fAH#3+v|I)3ne&}(-I+q=wX3${xu z;mMbrrmn&EgNA>B5j(OywjLQrXobmbhVAxUTfp5HP8E6VG7@yO!1f*{b7he^O^cET zXPAgu=>vfK)*n6uyx(+ycL4A(Z16giB$Hf%pXP(ea^^!O3vJQY$Z4aa(`RP@zaGjq zAnYDs`}V=w5pg%Cxec&$=L8LuXFi9pS_mDV^Ac_VrsUo`Vu;PJ1NIw{UJa1aQS zX2ds$0#}l_Y5gpX43Hn)@M38r@PC@!@KZ>q)S~~*O&H7Al9jMHNYh61$t0B3>*mb1 z9O$Oa9P%L3I(dWr>#JIwe>IA?SUfBYH|lIpHHn_ID;3}4VJ)t~7Rb%S+)wKU{C%E> z=d(dPemuZQ-h~_2aHO|lJj=|Dt7z~ZCTD-cp#S|2?@iQ3@DN6dw4Ud?zB|djyR#-h z77NkoGWoRg*;%iGpYcX`JbW~o4`W*NByQeq*Vo^1F-LkAH>$kVjSIfq<(V4{&VK%O zdR7h3e*W(BXU%kMJYScOy<0zBuODFBBlG8KGMl@>cZ(cma~f;U>(2Xhdgdxg$lm*U z^Ql|U_QRMo{|2nVh2AqvKA8J>&y}6jO&urcEOI-~ayM{8zbkOKeqV0J1j}#NZo^%h z?0zV>hPB(hz5MOYxAVb4#Ajjn2DkKwaQ|+-l%u<0<5||v+l>eDy*+c6_t@I~z3nl( z-0a$|7%ygZ;#a|}l6bQ23mCROSYu4^{e1QT1qB;db9DD({XRQes`$5u1prXEFX7&VX(XWi9HYAjq|+r{H^b_)dj3S zfXViJ!j1QB^8(#?VjX=(VJj%xel16Ludbqj%?I#mQjhemT;9CbZpTBzfopf;PHUKl zN6jOWy{7*4f$@mo-7*W$qFdQ?RjHYJ6n)@}`z}VOhnd2xpT)KcM*aOPo@LVgB(C3VzO)z&Ty`KVT9S!6P?L38*1Ac3@Q`FtBE7h-bHoMNW3#8q% z@6EXO`>%0=k(ONfu->sW7)5DLbF68GC0-EpE`>c!<^sTvXOu9ewrlrSE%&yK^3|6( zt*z?)`h;4y>-S%u{Vn!9Ia|p6&psU$;rxsd^7nWW^`kSkzd_sg%Q5a<21^KdX=KDc zBl4Wub0T9ChPd()lo9W_3&YO)Z=txj24kjSmS9XYwT@m;NwLooj7cyi!I+bPF(w4& zB~cmi(QeP91+vM#$VlOtDMT)EePS?15pIx~51B>b0p?AzgjyNhtD#j61+1nDXQPJq z1YyjcH}4X{beYmE5C#uzX>1Jd5O@s`Zap5Bqse70i*y5gzKqQ4&cutL_raBq)Y=A5 znx;;B1LOE(Ck0{l%)r_h+#h@?6a@ODfIL6f1r&gIv_8hLwyuC!%?V2 z{o114P6Q^yyxjaKypEW9v6Zp)Rtdf!$)FN^87BCW;LAzC7g9=%XvZQ1ARyWiSdW>Y zLZ%VsYY_18{EHl&tyP#u;i4Kg*->oM3TEo>&ze?JF|6=z7A{7UH|xpXhs9+zjLo(Y zC%=qwRqHStTi`f*9m79*2-9U+TM!23a*7iX-Qg32*%`Yh2y=}a)LO2ct2eRK(Q+w9 zA!D+`;duE~+;5w~@wR72$1;fMHMf4k5qE|o5~FJkUL-6ru0WNT08mA=6`n5!Bw>jH zjK`|1LL3>e#B+-lE}0V=3Xhm{hQS`1|5A^{te`rCsPGuit4LI!1Uir}zWBmg{lz2w zFs5v8gs12tkDr>o>HC4JE~ovaG;xkH`19%#T{EYng~wa_NUtvk(~%qZMw5&Ft7#tv zXxYbqHxC)D))t>NSL8pp0MTS zGOF#}{pfNTaK@W(cv&}fn!+47OacrBV>xI1DuxYctyIUgs9X|_x(vA0XoV(JY$%Y2 zfEEe0-E^t*+DyIPJRyp;fPR$!79F<|qDY7Wi|Qm01^QrUDMOhBVZbD3Fl^4zLoOo$ z3fZWNrYd$kJhAG;$K4X8%beablxRX7+*vndx0f3s9la!W)j`+YSvhTw#I}jiV_d{m&C`5^WYh_}jGpMgbJ$VP?_K#2U= ztO~X6J#Kxibp-x>{y$rL5nMIHXdmL5QQW$3A?y$Rq#CcCO#SVRogemCCN9nC);8O; zY+mp5Q0#2F5ItiJhx&Tsf`1hzY+pZHN99`osWmOl{!59=CcYLe){}p_U+e?etSWl{&In0 z?3a%oKYAF~G@2&iYuY3ALv=KnghBm$tRrlpC0EKZ@cBIa6<8jt#m1sD8yd8s-yF?d zOsgTxSO$wY7CxxK^k;77>Z52#wu8uJriI2)3aE!oflx2cq2tz2J2?|cdnbm#A=xfT zplDM^C0LJTX*0tm{)wal6GbrIMA6pqN}QHJ?G`WKrOK(x%qARuQ%Ua~CIL6sGHI|M zjkhKld+$$7^xM0&P`HAii3g<719Jww(BQS{7%W5yH7qY6f}(lMudSf_Zb91avFM<6 z+P5>#`wFDRnD1TDcQKrT#E71S7b`$sj4oX@j2HNg%fk|gUdi)-O8>0E>pUM+{_&Ft zsTY9%+qz`YAlJ{{AW*1$-1^V>R8G~%zqT5=W_fszIB5MW))3GZ!^#AIl1W{1cSw}R zL}@$;_)|#1(8F41=+quNw?|h5X3?>mQZ0hBtOz^Z9gbHX^${DZcbU+Hdb*&V17e;- zz|PuXyTP3G9a;eAl#JE8gPMdaaBIxMUxO@u42z25v|ohrVDu)k`R>CCd;59#!F-A~ zh&17dgd-A;NH`+lh?Bq(T!gX^uv;RIfV8Zg%JN`C#se=44YO-m7h|@TQ9d6QKZZZ% zaBmQSzh-a_)$+xccpDG1V%TxjLWS#gMIsxbcd6+jnVU zgpP&M4n>fyKe$Ru-%zr-X-Ayz_2S2(q!6v1QLx?N^fsIi2H3G(eR!wVuYZvVHE0%# z^>Tpw0<}G>tRO}-JFTkN3wo(WF-rskTN_lYQKg0zzlcqVoI;->f*wn}#Lbg1gm;OG zb+aM~+^Ff59x3uIaO1dYgungDzPtGK(W7sid^4N;n5bA7m<^g)M`M5sSU(Nd8CEz_ zqGG{J#;aNEuU7mS|sO#)iHG6@) zS~&sF|Ewy{h5=p#Q#X0jd$+6pK3**QbWowHbY8-nI^GWTk0HYsZ-ak7c;4j9U@UR= zpqtyl*@NiP6`w+9`)TEWzQ-&0W;FUeUIA|Gv+)RUdRDnXGlclZ1d7M=_xN+CH8@|4 z=19(pwSj4dl%eVH~bR0aK;{5Vnjz9i>e`q$J4C7?C7Rvy4!F>G5SxhcXr}YAR zT%4cf|MB~D@HqeP-<|n2fBoZ6Z_LYY-l+fj?kior{ndOq`uWM@@tZHEPw;dZihuma zCkQR-^|p3^e}4V*MEGYHuO0dPvwyO$Fa8LZ;-{}(Kc43Q{iyiyyW#l1hxy>ES6>W2 z|HsvX`Vx43I_r(AaflC3Jgh$*4a@3cK8dH_)Y;F^W@wEzn$P|Lr@T+j@DQ%bH~)Ax znTJo#JjA;H_--@|t9y6fAr~UdDV|B-1;1(zbLn3HgOiTOK$7ouTrOw-anpr-9-{?3 zAT^Jiy&y$o`>_O4R}mTB$&D$>J1 z%qYq*~zcVVX2E4f! z<0w2wv;avE2D>Q{o&EIVH@Jmv8llr3m)7FgJ`4*VA&dm>gpRws2x!teS$kh?9p^Lr z=RbbJ+ctX`yOI9~eqs?4_IVFl!Lz^p_oCqhrV#(_ksejd+U)5Q^7rMF2L_ovYI@>q z@dJH?!w?xZ|9W1pgT-eWdo0K(S9kg%IKYj8W1KyVYbJa8+1J?@qe=E;5t=^y=TAR= z{^>W5@hhaq*q*DeuV+ye$UYzXQ4C1pMP0nD@I)^{2}xP#evG&)td}5>sFi5_-(VWr zWp6y7n}A_#_{V&Pj$Qwk zy|;04+qkkv{}q+$?R&eg0n&_uPBVxqVJ9J4js3it{jjJ%?{uK57~lKfK(t@A6TT z%`dK_yREBb+dFh~!A`F($J5kA`*Xbh@U&aK0k$3!Pu;~H2Q1hxa!_C7A)H*E=j$9_ z7EPeP=Te*1@nRBQUxY*V`W@zLdC1Lm+UFv^dUpj=j%mJ%g7?|sF917v>&<7w?UU0C zShK7k)kpMoF`8jzWoZ?jD+PSpS9Lmk9IEDgxbnW&DJ_n>;6k+PG#brx8FYc(+i1U6 zf}8Cl^rXgc&t zrtRO(KGsjaL~IxF_<(*L>t`}6UZ#kEc-BlZqQ3%9fPa@9qG86^{|C5_IHpQ3=jE4; zGH%*u6d@aKo+2;9><^EafAnRFSkK%(Lc3wf&a{2>$LITA$ITtIywm?PjbG2+uCC!9Mv<_bO_cXZ6p-CyqLn6o`NcXZ5;;E8!T zpCAo=NbcykAEMmR?sOF8jy{Rp5i)XbLBD|O`?b9>Qgfr%Z=fG(n7uhtz_+UyVc3-Z zrkfccT`=^I=KuHqRgcc0_4xN@-&aUh;%$0y^)G_GPWVTYDngP$xK~{Mi+mzE{=vlG z@D%_j{s{-_YeN|Pd-@0d@h<{KF8hsPu-Qfest=NDNXoxc2I>fs5b{7elEg7=^LfG)b%by@LGNweku##6wiRc5XtE#rCs!LZ% z`IC`GIq9KA5}?&JDSYq;ruzCU#Q35hnjlVnQU`wTG%O)Fk(-u77|A6>T@^+QKlhxKHg~* z+mq5y!U*a+xx1GpNW(qU&pD7pZ>j^uBo9a!Ayw3%)QCdYHN@4Tgh`VQ3Q}Yd(cYfp zb)Ln3rz5T&<(^@`KMm)gciy$&dH-PE6e^%CkAfInYnGL9cOX<~uj^Ks!eF@(X!j*D2HUWQ29^#D62vey7?#$H|B0^`BhIwY7O8!R7G&WkcIUj&UBIvRfp zt$Uil?l{jr%7xo^-6~~%IR||O?$lZI)X}S4f0_6Fi0$H0##U<3-tT?&3laf2m|)g( zuTE01yleQ=J8+INGx6kO_Tk#8#%cPH82-yt&U3${MOOssF+sv++ziJ>Q53&Z{7&)v zo*om@RVp|M7kb7GvT=+R9{n8)xO5m>1{;#j5?G4g+w9raoYm(0Zxzq?7~IWxURuKt zstAhbFYDP7No)qv!(P*X`}XMger-x|m`;ehO1SSl!|RZ!8}%dWUz#Wb`oVZKb}<(6 zRS6BNskJsKKxfN8FzUbl^$!66oueS02NwXZmE2A-2WOdMIG?tDNQ=5mg9#R&KhLtw z*I8eUo(xEMF9=T!n;^%vAbma>O~H1}f~wb;s_6jR<>6ZFz7ELNj@_Az)ps8sZb&<5 zmt$|Z0gU1Y(rb`r-JQy%d-jqixUtsOj^GCQC{ek@oO2#uH|JX0;6=;AU2L<> zU8fB`@{jFwIa-F)IS^d_^eL7P)*!;L$$DO&?!o1RwPW=fn+_nl4%NGG!x^u2@^H(k z1RALb5z$D6rNY`$<1ay%b#A1xlFaX&zFU5s;6~HPvvYUnS-Ht2$3k1s$VJg84zoy4 z@IkvA4}cre4?vl++!EY~sS$Zkhu4p%VFNcCX~2Ha-s^Fjr}9YaR)QM@HwbPJ+|a@? z8(djfui#%7nJt_E8&+HAluaB|*xcE91B~_Lt+h88v6Idor`n{bz^nk=u+Vx(^x@_L ziPltluM>Rb(#{Ur_tN^|G}%elM1&mYF5yO>!QF%#OdG|7vpz?;1UGh2wEKl2rwTU= zlVz27RloxToTe0bQC77mpmD&=C$G_sh2Tb0K4}^Kk5?6pEx35~-N&zPFg<9O;{k93 z-5(5RmPsmZ5Zbssgc)L)kHQQ{mutLsy=Ic(qj6bpew5x_tv+(T*=i&BxtWPx(8GoS zx=ncHP?L!5iD%M6eEs#;gf<9m;GqMhWPZX77Ua}*dj@>m$Cd%d*i+n45HNc9kQWK) zu29;*W6Gm98+X!{veH88olPPLZAi&1+&9)T;Z0V3i8lHS?grXGX@hI0rN5&l4piLO zfoIl=6I%k@{b|{?{SgGO>J&{;NE%ty5{e^dB;>>Z7Z6V%m69Nzs8}V#0^+ZBqTAB%F2^%ds!oz)qSCvR5+-ln)7R`~q*soLE{CB<@%E1RwVKJMi#eU@H)UFP^g> zP{sHTM31IAj4LFa1~s6A5BBuU2sgt9Wb2u)CY=Tmr?%r)s${@vBs5_T%0t3Hs8N(Q zH=uJW6Q?9As#2Cxc=-JK%;6xN#+puJ>w9mBC;ANNCY~^0>LV0kRK3`z&Dc8hxIdSC zu7e3u*tf%}*$W)HR45&NI2ZiGW0wAY+LG7 zPV+aaigo$JwWNB>I9z}EkxK-Kzl9mJ_xu4tduAkoS;mc~pdH5V87c@+K>+D)DhS{me+LBtZdolsc_>_+nGi@v7ooJgU_ol`JhTpy)DCOb zgqioU^}V+Y+WQP>Cum38H^a0PIfNw2(T)`T&Y{Ps-FMJlM<%@~T_H>oz`h}(u2!P$ z5R?nS!cH~$>@h|`yMKjVKRIaEgZ7?3AZS-G1V?h%o~CN~+cf*-a`N}#c=7+w(2s3` z{+RdTXS(}bcCDiEC>9^$ibNUrON1??9U$!hv3V$XznkE_wz51;i-ggkfw^x{dY_~{xxe-#X%lP8FK80WDe_%PNNB z$S#zDrwlx0;GaHuf)#WJ8Tgd@D=`Rw!J5hSe*7(1kn^oj5`l(??GOooH!|>@ciu8| z?=zTNLU)D2hqVk~oW2hz-6hF=_qp7bcqi7( z8c~E;Gi!sRl->EGpJ3u$An}eBa9}iVq;}3efN=h0igRdH-#6C2_t9r; z<6hc0pZs9kOh=5TuZadvG0{Y4ts8$VRtCa-}-k|OuAhau@lQn0lE=&Je(%_GJ_btQu zK7+a$&Vvch6^B%q!g=%-J8Jkba{H6=w;nl<{a#wpl1Xzj9_q4bxQi-6|6PbE&`B&w zQ8=tJXv4h{L06Wm{OCVCsK5EcM+Ej;4{%zn8t&j^*{p}d!h2@C;*OtUc)z2vvu>)j zthk(pH_c{r-|_$YfLNd0_K7i1jCo?r6Js7Bz#WinY%sB8CHyaqMKB^VTL3Ki?8oPH zK$9UwWSjYZvdwn4{XT=+jrWyfN*a@6PLjUfB7NN-hV+U1_eWp12md|x@1*ss1WTfd z+ai_lgi;|uZC)YEFKY!uOjtxgIol5b?Em#XFrfEQa3yHX^ttpBhAJ0uqg{@N!3{JL z=JuqE3Fr$rORqwCey?)e^|RPkIB33~<+J<%Oz|CgUm|l#xPov6;R?bPcY`ZxQ23dN zzK9;yA4*2}^%?klLxfvZRj4_VaX6FDmJrnc#kVXT^cm4En1Ghh!nP>Ku)jZ;XmjZK z$M$B+^ZR_6mA_*VZvU~zl`PM3zy5aZu)RiLxV}RNBP6a+`bpr?xyqqH>{JnIiJpTl z__``hkSRmN1F8gTKi3BoEDIvt-Egia7$yEIn#lXSaW4*mG#jdM0J zIGN^bNKA>lPuzW?`dqEu1UFa2s6vYikQs+gX$tHmsI-``M`eh`~Q7 zSnq^Z{X+KcZk@ng>L@dhr*JY(T`WKAwEGcnz-3I|XJ|Vyy^zYn%`Yz<%D;cx`hg!Y2^hcriTKX( z^XTs_NDRBXbz*zNLUg)HMJ)o@a!!G`qm?W0ha*j2+Qbe_%6ESBkl23L&L$=c9t8i5byX}a;zV@zyde90u zZ{tipTLMj=SKcyo?=zO2&>j3;gdd7R_w{sqpHatM**{jlaX{?ZBTm1$OD9GTLb==p zqNtL9vqGw>0zHRf0mcj~ozq;z1Ld_he(;d^eA|vE7MpXlifwN517mYY6dYe#>`dci zbTu1YjvFFZv`QtFTp=sowEilgZ}y__!7vsWi$UhrUyDj_vq!IY%5Q)8=i?lrT~0>7 zhWul>*KUZ5zde3Fij&LfdW+-mHjK_gIXXvm`DL2jM|i%}Rdh~etzq8AcNDHuxK5_^ z<OjTlrZUV1CFea2dY$8Qab9T{&yO?sYQ9l)pdoy}iua1K8z8 z2mzM?@*OeXKV%kgP0O?0&4J(b1HA@hxDf+QGwEQ(k7XqdYiMwr1C zF$9C|WC$-Sh2L83wA%=C*O~T->-X$?TA@92gLVlV5ZX&NU??9ly(HqCRA|2}Ahn#P zt#(EC=xx7oK5J=sq2b@hpztOm%-L=(Fy-N=m*Hw~Ie9(&Wjf5nwjutv$*Q0{JQ-mU zJO0iXHQtKEQQ0q|Qpjf23L4g0>B3h5RGT16U47P!n(go69q+znMBisnI}yFno_oRX z$QY-MHEs`JmmA%EMBo1McF)P-j^XbW%HMkAUc<5dq`E)PAa_L1F!Bfvfp_s zt>ASXu};&Bvi6js3??SJ^O{!WkHjh_=;esu8wvi7EAhU=;>T;R~^G5FPZjxeMw zT`4PB8D{c>?Xx4<9Q*oP#`k^3wG-cKBO!rhI>(rlv2Tqp*8`1)#jq~`IfZO}&83i{ z^3aiUgKRxlMJY`vB;$;i=yRfy=oi@Uyb+g<=(q5N_UwCN;k+KSxBp?`ymvyYQw-*p zh-#Nc;Vz^3-RH6flu7@3mFe!_$7RKmq=23RdJ5<%pud<7=U3obK7J4Zz16l1yi`ae z8uX!+IiS}u6eUElN=M@j%iPn?E};K_H{dd+?=!UBm>w*8G_T7Qk~@g$+pEk!wpZ?X zkN%V0kZ6Ax(kHCnImx{Sq>uhpqVcQ!n}8$Z^AhO_fr z56RYd2XX-mPA;@>SHWSS{RwC4m$TRP2EC84e*G-gR?>=e(|k`R^0#_-5ch_-H`Ii7 zsUeD&7aiUeIaA)bn@xq_LK@g#TLJE*LeNo^g7Ly2MUl|ZQN}X!yFc4#zWt~ydZkRZPQ*y9e}PoUotQT2=3*UqEMu;HR&7QFeQP64#}2raCWT0$BN z-n_r%d z*XaUI)X+ch|@$bzxN;2BjZ z?t8}iyKd9#v+oo7_dW`)I)J4=j`j|pADw~54 z+=y>RV>F=Y_5NGJjXs0B2{#1526_+hJn95DJ}eA5Rk)FaVa{+?0OpDDGj2WPv%>Zd6{K+c4^$j2WdEw89k8eeBn{Gw~H(n9kcvx_Qacy8Rj(EqW0MW2w zMOmY1E&?G?PNRfNOUEm#sFQ#}s!0vW^S+J*W&mO}L=~ zlOe_m!X6+EZbK#1p4%R6ySw|r4aw2&t67eR zzzz70dJfMg-|lph#zX`+aA#0;U#I$}OWXV}rj75WBVju-7rI>@Q#C}tRTqgO)w%Cld;{BflJ^tUJS zt9P>>-@WC3o&MSU`t9haZwPMWD%S&&G&^(-@VtWlAu2>ZvI5*d^RFUu#Z}$dqGw(Q z!Hr|!MxVjmfE&y!g?7r+THt28rOnu=SCI+#?P-#!L|HjyBT9;u!^%Tw3i^O4kyO{# zl*xxuWaSZ6H?9%GlNi(0EM*c#2N$otL&0J?FJI2WY!1%G_0HRN>IXNt8nnyt0JxFc z97yM_KIsl-n@eg7LS2Rv=+0WMAk%c%rv=+^x$<5^oO3lD)}fq?;`sc^4?)L!i--a( zjXMdA4kfYQIwvw!f^pk``VMCSO?=Y~M$hn;`W;Ze1Ed}L$gJ=d*(g5syvN!~Ru7uz zamRl^aD%auCB^HaHX7cIOz0v6{6m(dH^CTDNsnGAhH@wWUBS< zuA8w@zcA!f;YMC-wXqCH10DxTpw1C|;2G`5D)O3F<$;E&o8z-3cI-sy`-8pCQ4rUC zPTCE7rrn@jjt9UE1~L^FRM|)bHOc}W*Aclq2J1AT>q1+Q^K9Zm+e9*P(rpltYW9BE zx{*<3<8ZkAfS`uaHk2A3l6d^3LfI<8CSF1&ZWP+8F{LZjh_b**oPCQT*LuS6t8w*x z`o|os=WVG&eEVq9e%+*=X6g0iUj3@n|}mp!oJSZ9B-u7C26$EIaX3+fujD zXK**627I-wW8B$196)&Iz}?Tr_2uNEsZfS zGVz6e91npSY#_ZrN9>bq3UL7Ujw&0Z+aMxU&-^v%Hi$^Iy<2#O zP>ABFvT^pfo)9} z$PJ~N<=7i;0HXkIXr&xK>4wrhieUsd2yPJEAhc%l} zqtD=O!VRwBOXMBPH6?-@pD5hWN~;R^!V85(hXP^|GUjmFdTV1DWeNm0ZYaI)1#Xx# ztq1LLJOFM$x8a%K);oe51UCq7P|poA!5t9XATm`ZQw4O@fG*tovO8+``%CftzTdpJ^AxZo1pfc4&|2{*L29$pNhkRqbGQOAHrHxP_N zNGg4a27lI)E7b{TH_VyzgLXL{0ynY=u0-0v65JrTL2!fM2Eh%28>HQUekHNsrDv%K zb!9W$fFEZFp%5ZU#$%nGa0zalA4jI@Gq{^@BU@5Q=u8Q2e7dew-o`3OSiuD^pxuD& zap747Q#cL00b^XIRCaqMGSxkksmvL-gLXOgh8w^rY`}9(L{W7k65JrTL2!fM2Eh%2 z8-N=~ttKx`D40WAaitB zhO1Z|R2>QkieZ8q(R0HE!HOD-5Z(XkN~Mf832xjw++b|5SdIsv4W7AFE{nyfxIt)x z&<3FmLK}oO2yFmuRNQcrI~ptRz#@+dflr0M2{hjDrPHzsxwkQKsgB`N^%>kvv;n|} z)?nUdj7MnW(?lCVxyt*X3geZ?9sb}8XKP+m&}^8fc%_;}M`+`o(S|-#deAP%1K;0D1Bf*S-k2yPJE$XqJ!TmrG9Fv@0+oR|tFl1{=%r#Zom zlYkps4cg^+0NltvxKcvxPt^^QZUllG1UCq75ZoZR0k~n3DUGUh;TVHxwREEJrcy-> z_kYHMs5~R3__1)K&){yr4d*?`ZA!D;cY)x>Cki*LXMmNyfKCU-R9FkW!$ zU`)jVFG}#Mpxt0x)KamEky89vxY1{DH{pg8N+O}kEWwRW)(6*@sWLUB;YO4h<7-nm zs}ue;nTmM>KRD|0cLLQ7b*99iU5*F94QMwwI;aRwaD(6m!3}~N$m*JbkZQoa!JqtW zZyQZNyO@OWqd(6lY5Hb_k2ktjUyS19a=NRh_htEWinAL%@j@j^AFL^YvZ$MDW(uD; z$SNERT~H=$Y8pCS%|{i2KhBtxUw{3z_x9_j_DLpG9CQNHh>RGHGoPl(Pos;gG?`wG z!)$ap?jDKSZcy8ee8)LuwbMn7-eTZ&SdZ3YzAQZQ>oO%CWXK*lq}@11yU}NGH{pgc z9?t;Isj2vo^IhiouD!Hs)|8=ONb z-Ymxh;0ClC5?wdYJ*VAi8YiQxob-E^bBfU_l@z2pvf}V1bD=Dp@*uH>OkV}3HOS0g zouzRY&ze27aLn$BTOa@Shkrf}bHsL&(XWdP;~73c_7l0rv&YX@dD30{#PkloIK|e} z;V+ZXEa4QE*~{T{UaqcTI_z@+L*#2O=M#b(d!}uOVIGAUW{Bg-Z;|DbnMXM;>&=hS zyQ|el&No}#nu?C+VRSJa=38QnzfY%=RHsQA$DEJOiR>`C#NYlZzJ2}Ir%(Sg==Zb9 z_jWcMhyODf|NL@dzZ=i&&!v2S@%F-9{rUZmfBWXw7k~PG{=@4h*tz#lUnGJX1UCq7 zoDtl>(}p1l=kaocOf|v{SL3x;23Zyy46A5EGAOj+=|a_wW2zf{26q!~NW%oPOpy`p zrwcdWGF`HOHaAItx2R$T_i0z_qVl`~zK=GQdC?KvxM#Q_&$NN3ZL=H?fEx@_aifis zM5ZFRL2!fM2Eh%28w59Us!f(5(&7$RoV$m0+G!U^m#?kT*E|65+m>;X%=rg#R za6>S3R}|oWBi8G5hHDAhI88ZAxXiJ>dY?(A*U{@C z$=*B>moc1=eofV1!udRB2M^l+w>9L@WUDK9q*_!D;W=FZomka32qF*4T2j4HwbPJ+#t9?a3jMF79DE%wJ8{kZ=u}?@Z^k1 z7Ft)D+geG7vMyCOo`<8V8$AYh6K*htFvW3^olpsGe420roiz-+j%86tgOXxkFouhD zS-_JD*3%9Gj=IA1Q+4ASA3ljOUCmM+mJaq?eFt0z+Rw{bnBBxG+jau^Xi>9$HM&UC zS-8kl6?kUY0t_eSUom|q$9747-rGkkXrb=aPOO;b^;p%Esg*eG6(j1Wdw9v8$16@=8 zU_(sO(+FugpR^uPJKdpr9_jVyZ5prpP2rqISD~u%8Iv(p&r!?+c*ANde&yM(U;a4K zfBM@K`PIAGkMG{{zfS*be*Jdz(>Jev__6*@kKT=+vu{SZFY?AsaJ#YBLLApvboCO) zbq;^PHQ^p0W2&>qu*X55Q$=7516l{ypmo%)F3{;uRJDQsf0+}Cgf@;r8+`_M6Kz6vH27sSt}cI>4#sKL0ETHk&~oGH zYWJYJ$;g0Al^0)Q9fYJL-lepN$1V;vEhLuH7bn>qHrlPlqbsUwCsGL zO=*2CBQHY+3{_fLi{Pj5L4zQ^471Q2rS?97ITeZsUODI;T*0|H!l^SPp;ZNc=Ca8t z0Kw0`1p-~?!GATbzEA&{gOPy4c9;(M_R*yMx_Kwe((B8~`}G4nsV+w2(R7xd`fqbB zrE`#tEpVI$l-{pnO0W0euo>s+u+IQ@pa+D+j44aJs(q^QUQ>Y^>olbt8YV^+D?=es z+5n-^1AaIS%n#^UO6bQ$b+XEF(2zEmOE2f(J*8?p@9FwWtl^JJd;&HQgLb_fh7G*s z64@5Q1|I<%?AKErj|;v`<@_}kF<}C7k=oU$qG!UHN)gl}gXtmuw)7oQY-F*gk6Ax%>6tbU|TJr6~ z1N*~}Q^f)@)d6!{6|NTOgNc7Du<%r2ENF&HV6;y_W?46qwW zdOXc2@hr zf*U52GBtXehsa^fn^blS6{Zlpbg2@tMAt3Ebc-FIT|I#m3z=3R-i{h;(O(GPy!hc& z&cZ%4`c@br>R2e%z+~=oby0YRRRHK({bILZci9g9l!TB9urwuw;2z z;@_pntK^{}pD!jUEZnE2Y4Uay)B2O43{KQgm4Y?O(5$4f?5;#8bZw$arHV$z-=W%a zeNLT9P5afOfBn;|S1%sDY>GsWa`ou!5iG9$EuTz7rM$)aN}LHcXxHok&DF zs>*x}XtclfdOR#53K%sKY!l|BM$ZN)8#RHOMZQgL)3VX%94~~QMi)c@+g|mfip;ev z#40e*Ig-Mrge;^?tSBv9d5o$cO6T0fI-3fR8vPhGdfj7iH!+Fy9%e|){qbm-%7MyRfmAL*A@!>~SqXQc(*2{s=z;J7*$M{F_ z#oe|J$*4+mVZHOsbNtryF=<4mm*Hw~IU$V*D-w^Xf)~3@Dd6dUHE$Ro9L7Kd4YDyE zX+&^W+<{S*vCbLvw}wWf0!b^vvMSqi7E#q`UWFS}i_F*A3Jsp7*Q4>0FtsHdXukhF z%&Lf}wbw6liA?&;Zx@*W5=!f+DDsI*R30!`^fw{w0gLO4j!_l$=D2f{Tp4&R zoP{A)rBIe&0dflAA{4W=FsMyP&vs%DGReJR7N32Dr^7x2+6nfJmB^90%sZnp#Gz$~ z43Um5JLD0+M7%QkHC2BJ=kx5|^n4U2m(yEtM~-n;wSq>KggS!JRR{%(8l*x|)`hbw zH{U2V@OvmF%Z|sZoi_cZ_x|K?8TuW5w(YJt@ID=5TW$vJJ%32h4#BrZmRCxm89e}+ z5h)u;*+9w$@9o!5?GsWq!1Tzgi2Qbz=m~hiYeYP7Vc|mCoYdGT-1Rh{C1t}(*^pd_ z2ts0k&QS2&m$obdV>OBij8#@9curBDy$y5QZT0k>6r(-^ycyf)9$j9bF>sDFQNlS# zfcb1(UrsKXekb7^pD&}=KTa;^SBuc_aUIIZD2~ssvQBro!HeuATBXU}@G<|`-mo@@ zvCAVjQS9lZ6FXC}HW;toU)|{0vOk7S?~q~0R;<%r<1>6an#|^FH_Y1p9R%QF5^zCf z&{@Od4YKP5UjnSfy2k30y3)~8zrA_mqWiYRS!?Qv&ds{|F2k02iR!^dOO9eBS4S+N+!(vk!1ve9RxcFb`b0!`V!uecR*kAMtErwFPKF2 zK-EbW9<-$*qHkYmk`;<)dfis~(&t)2*!%ula)Rpx|%~c0Q!`&^Zd?y3ebp z29tw!IUWW#xK<8TrH2GJmNlwRlb%Glf^Y@l3c?kHEA9qY@L#2rjwD<*BiH{9jw>jxl(W!TqA;_t7>EO!0;Fo77f%jz&ppqW5lFJeD^3{Tf> zkIHVj@%S>tckrTYO1xNH)ZUxgdsBOFEQAe?&&7&qyG;(TOe2uD>#b`27L!u9y|c&4 zr>IrTRR|6>gQ*mB4K@`uSU3r>j^;5Z#ZRXcu~$W{A^v7Yq(Vf8JZ}i-qO29VUwBb* z7NrD2YF;q8PsXRv?xOPwUZR&ibGwONa*sc)4X1V&`zj&*qM=i*hSX(@zAQ^nt~~sm zN-GNIOOUTj&4mz1rQ3&C4Y_VDv8COG(599Zia!=g6FeDA$}K*8!9@~*a|OS-kO@&; z(Z`BgwS^?O`Y!Lejdyi@P93=S5!zkwGvx;Dnmqs-aW>$P+n}k&Ln@baYGWAk2pkTE z=>0M=_m@SFhecFHp(+YhQK*VSRTPBncfii#l}oZx2o5xeSxU*O2ntS^Rn(B<1TfPj zwY%7;qU?SDEip--!R=xa1f;?U5_|8%Bzva;E9f-YS;iSuS5T`&t3|Zm%heZP60AWl zLCXVDfekHA{sU?*TVlsfJifpD(m4v^y3dK7)xeE*IrfGd{7n0Sw$@4Zpu`}{GTmul zjI9ZWj8~6TeNefDdRkCV3o@=HgD0%>+BuOE+{Dm2l%bV7e;kb=@`&$M*>9@IbBwbJ{2SSQ38P=@ zYg8{FFNQw`7E~$V1Z^Oy5?WYp>JLN<%h2!evpqrcC?Ptwt{K| zM4w8tVV?x#5G#BXW+=$;rp1J2O^b5$$2i8pRpUnpPuGE z)A@vI1yn2Ovs911$A~_)GLYg?N%$)wlut3i47QSRu|y*ZQB}r=D0E;Y#(67!>U0}X z5QS<9FZ#@H7hY)NpeCns#lCXI4rI6ToEpYy`XIP5yiV6+6&?}GukGIfArF~C)ulMW zFY2xvQ8cimT`Rp|NmEPkX!F87DZQ75cSDq*8k@W6aDNGFr|RtkY6-+qB90Q_4#FLT zI}m5w0Y|Bnrc^4bLNGMtRmy{-#C0qL=t-&82Hmnr>D{A_uu^*W8PIN^57SbkH1)zh zCeS~HCKNn`T4m?8S~^huDuD*qsKCLDHY$cfLRj=UT@@d`4HpL*=zfek!e_=WvV+C4 z>J15+N(E;q1v(OXe~e1Sej4HNtRq4SgcJxV5Ka3lroud-galrA=B{&Sp1HwO6BygnGwC zrkgU=yy0Z${%Z zZ35bDe3w-PqR)VKumsoMO3uh@_MuiF1Oy8q!F7#=l-pqQh(aE^Vk-yyP}`_eAg|eN z;r(9QrENR)!~}fME~~>Z0ZI^AtKRN3jg!&U46PFz#Y(hFC6!zuE5HxsLRmQFMd5>C z3_VBT&|Tw<7ca7Ak6sC~-~RB=$6-Eub2%CPy0A_?!v_c@F2{%=_H%)j<*83o;Y_s# zsx?rpfocuC9;L@BZrU4+%w*5dff;790)RhM5-&MhO7x%b5x{^)iFBw>idacKSV^ci zEc#FM8PF~!fbtG);;FuH3?}#>xxu!Ob8igRRX5kkNM(~L;Io60oiTvcXbD-=Q6wKy z=_{XO#Sf?+EW^G|(tPjPUaOlwFIJM|gLYXRh6w-&q#{-lv66x-3)lyu(S2mLa6;EG z{lH_|X2$}XsCq!vgGYbf)$!uu)~*j!J$UuQkM(zY^lto|eKX3s%MJ1T?c+z)gFCMt zl%cGJVZJcD!Xwe+Y3Nv0130Kmxq%(K&uLGp9;{Ul_Of!9sG-l`ZlVT@=73y-DVAec z3_G!sK0Q{Fbi6i}g~IsCqW?ieQxusyA*519!KFw#n-zQjt{_&@W8~l8hVyxDNsyP) zajYZ`4a8zO9)LC^8z_$MHe65zVls;3^D9rRB*GPhD+pK2-VYZIC5Jg%e}iWgzw+$Y zFMk~AKmF~A{OaB8$9He}U#EXIzkWOV=^Mfoql@WqewB;KJqjH2*$5kc@zY<#^KYL1 z{D!@}b6lZ~v@RK>TDZ!lOm%izMbbrRpQ_}mx>S;I#rgBFhAVDmCG{E54we9WLUHB@ zOB_>yI0;>}6uK+{&s~C4NI6vVf<>RWDx#0Pi3aVk#fKpUsz9XbFH4-zOR2#1pj}pn zVFH!~M~pDRNA*f##xcX;{9p?s>bXEY7pUg~ z^<22So(r~iAXrOV$bc?xpi@|+JvoFmNP}|EcpWtLTsVZ4)Mr4um;iKV4l+beic)>y z^5SY&ePJ6MI|WvfcG0G6G$x?sD-_pYF*ulyRTZ2B%1Q~}NZLQ3dO(=q2u#o}t4|&i zY$+|BhG=1LS(cyzL4^(@h1xlgsCffCFUk_vr3#`Y-Ff+-vN5W<1~y0<8cd;V;Y$!V zCDNcSnhLFusP*#(RM`9eThfyH4DKduFd$tU*jMFjGr@-2TD9$+28`g*ZQFj=J_?nt zfx%T(L|KCiC{VKtP{lU=)~lf5f+4bM=mUVome{dF%-OGe=o|%U`_D@R!61xYEXM=j zhCmlNXR-`}Xh|QFmP93pNVtM<1(_w`-AHnWg>vRU-lT9odlSPfoWGyW2Jni)=-fXo zNhKSYt^-640kkAhyP~X|FQlp~Q@c{|M$t)fhds2Ul`y)`fOfD1gNvFpjIhKpw4_rg zLDXKPN+N`$JY1u6_m0uy+_>VjDZ=SQua zl_XWzs5NZk#;gofb&mn656XUV|c``en73``t0wph1?gD6lN(usitZ2b`;b4 z6QL@NPzKD)Wb!l4qk*0)WmyPkQsp!*TZ=qW=;k(?<4JIBwX^~=TjpW)UEXtEzU=IL zeNLS@Y`=Q+uYY>=>cykQu8+RBtkT&d6rTPqpG@<_y`{$-J5zeluGa(LP{vSFD74af zNN{LbKRXQ!v@Kmkv?-!Z;puZ+dU-mZP(KOkC($Q8ar8Y#{Up8weXBtTmCz;%v`Q*{ z2|0$$y{m((in8XVV^C%UpA9Qd2lJc&@Ywp!TY`-~1KI%_h(WYhj7lW?z{b|0$NhOU zz`(wph;%Qi=t2pWyk~){f(MAURSL)&Fl|7fk`A0Wi#kbWcYOeqScZLvpY7+_PXd@g z4ccYZ8xycI?FW`=Egw{ixh*jBG|<8R+yKyB4Cm(!#k`08VSE$D<8+==R8%1$pC|Hp zBA+MndAd8Fr&I?kB6{Zv_`Vhj{c{Uv%d)8I8Xa~ji&Waqo)S;f>(O{wt=JNEHQzs) zwB?NEy)a9!FDLJBBq6Jd(RehS<=Xh${8OE9=*i73a2%?VqzT-4S?>Cw3+OxE!S-N^ z_O+DGl5Q0P^@YizIMR7?EWg4dV`~j#+ta3J zbwUl=b|3XHm4=ev8emE2xl)3%*@V}f>B5hhS7spJY-agpUkc*rZz zZao~zSYRv$S^u82(GS1_RD+-z1l1s@20=B5yQ@K%081y>)D*m|AnImNHw18JikJ*f zNpdBt9Lx}7Y0cEy)mcz?QA^4Ao zwpcVpX(X@!M+_#VDr1#tX!p!i+LE}R$C%JyGG`4sar(>Em%l^uUJTm%y?3DA(1>6z z!4|Gg2oew^*t`jD zc21|}Z?h5ZkuQGwi+KLc)1Tk4mv`R$Eji&ss1e3+g$Tw}brDMA3sL#n2#+2{-e4^g zB-jH9R)(y72DA$apw)o$Evb$7Yr0l%kR$An60e4KhCxvW~!vD!gOX#|j-B zLeBgUB)CI94W6n<`# z(XR`S(QGXmXOINp{jgX4zOu49QH}8j@Og;ePyBx3_fv_W*JJcp%t`J;D}H|+y{Wjf z1vjy=O;JT~EEcikp-eJ(=}yaWwJD{YobBm?%hP8tJ6OPg4q~LEhHd+>z$tQhJeNF} zlA|EtAdj&If77t>LK#@=Qn9)&sWAfrWvpM%l zwShggft8_8p8?&(0~`!+uK@^h)P$iXt?waP-&1JdEFsMZ&}S4?&}iTc2#}k#)rGV| z*Gci(m$}47wShaV4RASVm(>B7K){JqImQ@a0^$oP!UW;!s>!}l17~XBObwhrj|R@A zeJFXLO0Zh;=s{=5BWCMYQEsSZZ6C7J7=oa$G z4>Vy=1~=K#i>A}V%o7{q@6+id)oGH(5e*z4=R{l>k@pXI|B$4ZynpV_`-fYRvb-I1 zX9qmsARTbbA;XzKezD4W*R)xp8o^qPp!2?4%8C07W(Nx}VU=XUQ+=SG4Q`VYcZMA! zcHdHBS%z2&mI_&C@1HV4ep4w?7#k~(cHk*F;tSn14nRo1SW*Yz0MrH~S~V-`Tuk;t zj%ovssWx!-_}RrIjEOHqe4)>TFN6YsghZe!PzV5D$RUpLWvU8Y*-}TrYpXM>ov^?f z7TA`cUh#$c4Cn?P(B5hV(v~K^&@r`vli&+QrqNC#Vete=aM1h~esUY|cl72|g1{U@8kL zgGO(FOm9$CB?}+XG^_$LaIR*x;5kwyOt1$Nto()g3}^=vpwpC)&SzIj(h%HMBiIJV zPQhQul&W?iI&=mo6KuM&$27=xMHFD%F>54g2)6ej_`P(+855X6yQ~hw1VU;lm?gdt z@r6iJoVgmLA0Yhz=?6X!{XnomMV>^VQ-D!o1uzyst9X(nnZSzTC!4h4F$2IvN$Dt0Bh2L~T@a@2Yt-`RIr8&HFG zNgaR#7<@)SltdqB!U4zPfbC$Nv;(9a*tDI0cX2+w3|E88$?M@S)1iP|XNdo8`p-}2 z6Y?4*uTkLS&oL?hh0%}o=8WmxJyTJr3$mHt43iKO*hCnjp zHo2?{%WdUj3}sN6{7ihIJ$#{+hM>=Yb}<3MM&=m#3q4c~L2|*mz%(f0$-!;E$NE!9J$Ln0Wd+ktOye*l~i(ttT^sYhmQ0PwXDJi7%2tDVvzN4Db0U9 zxtw23hxPHg;!gdP`jNe%8Uf*f3F6vNiPDEmCx!JHjOdujy=styg{Mn}w}ee8H?F*z zH%_nUl`hF&i2Q}_&R?ho;{k5zNN%Q@V0pav8+DdVd9%zJES`8_wt1u5WKk*KM)s{++;mSf%-! z?z3L1Sk^2Q#zZ{cS%`(p3Vj_sV=x&7+9n*ZZLEJs-GFq1c1azE1GtcqlfTgMIACk- z^aHTKcUNh$=+^v)#|v}Lyu`yi#|JstJUtr@FTyyyP8ZNT4&vn`4SpGotIJ=egK?TQ z-NdHTwT-8<>5UEgBpsn$jo_6u?s!LRLAT@qriCA(~;TE~}=& z>gm)6@{8d6^pAO(&hpzKo{#V@Xg_E|G+o77z+0pcDwT!e+=0!_Qz6hO3YyQdbTM~a zUhMen>Pb~0sLXE-V+QC0FhEFvKbg*dk!Ei$^ULSO53llTt%2#JEv ztnX&lD0#gkGvW&_Nntyl1xj?5Mg zE%XYgFIJYDxSSk<<3TtX{kjOwb4(ud&*H-R-T@fqh#LTVoZj>EL+DHdS*S$*Pht|QluDB94;^Df6=aMok zVg(Cda3@o6AxYFBF}V*EvRKQ6fPlP!@{i?|3cAvjrG!I6$!)EK4Q2HZA&VZg>+Uej zf~30@)ZzJ~DlmAye_}X4PnmNv%D(u6f6S4`dNcZuHz}OY-o!8q=kKSvN^+539dE*T zoX&Haiy#X@7J@7USqQS+9b|#4q}Q1*ZesMvVnT`$gwcie-Z%~o1{XUa%hU9FG+tIb zw&XIK?;lOtl1TGjn5Ea3llSZS%qP{wXgr$Ea((^n)?Dt!7B~)7THb+bFrF1cgQdx= zE>@j7xDa?r$4`8FMoWUCO`f0>D^%k zlrfw%#$+)clA}ta`LjU(x3Y$YsPvpe&y8_@K;;b^Yzz)bUM@Wnq7lHSl*ts_SAj(j zV=9-G(GRn{(Rtl2*;sw%v5OImg=3AU(#AfF&>42zK=+LgD%{J-MOzpFyC@}?D!c-p zhRG0M!N5$gr)?&C&3f9x#PT*ei$ZG=gLWv|pzI1Nk}9l-TJcH+fu89ZM|8+kE4I}Z zFtPe>7XrCHrw$PLI7}=tXxH2UI7Py3R%<+)PqMD@ZJPaZIr;k#nuz@W&&IPfsY6WD z6_fAo$XL72(yAwiNxcL1HQ=yWm5kuTmQdg(KxUG#$1yy(T1-$Hjl%xbSN|JY`V`kI!$+z8?2 z5*{?%_urp}e&ht;a+W8$Tjaj;*u4g$8yMzrYsI!|#>a65QFUS{ei=mj4sm}O17u<) zN2^I~Oxd?F#?EtHMWg$tuY1NHt}KBh!-wb<1pL{lMZz!1+1j8cTgAkcDg(<-Etrg} z%keZly{u4Cef-b=`Jcx*S%v>Q!=GD&SbYBn{25j4#vgLe{jry8)9$hEbE0V$Ubm5K{ z45h|=mevVnRnmsbcJI;E7nkFD^m@L~m*>+t`|pjZ99_j`8@}9U`8y{&ZNtsW!Us36 z;p5Ec@w0X{8NJ1vK6}xsEc3YI4;s140UPLcq_4L+U*0^=8|h`c`Iqmp;zqIE8g@(M^)(F+-@I)#p1w@88J0(L*XC<(KANDR zz~Vk`HVao*P{LMU=B+or8fE-H4(DH9UWCy&%l}@^>w5GqpAr7d|M8ChQiah!!q4el z`1$W|-(B#_$*(gO2j#oLa_2!jznoY2mF%>Dy_!pdl&n0*?0$VY`6Wy$oMS%b@+z@m zPCvX%aSj3D`{oIjzyH|Nw#Uh?ovh_6x{!s~%q5Pe`8s}UE^!8jQb6@Q*FY(e1H_h!4PoJ#Uj-&P(gw0dw zX1pGTD6v~zUs8Ctq(PTo?LrmXMlKIb^Q5}nzeEfc_xoXR;dHft8z}J_(yg+Tr(QEB z)Ig{KhCcZPbR0*LIx|scCR8|x=Zh6|2i;mrXaSo_IqbGjUSY|CEhxc?g*Ae&xfC!e z#F=bG4PT9`TNHu#_FnXW@MKZoI>LI+J9x{3saynBs{+kXqfx0=@SMjLeQGuHYcrD` zGupuou$%PSo9s7v2e_dPbMlXUIyLkB%3Ib4@3Ur}P#G`bs8@hGl53?P?K>eF8?YR`QF4Db5Zu_Ir{nNKBcyvNp1o+n#z5M$NOwq@Uktye3M^qNEg28Go zkr!S^fdyYm5vm$iqFG#ge9fGpf|9FVAG54?Sbb=1xNfVNFHdw^h1J{OZ3V_e4X#k; zfrC55@DCn2yil07)}r*8|MR%L+-2Dl|C%dJzhBMVBv*yHt|2MWkYYIW0P(JdLoP(< z#-gHL`{k8w7MJt6J@}eAJFaGa_>5k!usm+Luy6v@0!VyY>Q4(xC8`Y!6 z8ji&7BzE8J3V8owcd*G5ys=!toJ8l^8ksQ1GRIiys;rc=CA>0sB*9L%bpE-ENBYca zHxZ_}v+zB@bWTaroJy_>YLh}JCLKprho*aOwU z7NugmkTqJ+pg3xz${ky_k~dBlw|?#fjy|*6!L7`Bt~nE!Zo;j*BeC1E_C(-7Fwmd< z(IIdUZfzT3PKSNEV6G}rZ87xY>%IxM{tl7@21D`YNqZP>JzdSg4n4~~C=Pa=$u@O7 z=?tjEN>G)cDnZqU;U_N9W7B1T>I@8tl|b9YU?qdSIEZ#3gb6j$HW;i*&9}Z?~>s#}RuCz~nV1<&G%vH55Di@&d;~-{whGwNO zc~y|KsVKt(^YP{$I%;SZVd0%kY_+kFzQM=4)PYr{3*6|evVN$VyvJzel3RDGjppu2egWX4OeVJf%eJ>hhXrKeHohd31C2(u{ z5+d?i7EbG0Yp1zSZaMr9*|&S^lpUu(K72N}5r;2(Ij!HWKNiyWR3O8AZ1&lic4uk! z`DLh{hVy`yOp~V}{ymMW*8cp(<>mRc_xwFPTh>qQhWGV(x$1I0EW78tZj*h5i&$-p z%U#%%uOIo@xV)T?t8c^X`}uh~{Rq*WZ|yFnWBZ5nfAG~0NbGMWcbdnlucM!O6}KY<3Ma2RvSCN8v1L&U_RFvHCT zE)9^dW-`<7#$~uh=IOeh%BL;P=(tW7S9+! zOe3ztJov*&$*eANKju>*=s(n~=0hOpuOoO$TYPe9i`F!7Un@GKIM&<-KZ9%^Ni{yc zRD;_=`@TISYrzJb!v#qBcBg4Ru79gyxkY=kD5Jth1kFS;h&GgeD>yYGWxY? zTbd1VL(C0K5vA|cWNl=t?%if!<9xPdFVWR7_x6b4{JgOS8(mDoc<_%o3S@6a|M4b; z^Vu78ZVl(}r%h)m3}$>2#^ZFJrS9KdrA6=5{PB4hUEsq!a=FWT&I(LHbh-#+GC(E+ z=Y2ZVy&k@Y%F49Jq$J$GcXqj5)Bj*1A!^?vK%w9&?P8LHo27i&c1T@(jj7$-v%Gj zi210jeZP0#k`&cvP`l}aOdOMpt3o>aHl8{;fV z33^n(8p6`DHC%ffXn|b9zQfq6YRE%})1z*l^GeEl?3uR*$RRrD6!RwNdK=E?`Mr7F zHG0d)Tz~nyg!k=wI3T1GwH@^ul^Adh3yI z*Z_1rk3YZ4shS>#zkj=HAtN^)8ic4T*oH}k4pB~4g|A{+>R4OP8&5!h;e4MF?S}JQdFRX>DWcoZv{(F^-{;FXxk+N)9h&Mt_6NoCYlrPM0>kwkFdC~6 zycrH(xyU5={^+WXa()Q905b`lta#L+OprNfi=SETw7H173Ej1yTSa_5qV?`>Cl{l) zH~E1vx<>y=andRHt9f}oiqBrOr0RQ()Vt@h7O#)4ifaz+iZV?hJB94jrkOg_kkjvj z2-&5P)*1%oB#RKzX~m0ROehkXpW+RhNm4m2yp=%sIfU#-yaAW7d!M20#O_?dC|w$2 z@?F-m!7}T8#3URP#CMM0FO=`@)(PlUB@#TdH988*8e-7I3p9OFh?Y{4sTAmlo|o4F z0e$C34+-mc?R;XvJs-5I;IQD{Wzg&8DJS69S%}l&rZVsTcs4iBYc0rMS59u8?oJ^g zVF1DagaHTx5C(V<7{D9YBKe9HR{07Rs@B0osPu(k6^I0tOQn5awn$cpilG_?MN~FV zF%=3CoX3JYZ=HfkNXhdRoxUy7$9*p^kx8Ek?;;ZcMhR0y5?V(lA9sEZ0xdUxdLuUL z2VibLL)8|0Ao@?8fOz&QB zj=s38GTrElNeZ)+t)i!C@^%!{_vs(=G@UhdnL1WFXvYf}O9k}th0~A^3C2?)7_Wj> zFl)*|??-1bU7uB_Xw!c6=wJWz>eY)!*^XvDeUvZe?2%yn-}31+S({g*3tUFHXu7a5 z7-hpDoB3BvpK*W2Ik?EpvOWN6$p;~2=yOY8#v-scrvL5=kvGqapceTxP-8{XJPccV zk<2E#q2h>NdG_mJ+aYkcJ_z?N{U&!l(ZR_6Lh zMMkv*w;n9q+5(5}qa{2*PP>>61vyp9p%dR28DC5LJb!DnwPG2T>J@tQOqy z1dq*J6)It|?@cm==apx5ovezdCC|?Cnl@>hv%8Dp&UzNNgfBZhLK%A5gW;x9z_nE= zCqxA}_oe5tOaNb>NL8r8kmwlQV;Vc)gTXk}T1MdGQ1F4Q5xvh9T@3!!<#?K&URLjs)&D2_zH&ybwf$N{>1(_ue3{+D zPSmfyJ-cm9Flz6s5*FpT>jkRZnP%v6Posn>Pr6o>5B6pgjM@9Ewx7wf0w`4Yp z!oOzUv=pYOGPU1b7t`{$d8qM8uO1A`CGtlIRr9|16I>LfWC58liNsim;#%qPw&Cc5 z;!2@aswFnd6ID+x$MC_bp1t_ua$JvI&lk>3*GBxiX8h~CBS_0Dtx9{q)k%Cv5$KPQ zOkGWf*NT{7Ga6NzOow~Mdfk_D?YZ-|Jzy!Zt0tmXX(FpKVvsrX`Jv=_Ry{%`BLtCfpw>DH6Qn|Y_88HKk?R<%=#1U zdZT@JTX)OV#jQQwZ{Dh>e1CPXXJeh6!X35ag_B1we_ zviWjorUGMBHUa7>-)_xGPKUF2)x0BLwCDU=`<`5Uoo8qB)wsDwp4U@dQ#&p)pYnab z_i$?47t+6m*eVsDURnCWtx0fH&fSqES3v#(b;VIc3REisZP`0 z*UBn<+aQQGSN6a8s`0Su_A_g~x!&cvvm2tphe>o~gEpr{HNd2jD`W*8=$=kzhxt`r z-;28=K&k;!4UlSpR0E_M;De|Enh;PkGw6nyf<;yqY385>E0WYnp)s{cBG(fh7+vwR ztONF$%FQ~U@}8kjlFg=lWDLD@qv#dqP#rMMez~0deRy-UcGLksw1L!?T*C^wt)&as zvXY(jLxXshsi2QmS^`!@XOY=xkq2sOWH;^I@@d{vvg61?N1Nujp4SdoUK{alg0?#% z-O0PhLAk!H-5}=BVnLJIYOnH;bmES?@zh6W$7$cl{+*X!Zz;w$1GU_JW28paExFY^ zYkO0uxbq%vaxrIWZ~^OyFQgOk;Za$~?jqcpEW_b7{^Z~8rp)l6XusS@yzM&AovEYy zAcZp+_BX-JCzlWEKG*M$7v4RWwRiCLVmhUWC`CjmB1#cais(V4h?Ib#P69bxf_sP* z5&q$V&;?JC1#6^odZ(iGUJOL{(!`yOHA~#(Ch91W)HSY1YW!=GQK%}p=t?9+PM;=z z#LIUnS?x2cooo@zVZfcBz5~;B*7y;Vu;4LY&L=VLCy{rKpL2El8;Nyy>yXKfQAVb! zERqOlBBqjnEtus6`pk>6imc*g76=?bChz>{A%yZ>JAVMF+@fDeDoZe?v7|vNuXGVY z4bm~5X+oErGnFMSy-DTU1KJiO-2;W7J7jyK@AhQ3aXdswF$sY#jiv-e8wP9W*9b#f z&2*@Ig0)a7Z_>?|yk8vj1K8s~TvZL(sy($WM-}FdBagVZwi+ ztH(J$$-{F^9ml`qJ?no|OXB_YcY_57e-O_v=T*468iZfro-&A+7ue&sCWCS-%YS14 zn#AM|O2?BJ)78QgtMf!zeTU^YotF#yDWozVFWdM1-p*AFU33?(n*#v6U<0X@)~77# z9xoE-J31}iyU#=G(*X(RMpXBNRq+2`tVE1gBMlHBe zc$!|08~N7J^N}Zm?5NrfoIUTn2h^}Hdc(^I|EW+#^c$;LSp=t9!34}b>#A19Wk=7g z{EpKE?@0>D4LU5;RrV;AJQPr_`=Zt=idZS;OvDwPK6pRqwY!Avedep z0oxB6e%w$?RI(qiZ#^=O&}=SJtDiQLxTtzv|uqem#_JLD)UO z_U(hUBjRpPa~oinAt;`>EMf^^wNf@e=QZ2_TrFb^%rRfy1njpW$E~N;{`{RG{gmyN z0qq$cS$Mo#V15h9yEcsT+C%y7eS1pN6z7xC?EOt0?ix2G0NVfZ({%dgfz0&q#uW`W zPygfG0bOPQKG`bj-$=_;X&NV^t2F`JlRUnU&?M&3Y!d2v6d%nlAEA>uR5|U4Zx98p zC2`Xx`I#9Y--q$*rDehY+wO*+LOP`hY&SO%q7X|~!r~xp8_gG!RFB@_06EjL z_W!f@uFY*5S=Z?IQ+57>%5|PIGp7Qo?-#w5I**+=iN|BdiJeT6XWnu(8VwnVL~3~P zZ7To$T@3;hMUWyW*%D=UCeFwr00NC}V6VN`TH7HHGO3d{*tfo_=0qTIAH^va4-3PM zI@?o?gI^kiN5fiNgDsGoiMgN71pH%`hnLfnc>H*PeShAporNpcu%}Zoo@M6Fs%Y>Y z#s`1Jp#SX#=O$_+cnBj!THoiJo}Fad?5qip#awjSCZ9GwJL^^OGu{Y~h7U%wVf1vk z6O(t{^&M`wm_41vjVf<3alw~6J#Z%{2R}cV98|-DpPxQ_(cF%e=WF}eyYkcZ;sMq@ zGJmed)0sPYI?rJ?r?K?B?!8a1XReZjY@OGuPu==%-;YW2e}FYO*L#NXCo_+?T-lwP z)bS=AL~iFn?oQm$ZweeP&db%9p#5}d8gANT^Fz5ato`P8``x{#^UguU*J1b$Q~Fbw zziTgL?kSBelW;4<9R&A_Z4(nrxg;**-q8?NZC&gk}X7SFE> z>WKDn_Ys5L_A9nLcvsHz!t=MDX^RV3egKp8`Gia7ZSw+Md1CE-Mqw=|TYoKkH&++Y z!0H2daZ~qnR<@J(!gSm<9JnwWH(JBo-)kO`95nT>PmD(dKhkM<5#7ori%QMSvxkZwM?gqoP70 znZq;{kHh|BKj)?NRQW6&HV*f8eb4d^9fFW6Ky)b-db#B2s31yk|8l8WmV1&5&bc?c zwuxB!x<#Xg?8v`qk+4 z4AAt@y>``!%c~PGXrPd~4V1d^R8C;t{nj0a;WS%0%|-K&gjW+@O?Wlo)r42?1YTv1 z1W{;o`!gKE5Q3N&5@GNGOH1$xQzVbB4tEHz7M#L)1EEh|Sg6;DhD~eXeC8p~c0~wW zdxk68U%Yyqw{MGF``p$pa)lKu2A7 zox6Z*YR`7F@MY5%^cs*(lo-RVg>t1HB1qVXC(s0FF9kFK@N+P^#X?5|xk5WnVda4D zTI}?+7MPwZ)z5V{o6fWkq}{Ub<+%3y$2h@AORjua?pPX(qBN&D)-=NsF9>>Hp#r{1qmsI%Yqj}QJDd!8K3<^Bg>jf!w| zzzF$UJc;_z8Qb6BY);QGcNr`p;H8lf`+~?LYLAGFO&H?JOHf99;4Tas=igj$aRJ6m z!Zg8{H6nGiBOH%v8K57X9{LkkolXwjZ2D@5pC=PYNWwUPhKjizWo51!;iq5O)8k(s zJotx`@22A)_4IJ){yrZ5{(P*zA5Qh}Ie&Nh`qZ5L@a~u29>0I~-H)@Mj_+gV6@C2X zuRg7tCZ2!!1mAh~Ca!C^e^l`uLC~C8V`1U-54RqnqUJRZ0V>{F5mjpRJ8n03ejN9} zU&G7rwqB*^pGwvYMo+bKQtW^8%{SKSZyxCTaZ+4*U*}T#>AQArwe|QJp8YSY)1=rZ z@(};74pY=jVb=D*87rgTa}M7j#l8uFc}Y}8e6-v1Xn|~UFEUbiW(tvuT;DMmqX;+1 z%!kaP@Bs5BSwgLh?$yvLhXPhpg|l&8-9Z?$<;~kdm_E034TQl%TN;azNf74BvClrh zmqJ0HPYTHMb6ucp#a+xv=*+VK13qtMS@!JNzHt~@|L0CX-y8Z|4ZcWCa+tB9&WI2t z69M!9LxIsaoJFX}3*xoCWAJ6Z>JofO@Z}JX-f9w~@fdVWqVd;sGI&!Bi_x3O0K$Po ziNIPrI7@0P@MiPTFp=T)Cbcm_2jnGmsE^{NI0}`hUt6@>iLv-FFIRsxkJjf~8C!3) z676ip5DC5@NwGGxOz$=U>chtgXU42*=g1$&O;1PB2q{e$cd%ieZI!({MZ*zgxB?yb6YzQ2Ig{#6A|6v6NK3qyKe!J7`)rB zz}yuGv!+aPE3Jpbpqcs!N8A{WNQ|x}c#*IKDkrHF0^(&`i5TU-M}2$&#$#1hAr^_i z63;DKxMWUfC_G})83uc3{!2X)vx4dnqQc{BRu`ctfes{LiG(E{+>hl=7_7wv#(>m; z_-H&1C$(W;jRJ(0Tq(y8`+IP)SRQAVv2byOnIpU@Y3?ElfUdr^6vVOciy9Uzu!M$% zB@5PPiX*8aj0v&q$)VSwrKDOBC+;AYNUSa}!Ta3WgeS(8AD*1q!`h*^7t#m!Ho%NmgoylG>rLM6ODRV)!I!M0#+yX4499fUjQu%$_`c@cS$B{Fh^} z;=X09bAFnel_8fNxz}(U4%dZ;agY{rk9w5udP|h1s+o@p zR5S0zJ_2#7EcF?fcZFKnTx#LmX`ax>#wmQ@o8yD;{*tLi7M;h#nZVnJ9jW={HZ9l^EVXf?G-7_aXOnOM0 zKDC-&`)uy?i(QD}TJgfoy@9&tvV^-!$h(0PU; zvd^OyC=yBBEJ|)#%HOFQ!X@Gq7zZ7A(S~=K{)fqw_<>F9#Ld*iByWm^5`}KYTnwmH z_!Aj14QK4p>DUbqHugfjIIOF(nN-tz@zXEm_p*AM5O^>3)a@g14as&8xy-cCs0;yI4!O4SwVL z^YACL3ECjiR7Oc=*U2R=Nuv^xu}2O0_RA<-gt8E@TOy9Ycu6~z<-vxG2VNE$X4kS7 zSgkFiJRBB{x52uA2%p}H#R3##Fp2;kDxmtxC=EKxA@l-MGv~0Fat@UgobUdYP%eMJ zwpEfoH?E5pD4|Tq8?v)rT*$iV@uYQ7JviSCQS!J6a&CyRxcKf1G1VfLIX|Dx#gMg! zxb%t#>v!p3gr4HZ9z~F~U${t1UsAHUY)72$#p1`jq!6v1BPV9PQT1?ka)KSZ)rV`f ze*H)$)Sy|+*UJv>3)Bv*vVs`V?6gp(&grEZ#VipFY;91nMwJ>?{313bateKl2zo5> z5|bxk2%o4}0gf(%REvmyc?~(Nr;S#!YD@MCsTOf#Vkj-7u;`4FDIf-zw+fm$F9dv< zWso@~xiWXqUg0yr5q)l62S*UWEC^~khPi--Cs=HchUI8{TC|KuOB}6>D!}&Z|9V;gL93+LDM4WV4mh^{_o}V-C6kZ$!J(j zN8=|8LBdxj6-o({n5ddZpe$#AEEU?J!&V& zH2(6S9FI;9yhBWV@TQu+LYA(?)B4pxRUQn350i--zZ+cds=tpH%jOg7sD#sXoDTJu z{d-nVga6!n*<|3r8ae3MnC9SKY=07;X$RX|eEj(Vuizh}(I4>&FtHELMgZs2%AGVr zh`)@XpFH}2Uw5|#=bOAZIM;?Ct8+&~G?{F%9`tI$cN&e3V z#g9*iXa5}LC*QsKX87>S^T+-vT0KpsgR|-^#D^yy)?bZ=Wpz9o$J1}B_D2U(G+G1d;29PJ&%Eu z;oG=e4*qi4g*?O~a)u}5L9_XRI|d1QGCg?s^k=-=<_zhhgLoM|zjqv_@%4jqeHnkm zDSRouIDlB>k5O5^Ea59O8h=R!=8Jlh=J#LP^UIozPfn_w;}r$jU+qG4HX5B^(Cbho zj`%RVIfzZ~o*$fVbMROCxA?6K@t=D?gZdBexy5;JJaGG}T(|cTq_zk5zJ2)O;3}d@ zjA|WoPY%!1OBmkj_!Srhb*(2x3ixz!-iPsqgvtN!&Z-P^Xi|-aU!rTD%m_LP(f{}V zDXSAy|G%vFU3B*QFGh|7{xfgyM>1w!Q2t;1KBxE(WxwGgH!Sd9C?d~o|M2(lZ~W)K z7^FSh?f&J2~ z&%|(IQuf^CRY3RI@zSfadHh`bf&={Xm!I(B&+f-I>wm#l%%jsoK7a`F;IIFjchbn< zI7-QY45(t(X3w9IzqJoR(3S_(48+0w3l0(ILp|C2?Pa|r=fBejr}OCeeCE%?l=@?G za6hiz?D^M^vu{S@?Abg>zW>`#KR*2GACK@QWWd;#i?1(dUhT*p4*e*GM)8`C-&c6I z6rqIuW$1s5xGUQGLHbc+@5A3GqhX)D@v3MZWAO-ogm9K2Dt+DWo0nbL;_m-n{HM>i zzRgZ2*?dH^<^`2iMLa~GbW5LafIT|yT@kYh@vwDgTa0Q;m^$#|&~tn-LNU_IV(Bj) zYIT(V*8wEpW4w&MoK4Y*tk20sXNG_s@+s9Qj^*E0+*DjVm z&%VjoXgCQq?wH|4j7R3;U9|R?h`r`}?66+Hitr+fLpUCt#OoZ6vKn%1xzu`fJR7^? zQ@870FCc)Ppzr2|RpnpJhJS>j&$oVr``sRLb)EM)oriDFU{*4Tqma=)JNyjT7Pnq` zwtTVj_dbVujsVGH=Eo5|8;z$~YpNKJj}R)u+j*^oBtD>xBNLf4%4v#RJKy1JA|*MV^2)G3eE#C6=SMM0qpWVhjA7-! z9et>;h7WW7sC(|FUmOs7@OAKb=unN^(h;XelpTEgWP8ZaJcIoFsl4SenEz$bwflei zxrnxHHC|Wa>CBxx!Sf543eoUeyaZyndmB{SO((TZ%14$@)lb6QPy1?B^shrcJ4UuW znVFIb48KNOd`FbC!-+_;Dwe8{-GuB zzy76?-~D!*NRZ{%Q5{aWXTB?bz>7uV!T3rH5$=vMGgz-GM4Ihp;Eh zIm?X}Xr^H{+KJu@3%80|&#UA{@Gu$8#y-@zY;t&B5x&%$e)Xl?>;2at{_P_BAm-g?J#d8%@9$?xFuN{YW;v$*{ zp}TUBWv;X`xv1NTFKX$V2@2cKz7N;7_fak<-p=7(h>V+9S)5It#ERZ=eE-7y16aOZ ze=)KCx{7ga%v@I!V7U0JW311~0Nbs%2w6IIhlsKGEYf>tIkMvT?&XGx>+WFunu|GO zoaQ`T%(5Da9C30ak?5N*$G&y>2rG~Xq>@;zZnQ4nvuVMmo86ky+?-|NrZZXlj7{pk zb293A>BNJzkX%A0BX>3!C6|!Y_$*qSo*pKbkXvt4z=fBFqJOe1OQ`!;4wn$=1hjC> zqrWmOyoqX)`VG7q-XvVXIngL^w>YBDV6Nf_A)rQ-lF%6ZV3KJ%e+&i1ze$#tpp&;BW<1#sOIb`}K$r>Xa^B076h$J|z^gxkF2GCrKXA zd5%fh(}i$Tkky8JooKpqyH?M(K@>6A?nK(pXQ(s69yMZs&XLbQjQf7rKwXGIGv9Xz z)CmH0ZK)M|shHbz=gyJk0^99r%%183#&UwCu#&(|@%!%C{G_Z)$~t6dlFJ_+Cm<7G zC_ZZAVr~lI42KOep$aKVLNbd6V;N-PO6MpM1Q|70DSmH?^=orhtM9)>Jl|t*SL1n( zX3+>$Sc>OA-MT=Tn;d*2hbH3|oduNEndMSvs+1B+C3!VLy9cY*HG z0;8VF2b)r{y>0_W@XFaE`ZE2;Gt3Qw4xqf-14F5T7hqNZZb0?myvi(PNVJCBS{cCG4;x#!CU(+-opdfx zjHUIbcXrGfMTt-@%Q7bVLesm7fTR-zq1f*Tiv z3rm%g4)$Ao_TkA?L=KwexC7jP{kWn;6P}72H=!|0Xd|JG4zVnu4W0=}5Y2_8g-BY6 z(JA7I+wXKFq%N!l#t4Q0ZAe8kW6>N4(rTUaLNYElx|Aohu?21P8Qc}Lfzk$*Msj;Y zF5;h(He#tDaadcu>}zp@D_)cwiX)>q+@k?5AfAwLkA{4rAO&}Gh@XlZ3%jCw3q-M| zO0)Rv1EURQk2o9==gYA#+Q3ed3^-*51 z16OWdfFGgHR5lk z2F;w`A!v_`BrwaUk|}71&GGQ$%Ykp>^O%?Xcv89%=S#-+OJ)-e*8NK|6fx6_K395HcAg zjZV*I)6mfmY#jPM2--_exK+8ym2?%hr{{*KSJZ2FvT&< z8TS$LfJv&{Bt(Bm8FxJIQ^sBROn6XDkjpGHsf`gjP$qTcw6Ba#Pk@**?r0_CYHP+) zbNI8vkdb-<^LD0fmNP^hEH6s}f{!U^^yvBQGVWJ=`?Vo_pJDBU@SyM*&iM^_A~jct zn|nzTx7`Rli8iTyLmsDByaBkJ_CzXWa~ZiJtBP3k!=W_C)a3WCrm) z6v;W3S3w915vlbE<~N?}A|%{?`?_bmpILZ5XjZ@u0X?$t)-Vfe%9Mq_Y8D<1lmIjm zZ6?{9hL_>(89)eAEM?%QRaw>El&)a8by{Uk=#+s^8F&QGC+{Y;A^|V)+o$A*+!UNZ z01VbltoP$5r-7I>6C8nth3!xh0Iy`=JMX+Ubni2mYeIK{!iTz{(EU@Q;P(pHH#inu z9Dy7(z9-%jYi7xX{~|9rwG>M&#gdHHk4KY8X!WV3*gnMUxi1_u zhGZpt3lVhWKFbN*LKQX9k#_ z{I;E=?sQMujYTF6L*gAPV8>`)acPX+$F%#(@IMcJHm;`cz8#NdXM4b|33fxaKpP&)<6?eifu_c}g&GdX00$V2?QiYF3de!-a6PWhbV@V`_V z!3c|N0kGtwAD@v9O@>4w+sw9;Z7#n5+IYXu;CADEVTj;L#hCNs$NSBD{_+5~-RS1y z{p*Dxed7L2-*6t%^ctIvICp9P4gx3wEQt!Lvyj6RN;n6#d4ViHF9i%SVG#x8EWWh| z0@!}`i`elJJlFduxRTGPxff~)fE&$n+zoD^kucSJT}(jnU>aVy{Nz^UxXWj;4qDWo zPvco$15|HapWi9RFR1ryK`YSb<&(qZ9Xc2x zP=V4<0FTZT1|IoFWUl1!4KU7@MXnqV5hC`$2yMw~>FfG{g3Y_(T=$6XgAl!$=3I2mzDR6H-2KGePu%^)-QO#{EsssEL{2g-G$IWs z1hYJFn+07ucu_cQ$!Dpz-TW3_m#M1l;@Vif&yaRvb!`ROujdsxdLDT^nc=R0fvf|)hk>)N2~{f3qXswL;vE9_&X?{IzHi!j&w_Y8n9u&* zVtC7Rtnuz6tLJHBet9;_Pb&ZD+5Msbl$_jZw!M2UOHZ=uEGu2!nC>jxb5hzp(e@K< zKhgFRZNEoHtK0X^F`kxM7zMj}8EN~3WzHe(PAFxz(53PDXPtJx!W*!S>H7?AC#Gjy zXt?=B#Y@V+Zw`sJhatNp;yX9FUu@sqtrOcT;=GYX$V%qGmNNpx9VtwPKNM;DTnDma zQoi%0yTtaJcHXnto(-B+uw!s9VL>JKI=DX>x#EF4aYG-*x2eRvcpgiu=_F5){F>HF zDJ#EZFVxd!JP~LTfhG}XZj3;qNl>LP(IbFH6|Tr(x9t(wm(~1~AP8&74aVcyDVrf@xl>&dh}|2<$~ z7XhX($+SNC<&52M@b7v5wEun;+{yHn-#62GS&$G)ud|YrNW4o$GNTR6C^IFRPeEnN zKT8A5>%0Qn@V(F2u7>ZzXa#n!;W4KC_{{g_GA|Ec+l>$cwgGY-{v1wb`67gx9QKKy z4%-79gVhZa!1K!erA_Nsf{n>xpFrgNY&Z9y+H{+H4ani@X+_e(f*(^4QO-)~OCd7t zJkT&TC5$kg&b)I9-N_JM76RY3*lDv7=B6|46W4FqcfUe=Vg}6;*des%WI#|pByz8{ zs|}}Vtz8kc2_Dk`nW~S!tlEOs`tw;z!!wC4y#xyHWP~|ATS`5rJp9sNq&$4;MwPlz z?OR}PH47A#{mcu2Y*s0tVJ(HsY~et)aXgpBXU(YD>D|{x^nC`k6VWSasb%zrjB%QG z`{e;_yV1=@^vyS~_nbW36ngXtq6WRAUz@CNoYS65Q9m0DG*(;V2(i6>23)q=5_aN}}C?Yh1*JZ>y z3DcCdPg(nvwNF|5pMEL7m(|maY&Ir3x4iz^_`c7$cH(=fIO_jI#uzhY>_?|(FzD-~#t*mL0SsPS8o0e|eMvdv ztgz6LQ-y3j6AUB$1eBBh^$bN53VvKvEb$c3r+_{M^eLb}ogB{2z_q-0Cjxpcb?#^` zkVsVML(5}8FTKlhh+>8G$|@4Mr=MLwzxi#v^$pm@^nHf58`FbDPYHiePh4 zzBw94fbxwm>p{cWc&@u->pN%M?7VlOeX|O73+?wfQ{Udbb(W$xPrq3{i>1fef^<`V zo=oH~?Ie_(DU&m0a;9uGM1FMIX&RN9(Ef59#xK8p@aV=gumyq(u3&$y8Mu=IK}VJ| zLNkRFMLw@;wR5oSd@oImWvhXPjpR(|GD+@0}?nGWv z*yN#Y4eI~sCu@w!3hqnKwep(!&oOSl*88sw;rk43Cxi!W-WV+->*5CT@Xd8z9>BI6 z-FzPYTDJigwLO~O^bP0HSFf?zsi~~-hI-+7Mum++DzsgL;|k9R2?U-|g`l=)tiS#2 z7qR0db(Y>o!36lcn#vM3XqMw{V1vu(Nwt@Tn7wcIP11fgom7Gw+Cq?AGh5##(of<1 z82pBMI1=0#CAg8`#@&J&f+O}Jl4M-K_D^_pu`))LnU~gEADmYrnuC0HWrAzH|5~`w zXK+{H1_RhY?*SS|J;9A@-G;q|8-Xce6eSsuJ}`b!pf+c6mMNI?$U>C?F}TPd8X8@S6)Zp9%bBPTkNQhf|m-4*X~w25+iiF?ur@ z48!ygyH%6P(#DhN9!Vb^cmb$xIrlz zu1a-NUACHdbzMN#F%Y>0g3_jNy4P*MMeS#GLpZ{n_XUJKKpMhQG^y6m6>Gv6F-(<3 z*;9G2X?zmgh@semK>?=ltF2>r->~!@FO8d;I>{cR$X4I=+wf z)LVaX8qnpUn2bXi#sRJ6B0f8NQ{WKp?5v8=j)3q(G=0NgkeiKZX~#Y5lC=j=uTr!;)i()C_F1xpj6M!3CGpzFl>(X=oC$*aHQ(Y6-A_fDK%hR z3_y~_pP0X0-tb`KS6}R4F>hIx;0FD5@`HN+w0ikC!HqixHwei|5VXunCE?vjn9Q8R ze|Vl-<&Kx8G8qvNl zJS}OF?`W9XBX;aW>7DA;CHj+wlJ%KsH}sJ-gJwDI05=H8RFtL4M%b-e;p!ajmr}r# z^zP&&#GtN+XQ6-PhQn|YbL^?Ik)TF`8rJG>9_ahAn!WM_4{BN zjz{Bn%NfV}#c4IHCetyd=2o%}EBDU34=-)-Y&?36#XDZTbDb!2-Pm_G!tl3W zeM5Gw*SZZ$1F_k#b<;PTQ;~X&%_U)a%%Lxe6!o|{E0FO*(>3i3@PBi0u=8A@ym)i9LVZ z#s!w(#$=^$ZE}-MZnDWuHo3{3yqiSP*(t)9*|b75`PIvx*^|c)et$)t-?*D>PK&~- z+-ENL9&9S9Gs|Fx$wJ`Lm0UX+6|1STah1wOpTS*)8v?CpiJ>IMn+a}gijDeZJaHubrJghI4plb{yr&@D@EI#4G+Ke_%!Qn1%Ckb0G?WVd7zu7XaaVyGeFk?G zZg8TRqRd3%eu5jHCfwk>ECSXE!Hwifm1N?5L+1oHV7)#0WZ_0m9lB~j7jA7{pv7N~MgZJ1Bw9nM zEroA<9wVOwH?9IV`V8(xxWTQpaHP_3!A)@ElXaz%R$F*6u#7X0>PG1u8r?uJj@&1= zIU4+Fom{E*K)a!ixE(ahaTmA|O>jBV20Fow1UC}gNN^*;jRZIPm{@%BWU4@%<(7oZ zm4%LQ1Ad&&xr{N-3H4=k!cB1F? zz2*|!xC-3pGq|g8gA-rDTCq#=b6qG^ir|yhAFs*4{l+-W4uE7sAf6#h8yxo0&YO_ub546Bf*UXHxk@Pa3jHu1UDj=iW(C@?8ubR(Idx)%oc%U zA(xIbRpzBlO7Samsd^0VD%_v~Mq$#3SW`;XjZd?>kqcvT?M23A0WMXD)eRfaT2llW znBqp#1UL2qZcs63mg5d^Bl_TS4z+)(ZY1f3OK>B>jRZFm+(>W(a6<)^D^bYI5CYL^ zZdhhjA+i$g|AaVJSdx_DSA`pW26qK+7;8ap6OzQf3khy~qHsf70$6D?=yYIAWu*j} z3UcwnTL=Z9m*Rxr_9rscEt9Flk+g$mIqm{C$Uwr;kI2;JFTsrjH>L@0B)E~_MuHoF z8#(jdGeR?}4UDOXqgf7q6|@_KvXTo@kfap9D%|KZxT|o(Fu{>fB|5>4Pu2(5=Alp} zq~VI?5#vjh87%|;8dO27f*)M!^0x=o4RIvcpjnPPzzt|OC_1Pxo8U%*8wqYCxPh#$ z8Za&f)GGXm&-SL#^rO?U8>TLQsmq@qonlse@;bihsJ=4T*o0H3o%51-K!#%N!aEqthmnMbKW) z1yiZIaqHC$reHEvFUQ_+L&RPkT3Sj;YP*r(MuHm&ZX~$TyFqs9^7l!1`7=T&p(Hwt zQFIm;*77W8jAn`&Tgtqo(6A=BaYY~8K7+doHzZ{sRB@Kz#-|H6j1JZrZb4ae2GtGg zVy_$6HI$`LR-!p%jqwxQxOKQeDWu}{a@+xKK)b=wbpzdVnw=(oT%Ap;(eP0b-8r-n zK|rd*3kqK{Rf{O6vVA+{S=?_K<| zdq?<%pZ|34N#)0*$z@9_yu~+8u;1kH&A6HdoWjIo3gV0pC$oHU4U@w@7jQTZlhJIP z;Kr8Qc8FoF+!TXM@#NRY^6|){9OmWfufp52#jlL5w^~Vto-Xb&a;1m<#8s!0!#E{| z_<1rJhcb-A(8oI(m4U7r;iq5O)8k(sJotx`@22A)_4IJ){yrZ5{(P*zA5Qh}Ie&Nh z`qZ5L@a~u29>0I~-H)@Mj_+gV-d}wh65L2|Bf*WMM5e;ih9C)N@p6Pr)x!-};=49mEN%cMyKf9Azd|mIf|DQ`Tj5>UT%XCg0+S~*N z-lFgY+^0<`v%=B>_}=S~$3>Um#`z7q?|nF%hS>bDb2Ap7VW1HhKcBkkMJCp|oe-YS zpK33v(=eI3(-_QwRjM;!0AgPddBpgURPeN|m*Wm_gFq^-q%u5_sS?~sa3jHu1UC}g zNN^*j+IXH9$|$7TG+J&5;%%051re(u6fOVY0-35Cv#V-1`V8(W++YOV6&bkSF-8K) zJHbtQG%QEs(>i78PVoCSi2imwnw>p$r!fF7T|Tb-@Z>CV-`WkHjYqGmB8=zToCj~6 zXn9>g*4+pZT6^R=Y~J^*=lSXG7u+b|k*ZNWgy(b~P*Tiw<{ZIaix4Dpxil(C#V;a; z1*EuHxFN`(S&qBF4H)4PMwLo%Bf*UXHxk@Pa3jHu1UDkwAl{&cU#g72_!im?2Tx8P zcqU~bsV)UKDC?%`#uIm?>PC;jU4_p8->obE=r#!!eT^w2sd_`m1DUv;w%1d+5cv0&id1klRSEPH^Ma;Rbk7^X0e$+CXbSi2^ZC zO~sRRW1He8NjL5hkrNHk3Obz@$h{~EAzL0oMp$VB%}bq&n0j+(XI0_+IHpKrK=N{~ zWnl`srud5$G0EH0lgY@P4MyYR!#9&dEMj?xe^KfmPOEbxq{(dDctrg$L*f2ab>$-+ zSFgjcIacjAg(FpGt|;OeCu6Ff_ahGA{2rB6h$H78TJrwuUn=?CZ}<7bx6@zVzNWuU zeo*h9RxcmF`01DOds)35J|T~**cW+a5}aNTGp*kHxj3$hN%vmjxX$5sxF&o@6-~$n z|DI2?|9%zR$@G5mnqg8zRW^Q;MN zTm^0P8QfL0p&=6I){xlBJ)w z?EaM-4#UX=VZiriVLX@C;}EsHy4KjwVi*#`mkF$5PTde^aEfz4U@#7YH`TBhy_pP# zVOj%*Njy-y@nkx=utA?#Cc%ybJCYynISfp&A|@9xPB*0!|`bRZdtc`zc{Ui z)npo<`mbXxrE`##EpVI~l-{m(px1lwutsW=!#)GtfgTVN6C!ltRc%v^_qr9BSgrD8 zzoZ-zCPoFxUB*$`0HM(Wei#YN59pb5=*L;Hx5{ydtXFi|&u36|hhn{|`}{+!;SVb7 z1~y=WX1(l&4Xmad*_MP2J^(h@Zr^ZqT<~?sXUAB?2@@n2sZ@%gCVu$>RsVzar0nImV6q z_Q9hE_oFl1>pHPQ2c%B4jK1W!O&%2j5Av6)o4wk7v8cd>|2 zgoWK8z6!snW7V%wajB1zlK}fDD7tf4)WScLpgWic1M+RSwis&q`q=lIO{z;fjkio@A|N7Ux9~&3b103OX72Q#*;qgH=IjDy5SI2;D zlL5Ai&$=$)SUPq$anL$UeR#OR^`Kdfz2OEs5_X^nH#UKd4*)j$q5cFo>iFa$(_@aI zl5K6`K2aDJQXdNNY;_0@QQ+CEPOefUefc-vd;_o0ZyxCTk#4&J6E04vRq{{*9KHB; z4I!>aiF9T3dxEq(1UL$BxfPIeEA0iiPr+w4G9EQILIp+(4Oi{NeYzm*?)46Aix7PV zxC1&Afz-n2WL>)rbo9Cvn7{j3gvbj9$7mLHO?V{;FHPn&h=+>Ppo9+ExL5&99H{fc z=WPKG*w@aNYMgg@mg=sld)^elf2D@gP)*-sa9z81n`Z z-9nkl7|l&6n9tF53o+e%$46)PA;m(b6*<|C8f)HP2%kLr=|#-K))|63M8E2DZz zAc6~xS{jBZDL*b#e)Nlm_7?egpj((9p;3;3!2>N==5nMRNYFIT@psPRD!FUO=c{pW z^WGY$_`j}vSbj3(&ae`yQdEcunw8X+-34=*ER`1_7hZAy5vncc=hUgxG#?%O^}81@ zo*g`|X=MkodUSMv1|ENlCsUWFFX`;Tju;s;6XU9hAm-gO*l}0{xQs|5>acbUu26+`rO|xG65vy+N7e$CoWOB z!$hq$$YkoqbADEb3kCL5{n1B3CCysd4VK(Ng4COFHH{>IR)@NWY}H6=OD4H<|D1$9 zb~hMJ0+FOo2PeOepEVwYD`3B;emt?E7HlZ)XvvI*Ayy$!mLLvt3T8YMvn5lgO>j## zVvl5!d%-L|`Up=B`wVC&*jJh(M`|MPER`X4Eki_zbmg)`9Pw3q=O>E>LK{vc#yE>w zL9I$c9YM*$xr}%TQX$LB%xDptZ{!mA-Q}D_$K%CLPgne=w|?be8~W{jw#}|F@ZKL| zTdD@loZlsAhu~Wx%gcG98QlSzQBpP}WkXUnB(JFy%j4C51Ln5DIFBI2XXp$C&wZ}* z%n?$em_SIOd4T6s>a(|EZo96YzL8?oXMk5@``Dw)GBgH`ktRwwCjhsPhUI8{T6-J2 z6a2o7UcViWW@q!z@LuWiapi|6XHloyZtyI6i56kJHGGU;wl%DcVQhQkI*Q%DbYkaL zEDgqfHM}rBFu0%+=&a%K2HAChF9FtKSz`5ZSx9eFzr9)QqWjvN%vKC^JCk*xtcb8> zmZN&G(voA{4DTnXCSuSm$sM2vRM^~TEv-z@;{!mC?Mf!x_bZkW66{E@Bf*XYI}+@` zJMso#hgHmS6=+5{st2MBJhPxJWga~`auqZaG+HpPr7wN1C4{Z-zm_}HXK*`^gKKFh zCy6_>jXSjUHta3j(B2bSN&yiOR-P!)4kyNC|1gtm zT_tHBs7WNS+$blqpdc}V4Rq|p?Np``8HIPCZ_H~l@eOXPPA0}XfW?Aiq z2_#_*)ug+G2|569pVbT9a^uy@5Z|M3WZR24wf9c#y;FN{yk%DS`WFQAHIu0e;a1Pdo1){)f5kZgZS5nEN%65?;7Sjd<+$n!df zF3M7%`-No%C7yF2BwW#_)9#}43U1L$pL@HCUSf|wDHToaF1A%d)}fcqt-wTU`C|J; zzAAI?ZJy_#Tv_-#<(g&2<{)3Gk}}4SO4oO>8gkxRVokdXCRND`6n`|7CU`Qa5L9)E)t@;qK^f)Y7I$n@mbt+9q;P=oH}st1GKxKN5Tx6HM;{eqGUiJw?R{l z1dS3q%UtTAe~718<))zF(%LpklG-+En3t=+3UALAze?s(_rlBhfH1`jiH?aY!F*5g zZ4!7Vfj5>_s-j>8-2gj_7AEjQAUKd9W(mQI%n3MQ7G9#!hyyd7r*;=BRg|r?pca$# z8Qd-=K|mUxp}7C4qHNIfl5Pm7!DX(0$PB~(LQHr^%>9( zp3ufhV^~aZCp>W(o>)8d*TE2R#J8&K4_{Z~>Fj(K#29B0_}8-g97ey|mZ)ApUJUWu0fzksLA4TKd%fHlj!rszte?$NlZX3#km$O7EofPD<~j^iCWlyzy^J16%N(Ch-1)3!E{t%Ul?KHxK z6aofmkSY{Q<(i~sz$+wGC{l&u(WS{R%~31))lijEWqA4THgcZe++L&7to$ zB=@!L<=P5G@|p$tT+6H@>upg(pTS*04azcYseud~(<8BuE@K~U4@34<&ERt7h2kM2 zR6|`YIn7*&mB$1ZrhqQrib(Uj2CnEN^{+y#>J}If*L_}SgR?=i9DBnJR3OmWLNZR0 znqkp$CsiPlO8OoVIRP(IW~M0MKdGq8azq&!VWkZ;FLf^BThE=HRcN|326rQ-&XP*{ zaFqWZ{B-W-R8}F5j4N1fomSAE>Vzv+koKzY6@1s-5aX9r(hu(6$CA2%3WQT7L%qvo zUc)X*5L;#zS=5XKp^Q~fO^ZmuPPoFqs)k{*y#mo^Ks#81N~<{~$!qqmRv;Jz3ogKQ zjkploU{jAm9=c)+1N=~GFM~^7vv`hlbQoK0m)7mnr`;Vr;&jj~tKBdGN)S=2-t08- zB2hFnD4HEzmaFJL^iIwD%$Lgz5F&T$4jKk0e^tHct_9j+A>v918 zmZ}FoZ0dM%k!QA={Z7?`7eD<{elM%H!zbi%6?K;@M!T1fU#cG5xNbUkdC3&9nWBZy zgq3AxNKpbfh)B7C9lMQb&s05Fsvc~m!?dWO&)}}2294%`RDvmnQBSDh(_|%aLrbNJ z%akoN`X6{SMd7g%Lddyil(QhCS-~}MMPeo0L;n4>JDCLpG;t}dnqBp)Ku|qsmg5d+ zgOh=v=x#$7SEC0}v_h0`~$?tx<&mX>> z{_^%U{dMw#djGU~`8eT<>U45AJB!8S9^LY8U+o|j*Cr^mv!NoIGL_M3Re*RcZ76~* z%3Sb-D^8xcC0w!2mvGSmyU&1jumso>f)bOk#9d`20Sm}H2Rt_cQXyeb&2t)k;tG#G z^2#f;!)Dh*3aJ7Sil1AY0M$jE>3C6{1~@aF#wJ?m%%;(qE+h5@kw=UkQ8{Rq)oz%8 zM8OeBnBaqYC0)m-HL;QsD=D#(5-TaOk`O}NfKox11_W!aGw#sE4Ri{Pv?qnI25C@g z2`!yWJr{OiCG{E5E+zoonSu-vlcI^0G&()IYpf(`ybjT5j6utn2`Y7F49v%h0!{*X zA(*Wt?boOtBusDxOwcT=PaYGjDJ|`XXklwvHkN#@*rF{#g#;B6R7g-EL4})v3WfGw zlqIl1kkDWguv|z5tN`?x9;J^fykuoFN!1+-Mqj{1ltkfDVmn!ra z&@LvRk}G9XujZ>@f_-S=R(PEk1S`lW6{QMJW=?|aXA4mVZM+FQ8K}nU*{TxxBO0gz z6Ew?e2TTy_1lCwf>0PQ5bc#agt?dCoq2M^2%<_c^?BuYI1MFdIJ$5`E&CVu=<<;TA z*0St1Xi49nh4I{N7R;s-2aRBqy}McTUytwY3A%!vx}iG`r(qadA&tY}O*Je=Zzh9b znAU;*BpLv<8&9T_3mf#|J0!S};6j262`>2011@;QJ$KS%Du5dy3fQ<90|Rkzur&Z6MvONmAhTZE@`?Pfd_AZQ~IBOSWi+XkFpwW&R5^Sq2ESelsXc!>S zCxWSf_9{dv>hZ0Mou0zjV%dCXmv3)OUDtqwD;(u=R@7JH;HDuysU~6ky7FQ9iBRN< z2?ge5Q1KaO(Lm4SJkOX>p)eAcEm<5XXr!mJI_7MxmKI=U%{44Oi+j%U=bfF;*F znvV|t`rV5c&kp9h9(*+_!qEW=Pk)OivrV~8j)WXE>vab>6fqQM0Vy1si<^v;#H}gGeh#Dv@jh8*7Ii^RrFrzIYe& z!sq^=TZ3!t+lffG?}V6ifePk8J6KB`6&ZC9ZHwTLH6T)fK*bF>aT;}!$nIL~v^$h& z!@k|m_Ver~0ZbqU&9dr^3CNMO15KplcdEr)s*t1#iF`L5|EQ;jL-+Ub@b~9q{rzyN zf6w{5)7Piw?1y*1{Py_$v+sVK{d63=*RI4hrP!z(y{(UDYvrPIu#cP@kPYbMY?H#0iVv!X0PFD*1uX&ZY=JP60tu&q|C ziMr~~55`S70}+--7V~&CezzRY-7ik7VKte?+W71ERh@8XWeXf9RY}4a?z|*+{g4^- z9dFT%WrFs#AWTfcLhsS%-gbeD6kLkBh?KPBpQd*FE>}sqRSeV@#`EGx=gHB2gh$5O z8pgV(P0#9t7&PmoHxi*osXB3ehSs`t0gd-8nMF-jB&>~je;xGW=gE1yTR&oPmSRS#*p7SAlCPjY`#tT?8C`2DBUG zW26;mBQXF%At-gb-o;mT9|Rm+!Z=nLnIW-_nuId2e`20y+8E|^p@Ji++x5Eeek-qO z-A=tRL9?t9CJ-WsU@~5y83*J=c*qOTZY>hkJ!$@?TNNYVm409NQrJ)LV( zpq>JCz||C}V+Gwn@*YCtg5=2NSgItlj>4f)v86sRu+>TBP5t+b%e zfUXAX3<`D$%a_PLPs#hs7&>c*9;0^K0XwxhY**oAj4p6c?0WQ8MC6Vx4h1yo=;tFYN43p7p?85<$@Vbh$ zv}$;KP)!c1Vf@uGhJP}^b}>uaMFmU8?tp^DXCEFDFcYN(SXR40g4m=1J=;lA8-LI~ z(TUHKAOW6#2@>FW>I#NlJ{rxnAUw-p8m%&P5+zxn9_|i;>JS{p>TFi4DDf=fJVAm4 z2_D>!nxGqi1i>)tT!}D-3PdofC^MHUo3X-{idpn9vI=LCAi)+$KwC)AXF$7<09p+= z-zK&3w*37%NU#rlo}3ljIXvN^xWQwdL)PJl5}7qbTVJ4qgNu*(1PN};kd+((5;V(d z2TZ{2AbL-sPSEVMFf*-H<$e52ai1aQal>i7N3Y!0pI<~LQTVxytM_w{(P%B|r@&r# z7j9L*FRZNg!-1$4%k#%*jf{FdMz4xFll#!u zXdYL;u1arJL5$ebZQ^Eq{S;LdWhUyiHw?ASZo(>a%?&tP`2fC3#vag!Rh zZNmcHFyr=11D0~?R8CP4Fp$S+g`XsBypZ#eG8d#Q^VFCD0rHKO1{6a2dP(ho0|XgJ z&aIRz;egb@IW=o@XJ_@BmWVv|FqD}oBG*?@m*sf~aA+>^jLS=%i~{@`Z#C+>{(W2}F)Mfut1uJ@8Xm6eTZ3?CzW} zK}5Vai3u1mLA|VYzyzEO7#g+^B2%5bBjoDMFl4|IkdBX-+TVxBvnGZHdhM(>~8Lw-{TmMQHEi+124n8X*l zX&iu%e!ir3zyYWYaI|U`sdI6%7c!|fkZJ>n%Th106+VCD*|6L=!g zP9tFPI7o2N{1)aBD6v^m61dgS$Ogk{Cce;3)dr|Nk{bQO>SeV9CZJ?MDISA5X^9hG zC}Dzx2@)odhpRdJgb9ug4=0UbSkD^Q>@3$2oIeb@Edj72~PvdWN_fK6%a$_OqeVX z=7=z5u6?Qztmp?i#FdsW)Mqd|SU^Z^VDKap7Py0aAqk%i&PkbRgbo>cvci6&gsRx& z=pO8>m%*gg194{GWNknUnkBUZ4j}Lu1yK@xpc4+bDh^l=){}N1X$MxRB0ck}2@51F zkg&jwX^GKaKvGB@GcF(~hE~8rHc+5925b|RLY%`=-{9E_7FhevYwT>52D^FGL&kz7uI{1 zI}ypxi7&K;FSO7Q^cm1DCP3Io3`zb%cU40WjMK(Zn+0nDtsRw66WAi71yriQ*XTT% zbj1^#tVwsY0#10pq7=4PsurI}0&bc;$pjEDf1qz@c3L%Ra&{#(^ zZ4k{6QRYS6V0C}$1MxZcWBB(hOrY`l5AsG8azo88>JUv9zGUzg$(RV}s7R>+o12D= zp-~hxpLuS4eAvx*d~|ldC=gV}hoDje^Z^(kB*33Y=bt|*@yWBFUc}eh9<)YY`^s(M zNS}MT3P+S;NM4iLR5sC-?jl{uqq5|LAQ^$75#~GRS?;*axZwt!gtW!9$7EjMn5Qs} z+X*@yz8P23h-x~?{jC71*%fQ&Y#dKuTE%eVKldh6H=Rws8Wj<{eKihlTC0sGVf?!C zVRhyII$(tUEuKvMw0u#W;u+;m>prc7q60j`EqX!Z5wy+> z&zgGO^@S|h2Q8Edp|Bkg%}x_PuFj^_Xjnh@yxv{}z)hU@_?bT`(L7c=m`iIb;5F@u z&J0@UWl&!%EH`mEF(r?Xaa_Hh2j?+Ik1k82=$X-X24I*yCII%h-PZE!o}bsDGbP9} z!ae7;}FsAQP2_t$G ztt0|^&b&Khfs}K{Z0<=`($ z9*i4of!8?9pThBI{BAigxL=%B!)h{(iK^FYgQAr!aGb4>rC>P)outed2d6|x;4fz> zM5z!HlsPjBl^NXGPY1Fr*i?P)We2iIW2AtmCx#?JmR%vsJ~*&Kuce`O0 zkZ?3h9iBg^0)xi+b4A8gf-DKL0ECYl^pGG+^dnpenlDz*Iu=(=Dr1Ix)ywJ>d9BH4 z*cL8Vj?^>!jyEH9a`yotlU>bWjDlOeg2x=7Ld4Z)<%xFJC zIJveC5+U}gq@!nrgAJPbz8hR1gm7b$o9mVFLYFp~u)@L+{$gOaOpC(LlXFrO((Uny z{9q;|kR_>Lahv8&;$J5=648N+a;R21_eIVvQYKQr`y%S-fy z&Ml?Tb7P$E5F<-F?VUlAmvW1Qs0Z-Lc~BX(g(Kd=n94+D^xZ6PbY8bD8>`QK>|z9^ z;aFo+X=58k=nOk1&~1xD3e4qTyv`JZU6f!%WLAJrL%4IWU?9rr{Wg<5XFaW9Vp;8t zMxizHP8t+#P<90sNo1ONDQF=aL(lYxBRXWN1>0&3m{@$a34xrSQwNBA7$z1QG;3}L zoWkKYDT_CpyAi_679P~x_m59Qzv2zR<+LZdS>(R)*u4g$8yLoLYr(dv$H!0sQFS00lM2zk zLEN8v2bow-(P~mEmG^CovGH6N(dhQu*FEFwD@!2Bu+Ccn0l$WnpTjT7=u)93TlheQ z$Q^O>n{hT8PQrsx0V3$V|NQG;_hPXg|96BxmjpmwM zrtY{o)qfuTtN!O+&I;#(fRHXP;U8F(cm(F4wHaF&;}jLSDw|E4%Z+z4szaJ11vi1z zr}^w$1r$GxV~O9qt|r*L8Xlt`ONzeiV(*x4r03|zMUCtr_FT{V1)hu8C2Sypf38R5_D-*4%g!d3rvzlXQ( z_dj00J*A`Z`zi5*{OzFKdEie*vjX1|o!78eeQ9Cn@)O+MZ${%cZd~9T<1yQ-#D+2b z@I3e#1cdMECs_RaL*KS7PIk@BYF{B2P6xLOe1p|o;&2kLCjx^ zd4eVGwmt{8c%H3$L!WF=_In(^laX z1*yYSu}?i%LjmVq9YT!M&k!0SLPx@Zr;2?XiBz%2thj+5tQ6+ZxuHdD9Vs$VDoB3_ zGg-k(Qcy`Wd4pIq}Oj3dNn<-6srIz8`hMagStMw#F@6ZOLwT z&rB#1iA0Gui)8bmSBL-mT?qm#7C{!lDyfQ;($n@xBmpE6NMNtM*IJvz-U`b?do0DQ zdJA;gz{133j-p^Uqy8(&ehQ6Je4X4c`M??vx0- zY4nrCBVA~^+Y({5_ji6N_1G^lb3GsWCJB{IX@qO& zby=!dmNz2^Mcpfokxbgo9uSY#ELK4t%~99`)j?;uAT;A8TF{_4sD?=?pk}Y?=sAje;SuU}(GOG$*hZhmn&tIfwyASYrJ= zJ;l3R%XNT?ZmDP+Z|xlc)JAlCt-_%B(cLQy_KS47lvB6tF{T5yODwi+gb7*711cZB zOC|axp8kaIX`_f zJxxwViH@1D!o6dKoaV$7rOpcDfMqF&nUj4m@qPMt zd#qir;99S9hx=Xw`aA84OsfE0zVxDGQH#F>8^@UV20#pTbpyChhXrLV}jmioTC2(un93t|PXGY3WN+YQarkVa@_U+zy$!?}U-v4TDA`W+RTEBGT zE($E3%3~UrqxS4(+}79T@^_nA$1oq8eRihZQJOs%x#E!d78J!ylRs@#z`!HjMH7%l&|jj$uJ+yhs6(W_S1Y2 z4*!JvSI2w${P}m;#>!`Pw#k>lFGf5aJy#*J%~|`EDeQIqF0$jX5%! zbv&LjntM@uQbrSvb_t4p3=K%(FlK}flt~>DQU3uEaA|@>Au~k*Y@}jy^qb$ii$k6KRxQ|m~YUoVdD;Bh~A3NFS|x> z2-GjX{3zjly&m=m@0smcs--0Kki&cEAZFo3>}oz;Uc0*w>Q_gxDU`3ipT$w8h(1O1 zspng=yH3@}4z6VPUyWqkQ)Qt+@Unny7#HXeWq6UaYehv|R_ZMFi z&Ucy7b~sOkHAdZ$BDzi;c8Xu)`@D&ht0d;#p{ee3zgH~3vfEBGaJsqyW@8zGSJPn& z;|T}fA6?Z^&Ua2`unfq5(qzsko^X4z$SL@GPSMPoeJ=;xk^mF(Ml@* z1{YzkAilN#ZlQd8vsOSa3Krm*Ezwb!mk@&nnxW~FK(rJB4>?0e^tinC22<0|oqyUkiFd^4RW{ad5D~N{XQTS+{q6!ouDD@dN zRvQ76ketRdI(%EC5BpwjkV%&d-bN-2j1nReNoWQJR0wWJx!Oc9l$=orpu0SK38Q+3(nD3qawC_`f3u~ zEJUm5X_&n3`|wlv*E~#TRb8g^g>=%;48~FpeSG0GWLY0_)$n1 zy4(`DVjkEVGjn%^$gAT@Pz&uDQ)9*C*D!t6$Fp}YzkyNyTY!|QfVRC~_Cs{Ca0OmP zPOHqp_aEtOqB3}1kStK29B7l~;odb5Tsz@RfXKmG+@D%1Fr)xXbg9ZC+Lg^r>sp#dJ7u_~0qV&AF&JWUHr$}(u-4@;gMa|di9L;A z@>>L1iUOI?t4%Ow@5aqs?6|k;!^T@OnnmHS(Kju)DO|Mb?=FjJ@!L4n_~dneil6s~ z=dmEw9BZl8ueWTL$hY(5q&wqT&WS@Nj3Y6Yqqvq^ylp7@pqQLV5lUWfT~0MQH06#bjMt; zwjWrzFHg6f=+)nEJF5?K$K3oP?`oj&^*darWe1HlW-6{sbw}O9rCA#Z^j9m7jm?@T zjP{SKtue3wj-xrm<@3E6^66h6#i7Tl^7D9N|5IBCZs?m4uhM^Qf5xu2(m3F!?7m$= z;;G#C0&8Eo<@LCSWpg>2_{3XTGOJIt%OCB!+uFZep4`gg{pziH$oE(KeAd?4A>2`0 zUN~{)<0?PYyK2j@*Y3hi@5$<^-E97BG?~Ry6@tf$Q9tk2J`Ka@OY<0)bB0^^$+NgY z=?2rVxcLSl(rw_f^JMt6KZMy%6_v>NCEld7ksl4>7WnstALGCAi+F2%-Ji}T{Tvn! z%UJ8{P`ddbjwt@9{q)6$2YprABffG$)?W_QrNA8JRnU0Iw_7#H>FLamt9RtHddz>+ z@5#m2@#?I<8rQdo*Y!}>)RvQsL%#3#9)`AgA&svt;66~oSfybT3Lo~YXs5i%>E~yH6B*&erDA-mz!L6c0)9H zoJ2>`t8-eZ1{g#z880Z?)#+?Mzsk#daeD-qYJjN*m}-Ej2AFDqM^OV*&Y@VuGayDwFGT*bu{fueWjWn8J*&sR0j;R zH>1h#r&nidOC9jG4Wu^Y8kW#)C0)3Zm29OSD#X*If<9Pj30QR;CbRw`4^-92uG+iB zVct`+-WbCZ;xf=9lW`io>D|9 zMU+xRDMgf0L`RV#5)6hq0pxHF?jce{_>XZ+W;A#LAvPCAZdJ72i-G7)nz+%vB!QaP zL>(oPvcws2iN6N!nJ9wsCPzZ#@M+>Vc=ShIoJZ zU2nm`@A<)KUbykN=ibjJq31^z*y4{WgK{m)zjaT<%{Egy9(o_f3s0=p6J_}wmfyzq z+8^7wil|=wy4eH3Gt%QyNO{PT?%^VFzOhl_efU*v9?!~yWNCPjT5!+CX9>I~@SebX z0`Erw-n~^c_wb)`g-5@!lH{2)l4OLz+_Nl7p-go2+{o`ZOz<8!<5Z!;LRmzQQchh4 z<+{yEDLnIqAVztd(cy#lyoxPk)Wdmw)ZfZD~rr&T9iCE!$j0d?*ZI59(W({e%%gk0pMZS;B_cT zCbdpXuHI%JE*ge4Z&6Bky;;x6e39xhL1PzpDK8LVc z2pymE5^eyduzsZ(dHPuj&mB{Ysx+Iiu6{;eVJrpv?@xCmTim zYZt2sQ$OjCR|ISixn`PiCW&3pfabNj>9hM1f05+_ZX@Mh3`FZg}3< z2>h>lGaL%(luGo!{u9PB*02&5JE_}fKAVKH{}wxlx95f(UH3DGJjk?4-eBA6tm=V4 z;y#MESllfPH>zw;e-b@umnyy|!%AF(Um!OVb3d&c@b`HhUd{$_|8WOLc^9so!-3w4 zag>=G_oKmkn4J6>lm3@Gyf;xB!9y4+(&{?j_1#H!-JKNyvRH^to8;5hXJ@qve!&~z z$?(x=K8$J6qquoDo!{w}lR414xK`yYZ(Q)@E>7HFaPrI3=}CWh^2-n3yr?h7+Viz} z?A`e3dUXez9+|)NC$qU5{IJMj*27qNUU%N6(=%5|LU!KQ>rdV4YCnug^S^>MxX^os z$tQCk?>Mugx~bzuI*HuQliUs5&~FPIuHKjHF+ua~%5AvqC)*#&t!eFcZ#T#8d^_(Q zM0_2F?{G_h3it2EQ#rUBHjc7--mX1}@9mk}++!>E_ol~e^Rp|rVmz7Uz%PSYCGlk4 z6)V0<7sQ5RB1prTce0 zM#p+bH>b0FeqB*VG>^NF80)3$M*C{c$JbtqAXj)FQ=YLMnR<+?##dM64Wc8Eo!1%6hX~kbxLQ?+eXJ&|N6VKh1wiuTJpwadbV#O-MOdbc`UNL~;v-rYMZbEb%TYialAS?35e;qGC zT|8(%5rF#D=wb|Ldg@-g{=nt^0T?t;NZkiY-8z&3%)8&Zb99!@)`q!k9+L2C!mA0d zCcK*P>QUfT=135QMz=r1Aq*jic_9%7AF#9p-!Mh;=<0Apc(vdZ&Kn4Q^1?#BPBd&< z3+FQrdA2J;;My~s(c$9N+q``nwpAJ3yxiX+?=K>{=>Uswskmjd%i0fc8>A697L4lUpow zG>|K_^AuJNIM#BbsJn;h<^!~bnBxx*E_F8BM%o3^?%4KvT>Inq7+|C&_kCFHSQ?C? zG^aV%G{X`v2zr;oo+fhv;Kwsc7*m_I`^%Pln`Zg)OAKqHdcPV_>vsL|`;$M%o+l@< zx!-(x^3|vaXD5u1zr;aQkIvZs25sLj#+XH8@{HOuB4ZPVxbhN|5g)h< z!`Az6p}4pLW2Rx2U`#Z%j$TknvCk5WNiZhCn4^F(CIsdsQ5o^kZqK6yvdO*3Na2|& zL@siDWH3e%ZjhM|nML6N=1sDMS{dD|p;ZnAtfmTQqlWhgVa$#$nuDV`qv=@bv%h$5yDM$D$YH~nET zdNb`oIB+TvSZfDoNo@t*Y(5$$GQ8fTHb&@xyo3(bUfc|Op%V3Li*`E^m<;oB{iEtpYO?oXanT>fX4{C9U&pwrwVSnHU_Uz@ z!#{fn)8(?ZAPmgq6el9O!zT!{HFi%B<_b5cwOl(_Z(^yVDqE~R4p7LLY;iblzKYw; zbNmezkJU{#Jv%y9mwOykFC{@AL)lNWqU0= zMZyt>n!P*q1J}Qpo;K3NIm+NK`xoe%IUOxL-r9S5doh@f+_*QIoS(j#o}vIPPw~I? zT}G?5#b@;y`EM+F|MjnZ`Q1Ms@^9YGetr9z{$u(#_5O$c%kN+O{A>B6?7tm8O<3Y6 zu!M$%B@5PPiX*8aj0w=|1P;9pEhW{8IB|qnBC)!_1n+Wb6P}p#{cte0rNnHV z4#9AjIOwu=bbn=$V_|hAOfhuBSw+O_lJ5pW`u77jM=PC4|9w@fjF`$*mZ^v$E^pvQ zP=`c%>?7VdQdY&x`;dxUKb}pJtke!Ak*gA-NQfdK3Ov}40#Tq3hL$pvSr7(Hat6cZ z96jVR5}=Tcs%WZW$HOD5PJG@iQMz2ydxjEqXn{NHn(TJ-Bc!7nV%HrBL~a)OTn=+P zhPZamou=b-xG6l0Y51kwqnf2-Z;4V@HSvZvBAR!nAyD=8LZ6Vb?3G6v-PRI+PGk!$*w$v zKhk7xb#rJ6cN-q3%~z?W*BO7e`o%8Aa81Vk<4Y8q_e6UvE4X`e^W_B(WH6{I8XbaA z|H=)AVGwD3KjIm>$WTP~c`Q;?sfu~5b~Kc~3pa#I#05$j=)j9MysPv-yucDa(7y^` zF!V0^eln^WtohMJQ}T&vpy5T;R(Xo{JYf=G@gHY?{3a&u(cHMIEP*>rG?ZhzuM+}K2po&5!^3Yr>*I%Cz5Ine{r=H! zugLRX&ryv1_R*6^42 zegEWH1l$Y2|FjC2YUKL$JCI!ZKK}ZT_*72S$d6l%T(La7M;x>|iWLO3>|R@apG?)S z<)78GvkHUY&(li;5@Q@ZgL?Jv$w`|C|hedp^-W4rlte zoWHwxePPCbd-v-Db)Ei~;7_77MrP@JJjAVZ6!52zf}w}C&d{knc5aWZ2+X2mH>FwxXIT-p zx;q@MJnAzxR_}5_6YA-LdiIEU_5nL9yT$vZ1I$_7papP_$ymKRs7c5Ix5g}d9AxoR zSX30Jr$rbKM(<)R;Xe3{o5$e?^C{XO(o{xCX4lCjE=i-3H0mgD1Q($!1nicGBPf|_ zr?NcQknzCFLc{D@R>hc&Wt4A*#ZTd1bGW!}3W)ISy;v-ux&)&L;GqJluZ+^5vm8P% zFg0@yiz(+&Nx^szw}f*2`?aZ(bh&VCyg&(MLf(;`_3}hE-5yK*#>wT+5G7CQAg8MF zeSE&i^4M2ms%0#5IiBsskd3>z_KbU*H)&ynj)l?=MUagLT&AV3!7|rvi1A)6ek@7~ z(drpllr2tg!}(x<4cpa+TeW`uNG83E>W?r=R>7h#5OtqbUvxe0$U3L9gP9bVf{2* zEiqti_Q$R$QY|9hoE>K|PT&=CS+ZByX-RQJwFoVwu;`4FDIf-zw+fm$F9dv1f!WjV4c*f`qRIeUuWGdvk>w zWaD=*UKpO7os>d=R!i_S_qhXLkuV+CN@P~+0?&ImKbdfnojhC^HO$_fJqwfQE)NRZ zNq-2O2d4f>(T4;Cq~LdFCygFrFoH+tCEI^AgxyGhG~%L@8S+OMY=oqJzhTTD>R8Ju zIzc}vn2Nzo@Z@#hom_L^CqF#?@$BSA7v#n0_t1Eto;5efEPi-WPDU3e-a&A2@}@s~ zg)Ch;0d3}_U!DvDbQM!KdDpw$S^pSMmMw0qvl33%@ph;VhJ0bX4gUS$Wu1Y8Nao~0 zH|563gXsAcpJ^w%SsH(Qz%%&kX!LtL1Kijr;}O95tnUW(6yh%v=qJxU;NgyIavqQ7 zNcD=9iK(aLL*7Hp3*=-v4j#U9{-nN_YFJDaN z;foUw>F<|6jD}%(@9x^=Lee?KGYKr?H}!5V+}kfX>9`N14By7(a`LC^PUM@|at}|) zlltc;?i?iO>Fng2AAZ5RZNZQ}JBg>!@wk&Pi_aa5^=14chVZ5M;sj!m-$!NnvV^bD zX!0fLnJ=oJ)SrK8FHdVe84UV4$14i5zsiMZJQ@u!=~X-uXM7mmoW!Pg&rdFYbMj~U zmw42r_|LruM=`$VmgC;KFK514%6E|e+5QC zRqKh70=`|2`?TtTIQ{?JxS!!3n)XM-FVVG6W{3<3{eSj{!e`6h6Vl$MdYPK2!9X%!himQLE5uhDuka^vwli@^g(Pf zc(Un^j&u1EF$ZKyxMX$N>g4C2{)!v%x_M5st6S@I^IR_Y$(T;ulpQyD70`WlvhwPz zA3s+QaDspS^fO-k*~8do{ZBZ=B04?gJ+OdJ{`~hvCyfk_qm=YWk1A$u_WT+7OY;zf z^JkBmo;Xk}M=^cdT5^3~}qsvX%kLqCe4Q9P&f_kFxuicmr-7rO5wZVEvwq#u>S z?({d9p?29CuZsFH7WeRb2;&S<>FaJsUIhCKSGKtM|BC-~IqKW&Vwx>xG^<}wS-*(8 z=#p;fas=3;wWxU2P9{@*8%fKTu;`f@%) zC$cVsi_RG1SvGLP^EuSuaj#*R{rr5#w$0-zntEKunHv{NmuKH}JQ_|zg*)bW5#y1$ zd>3upCt|O~7JIDMuOht2;uKCsgLt09QC2~Y9j98Yj%O2he&P1r>ID=4Q)t7ltSbL% zKKwltU5@$@u6MJ`^>yB5IN!V-!>nW)XCb3qHuwdwE&h7#+49BO-@EMUIRYe)J3r3o zcr=-1jj3YXKSHPsH}996;^j;T`QO0IsF)Yw`8@x+601$S9HV*^Tzv-o9pUWH&tDox zq>@rW1Snvyl^aEvb;vd_ZGw~ZrQ%8$ZUr;kC{5AaxXS^bqib@Q#4}iO53(muo}ZeY z?6Ub{ym)pD`WO8fo?cOwhi7+&B-FCTi;rDVT{9}IC7t)X5&*3|7oB6GbV#my4LXaE z1zffn+8+kwU!65YUY4C6J&WN32gD(-P5U>`U;O<1EJkURRV|n~MRa!dp$-krcJ-)x z?q*+{5PR}<@ObD@eS%)koSrd$^6k^zAw&HP@{6bPj>lmBr)B!`zq+}I;=M7R&%){J z{$w_HgQs|Y0aGCwev6kt40rE?YP)Svo1}bXb*O$C7TWupRnfl=`TQK&_J#BQB-$NHT1@Vm_xAuIcCk%pJwec-x0Cub6gzQuCvT9*f`Kq`<@Nvu|PT9@zG zv|!uCZnzY8XPLNdBpaWxN!^#!eM#My)O|_acO>dQFAdV8nJi1F`&bT_5a|T8aLl8> zGA+D`YLmlJ_Z=p#fCd0{aV~aG<~oiL0%}AlNwkT&1Ey^KF7Fg8$5(lS#wwcVfx$VP zL^HhY;=3)uOQ#7~PxZEmvxGXOk$eY2P*^@C6tcNPOL8Yk9?*G?N!ihbaLYJv0}B?B zVhpxh4Tqo4QD=lbYQzAoIQ{a=48vQr0D9U20ss?vl9BBv%nyr~Zwt1=q1+RLdqm9&TxaA3ESgVQaE%RQ(a)gEtBBJB}p5CiqumnnTmtwPd1ZH5)CQQkT%~L z32rQVDisQOI1raJnxpX$r10pURt5@7k6?+-Rbi-4aO092ycgW)GP&z;gTc&Qpu4n) ziCmz(k8HG2=Q`uT&_ZU=e;#Rkybc*=;ecT)Q6M0aXDdSU!CS=y|S>nJ%aQl zqo^vo7-i8(+~#nEV{r0k%)`l_giPyP;tx*dWpwgiZnWKLK+os-wZ=8yGX3Yx(u71+(??K$DJ$7A-IP7YS}8 zxUr*!YbaIl0?Z1)4X7TRMupw;>NPLA*3#> z1;z*lQ!J#SnXzaN1ZlO-c_A5>TV2W%+Sq|Mx=ijG+CXW8N+Y?wBNy>h+}P=GgU8IR z3IlBg1y{T%ITS}m@e+%!EFhl1!!1BQQILYW1;kIqjr&C#%$~)j>Wk&r6>VT6NqVq~ zGAK|U6Wll~jWw)$=Wn6UhtnXFq<+rc0$2Qq%xh%@iPfC^o1A<%oBWjgn{FIICgN18 zWNgN-30o|&1ppgU5Nc$(jvbJUh{P#QvLffOaI)|^w2{M+bQ&uK16B3H|mT?Ir2yQ1sS_znSXQ_xv6~dt@YmSw@viK|5@Yhl8=*+k9@*3Zf}!Pv%I; z94VP2C3B<>+HDw-gI504%U{^j?;rj4iah@ntyx}v`{>D|hY#_Nhf_PgroDxW^=f+< zeB7li4EC{uend4XIVcaADI*gC>FCVmnr6gtNsWcpfhV=YiW7QNJ8XRKH9>oq32g=K z(kMkFXEB6K3WqHz`mIxsS-bC`z4U}zm79#IP<6ETsH^2N<4`U*%{)T+=rNXpcKZVT z4r0(Qd-XlPN6;?NvIxmxeVD4{AHwX-X!85%aPj}2pmELwE!EIIp#fYCJNV<9jBOvw zwpBFj`|LK|5>m!}gqL#C4kYbBV)GDGOBnv8aI*3Q6}-cx~vg~b$mB6w>ugZLhbib+ z5SAeK6MNg-0e7a3HLed{n;#uZ;yogtLrA=vl9^y&=;VTpE&wu;(O3Z&fRf6<3ynx0 zLrsZy$}+NK(l8|6u>$st<`tL5=tE4quZ8o^gP%|Ovv=Q4M)UCjaB0@Y6CZ5r>4@R< zJkj724L&8|QxZNU;g2E-UuXr@s)B5_(4fI9)cqZVc9}Q4q$HGiZa+&J{PpkRE$_Z2 zobNKJ>)||@@KjJpg;O|R&U!bR{+k5zSA&{3_uG3PTsx>Xn}!-MJoMig^9-HD0%w`Q zDuXuM3g%>?sfbv4|DgWrm~X(S*|>vfVR<0Egh7+122PgMde|?#C&~(H=plyp+iE4L zxmV@4>gEL!dC}-@ikx_A?#16-yuL8wzrFkQpWnYv&Aqml0Fp;d@~BB3H9O?4+9{ut z9R8O|BN$zKf3$${kGU>6VPfkJ-|urPU3Gn!e#W;X>P7*jMYW}MSvwyL3I{#ctQ#1pf)d% z<>#eIbQQa1`}}5)^)-yv@9IU@mYEzdi+@Z-{V|p(Ww*R*9XkakM15!G__~0C?VBB3MWDXP z_XyEhbh}iV*@JYuY^HvA@WweUqE9l-L7^gX_mkdsm_qdwsvkwD&SR4+k&{ddjYtCu z!7LBlW%L_x4(rqWvVK>xF%NbGNr9p9i86LhE*rtel)7T!Q}51thYj| zZXtVnGX%rS7`!qQ;?ncTAhy#+hbXIlJ&<~ z>GIliXX&1k((Wnkp3?3qmQS(#QN;4b(^3ngU{^0AZJ)5rIi%eQrOXz(G(P{V)9yET z12!>zm#J;V^o$D)H$M}j%anhw{lIT<5%!AhTl?=8+qXAs#rBFgZ)6d&k~y&Di~w;* z3X|bqiZp$$1KBev-#X|%srhXiA6RV9di5&UGq{(qpb`fi+z&>sc;p6d=)>ebmAF^O zu@ck|@)XHOv>oLGDJ!3{@+m9-G)3}95y@*3RO!nylQgPuMGm`dkHEgPrhs}-GdOSK z!S>k_Xu7=en$W$=T(&}Y@OKe@h!nc7rlPyd`d+d6l^u4A)30vQiqRbtCU$|yioiJJ zwMCJk=aA39m?60_k}|)iy!Ofg_leIpZFpd@IYq13>NejqHityP(8gkC>L>m24Dy$% z0OGX}K?IZW0=7KDxE%Us%QEW}A&wC5cx?Rz#f%%ysx3OXwEgkLzaO~y?A2(}fA8YK zV$sC;#h)HrR!tf)gM01z1DE#)u*!KJX7>@EZym}?!@RX&rf@xl>&dh}|1Dr)7a@h~ zDO`VW6ydroNC>6ZSxHJH-lZa$(S~M}nG(&Xpt9wkr2*z`UV%;c-eqpr!*^k{0=w7n z7*l@y%zJ&B*9Wl8j}QVjtnxc*KXsd{fOBd_yS)e1wgYsUkkhpoXxe7O=d6^z6e82k z0}WGC!U)sp%sZ#hoebe+A#kh?q?&Cb?Go4T*!HkOdt!R^64)cO=cGqaJ|yy>wW~D? zYolEe+=@JI16an~c~jZ7@vNlbnM9Xf0)=-n!c2Mi)Qu_y_HTzNus@E#-f9*oD*Kri z0@B6?5E%!*_Wfp+N+!>DvL5RjzX(P;8$ZQ!jL>SIWKsjh>8!k&yHlX zHPN}__1DDrUFNkF-%G_Ifh97=m?>jFx){Ttuaz2y0e02hero{ICB)x$d9RP|w{C^N zc$s*w3K}KljI+W*M@|*8^;BdzS1#j(5}I3B+XU7vu-|sfE;0R%Z4WG*m%aM--!GiE zhDmXV!F+?LwrLdZBTwHR%SxUi>0ifqZBy{$qGE}sfIbEEDWFdQ{l)ZjJ_gtFI0AYt zb?#^`kVsVML(5}8FTKlhh+>8G$|@4Mr=MLwzx{2z^9|U<^j)U59n*tFPYH$AK*jBS2&e>wY`gdttR`mGna(}bM1hSkp4b2Of1u5^)154=o6^rMU-*c_B^j>Zw7 zeB)qCG_c#-rghLRk^R;atv5cn(7s*;`-S!goT+avz>0(E^19tU{bqF(E041!>8AQV znaC#%?Ae3Fy-D1gl%7A9Xud#j!4>SUH3N52An3?)Mrfvxq6lc{$bBC9-JfkV-~Gkc z1o2&Fv=zh)tDxMwtBzDnd=A90v*l`xP#bdk9Z~5wg+4oij>|D_C(v)$ZMUd>y#BlgEya*!GSjKp@lVEa!6yro0rbWAoldDSvlM?;@f?lR;}(2Ge#G^`X=8mMnBl} zdsF;)-Ji@>``2BzHCtZ3y9?O24QkW+X?JtOTK8@+2$OEFFaOF7hhcyovJbuv`TQKq z$q!urA~lu$NzYD)?ms8P-=0tOkHeY%El*8l-(C!+BRB4iCg-PbQd3!o=1&*P<+OP| z%%@@UvVW19%BH5WJDSSMkUNo=6gGKiTZ8&P`pFt&vV!~4bFI9l{&S4mZ}t9bLijF| z+X~@9n>R+w$hx?LJbZng*9Wl8kM2H%ztv^HNi~RLdo;i82$#`Ur@7gysjTsadf|CS zg@x~pMB6nuuJDYIK;Riw2x>dV`nyNJj2*8D{X6dkH^ArBRF<$_y&U%g8(cK0Pzi2m3qf+lY<-(ZKZWxVQdZOPGLe1~=_iqXj*IjoIAR|nNyY_i|Aa>u zD`Qldd1<}%!FeU3Iml;MCb-r6uYns~CU+ffFn|s89-wj76WqAfWjI*45tt%IQIY}a z1LGG3YI7!MnSwcwEL0g#UclfxP=U71&m~w&aO3PjTuSTpuvqY^o@y`p7hyVc7crPa zfmFkGEF<;>k!Q@D3Dv8YV`sQw&Lot=mMDJMO5s%9NYxF@z(3dz=l^*0=&w$`n@v)6 zqmO6B8rdsVH=>KRA6=X-Tt!oLW9nZ8XbF2A?~Gy9rLv0%;AVH;5ortvl?oQ)h<9{w z5Dg2GZX9K zWgv171f^}^bf?RJlRC`mhH!*C?+XZffHZ`qXi}}AE7pWDVwft6vZL}~+x#TBvD$@r z)7{+-Zg7frU)6Hl2X4T3)KYjp*?OacG$u-LBf*UXH>UGR9S#0%j+e!&1UIhnv`uj1 zYUjNKH*6+Vu5HOZ&0T@_><%)OLFWKV3+NxbK;**O&xZwuN3nR2gNwF|kc?eD638r!+)umQ>ur6m&d6cRf z|9TG;~sD$wmIO& zYI)Ed%o5y4a3jHu1UDW(er&CN{765HDXz8r`bFPQ7H?vosvE7@NpNFdxIsuxf}mwq zDhcmK!er(g{=@U!DyI}HxW!$V;KohhMwiK5hZ}Ih*V-zX$W)&$+=y$fRGI*3z~ewL z)H$4WG@^Z9cv{jT-_tO)L+sd!(p%N5YxF0VD(=royP?md>D9||54b@Gj7uHhV*gt!SKToHVP=-ku`iR_PRO$Mo z1T_-WNKgZ-pi?{g1T~annF+{|3YM$P2D2~JP*S^G!b4IA8Zx1a0GoIYnYa>Yt44$@ z#An@o;YRPjhDgD;=-c=zU-)}I zxO|_l{NP#LR%yEjXk9vp2U};hw?ffGq$+-?6YZ_Jxh71H)3z*9R1R6r3Re_px~84M z(p6}Ff=^T?opJ?3{|)7nO#EtbVp+Y|aHB52`_PpQeI{71UXJ@f4btP5p(FM|Hig($ zEZo4oYg}hOei!F$gGz8C$;5SD8RWU~xSwR=vlUaQQId%#nfP(Z#B*8{R^>i(x%XgG zNu5~+GfWl&m#*a6$*5ROm5rNJHo8piI@}OwMN14NG2TpY<91=lB``ZIS1OWQN=u=# z(nu^i;(+n3W%!SxfduJA9VP-$8qF*bsrIdI7`Vf?0JbE)ExN*6*>YbP7|3b zk*Q3cX)9tXZ&M6&ign(1v&e6%dRo_xw?n*j*FIW!zNXICn3rUN8#~0Drs~FvRNXkP z>IPw6XpvL!I?!%I8lF0KTwHV9}v~n7N2KjMP?ZpL-r$f*V(q-b=#NU6QHPnUuYHIqm^Bpxdy7QEg3v z8wqYCxbbRKTnb09svnHsM7xKI9TmZY$O)v1GDEi^WIPphFwF=dBdoN6=4B#NZSkN@ za3jHu2s@9+1UIJ+T{WN!w>B@(;x9)d0PYzQt)bMG!Z$vTkxzmfH-Q^nCig1b;MQ6= zQfav0Cb;p*x>8B2ExZ_5#+gTTqx24qZXg&({g&Gt4gR!Fu2cu0-B4%T_Uh%h58Q|* zxEyH%o!~}-8wqYCxbZ-#9^;~i)~)zAR<3L3-6t0lH$2(uzk5~uzwSYs;6{QQM+P?n zah6*WGFKKl!VUOwI_EORJSWtb(Fr%fjlolQ6S&c3a@XNTw4~zDnI^dL>AF%`?F+|Y z1?MaS%L2B?nI#2G;Uw?|jB$w&G5wdwRQF7#QfE~6>gCuOZUCc@9*s2-k*XU$!Honr z65L2|W1n_-3s_b5L+l>!zp>=~*T44VcmI6Izj-_R_3dl=kLlmk`ycu*zfW-E$lwN2 ztHE;RGGfqHTu4P@odey*N&_QS&jO{1OyzC}H@ZyjI^0m`x`BSgl^<9lQ+=9bDpQcs ziPB{d6vG79qvwWkjASJiA-eySg$NOCCb)6$aD$NEVma=CHfZEhnJ5-d#f^kE652>; zBcY9iHc~@zV8?Eyx8wqa2QdQ0n_;{K*rqSD&kRr>K&a+@7gCz^hac%51m*B=t z;6|6pU56W-Fe8bgrP6ifuPc!99F%3+pxWp^&NV#sNq-WTZva z%ds=ukY^Hb1Db!uY=RpJZX~#o;6{QQ32r2~0l0y<)&vkcG9`5M$nhbwMIc$orQ=MM zd1;eU{Kj0W4wJhMH>iM7m^32Rlu~u$)2wdf!kAopk#SjoOBG^u106auaHwQpiW^B2 z+&BohK}D}#j(fn3=!45S)c&cuk)#_g!Honr65L2|Bf$;84HZJKB3OBSRfR#3bP6x(RR!WemAQvyZ zg-`%`DNdrZd?HibGnq=9N!zQJ<34bM^dubph)iAn65L2|W0v4Xf*T2LB)9>%ku&c- zBQ&Ghz?h0S3eRh1q1_;qm0Xa5B&GOG;YOFqU56Wn366v+(FtyRvOc&r4}~fr4Oc9W z7+=@^>W+;Za}+1(LsgT1UC}gNN^*;4Pri2TsOR{#Cee)24}m)FqDM~BZrnt>(PeVi;f7L{a87AzD*oweHzfX1))*8L72t-{E^|@`blPOH z2-@p~U@BEN?!CIf6ilY7<=7c+h}f$`OG_z9Z8s9!NN^*;jRZG3ht3IZoSmLdKUuh8 zgiu0BbQq)PEH13&SE6g9S#c}byRO>pCeKDb>bcO7m>%0Q^%EWwRW7j76GtTWt# zvgiz|8y0PJ9qNj%EQPWX%^@p{pWw#5!wpIy6|a`#9&iKN4UVoG=$=z=H1(7Ic-9{c zpA^xZLkkfEq&mEy@Fg=Y&y27jvARfK1*g^V$X}g>p&QPsEhIBU?}%F;{PD%VAGkSU zyGj4OiwApfh7bJWPY<5<{bV$~Zb^l=IN}uBO;6uU`m=x`Og(NvjQDgq&zI*gJ?(M= zr;{)p%_j+N?6_>FnC8BlVUj7H{AjIBc;rzI^K$*8@OHfX$k^&vuV%CHN_29yC!8O+ z=*b^%i6QbfR`XVH_k>Eyx8)u13g{KWc63*h~2$`yf8?MA_ zFLyl8C>T~=yP&L%w4PMmxJh-R%jB-Z4Xy|ynuuhCdtGewyP0MvH_pN&V|YVz0$Vk5 zx)L$@X^5}wCg^$bF2+rl(d$0Z7j`okc{k|455+HTFpmM)Ufch%BEzV{N4QMq#G%bi zVBjqZU%-9Zlrk$UEr9R64tZR332t0ou!r7<@hrsVhpmgT{0XE z!HonrVycbjd7+F#s!gNih9KT%Iad&|8bZ zpu7Pt(vx91np{*VOELEO*^MI0Kt~2Kd{#t|}naib7Nh*F7 zF)Sg)-NFq)di8SL2X4R!moTbSf*T2LB)E~_MuHm&ZX~!7;Rf*rHT+U#1je_}Za8>y z`oJ?O3rTe;xItMrRX3ix8&x+tOzt||AOc~Ep)5L~Cb;owI#Z#uhJx2I&q}XQQgj5y zaK6klcv8W7+Cacj#x#DaZd?N7dx9HG^y=l<8E)`1U=(5nmBb`6RqDHujBt}PRg#K# zl|3iz#tJ*~Z8v%S5lO`hooii`K4Y4=Ot3P*5*K7D>6P(?W;r8~#hb`fH-Q^nCU*^P zAn6U$1}$|=Zzs6%X~GT1Om5IRKJ)0WlA+NG;70DD7v~DReQ85(Be^=kjeCb1;6*K# z;~r=OtpOzp#5^?>PtuKDikl?ectAu>G(;=tbXp+yq9}xHc?cO{r42MMbuMD+&5g(X z!ud%|k;Z`JbNkvO-8#8&PJZG4(&ql7LTCevuPK`GD%X#UVk!3Vd%a+8WXpA(PEpU}oVqYZW@ zd9PlMd%z7q6s?$0TBPE}2Pkd~`osBKcOHhbOPLm3lWEbY#DTnO5MprGkI`Q5UyJzh z|GWxrFni_Q%nja6XFWf^RwqcrKPc54d|<-m#>{lzm6%76(T4hdXa8@Ky8K4`qg4BlsDJ~sCY~DPc_v2ko3Dl2|A3ugn z_wghBFlM^ez}xi$XdETx(=d72zrcE$j)u*WTH8~C9UY!dH=DB~Dsq(81~8{w=D{lm zy@LwesUA+9E-)zy+>d#cQviaW{ZOR?E<=HDhQ&|eUvua!ai6wyocQ)+Qh!~&6K3Ij zGeP~N7arIhh8!vu;GuN5#zkgIhCZ11TZV-vGNnO7%$3f)I#?_) zp2P~ttRIkk{r7_fGWcp#MDDqm9&TxaB3ENYI8=Jt!2LK!0P=5j( zRS&PL(cuC^CEMETo4_URQz}B>4b`Pym;i@Tj%6lz0*yo-%Ui}~Qsvr~+|%4e)>09c z{^pogd{8CFzeXjvvH~i+t+W^5J_VoI$avJ;2o)GDv`?D+QpLG19-^jCuMMflfe5!_(^qJ>o+Bn&D-TLl~-59POqABH$@11zQBVyggReC(P58(W8N#hw*XGkI9`j#&R|m{&-+ z`avJ;tonn+yzn4YiQeYUQyB9G5#2(W${5W}D45UDbqjO5*zn2tA*5Kyv;vy7)L4uD zLipy{&oAN?I5zrKmutI@d;}3(Xxv+vqNMz|PWjO-8ai0yBUNHjB_>s3 zk{Uhg@)PX18`xnbEj$dbGHY@W!7L2#EH6z)(Sm>(&SXv_9Vx+%71*&U2j6-RHbk&4 z6WoR#P@-GSBMT@&kL#dEr%QoZJWL{(FR}DWMYCXl^o0;uhE&rG-LIKo1-gE?*k0!# z;YV8>aw$09U@LL?CE~*mtVRbmSge;lp@E`Wr5@uS#20tdI!s1Yk}_?Lt)Ao8Du|Ot zWIA%=-Y98Al2KJu95GRA z12UPp$%3EN;zEJ_RDJbPP)WU3_JbuyNRWCn>Cd8Eurb3tK(oM#%bZMdlRkaj%BiDS zQ4)wGeR?WO+!^-Zj+V@57-AIyWeMUSr(niIF`EA~hxxmV2MqmS_Pw9ACH zf_%w)(Tt9OW|Wi-N!gH;4N2LMC`Neo-+|aW80Qg$_zaz);JMFro;gBF6cY$3 zG!O8cN`3Y^cuj4k7cGAP4xQhWHcWy zLc<58%O`z59E_t*xB0=d=p|Z&$5ejk8wN6Rn$d`Q3-F7ZA~_m*gJM11fB8 zw3b#T=@4tpS)Mav8kb`S!C?|eHkrC0vnkMZy&cS0r3FfSvHov?J+SDWx zSZrj28)_n@{1!-|3H$aR?IktoGs6U|S1+smFo7hDp_+6| zn4kp!4_Up?E;ru14DloSMph+WEUwhvJGJ*t?Y*%Ot`+Bl*#PD7?A>Xt(r?lTbC`X< z>|bC#O-I9KNv-Xvqq-#Gx5Z(~e${=!e`Cq}uYc{!@BaCafAe)Y4#AJf07_doPs ze*fap3pmw~y{lNiA&fQutVfpincYLO|D` zLso)?6ASI#;a7qz7Rn!vVZ=zVpm^aAtI)^UGQlR^VWd$Xkb0DPZ1rz&Zdz*@>*yu+_>)r6)b3(eC1ewNXD6m?4`@V5k3w#PrWy$vC3coUdtEC)!t}8j z43lLhp{+x|Ps*eYr+A9>-3&BbTG>WPQrSig^K$*8@OHfXD49z=2rm~C!W1(kIwr0~ z!yQBLB=AlGZ!D`+MZpTX19lcIOyGq;a3Dd<5`q_*6L7*Tyu?G&ftk)zyNk>Gd6mlF zNegN)NtelOV-f_U@fnKipDHTXRaACf2F&1L;t^#Osw=2fqSYeW@5Sm1FbUS6<)GyO zslbL7gTF=1WkXuM6_4*0mACftnX$7fxKS_1&TxaCN!ycJ8%~Z&4APY8nzZTxs=Xp! zy`kzOm0MCzi`3I1^|VOFwRc!sb! zG08MlU+L((9X^X z%%iB0nxz`ShiHktaWS2)07^d%B*pWmr&IqbnZc%7!2~&PSFqeVt&oA$$i+(Vac!iv z2kJuspMM=fRLYL$Rr>`Bre})hQ#^ln@jUf{!(S1heDDEgumy*UB^pt%qEOa(CLPIf ze{Q5t9d09vM4?)iD>_`?HoTC^Kuw;?6^TNHwSSN$iw)4^?i*25u%uoqonc8;OR#A3 zLTyrdH->ko5Cc^ADZLX%32*#6;3(x>q@p<8xRdUvQJES26}CbS*s!?aW(DS>OA>InPR5e}gV1$C|z(Rr=p z2I-}Op}{pOa7Z+HK~P9=i}cbhLii6+NBEqS-W4WTEUV6tpsG|*f>NMKLhlbzsn|^; zOh_SBC{l$YRVZ4LmL%|=xxu?>)hQfd;e6Id73-^)zp$s@Kl<$zd4A^t@4yN|l^_`v zIRYC7gZ)a;Rzsmn$z64;i5v>T1bp=1QzQCb%#Kboo|9n%^yO#R_fY77(Mg7sPd+7uw*g zS1-rTa03+xw6>6plcZ)?w%kb-h@_H!KtxW!%aoZZ3iwYd>arYBMn+f()=pmPT*SAY z8;|>Fx)r16m^w=;>C;jETkx|hHcN^5G#j67;{qn*sC&m1PL&MxE|+-?yC^|ynOS5} zGZKU{RzWo_A_Y6)3jeA<4Abp~rwx|qGNCOjL8aB4lH@ge6ROc6R3I1x3ogKQjkplo zU{jAm9=c)+1N=~GFM~^7vv`iQbQn8rmo{zGO)SA_uU=OBVFHvOqE@}$XzC~Z@eJKS zsz#As3lT&x880ZVvvGN5gk_m^iV*Z1g+q6V5icANt1UW}(*OA4-w)h;_G&cgzhC$~ zp5X(85~CratKD3n20MP53g^U1O01;BN=mGxPLI-7DWju1SAB!^FD7o-``5y=`2V~L zZZLc0-IZd%&D_7{1S3HIxo!vJ8OV6&x=)opbb`upYpGdX99c4I;6UIs6Tqbp=6$KYa1%@r6H+&JNZJ%~?u@}=Ou8%tRFPj96o>bs%HXqulATh3 z)@TWtm7WFbLT(EiW5wl0Kft2<0ph-B4Ygf>IAe`FRT490RRCPiItRC zNiKP;z8V$NNhrf441GXf`v>DUu?kw117a;8RS&jxyttlKld1=)?L_}#dU`}iA$NJn z6tS721#G7+9H$K_N&p8DDL1fVw=wORss}68gPnAk1~qh<+;!BT(HxLUFvVgFi)kO= zf&64xjwTmXTG0*gc@r0ZI~mQ#i=gvCxnuyW{NP!wM%)>g#)Iv&1BwB1bLc8QzF!;0 zotI%{A`YwP12?o(nz&5aLZknIM^h9YJ0XOedqz16GMW|K0#~&7L|v}$dPBZdOPtRX zZBX5-m*XC2gOi@1=x#$(;+Wr>#y*vQaihGZ!|eS zeKS2pqf~i{|E;sDjtEys#kC0v?QE!src7mYT18_UCT%E!Ey`SQgg6OTtl)}GzJyC% zbe9QjVF|D&1SKY6iJMd)4uO>fEFkk7@Z1DQg@i#h&uR3DD?IwhE3eQFo81m6G{lqL z@UI0AK37a2d-bx~4-=3mI3fuXd{D2X+xWC5R#IXm#V`~ZwylAANAAgaA3TA2Ur!F=+WR zK_xoH8kmn21)K!(LNHrN+HX-kNSGiLzqr9XMh4xK3RL#$W%bEpf(@mm!w@a(t_Pxi zdBYZM2`VJ0kf1^mFeCv3!p1wWRV}plqAY<8f`kT>37y#-#7&MgsPU>mE2Px=c?~M; zeE&7Hq%M=Y4jU9m*9!JkG25JA!*#G>=VibQHY}>cq9qlw1O^vH=6MM&AVba0K^0r| zTQ8hM{~s2!SGNEb8)C;B)E!!T`Rqgx1j6XWa@+%MFm#bKD#{=dE$Ktjl2QpGwTZ)H z@n)jZ>3ouKMZy&cS6~I*0j>~1J0eR5k%I#*iIpbH3u7}b%0iVUXS7muCR)-CTGCP& z-DN^sSc0Hc16L$riJQ=p4xt25S{4cp*#hLy5Ju~QWQGwGBaA>BF~(pv5ZP0=Knke@ zv2O_iO`_{%wFf4kwx^;~WHL)y%BPZ4AxRaIR3Xul5-rJ(E^dr#kBF8ejid#0MOHFY z7z760e+C0EL(Ud=bb1cxA1D7?-Kf)!+x zic$q9GbcgzvxO*wHr@oD3{>$vZ52E|qJb(fLA|W@zyz^QV2!nu9#fs5RTTQ-!KY74 z`f(g43%6M?n+6WvBhh}$%?l9MVm^8bKJkScy7O=mhOrgWB=p|&hsEg4v^Na1D$t)s z1EA)|)7kXO54z+f6I@7eA;E3;n4fx84Xtf(&6bse>!KdwanGzqMyyHLyV zvZ8d*Xh#hRw$&CEO^zuv3=rrO!Bjwd6`~aNSRJ>hb!-S-TOeV#m27J-*R!I&nglls z@kuoelh=J8R-Xt(u9#3@UIrDPaTX2qOwRL+85Ig6aoUo_^*x=r*}RH58_U}zn7Iki zxg1mL{Ohky{`}pG7tcM@sk%!TQz{^oWS_uo&VU{ZO8R!O1p)Ih17(`k@Qi)_2*w{GrxIb?!yTG=sh;(N} z9%IraDp&yRU@dV}WYj^lErLVVfJg-b6*u6-Y1By~yKA}852>HTLWI3U6%ljH^F{c- z+G%6c1?q?iM6X^}oiPD9leVXcl>De#%(Vbws*t1#$&bUC{w?S4E?!@l@!#J4`p@s* zKl|>d`OoJMv82{w^Q+Ad7WJmn*z|C?$or+963ORjFdey_KBmd%>67+(3Z>J`qjxTY z?`tN|KQ}Wv&$FT|nbd_wDs5{|iAUkQKWwTM8=|i2`;$ps&OkVT)_&o9GEThce;_@s5|LO@Z(Bn4ra1j2HKY=CMho zF#^XW8OSE1r)2chMNrkQymjmaQQu(w*np(>uSKuH&6J|G%3jC)ACahAIaoTurY56# z0Z})By1{`vllh=%2%HLD#9$^dmR5|OTJOAut<+^QTX=w3YdO`a&%`daQfu0AUp9fv z-UhLo;?o;2m6+8OUQPnRzelu1yvlOLfdwdHFwRBpi%3JeXQtAI#QhwxI2uewT|+x{ zzx?te1nR6;-|w9R^@>IWa|tSv`_hMXUrN$~BrU)L;ATNia%6q{_;CuUGM>fY&C6RR$4vnH+$S9G8DZKN#BD|+SeI-!eltErHbh=FFda%x*V3)9biR|-~ zyuXg2vvKM%YxfDB?wWa7poRRK-u>F#zKleD&Y|{otoC9nB{`oL~>H`;nH`AD*A|rzibk{OBCh zKkeanRSN#Yijw1!7$Ni9f4`q2D>-8(N(->8_JIVkNdtPelcYBOpnan0E%NuN`CH1} zr`&yl1PK!0U3dqOAQ)zyD-p&}fe1zwW#)2aGgjDAF^e8XR$(Lw66}BkOGDN!6WWFZ z&}zW>HmQww8&cL z(HT{~vP}`0GsI^;r!EiNS#A!?akYPtwx_RQ`wE?0hskVV0R=jU;wCk0+l2+%VaENJ z1}x>&shpx9U?7jt3V)KY@v?zRnF~^ud1}mn0J)Xr|Cl&HA*8RC)E+oMke=k+O34xq zNDZ8Ipn#GgX?>H{H)(y7*7q~f`Wg`wWQr`)984i}Uw}xl`2X2^_b0b)Y-{xQTXp}3 zF4sMG=6n@OcoIN=mAapu#EDPFi6?e4nK^UH1%O~%iCWU=;n!6D_q#xml3I@z)oyo7 zHd5nEEQurt669WcueCPF4uv3AQlij!Hs)SaZD3DrU_lpZGokBvfPw*TBmhB-nlRN# z>wAdS_ZS*Db4W8R^ch)UB^o#b0>ox*WyTegWe~J9E|%C5U1**8^ARxt<(+z29e@cK zoJfTxgd|Lm_(CFK0y`R2**79w>}xJFT}1s~PHpB~2q!j%<@Ly$7l)MzNyK}+> zhzahpPCywjLA9(7zyzFh7#g+^B2%5lL63_m$78702ZU10)h&ZX+q%jy73KuL#EJO)+L5+}Y;!UPEuAclVu{o<2`V2N{L zvE~ZO@!uHo{_9_R^1FXLXZqYDb3kzm^tm8Am1UKx#(@Jeq0)SV4DD8(>CKNF6gSASi}bz(6)o zkSxG9G0zd_u+%qrwuS|^zVjM9fQAiwCv+VTXet>&Ml#AxQ*GcnJg{}@F>CjY334cJ zgz!KDM&#%ptR<=hN@YGLPVij#Ld5pli7#}Am_X1@y{rzw1f;_y%^6Gm$ZnM{lv)%g zOn?Vq!URb}uznL5B0jxyw2MFhRYn5+>N+MXlSw>WlGkHbO6zo9l`<3wg<3DESMmhk~g_06vB! zdF)k#94tIt3cMv$2(fYHXjZZ2(JP(vR3k_=f;+w))Cby3<~kNoT1vxAp8SROVS$Zl$9>rZF)!YY!UObleQoMDElGrTIJs$7G`bgEmBj)RQdf2a=vR>4`s+o@6R_xiCNh zG(;g}5d#`yX{I!y86rwoR1H>-r#=v01V4p;&BA0F-wwXt!@HpVpbF7s;Y$X~o{Wir z?kSXNu(@f-7#c-E^XZ)SvE%Z5!zZJMMS-9)zBTf^gFXNqgar5#>HL>r`f3>lQI1XUi z3s`CYelVHZ>1^`Vu!z|0t8uW?N^Lv|S>1R!rj3)XzdHN#cQ0N%JDYEM7Ek5;j1l^u zaWK`>@<|>)>P}REo8wqXrW99h3$Z-H(ES~s^?yt zClM~f=u!vU^c z+dBZ$>~RBNi{pEKeh8f@L6+1aA+<`l9Az_8P!wM*4 zXrAYJ#tW1Hgpg?d%+UYMmCz75Ln-v!crBk0BTHH3twxfUa)X4Z2k>z`}Z9~8KkgZ3)R8SJ72BO)^bd>X>7 zg#`o2tvYTq*(K{~3lqyIuN4ZdnYU7-XoIpVs7NAH%u7KFVHtX+M;x(1rdqJAwt$Jn zce@bCa!eaQfF0|kPEB#rI>GM>@#VwM}ecpLQ6=8A5j7qsR@FRu6&x&vZXeTMO1>nZ9bExq{> z;)$kwP;uY!hWN-bo*P~OoK7>)-6Hp$`))NEn}J~rw-#)xYJM~o5LE|~F_|OU*NFR_ zw~&cBidK^{&t2Qb7(2(hh(`BczReMTxUvM23}d|!5b!HV`8j;Ov?_DdWD6gt5YCe5 z)PjpKg3v2G8WtdeKKS=P|M?(taq)lW_;YO#i|@a{pI%Y__(SfwZ(F%G?Vjs40}WGq zQ4jTR-G5g9JaDYAHV6pmTnYccqQoQ6f!3x?p|#DaaCuq(v_9QNPX(> zmMWn5ZJbMd^13&{&wGOl6r-li#6F*SA3_o0+{H<3*2K3k&WYRN58M~f#t~SQLrMcL z2DmafiRk8 z>N(ub6}|aY8;yIfaZR5*t5ue9-th;G+LqtbhLXJFK{#uYZjP z_aIE;SMdTa?uJ{qN>wlEZgoc%VLa(>yhXaNd*dk_Hc1gWeS~FJUoU~eY6INEZ>JbCt7;Mafr@jvmm#bEM0Os7~L)mZ?BMo_{QU&mjsebtNje_;Dx4=-(R5E=2$XJy%Y8%Kmcvwyv%ZwlM{m;Eig zwZHxT`t2nhj^9s-@3^;}X5)_U4`&6A5}g*XRds4%U|k~=5(krb9)DD)IEB$n95nuH-VXH{ zE)y(qv+X&s#q(_28+!TWJ!Zk`*zJHUSS3hI)%p+eQrwmSOM=9emW_DukB5_34uHI= zX=<6WUl-jslP)7fcJaSn0jU!nvCZ_PzDvnd5m+S&67jOV1CMnIb7-e&5nD%!Oq4mK zKZNP5U?nN2BnmzS7|GV`*YUD@KVMN|o9nrm`{D*k108AHcaZz4Re#%p$z_<@{OIm; zUrCfWn}!B0F1$oRvuXdq|ZMRQ^FD?8_SZ98}9|jkWR|~j?5|@x} zk)=HLnt4JE2{pjbC%%AgW-*aaLqZJ+HQbpKyMq?6s+7ZS3*{9O6xf0stXNnhn38e^ zqe86Zt*GHRZA{?FBEWTo^_CM~Y$25x}e zq>(0%ev@~A8|pA89_-VpnYXhv*%{%rnvAA=unY`0Yvuu!aR*1e4AhZWD+Os^GbXa! zDe9FDGLYC?VNqybHz!&mx1D2MM5FsJ-{y#Kp=K_$h8>a1d;x>iSR&7i^b8B$ab}AW zmWI(2>E<6s3$WUztx~;-$lr^dVW1<9CDDuF;9U}M_ z^%PzxL@K3F`i%cPs86>kd*ZLL()96a=6TSCEz1&;5(z1WMh_69OE~00gq|x@)JxNx z*?Ms~j_u@Y=HzBI^TV&`$Eumf%J9_^a;lkQN>a@{fCp2+QcJ+%I@1DdCS!AOVhHh; zmy7OiH{ubcnmKS0%zf89d}*hS-BJ?l_Fd3-hd|d-* z<(Uk92m2kn>7BLd7Lak0#%>_qSV0Jq}CET+fHTNkU~g zzLtNbF^=vMEfsbvoL)A`))B_Z~FFqcw}kA&=%L?1Ac_GA9Vlc!?G?D30b_#Evan z$s5OuTR(RKN1Lm9>LB;0zle!O)t^!9b%3AcU( z$pL|(c=e<`47VPy=3tjfrqPMqo#J5ENVcit6I9(9m?v+($lPCbp)t7has_G;D}kp3D{yVax&V17;u6m*3Z*Z zyv?;-2dL$BPj+r#csjP)J;+io1 zs<&4vYu$TU%TY&kQL3!a7Ia|>Vx}QzRtl3>0ZE(i+@6?^H#N{vL$e4A?`UExa|P)e ze7v2sq;T5OTt=1kscMq9zH}Q8?>1L+6D?qlBw?{3Qz~a&Pv+S=`Ixr`((J|zJNFxB zeK%^@z1aqC@L0P(hikoZ(1XF9UjX&nB2#&QE?;_4vZ%#hfQ`LO*`0FYn~nIxwa6&6 z7bQ%}k=KxL=ocl)&}G2H_C#Jn;+k6>A@6=I^47~(%PfyZhkV^2w`q`biS7j~h%6`$ zF9rds0;GUE<9M(eZ5r?1fZ$@bq(s%8zC zo!Px-Gy^&>bC_ObaAuR}J?=dEeNmT5Djm2GWq=JM26|#d{m(h8+2)FFWHl9XL^+{x z#ip$0&NSjG%xmCaR=M3_-cnX`(TQgF1fH<4d=$9B;9 z*Ky}ANDgxW%h5m~5D=ImFH4i$XVQVfq=F8??CdLdFC8L!QP=Y!jhJu5LvHu(Ye-RT zCUrA?5Q$@)M1QrEKDb%vaf1ZH)e9TvzBM&!ZPN{U6rm(=4tkWu8p6_2Wu^-aS|H`H z@5ohAROF$<=}}h?e1mokTXzscbkHeglNg;gwZ~=G=q)p|{PLrO_w{->AiQU$W2lmn z&|?nop@W!)7qP4PWO428PKMpAtkqF$3+1ctr*V`iqE8Whis(~BpCbB`i0B#jG&j&7 zcv-+Uj0<##(!9t_;hmGdREEZ8R$Hr)pF>37{>9gX^KE8yGn}WwXr14YBD#L7w~Alm z`@AW%RY}adLsRYN9%s^walgc2Ww)(npu4)kM%-=+?Fk3pA6?Z^&bL-(h7)wMqF!1T zAajrkhdCf_Upd?&;%k93Ha9!E7`?v94~)?z`cJZ>PQj06uHW-dp4Fu4dyUjL$FdTy z_eR;$oqj=?P9b{=*;B}#LiQB0pG3&cbFNfQpqwNgLOLmEX7k);0nJbGhK-t;m=^wQ zL-rfI0h`#p&D3th?o{MV^E@&6hUIk8;p7Gv;h-RXWB=_!`OVEX0(w!f0MBfRj>5cz z7&OofO`im!r4V><3?0$q@;V@(-#F+YVg0U+k1V*Soq81<7ToIydJRA31pF!sanfB^ z=G`C9=IXdsg8WtG@}U~wlmaB(ei_O{rnCo}30cM<)Im^+*wp1E52?Em{?YPf8#nXaEC&|WI0V?V*%8iXX&V!nMsv>5SHt3})xji;U-x|YDg0{|Cex}+Rr*3&sc8mdDT_Y7 za2hf;zt%C8L^# zOtV-OatcKg&}1bl<>zT&yLxkI%ylTyYu4CY8KbQmz_yP(90eSHxVq(tq3Zk zjDd6S4D~Jme0?HSp$bDzx@|7w2KXRI#3@A*_&5}N;Pz>+9l4ST#+EH~8CN&isL-Gs z!&L4{2)zl|oVc&CTwReBQc?xJnGinS;Rn#ot{m{@6`38zaqTNG+!{{finZQ&=wSrT zQ3;(D44f}rGH*<*=wk9m!@(px8W!)6E&ezBz6SO()V5zMD1C+3gfF9e*pd3x*Q49k z1fw*jaK`4b>jkRZk!Gl4PoscK9%LyBW7X9r7}Iy7W-d0ppRQc$`mphqjAl{zYxGSE zb^?`t{oS&d7Qc;CjZa?pCir=8aPb_1{^nQR9JdWVZa ze25zDTS%rxlkQRx)2(Ks2;)h2&s?wiQm)*W-CZYo_4m8Z>UQp!n_uL84K%)fhwHTH zps~hGjdw-7qwe9-tc?WvtCh#bcFhw8`p4DQ7+3(O(HvsA=$j#T|MDmf{ks=0o;{Bz z_CK|S;Fi7_@hbiI?q}?JD~%(5${yMkB%aEBFR;x^x40hnuxys2iBG(hCA0cOTmER@ z-M0D5#mTKa-ml)O$9#Wnp3mAkJBB-I#|tOU{5?I4m(zC5UA1G_Yj@$c_hj|dZZ>~5 z98cq^3c=&WsGoOhpN2v7rFo2TO>ql9c@{S)ZGRHxH(x)z=v@Z5>^vDf?G0eIQ$-~* zeu+2fbm)iuxCQ>a@FV;?ei6^{>)vEK?l~CBFJi5)LuqIIIHLHY&8IIuJnE~mIpQl9 zWc}q(T?)*RtAfU3zTK)pPP$V+s@{>$>M{ROzbEHk$E&mcYFytUUe{xNQtvp)IOO|& z?_p@$7t-kJ0`37NjNvBsWB}8#;ht$L# zADbbsy;c_C+ZsW%I0U&TfbXPm}0KI(1Gf)c}JCI^zXp`#PN+ z=2yAA7k9s_Qw=cH08m^G-Lp7&A3Efz`wp(uw%+Mp?(rMYuIthTTj2iO1ednc+iL zf4P=;+cnOesiXTKg%cR|SHaCEmk-)}uHPRod~+--@8Ipl^pqk>DWa4jN-3h0B07l_ zkzg>?2_T1aa1W6p!oRd-GNZv0t8y;1+^J~27tjB_G;ytbNdncei8@LoWr;K55`PWc zGf@QXwL?PW_-W!dc=7;q<2-+{?0Yy1WmVa{V7&c;6MZ$PlI|Cp=W z-$-n8vkfwNo{OA^!exP3G!YYl!4^!>41MOAD?BNvivocI$mAObJ%mucYvT{F^-<_o z5}X5L8cQ0a@o+IyG@y-gLs!2_Ufz|P5D_^S zgURzSjcl=sX%drt#qiSh20uWU@E3IT=;M>f2wPIe@t3$|`LCiO-Y>uF%sKcS-yhBj zI~sNDd$jqC{vO!kk1B(5Ez5u7o`{=mr*u5@K8&WJ*!DzOd>37>W-hY*ueR^|*v?fX z@6@lG0{}cD9WI5G$1Ld{%oFEZ8ztU{U)A>UtUO2-h8L*?_jGigz7Qf7mVkZhp0|bAo2t?6n{EJi zU)a2GvCBwM(E{6hn9P+$W)&?;9;{{}YNZbV?pqIh2zbA42Oj|7Vc6hRC`l%{1V7CO zkvZl=CJSZI*T^cZqF;4u0KXc_)*$R2VEgvT+7WTr!`uegxwV1@$}{gEtQJDW=e&d) zfG)ZBmS|$!Rlt5Na@;zs`tS`%#$P``C*A_-hiJD9XixCS!sA^5^D9W+Wlkt9VfE>Z zsfRQPem3q+-(A(=uCReDp#7VdlgX=kgJZwa-79C*T_67K+yR@+fR<^QB24_aH(C*} zJ&f~vh9)s*)3GhfodJG$;?7I~0KmAt{W)mha8fy8|nZ?U*r7;aSA zp58e4l}UIqsKhn+1#&Yn_p@;W{yuZz<+LC7A9rw)cj4MO9OHm3$_aQlYH9w?5tM7FL)z789W-!1~Dyq5;yO* z^Xu+7nIpZ6YgOLj#sy#Q^33-8XTLn1ob?80zx?pci~4e`Jzty0-i@EGS9h@Ok@-t+ zJe}G85Az&mJ&cv-b?a?fJ#%wO$lm*U{i$1B?T0aG{ui(Y=X%dD{$%dsJ!f`OH+8&7 zXOY`^=4{^%{I0;^>V3H$6Exqh+=jb;viqUDF|Fe%_EYXy8iWv@rd9@It?$PTiIk$shM~bec+4x zAx5W%nZm4&Vp|2H`hFTmnRGviI+UnGi8_?1LnlEUDiuic9C83oqG5Ng%FHkhZ*36h z9iwOy%q>dqCqy0cu0XqRs2qecV3BLo%$>^%oR$!*M1Kfgndcurb*TM2x8V)7xtLpc zLtu&NJSrrTIZR#g=(eBxIWMIpX=r7)ak}^Gdsa8tAPCt4M3*8*FBgZ73Zew}&q>8H z=ZO=XbFU9=6R~o*MX-6;DC^BWfDFXYKR8#c1l@)^9Qna$Cz+jw{#qD6VB^C)FF zoD5W*Tot3%pzaXo^DX%n)z0q6jp^jxUUZYZ3o> zQ19hhLeR>X>Yv{g4TyP8h~+NJ8ONoThGnKK2pDd`@sj7#vPSSz4YDF{{P*bs)cJ$< z69K4S4KGK4rd|8m_WIWK`e4vNA$1=pb>~p}FzHYELl{C3^FksFK457GzF|3W(beIE@M^&+oHr2qxWYiaP84if3+pov zdA2P=;L0BXECG+)1YX zL#_hOsTu8Vr;1$%Xf+`lQDO|c7Rr@siXdSloE z$Cs5X()RIr6PZ_?iRVG@ipSK-51vKiEi@|L8yLrfofL%Ga|KrB;QruCkwc(Q3dr-F zDp0oKHs&N$=2?INpEt5BTlQ?<83H!`&-*Xl2Ha{@mfHniq#_PxY^XC50r(O?56~1C zjl)@l3Re)X%!$F5`Kn9sCBc_2o*uo)1P|VbA|??=OedW;y+JX2GwDD$(3J?Rm4&mU zG6HWl9}N>3UT;!qEmS~WLWOECc8a}FiTbrcyPXJ32CiKHD7=lBdj2bIs$V7ef+Rzp z;L9Mvmjqu<0=|$^DnvU5ApilsgE~8k-)sak z)%Rz0E2$V(csmUj!|}V-Wbeb`vNwp$wh<@4j&aq-Zq|N*{p@uN|Lh@5o6EWZVPGzo zb0VTUe1b4LWA_AMu5g1kmTT+kO)Pb6xD=z1G2Y>D+Nk^ai(t4-9JH(*-CtScR9IaJQw;22 zS`qQu_7QI!DXU`UeMm*FAI~;P zR%(Zm$W;kZBt(%A1s?1tfhf=iLrEFREC>xIIfG%dLl3!(1Sn*qDw^i8ME4IXY`W)Es)uri0&o!83G)~EVv@ zFLoh@YclqCXC}BgmKEH+z4`K-2h#6X6^#}_sDEV#gV2w(z8~=noo6T_`#csYs#L`+ zRy!KX-=!VECE^mL40PZ{8{Sp=A6{UIALw5NFc>jjFj-#&Ws=;1>wNHk5t*R(^b zhw5-V4*lx+SVh=ENuKAHfzRjRufSZa7HfmfY-rGiesk2>xTq0kG{GYFg%2t){k5Ii zYA*_s?I4`Ylu+190rjvh5b8Mx9k+to$?8bjJ23}cXP816rMxS z!~Kne7mmn?1d>@Lwi@^jW zM)WMaSOD^3cxiisc!GbiE;K;2w64AbfJ*zJLGhyPsx1 zU&K(U^`R5|i7{oKcNiBPYI6LEf`CZf!{<*f$98b`SG0kfyz1?n)^++{fF#j6@~F?)SiQ{!O{k|0>Nz0h zIRxyi>=y5r7BFXZgAIUlO2+E#K}|vyxHYEX;~Jp41fQJgGzA{RK${d7VU}`!Jiz#bSNx^uJw}f*2`?aZ( zw7GDbc!3higuEj=>&1y|yFC{AjkD#?5G9Z6Ag8MFeSE&i;@DSWszofb9MA4z$ktt4 zd&ZsZn`~f&mW9$5MUbrrT%@J1!7|rvi1A)6e#}b>(drpllpRiQgIT|i4L7R~AJqEw zBbiVm&p2N%2e>a#(=oXbM2mW(MHRccrM*HiO9TyD8&s@OrG^#1h)s!Xjy^>MJ(hTh znkdOlRDMeLIEPiEt~EU>d6(9#&-0@hE1)e-~NW^ZJRBGn?|&DnAm;{;wI zmnD0Jy_OUwREtnT3WLr#Sq{Vi^HxDK>xFn!O7eVN?QFX!*^Neszz%C%cA%x4tMn6;~^=)l$7FXg5Txvn2x^Ba*aG=p& zY^k&~U&ZZi*=~(=>KpsefM27jmb%k`|9}4Y)BpW{ef`a&pT9jnvxV(vqj#`M7@VD- zQJyfWiOo z>~+tcU31_kKRo{Nh8N_;@b}QTmY#n*X91o~L$g7oO5M9oC z<=G%W2{EzbcbyMA>mTFEvak9*RF%$4cvHvQp*k2ceDOB;_k)*p&J41avj^?87H1El zOILgfo$cpU{BetC@R#B6_jm@lvCl?B!0Bnv_UkFcU&c^8p5Nl(PHS==4`)cuij|3} zr{p&8q2`f)HW>vEr#Ro-%kkj1d!Q-sUcA^Fi=~gdU^e>VEGCyGlWKuIDbCN_pMIb8 zpSZvMZuQ^Y+n;`Zr(gf&UH)G`e5ZQv|E|9s{_^a}=-uPVGdx`e;>$mMfzYB_Z!0_a z$M?UCg@1AJ){<|&{s;U1;$PuX{QTY9ClmL#N5xM+3`Tz&xc+x<9uL0xa`~XX1b1*U z?TmV(5Feg+SbsGfl)a1DI1azAv!9<$(Hd<0S(7rl8*kO z`bquymu7idvvI%Qa~!WI2=yx8pwV#H$D~&gM4a(Kcykup)IC32{^sn@^grWK7jixO z9<0Lno?DE2=Z>3K<+iQQA&xzJ@a;D*&h9&{-Caa_n20GJ(339FQs-K0PKO_IyJb7S{*`c~4&gKW`A{++Gw*K48Y8}i!Q`llo zMp@qJ^WXqC2KI6GFs_;G`PbiPkB8&z**r9T_>Z4|`sS;@Ji$>&hp|0pU!BjqDv*6M z@WU98#FM&s-@_BV2qh$Cq5VGMrVxHYB2g*Py1&6Rw9VFdK-UkCxQE|E7-fhBU$;B* zJj9;6m&MKhSNx~VQQu~llWabtS^ZkbdPUqto3uomBfv%+*RF_IFYfjNY_$<)wILRr z`Eh7DznGyIUuCgG7I(Ei%m4cfQt2^X0bkCh=-Aa}aM3|xG|l>Ua4~~wI_@Ray`jscB?cI|O+tA~k<)i@hhpE!T}=J|`CpP$DFfU>GX zF9HPhkMr9)^mD{^9*++QIIw=k)2wlDj29WvUxp{Zmz+X0ObGekfcq%V7vcHLeO)Qz zCT(UBvf=6}^4w0pI3wol>)^4TsX9ZuVNTDPI{WtNzSnVe2Q_#4U&7#G`YMhP0nnZi zES?K~{-oUVXmWr0_o6=j;HTLj-k=XwvOP^|VEO7rd|fq!KAXQW>i>H=#RK`vr^7)H zf%4NuJo{Az@fVBbYVHV@3AwgVTT1StleedtqdA`1QpjBTg2|j5P44JJ2765kXKPaJ z;A7oV?x^K)D`Z-~{%$dM)bi*@oIAS78GJzQ=q87|zueJHMtgAX=q3lj6LUBlBMp5> z?&xL*O1Y!m>8O-D`Xq8k$jDV)dnetcxe`)yy^B}Sk5tUw7%AY}MU2pm$-FRG&j87c zpno*|fB&Dd*N4{Q%WB&fNLJ!)dO7+JMlJ&WRi%oMWMKLQ<^RDSavJ|7{(-LmIPve5 zX!c3`d-xar^&bpIF8hsP@Uyi9R2w8$k(57D2I>==-Mz8wd@etcG}h%jI$qxSbrvgT zzDUYq&2w-mi-lZa%3{@d;Lg=F*&G$$eHN=q7r+VdN^aP{nhkyr#hz!_6(E0$S<5Cj zaGzPQFK&<(yNd+OmJHe75H|e${G~yX0d4GyQnDZlYfPz(@m!UnWTkic%be#za|33M z$RS=4Mz*=W&yf-dv%*-Ktylj6wBd zG@FL*>)v=ev;C)dexV+ZX!tEk8L{AbAHwQggW6`?L{^9DCt>cicr(q!*TKy$z^$Ac z9VP49?a@^->C?rWrxZG?wGr4m9cA332mT* z1mRV;_qQXgBPv06G1^ogtpz8`f{I`3R*}@%Nu3=EEvO2?;^{n^RZ$cu{hU93{MZ=v z_>p=T?SrqqrPi%#o99E6)x7LoCbW^z#-2tQ(1%Hnh8U>b7C;*UK*K8F4#%0(N*HvT z*x9P`UL2lI32n5Q+;y~pBDa=QNrSbY(8h;_A;*d~Tpn_Co^r8|iv`3Nu`x|iWI>iL zSGjh=#7BQZ8%ub&KonbG@#4GNMjPZ@LLD<-jt9UE=w~RE#Hjp~;6|go`IPINeG~Vj!7t#6dU$Gj`)DMV#%uWt;W1{-!AtfznEqHUJ^ySUx4(mz^ahvy!-= zyk%0h>~Od1%$soU@X;E-h~Jll;mE>mSV(OqcRilxDklh4Sc>O|<+R~H ztq0QGR+r&J;`^15W?P86!O+?m;WB#LjQUHbUGBL>vwMTC^|?}+;ZkLJDP%3>DNU+ZJ47J2z;L7!n=E?k|dceF?B9K(w7`or0e|`a~0vb7l*!#{F%oz(g zofRq?g_1l2lbmFM`lNbT7j4YDc~-pk#7@F<2*xb&q4P1}Mkw>(1(+3p8&Ex1kNXoc zt}GAE7#YCZ50M3y;KohhMw`i9hZ{sfU(K{is)tXvx{(v^ia?93)Q~=iVBsEJlq`dR z6RvzP60PPF+?cG=sTRtHEo`dAcehWbBC=C2#{=L7T3hFoD8lP)7LNH%DHgEk>dLK`g`BwZ5>z4s1)eQHz9G!U1i;_ce zq;pR4 z2gX2?+1XpTfuTDeL&AUloJ~6Gq_a*sja11<*rJ7u8x0Zf8CyWS&R_=5GpCfugcgxF z#Yt8;wCH07O$<%saHLAcN+o0Kd#}-Ew3*O#JduN`k5Gi9>czh5#n!3+5Dd`@RIQ6J zHkB9B8&6Fk;j$dSKNMx2XU;ix zpgl5@z$~M=OhG%k+79|7bFk`R+X|v7Xiq_V3ffc9o`Uw12->M4B?sjp(`95rARV1q zr)WkjmsA^Q9e7eZtck0)zW17-z0HJf1npAiIgy;j5EA&P4p#u^#?k#BEZ(EUpe`M6aTFyVLc4q4BAUixXGQ) zSdO0bLR*iznv)raa=|L*5z0r8u@tnM7et=Npj~$Ad;Wl+U7*`3lEdmaRm(qw>6_vB z_b#|8@&BI;(0RDD9?jYsz;$=I_T6KNI-zZ=XwdW7hxBIq5f1Ow(+anF>d$87yXp9+ z)SnGE!x|-|rGI7W&z3qSq>c%Dq{^k@@Mni1BlQI4?P&gzIfkf%xw0f6_~?R0!Te{J zalhf)uLP@muL2L$TKyvHtL@+jl< z{V40$6Yq&Nv(iQDs%UUtOX%9!^wl7>Do(A6lW9+q(cU}N-TA^Ytw~nGw-7;x^O+-X z3(cvHCU;h86I*Gg#QUNIeqGs_Hqm>VY2Aq48Nw3eexfJA9dKvrSmXNOwfWJhB;F(P zIflf$E}0G*5^Ebw?1(5M8I2X_h*(k?c%cyKW2g%Nu$$tvKP0>+n%}oEF6*(h8;eXD zhQvEoz=6?x&ZXAs7}M@+)Bim9*|;}-R}tTifJ?JBo^8IngULmr!6zDgqQNH`e4@dh z1P#7WIaI4TWUGY&4L(QR-$H1YdCf~oLg}3OENSr9zl(Rg`YU14QRt8)YqrOj+U0m|B}DE ze0`}$e|`7sKfZte?7N?4KVLk=<6@0fzPn~{8K$p>#bg}HFb)H#F)+KMH__y-GPK0s zh;V3Uh&-MyiumrQ@U3tG{Y6;`r+Bz>JCQd(PyUxc;@!F?ll(6e+2+K^Hp=GS5eNUv zTp<`?ku3n0eDvef(xS=3Z?kcQf7>nh2i9C+r=h@9W?r9&C4j+x+P6 z)Aze#qisNI!-fj=x}tJU1BD`Ho?I5!bM5nxGFP?ZG-Pbgt6)aC`U{Jaz} z#Dql@l(RT$3k0x#^le~3>%HIxKqpuTv8KHkH~hO!`+qeo0^){+>wQxWcp4@Xco^cV zfBy5qPhm2gjeR()ddW^8%;CFGlHmeCM``)-w7vIG#XYTpb zPG{BVUfcdG9(~&tjEAYpkuQ3e0mr)>;fD;KTp48B z8eUk}zgIc#>L|9Y>FWDw9A&&-H*6UEV^ZSc-cC(}Q`2B$)Z<6$VJvT7ix<}!H4R;G zHi12R?=mTIlM;8I5*HMHl6#YR1M3gLJ^cD|_eJ z%;+YVfR<3fwkSqGnCp-1qf;lsw}o3vGyUdAc%L`X`5l?*H+lN@bB{A=#<<%^XUlF| z%|Lf$9Ge&+P=V4<0FO==8XoytWVYlg)7qM{aJl6nLc|srVaxd1fP&qd#V~s##(qBY z=*(Aym`L1+(3fAvZErn9uW#}LLUb10E_21qQMz3=Q$IL*Yfr_syi6xciB_zm7Cg!`(Y?fyHB!E0p{)B@`kJCZCF*}?MI{f8%+K|!TLsMwJmJj04?^fVKKa6Dh3h9$m(fs;L*(W zd;ZC@heZ)99QT@S-yF-zldLz&miD;|_nee=Pqh6++fTIpMB6_J+P?O*R6^<Cx|w zM_6Vp((Z&(W(rkm?>_6a`wiZJO-$crYByqf#)X2LU+e^(^6$GtqWxjWA&K~ni`*`@ z-`or_@*+&HY7{xKUdtk6C9`15X#wJn6gtBniZs1bfgG5W-#F+YvHh-%k1V!loq81< z7~D%xkHt|3_x+(Q9@)MHje2~aO5CgCSXoVdmm>Lywo_If`egzjzTawBvHe;470NTK^`I=;=U z`eT)H;RqfDv;!r5J3c;@d8wOwEl9?Hyf52n-gLQ@s`Kd zU-L?DwS`1rqO6AFuMyGa2xh-%^^8ZK(psoMnN*Sg{qG0S^l&)ty`T40g8snzcv!HT zm!+CU%wS*JUf;T29|FDSVR|3o`OcxN^qX26W(wC+xE|hCT9g#7hd~P0Q@DN-;kqnH z2&Gq9NlGN%Wll1!G=-Q2~fVE1YsW6F=ue6LUQ z`T(~15kkNwK)xg9`-fZwoKrK}-5mH`2WT}R-L)8KvPr6OtdzbKB2(4_4O3mh2-B*} zTbrXh8N$m#;8=@n{ca=7T_bH1*YDZ(xI%lPJM|JcAhhSCLr^{>@~E||HK%E-T@myJ z9=8D?K^H=U1u~g*+rW};bEjWGn=zVnmxP#ZrCKgxntus3nu6B$@vNlbnM9Xf0)=-n z!kmthvwh0Lr@;Pc3hYlJus4bYipqZGg+Ml|6wt7iLT0A0pxRjOWbs)uY7Tn$H4%NA zN!^I(b7`ny^p1>i>UaC~0c`W5yN~GWBR7QfwNPkR=+P#Wzjn{9reph{HiLRw!ouEI zbcryk1X+!v#HE3m3ozwjki$J_^zDNBYscIsvTw74BMa~IPQ4xu2=6ImuUJM%Pt+SN z;^UOLzY^K+M0&O0brrEr!Zc;=Q`SCZ?cHwy<+vhc?FT8ie{d4PeeOt3Wl?6@QfT!E z{AvtE7~-6Eyx>Jn^7vr;>_|2@ef>4@eVcjRi0@_2QU510#+WH%KfD~lpl>5J4g>6} zyZz1pq)mvw>+)V7-S6BAf$<{oUd53m<&3k!Ku1nI4#rIr`A@7|=_P{uL0#3h8r`lgK^&>;n4TZ{xjh zz$T_|GqsyBJy`UVkXRwPgP6WP%j?6~=12FJv%g6g(k86md68R9NOxmcn;CnK#6lq90AHV4z@r8yJc-?#D6h4%F-I4rb3;!J&W0ahGL z7uW6X={KvRSb3Z+NH^8@$wWSBV3P(mrRP&LKZ<&(lSt1O2rhUI`)kF(ofHTnac>%( zVK?mFHyP5Kn;ltg(WU7r0U9_Uo~4S!yb4|7$$>?fF>!IGC#6Txu%&_Ojo`oBpErIt=PYQco_&c7WTe zH?lByMNpOJ9T>iKsLAms*0EQAc=p#BURAGp`1o2Rw(f|Yn#!i8vM1J5Rt9H2J*ke;5c7ar=I-hPy9SluhB6Q&SIpMRY9^6>5WH8@@iLKq z66q(Ael927+3A!C1V`*cB+0md?Vs@IVx@InW?mX^e6T(j(Htbf4gab)Km(dq@4p6a zw3*y>xWNE6(0hQ!Sx<1|!@`g@#e-c(SO)C34>tnKiOwm>fb@a!ivqPd?O2w>oJSUU z8BktGaAOja&97~L77b}0qC@Uzy1hg0;=5QExy=T-`ds9ldO5a+8~R*ADQrm2k6S66 zsvEeiQg!3+?1ziLKYH{RE8k7WKdEVVkg6NgD@IGHx)EKh{qVB8US4U^5wl4czwBL( z;P5pZ%>9Ko3NPV$eNF#9`D_0Ehu+KYQ+4CS zsvCsL92Vn0av2!V3yIb3RD?JvQNo4}1Wle-Q#C`H3nncr2HtvcFn z6;j^=L1`BlXodQ4QVpMKH&K}XA#ek} zqlUus$V`(=07DDtAG|>1!wbL-H2=yx6;za!Eqdg2B)D-CxY1^E*Wd;*LZF>;YArCF#GJ~m zaQd|226F{EPkEFS3yqbB&=j6vxkHpIRqleZjz#5BB2(Rab%Tmdy&MmK8?ns+*G9>s z?qHVSMuHm&ZcJw51UHOPj~}UrF~zkO@Lu-(c>X5#sk*T-J1yZrf*W7ksjU>Wgg6oe zEweJ0@NOhbX4c|g+&PomJZA+r32yYC+MB?QHj}#!H{gV?l*wfxQ+>K{Bd)bFR|H4{ z9tVP<&S8zE5$*fJ(~=hMK*Q7)v16)k99-Q{=Tdj-<#+(xARtpwmMR;eU0byeODQCo zcz{QA=W1LySH5>+|Lg(&dome^GK|B(M_yu#Ds69=phkikj~_oyP@`2l`UEv{%Q791 zBNfc$nF-otGIz?9+*4-@JXDIXDC6Vd(x8R~)X1f>PQpV{1sXD;iU6B<4w-l^&{mBI zS%}ZN`@(t**D9sn=r-C+?mEQQh8!!A${GQ;5;R>?R%7YrXnulE z@=V&?77YD2a-U@4v-{U=sB^(O^>RD}YLE^$3>~qLvMI!_CADM@F1U9MFZ<(nao#nk zR*&1riA%0j32xj(ZIR$cf*Xj76Wl%0e>N~+8-m|?OIxU?l#Rz}5YB2wL?ve9O8*WrdhD_Wu{xucHG^?N>Io8(G$ zSFTjV8A?l$XQh@{bi@MV8^iFgoCXr47cN@CB_h>56RFfWiw&i#<=7f-0HXkINFg*m z>W0$miIfC4DtwzvaFa|t$;2oA)s}+Ux*(xRMOcuzsP;WJi9 zm!adW%4~2v%RMVZNkf^t&$1QW2c_GZ>PDN%U56W-D3(*EBXK`fH$LbxU!wpJ0^>RD_ZZHt3&=Dx-G?A$inM%7% z84*)?1brx(EHkO#bOts7lPYwv&U)P>lfVb}2M|02DWP*!%NhY{9x)G(G z8_AXG)Lf~U7fLt^UI*H32*;6VrG?E3$913xiY$v1@>JcpNp*v?nA~-^K_z^Nj3%+B zl;FlE3OA&Xq5!@yOkmNWfSB2cIkZ$pDepWFHo=YiCsXC;Qg-U)cmUjhZo?2pmC*@q zB)E~_#;akm6pmn3KN!7nD$_(9xknzl^g=t0z8DXUf)RoFr-A1dQ zTOauz32r2~kxX#kb!&On3As`^YSC2#x^QD$ffj!bjR3f3NVJAh84BNc7bBkpH*Nwq z+Dz_MxWSDvaHLXj!A)@ElXaz%Mj3c9u#7X0>PG1;8r?uJj@&0V4h{a4O0HB#pxwyN zx#`r)@esHXO>jBV1}edg1UC}gNN^){6z?41;FNl9)Ks>Xb9O>-BM@u2AtAG6p(5OX zAE&i8W6X0xeHoo_6Wq9=D^;7xU56Xdl8QrTn&8H#>q=#mFD!=@oHYzA3)miKh7>S` zlfWA=#w9|;^j{)V-7}dgKc}iwFUQt!0~m#LXsn5dRNe3iZX~#o;6{QQ32r<{JvYuD zAhj9{&uvCD+KLOA(^%&~x3N;gh}E+|X(ChE8^Vn?le-Q#a&+B5KjO*{ERm@`O)`}( zNNGiBGYE=dg6q+9Lt93&5{nSs|H?vyh&B`4xOccgNN2tr4?r6Km7LK_Kf zB(#yxMnW42ZGZ(?(46M6qp>g=EOIXp_!RgrhQ=GlX~_#4ExHqz>Ly&OHj}%KHURkG zIA&DDcnNKMnrOocT^M6UmK(uhhd=njsgh;|G#j}Wv=G&zOK9Vs(S|%1vQsa|1Khw=p3_=5pn-pe2JP3(Rp%>@}C* z#!cWxo5@{=8=NpLb3v0*{L|%9kuv1G;5<_XE!Honr65L2|Bf$;84aBuNfY_1cLPd`pA2L$}k_9I% zXL;#Lla%5&=2Eqo+;zA?1&qR^7O|$3svDnXb;Aj*o$?~%vH+JV#Oek*bY|dC$-r{1 zB~5VSDBuPaoq9PQ05_r!F6U7Dr|L$MZrB7j65L2|Bf*UXHvl*Ckh@$IFrgy^qE)9^ zX7WO0CEWiBv8*s8DaCIJH`+|@8r;yvfZQe|iG3Fm-1tP{hB5@O(qz!-z?jNN2{IMr z;)OR53P3N#Nwj)QWU6~6Q;BnFI`wiq1a6Rygrgsksmou28wqYq6WmB}Bf*UXHvl&r z^WHN;GpaOxS^TgNT?E(;KnEGgKJzU@)FYU zoVkecWu9pz1O6KFf|wkBaH-4R5mYzCxnP}oIUWEvpxvP8pu$Xo8wqYCxRKxnvbuSP zanYeB$DjCYAK1%)@axIt*bdJAIzuS{mp%bp((Cy`a`hnL;;p5Cd;U+VIA zVqN}V*eI0LGAq$r47?6y(0a_c%pkwcL!g%1=#i7O8#mEzw3*y>xRK|Ea87AzD*owe zHzfYajn*h6=71Yg+03HBFgk5ASp?XE!HonrCaJoSsvCgUT8Lca5*@}UI*SWqc;*B0@Ig0Y$#P!_F5b;F>Iu0>tZmZivzM03ar<0rUr?{I@sNX4t=cmUjh zc7vnq2D<0e8%_MUH=6c_gD0_xvR6U`0jUlzD16DZb(t0hBvu>gtKhU+9{H=&FtCGZ zwS{Dws6BD(gFn9b_X9gaY&Y(`xA9;P&hdet|JQ@3i#+KreqwlwBTlg0r2A&vn+6PF z;&BUN#NElvEzV)mZF2%$m7H4W7ysh|MhqF!^PhpJ^G84@22CQ)U-RW|1}=`_I#{< z98A@3j=#HneW^!(efR4>zJLGhyPsx1Up&Odtq*+}65L2|Bf*XH1UK-sAxOd*yc{7@ z^>D+LcUicV$L68yCYK{D&4&XZL92(%mgT#!z^91npT zFv2B_=6Qk}32r2~k>Eyx8wqYCxDnw7@ftP!GS3K%Z=v0=@Z|J?XHpiDs#0)`vTmww zJheBfZnT)(b+|zU!W2zebV5yVzHSy&rwpe1jcZ_bQwIUU_GrN;3x}R z{#4yq;=_mDhtV{|Y1zPji|>HzK>K+>lc>B@>XCk>e!Hs)|8{kFFm*W9w1FZoi3dB4$6;INQeTthT-FQHRBMPDw zbUH1Nd&wz;Y%YY1u+jwTO65dMz1h*IS6DxeDbg5_yqs%USPorN{9sK?^7gVn8QM{2 zIKJqx}JTOKMS_hS& zb(Ffy(CLpAWe)#;7ZZvJZQKNHw3*y>w4opp=SGv*$~~ctPZMpF(1pWf8qGE+1=;}3 zA9^YH;1*bJGUwJi;&J&C+PG)5!OkUze`U2C4}cqhC@Ne?L`<& zm%K^3#+#(ERt3IezY0-$(OtCjuerPE|9KT`fBMSXsqMd;RF0xpTmF?D3_^c`fab?h z7|*5k__%NJ0qQv9{Pxk4M-QV5#OvxIN;{-_s1C>D(66446%QP#QJ&|PWjc6*@`TGXG$=Ni z%$+hN_te=47>cm47QvzLL4_c`#zVN;OKD61bIN8OymHVxsK~7FaO$*yNl_3KJgS@m z5d8Fq$})Nx3VbstehUAZfsugSZZIA2?b*2gx_T!}!^Lp?Zk0&?u(<3EdXs5<>c5V) zl#QLN{Q~>x#kaxzI;OOG4|c10o^;zx@CNjNkeCpm60d5XYP{8@z>RgBQVt0dqk=e_ zag;VdXf%KyS_1O}dO8mMI4h1;ISv}q8guFS47{gMZ09{Kzr-58RpJw{0qfN3gKrM>)>V=Si}hvBp0b&jVf9u(Nie`7<)1tG%)*SrJ;lgK50zg zNPvA56x|LMweZg*=nm#Vfie_8ffSQa@X;IRJlO*Q>B)C`|!a2FyvUV z01u_bH7+t;GW5a3-!d#bk>v_BM3*b)^P|NAqj9W|Onae9*v^r`SHmJ|-4}WXMEw|loo4%qt!dGDMGZF;0@4`6G$zz zO4haeKu4=fakNDUS1>q6v#4vLs3Ur*Gpj&6%sCCYP(f)MD}aduwJdzz7w~|6?R-fd z06b*$lhU}rN#K1Oep2n$`puz7;y|UY8DKXg=|zGc58BWbH^Es;c#z=7f&- z3uSr6sMDcf-l6Lj?wt9CPeug{Ad>q9c#(Od7xXEAE8l>hQR|ZSY{p44kRe*9RAK(TqUQ5e7+h7J9nQ# z0`7Isht(&8vznDqm4Y=&(5$4g>@JwiWSM&robWmKAEDZ^9MeXnrvB>e&)>ax@$Bq* zRU|r#)uZz>SX}*Q985)}yvF;Aoioy@*X#k%2z|>nQ;N$}mAMUQw7>Rxb6AupV5yN{ z9kC`gdaB5vG+=~BvNFEN7#P!1X^mVZWm3gT!Obcr2@)+JQKfEJg)tONv^{r`@@i9#UmwEj7tGI2yzZs zbP!~@63xp2#?(Sm?!&ZMJ}j+9`>3hdaH zgWq@$Hbk&C6TAsMphP!{M;1_m9@jySR+j>^c${i!i><`+OT>q_tVRbmn6H-up+Qbno_dVmiZAZAb(oB*BxTBI zQ$5Gm5~NoN{YfK|{Bb2jzwj7N8WGscU2b?IPs6|trWF?^K?B4DcK{7?RCsdqw}wWf z07=WkvMSnhW?qzNUIh`8WRb746&gGW7rjA4nA#E!RNsFLv#LbY+UpnDAd@!NcN3Wa z5^|+eQREYssGKlSYYQ@&+VPI=fM7pWUwsr*Qm>W6V95y*q~45s(?|lC)H>87Gz*NR zwq%k!_tZ?-<8U*fBoImZ^i-C(Gm~6yY00#LAyy$!mLL{#3Z^|2vn9(>o8X4*#2(2c z_ljA3^bwwP+f3+2u%9cA9I1}Hvs8vSvI5K<@};5n80?6vTk+DS2LGr{YzeeBU?7#ah|NE0QTJ_5`qgK{{& ztc$l_KY%~uIAC%UOdw$R#MV)T*gJ;o8vVDE9c$ zi5r(S{Ln)p~G8LH=`Bnq}BX%U-!n-*~$&Gvi$}E&^|D@pc3e;;qeC9 zb$~Ac)?!&=^>JB9Z&JU#S>>Ypy2e>6>WPh;b@5$ZC9|JpqhwIy(ABS z9#CO(t&}t}L62L29{ZI{xb8PBBP7_7U`K)-33epdfp_E`zz&l$!}CBh!cjdCW#F0l z|Ji%j<~EKjTlD*lxc`BnxO2PvgbU2~gC`vKNPcSEvelOCc6(+*k(HH2!6pG154}44 z-|xyo6#$|DqCiR{Af;!drU=w4E3;~^z1Lm~w580$w=Y*gGeM&S^G5p8r&>bT`TlFT zLtO^91v$8uhH{d)L)YZ+Pk%R)Z0BvjyloKDVZjaUJ&~mpXd=SO6D2G%b1m|WOI7eZ zK<+I>clTQq9F}0`HnoS=UJ%!PTAmt&_v+=iAKai)7*v&x32rnss*jVNlyF7D6$w`) zT#<0a-QWu96pXu-&LoF~zla?>=#fUpw09h?agcHHiJG*MosI$RmiE9oHL1&hwy*>< zk|Gd^Rftr+I7Vs`2`o3ti7Y6z7(oU)I&nLd>4I<_@Ch}MQhp1h(1d-hB>wJ-%zV>N z4->Fny{z`b1d=d@YSJ-bf))Tg0sqtgUW1{I>k zhs`Jp%uy+hqXv1o{;Tk2wD?sLmwFIh%m;)iW=K>_Tnpwq zy0fJQ@6_OpWtFNZSV4Ed&Z310ybuTuB#2o;@FH^pN|=S0FdA`Srt@TXu~tRdNegN) zNteNGV-f_U@fnKypDHTXRaAD~28`fg;t^#Osw=2f!fFxrd$IZgOoBCNIcRx6Dv+VY z$={;pvLUVBipO`CUs`+l#40fr+^CmhXShMnr0q$q4JSv{4APY84ws!pB3`{=*GDS1 zBu|UvX^}iFlBdPvI}?u*gfOa5m$1U1=8`*$;so5qrIuXD+;~Y+!}%Jv*pg_UGqk!4 zXbVqhW2G@HCb$!xxDHQj9QxZ}h&bXqyX@Dy$YYGN2>h$I`y4{Q+LowZpuHIS&sb17 zgA%ktQx%g;Q&rv)Ei|Fu{%3oD;!z0Nb+4ZDor89EMj#$VjnpjF2;PS!_Qu6@x&kQu zB&2wLh0SrfP?htL-A_go$%rBuQ8YS>aYd}NzmgHfFXv(W;+scz7td2KIP?_}$_F1H z23v5bSi*>c6@{|SGwDc>Tr!H5`}6}uIO-o+wejvgKqLvu1FLrto;RY*(pJ` zj(b*P!&~5yl?ZduJkq8(K`-jAjVLNuQm>WHu%xObSlGN!n>xK4!Mjrk1XMD2lhfTL ztgT&dx2PqgPVdy|ojSc!r+4Bg;f;R>9HpGATnH~RMqtV-gat>5N}n;%lR_yK+_F=r zcZWIxj9}+=gf0Wx4)h^fs)S5l*f$CE55a_jI#-IQyjF4ps$aoiaE%Ha#Av-BC?vQL zq7d6HLik(6?TcXjQ&NAbFu{CTb%q30rGgTa0!?c4ejk;J-890RvyKu{NJt?eg@hCm zQn(wW5LiK|5+tJ{M_|Jsu%8!XO7?PNg(7Lqf_$!J)@ti*P(zo&T|*7Z zGHt0r8#?ZPVjo?{KH43I9BMa%%as?3hm25-?rOFUQVs0~H8ZTS&%9>SkD2?xYGt>XLpyL{7lVl$j|C=uax@vK&!H zMp$VB%}bq&_||iyQ6HvTWAwDf)LH71J{{)21wWnhdCGo>BjXB|Tc;IzPc>3giTRY6 zPZw_|(;kRlSTnO}A9Li37eBKn-#z;6C3$w|%qOQx1{CWuuOSyDh%GaVENVuAP{t~B zO^ZmuPPoFq><_}EGEdmV0A5rex(sLwOHgSwrzC039%}`Hp<%%VsICzgq763nDCEHv zTNvPnQhOO((wfC{q}7M9Q+8?7Mv>uCJ&~UGF9SGGmrV22jE|+dhm~Jju)3#I^oy*epB_}`A@%;Kgj-@!4vXbKlWX&3GH4#eyMNz z&Z`Hx%S)z+%@i$sCaf$oLy8i>K}5<8E>pJ9@IUY{Md8s2A>`aM%2|+6tl$>7BC(PlApic#UCaUknz)qK z#jd(lAgJ!u%W)61!AVb0xZ6;cDiGtoA6$%VVkIS3QopjwjbbsmLxJP|SxHiHZGwWG4HZ$8 zsfo=+LlJCI=7J|&aq+~h;EHQmNnHlCg(bkA5R{mNC61Mq1S}x)9Pr!(v zYM#^Zi7PyOH+5;0%+fz{~GKnQ60aXL31DLk!kXjW|t3qm3n5I^RO5t>^gS#WH zJ*HL#BWb~0k(CS;2El;|EF)z`w1M)Y6h`yZs<2jTxV}}P!+^Fi0hL@So4lHDf(Z`6 z!maQ+F9=qUQ7X17IGH&KvY#zP8MN^x@Fbubt7q$-$RAKZ6_}u2R(oKASSPT?T1t