diff --git a/extensions/big-data-cluster/images/aks.svg b/extensions/big-data-cluster/images/aks.svg
new file mode 100644
index 0000000000..1df4bc8835
--- /dev/null
+++ b/extensions/big-data-cluster/images/aks.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/extensions/big-data-cluster/images/cluster.svg b/extensions/big-data-cluster/images/cluster.svg
deleted file mode 100644
index e0e8e68f41..0000000000
--- a/extensions/big-data-cluster/images/cluster.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/extensions/big-data-cluster/images/cluster_inverse.svg b/extensions/big-data-cluster/images/cluster_inverse.svg
deleted file mode 100644
index b35c0c5d36..0000000000
--- a/extensions/big-data-cluster/images/cluster_inverse.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/extensions/big-data-cluster/images/kubernetes.svg b/extensions/big-data-cluster/images/kubernetes.svg
new file mode 100644
index 0000000000..0b17a4013a
--- /dev/null
+++ b/extensions/big-data-cluster/images/kubernetes.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/extensions/big-data-cluster/src/wizards/create-cluster/createClusterModel.ts b/extensions/big-data-cluster/src/wizards/create-cluster/createClusterModel.ts
index e572bbe55b..3674c255d3 100644
--- a/extensions/big-data-cluster/src/wizards/create-cluster/createClusterModel.ts
+++ b/extensions/big-data-cluster/src/wizards/create-cluster/createClusterModel.ts
@@ -9,6 +9,8 @@ import { getContexts, KubectlContext, setContext, inferCurrentClusterType } from
import { Kubectl } from '../../kubectl/kubectl';
import { Scriptable, ScriptingDictionary } from '../../scripting/scripting';
import * as nls from 'vscode-nls';
+import * as os from 'os';
+import * as path from 'path';
const localize = nls.loadMessageBundle();
@@ -61,8 +63,8 @@ export class CreateClusterModel implements Scriptable {
description: localize('bdc-create.AKSClusterDescription',
'This option configures new Azure Kubernetes Service (AKS) for SQL Server big data cluster deployments. AKS makes it simple to create, configure and manage a cluster of virutal machines that are preconfigured with a Kubernetes cluster to run containerized applications.'),
iconPath: {
- dark: 'images/cluster_inverse.svg',
- light: 'images/cluster.svg'
+ dark: 'images/aks.svg',
+ light: 'images/aks.svg'
}
};
@@ -72,8 +74,8 @@ export class CreateClusterModel implements Scriptable {
fullName: localize('bdc-create.ExistingClusterFullName', 'Existing Kubernetes Cluster'),
description: localize('bdc-create.ExistingClusterDescription', 'This option assumes you already have a Kubernetes cluster installed, Once a prerequisite check is done, ensure the correct cluster context is selected.'),
iconPath: {
- dark: 'images/cluster_inverse.svg',
- light: 'images/cluster.svg'
+ dark: 'images/kubernetes.svg',
+ light: 'images/kubernetes.svg'
}
};
resolve([aksCluster, existingCluster]);
@@ -120,6 +122,10 @@ export class CreateClusterModel implements Scriptable {
return promise;
}
+ public getDefaultKubeConfigPath(): string {
+ return path.join(os.homedir(), '.kube', 'config');
+ }
+
public targetClusterType: TargetClusterType;
public selectedCluster: KubectlContext;
diff --git a/extensions/big-data-cluster/src/wizards/create-cluster/pages/selectExistingClusterPage.ts b/extensions/big-data-cluster/src/wizards/create-cluster/pages/selectExistingClusterPage.ts
index c3907d654d..f78e97acd6 100644
--- a/extensions/big-data-cluster/src/wizards/create-cluster/pages/selectExistingClusterPage.ts
+++ b/extensions/big-data-cluster/src/wizards/create-cluster/pages/selectExistingClusterPage.ts
@@ -7,6 +7,7 @@
import * as azdata from 'azdata';
import * as vscode from 'vscode';
import * as os from 'os';
+import * as fs from 'fs';
import { WizardPageBase } from '../../wizardPageBase';
import { CreateClusterWizard } from '../createClusterWizard';
import { setActiveKubeconfig } from '../../../config/config';
@@ -21,6 +22,11 @@ export class SelectExistingClusterPage extends WizardPageBase {
- this.initExistingClusterControl(view);
+ this.view = view;
+ this.initExistingClusterControl();
let formBuilder = view.modelBuilder.formContainer().withFormItems(
[
{
@@ -47,6 +54,14 @@ export class SelectExistingClusterPage extends WizardPageBase {
if (e.lastPage > e.newPage) {
this.wizard.wizardObject.message = null;
@@ -63,21 +78,24 @@ export class SelectExistingClusterPage extends WizardPageBase {
+ this.browseFileButton.onDidClick(async () => {
let fileUris = await vscode.window.showOpenDialog(
{
canSelectFiles: true,
@@ -98,35 +116,42 @@ export class SelectExistingClusterPage extends WizardPageBase {
- let option = view.modelBuilder.radioButton().withProperties({
- label: cluster.contextName,
- checked: cluster.active,
- name: ClusterRadioButtonGroupName
- }).component();
-
- if (cluster.active) {
- self.wizard.model.selectedCluster = cluster;
- self.wizard.wizardObject.message = null;
- }
-
- option.onDidClick(() => {
- self.wizard.model.selectedCluster = cluster;
- self.wizard.wizardObject.message = null;
- });
- return option;
- });
-
- self.clusterContextContainer.addItem(self.clusterContextsLabel);
- self.clusterContextContainer.addItems(options);
- } else {
- self.clusterContextContainer.addItem(this.errorLoadingClustersLabel);
- }
+ self.loadClusterContexts(fileUri.fsPath);
});
}
+
+ private async loadClusterContexts(configPath: string): Promise {
+ this.clusterContextLoadingComponent.loading = true;
+ let self = this;
+ this.configFileInput.value = configPath;
+ await setActiveKubeconfig(configPath);
+
+ let clusters = await this.wizard.model.loadClusters();
+ if (clusters.length !== 0) {
+ let options = clusters.map(cluster => {
+ let option = this.view.modelBuilder.radioButton().withProperties({
+ label: cluster.contextName,
+ checked: cluster.active,
+ name: ClusterRadioButtonGroupName
+ }).component();
+
+ if (cluster.active) {
+ self.wizard.model.selectedCluster = cluster;
+ self.wizard.wizardObject.message = null;
+ }
+
+ option.onDidClick(() => {
+ self.wizard.model.selectedCluster = cluster;
+ self.wizard.wizardObject.message = null;
+ });
+ return option;
+ });
+
+ self.clusterContextContainer.addItem(self.clusterContextsLabel);
+ self.clusterContextContainer.addItems(options);
+ } else {
+ self.clusterContextContainer.addItem(this.errorLoadingClustersLabel);
+ }
+ this.clusterContextLoadingComponent.loading = false;
+ }
}
\ No newline at end of file
diff --git a/extensions/big-data-cluster/src/wizards/create-cluster/pages/selectTargetClusterTypePage.ts b/extensions/big-data-cluster/src/wizards/create-cluster/pages/selectTargetClusterTypePage.ts
index 74e3be412a..f1149e81d3 100644
--- a/extensions/big-data-cluster/src/wizards/create-cluster/pages/selectTargetClusterTypePage.ts
+++ b/extensions/big-data-cluster/src/wizards/create-cluster/pages/selectTargetClusterTypePage.ts
@@ -30,8 +30,8 @@ export class SelectTargetClusterTypePage extends WizardPageBase {
acceptEulaCheckbox.checked = false;
let eulaLink: azdata.LinkArea = {
- text: localize('bdc-create.LicenseAgreementText', 'License Agreement'),
- url: 'https://docs.microsoft.com/en-us/sql/getting-started/about-the-sql-server-license-terms?view=sql-server-2014'
+ text: localize('bdc-create.LicenseTerms', 'license terms'),
+ url: 'https://go.microsoft.com/fwlink/?LinkId=2002534'
};
let privacyPolicyLink: azdata.LinkArea = {
- text: localize('bdc-create.PrivacyPolicyText', 'Privacy Policy'),
- url: 'https://privacy.microsoft.com/en-us/privacystatement'
+ text: localize('bdc-create.PrivacyPolicyText', 'privacy policy'),
+ url: 'https://go.microsoft.com/fwlink/?LinkId=853010'
};
let checkboxText = view.modelBuilder.text().withProperties({
value: localize({
key: 'bdc-create.AcceptTermsText',
- comment: ['{0} is the place holder for License Agreement, {1} is the place holder for Privacy Policy']
+ comment: ['{0} is the place holder for license terms, {1} is the place holder for privacy policy']
}, 'I accept the {0} and {1}.'),
links: [eulaLink, privacyPolicyLink]
}).component();
diff --git a/src/sql/platform/dialog/media/dialogModal.css b/src/sql/platform/dialog/media/dialogModal.css
index 87278dd7a2..2530d8fd6a 100644
--- a/src/sql/platform/dialog/media/dialogModal.css
+++ b/src/sql/platform/dialog/media/dialogModal.css
@@ -68,7 +68,7 @@
margin-top: 10px;
margin-bottom: 10px;
font-size: 1.5em;
- font-weight: lighter;
+ font-weight: bold;
}
.dialogContainer {