Git Product home page Git Product logo

terraform.templates_for_sap's People

Contributors

sean-freeman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

terraform.templates_for_sap's Issues

bug: IAM default for SAP Basis Admins

IAM default access group provisions for SAP Basis Admins:

  • IBM Cloud ⚠️ [WIP]
  • AWS ❌
  • Microsoft Azure ❌

Significant work, requires new Terraform Modules for SAP.

SAP SWPM failure during connection to SAP HANA

This error was seen during SAP S/4HANA OneHost install with SAP Maintenance Planner.

I used the following Terraform variables:

ibmcloud_api_key                  = "myapikey"

resource_tags                     = "mytag2"

resource_prefix                   = "myprefix1"

ibmcloud_resource_group           = "new"

ibmcloud_region                   = "us-east"

ibmcloud_iam_yesno                = "yes"

ibmcloud_vpc_subnet_name          = "new"

dns_root_domain                   = "mydomainlocal.com"

bastion_os_image                  = "rhel-8-4"

bastion_user                      = "myuser1"

bastion_ssh_port                  = "65500"

host_specification_plan           = "small_256gb"

host_os_image                     = "rhel-8-4-sap-hana"

disk_volume_capacity_software     = "200"

disk_volume_type_software         = "10iops-tier"

sap_software_download_directory   = "mysoftware"

sap_id_user                       = "Sxxxxxxxxxx"

sap_id_user_password              = "mysapidpw"

sap_hana_install_master_password  = "abcd@Abcde123"

sap_hana_install_sid              = "SA1"

sap_hana_install_instance_number  = "00"

sap_s4hana_install_sid            = "S4D"

sap_swpm_template_selected        = "sap_s4hana_2020_onehost_install"

sap_nwas_pas_instance_no          = "01"

sap_maintenance_planner_transaction_name = "MP_S4H_20xxxxxx_xxxxxx"

==========================================================================================

Below is the error:

│ INFO       2022-06-09 16:14:45.279 (root/sapinst) (startInstallation) [syuxcfile.cpp:216] id=syslib.filesystem.removedFile CSyFileImpl::removeEx(ISyFSErrorHandler *
│ pErrorHandler)
│ Removed file /tmp/sapinst_instdir/S4HANA2020/CORE/HDB/INSTALL/STD/ABAP/HdbStdout.txt."
│ 
│ ERROR      2022-06-09 16:14:45.355 (root/sapinst)
│ (startInstallation) [iaxxbjsmod.cpp:83] id=modlib.jslib.caughtException errno=MUT-03025"
│ Caught ESAPinstException in module call: Validator of step
│ '|NW_ABAP_OneHost|ind|ind|ind|ind|0|0|NW_Onehost_System|ind|ind|ind|ind|onehost|0|NW_GetSidNoProfiles|ind|ind|ind|ind|getSid|0|NW_getDBInfo|ind|ind|ind|ind|db|0|NW_HDB_getDBInfo|ind|ind|ind|ind|hdb_dbinfo|0|getDBInfo'
│ reported an error:"
│ The database connection with database user SYSTEM cannot be set up. Check that the database is online and the password of user SYSTEM is correct.",
│ "Start SAPinst in interactive mode to solve this problem."
│ 
│ ERROR      2022-06-09 16:14:45.430 (root/sapinst) (startInstallation) [CSiStepExecute.cpp:1104]
│ id=controller.stepExecuted errno=FCO-00011 CSiStepExecute::execute()
│ The step getDBInfo with step key
│ |NW_ABAP_OneHost|ind|ind|ind|ind|0|0|NW_Onehost_System|ind|ind|ind|ind|onehost|0|NW_GetSidNoProfiles|ind|ind|ind|ind|getSid|0|NW_getDBInfo|ind|ind|ind|ind|db|0|NW_HDB_getDBInfo|ind|ind|ind|ind|hdb_dbinfo|0|getDBInfo
│ was executed with status ERROR (Last error reported by the step: Caught ESAPinstException in module call: Validator of step
│ '|NW_ABAP_OneHost|ind|ind|ind|ind|0|0|NW_Onehost_System|ind|ind|ind|ind|onehost|0|NW_GetSidNoProfiles|ind|ind|ind|ind|getSid|0|NW_getDBInfo|ind|ind|ind|ind|db|0|NW_HDB_getDBInfo|ind|ind|ind|ind|hdb_dbinfo|0|getDBInfo'
│ reported an error:
│ 
│ The database connection with database user SYSTEM cannot be set up. Check that the database is online and the password of user SYSTEM is correct.
│ "Start SAPinst in interactive mode to solve this problem)."
│ 
│ INFO       2022-06-09 16:14:45.561 (root/sapinst) (startInstallation) [syuxcpath.cpp:441]
│ id=syslib.filesystem.creatingFile CSyPath::createFile()
│ Creating file /tmp/sapinst_instdir/S4HANA2020/CORE/HDB/INSTALL/STD/ABAP/INSTANA.XML.
│ 
│ INFO       2022-06-09
│ 16:14:45.631 (root/sapinst) (startInstallation) [syuxcpath.cpp:441] id=syslib.filesystem.creatingFile CSyPath::createFile()
│ Creating file
│ /tmp/sapinst_instdir/S4HANA2020/CORE/HDB/INSTALL/STD/ABAP/instslana.xml.
│ 
│ 
│ a /tmp/sapinst_exe.221200.1654791257/dev_selfex.out
│ a /tmp/sapinst_instdir/S4HANA2020/CORE/HDB/INSTALL/STD/ABAP/FormalPasswordCheck.1.log
│ a /tmp/sapinst_instdir/S4HANA2020/CORE/HDB/INSTALL/STD/ABAP/FormalPasswordCheck.log
│ a /tmp/sapinst_instdir/S4HANA2020/CORE/HDB/INSTALL/STD/ABAP/HdbCmdOut.log
│ a /tmp/sapinst_instdir/S4HANA2020/CORE/HDB/INSTALL/STD/ABAP/LogAnalyzer.html
│ a /tmp/sapinst_instdir/S4HANA2020/CORE/HDB/INSTALL/STD/ABAP/SECINSTTOOLS.log
│ a /tmp/sapinst_instdir/S4HANA2020/CORE/HDB/INSTALL/STD/ABAP/control.xml
│ a /tmp/sapinst_instdir/S4HANA2020/CORE/HDB/INSTALL/STD/ABAP/controllerKdbClient.dmp
│ a /tmp/sapinst_instdir/S4HANA2020/CORE/HDB/INSTALL/STD/ABAP/instana.xsl
│ a /tmp/sapinst_instdir/S4HANA2020/CORE/HDB/INSTALL/STD/ABAP/java.1.log
│ a /tmp/sapinst_instdir/S4HANA2020/CORE/HDB/INSTALL/STD/ABAP/java.log
│ a /tmp/sapinst_instdir/S4HANA2020/CORE/HDB/INSTALL/STD/ABAP/keydb.xml
│ a /tmp/sapinst_instdir/S4HANA2020/CORE/HDB/INSTALL/STD/ABAP/sapinst.log
│ a /tmp/sapinst_instdir/S4HANA2020/CORE/HDB/INSTALL/STD/ABAP/sapinst_dev.log
│ a /tmp/sapinst_instdir/S4HANA2020/CORE/HDB/INSTALL/STD/ABAP/sapinst_loginquirer.log
│ a /tmp/sapinst_instdir/S4HANA2020/CORE/HDB/INSTALL/STD/ABAP/start_dir.cd
│ a /tmp/sapinst_instdir/S4HANA2020/CORE/HDB/INSTALL/STD/ABAP/stepKeydbClient.dmp
│ a /tmp/sapinst_instdir/S4HANA2020/CORE/HDB/INSTALL/STD/ABAP/syslib_priv.log
│ 
│ INFO       2022-06-09 16:14:47.651 (root/sapinst) (startInstallation) [syuxcdir.cpp:147]
│ id=syslib.filesystem.removedDirectory CSyDirectoryImpl::sap_remove(ISyFSErrorHandler * pErrorHandler)
│ Removed directory /root/.sapinst/s4h01/221271.
│ 
│
│ RUNNING HANDLER [community.sap_install.sap_general_preconfigure : Reboot the managed node] ***
│
│ RUNNING HANDLER [community.sap_install.sap_general_preconfigure : Let the role fail if a reboot is required] ***
│
│ RUNNING HANDLER [community.sap_install.sap_general_preconfigure : Show a warning message if a reboot is required] ***
│
│ RUNNING HANDLER [community.sap_install.sap_general_preconfigure : Remount /dev/shm] ***
│
│ RUNNING HANDLER [community.sap_install.sap_general_preconfigure : Check if /dev/shm is available] ***
│
│ RUNNING HANDLER [community.sap_install.sap_general_preconfigure : Show the result of df -h /dev/shm] ***
│
│ RUNNING HANDLER [community.sap_install.sap_hana_preconfigure : Run grubby for enabling TSX] ***
│
│ RUNNING HANDLER [community.sap_install.sap_hana_preconfigure : Reboot the managed node] ***
│
│ RUNNING HANDLER [community.sap_install.sap_hana_preconfigure : Let the role fail if a reboot is required] ***
│
│ RUNNING HANDLER [community.sap_install.sap_hana_preconfigure : Show a warning message if a reboot is required] ***
│
│ PLAY RECAP *********************************************************************
│ 10.241.0.4                 : ok=329  changed=90   unreachable=0    failed=1    skipped=183  rescued=0
│ ignored=5
│

=========================================================================================
Maintainer: do not raise issues within an issue. Ignoring these for reasons below I have few other observations that needs a closer look at though it is not related to my present issue that I am reporting as these limitations cause restrictions.

  1. In IBM Cloud unless I mention new resource group, new subnet somehow script is failing. Maintainer: no data provided, cannot debug
  2. Restrictions applied on S/4HANA Host and Bastion with Public Key what if a customer want to have their own methods to use public keys for such stuff where they have control. Maintainer: Terraform Templates are free to amend, for click-run a design principle is to always leverage a created Bastion even when re-using an existing network, to ensure security and reduce unpredictable results
  3. Is there a process developed around this script that can help address not to destroy everything but what you really want. The split and use like step 1 Bastion, step 2 SAP Host and then how they work together once 2 resources are created. If I need to destroy, I can destroy either SAP or Bastion based on what I need to. Maintainer: please see existing Terraform documentation and blogs on Google, this can be achieved in two ways primarily (1) comment/remove from Terraform Template and terraform apply which will remove those resources or (2) use -target combined with terraform destroy see doc https://learn.hashicorp.com/tutorials/terraform/resource-targeting.

docs: os image list breakdown

os image list breakdown:

  • re-check for consistency of OS naming in Terraform object
  • create matrix of OS versions available and the defined Terraform object name

bug: Bastion SSH configuration override

If:

  • Bastion SSH Port requested as 22, override so lock-out of port connectivity does not occur
  • Bastion user requested as root, override so lock-out of connecting with root user does not occur

Also, print warning message if port 22 and root user during shell script execution if these are defined in the Terraform Input Variables

bug: Resource tags

Resource tags are prompted for IBM Cloud but are not completed, and are not promoted at all for AWS or Azure

testing: re-run manual tests with new Ansible Collection release tags

Ansible Collections have incurred significant code upgrades in past 8 weeks, therefore must re-run manual tests and subsequently lock to the Ansible Collection release tags (instead of main branch) to ensure stability of Terraform end-to-end deployments.

As representative of the other Terraform Tempates, tests will use:

SAP S/4HANA single-node installation, using SAP Maintenance Planner

  • AWS EC2
  • IBM Cloud, Intel VS
  • IBM Cloud, Power VS
  • Microsoft Azure VM
  • IBM PowerVM LPAR

Not applicable at this time:

  • GCP VM
  • OVirt VM
  • VMware vSphere VM

feat: NFS

Require shared NFS mount points to achieve Future SAP solution scenarios proposed by SAP Customers:

  • SAP HANA multi-node HA/DR installation
  • SAP HANA multi-node scale-out cluster installation
  • SAP S/4HANA distributed installation

This will be significantly different for each Infrastructure Platform; for development purposes it wil be easier to achieve all 3 on one infrastructure platform initially, with hypervisors being last (due to so much variance)

bug: Azure availability zone logic

Azure availability zone logic is held at the Terraform Template level, however it is not fully propagated to the underlying Terraform Modules. Currently this is not fully completed.

Add codespell?

@sean-freeman Hello 0/

What do you think about adding codespell workflow to this repo? If it's needed, please suggest whether to main or dev.

Thank you

$ codespell --count
./README.md:7: siginificant ==> significant
./README.md:7: bootstraping ==> bootstrapping
./README.md:13: re-use ==> reuse
./README.md:14: CAF ==> CALF
./README.md:30: dependant ==> dependent
./README.md:96: re-use ==> reuse
./README.md:97: re-use ==> reuse
./README.md:98: re-use ==> reuse
./all/ansible_sap_bw4hana_install/exec_ansible_dry_run.tf:22: Equivilant ==> Equivalent
./all/ansible_sap_bw4hana_install/exec_ansible_playbook.tf:3: Terrform ==> Terraform
./all/ansible_sap_bw4hana_install/exec_ansible_playbook.tf:47: Equivilant ==> Equivalent
./all/ansible_sap_ecc_hana_install/exec_ansible_dry_run.tf:22: Equivilant ==> Equivalent
./all/ansible_sap_ecc_hana_install/exec_ansible_playbook.tf:3: Terrform ==> Terraform
./all/ansible_sap_ecc_hana_install/exec_ansible_playbook.tf:47: Equivilant ==> Equivalent
./all/ansible_sap_ecc_hana_system_copy_hdb/exec_ansible_dry_run.tf:22: Equivilant ==> Equivalent
./all/ansible_sap_ecc_hana_system_copy_hdb/exec_ansible_playbook.tf:3: Terrform ==> Terraform
./all/ansible_sap_ecc_hana_system_copy_hdb/exec_ansible_playbook.tf:47: Equivilant ==> Equivalent
./all/ansible_sap_ecc_ibmdb2_install/exec_ansible_dry_run.tf:22: Equivilant ==> Equivalent
./all/ansible_sap_ecc_ibmdb2_install/exec_ansible_playbook.tf:3: Terrform ==> Terraform
./all/ansible_sap_ecc_ibmdb2_install/exec_ansible_playbook.tf:47: Equivilant ==> Equivalent
./all/ansible_sap_ecc_oracledb_install/exec_ansible_dry_run.tf:22: Equivilant ==> Equivalent
./all/ansible_sap_ecc_oracledb_install/exec_ansible_playbook.tf:3: Terrform ==> Terraform
./all/ansible_sap_ecc_oracledb_install/exec_ansible_playbook.tf:47: Equivilant ==> Equivalent
./all/ansible_sap_ecc_sapase_install/exec_ansible_dry_run.tf:22: Equivilant ==> Equivalent
./all/ansible_sap_ecc_sapase_install/exec_ansible_playbook.tf:3: Terrform ==> Terraform
./all/ansible_sap_ecc_sapase_install/exec_ansible_playbook.tf:47: Equivilant ==> Equivalent
./all/ansible_sap_ecc_sapmaxdb_install/exec_ansible_dry_run.tf:22: Equivilant ==> Equivalent
./all/ansible_sap_ecc_sapmaxdb_install/exec_ansible_playbook.tf:3: Terrform ==> Terraform
./all/ansible_sap_ecc_sapmaxdb_install/exec_ansible_playbook.tf:47: Equivilant ==> Equivalent
./all/ansible_sap_hana_install/exec_ansible_dry_run.tf:22: Equivilant ==> Equivalent
./all/ansible_sap_hana_install/exec_ansible_playbook.tf:3: Terrform ==> Terraform
./all/ansible_sap_hana_install/exec_ansible_playbook.tf:47: Equivilant ==> Equivalent
./all/ansible_sap_nwas_abap_hana_install/exec_ansible_dry_run.tf:22: Equivilant ==> Equivalent
./all/ansible_sap_nwas_abap_hana_install/exec_ansible_playbook.tf:3: Terrform ==> Terraform
./all/ansible_sap_nwas_abap_hana_install/exec_ansible_playbook.tf:47: Equivilant ==> Equivalent
./all/ansible_sap_nwas_abap_ibmdb2_install/exec_ansible_dry_run.tf:22: Equivilant ==> Equivalent
./all/ansible_sap_nwas_abap_ibmdb2_install/exec_ansible_playbook.tf:3: Terrform ==> Terraform
<...>
130

bug: AWS availability zone logic

AWS availability zone logic must be held at the Terraform Template level, same as all other Terraform Templates. Currently this is not fully completed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.