Prerequisites - Artist Project

advertisement
ARTIST Quick Guide
Advanced software-based seRvice provisioning and
migraTIon of legacy Software
ARTIST Quick Guide
www.artist-project.eu
Page 1 of 12
ARTIST Quick Guide
Table of Contents
Table of Contents .......................................................................................................................... 2
1
Introduction .......................................................................................................................... 4
2
Eclipse ARTIST suite ............................................................................................................... 4
2.1
Prerequisites ................................................................................................................. 4
2.1.1
2.2
3
2.1.1.1
Eclipse Modeling distribution ............................................................................ 5
2.1.1.2
Required Eclipse plugins.................................................................................... 5
ARTIST Suite .................................................................................................................. 5
BFT ......................................................................................................................................... 5
3.1
Prerequisites ................................................................................................................. 5
3.1.1
4
Installation instructions ......................................................................................... 5
.NET Toolset .......................................................................................................................... 6
4.1
DBML2UML and SP2UML .............................................................................................. 6
4.1.1
Prerequisites.......................................................................................................... 6
4.1.2
Installation instructions ......................................................................................... 6
4.2
DBML-UML to EDMX/Services and SP-UML to EDMX/Services .................................... 6
4.2.1
Prerequisites.......................................................................................................... 6
4.2.2
Installation instructions ......................................................................................... 6
4.3
Multi-tenancy Migration Tool ....................................................................................... 7
4.3.1
Prerequisites.......................................................................................................... 7
4.3.2
Installation instructions ......................................................................................... 7
4.4
5
Installation instructions for the prerequisites....................................................... 5
Schema Migration Tool ................................................................................................. 7
4.4.1
Prerequisites.......................................................................................................... 7
4.4.2
Installation instructions ......................................................................................... 7
Benchmarking/Profiling Toolset ............................................................................................ 7
5.1
Benchmarking Suite ...................................................................................................... 7
5.1.1
5.1.1.1
5.1.2
5.1.2.1
5.1.3
5.1.3.1
5.2
Benchmarking Controller ...................................................................................... 8
Installation instructions ..................................................................................... 8
Benchmarking GUI................................................................................................. 9
Installation instructions ..................................................................................... 9
Benchmarking Rest Interface ................................................................................ 9
Installation instructions ..................................................................................... 9
Profiling Toolset .......................................................................................................... 10
www.artist-project.eu
Page 2 of 12
ARTIST Quick Guide
5.2.1
Profiling Tool ....................................................................................................... 10
5.2.1.1
Benchmarks profiling ...................................................................................... 10
5.2.1.2
Application profiling ........................................................................................ 11
5.2.2
Classification Tool................................................................................................ 11
5.2.2.1
Prerequisites.................................................................................................... 11
5.2.2.2
Installation instructions ................................................................................... 12
www.artist-project.eu
Page 3 of 12
ARTIST Quick Guide
1 Introduction
This purpose of this document is to provide a set of installation instructions for the ARTIST
Suite and the toolsets created within the context of project ARTIST.
2 Eclipse ARTIST suite
Eclipse ARTIST Suite contains the tools/toolsets listed below:













Code Generation Toolbox
Deployment Tool
Model Discovery Toolbox
Java2UML
JUMP
Certification Tool
Methodology Process Tool
Model Understanding Toolbox
Target Environment Specification Tool
Model Based Testing
Non-functional Requirements Verification Tool
Technical Feasibility Tool
ARTIST Repository Client
2.1 Prerequisites
A fresh instance of the Eclipse Modeling distribution and several plugins are required for a
successful installation of the ARTIST Suite.
The Eclipse Modeling distribution can be found here.
The list of required Eclipse plugins can be found below:











Acceleo 3.4.2.201401221203 - http://download.eclipse.org/releases/kepler
ATL - ATL Transformation Language
3.5.0.v201405260755 http://download.eclipse.org/mmt/atl/updates/releases/3.5
ATL EMFTVM 3.5.0. v201405260755 http://download.eclipse.org/mmt/atl/updates/releases/3.5
Xtext SDK
2.6.2.v201407030533 http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/
EMF-IncQuery SDK (Incubation) 0.8.0.201407021417 http://download.eclipse.org/incquery/updates/release
MoDisco SDK (Incubation)
0.11.2.201401201005 http://download.eclipse.org/releases/kepler
Papyrus UML (Incubation)
0.10.2.v201402191554 http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/kepler
Papyrus Extra Feature (Incubation)
0.10.2.v201402191638 http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/kepler
Sirius Core Runtime (Incubation) 0.9.0.v201312101559 http://download.eclipse.org/sirius/updates/releases/0.9.0/kepler/
Sirius Runtime IDE (Incubation) 0.9.0.v201312101559 http://download.eclipse.org/sirius/updates/releases/0.9.0/kepler/
Scala IDE for Eclipse 3.0.4.v-2_11-201407232043-c46f499 http://download.scalaide.org/sdk/helium/e38/scala211/stable/site
www.artist-project.eu
Page 4 of 12
ARTIST Quick Guide
2.1.1 Installation instructions for the prerequisites
2.1.1.1 Eclipse Modeling distribution
1. Browse to this web page for the Eclipse Modeling distribution.
2. Select and download the OS version of your choice from the Download Links
section at the right side of the page.
3. Extract the compressed file’s content to a destination of your choice.
4. Use the Eclipse launcher file to launch Eclipse.
2.1.1.2 Required Eclipse plugins
All the plugins listed in section 1.1 should be installed in the given order using the instructions
below.
1. Open the Help menu in Eclipse and select Install New Software menu item. A dialog
will appear.
2. Uncheck the Show only the latest versions of available software checkbox.
3. For each plugin listed in section 1.1:
a. Click the Add button on the dialog.
b. Type a name of your choice to the Name field
c. Copy & paste the update site link for the respective plugin (provided in section
1.1) to the Location field
d. Click Ok
e. Select the plugin by paying attention to the version.
f. Click “Next” and follow the instructions.
g. After the installation, restart Eclipse.
2.2 ARTIST Suite
1. Download latest release of the ARTIST Suite Update here.
2. Extract the compressed file’s content to a destination of your choice.
3. Open the Help menu in Eclipse and select Install New Software menu item. A dialog
will appear.
4. Click the Add button on the dialog.
5. Type a name of your choice to the Name field
6. Click the Local button. A folder selection dialog will appear.
7. Select the folder extracted in the second step and click Ok.
8. Click Ok.
9. Select ARTIST and continue with the installation.
10. After the installation, restart Eclipse.
3 BFT
3.1 Prerequisites
Download BFT documentation: D5.4.3_Business_Feasibility_Tools_M30_31032015.pdf.
Install Git for your platform.
3.1.1 Installation instructions
Clone the ARTIST BFT repository. This will produce an ARTIST-BFT folder:
git clone https://github.com/artist-project/ARTIST-BFT.git
www.artist-project.eu
Page 5 of 12
ARTIST Quick Guide
Follow instructions contained in D5.4.3_Business_Feasibility_Tools_M30_31032015.pdf in
order to install the different BFT tools you need:
 Business Scenario Workbench (BFT-BSW): section 3.2.2. A Windows Eclipse instance of
the BFT_BSW in contained within this folder: ARTIST-BFT/binaries/BFT-BSW/eclipsebft
Execute the eclipse executable contained within this folder in order to launch BFT-BSW
For installing it in other OS, follow the installation instructions
 Business Scenario Simulator (BFT-SIM): section 4.2.2
 Business Scenario Assessment Dashboard (BFT-DSH): section 5.2.2
 Costs-Benefits Analysis (BFT-CBA): section 6.2.2
4 .NET Toolset
A number of additional tools are built but not directly included in the general Eclipse ARTIST
Suite (as described in section 1). These tools are targeting the .NET platform/framework.
4.1 DBML2UML and SP2UML
4.1.1 Prerequisites
Download and install JRE7.
Install Git for your platform.
4.1.2 Installation instructions
The DBML2UML and SP2UML tools are part of the Model Discovery Toolbox and can be
downloaded by cloning the git repository: git clone https://github.com/artist-project/ARTISTMDT
Both tools are self-contained standalone command-line tools. Navigate to the folders
‘binary/DBML2UML’ or ‘binary/SP2UML’ respectively. The tools can be executed by following
the instructions in the manual.
4.2 DBML-UML to EDMX/Services and SP-UML to EDMX/Services
4.2.1 Prerequisites
An instance of the Eclipse Modeling distribution is required. The Eclipse Modeling distribution
can be found here.
The list of required Eclipse plugins can be found below:

Acceleo 3.4.2.201401221203 - http://download.eclipse.org/releases/kepler
4.2.2 Installation instructions
The installations of the prerequisites are identical to the procedure described in section 1.1. If
you already have the Eclipse ARTIST Suite you should be ready to go.
The tools:
 DBML-UML to EDMX
 DBML-UML to Services
 SP-UML to EDMX
 SP-UML to Services
are part of the Modernization Framework and can be downloaded by cloning the git
repository:
www.artist-project.eu
Page 6 of 12
ARTIST Quick Guide
git clone https://github.com/artist-project/ARTIST-MCF
All the plugins can now be installed into your Eclipse environment:
 Copy the different jar files into the “dropins” folder of your eclipse distribution
The tools can now be used by following the instructions in the user manual.
4.3 Multi-tenancy Migration Tool
4.3.1 Prerequisites
At the moment of writing there are a number of requirements in order to execute the tool:
 Set up a box with Visual Studio 2015 Preview. Either install Visual Studio 2015 Preview,
or grab a prebuilt Azure VM image.
 Install the Visual Studio 2015 Preview SDK. You'll need to do this even if you're using
the Azure VM image.
 Install the SDK Templates VSIX package to get the Visual Studio project templates.
 Install the Syntax Visualizer VSIX package to get a Syntax Visualizer tool window to
help explore the syntax trees you'll be analyzing.
4.3.2 Installation instructions
Clone the git repository for this particular tool:
git clone https://github.com/artist-project/ARTIST-Multitenancy_Migration_Tool
The tool is a standalone command-line tool. It can be executed, without any additional
installation, by following the instructions in the user manual.
4.4 Schema Migration Tool
4.4.1 Prerequisites
In order to execute this tool the .NET Framework version 4.5 is required. This can be
downloaded from here.
4.4.2 Installation instructions
The tool is a standalone command-line tool. It can be executed, without any additional
installation, by following the instructions in the user manual.
5 Benchmarking/Profiling Toolset
5.1 Benchmarking Suite
Benchmarking Suite consists of 3 tools
www.artist-project.eu
Page 7 of 12
ARTIST Quick Guide
5.1.1 Benchmarking Controller
Details about the tool can be found here:
http://www.artistproject.eu/sites/default/files/D7.2.3_Cloud_services_modeling_and_performance_analysis_
framework_M30_31032015.pdf
5.1.1.1 Installation instructions
1. Download the latest version of the tool:
a. https://github.com/artistproject/ARTIST/blob/master/binary/BenchmarkingSuite/Benchmarking%20Cont
roller--3.0.0-0.tar.gz (binary)
b. https://github.com/artist-project/ARTIST/tree/master/source/Tooling/premigration/Benchmarking%20Suite/benchmarking%20controller (source)
2. Download and install MySql Server: Run the sql dump script for the creation of the
benchmarking database: https://github.com/artistproject/ARTIST/blob/master/source/Tooling/premigration/Benchmarking%20Suite/MySqlDump.sql
3. Set up a Python Development Environment: Open the PyDev Perpsective. In the main
menu select Window > Open Perspective > PyDev
4. You need a project to store our source code. In the main toolbar, click on the New PyDev
Project button. Enter Controller as project name, then click Finish
5. Import the Controller into created PyDev project: Right click on Controller project
> Import > Archive File. Click Next; Browse to Benchmarking Controller--3.0.0-0.tar.gz
6. Configure the Benchmark MySql database connection :In the PyDev editor, access to
src/eu/artist/benchmarking/parsers/database.py file and enter your benchmark
database connection parameter. Default ones are the following:
MySQLdb.connect(host='127.0.0.1',user='root',passwd='test',db='cloudbench')
7. Configure the Controller for a Cloud Provider:Example for Amazon EC2 (redHat instance,
m1.large). The next step is to create a new Cloud Provider configuration file. In the PyDev
editor, access to cloud_providers folder and edit a new file amazon.conf. Similarly to
example.conf file available in the folder, fulfill it with the following information:
cp_class = eu.artist.benchmarking.cloudproviders.amazon.AmazonProvider
access_id = your Amazon EC2 access ID
secret_key = your Amazon EC2 secret key
key_name = your key name
key_path = path to your local .pem key
[redhat-large]
platform=redhat
script_deploy_location = /home/ec2-user
output_file =/home/ec2-user/output.dat
image_id = your ami id
size_id = m1.large
vm_user = ec2-user
www.artist-project.eu
Page 8 of 12
ARTIST Quick Guide
8. Using the controller for the submission of ax existing workload on Amazon : In order to
run a DaCapo workload on the Amazon instance right click to test/tests.py > Run as >
Python run
Conclusion: You have successfully performed the Benchmarking Controller; the performance
data related to the execution of a single workload (belonging to the DaCapo Suite tool) on
m1.large Amazon EC2 instance, are now available in the benchmark database (dacapo table).
5.1.2 Benchmarking GUI
Details about the tool can be found here:
http://www.artistproject.eu/sites/default/files/D7.2.3_Cloud_services_modeling_and_performance_analysis_fra
mework_M30_31032015.pdf
5.1.2.1 Installation instructions
1. Download the last version of the tool:
2. https://github.com/artist-project/ARTIST/blob/master/binary/BenchmarkingSuite/CloudBench.war (binary)
3. https://github.com/artist-project/ARTIST/tree/master/source/Tooling/premigration/Benchmarking%20Suite/GUI_controller_integration (source)
4. Download and install MySql Server.
5. Run the sql dump script for the creation of the benchmarking database:
https://github.com/artist-project/ARTIST/blob/master/source/Tooling/premigration/Benchmarking%20Suite/MySqlDump.sql
6. Import the WAR file to Eclipse: File > Import > web > WAR; Browse to Cloud-bench.war
file, choose your Target Environment and click Finish. The project will be associated to Java
EE perspective.
7. Deploy the WAR file
8. Right click on the just created web project > Run as > Run on Server; Select your Server,
then click Finish.
9. In
order
to
run
the
GUI
navigate
via
browser
to
http://server_ip_address:server_port/Cloud-Bench/reports
Conclusion: You have successfully performed the benchmark GUI interface.
5.1.3 Benchmarking Rest Interface
Details about the tool can be found here:
http://www.artistproject.eu/sites/default/files/D7.2.3_Cloud_services_modeling_and_performance_analysis_
framework_M30_31032015.pdf
5.1.3.1 Installation instructions
1. Download the last version of the tool:
2. https://github.com/artistproject/ARTIST/blob/master/binary/BenchmarkingSuite/Benchmark_Rest_interface-1.0.0-0.tar.gz (binary)
www.artist-project.eu
Page 9 of 12
ARTIST Quick Guide
3. https://github.com/artist-project/ARTIST/tree/master/source/Tooling/premigration/Benchmarking%20Suite/Benchmark_Rest_interface (source)
4. Download and install Flask Server: http://flask.pocoo.org/docs/0.10/installation/
5. Download and install MySql Server.
6. Run the sql dump script for the creation of the benchmarking database:
https://github.com/artist-project/ARTIST/blob/master/source/Tooling/premigration/Benchmarking%20Suite/MySqlDump.sql
7. Set up a Python Development Environment: Open the PyDev Perpsective. In the main
menu select Window > Open Perspective > PyDev
8. You need a project to store our source code. In the main toolbar, click on the New PyDev
Project button. Enter RestInterface as project name, then click Finish
9. Import the Flask Project into created PyDev project
10. Right click on RestInterface project > Import > Archive File. Click Next; Browse to
Benchmark_Rest_interface--1.0.0-0.tar.gz file
11. Configure the Flask-MySql database connection: In the PyDev editor, access to
FLASK/Metrics.py and enter your benchmark database connection parameters (default
values are: host='127.0.0.1' ,user='root', passwd='test' ,db='cloudbench').
12. To run your application, right-click on FLASK/app.py and select Run as > Python run. This
way the FLASK server is started
5.2 Profiling Toolset
5.2.1 Profiling Tool
There are two different usage modes of the Profiling tool (the application profiling and the
benchmark profiling).
 Download latest release of the Profiling Tool : https://github.com/artistproject/ARTIST/tree/master/binary/ProfilingTool
5.2.1.1 Benchmarks profiling
Prerequisites: Using the Profiling tool for benchmarks profiling requires the existence of a file
(located anywhere in the file-system of the physical host) containing the commands used for
executing the workloads of a benchmark. This file will be referred to as input file. Each
command must be stored in a different row inside this file.
Installation Instructions:
1. Open a terminal
2. Navigate to the directory where the executable ProfilingTool.jar is located.
3. Type the command: java -jar ProfilingTool.jar benchmarks
4. After typing the command (step 3) a graphical interface appears which introduces a form
with empty text fields. The fields have the following meaning:
 Workspace path: The path to the directory to be used as the workspace of the tool.
Note that a subdirectory called tmp should exist inside workspace.
 Pidstat Info Group:
 Process ID: Process ID of the VM to be monitored. It is an identifier assigned to
each process by the Operating System and can be retrieved by filtering the
command ps aux (e.g ps aux | grep <name of the VM>). Be sure that the
correct process ID is entered. Otherwise, in case of misreading the Pidstat
command will not be executed and in case of confusion between two different
PIDs, the wrong process will be monitored.
www.artist-project.eu
Page 10 of 12
ARTIST Quick Guide



password: Password for executing Pidstat with sudo privileges.
Tshark Info Group:
 IP to monitor: IP of the VM to be monitored.
 Ethernet card to monitor: The ethernet card on which Tshark will capture traffic.
Note that the name of the card provided will refer to the physical host.
 password: Password for executing Tshark with sudo privileges.
Benchmark Info Group:
 VM IP: The IP of the Benchmark VM (used for the ssh command)
 VM user: The user for the ssh command
 password: Password for the user used for the ssh command
 Input File: The input file containing the commands for the workload execution.
Note: For files and directories full paths are accepted.
When the OK button is pressed, both the execution of the benchmark workloads as well as the
monitoring commands begin. When the whole process (execution of all the benchmark
workloads contained in the input file) ends, the tool exits automatically and the results are
stored in the directory defined as workspace.
5.2.1.2 Application profiling
1. Open a terminal
2. Navigate to the directory where the executable ProfilingTool.jar is located.
3. Type the command: java -jar ProfilingTool.jar application
o After typing the command (step 3) a graphical interface appears which introduces
a form with empty text fields.
4. When pressing the OK button, a graphical interface with two buttons appears.
5. When the “Start!” button is pressed, both Pidstat and Tshark start to monitor the VM
where the application is running. The execution of these commands will not end until the
“Stop!” button is pressed. The results are stored in the directory defined as workspace.
The Profiling tool is not responsible for synchronizing the execution of the application and the
monitoring process. The synchronization is achieved by the start and stop button. As a result,
the user is encouraged to be as accurate and careful as possible so as not to interfere with the
results.
5.2.2 Classification Tool
5.2.2.1 Prerequisites


Install Java v7 (or later), if not already installed in your system.
Download the runnable jar file from the ARTIST public repository.
Prior to the tool execution:
 Make sure that a file with the benchmark profiles (training file) is created by merging
Tshark and Pidstat files derived from benchmark profiling process using Profiling tool
and a predefined workload name for each of them is provided.

Ensure that the input files derived from the application profiling process using Profiling
tool (Tshark and Pidstat results for the arbitrary application component) are locally
stored.
Create a configuration file called conf.ini using the standard INI file format which includes
three sections: the first section is the [classification] section where the user fills in the classifier
www.artist-project.eu
Page 11 of 12
ARTIST Quick Guide
engine to be used for the classification process and the second one is the [database] section
where the user fills in the information needed for establishing DB connection such as
hostname, TCP port, DB name and user credentials. The last one is the [service_efficiency]
section where the user provides the weights for price and performance according to his/her
interests both needed for the calculation of the Service Efficiency metric. The conf.ini file must
be located in the same folder as the ClassificationTool.jar
5.2.2.2 Installation instructions
1. Download latest release of the Classification Tool https://github.com/artistproject/ARTIST/tree/master/binary/ClassificationTool
2. Navigate to the directory where the executable ClassificationTool.jar is located. By double
clicking on the jar file, a graphical interface appears introducing a form with empty fields.
The user clicks on the “Browse…” buttons in order to locate the files needed for the
classification process. The training file includes the benchmark profiles while the Tshark
and Pidstat files include the application profile.
3. In turn, the user clicks on Calculate classification so that the arbitrary application
component can be classified.
4. After the completion of the classification process, the result is displayed in the class field.
5. In the last step, the user proceeds with clicking on the “Calculate best instance type!”
button in order for the Classification tool to calculate the best cloud offering which is
displayed on the instance field.
www.artist-project.eu
Page 12 of 12
Download