Skip to content

Commit cb19b88

Browse files
author
Kimmo Forss
committed
updates
1 parent 140955d commit cb19b88

File tree

2 files changed

+60
-58
lines changed

2 files changed

+60
-58
lines changed

articles/virtual-machines/workloads/sap/automation-configure-workload-zone.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -138,12 +138,12 @@ automation_username = "azureadm"
138138
The table below defines the parameters used for defining the Key Vault information.
139139

140140
> [!div class="mx-tdCol2BreakAll "]
141-
> | Variable | Description | Type | Notes |
142-
> | ------------------------------------------------ | ------------------------------------------------------------------------------ | ------------ | ----------------------------------- |
143-
> | `user_keyvault_id` | Azure resource identifier for existing system credentials key vault | Optional | |
144-
> | `spn_keyvault_id` | Azure resource identifier for existing deployment credentials (SPNs) key vault | Optional | |
145-
> | `enable_purge_control_for_keyvaults | Disables the purge protection for Azure key vaults. | Optional | Only use this for test environments |
146-
> | `additional_users_to_add_to_keyvault_policies` | A list of user object IDs to add to the deployment KeyVault access policies | Optional | |
141+
> | Variable | Description | Type | Notes |
142+
> | ---------------------------------------------- | ------------------------------------------------------------------------------ | ------------ | ----------------------------------- |
143+
> | `user_keyvault_id` | Azure resource identifier for existing system credentials key vault | Optional | |
144+
> | `spn_keyvault_id` | Azure resource identifier for existing deployment credentials (SPNs) key vault | Optional | |
145+
> | `enable_purge_control_for_keyvaults | Disables the purge protection for Azure key vaults. | Optional | Only use this for test environments |
146+
> | `additional_users_to_add_to_keyvault_policies` | A list of user object IDs to add to the deployment KeyVault access policies | Optional | |
147147
148148

149149
## Private DNS

articles/virtual-machines/workloads/sap/automation-tutorial.md

Lines changed: 54 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ ms.service: virtual-machines-sap
1313

1414
# Enterprise Scale for SAP deployment automation framework - Hands-on Lab
1515

16-
This tutorial shows how to do enterprise scaling for deployments using the [SAP deployment automation framework on Azure](automation-deployment-framework.md). This example uses Azure Cloud Shell to deploy the control plane infrastructure. The deployer virtual machine (VM) creates the remaining infrastructure and SAP HANA configurations.
16+
This tutorial shows how to do enterprise scaling for deployments using the [SAP deployment automation framework on Azure](automation-deployment-framework.md). This example uses Azure Cloud Shell to deploy the control plane infrastructure. The deployer virtual machine (VM) creates the remaining infrastructure and SAP HANA configurations.
1717

1818
You'll perform the following tasks during this lab:
1919

@@ -119,7 +119,7 @@ A valid SAP user account (SAP-User or S-User account) with software download pri
119119
az login
120120
```
121121
122-
> [!NOTE]
122+
> [!NOTE]
123123
> Authenticate your login. Don't close the window until you're prompted.
124124
125125
@@ -136,7 +136,7 @@ A valid SAP user account (SAP-User or S-User account) with software download pri
136136
```
137137
138138
1. If necessary, change your active subscription.
139-
139+
140140
```cloudshell-interactive
141141
az account set --subscription <Subscription ID>
142142
```
@@ -150,7 +150,7 @@ A valid SAP user account (SAP-User or S-User account) with software download pri
150150
1. Optionally remove all the deployment artifacts. Use when you want to remove all remnants of previous deployment artifacts.
151151
152152
```cloudshell-interactive
153-
153+
154154
cd ~
155155
156156
rm -rf Azure_SAP_Automated_Deployment .sap_deployment_automation .terraform.d
@@ -183,7 +183,7 @@ A valid SAP user account (SAP-User or S-User account) with software download pri
183183
184184
The SAP automation deployment framework uses service principals for deployment. Create a service principal for your control plane deployment as follows. Make sure to use an account with permissions to create service principals.
185185
186-
> [!NOTE]
186+
> [!NOTE]
187187
> When choosing the name for your service principal, ensure that the name is unique within your Azure tenant.
188188
189189
@@ -220,7 +220,7 @@ The SAP automation deployment framework uses service principals for deployment.
220220
| `spn_secret` | `password` |
221221
| `tenant_id` | `tenant` |
222222
223-
3. Assign the **User Access Administrator** role to the service principal.
223+
3. Optionally assign the **User Access Administrator** role to the service principal.
224224
225225
```cloudshell-interactive
226226
export appId="<appId>"
@@ -230,6 +230,8 @@ The SAP automation deployment framework uses service principals for deployment.
230230
--scope /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}
231231
```
232232
233+
> [!NOTE]
234+
> If you do not assign the User Access Adminstrator role to the Service Principal you will not be able to assign permissions using the automation.
233235
234236
## View configuration files
235237
@@ -244,13 +246,13 @@ The SAP automation deployment framework uses service principals for deployment.
244246
cp -Rp ./sap-automation/training-materials/WORKSPACES .
245247
```
246248
247-
2. Open VS Code from Cloud Shell
249+
2. Open VS Code from Cloud Shell
248250
249251
```cloudshell-interactive
250252
code .
251253
```
252254
253-
> [!NOTE]
255+
> [!NOTE]
254256
> Does not work in the Safari browser.
255257
256258
@@ -294,7 +296,7 @@ The SAP automation deployment framework uses service principals for deployment.
294296
## Deploy control plane
295297
296298
Use the [prepare_region](bash/automation-prepare-region.md) script to deploy the Deployer and Library. These deployment pieces make up the
297-
control plane for a chosen automation area.
299+
control plane for a chosen automation area.
298300
299301
- The deployment goes through cycles of deploying the infrastructure, refreshing the state, and uploading the Terraform state files to the Library storage account. All of these steps are packaged into a single deployment script. The script needs the location of the configuration file for the Deployer and Library, and some other parameters as follows.
300302
@@ -349,31 +351,31 @@ The sample SAP Library configuration file `MGMT-NOEU-SAP_LIBRARY.tfvars` is in t
349351
```
350352
351353
352-
1. Go to the [Azure portal](https://portal.azure.com).
354+
1. Go to the [Azure portal](https://portal.azure.com).
353355
354356
Select **Resource groups**. Look for new resource groups for the deployer infrastructure and library. For example, `MGMT-[region]-DEP00-INFRASTRUCTURE` and `MGMT-[region]-SAP_LIBRARY`.
355357
356358
The contents of the Deployer and SAP Library resource group are shown below.
357359
358360
:::image type="content" source="media/automation-tutorial/deployer-resource-group.png" alt-text="Deployer resources":::
359-
361+
360362
:::image type="content" source="media/automation-tutorial/sap-library-resource-group.png" alt-text="Library resources":::
361363
362364
The Terraform state file is now placed in the storage account whose name contains 'tfstate'. The storage account has a container named 'tfstate' with the deployer and library state files. The contents of the 'tfstate' container after a successful control plane deployment can be seen below.
363-
365+
364366
:::image type="content" source="media/automation-tutorial/terraform-state-files.png" alt-text="Control plane tfstate files":::
365367
366368
### Common issues and solutions
367369
368370
- If you get the following error for the deployer module creation, make sure that you're in the **WORKSPACES** directory when you run the script:
369-
371+
370372
```text
371373
Incorrect parameter file.
372374
The file must contain the environment attribute!!
373375
```
374376
375377
- The following error is transient. Rerun the same command, `prepare_region.sh`.
376-
378+
377379
```text
378380
Error: file provisioner error
379381
..
@@ -408,15 +410,15 @@ Make sure you can connect to your deployer VM:
408410
409411
1. On the secret's page, select the current version. Then, copy the **Secret value**.
410412
411-
1. Open a plain text editor. Copy in the secret value.
412-
413-
1. Save the file where you keep SSH keys. For example, `C:\\Users\\<your-username>\\.ssh`.
414-
413+
1. Open a plain text editor. Copy in the secret value.
414+
415+
1. Save the file where you keep SSH keys. For example, `C:\\Users\\<your-username>\\.ssh`.
416+
415417
1. Save the file. If you're prompted to **Save as type**, select **All files** if **SSH** isn't an option. For example, use `deployer.ssh`.
416418
417419
1. Connect to the deployer VM through any SSH client such as VSCode. Use the public IP address you noted earlier, and the SSH key you downloaded. For instructions on how to connect to the Deployer using VSCode see [Connecting to Deployer using VSCode](automation-tools-configuration.md#configuring-visual-studio-code). If you're using PuTTY, convert the SSH key file first using PuTTYGen.
418420
419-
> [!NOTE]
421+
> [!NOTE]
420422
>The default username is *azureadm*
421423
422424
- Once connected to the deployer VM, you can now download the SAP software using the Bill of Materials (BOM).
@@ -437,7 +439,7 @@ Connect to the deployer by following these steps:
437439
438440
1. The default username is *azureadm*
439441
440-
1. Choose *SSH Private Key from Azure Key Vault*
442+
1. Choose *SSH Private Key from Azure Key Vault*
441443
442444
1. Select the subscription containing the control plane.
443445
@@ -470,7 +472,7 @@ The script will install Terraform and Ansible and configure the deployer.
470472

471473
The Automation Framework gives you tools to download software from SAP using the SAP Bill Of Materials (BOM). The software will be downloaded to the SAP library, which acts as the archive for all media required to deploy SAP.
472474

473-
The SAP Bill of Materials (BOM) mimics the SAP maintenance planner. There are relevant product identifiers and a set of download URLs.
475+
The SAP Bill of Materials (BOM) mimics the SAP maintenance planner. There are relevant product identifiers and a set of download URLs.
474476

475477
A sample extract of a BOM file looks like:
476478

@@ -536,7 +538,7 @@ For this example configuration, the resource group is `MGMT-NOEU-DEP00-INFRASTRU
536538
```
537539

538540
1. Check the version number of the S/4 1909 SPS03 BOM for the active version.
539-
541+
540542
Record the results.
541543

542544
```bash
@@ -554,56 +556,56 @@ For this example configuration, the resource group is `MGMT-NOEU-DEP00-INFRASTRU
554556
555557
vi sap-parameters.yaml
556558
```
557-
559+
558560
1. Update the `bom_base_name` with the name BOM previously identified.
559-
561+
560562
Your file should look similar to the following example configuration:
561563

562564
```yaml
563565
564566
bom_base_name: S41909SPS03_v0010ms
565567
566568
```
567-
569+
568570
1. Replace `<Deployer KeyVault Name>` with the name of the deployer resource group Azure key vault
569-
571+
570572
Your file should look similar to the following example configuration:
571573

572574
```yaml
573575
574576
bom_base_name: S41909SPS03_v0010ms
575-
kv_name: <Deployer KeyVault Name>
577+
kv_name: <Deployer KeyVault Name>
576578
577579
```
578-
580+
579581
1. Ensure `check_storage_account` is present and set to `false`. This value controls if the SAP Library will be checked for the file before downloading it from SAP.
580-
582+
581583
Your file should look similar to the following example configuration:
582584

583585
```yaml
584586
585587
bom_base_name: S41909SPS03_v0010
586-
kv_name: <Deployer KeyVault Name>
588+
kv_name: <Deployer KeyVault Name>
587589
check_storage_account: false
588590
589591
```
590-
592+
591593
1. Execute the Ansible playbooks. One way you can execute the playbooks is to use the Downloader menu. Run the download_menu script.
592-
594+
593595
```bash
594596
~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/download_menu.sh
595597
```
596-
598+
597599
1. Select which playbooks to execute.
598-
600+
599601
```bash
600602
1) BoM Downloader
601603
3) Quit
602604
Please select playbook:
603605
```
604606

605607
Select the playbook `1) BOM Downloader` to download the SAP Software described in the BOM file into the storage account. Check that the `sapbits` container has all your media for installation.
606-
608+
607609
## Collect workload zone information
608610

609611
1. Collect the following information in a text editor:
@@ -655,8 +657,8 @@ For this example configuration, the resource group is `MGMT-NOEU-DEP00-INFRASTRU
655657

656658
1. Connect to your deployer VM for the following steps. A copy of the repo is now there.
657659

658-
1. Go to the **sap-automation** folder and optionally refresh the repository.
659-
660+
1. Go to the **sap-automation** folder and optionally refresh the repository.
661+
660662
```bash
661663
cd ~/Azure_SAP_Automated_Deployment/sap-automation/
662664
@@ -675,10 +677,10 @@ For this example configuration, the resource group is `MGMT-NOEU-DEP00-INFRASTRU
675677
## Deploy the Workload Zone
676678

677679

678-
Use the [install_workloadzone](bash/automation-install_workloadzone.md) script to deploy the SAP workload zone.
680+
Use the [install_workloadzone](bash/automation-install_workloadzone.md) script to deploy the SAP workload zone.
679681

680682
1. On the deployer VM, navigate to the `Azure_SAP_Automated_Deployment` folder.
681-
683+
682684
```bash
683685
cd ~/Azure_SAP_Automated_Deployment/WORKSPACES/LANDSCAPE/DEV-XXXX-SAP01-INFRASTRUCTURE
684686
```
@@ -688,7 +690,7 @@ Use the [install_workloadzone](bash/automation-install_workloadzone.md) script t
688690
```bash
689691
cd ~/Azure_SAP_Automated_Deployment/WORKSPACES/LANDSCAPE/DEV-NOEU-SAP01-INFRASTRUCTURE
690692
```
691-
693+
692694
1. **Optionally** Open the workload zone configuration file and if needed change the network logical name to match the network name.
693695

694696
1. Start deployment of the workload zone:
@@ -739,7 +741,7 @@ Use the [install_workloadzone](bash/automation-install_workloadzone.md) script t
739741
## Deploy SAP system infrastructure
740742

741743
Once the Workload zone is complete, you can deploy the SAP system infrastructure resources. The SAP system creates your VMs and supporting components for your SAP application.
742-
Use the [installer.sh](bash/automation-installer.md) script to deploy the SAP system.
744+
Use the [installer.sh](bash/automation-installer.md) script to deploy the SAP system.
743745

744746
The SAP system deploys:
745747

@@ -762,7 +764,7 @@ The SAP system deploys:
762764
--type sap_system \
763765
--auto-approve
764766
```
765-
767+
766768
The deployment command for the `northeurope` example will look like:
767769

768770
```bash
@@ -778,7 +780,7 @@ The SAP system deploys:
778780

779781
## SAP application installation
780782

781-
The SAP application installation happens through Ansible playbooks.
783+
The SAP application installation happens through Ansible playbooks.
782784

783785
Navigate to the system deployment folder:
784786

@@ -788,10 +790,10 @@ cd ~/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/DEV-NOEU-SAP01-X00/
788790

789791
Make sure you have the following files in the current folder: `sap-parameters.yaml` and `SID_host.yaml`.
790792

791-
For a standalone SAP S/4HANA system, there are eight playbooks to execute in sequence. One way you can execute the playbooks is to use the Configuration menu.
793+
For a standalone SAP S/4HANA system, there are eight playbooks to execute in sequence. One way you can execute the playbooks is to use the Configuration menu.
792794

793795
Run the configuration_menu script.
794-
796+
795797
```bash
796798
~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/configuration_menu.sh
797799
```
@@ -809,14 +811,14 @@ This playbook does the SAP OS configuration setup on all the machines. The steps
809811

810812
### Playbook: BOM Processing
811813

812-
This playbook downloads the SAP software to the SCS virtual machine.
813-
814+
This playbook downloads the SAP software to the SCS virtual machine.
815+
814816
### Playbook: HANA DB Install
815817

816818
This playbook will install the HANA database instances.
817819

818820
### Playbook: SCS Install
819-
821+
820822
This playbook will install SAP Central Services. For highly available configurations, the playbook will also install the SAP ERS instance and configure Pacemaker.
821823

822824
### Playbook: DB Load
@@ -826,7 +828,7 @@ This playbook will invoke the database load task from the primary application se
826828
### Playbook: PAS Install
827829

828830
This playbook will install the primary application server.
829-
831+
830832
### Playbook: APP Install
831833

832834
This playbook will install the application servers.
@@ -856,7 +858,7 @@ Before you begin, sign in your Azure account. Then, check that you're in the cor
856858
### Remove SAP infrastructure
857859

858860
Navigate to the `DEV-NOEU-SAP01-X00` subfolder inside the `SYSTEM` folder. Then, run this command:
859-
861+
860862
```bash
861863
export sap_env_code="DEV"
862864
export region_code="NOEU"
@@ -889,7 +891,7 @@ ${DEPLOYMENT_REPO_PATH}/deploy/scripts/remover.sh
889891
Sign in to [Cloud Shell](https://shell.azure.com).
890892

891893
Go to the `WORKSPACES` folder.
892-
894+
893895
```bash
894896
cd ~/Azure_SAP_Automated_Deployment/WORKSPACES/
895897
```
@@ -908,7 +910,7 @@ export region_code="NOEU"
908910
909911
${DEPLOYMENT_REPO_PATH}/deploy/scripts/remove_region.sh \
910912
--deployer_parameter_file DEPLOYER/MGMT-${region_code}-DEP00-INFRASTRUCTURE/MGMT-${region_code}-DEP00-INFRASTRUCTURE.tfvars \
911-
--library_parameter_file LIBRARY/MGMT-${region_code}-SAP_LIBRARY/MGMT-${region_code}-SAP_LIBRARY.tfvars
913+
--library_parameter_file LIBRARY/MGMT-${region_code}-SAP_LIBRARY/MGMT-${region_code}-SAP_LIBRARY.tfvars
912914
```
913915

914916
Verify that all resources are cleaned up.

0 commit comments

Comments
 (0)