-
Notifications
You must be signed in to change notification settings - Fork 70
/
gdeploy.spec
226 lines (169 loc) · 6.53 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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
%{?systemd_requires}
%global gdeploymod ansible/modules/gdeploy
%global gdeploytemp %{_datadir}/gdeploy
Name: gdeploy
Version: 2.0.2
Release: 24%{?dist}
Summary: Tool to deploy and manage GlusterFS cluster
License: GPLv3+
URL: https://github.com/gluster/gdeploy
Source0: %{url}/archive/v%{version}-%{release}.tar.gz#/%{name}-%{version}-%{release}.tar.gz
BuildArch: noarch
Requires: PyYAML
Requires: ansible > 2.3
Requires: python2
Requires: lvm2
BuildRequires: python2-setuptools
BuildRequires: python2-devel
BuildRequires: systemd
%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 more.
See http://gdeploy.readthedocs.io/en/latest/ for more details
%prep
%setup -q -n %{name}-%{version}-%{release}
# We are sticking to python2 till we clean up the code
# * Change print statements
# * Change xrange function usage
# * Change the except syntax
# ...
%build
%py2_build
pushd docs
make html
popd
%install
# Install the binary and python libraries
%py2_install
mkdir -p %{buildroot}/%{python2_sitelib}/%{gdeploymod}
install -p -m 755 modules/* \
%{buildroot}/%{python2_sitelib}/%{gdeploymod}
# Install the playbooks into /usr/share/gdeploy/playbooks
mkdir -p %{buildroot}/%{gdeploytemp}
cp -rp playbooks %{buildroot}/%{gdeploytemp}
# Install scripts
cp -rp extras/scripts %{buildroot}/%{gdeploytemp}
# Install usecases
cp -rp extras/usecases %{buildroot}/%{gdeploytemp}
# Install the script to /usr/bin
mkdir -p %{buildroot}/usr/bin
install -p -m 755 extras/usecases/replace-node/gluster-replace-node \
%{buildroot}/usr/bin
# Install the gdeploy plugin
mkdir -p %{buildroot}/%{python2_sitelib}/ansible/plugins/callback
install -p -m 644 plugins/callback/gdeploy.py \
%{buildroot}/%{python2_sitelib}/ansible/plugins/callback/
# Install the vdo service file
# https://fedoraproject.org/wiki/Packaging:Scriptlets#Systemd
# /usr/lib/systemd/system/vdo.service
install -p -m 644 extras/scripts/vdo.service \
%{buildroot}/usr/lib/systemd/system/
# Documentation
mkdir -p %{buildroot}/%{_pkgdocdir}
cp -rp docs/build/html examples %{buildroot}/%{_pkgdocdir}
# Man pages
mkdir -p %{buildroot}/%{_mandir}/man1/ \
%{buildroot}/%{_mandir}/man5/
cp -p man/gdeploy.1* %{buildroot}/%{_mandir}/man1/
cp -p man/gdeploy.conf* %{buildroot}/%{_mandir}/man5/
%post
%systemd_post vdo.service
%preun
%systemd_preun vdo.service
%postun
%systemd_postun_with_restart vdo.service
%files
%{_bindir}/gdeploy
%{_unitdir}/vdo.service
%{python2_sitelib}/gdeploy*
%{gdeploytemp}
%{python2_sitelib}/%{gdeploymod}
%{_bindir}/gluster-replace-node
%{python2_sitelib}/ansible/plugins/callback/gdeploy.py*
%doc README.md TODO
%license LICENSE
%{_mandir}/man1/gdeploy*
%{_mandir}/man5/gdeploy*
%package doc
Summary: gdeploy documentation
BuildRequires: python2-sphinx
%description doc
gdeploy is an Ansible based deployment tool, used to deploy and configure
GlusteFS.
gdeploy-doc package provides the documentation for writing gdeploy
configuration files to deploy and configure GlusterFS.
%files doc
%doc %{_pkgdocdir}
%changelog
* Thu Apr 19 2018 Ramakrishna Reddy Yekulla <[email protected]>2.0.2-25
- Adding the vdo service file
* Wed Aug 16 2017 Sachidananda Urs <[email protected]> 2.0.2-14
- Change the license to GPLv3+
- Fix the source tar ball naming
* Wed Aug 9 2017 Sachidananda Urs <[email protected]> 2.0.2-13
- Fix spec to address comment#28 from bug: 1344276
* Tue Jun 27 2017 Sachidananda Urs <[email protected]> 2.0.2-12
- Do not throw `volume start failed' error if volume is already started
- Add service `glusterfssharedstorage' to NFS Ganesha pre-requisites
- Add service `nfs-ganesha' to NFS Ganesha pre-requisites
* Thu Jun 22 2017 Sachidananda Urs <[email protected]> 2.0.2-11
- Updated extras/scripts to enable multipath
* Thu May 18 2017 Sachidananda Urs <[email protected]> 2.0.2-10
- Use shell module instead of script while executing a script
* Tue May 16 2017 Sachidananda Urs <[email protected]> 2.0.2-9
- Print the status of add-node command
* Mon May 15 2017 Sachidananda Urs <[email protected]> 2.0.2-8
- Do not export a volume unless specified in [nfs-ganesha] section
* Thu May 11 2017 Sachidananda Urs <[email protected]> 2.0.2-7
- Move the modues to ansible/modules from ansible/modules/extras
* Fri May 5 2017 Sachidananda Urs <[email protected]> 2.0.2-6
- Fixes a traceback caused for accessing non-existent key
* Fri May 5 2017 Sachidananda Urs <[email protected]> 2.0.2-5
- Fixes bugs: 1447271 1446509 1446092 1444829
* Tue Apr 25 2017 Sachidananda Urs <[email protected]> 2.0.2-4
- Add cachesize variable to [backend-setup] section
* Thu Apr 13 2017 Sachidananda Urs <[email protected]> 2.0.2-3
- Fix a traceback in RHEL6, catch exception and print message
* Thu Mar 30 2017 Sachidananda Urs <[email protected]> 2.0.2-2
- Fixed an issue where playbooks were installed wrongly
* Wed Mar 22 2017 Sachidananda Urs <[email protected]> 2.0.2-1
- Fixes NFS Ganesha delete node issue
- Add support for RAID5
* Tue Jan 10 2017 Sachidananda Urs <[email protected]> 2.0.1-4
- Fix spec to address comment#19 from bug: 1344276
* Mon Nov 7 2016 Sachidananda Urs <[email protected]> 2.0.1-3
- Fix spec file to conform to Fedora standards
* Wed Nov 2 2016 Sachidananda Urs <[email protected]> 2.0.1-2
- Fixes bugs: 1390872, 1390871, 1387174
* Thu Sep 29 2016 Sachidananda Urs <[email protected]> 2.0.1-1
- Removed ansible dependency from RHEL6
* Tue Aug 23 2016 Sachidananda Urs <[email protected]> 2.0.1
- Add support for configuring NFS Ganesha, Samba, and CTDB
* 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.