##Use Case
Elastically grow/shrink instances into cloud/virtualized environments. There are four use cases for the connector.
First, if the Controller detects that the load on the machine instances hosting an application is too high, the openstack-connector-extension may be used to automate creation of new virtual machines to host that application. The end goal is to reduce the load across the application by horizontally scaling up application machine instances.
Second, if the Controller detects that the load on the machine instances hosting an application is below some minimum threshold, the openstack-connector-extension may be used to terminate virtual machines running that application. The end goal is to save power/usage costs without sacrificing application performance by horizontally scaling down application machine instances.
Third, if the Controller detects that a machine instance has terminated unexpectedly when the connector refreshes an application machine state, the openstack-connector-extension may be used to create a replacement virtual machine to replace the terminated application machine instance. This is known as our failover feature.
Lastly, the openstack-connector-extension may be used to stage migration of an application from a physical to virtual infrastructure. Or the openstack-connector-extension may be used to add additional virtual capacity to an application to augment a preexisting physical infrastructure hosting the application.
The OpenStack connector is actually a meta-connector and supports the following OpenStack cloud implementations:
- OpenStack Compute (Nova)
- Rackspace OpenStack Public Cloud
- Rackspace OpenStack Private Cloud
- HP Cloud
##Directory Structure
File/Folder | Description |
---|---|
lib | Contains third-party project references |
src | Contains source code to the openstack connector extension |
dist | Only obtained when using ant. Run 'ant build' to get binaries. Run 'ant package' to get the distributable .zip file |
build.xml | Ant build script to package the project (required only if changing Java code) |
##Installation
- Clone the openstack-connector-extension from GitHub
- Run 'ant package' from the cloned openstack-connector-extension directory
- Download the file openstack-connector.zip located in the 'dist' directory into <controller install dir>/lib/connectors
- Unzip the downloaded file
- Restart the Controller
- Go to the controller dashboard on the browser. Under Setup->My Preferences->Advanced Features enable "Show Cloud Auto-Scaling features" if it is not enabled.
- On the controller dashboard click "Cloud Auto-Scaling" and configure the compute cloud and the image.
Click Compute Cloud->Register Compute Cloud. Refer to the images below
Click Image->Register Image. Refer to the images below
Select an Image and click 'Launch Instance'
Fill the details and click on 'Launch Instance' button.
- Metadata: specify metadata to be passed. ex: Key1=Value1;Key2=Value2
- Personality Path: Personality file path. ex: /etc/test.sh
- Personality File: Base64 encoded file content.
##Contributing
Always feel free to fork and contribute any changes directly here on GitHub.
##Community
Find out more in the AppSphere community.
##Support
For any questions or feature request, please contact AppDynamics Center of Excellence.