SAP Landscape Virtualization Management (LVM) Overview of Customization Options
Tags:
SAP Landscape Virtualization Management (LVM)
Overview of Customization Options
Overview
Custom Tabs: Define your own tabs in the LVM GUI to integrate your tools
Custom Services: Detect, manage and integrate additional applications
Custom Operations: Define your own action buttons in the LVM GUI
Custom Hooks: Extend the functionality of the pre-defined activities
Custom Provisioning: Bring your own (replication) technology
Custom Links: Invoke a custom URL with context information (e.g. SAPGUI or RDP)
Custom Validations: Define your own validations to pro-actively scan for problems
Additional integration: Use SAP LVM web services to remote control LVM from the outside
Custom Tabs (Demo Video here)
Custom Tabs allow you to render any website within the LVM GUI. It is a very easy way to
integrate your own tools into one GUI.
Click to enlarge picture/slide
You find the Custom Tabs configuration under "Setup" "Custom Tabs"
Custom Services (Demo Video here)
Custom Services help you to integrate non SAP applications, that support your SAP systems,
like Web servers, Document Management Systems and others. By default, LVM will detect
SAP NetWeaver based systems for you. For non SAP NetWeaver based applications you can
use Custom Services .You are able to manage those applications in the same way as you
manage SAP applications. You are able to start/stop them, define interdependencies to
influence start/stop sequences or schedule these actions.
Click to enlarge picture/slide
Click to enlarge picture/slide
To enable an application as a Custom Service you have to install the SAP Host Agent (7.20 min.)
on the Server where the application is installed ,create a definition/command/script for each
of the required functions like detect/start/stop/monitor and put the files under
"/usr/sap/hostctrl/exe/operations.d" and make them owned by root and read only !
Click to enlarge picture/slide
Click to enlarge picture/slide
Attached to SAP Note 1396981 (Quick link) are sample scripts for Linux and Windows, you can
use them as a starting point. After you have created the scripts and tested them, you can detect
your application with LVM. Go to "Configuration" "Systems" and click on "Discover",fill in the
parameters like in the example below and then click on "Detect"
Click to enlarge picture/slide
Custom Operations/Custom Hooks (Demo Video here)
Custom Operations and Hooks help you to extend the functionality that LVM delivers out of the
Box. With Custom Operations you are able to create your own functional elements inside the
LVM GUI and with Custom hooks you are able to modify or even replace the existing workflows
of LVM. You are also able to control any kind of software component including non SAP
components from SAP LVM.
Click to enlarge picture/slide
The Architecture looks the same for Operations and Hooks. You start by creating a Provider
Definition in the LVM GUI under "Setup" , "Provider Implementation Definition". In the definition
you are able to either select a script registered by the SAP Host Agent ,an HTTP Post operation
(calling a specific URL) or calling a Webservice that controls a more complex set of actions.
Click to enlarge picture/slide
In this screenshot you can see where to configure the "Provider Implementation Definition"
Click to enlarge picture/slide
Click to enlarge picture/slide
Custom Operations are defined under "Setup", "Custom Operations". You need to define a
"Provider Implementation Definition" first and then create the Operation.All the Custom
operations are available in the "Operations" section of LVM. Custom Hooks are also defined
in this section, but under "Custom Hooks". For defining a custom Hook you need to define the
Operation for which the hook is executed and if the Hook should be executed before (pre),
after (post) or when an error occurs (error) . Operations are all the pre-defined functional
elements of LVM, like e.g. clone Volumes.
Click to enlarge picture/slide
Constraints are very important in this context. Since a Hook is executed every time an activity
is called in the LVM workflow and LVM supports many different OS/DB combinations and a
specific script usually only works on a specific OS/DB you have to define constraints that ensure
the hook is only executed on the right OS/DB combo or when the instance is in a specific status
(e.g. shutdown).
Click to enlarge picture/slide
Here is an example definition file for a custom hook that restarts sapcontrol .The nice thing in
this example is, that we combined the commands for different Operating Systems into one
definition. With the help of the "Platform" descriptor you can define a command that gets
executed only if the "Platform" parameter is met. So in this example if the hook is executed on
a Windows OS the command above the Platform: Windows is being used. This way you can
create only one definition for several OS. In addition the Command: descriptor could also point
to a whole script that gets executed. This example can be found attached to
SAP Note 1465491 (Quick link)
Click to enlarge picture/slide
Custom Provisioning (Demo Video here)
Out of the Box, LVM supports many Storage Systems that can be used to create the data copy
that is needed for the whole System Copy workflow. If you like to use another method for
getting the data copy, like a shadow Database or Backup/Restore or existing copy procedures,
Custom Provisioning is right for you. It replaces the LVM based cloning procedure with your
own scripts.
Phases of an end to end system copy with LVM
1.) Copy the Data via a storage or VM based clone
2.) Run System rename to change the SID of the Instance
3.) Run Post copy automation (PCA) on the copy
Custom Provisioning replaces step 1.)
Click to enlarge picture/slide
From an architectural point of view it looks very similar to the custom hooks concept.You create
a Provider definition and point to the script/HTTP post/Webservice that implements the
functionality on the source or target Host. In addition , if you need to control a more complex
Landscape or Procedure, you are able to use an additional central Host that is used as a proxy.
So instead of issuing the scripts directly on the source and target hosts, it is possible to use the
central host and control everything from there. An example could be, that you don't want to
install the Software that is needed to control the cloning process on the hosts with a productive
SAP system.
Click to enlarge picture/slide
Click to enlarge picture/slide
You are able to create a script for each of the steps mentioned above or only use a subset of
the steps if you use existing scripts. If you plan to do a storage based cloning operation of a
"live" source system you should use the "Clone Volumes" steps for the actual cloning command.
If you do that, LVM provides you with the database consistency options needed to create a
consistent snapshot. This means that LVM will issue the right commands to the source database
to put it into a backup state. This step has a hard timeout of 90 sec. to ensure there is no impact
on your productive System. So your cloning procedure needs to be finished within this 90 sec.
timeframe.
Additional integration points
In addition to customizing SAP LVM, it is possible to control SAP LVM from the outside and to
control outside Software components from SAP LVM. This is done through web services that
allow to control LVM from the outside and the custom operations/hooks shown above.
Click to enlarge picture/slide
The Controller Command Interface (CCI) is a web service provided by SAP LVM that allows you
to upload configuration information, e.g. adding a new system to LVM in a fully automated way.
It also allows you to execute control functions like starting/stopping of Systems known to LVM.
This is a great way to integrate SAP LVM with any kind of orchestration Software that requires
the SAP domain expertise delivered by SAP LVM.
With SAP LVM version 2.1 we have extended the functionality of the CCI interface with so called
templates. A template is a way to save all the parameters needed for an E2E process like a
system copy. One example would be, that an admin that is familiar with the landscape and the
parameters needed, sets up a system copy process, saves it as a template and an operator who
may not be so familiar with the details executes this process at a later point in time. These
templates are also available via the CCI web service and allow the remote execution of SAP LVM
processes like system copy. Currently only provisioning processes are supported by this method.
Click to enlarge picture/slide
The templates are basically XML files, that can be stored on filesystem level, modified and
uploaded for execution to SAP LVM. This allows for example to create self service scenarios
where users would connect to an orchestration engine, set some parameters and the
orchestration engine would then use the web service to execute the process with SAP LVM.
For more details and documentation : SAP LVM online help -> Development Information
These are the main customization options LVM provides to you.With the help of these features
you are able to greatly enhance and adapt LVM to your needs.
More info:
http://scn.sap.com/community/it-management/virtualization