### START - Repos ###
#repo-addr1 = <IP ADDRESS OF A *LOCAL* REPO>
#repo-addr2 = <IP ADDRESS OF ANOTHER *LOCAL* REPO>

#### UBUNTU repos - START
### Ubuntu Base OS packages
#ubuntu-baseos-original-url = http://us.archive.ubuntu.com/ubuntu/
#ubuntu-baseos-dists = precise,precise-updates,precise-backports
#ubuntu-baseos-components= main,universe,multiverse,restricted
#ubuntu-baseos-local-url = http://REPO_ADDR/repo/ubuntu_repos/ubuntu_precise/
#ubuntu-baseos-gpgkey = 
#ubuntu-baseos-name= ubuntu-precise
#### UBUNTU repos - END

#### RHEL repos - START
### Red Hat Base OS packages
#rhel-baseos-original-url = http://<POINT TO A URL CONTAINING THE BASE OS PACKAGES>/rhel_repos/RHEL_REPO_RELEASE_REPO_ARCH/
#rhel-baseos-local-url = http://REPO_ADDR/repo/rhel_repos/RHEL_REPO_RELEASE_REPO_ARCH/
#rhel-baseos-name= rhel-REPO_RELEASE-REPO_ARCH
#rhel-baseos-enabled = 1
#rhel-baseos-skip_if_unavailable= 1
#rhel-baseos-priority = 6
#rhel-baseos-gpgcheckK = 0
#rhel-baseos-gpgkey = 
### Packages from CentOS
#rhel-centos-original-url = http://mirror.net.cen.ct.gov/centos/REPO_RELEASE/os/REPO_ARCH/
#rhel-centos-local-url = http://REPO_ADDR/repo/rhel_repos/centos-6/REPO_ARCH/
#rhel-centos-name= centos-6
#rhel-centos-enabled = 1
#rhel-centos-skip_if_unavailable= 1
#rhel-centos-priority = 6
#rhel-centos-gpgcheckK = 0
#rhel-centos-gpgkey =
### Packages from RPMForge
#rhel-rpmforge-original-url = http://apt.sw.be/redhat/elREPO_MAJOR_RELEASE/en/REPO_ARCH/rpmforge/
#rhel-rpmforge-local-url = http://REPO_ADDR/repo/rhel_repos/rpmforge-elREPO_MAJOR_RELEASE/REPO_ARCH/
#rhel-rpmforge-name= rpmforge
#rhel-rpmforge-enabled = 1
#rhel-rpmforge-skip_if_unavailable= 1
#rhel-rpmforge-priority = 6
#rhel-rpmforge-gpgcheckK = 0
#rhel-rpmforge-gpgkey =
### Extra Packages for Enterprise Linux
#rhel-epel-original-url = http://mirror.itc.virginia.edu/fedora-epel/REPO_MAJOR_RELEASE/REPO_ARCH/
#rhel-epel-local-url = http://REPO_ADDR/repo/rhel_repos/epelREPO_MAJOR_RELEASE/REPO_ARCH/
#rhel-epel-name= epel6
#rhel-epel-enabled = 1
#rhel-epel-skip_if_unavailable= 1
#rhel-epel-priority = 6
#rhel-epel-gpgcheckK = 0
#rhel-epel-gpgkey =
#### RHEL repos - END
### END - Repos ###

### START - PIP ###
#pip-addr1 = <IP ADDRESS OF A *LOCAL* PIP SOURCE>
#pip-addr2 = <IP ADDRESS OF ANOTHER *LOCAL* PIP SOURCE>
### END - PIP ### 

### START - Dependency installation order ###
sudo-order = 0
repo-order = 1
ifconfig-order = 2
ip-order = 3
pkill-order = 4
which-order = 5
ntp-order = 6
git-order = 7
wget-order = 8
pip-order = 9
gcc-order = 10
make-order = 11
bc-order = 12
sshpass-order = 13
curl-order = 14
screen-order = 15
rsync-order = 16
ncftp-order = 17
lftp-order = 18
netcat-order = 19
nmap-order = 20
openvpn-order = 21
gmond-order = 22
#chef-client-order = 23
rsyslog-order = 24
#rsyslog-filter-order = 25
apache-order = 26
redis-order = 27
mongodb-order = 28
#chef-server-order = 29
python-devel-order = 30
python-prettytable-order = 31 
python-daemon-order = 32
python-twisted-order = 33
python-webob-order = 34
python-beaker-order = 35
pyredis-order = 36
pymongo-order = 37
pylibvirt-order = 38
pypureomapi-order = 39
pyhtml-order = 40
gmetad-python-order = 41
bootstrap-order = 42
bootstrap-wizard-order = 43
streamprox-order = 44
d3-order = 45
novaclient-order = 46
neutronclient-order = 47
cinderclient-order = 48
glanceclient-order = 49
softlayer-order = 50
boto-order = 51
libcloud-order = 52
gcloud-order = 53
pygce-order = 54
pydocker-order = 55
pylxd-order = 56
pykube-order = 57
iptables-order = 58
R-order = 59
sshkey-order = 60
sshd-order = 61
pssh-order = 62
docutils-order = 63
python-setuptools-order = 64
markup-order = 65
pyyaml-order = 66
ruamelyaml-order = 67
jq-order = 68
urllib3-order = 69
httplib2shim-order = 70
rrdtool-order = 71
python-rrdtool-order = 72
python-dateutil-order = 73
python-pillow-order = 74
python-jsonschema-order = 75
### END - Dependency installation order ###

### START - Dependency-specific installation method ###
# pm = "package manager" (yum or apt-get)
# sl = "soft link" (assume that the dependency is already installed, just has to
# be properly exposed to the user's path.
# git = git clone using above giturl
# pip = python pip utility
# man = "manual"
sudo-install = man
repo-install = man
ifconfig-install = sl
ip-install = sl
pkill-install = pm
which-install = pm
ntp-install = pm
git-install = pm
wget-install = pm
pip-install = pm
gcc-install = pm
make-install = pm
bc-install = pm
emacs-install = pm 
sshpass-install = pm
curl-install = pm
screen-install = pm
rsync-install = pm
ncftp-install = pm
lftp-install = pm
netcat-install = man
nmap-install = pm
openvpn-install = pm
gmond-install = pm
chef-client-install = man
rsyslog-install = pm
rsyslog-filter-install = man
apache-install = pm
redis-install = pm
mongodb-install = pm
chef-server-install = man
python-devel-install = pm
python-prettytable-install = pip 
python-daemon-install = pip
python-twisted-install = pip
python-webob-install = pip
python-beaker-install = pip
gmetad-python-install = git
pyredis-install = pip
pymongo-install = pip
pylibvirt-install = pm
pypureomapi-install = pip
pyhtml-install = git
bootstrap-install = git
bootstrap-wizard-install = git
streamprox-install = git
d3-install = git
bootstrap-install = git
novaclient-install = pip
neutronclient-install = pip
cinderclient-install = pip
glanceclient-install = pip
softlayer-install = pip
boto-install = pip
libcloud-install = pip
gcloud-install = man
pygce-install = pip
pydocker-install = pip
pylxd-install = pip
pykube-install = pip
iptables-install = pm
R-install = pm
sshkey-install = man
sshd-install = pm
pssh-install = pm
docutils-install = pip
python-setuptools-install = pip
markup-install = pip
pyyaml-install = pip
ruamelyaml-install = pip
jq-install = pm
urllib3-install = pip
httplib2shim-install = pip
rrdtool-install = pm
python-rrdtool-install = pm
python-dateutil-install = pip
python-pillow-install = pip
python-jsonschema-install = pip
### END - Dependency-specific installation method ###

### START - Tests ###
sudo-configure = sudo -S ls < /dev/null
#repo-configure = ls -la /tmp/repoupdated
repo-configure = /bin/true
ifconfig-configure = /usr/local/bin/ifconfig --help 2>&1 | grep -c multicast
ip-configure = ip -V
pkill-configure = pkill -V 2>&1 | cut -d ' ' -f 4
which-configure = which true
ntp-configure = sudo ntpd >/dev/null 2>&1 && sudo ntpd -V 2>&1 | grep Ver | cut -d ' ' -f 8
git-configure = git --version | cut -d ' ' -f 3
wget-configure = wget -V | head -n 1 | cut -d ' ' -f 3
pip-configure = pip --version | cut -d ' ' -f 2
gcc-configure = gcc -v 2>&1 | grep -v Configured | grep version | cut -d ' ' -f 3
make-configure = make -v | head -n1 | cut -d ' ' -f 3
bc-configure = bc -v | grep bc[[:space:]] | awk '{ print $2 }'
emacs-configure = emacs --version | head -n 1 
sshpass-configure = sshpass -V | grep sshpass | head -n 1 | cut -d ' ' -f 2
curl-configure = curl -V | head -n 1 | cut -d ' ' -f 2
screen-configure = screen -v | grep version
rsync-configure = rsync --version | grep version
ncftp-configure = ncftp -h 2>&1 | grep Program | cut -d ' ' -f 5 | sed -e 's/\//./g'
lftp-configure = lftp --version | grep Version | cut -d " " -f 4
netcat-configure = netcat -v -w 1 localhost -z 22
nmap-configure = nmap -V | grep version | cut -d ' ' -f 3
openvpn-configure = openvpn --version | grep built | cut -d ' ' -f 2
gmond-configure = gmond --version | cut -d ' ' -f 2
chef-client-configure = knife -v | cut -d ' ' -f 2
rsyslog-configure = IF DOCKER /usr/local/bin/rsyslogd -v 2>&1 | grep compiled | sed 's/,//g' | cut -d ' ' -f 2
rsyslog-filter-configure = nmap -P0 -sU -p514 localhost 2>&1 | grep open && ls /var/log/cloudbench
apache-configure = sudo apachectl -v | grep version | cut -d '/' -f 2 | cut -d ' ' -f 1
redis-configure = redis-server -v | sed 's/[^0-9]*//g'
mongodb-configure =  mongod --version
chef-server-configure = sudo chef-server-ctl status
python-devel-configure = ls -la $(python -c "from distutils import sysconfig as s; print s.get_config_vars()['INCLUDEPY']")/Python.h
python-prettytable-configure = python -c "import prettytable; print str(prettytable.__version__).strip()"
python-daemon-configure = python -c "import daemon;"
python-twisted-configure = python -c "import twisted; from twisted.web.wsgi import WSGIResource; from twisted.internet import reactor; from twisted.web.static import File; from twisted.web.resource import Resource; from twisted.web.server import Site; from twisted.web import wsgi; print str(twisted.__version__).strip()"
python-webob-configure = python -c "import webob; from webob import Request, Response, exc"
python-beaker-configure = python -c "import beaker; from beaker.middleware import SessionMiddleware"
gmetad-python-configure = ls -la 3RPARTYDIR/monitor-core/gmetad-python/gmetad.py
pyredis-configure = python -c "import redis; print str(redis.VERSION).replace('(','').replace(')','').replace(', ','.').strip()"
pymongo-configure = python -c "import pymongo; print str(pymongo.version).strip().replace('+','')"
pylibvirt-configure = python -c "import libvirt; print str(libvirt.getVersion()).strip()"
pypureomapi-configure = python -c "import pypureomapi; print str(pypureomapi.__version__).strip()"
pyhtml-configure = python -c "import HTML; print str(HTML.__version__).strip()"
bootstrap-configure = ls -la 3RPARTYDIR/bootstrap/package.json
bootstrap-wizard-configure = ls -la 3RPARTYDIR/Bootstrap-Wizard/README.md
streamprox-configure = ls -la 3RPARTYDIR/StreamProx/README.md
d3-configure = ls -la 3RPARTYDIR/d3/component.json
novaclient-configure = python -c "import novaclient; from novaclient import client"
neutronclient-configure = python -c "import neutronclient; from neutronclient.v2_0 import client"
cinderclient-configure = python -c "import cinderclient; from cinderclient.v2 import client"
glanceclient-configure = python -c "import glanceclient; from glanceclient.v2 import client"
softlayer-configure = python -c "import SoftLayer; print "SoftLayer.__version__".replace('v','')"
boto-configure = python -c "import boto; print str(boto.__version__).strip().replace('-dev','')"
libcloud-configure = python -c "import libcloud; print str(libcloud.__version__).replace('-dev','').strip()"
gcloud-configure = sudo /usr/local/bin/gcloud -v 2>&1 | grep SDK | cut -d ' ' -f 4
pygce-configure = python -c "from oauth2client.client import GoogleCredentials; from googleapiclient.discovery import build"
pydocker-configure = python -c "import docker"
pylxd-configure = python -c "import pylxd"
pykube-configure = python -c "import pykube"
iptables-configure = sudo iptables -v 2>&1 | grep v | cut -d ' ' -f 2 | sed 's/v//g' | sed 's/://g'
R-configure = R --version | grep version | grep -v GNU
sshkey-configure = ls CREDENTIALSDIR/cbtool_rsa
sshd-configure = IF DOCKER sudo cat /etc/ssh/sshd_config | grep -v ^# | grep UseDNS | grep no
pssh-configure = sudo ln -s /usr/bin/parallel-ssh /usr/local/bin/pssh; pssh --help
docutils-configure = python -c "import docutils; print str(docutils.__version__).strip()"
python-setuptools-configure = python -c "import setuptools; print str(setuptools.__version__).strip()"
markup-configure = python -c "import markup;"
pyyaml-configure = python -c "import yaml; print str(yaml.__version__).strip()"
ruamelyaml-configure = python -c "import ruamel.yaml; print ruamel.yaml.__version__"
jq-configure = jq --version | grep jq
urllib3-configure = python -c "import urllib3; print urllib3.__version__"
httplib2shim-configure = python -c "import httplib2shim"
rrdtool-configure = rrdtool
python-rrdtool-configure = python -c "import rrdtool; print rrdtool.__version__"
python-dateutil-configure = python -c "import dateutil; print dateutil.__version__"
python-pillow-configure = python -c "import PIL; print PIL.__version__"
python-jsonschema-configure = python -c "import jsonschema; print jsonschema.__version__"
### END - Tests ###

### START - Dependency versions ###
sudo-ver = ANY
repo-ver = ANY
ifconfig-ver = 1.0
ip-ver = ANY
pkill-ver = ANY
which-ver = ANY
ntp-ver = ANY
git-ver = 1.6.0
wget-ver = 1.00
pip-ver = 1.5.4
gcc-ver = 4.0
make-ver = 3.5
bc-ver = 1.0
emacs-ver = 20.0.0
sshpass-ver = 1.0
curl-ver = 7.0
screen-ver = 4.0
rsync-ver = 2.6
ncftp-ver = 3.2.3
lftp-ver = 4.0
netcat-ver = ANY
nmap-ver = 4.0
openvpn-ver = 2.2.0
gmond-ver = 3.0
chef-client-ver = 11.4.0
rsyslog-ver = 6.0
rsyslog-filter-ver = ANY
apache-ver = 2.0
redis-ver = 2.6.0
mongodb-ver = 2.4.0
chef-server-ver = ANY
python-devel-ver = ANY
python-prettytable-ver = 0.6
python-daemon-ver = ANY
python-twisted-ver = 8.0.0
python-webob-ver = ANY
python-beaker-ver = ANY
gmetad-python-ver = ANY
pyredis-ver = 2.6.0
pymongo-ver = 2.5
pylibvirt-ver = 9003
pypureomapi-ver = 0.3
pyhtml-ver = 0.04
bootstrap-ver = ANY
bootstrap-wizard-ver = ANY
streamprox-ver = ANY
d3-ver = ANY
novaclient-ver = ANY
neutronclient-ver = ANY
cinderclient-ver = ANY
glanceclient-ver = ANY
softlayer-ver = 3.1
boto-ver = 2.1.8
libcloud-ver = 0.11.0
gcloud-ver = 100.0.0
pygce-ver = ANY
pydocker-ver = ANY
pylxd-ver = ANY
pykube-ver = ANY
iptables-ver = ANY
R-ver = 2.1
sshkey-ver = ANY
sshd-ver = ANY
pssh-ver = ANY
docutils-ver = 0.12
python-setuptools-ver = 7.0 
markup-ver = ANY
pyyaml-ver = 3.10
ruamelyaml-ver = ANY
jq-ver = ANY
urllib3-ver = 1.0
httplib2shim-ver = ANY
rrdtool-ver = ANY
python-rrdtool-ver = ANY
python-dateutil-ver = ANY
python-pillow-ver = ANY
python-jsonschema-ver = ANY
### END - Dependency versions ###

### START - Dependency tags ###
sudo-tag = base
repo-tag = base
ifconfig-tag = base
ip-tag = base
pkill-tag = base
which-tag = base
ntp-tag = base
git-tag = base
wget-tag = base
pip-tag = base
gcc-tag = base
make-tag = base
bc-tag = base
emacs-tag = base
sshpass-tag = base
curl-tag = base
screen-tag = base
rsync-tag = base
ncftp-tag = base
lftp-tag = base
netcat-tag = base
nmap-tag = base
openvpn-tag = base
gmond-tag = base
chef-client-tag = orchestrator
rsyslog-tag = base
rsyslog-filter-tag = orchestrator
apache-tag = base
redis-tag = base
mongodb-tag = orchestrator
chef-server-tag = orchestrator
python-devel-tag = base
python-setuptools-tag = base
python-prettytable-tag = base
python-daemon-tag = base
python-twisted-tag = orchestrator
python-webob-tag = orchestrator
python-beaker-tag = orchestrator
gmetad-python-tag = base
pyredis-tag = base
pymongo-tag = base
pylibvirt-tag = plm,all
pypureomapi-tag = plm,all
pyhtml-tag = orchestrator
bootstrap-tag = orchestrator
bootstrap-wizard-tag = orchestrator
streamprox-tag = orchestrator
d3-tag = orchestrator
novaclient-tag = osk,all
neutronclient-tag = osk,all
cinderclient-tag = osk,all
glanceclient-tag = osk,all
softlayer-tag = slr,all
boto-tag = ec2,all
libcloud-tag = vcd,all
gcloud-tag = gce,all
pygce-tag = gce,all
pydocker-tag = pdm,all
pylxd-tag = pcm,all
pykube-tag = kub,all
iptables-tag = base
R-tag = orchestrator
sshkey-tag = base
sshd-tag = base
pssh-tag = base
docutils-tag = orchestrator
python-setuptools-tag = base
markup-tag = orchestrator
pyyaml-tag = orchestrator
ruamelyaml-tag = orchestrator
jq-tag = base
urllib3-tag = gce,all
httplib2shim-tag = gce,all
rrdtool-tag = orchestrator
python-rrdtool-tag = orchestrator
python-dateutil-tag = orchestrator
python-pillow-tag = orchestrator
python-jsonschema-tag = orchestrator
### END - Dependency versions ###

### START - Dependency URLs ###
### END - Dependency URLs ###

### START -  Dependency and method-specific command lines ###

# MOST OF THESE COMMAND LINES ARE AUTOMATICALLY EXTRACTED FROM DOCKERFILES ON ../../docker/workload/ and ../../docker/orchestrator/

rhel-repo-install-man = sudo mv -f /tmp/*.repo /etc/yum.repos.d; touch /tmp/repoupdated; service_stop_disable iptables; service_stop_disable firewalld; exit 0
fedora-repo-install-man = sudo mv -f /tmp/*.repo /etc/yum.repos.d; touch /tmp/repoupdated; service_stop_disable iptables; service_stop_disable firewalld; exit 0
ubuntu-repo-install-man = sudo mv -f /tmp/*.list /etc/apt/sources.list.d/; sudo apt-get update; service_stop_disable iptables; service_stop_disable ipfw; exit 0

rhel-chef-client-install-man = sudo rpm -Uvh URL 
fedora-chef-client-install-man = sudo rpm -Uvh URL 
ubuntu-chef-client-preinstall-man =  wget -N -P 3RPARTYDIR URL
ubuntu-chef-client-install-man = sudo dpkg -i 3RPARTYDIR/chef_*.deb

rhel-chef-server-install-man = sudo rpm -Uvh URL 
fedora-chef-server-install-man = sudo rpm -Uvh URL 
ubuntu-chef-server-preinstall-man =  wget -N -P 3RPARTYDIR URL
ubuntu-chef-server-install-man = sudo dpkg -i chef-server_11.0.10-1.ubuntu.12.04_amd64.deb

common-sshkey-install-man = ssh-keygen -f CREDENTIALSDIR/cbtool_rsa -t rsa -N ''

### END -  Dependency and method-specific command lines ###
