Makesystem target for astute rpm package
blueprint pack-all-eggs-and-gems Related-Bug: #1312130 Change-Id: I516e6806a458de8f63bf9f2718533d4ee6741c99
This commit is contained in:
parent
387d2e931e
commit
a53a007a36
|
@ -0,0 +1,9 @@
|
|||
broker_host: 'localhost' #AMQP server
|
||||
broker_port: 5672
|
||||
broker_username: 'naily'
|
||||
broker_password: 'naily'
|
||||
broker_queue: 'naily'
|
||||
broker_publisher_queue: 'nailgun'
|
||||
broker_exchange: 'nailgun'
|
||||
#reboot_timeout: 120 # Wait for reboot request
|
||||
#provisioning_timeout: 5400 # Timeout for target nodes to install OS
|
|
@ -10,23 +10,42 @@ clean-rpm:
|
|||
RPM_SOURCES:=$(BUILD_DIR)/packages/rpm/SOURCES
|
||||
|
||||
# Usage:
|
||||
# (eval (call prepare_source,package_name,file_name,source_path))
|
||||
define prepare_source
|
||||
# (eval (call prepare_file_source,package_name,file_name,source_path))
|
||||
define prepare_file_source
|
||||
$(BUILD_DIR)/packages/rpm/$1.done: $(BUILD_DIR)/packages/rpm/sources/$1/$2
|
||||
$(BUILD_DIR)/packages/rpm/sources/$1/$2: $(call find-files,$3)
|
||||
mkdir -p $(BUILD_DIR)/packages/rpm/sources/$1
|
||||
cp $3 $(BUILD_DIR)/packages/rpm/sources/$1/$2
|
||||
endef
|
||||
|
||||
# Usage:
|
||||
# (eval (call prepare_python_source,package_name,file_name,source_path))
|
||||
define prepare_python_source
|
||||
$(BUILD_DIR)/packages/rpm/$1.done: $(BUILD_DIR)/packages/rpm/sources/$1/$2
|
||||
$(BUILD_DIR)/packages/rpm/sources/$1/$2: $(call find-files,$3)
|
||||
mkdir -p $(BUILD_DIR)/packages/rpm/sources/$1
|
||||
ifeq ($1,nailgun-mcagents)
|
||||
cd $3 && tar zcf $(BUILD_DIR)/packages/rpm/sources/$1/$2 *
|
||||
else
|
||||
ifeq ($(findstring .tar.gz,$2),.tar.gz)
|
||||
ifeq ($1,nailgun)
|
||||
cd $3 && npm install && grunt build
|
||||
endif # /nailgun
|
||||
endif
|
||||
cd $3 && python setup.py sdist -d $(BUILD_DIR)/packages/rpm/sources/$1
|
||||
else # not tar.gz
|
||||
cp $3 $(BUILD_DIR)/packages/rpm/sources/$1/$2
|
||||
endif # /tar.gz
|
||||
endif # /mcagents
|
||||
endef
|
||||
|
||||
# Usage:
|
||||
# (eval (call prepare_tgz_source,package_name,file_name,source_path))
|
||||
define prepare_tgz_source
|
||||
$(BUILD_DIR)/packages/rpm/$1.done: $(BUILD_DIR)/packages/rpm/sources/$1/$2
|
||||
$(BUILD_DIR)/packages/rpm/sources/$1/$2: $(call find-files,$3)
|
||||
mkdir -p $(BUILD_DIR)/packages/rpm/sources/$1
|
||||
cd $3 && tar zcf $(BUILD_DIR)/packages/rpm/sources/$1/$2 *
|
||||
endef
|
||||
|
||||
# Usage:
|
||||
# (eval (call prepare_ruby21_source,package_name,file_name,source_path))
|
||||
define prepare_ruby21_source
|
||||
$(BUILD_DIR)/packages/rpm/$1.done: $(BUILD_DIR)/packages/rpm/sources/$1/$2
|
||||
$(BUILD_DIR)/packages/rpm/sources/$1/$2: $(call find-files,$3)
|
||||
mkdir -p $(BUILD_DIR)/packages/rpm/sources/$1
|
||||
cd $3 && gem build *.gemspec && cp $2 $(BUILD_DIR)/packages/rpm/sources/$1/$2
|
||||
endef
|
||||
|
||||
# Usage:
|
||||
|
@ -35,6 +54,10 @@ define build_rpm
|
|||
$(BUILD_DIR)/packages/rpm/repo.done: $(BUILD_DIR)/packages/rpm/$1.done
|
||||
$(BUILD_DIR)/packages/rpm/repo.done: $(BUILD_DIR)/packages/rpm/$1-repocleanup.done
|
||||
|
||||
# You can use package name as a target, for example: make ruby21-rubygem-astute
|
||||
# It will build astute rpm package
|
||||
$1: $(BUILD_DIR)/packages/rpm/$1.done
|
||||
|
||||
$(BUILD_DIR)/packages/rpm/$1.done: $(BUILD_DIR)/mirror/build.done
|
||||
|
||||
$(BUILD_DIR)/packages/rpm/$1.done: SANDBOX:=$(BUILD_DIR)/packages/rpm/SANDBOX
|
||||
|
@ -45,6 +68,7 @@ $(BUILD_DIR)/packages/rpm/$1.done: \
|
|||
$(BUILD_DIR)/repos/repos.done
|
||||
mkdir -p $(BUILD_DIR)/packages/rpm/RPMS/x86_64
|
||||
sudo sh -c "$$$${SANDBOX_UP}"
|
||||
sudo yum -c $$(SANDBOX)/etc/yum.conf --installroot=$$(SANDBOX) -y --nogpgcheck install ruby rpm-build tar python-setuptools
|
||||
sudo mkdir -p $$(SANDBOX)/tmp/SOURCES
|
||||
sudo cp -r $(BUILD_DIR)/packages/rpm/sources/$1/* $$(SANDBOX)/tmp/SOURCES
|
||||
sudo cp $(SOURCE_DIR)/packages/rpm/specs/$1.spec $$(SANDBOX)/tmp
|
||||
|
@ -58,18 +82,20 @@ $(BUILD_DIR)/packages/rpm/$1-repocleanup.done: $(BUILD_DIR)/mirror/build.done
|
|||
$$(ACTION.TOUCH)
|
||||
endef
|
||||
|
||||
$(eval $(call prepare_source,fencing-agent,fencing-agent.rb,$(BUILD_DIR)/repos/nailgun/bin/fencing-agent.rb))
|
||||
$(eval $(call prepare_source,fencing-agent,fencing-agent.cron,$(BUILD_DIR)/repos/nailgun/bin/fencing-agent.cron))
|
||||
$(eval $(call prepare_source,fuel-ostf,fuel-ostf-0.1.tar.gz,$(BUILD_DIR)/repos/ostf))
|
||||
$(eval $(call prepare_source,fuelmenu,fuelmenu-0.1.tar.gz,$(BUILD_DIR)/repos/nailgun/fuelmenu))
|
||||
$(eval $(call prepare_source,nailgun-agent,agent,$(BUILD_DIR)/repos/nailgun/bin/agent))
|
||||
$(eval $(call prepare_source,nailgun-agent,nailgun-agent.cron,$(BUILD_DIR)/repos/nailgun/bin/nailgun-agent.cron))
|
||||
$(eval $(call prepare_source,nailgun-mcagents,mcagents.tar.gz,$(BUILD_DIR)/repos/astute/mcagents))
|
||||
$(eval $(call prepare_source,nailgun-net-check,nailgun-net-check-0.2.tar.gz,$(BUILD_DIR)/repos/nailgun/network_checker))
|
||||
$(eval $(call prepare_source,nailgun,nailgun-0.1.0.tar.gz,$(BUILD_DIR)/repos/nailgun/nailgun))
|
||||
$(eval $(call prepare_source,python-fuelclient,fuelclient-0.2.tar.gz,$(BUILD_DIR)/repos/nailgun/fuelclient))
|
||||
$(eval $(call prepare_source,shotgun,Shotgun-0.1.0.tar.gz,$(BUILD_DIR)/repos/nailgun/shotgun))
|
||||
$(eval $(call prepare_source,nailgun-redhat-license,get_redhat_licenses,$(SOURCE_DIR)/packages/rpm/nailgun-redhat-license/get_redhat_licenses))
|
||||
$(eval $(call prepare_file_source,fencing-agent,fencing-agent.rb,$(BUILD_DIR)/repos/nailgun/bin/fencing-agent.rb))
|
||||
$(eval $(call prepare_file_source,fencing-agent,fencing-agent.cron,$(BUILD_DIR)/repos/nailgun/bin/fencing-agent.cron))
|
||||
$(eval $(call prepare_python_source,fuel-ostf,fuel-ostf-0.1.tar.gz,$(BUILD_DIR)/repos/ostf))
|
||||
$(eval $(call prepare_python_source,fuelmenu,fuelmenu-0.1.tar.gz,$(BUILD_DIR)/repos/nailgun/fuelmenu))
|
||||
$(eval $(call prepare_file_source,nailgun-agent,agent,$(BUILD_DIR)/repos/nailgun/bin/agent))
|
||||
$(eval $(call prepare_file_source,nailgun-agent,nailgun-agent.cron,$(BUILD_DIR)/repos/nailgun/bin/nailgun-agent.cron))
|
||||
$(eval $(call prepare_tgz_source,nailgun-mcagents,mcagents.tar.gz,$(BUILD_DIR)/repos/astute/mcagents))
|
||||
$(eval $(call prepare_python_source,nailgun-net-check,nailgun-net-check-0.2.tar.gz,$(BUILD_DIR)/repos/nailgun/network_checker))
|
||||
$(eval $(call prepare_python_source,nailgun,nailgun-0.1.0.tar.gz,$(BUILD_DIR)/repos/nailgun/nailgun))
|
||||
$(eval $(call prepare_python_source,python-fuelclient,fuelclient-0.2.tar.gz,$(BUILD_DIR)/repos/nailgun/fuelclient))
|
||||
$(eval $(call prepare_python_source,shotgun,Shotgun-0.1.0.tar.gz,$(BUILD_DIR)/repos/nailgun/shotgun))
|
||||
$(eval $(call prepare_file_source,nailgun-redhat-license,get_redhat_licenses,$(SOURCE_DIR)/packages/rpm/nailgun-redhat-license/get_redhat_licenses))
|
||||
$(eval $(call prepare_file_source,ruby21-rubygem-astute,astute.conf,$(SOURCE_DIR)/packages/rpm/astute.conf))
|
||||
$(eval $(call prepare_ruby21_source,ruby21-rubygem-astute,astute-0.0.2.gem,$(BUILD_DIR)/repos/astute))
|
||||
|
||||
$(eval $(call build_rpm,fencing-agent))
|
||||
$(eval $(call build_rpm,fuelmenu))
|
||||
|
@ -81,6 +107,7 @@ $(eval $(call build_rpm,fuel-ostf))
|
|||
$(eval $(call build_rpm,nailgun-agent))
|
||||
$(eval $(call build_rpm,nailgun-redhat-license))
|
||||
$(eval $(call build_rpm,python-fuelclient))
|
||||
$(eval $(call build_rpm,ruby21-rubygem-astute))
|
||||
|
||||
$(BUILD_DIR)/packages/rpm/repo.done:
|
||||
find $(BUILD_DIR)/packages/rpm/RPMS -name '*.rpm' -exec cp -u {} $(LOCAL_MIRROR_CENTOS_OS_BASEURL)/Packages \;
|
||||
|
|
|
@ -0,0 +1,160 @@
|
|||
# Generated from astute-0.0.1.gem by gem2rpm -*- rpm-spec -*-
|
||||
%define rbname astute
|
||||
%define version 0.0.2
|
||||
%define release 8
|
||||
%global gemdir %(ruby -rubygems -e 'puts Gem::dir' 2>/dev/null)
|
||||
%global geminstdir %{gemdir}/gems/%{gemname}-%{version}
|
||||
%define gembuilddir %{buildroot}%{gemdir}
|
||||
|
||||
Summary: Orchestrator for OpenStack deployment
|
||||
Name: ruby21-rubygem-%{rbname}
|
||||
|
||||
Version: %{version}
|
||||
Release: %{release}
|
||||
Group: Development/Ruby
|
||||
License: Distributable
|
||||
URL: http://fuel.mirantis.com
|
||||
Source0: %{rbname}-%{version}.gem
|
||||
# Make sure the spec template is included in the SRPM
|
||||
Source1: astute.conf
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
||||
Requires: ruby >= 2.1
|
||||
Requires: ruby21-rubygem-activesupport = 3.0.10
|
||||
Requires: ruby21-rubygem-mcollective-client = 2.4.1
|
||||
Requires: ruby21-rubygem-symboltable = 1.0.2
|
||||
Requires: ruby21-rubygem-rest-client = 1.6.7
|
||||
Requires: ruby21-rubygem-popen4 = 0.1.2
|
||||
Requires: ruby21-rubygem-amqp = 0.9.10
|
||||
Requires: ruby21-rubygem-raemon = 0.3.0
|
||||
Requires: ruby21-rubygem-net-ssh = 2.8.0
|
||||
Requires: ruby21-rubygem-net-ssh-gateway = 1.2.0
|
||||
Requires: ruby21-rubygem-net-ssh-multi = 1.2.0
|
||||
Requires: openssh-clients
|
||||
BuildRequires: ruby >= 2.1
|
||||
BuildArch: noarch
|
||||
Provides: ruby21(Astute) = %{version}
|
||||
|
||||
|
||||
%description
|
||||
Deployment Orchestrator of Puppet via MCollective. Works as a library or from
|
||||
CLI.
|
||||
|
||||
|
||||
%prep
|
||||
%setup -T -c
|
||||
|
||||
%build
|
||||
|
||||
%install
|
||||
%{__rm} -rf %{buildroot}
|
||||
mkdir -p %{gembuilddir}
|
||||
gem install --local --install-dir %{gembuilddir} --force %{SOURCE0}
|
||||
mkdir -p %{buildroot}%{_bindir}
|
||||
mv %{gembuilddir}/bin/* %{buildroot}%{_bindir}
|
||||
rmdir %{gembuilddir}/bin
|
||||
|
||||
install -d -m 750 %{buildroot}%{_sysconfdir}/astute
|
||||
install -p -D -m 640 %{SOURCE1} %{buildroot}%{_sysconfdir}/astute/astute.conf
|
||||
cat > %{buildroot}%{_bindir}/astuted <<EOF
|
||||
#!/bin/bash
|
||||
ruby -r 'rubygems' -e "gem 'astute', '>= 0'; load Gem.bin_path('astute', 'astuted', '>= 0')" -- \$@
|
||||
EOF
|
||||
|
||||
install -d -m 755 %{buildroot}%{_localstatedir}/log/astute
|
||||
|
||||
%clean
|
||||
%{__rm} -rf %{buildroot}
|
||||
|
||||
%files
|
||||
%defattr(-, root, root)
|
||||
# %{_bindir}/astute
|
||||
# %{gemdir}/gems/astute-0.0.2/bin/astute
|
||||
%{gemdir}/gems/astute-0.0.2/bin/astuted
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute.rb
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute/config.rb
|
||||
# %{gemdir}/gems/astute-0.0.2/lib/astute/rpuppet.rb
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute/deployment_engine.rb
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute/deployment_engine/nailyfact.rb
|
||||
# %{gemdir}/gems/astute-0.0.2/lib/astute/deployment_engine/simple_puppet.rb
|
||||
# %{gemdir}/gems/astute-0.0.2/lib/astute/metadata.rb
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute/cobbler_manager.rb
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute/dump.rb
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute/exceptions.rb
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute/ext/deep_copy.rb
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute/ext/exception.rb
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute/ext/hash.rb
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute/post_deploy_actions.rb
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute/post_deploy_actions/restart_radosgw.rb
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute/post_deploy_actions/update_cluster_hosts_info.rb
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute/post_deploy_actions/upload_cirros_image.rb
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute/redhat_checker.rb
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute/logparser.rb
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute/reporter.rb
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute/version.rb
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute/node.rb
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute/puppetd.rb
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute/context.rb
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute/orchestrator.rb
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute/logparser/deployment.rb
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute/logparser/provision.rb
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute/logparser/parser_patterns.rb
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute/cobbler.rb
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute/mclient.rb
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute/network.rb
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute/nodes_remover.rb
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute/ssh.rb
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute/ssh_actions/ssh_erase_nodes.rb
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute/ssh_actions/ssh_hard_reboot.rb
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute/ruby_removed_functions.rb
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute/server/dispatcher.rb
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute/server/producer.rb
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute/server/reporter.rb
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute/server/server.rb
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute/server/task_queue.rb
|
||||
%{gemdir}/gems/astute-0.0.2/lib/astute/server/worker.rb
|
||||
%{gemdir}/gems/astute-0.0.2/spec/example-logs/main-menu.log_
|
||||
%{gemdir}/gems/astute-0.0.2/examples/example_astute_config.yaml
|
||||
%{gemdir}/gems/astute-0.0.2/spec/integration/mcollective_spec.rb
|
||||
%{gemdir}/gems/astute-0.0.2/spec/spec_helper.rb
|
||||
%{gemdir}/gems/astute-0.0.2/spec/unit/deployment_engine_spec.rb
|
||||
%{gemdir}/gems/astute-0.0.2/spec/unit/dump_spec.rb
|
||||
%{gemdir}/gems/astute-0.0.2/spec/unit/fixtures/common_attrs.rb
|
||||
%{gemdir}/gems/astute-0.0.2/spec/unit/fixtures/common_nodes.rb
|
||||
%{gemdir}/gems/astute-0.0.2/spec/unit/fixtures/ha_deploy.rb
|
||||
%{gemdir}/gems/astute-0.0.2/spec/unit/fixtures/ha_nodes.rb
|
||||
%{gemdir}/gems/astute-0.0.2/spec/unit/fixtures/multi_deploy.rb
|
||||
%{gemdir}/gems/astute-0.0.2/spec/unit/network_spec.rb
|
||||
%{gemdir}/gems/astute-0.0.2/spec/unit/nodes_remover_spec.rb
|
||||
%{gemdir}/gems/astute-0.0.2/spec/unit/post_deploy_actions_spec.rb
|
||||
%{gemdir}/gems/astute-0.0.2/spec/unit/redhat_checker_spec.rb
|
||||
%{gemdir}/gems/astute-0.0.2/spec/unit/restart_radosgw_hook_spec.rb
|
||||
%{gemdir}/gems/astute-0.0.2/spec/unit/update_cluster_hosts_info_hook_spec.rb
|
||||
%{gemdir}/gems/astute-0.0.2/spec/unit/upload_cirros_image_hook_spec.rb
|
||||
%{gemdir}/gems/astute-0.0.2/spec/unit/nailyfact_deploy_spec.rb
|
||||
%{gemdir}/gems/astute-0.0.2/spec/unit/orchestrator_spec.rb
|
||||
%{gemdir}/gems/astute-0.0.2/spec/unit/node_spec.rb
|
||||
%{gemdir}/gems/astute-0.0.2/spec/unit/puppetd_spec.rb
|
||||
%{gemdir}/gems/astute-0.0.2/spec/unit/logparser_spec.rb
|
||||
# %{gemdir}/gems/astute-0.0.2/spec/unit/simplepuppet_deploy_spec.rb
|
||||
%{gemdir}/gems/astute-0.0.2/spec/unit/reporter_spec.rb
|
||||
%{gemdir}/gems/astute-0.0.2/spec/unit/mclient_spec.rb
|
||||
%{gemdir}/gems/astute-0.0.2/spec/unit/cobbler_spec.rb
|
||||
%{gemdir}/gems/astute-0.0.2/spec/example-logs/puppet-agent.log.ha.contr.2
|
||||
%{gemdir}/gems/astute-0.0.2/spec/example-logs/puppet-agent.log.ha.contr.3
|
||||
%{gemdir}/gems/astute-0.0.2/spec/example-logs/puppet-agent.log.ha.contr.1
|
||||
%{gemdir}/gems/astute-0.0.2/spec/example-logs/puppet-agent.log.ha.compute
|
||||
%{gemdir}/gems/astute-0.0.2/spec/example-logs/puppet-agent.log.multi.compute
|
||||
%{gemdir}/gems/astute-0.0.2/spec/example-logs/anaconda.log_
|
||||
%{gemdir}/gems/astute-0.0.2/spec/example-logs/puppet-agent.log.multi.contr
|
||||
%{gemdir}/gems/astute-0.0.2/spec/example-logs/puppet-agent.log.singlenode
|
||||
|
||||
%dir %attr(0750, naily, naily) %{_sysconfdir}/astute
|
||||
%config(noreplace) %attr(0640, root, naily) %{_sysconfdir}/astute/astute.conf
|
||||
%dir %attr(0755, naily, naily) %{_localstatedir}/log/astute
|
||||
%config(noreplace) %{_bindir}/astuted
|
||||
|
||||
%doc %{gemdir}/doc/astute-0.0.2
|
||||
%{gemdir}/cache/astute-0.0.2.gem
|
||||
%{gemdir}/specifications/astute-0.0.2.gemspec
|
||||
|
||||
%changelog
|
22
sandbox.mk
22
sandbox.mk
|
@ -22,27 +22,7 @@ pluginconfpath=$(SANDBOX)/etc/yum/pluginconf.d
|
|||
reposdir=$(SANDBOX)/etc/yum.repos.d
|
||||
endef
|
||||
|
||||
SANDBOX_PACKAGES:=\
|
||||
byacc \
|
||||
flex \
|
||||
gcc \
|
||||
glibc-devel \
|
||||
glibc-headers \
|
||||
kernel-lt-headers \
|
||||
make \
|
||||
openssl-devel \
|
||||
postgresql-devel \
|
||||
python-devel.x86_64 \
|
||||
python-pip \
|
||||
rpm-build \
|
||||
ruby \
|
||||
ruby-devel \
|
||||
rubygem-rake \
|
||||
rubygems \
|
||||
tar \
|
||||
which \
|
||||
zlib-devel
|
||||
|
||||
SANDBOX_PACKAGES:=bash
|
||||
|
||||
define SANDBOX_UP
|
||||
echo "Starting SANDBOX up"
|
||||
|
|
Loading…
Reference in New Issue