Install the Operating System
NOTE: At this time we only support openSuSE. We are looking for help porting this process to other platforms.
Download the image from openSuSE: http://download.opensuse.org/distribution/13.2/iso/openSUSE-13.2-DVD-x86_64.iso
- Install the image on bare metal or a VM and configure the network.
- Recommended at least 60GB in root filesystem, 6GB of RAM
- Here is an example on how to install the ISO in a vCenter instance
It is recommended for the time being you do NOT accept OpenSUSE software updates to your system until we've had a chance to determine how those updates impacts the software we're installing below. Allowing software updates to occur before performing the steps in this wiki may result in your CoprHD services failing to deploy.
NOTE: To install the minimun set of packages to get started, install git and make:
Get the Source
Be sure Git knows who you are!
Anywhere you clone the source, it's important to configure Git with your name and email address before making any commits. Per CoprHD's DCO requirement, the name should be your real name and the email address should match the one associated with your Stash username.
Configure Your Development Environment
You can setup/update your developer environment in a single line (as the root user) that configures the OS with all requirements needed to start building CoprHD:
If you would like to perform a step by step configuration you can also run scripts to setup the operating system. Note that if you have a development environment ready, you can also run one of the substeps from below to configure specific items (additional repositories, RPM dependencies, java versions, etc.), but there is no need to run them after running the command from above.
Configure Additional RPM Repositories
In order to install all of the packages CoprHD requires, additional package repositories must be added. You can do this using the commands below:
Install Additional RPMs
Now that you have the extra package repositories configured, install additional RPMs needed by CoprHD:
Install Patched Nginx Server
CoprHD uses Nginx as a reverse proxy/load balancer and it needs extra patches beyond those found in the standard openSUSE RPM. Follow these steps to install or replace the existing nginx with the required version:
Configure Java 8
Make Java 8 the default Java environment on the host:
Create the storageos user and group
To add the user and group, run the following:
Create the Default CoprHD Network Configuration File
CoprHD takes its initial network configuration parameters from a file called /etc/ovfenv.properties. Create a blank file after running this command:
This should allow you to edit a configuration file like below:
Customize CoprHD's Network Configuration
Customize the default settings in /etc/ovfenv.properties as described below.
- this should match the IPv4 address you assigned to your CoprHD host
- this should match the IPv4 address of your CoprHD host's gateway
- this should match the IPv4 netmask associated with your CoprHD host's subnet
- this should be another available IPv4 address on the same subnet as network_1_ipaddr.
- It will be used as the virtual IP (vip) address for CoprHD
- for a standalone (single node) installation, it is acceptable to use network_1_ipaddr for network_vip
- For now the remaining options should remain at their default values
If you are building behind a Proxy:
if you are working behind a proxy server, there are two options to setup your environment so that the build tools/scripts work correctly. This has been tested on OpenSUSE.
Option 1: Set Environment Variables
Option 2: Setup a Transparent Proxy
Build the RPM
Once you have the source, you will want to build the RPM.
When working with the CoprHD build, it is important to always supply the oss build flag. There are number of different ways to do this:
- If using make (as shown above), specify BUILD_TYPE=oss
- If using the gradle wrapper, use "./gradlew-oss" (e.g. ./gradlew-oss eclipse to generate Eclipse project files)
- If calling gradle that's already installed on your system (CoprHD currently uses gradle 1.11), invoke it with "gradle -PbuildType=oss"
If your CoprHD build operation fails with unresolved artifact dependencies and references to hosts within the emc.com domain, you most likely forgot to specify the oss build type.
Install the RPM
When the RPM build completes, it should print out the location of the freshly built RPM.
CoprHD should start immediately when the RPM is installed, but it takes some time to initialize the database and be ready for requests.
You may find it useful to monitor the startup of the apisvc in order to know when everything is ready for requests. It won't complete its initialization and start accepting requests until after the coordinator and database services are ready.
Watch the log scroll by. When you see output similar to the following, CoprHD is ready.
When you first install CoprHD, the apisvc.log won't exist. And it will continue that way for a couple of minutes after installation because the apisvc gives the coordinatorsvc and dbsvcs some time to initialize before it starts.
Launch the UI
Before launching the UI, please ensure all services and nginx server is active/running
- /etc/storageos/storageos status (If any of the services are not active/running please try restarting)
- systemctl status nginx (Normally Nginx server takes 5-10 mins to start post the ViPR services successful start)
If any of the ViPR services or nginx server are not active and running, further debugging is required - UI may not be successfully launched
Once CoprHD is up and running, you can log in to the UI.
- Point your modern web browser to
- When prompted for credentials, login with root/ChangeMe
Once authenticated, you're ready to begin exploring CoprHD!
Ports & Protocols
As indicated above, the CoprHD UI should be accessed through the VIP on the default https port, 443.
The CoprHD REST API should be accessed over https on port 4443.