Provider Abstraction Framework is a tool that allows an application development organization to create a model of their application, deploy (provision) that model into a supported Cloud provider, and then monitor and manage that application.
This is intended to make the challenges of describing a deployment into the cloud much easier, and allow the tool (PAF) to determine how best to accomplish the needs of the model.Right Now this application supports deploying into open stack and AWS environment.
Setting up environment
- We have to Download maven and should create an environment variable that defines the maven home directory. By convention, the variable should be named M2_HOME.
- The variable should contain a path element of %M2_HOME%\bin. Do NOT forget that the path elements are separated by semicolons (;) on windows.
- By default, this local repository is located in the .M2 directory under your user home path.This can be changed if desired, using the maven configuration settings.
- Maven looks for it's configuration settings by searching for a file named settings.xml. It first looks for this file in the .M2 directory of the user home path. It also looks for the settings file in the conf path of the M2_HOME path (the installation directory). The contents of any user home .M2 settings file override the definitions in the M2_HOME configuration settings file.
After the code is checkedout from github. Select all the projects and do a maven update first. The workspace building shoud take 5 to 10 minutes.Next while set up run configuration to run the project and run this maven execution. Note that we check the "Skip Tests" box. and Specify "clean install" in Goals.
The order of building the code is
CDP-pal Cdp-pal-common cdp-pal-openstack cdp-pal-aws cdp-parent cdp-all
cdp-all will build all required projects like cdp-common,cdp-db,cdp-schema,cdp-engine and cdp-server.
Before you can run CDP locally, you must also configure the schema of your local Cassandra database. You can do this by running the CDP.cql file, located in the CDP project at CDP/cdp-db/etc/cdp.cql. WARNING: Running this file will wipe your existing CDP database. There are multiple ways to run cql scripts. You can run them using the Cassandra CLI (cqlsh -f "C:\apache-cassandra-2.0.16\bin\cdp.cql"). You can also copy and paste the contents of the script into DataStax DevCenter, and run from there.
We can run the \bin\cassandra.bat as shown below
Cassandra Client to connect to server.We can client to connect to cassandra-instance. The way is to run \bin\cassandra-cli.bat
open the devCenter.exe file.Select file>new>connection. setup a connection name and enter the host then add. enter the username and password for cassandra and click OK. select the created cassandra instance in Run using connection. and select cdp in keyspace once the setup is done run the cdp.cql file located in the CDP project at CDP/cdp-db/etc/cdp.cql. select the created cassandra instance in Run using connection. and select cdp in keyspace while quering.
Once all cql statements are successfully executed, we need to insert 1 record into cdpAdmin table. This will allow us to login to local server.
eg: INSERT INTO cdpadmin(userid,createdby,createddate,lastupdateby,lastupdatedate) VALUES ('dgl','CDP',1487710147132,'CDP',1487710147132);
With all above steps, now local Cassandra should have all CDP data in schema called cdp. Now setup server start class and run that from the Eclipse.
With the run configuration setup as
In the main tab setup Project>cdp-server, main class> org.eclipse.jetty.xml.XmlConfiguration.
In the Arguments Program arguments> src/main/config/jetty.xml vm arguments>
-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog -Dorg.apache.commons.logging.simplelog.showdatetime=true -Dorg.apache.commons.logging.simplelog.log.org.apache.http=DEBUG -Dorg.apache.commons.logging.simplelog.log.org.apache.http.wire=ERROR -DAFT_DME2_CLIENT_IGNORE_SSL_CONFIG=true
and after all the setup run the server.and then it uses local Cassandra for persisting the data
*Note cassandra.userName= cassandra.password= cassandra.hosts=
check for these names and replace your values(check in cdp.properties, dockerfile)
once all the process is done and server is up and running.
start with creating a tenant Please check the next steps in DocumentationFile