monasca-agent/packaging/Makefile
Gary Hessler f9fd9c5a30 Converted the agent config file to yaml to match the plugin config files
Converted the config file to yaml and updated the config processing logic to match.
Cleaned up some deprecated config item processing.

Change-Id: I8c5d9ad841b22d20825608ac9f2c82d8011b04f0
2015-03-02 18:36:15 -07:00

118 lines
3.1 KiB
Makefile

# Builds the agent distributions using fpm.
#============
# Constants
#============
BUILD=../build/package
SRC=../
ROOT=root
BUILD_NUMBER ?= 0
VERSION=`PYTHONPATH=$(SRC) python -c "from monasca_agent.common.config import get_version; print get_version()"`
FPM_BUILD=fpm --epoch 1 -s dir -e -C $(BUILD) \
-a all -m "HP Cloud Monitoring <hpcs-mon@hp.com>" \
--url "http://www.hpcloud.com/" \
--description "`cat desc`"\
-v $(VERSION) \
--vendor "HP Cloud Monitoring" \
--iteration $(BUILD_NUMBER)
#=============
# COMMON
#=============
clean:
rm -rf $(ROOT)
rm -rf build
rm -f *.deb
# Copy the code + static files we want to deploy to our
# root directory.
source:
mkdir -p $(ROOT)
cp -r $(SRC)/monasca_agent $(ROOT)/
cp -r $(SRC)/conf.d $(ROOT)/
cp -r $(SRC)/LICENSE* $(ROOT)/
cp -r $(SRC)/agent.yaml.template $(ROOT)/
find $(ROOT) -name "*.pyc" -exec rm {} \;
# Layout all of the files common to both versions of the Agent in
# the build directory.
install_full: source
mkdir -p $(BUILD)
mkdir -p $(BUILD)/usr/monasca/agent
mkdir -p $(BUILD)/etc/monasca/agent
mkdir -p $(BUILD)/etc/monasca/agent/conf.d
mkdir -p $(BUILD)/usr/bin
mkdir -p $(BUILD)/var/log/monasca/agent
mkdir -p $(BUILD)/usr/share/monasca/agent
# Install the source to usr/share
cp -r $(ROOT)/* $(BUILD)/usr/share/monasca/agent
# Install the common executables.
ln -sf ../share/monasca/agent/monasca_agent/statsd/daemon.py $(BUILD)/usr/bin/monasca-statsd
ln -sf ../share/monasca/agent/monasca_agent/forwarder/daemon.py $(BUILD)/usr/bin/monasca-forwarder
ln -sf ../share/monasca/agent/monasca_agent/collector/daemon.py $(BUILD)/usr/bin/monasca-collector
chmod 755 $(BUILD)/usr/bin/monasca-statsd
chmod 755 $(BUILD)/usr/bin/monasca-forwarder
chmod 755 $(BUILD)/usr/bin/monasca-collector
# =====================
# DEBIAN
# =====================
install_deb: install_full
mkdir -p $(BUILD)/etc/init.d
cp monasca-agent-deb/monasca-agent.init $(BUILD)/etc/init.d/monasca-agent
chmod 755 $(BUILD)/etc/init.d/monasca-agent
# Install supervisor config.
cp monasca-agent-deb/supervisor.conf $(BUILD)/etc/monasca/agent/supervisor.conf
# Make the monasca agent debian package that includes supervisor, the forwarder
# etc.
monasca_agent_deb: clean install_deb
FPM_EDITOR="echo 'Replaces: monasca-agent (<= $(VERSION)), monasca-agent, monasca-agent-base (<= $(VERSION)), monasca-agent-lib' >>" \
$(FPM_BUILD) -t deb \
-n monasca-agent \
-d "python (>= 2.6)" \
-d "python-tornado (>= 2.3)" \
-d "supervisor (>= 3.0)" \
-d "adduser" \
-d "sysstat" \
-d "python-pycurl" \
-d "python-requests (>= 0.8.2)" \
-d "python-httplib2" \
-d "python-ntplib" \
-d "python-yaml" \
-d "python-monascaclient" \
--post-install monasca-agent-deb/postinst \
--post-uninstall monasca-agent-deb/postrm \
--pre-uninstall monasca-agent-deb/prerm \
.
#===================
# JENKINS TARGETS
#===================
deb:
mkdir -p ../artifacts
make monasca_agent_deb
cp *.deb ../artifacts
installdeb:
dpkg -i --force-confdef --force-confnew `ls -t ../artifacts/monasca-agent_*.deb | head -1`
deb_repo:
rm Packages.gz
sudo dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz
tmp:
cp ../artifacts/*.deb /tmp/shared || true
all: clean deb