forked from gluster/gdeploy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
gdeploy.spec
122 lines (98 loc) · 3.6 KB
/
gdeploy.spec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
%define name gdeploy
%define version 2.1.dev1
%define release 2
%define gdeploymod ansible/modules/extras/system/glusterfs
%define gdeploytemp /usr/share/ansible/gdeploy
%define gdeploydoc /usr/share/doc/gdeploy
%define gdeploysrc http://download.gluster.org/pub/gluster/gdeploy/LATEST
Name: %{name}
Version: %{version}
Release: %{?release}
Summary: Tool to deploy and manage GlusterFS cluster
Group: Applications/System
License: GPLv3
URL: http://www.redhat.com/storage
Source0: %{gdeploysrc}/%{name}-%{version}-%{release}.tar.gz
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
Requires: ansible >= 1.9 python >= 2.6 python-ecdsa >= 0.11
Requires: python-markupsafe >= 0.23 python-crypto >= 2.6.1 lvm2 >= 2
Requires: PyYAML >= 3.11 python-jinja2 >= 2.7.3 python-paramiko >= 1.15.2
BuildRequires: python-setuptools
%description
gdeploy is an Ansible based deployment tool. Initially gdeploy was written to
install GlusterFS clusters, eventually it grew out to do lot of other things. On
a given set of hosts, gdeploy can create physical volumes, volume groups, and
logical volumes, install packages, subscribe to RHN channels, run shell
commands, create GlusterFS volumes and lot more.
See http://gdeploy.readthedocs.io/en/latest/ for more details
%prep
%setup -q -n %{name}-%{version}-%{release}
%build
python setup.py build
%install
# Install the binary and python libraries
rm -rf %{buildroot}
python setup.py install -O1 --root=%{buildroot} --install-scripts %{_bindir}
mkdir -p %{buildroot}/%{python_sitelib}/%{gdeploymod}
install -m 755 modules/* \
%{buildroot}/%{python_sitelib}/%{gdeploymod}
# Install the playbooks into /usr/share/ansible/gdeploy/playbooks
mkdir -p %{buildroot}/%{gdeploytemp}
cp -r playbooks %{buildroot}/%{gdeploytemp}
# Install scripts
cp -r extras/scripts %{buildroot}/%{gdeploytemp}
# Install usecases
cp -r extras/usecases %{buildroot}/%{gdeploytemp}
# Install the script to /usr/local/bin
mkdir -p %{buildroot}/usr/local/bin
install -m 755 extras/usecases/replace-node/gluster-replace-node \
%{buildroot}/usr/local/bin
# Documentation
mkdir -p %{buildroot}/%{gdeploydoc} %{buildroot}/%{_mandir}/man1/ \
%{buildroot}/%{_mandir}/man5/
cp -r docs/* README.md examples %{buildroot}/%{gdeploydoc}
cp man/gdeploy.1* %{buildroot}/%{_mandir}/man1/
cp man/gdeploy.conf* %{buildroot}/%{_mandir}/man5/
%clean
rm -rf %{buildroot}
%files
%{_bindir}/gdeploy
%{python_sitelib}/gdeploylib/
%{python_sitelib}/gdeploycore/
%{python_sitelib}/gdeployfeatures/
%{python_sitelib}/%{gdeploymod}
%{gdeploytemp}
%{python_sitelib}/gdeploy-%{version}-*.egg-info/
/usr/local/bin/gluster-replace-node
%doc README.md
%docdir %{gdeploydoc}
%{_mandir}/man1/gdeploy*
%{_mandir}/man5/gdeploy*
%{gdeploydoc}
%changelog
* Fri Jul 15 2016 Sachidananda Urs <[email protected]> dev1
- NFS Ganesha related bug fixes.
* Wed Jun 8 2016 Sachidananda Urs <[email protected]> master-2
- First release after master rebase
* Fri Jun 3 2016 Sachidananda Urs <[email protected]> 2.0-16
- Cleaning up the spec file
* Mon Feb 1 2016 Sachidananda Urs <[email protected]> 2.0
- New design, refer: doc/gdeploy-2
* Fri Nov 6 2015 Sachidananda Urs <[email protected]> 1.1
- Patterns in configs are to be tested
- Backend setup config changes(This includes alot)
- Rerunning the config do not throw error
- Backend reset
- Host specific and group specific changes.
- Quota
- Snapshot
- Geo-replication
- Subscription manager
- Package install
- Firewalld
- samba
- CTDB
- CIFS mount
* Mon Aug 3 2015 Sachidananda Urs <[email protected]> 1.0
- Initial release.