Arc april updates (#15237)

* Enables being able to view and edit Coordinator node scheduling params (#15114)

* Trying to save per role settings

* Updated spec

* Cleaning up

* Removed unneccessary code and comments

* Added separate type for { w?: string, c?: string}, PR fixes

* Added methods to refresh mr,ml,cr,cl versus per role

* Fixed spec

* Put back optional properties, removed passing empty string to reset scheduling params

* Spacing

* vBump arc

* Included roles in fake show output for testing (#15196)

* Update arc specs (#15225)

* Update azdata Arc specs to match April azdata

* vcores -> cpu

* fix spacing

* Consolidate types and update storage volumes

* Fix compile

* Update min azdata version

Co-authored-by: nasc17 <69922333+nasc17@users.noreply.github.com>
Co-authored-by: nasc17 <nasc@microsoft.com>
This commit is contained in:
Charles Gagnon
2021-04-26 16:20:27 -07:00
committed by GitHub
parent 1e42f0b923
commit ef57812a95
13 changed files with 322 additions and 343 deletions

View File

@@ -20,7 +20,7 @@ import * as loc from './localizedConstants';
/**
* The minimum required azdata CLI version for this extension to function properly
*/
export const MIN_AZDATA_VERSION = new SemVer('20.3.2');
export const MIN_AZDATA_VERSION = new SemVer('20.3.3');
export const enum AzdataDeployOption {
dontPrompt = 'dontPrompt',

View File

@@ -114,6 +114,21 @@ declare module 'azdata-ext' {
}
}
export interface StorageVolume {
className?: string, // "local-storage"
size: string // "5Gi"
}
export interface SchedulingOptions {
memory?: string // "10Gi"
cpu?: string // "4"
}
export interface ServiceSpec {
type: string, // "NodePort"
port?: number // 5432
}
export interface SqlMiShowResult {
apiVersion: string, // "sql.arcdata.microsoft.com/v1alpha1"
kind: string, // "sqlmanagedinstance"
@@ -127,25 +142,23 @@ declare module 'azdata-ext' {
uid: string // "cea737aa-3f82-4f6a-9bed-2b51c2c33dff"
},
spec: {
limits?: {
memory?: string // "10Gi"
vcores?: string // "4"
},
requests?: {
memory?: string // "10Gi"
vcores?: string // "4"
scheduling?: {
default?: {
resources?: {
limits?: SchedulingOptions,
requests?: SchedulingOptions
}
}
}
service: {
type: string // "NodePort"
services: {
primary: ServiceSpec
}
storage: {
data: {
className: string, // "local-storage"
size: string // "5Gi"
volumes: StorageVolume[]
},
logs: {
className: string, // "local-storage"
size: string // "5Gi"
volumes: StorageVolume[]
}
}
},
@@ -154,7 +167,7 @@ declare module 'azdata-ext' {
state: string, // "Ready",
logSearchDashboard: string, // https://127.0.0.1:30777/kibana/app/kibana#/discover?_a=(query:(language:kuery,query:'custom_resource_name:miaa1'))
metricsDashboard: string, // https://127.0.0.1:30777/grafana/d/40q72HnGk/sql-managed-instance-metrics?var-hostname=miaa1-0
externalEndpoint?: string // "10.91.86.39:32718"
primaryEndpoint?: string // "10.91.86.39:32718"
}
}
@@ -184,41 +197,45 @@ declare module 'azdata-ext' {
shards: number, // 1 (shards was renamed to workers, kept here for backwards compatibility)
workers: number // 1
},
scheduling: {
scheduling: { // If no roles are specified, settings will apply to all nodes of the PostgreSQL Hyperscale server group.
default: {
resources: {
requests: {
cpu: string, // "1.5"
memory: string // "256Mi"
},
limits: {
cpu: string, // "1.5"
memory: string // "256Mi"
requests: SchedulingOptions,
limits: SchedulingOptions
}
},
roles: {
coordinator: {
resources: {
requests: SchedulingOptions,
limits: SchedulingOptions
}
},
worker: {
resources: {
requests: SchedulingOptions,
limits: SchedulingOptions
}
}
}
},
service: {
type: string, // "NodePort"
port: number // 5432
services: {
primary: ServiceSpec
},
storage: {
data: {
className: string, // "local-storage"
size: string // "5Gi"
volumes: StorageVolume[]
},
logs: {
className: string, // "local-storage"
size: string // "5Gi"
volumes: StorageVolume[]
},
backups: {
className: string, // "local-storage"
size: string // "5Gi"
volumes: StorageVolume[]
}
}
},
status: {
externalEndpoint: string, // "10.130.12.136:26630"
primaryEndpoint: string, // "10.130.12.136:26630"
readyPods: string, // "1/1",
state: string, // "Ready"
logSearchDashboard: string, // https://127.0.0.1:30777/kibana/app/kibana#/discover?_a=(query:(language:kuery,query:'custom_resource_name:pg1'))