Setting up BMC Deployment Engine on a server with internet access
The steps to set up BMC Deployment Engine are shown in the following figure:
Before you begin
Ensure that your environment meets the following requirements:
Virtual machine—A fresh and dedicated physical server or virtual machine with the following configuration for the Jenkins server:
Component
Node
vCPU
Operating System
RAM (GB)
Disk (GB)
Jenkins server
1
2
- Cent OS 7.x and 8.x are not supported.
- RHEL 8.x and 9.x, Rocky Linux 8.x and 9.x are certified.
Minimum 8 GB
100
Make sure that the /home, /var, /usr mount points have a minimum of 15 GB free space and /tmp has a minimum of 5 GB free space.
- Kubernetes or OpenShift cluster—Kubernetes cluster is accessible from the Deployment Engine server.
For Kubernetes cluster requirements, see System Requirements. Yum or DNF utility—is installed, configured, and working fine.
Make sure that the yum client is installed and accessible, and you can install certified repos stable versions of applications.
Run the following commands by using a user with sudo access to update your system libraries and packages to the latest available version.sudo yum update -y
sudo yum upgrade -y
sudo yum clean allUnzip utility—is installed.
Use the following command to install the unzip utility:sudo yum install unzipPerl—Perl (version 5.x +) is installed and is accessible from shell prompt.
Use the following command to set up Perl:sudo yum install perl -yPerl-Data-Dumper package—Set up Perl-Data-Dumper package by using the following commands:
sudo yum makecache
sudo yum -y install perl-Data-Dumper- Make sure that /etc/resolv.conf has proper DNS entries.
From any remote machine run the following commands:
nslookup <jenkins-server-name>
nslookup <jenkins-server-ip>both the commands should resolve via DNS from all servers where clusters are setup.
- from /etc/hosts make sure to have only relevant entries in this file. If an entry is not correct, delete the entry and make sure that you clean up all the stale entries in the file.
- Remove the ivp6 entry for the localhost and ensure that the hostname resolves to the correct DNS IP address.
- Run the yum repolist or dnf repolist command to view all accessible and OS matching repositories. The yum or dnf commands should be able to install the required repository software.
- Download the following files from EPD to the Jenkins server.
- BMC_Helix_Innovation_Suite_And_Service_Management_Apps_Version_23.3.01.002.zip
Use the BMC Helix Innovation Suite & Service Management Apps Security Hotfix 2 Version 23.3.01 option to download the file. - BMC_Remedy_Deployment_Engine_Setup_23.3.01.001.zip
Use the BMC Helix Deployment Engine 23301 Hotfix1 option to download the file.
For details, see Downloading-the-installation-files.
- BMC_Helix_Innovation_Suite_And_Service_Management_Apps_Version_23.3.01.002.zip
To create and configure users
BMC Deployment Engine uses the following two users:
- git—Owner of git repositories where deployment code is present. This user requires sudo access.
- jenkins—Jenkins server runs as jenkins user. This is a non-interactive user.
You must create and configure these users.
To add users
Perform the following steps to add the users:
Important: Make sure that you do not use special characters in the git user password.
sudo passwd git
sudo useradd jenkins -m
sudo passwd jenkins
To configure users and groups
Perform the following steps to configure the users and groups:
sudo usermod -a -G jenkins git
To configure sudo access to the git user
Run the following command to configure sudo access to the git user:
To configure passwordless sudo access for the git user
Perform the following steps to configure passwordless sudo access to the git user:
Run the following command:
sudo visudoUncomment the following line:
%wheel ALL=(ALL) NOPASSWD: ALLComment the other lines that start with %wheel.
For example:%wheel ALL=(ALL) ALLSave the changes.
To copy the ssh keys
Important: If you are using BMC Helix Service Management 23.3.01 hotfix 1, you must manually create the ssh keys. Perform the following steps only if you are using the the BMC_Remedy_Deployment_Engine_Setup_23.3.01.001.zip file for BMC Deployment Engine setup.
- Log in to BMC Deployment Engine as a git user.
- Configure the SSH keys for the git user to enable pipeline access to Git repositories.
Generate the SSH key by running the following command and accept all the defaults.
ssh-keygen
Copy the ID by running the following command:
ssh-copy-id git@<jenkins_server_name>
Verify that the passwordless ssh login works from git to git user by using the following command:
ssh git@<jenkins_server_name>
- Log in to BMC Deployment Engine as a jenkins user.
- Configure jenkins ssh keys to git so that the pipeline dry-run step is successful.
Generate the SSH key by running the following command and accept all the defaults.
ssh-keygen
Copy the ID by running the following command:
ssh-copy-id git@<jenkins_server_name>
Verify that you are logged in as git user and the passwordless ssh login works by using the following command:
ssh git@<jenkins_server_name>
To run the BMC Deployment Engine automation script
The BMC Deployment Engine automation script installs the following software:
- Ansible
Ansible 2.15 is certified.
- Python
- Git
- kubectl
- Helm
- Java
- PostgreSQL client
- Docker
- additional packages, such as MS SQL tools, unixODBC, xmlstarlet, dos2unix, jq
The automation script also installs Jenkins locally on a server (In earlier versions of BMC Helix Service Management Deployment, you had to manually set up Jenkins on a local node).
Along with the software and Jenkins, the BMC Deployment Engine automation script installs the plug-ins listed in the file.
Perform the following steps to run the BMC Deployment Engine automation script:
Log in as a git user:
ssh git@<hostname>or switch to the git user by using the following command:
su - git- Copy the BMC_Helix_Innovation_Suite_And_Service_Management_Apps_Version_23.3.01.002.zip file downloaded from EPD and extract the files to the git user home directory or any other directory owned by the git user.
- BMC_Remedy_Deployment_Manager_Configuration_Release_23.3.01.002.zip
BMC_Remedy_Deployment_Engine_Setup_23.3.01.002.zip—Do not use this file.
- Copy the BMC_Remedy_Deployment_Engine_Setup_23.3.01.001.zip file downloaded from EPD and extract the files to the git user home directory or any other directory owned by the git user.
Change the ownership of these files to git user by using the following command:
sudo chown -R git:git <filename>- Unzip BMC_Remedy_Deployment_Engine_Setup_23.3.01.001.zip file.
- Change the directory to DE1.0.
- Update build.properties and customize the following parameters according to your requirements:
- ITSM_REPO_GIT_ZIP=</path/to/BMC_Remedy_Deployment_Manager_Configuration_Release_23.3.01.002.zip>
-
- JENKINS_CONFIG_FILES_ZIP_PATH=<path to Jenkins_Config_Files.zip file>
- LIBRARY_REPO_ZIP_PATH=<path to LIBRARY_REPO.zip>
- JENKINS_HOSTNAME=<fully-qualified-hostname-or-ip-address-where-DE-setup-is-planned>
KUBERNETES_VERSION=<Kubernetes cluster version>
- GIT_REPO_USER=git
- GIT_USER_HOME_DIR=~git
- JENKINS_USER=jenkins
HELM_VERSION=<Helm version>
- JENKINS_INSTALL_DIR=/var/lib/jenkins
- HTTP_PROTOCOL=http
- JENKINS_PORT=8080
- ANSIBLE_NODE_ROOT_DIR=~/ansible_node_root_dir
- JENKINS_NODE_ROOT_DIR=~/jenkins_node_root_dir
(This is the path that the Jenkins_node needs for various operations that are internal to Jenkins) - GIT_REPO_DIR=~/git_repo/
( This is the location where the entire Deployment Engine git code is copied by the installer for setting up the pipelines.) JENKINS_CONFIG_FILES_DIR=~/Jenkins_Config_Files
(The Jenkins job pipeline uses this location to store its pipeline jobs.)For information about the supported Kubernetes, OpenShift, and Helm versions, see System-requirements.
After updating the build.properties file, run the BMC Deployment Engine automation script to setup the Jenkins job pipeline framework.
The log file is generated in the Git user home directory and it can be used for debugging setup related issues.$ sudo perl setup-Helix-ITSM-onPrem.pl 2>&1 | tee ~/BMC-HELIX-DE-AUTO.log.$$
To perform post-installation configurations
Complete the following configurations:
No. | Action | Steps | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
1 | Install plug-ins |
| ||||||||
2 | Update the Jenkins credentials |
Depending on your environment, you can choose to update the node configuration in a cloud or non cloud environment. | ||||||||
3 | Update the node configuration in a cloud environment |
| ||||||||
Update the node configuration in a non cloud environment |
| |||||||||
4 | Add the Jenkins libraries | Perform the following steps to add the pipeline-framework library:
|
To run the deployment pipelines in dry-run mode
Dry-run is a mandatory step to update the pipeline configuration for any changes to the BMC Helix Innovation Suite and Service Management Installer.
- Navigate to Jenkins Dashboards to view all the pipelines required for deployment.
- Select each pipeline and click Build with Parameters.
Click Build.
The build job status fails, which is expected.
After the dry run is successful, verify that correct version of BMC Helix Service Management is populated in the PLATFORM_HELM_VERSION and SMARTAPPS_HELM_VERSION parameters.
Troubleshooting
Refer to the troubleshooting information if you encounter any of the following issues while setting up BMC Deployment Engine.
Issue symptom
During deployment engine script execution, you might receive the following message:
This system is not registered with an entitlement server. You can use subscription-manager to register.
Log: Query : Please, suggest should we disable subscription manager and proceed with setting up prereq for ITSM onprem deployment, Y(yes) or N(no) ? :
Resolution
- If you are using Rocky Linux 8 or Rock Linux 9 operating system, enter yes and proceed.
- If you are using RHEL 8 or RHEL 9 operating system, enter no and proceed. In this case, register your system with Red Hat for a valid subscription.
Issue symptom
The installation script fails or aborts for some reason.
Resolution
- Review the BMC-HELIX-DE-AUTO.log file to check for errors.
- Fix the errors.
- Stop Jenkins by using the systemctl command.
- Check if port 8080 is free by using netstat -anp | grep 8080 command and then rerun automation script command.
- Make sure to save log files.
Issue symptom
HELIX_ONPREM_DEPLOYMENT pipeline fails with the following scripts not permitted error.
method org.jenkinsci.plugins.workflow.support.steps.build.RunWrapper getRawBuild
Resolution
- Right click the error message link and open it in a new tab.
- Click Approve.
- Click the latest failed job on the HELIX_ONPREM_DEPLOYMENT pipeline tab.
- Click Rebuild.
- Enter the required parameters and click Rebuild.
- You might get other scripts not permitted error. Repeat the same steps to approve the script execution and rebuild HELIX_ONPREM_DEPLOYMENT jobs.
For other issues, see Troubleshooting-upgrade-and-pipeline-failure-issues.
For additional questions about BMC Deployment Engine, see FAQ.
Where to go from here
Next task | Proceed with Installing-BMC-Helix-Platform-Common-services-24-1-00. |
---|---|
Back to process | If you are finished installing BMC Helix Platform services, return to the appropriate installation or upgrade process: |