Skip to content

Commit bed1937

Browse files
KimForssKimmo ForsshdamecharlaShayakSarkar
authored
3.8.3 Release (#454)
* naming update * Use the account ID * Add a try statement for ANF account name * Add a try statement for ANF pool name * Fix for empty arm_id * create empty dictionary * change uuid * Change networkFeatures * provide empty dictionary * Fix HANA log * fix creationToken * set unixPermissions * unixPermissions * removed unix * add try for capacityPoolResourceId * serviceLevel = "Premium" * set kerberos5xReadOnly to false * service_level * Add Zonal support * xompact the volumes * improve readability * AVG updates * Use the second ppg * zonality fixes for avg * If AVGs are used don't create standalone volumes * correct spec * AVG ppg logic * Updated the creationToken * Create the volumes * Add dependencies * Check the output * Use output * Use the AVG name * Support updating the AVG * location is not needed * User standard azurerm * remove azapi * simplify enumerator * remove azapi * added resource_group_name = * enumerator * change provider * HANA data data source * HANA shared output * Add secondary sapmnt * Incorrect function * make sapmnt multi value * Don't have sap_mnt as list * Don't look for HANA shared if it is provided by ANF * Default to no shared disk * HANA shared disk logic * hana_shared_mountpoint logic * missing if * Debug adding shared disk * Removed the hana shared disk from main dictionary * Add zones to AVG volumes * No zonal support * Use Ansible's magic variables for mounts * Don't show unneeded files from hosts * Corrected the task names * Web App semicolon fix * Don't constrain NFS info * Don't call AFS tasks for ANF usage * Add a try statement to handle upgrades from older versions * add the missing variables * Don't use SCS cluster name * Don't use the HA template for non HA deployments * Add an if statement to control the jinja template name * Don't link the VNEts if no private endpoints * Create bom folders as orchestration user * Add quotes for the web dispatcher instance number * Don't fail for local DNS * 3.8.1 release * Add support for SPN login for control plane * Set pipefail * Update the linter and skip the octal value rule * Linting updates * Linting fixes * remove whitespace * update sshkey playbook * Fix the pipefails * password jinja updates * set -o pipefail && * Don't lint chrony * Fix lint for chrony * Add the filter folder * Use the correct instance numbers * rename web_instance_number variable in sap-parameters.yml.tmpl to wd_instance_number. * push changes * fix web dispatcher variables * Add Logon using SPN code * Add SPN logon to removal pipeline * set 20GB swap for web dispatcher * disable selinux for web tier * Add support for marketplace images with plan * remove the set pipefail * swap the attributes in plan * swap plan components * Add RHEL 9 support for packages, repositories and services * Make python3 the default and only set python2 for SLES12 * Use the internal DNS when using private endpoints * Upgrade az cli * sudo upgrade * Removed the connection_String setting * Change to use MSI * Don't assign specific permission for web app * Provide DB SKU override * Add the SKU override in the Web App * Add the ability to not deploy the Microsoft.AzureCAT.AzureEnhancedMonitoring extension * Correct the variable name * Add RHEL 90 * Add Kernel parameters for RHEL 9 * removed the package libssh2 * removed libpng12 * removed oddjobd service * Add RHEL9 distro * 3119751 only mentions RHEL8 * update packages * Set NIC name for private endpoint for control plane * Upgrade Azure CLI & Terraform when re-running * Bump terrafom version * removed compat-sap-c++-* * Dont register Microsoft keys * USe CLI version 2.47 * Lock 0n 2.47 on Ubuntu 20.04 * Add llogging for CLI * Show what version got installed * Use grep to get the cli version * Simplify re-install * Ad more debug info on which agent is in use * SELinux for RHEL 9 * Allow rerun for manual deployer * Fix virtualenv on RHEL * RHEL deployer updates * Save the random ID value * missing $ * Corrected the output variable * use $$ in template * show YAML version * debug HANA on RHEL 9 * testing HANA install * debugging HANA installation * Add package chkconfig * only install chkconfig on hana * move flush handler * Use azurerm backend if reinstall * remove extra password parameter * test password setting for HANA installation * add password for * use the correct password copy * Only delete ini file if installation is successful * moved chkconfig to 9.0 dictionary * Add debugging * Improve re-install experience * reset firewall * storage account fire wall * export deployer_kv_user_arm_id * update variable name * Don't rerun the secrets setting * Remove Oracle repos * Add more images for RHEL * update BoM Validator * Added installation of devops extension in the main pipelines * Provide the ability to control zonal ANF * Add zonal validation for HANA log and shared * Update zonality for sapmnt * Add VMSS-Flex support * Don't create PPG if VMSS-Flex is used * Use the PPG ID and not the full object * typo * Fix AVG and scale set * Don't create AVG if VMSS-Flex is used * change resource name * Update the provider * 1.3 Repos: Add the HA repositories for RHEL * 1.3 Repos: Add the HA repositories for RHEL * app disk zonal logic * add support for RHEL 9 * Add RHEL 9 to clustering * Add documentation to output variables * Introduce resource lock variables * Control the secondary DNS registration * Control the output * DNS outputs * Add dependencies and a wait * Use the server counters * Add resource locks * don't save the randomizer value * set the connection string secret via terraform * update resource name * update secret name * shorten the names for the virtual hosts * remove duplicate * corrected local variable * Check for key vault existence * correct variable for vnet * Update the NIC name for the sapmnt private endpoint * Add scaleset and lock support to web app * Use both identities * simplify keyvault existence checks * Shorten the virtual hostname for anydb * The IP address are in different order in SLES and RHEL * Check the hosts code * debugging hosts * change play_hosts to ansible_play_hosts * update * debug hosts file * Remove the serialization * Add support for premium storage v2 * Fixed caching * Change endpoint name * Premium storage V2 * Identity assignment * HANA sizing * disable SELinux on RHEL9 * Add a dependency on blob DNS link * add check to verify If library deployment failed * Add the scope * Add the mandatory scope parameter * Fix typo in command * Add the scope to the extension code * pass the variables for exports when the PAS and SCS are on the same server. * Add the missing 's' * Add AVG to Web App * Add the correct packages * Install compat-libcap1 package manually * move the yum command * typo in package name * disable_gpg_check on the compat-libcap1 * Use builtin package handling * Add distro info to HANA cluster tasks * Add the permissions * It is not a directory but a file * removed duplicate package * Add the SBP fixes * Only do the ifup eth0 on RHEL * ASM updates * Misc updates * SYBASE and RHEL * Fix the profile name to sap-netweaver * Add the virtual host for observer * Experimental (#456) * Added error categorization changes. * PR for pushing commits in SDAF-ASCS prod-ansible-3.7.0 into sap-automation. * Added names to the block. * Fixed the spacing for variable expansion, * Fixed the rescue indentation. * Resolved merge conflicts for changes to the deploy/ansible/roles-db/4.0.0-hdb-install/tasks/main.yaml. * Resolving Hemanth's comments and Reviews. * Fixing linting issues. * Fixed linting issues. --------- Co-authored-by: shayaksarkar <shayaksarkar@microsoft.com>, hdamecharla <hdamecharla@microsoft.com> --------- Co-authored-by: Kimmo Forss <kimforss@microsoft.com> Co-authored-by: hdamecharla <hdamecharla@microsoft.com> Co-authored-by: ShayakSarkar <52969913+ShayakSarkar@users.noreply.github.com>
1 parent 333ce3c commit bed1937

100 files changed

Lines changed: 4358 additions & 496 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
-206 KB
Binary file not shown.
-144 KB
Binary file not shown.

Webapp/SDAF/Models/LandscapeModel.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ public bool IsValid()
3434
public string name_override_file { get; set; }
3535
public bool? save_naming_information { get; set; }
3636

37+
public bool? place_delete_lock_on_resources { get; set; } = false;
38+
3739
[RequiredIfNotDefault]
3840
[DisplayName("Network name")]
3941
[RegularExpression(@"^\w{0,7}$", ErrorMessage = "Logical network name cannot exceed seven characters")]

Webapp/SDAF/Models/SystemModel.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -444,6 +444,12 @@ public bool IsValid()
444444

445445
public bool? deploy_v1_monitoring_extension { get; set; } = true;
446446

447+
public bool? use_scalesets_for_deployment { get; set; } = false;
448+
449+
public bool? database_use_premium_v2_storage { get; set; } = false;
450+
451+
public bool? ANF_HANA_use_AVG { get; set; } = false;
452+
447453
[DisplayName("Web SID")]
448454
public string web_sid { get; set; }
449455

Webapp/SDAF/ParameterDetails/LandscapeDetails.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,15 @@
103103
"Overrules": "",
104104
"Display": 2
105105
},
106+
{
107+
"Name": "place_delete_lock_on_resources",
108+
"Required": false,
109+
"Description": " If defined, a delete lock will be placed on the key resources (virtual network and key vault)",
110+
"Type": "checkbox",
111+
"Options": [],
112+
"Overrules": "",
113+
"Display": 2
114+
},
106115
{
107116
"Name": "resourcegroup_name",
108117
"Required": false,

Webapp/SDAF/ParameterDetails/LandscapeTemplate.txt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,10 @@ $$peer_with_control_plane_vnet$$
7979
# Defines if access to the key vaults and storage accounts is restricted to the SAP and deployer VNets
8080
$$enable_firewall_for_keyvaults_and_storage$$
8181

82+
83+
# place_delete_lock_on_resources, If defined, a delete lock will be placed on the key resources
84+
$$place_delete_lock_on_resources$$
85+
8286
#########################################################################################
8387
# #
8488
# Admin Subnet variables #
@@ -286,11 +290,11 @@ $$storage_account_replication_type$$
286290
#########################################################################################
287291

288292
# The two resource group name and arm_id can be used to control the naming and the creation of the resource group
289-
# The resourcegroup_name value is optional, it can be used to override the name of the resource group that will be provisioned
290-
# The resourcegroup_name arm_id is optional, it can be used to provide an existing resource group for the deployment
291293

294+
# The resourcegroup_name value is optional, it can be used to override the name of the resource group that will be provisioned
292295
$$resourcegroup_name$$
293296

297+
# The resourcegroup_name arm_id is optional, it can be used to provide an existing resource group for the deployment
294298
$$resourcegroup_arm_id$$
295299

296300

Webapp/SDAF/ParameterDetails/SystemDetails.json

Lines changed: 58 additions & 31 deletions
Large diffs are not rendered by default.

Webapp/SDAF/ParameterDetails/SystemTemplate.txt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,11 @@ $$use_secondary_ips$$
6363
# subscription is the subscription in which the system will be deployed (informational only)
6464
$$subscription$$
6565

66+
# use_scalesets_for_deployment defines if Flexible Virtual Machine Scale Sets are used for the deployment
67+
$$use_scalesets_for_deployment$$
68+
69+
# database_use_premium_v2_storage defines if the database tier will use premium v2 storage
70+
$$database_use_premium_v2_storage$$
6671

6772
#########################################################################################
6873
# #
@@ -449,6 +454,10 @@ $$sapmnt_private_endpoint_id$$
449454

450455
# use_random_id_for_storageaccounts defines if the sapmnt storage account name will have a random suffix
451456
$$use_random_id_for_storageaccounts$$
457+
458+
# ANF_HANA_use_AVG defines if the ANF volume will be created in an Application Volume Group
459+
$$ANF_HANA_use_AVG$$
460+
452461
#########################################################################################
453462
# #
454463
# HANA Data #

deploy/ansible/filter_plugins/custom_filters.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,13 @@
2323
{'task_tag=zypper_registration'}),
2424
(r'(.*)Zypper run command failed with return code 7(.*)',
2525
'INSTALL:0019:Update OS Packages has failed for host since zypper was locked by another process.',
26-
{'task_tag=update_os_package'})
26+
{'task_tag=update_os_package'}),
27+
(r'([\s\d\w\D\W]*)Connect to message server([\s\w\d\W\D]*)Make sure that the message server is started([\s\w\d\W\D]*)',
28+
'INSTALL:0020:DB Load failure, unable to connect to message server.',
29+
{'task_tag=dbload', 'failure=messageserver_offline'}),
30+
(r'([\s\d\w\D\W]*)Make sure the database is online([\s\w\d\W\D]*)',
31+
'INSTALL:0021:DB Load failure, database is offline.',
32+
{'task_tag=dbload', 'failure=db_offline'})
2733
]
2834

2935
# Takes a dictionary and converts it into a set of
@@ -141,7 +147,7 @@ def filters(self):
141147
# }
142148
# ]
143149
# }
144-
# message = "non-zero return code"
150+
# message = "asdConnect to message server\n<>>Make sure that the message server is started*asd\n"
145151
# print(try_get_error_code_results(result, task_tag="update_os_packages", host_name="host"))
146-
# print(try_get_error_code(message, task_tag="zypper_registration"))
152+
# print(try_get_error_code(message,task_tag="dbload_messageserver"))
147153
# convert_kwargs_to_tags(None)

deploy/ansible/pb_get-sshkey.yaml

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,26 @@
2020
ansible.builtin.set_fact:
2121
secret_name: "{{ secret_prefix }}-sid-sshkey"
2222

23+
- name: Retrieve SSH Key secret details and rescue on failure
24+
block:
25+
- name: Retrieve SSH Key secret details
26+
ansible.builtin.command: >-
27+
az keyvault secret show
28+
--vault-name {{ kv_name }}
29+
--name {{ secret_name }}
30+
--query value
31+
--output tsv
32+
changed_when: false
33+
register: keyvault_secret_show
34+
no_log: true
35+
rescue:
36+
- name: Rescue Log the error message to be transformed
37+
ansible.builtin.debug:
38+
msg: "Error message to transform: {{ keyvault_secret_show.stderr }}"
2339

24-
- name: Retrieve SSH Key secret details
25-
ansible.builtin.command: >-
26-
az keyvault secret show
27-
--vault-name {{ kv_name }}
28-
--name {{ secret_name }}
29-
--query value
30-
--output tsv
31-
changed_when: false
32-
register: keyvault_secret_show
33-
no_log: true
40+
- name: Rescue Retrieve SSH Key secret details
41+
ansible.builtin.fail:
42+
msg: "{{ keyvault_secret_show.stderr | try_get_error_code }}"
3443

3544
- name: Extract SSH Key content from secret details
3645
ansible.builtin.set_fact:

0 commit comments

Comments
 (0)