Add missing fields for SQL Managed Instance creation (backups, database logs, volume sizes) (#17137)

* Add backups storage class,  database logs, and volume sizes fields to sql mi create

Co-authored-by: Charmaine Chan <chachan@microsoft.com>
This commit is contained in:
Charmaine Chan
2021-10-04 12:19:06 -07:00
committed by GitHub
parent 76322032fc
commit bed0a9091d
3 changed files with 71 additions and 3 deletions

View File

@@ -121,11 +121,18 @@
"memory_limit_option = f' --memory-limit \"{sql_memory_limit}Gi\"' if sql_memory_limit else \"\"\n",
"\n",
"storage_class_data_option = f' --storage-class-data \"{sql_storage_class_data}\"'if sql_storage_class_data else \"\"\n",
"storage_class_datalogs_option = f' --storage-class-datalogs \"{sql_storage_class_datalogs}\"'if sql_storage_class_datalogs else \"\"\n",
"storage_class_logs_option = f' --storage-class-logs \"{sql_storage_class_logs}\"'if sql_storage_class_logs else \"\"\n",
"storage_class_backup_option = f' --storage-class-backups \"{sql_storage_class_backups}\"'if sql_storage_class_backups else \"\"\n",
"\n",
"volume_size_data = f' --volume-size-data {sql_volume_size_data}Gi'\n",
"volume_size_datalogs = f' --volume-size-datalogs {sql_volume_size_datalogs}Gi'\n",
"volume_size_logs = f' --volume-size-logs {sql_volume_size_logs}Gi'\n",
"volume_size_backups = f' --volume-size-backups {sql_volume_size_backups}Gi'\n",
"\n",
"os.environ[\"AZDATA_USERNAME\"] = sql_username\n",
"os.environ[\"AZDATA_PASSWORD\"] = os.environ[\"AZDATA_NB_VAR_SQL_PASSWORD\"]\n",
"cmd = f'az sql mi-arc create --name {sql_instance_name} --k8s-namespace {arc_data_controller_namespace} --replicas {sql_replicas}{cores_request_option}{cores_limit_option}{memory_request_option}{memory_limit_option}{storage_class_data_option}{storage_class_logs_option} --use-k8s'\n",
"cmd = f'az sql mi-arc create --name {sql_instance_name} --k8s-namespace {arc_data_controller_namespace} --replicas {sql_replicas}{cores_request_option}{cores_limit_option}{memory_request_option}{memory_limit_option}{storage_class_data_option}{storage_class_datalogs_option}{storage_class_logs_option}{storage_class_backup_option}{volume_size_data}{volume_size_datalogs}{volume_size_logs}{volume_size_backups} --use-k8s'\n",
"out=run_command()"
],
"outputs": [],
@@ -134,4 +141,4 @@
}
}
]
}
}

View File

@@ -915,7 +915,7 @@
"pages": [
{
"title": "%arc.sql.wizard.page1.title%",
"labelWidth": "175px",
"labelWidth": "190px",
"inputWidth": "280px",
"sections": [
{
@@ -1016,6 +1016,31 @@
"type": "kube_storage_class",
"required": false
},
{
"label": "%arc.sql.volume.size.data.label%",
"description": "%arc.sql.volume.size.data.description%",
"variableName": "AZDATA_NB_VAR_SQL_VOLUME_SIZE_DATA",
"type": "number",
"defaultValue": "5",
"min": 1,
"required": true
},
{
"label": "%arc.storage-class.datalogs.label%",
"description": "%arc.sql.storage-class.datalogs.description%",
"variableName": "AZDATA_NB_VAR_SQL_STORAGE_CLASS_DATALOGS",
"type": "kube_storage_class",
"required": false
},
{
"label": "%arc.sql.volume.size.datalogs.label%",
"description": "%arc.sql.volume.size.datalogs.description%",
"variableName": "AZDATA_NB_VAR_SQL_VOLUME_SIZE_DATALOGS",
"type": "number",
"defaultValue": "5",
"min": 1,
"required": true
},
{
"label": "%arc.storage-class.logs.label%",
"description": "%arc.sql.storage-class.logs.description%",
@@ -1023,6 +1048,31 @@
"type": "kube_storage_class",
"required": false
},
{
"label": "%arc.sql.volume.size.logs.label%",
"description": "%arc.sql.volume.size.logs.description%",
"variableName": "AZDATA_NB_VAR_SQL_VOLUME_SIZE_LOGS",
"type": "number",
"defaultValue": "5",
"min": 1,
"required": true
},
{
"label": "%arc.storage-class.backups.label%",
"description": "%arc.sql.storage-class.backups.description%",
"variableName": "AZDATA_NB_VAR_SQL_STORAGE_CLASS_BACKUPS",
"type": "kube_storage_class",
"required": false
},
{
"label": "%arc.sql.volume.size.backups.label%",
"description": "%arc.sql.volume.size.backups.description%",
"variableName": "AZDATA_NB_VAR_SQL_VOLUME_SIZE_BACKUPS",
"type": "number",
"defaultValue": "5",
"min": 1,
"required": true
},
{
"label": "%arc.cores-request.label%",
"description": "%arc.sql.cores-request.description%",

View File

@@ -96,10 +96,21 @@
"arc.storage-class.data.label": "Storage Class (Data)",
"arc.sql.storage-class.data.description": "The storage class to be used for data (.mdf). If no value is specified, the default storage class will be used.",
"arc.postgres.storage-class.data.description": "The storage class to be used for data persistent volumes",
"arc.storage-class.datalogs.label": "Storage Class (Database logs)",
"arc.sql.storage-class.datalogs.description": "The storage class to be used for database logs (.ldf). If no value is specified, the default storage class will be used.",
"arc.storage-class.logs.label": "Storage Class (Logs)",
"arc.sql.storage-class.logs.description": "The storage class to be used for logs (/var/log). If no value is specified, the default storage class will be used.",
"arc.postgres.storage-class.logs.description": "The storage class to be used for logs persistent volumes",
"arc.storage-class.backups.label": "Storage Class (Backups)",
"arc.sql.storage-class.backups.description": "The storage class to be used for backup persistent volumes. If no value is specified, the default storage class will be used.",
"arc.sql.volume.size.data.label": "Volume Size in Gi (Data)",
"arc.sql.volume.size.data.description": "The size of the storage volume to be used for data in gibibytes.",
"arc.sql.volume.size.datalogs.label": "Volume Size in Gi (Database logs)",
"arc.sql.volume.size.datalogs.description": "The size of the storage volume to be used for database logs in gibibytes.",
"arc.sql.volume.size.logs.label": "Volume Size in Gi (Logs)",
"arc.sql.volume.size.logs.description": "The size of the storage volume to be used for logs in gibibytes.",
"arc.sql.volume.size.backups.label": "Volume Size in Gi (Backups)",
"arc.sql.volume.size.backups.description": "The size of the storage volume to be used for backups in gibibytes.",
"arc.cores-limit.label": "Cores Limit",
"arc.sql.cores-limit.description": "The cores limit of the managed instance as an integer.",
"arc.cores-request.label": "Cores Request",