]> git.pld-linux.org Git - packages/ceph-deploy.git/blame - ceph-deploy-pld.patch
- pl
[packages/ceph-deploy.git] / ceph-deploy-pld.patch
CommitLineData
87f5bea0
JK
1From 73a760805b798f9df406402451578d069b95a794 Mon Sep 17 00:00:00 2001
2From: Joe Handzik <joseph.t.handzik@hp.com>
3Date: Tue, 7 Apr 2015 15:03:10 -0500
4Subject: [PATCH 01/14] Updating the url used to clone the remoto repository
5
6---
7 vendor.py | 2 +-
8 1 file changed, 1 insertion(+), 1 deletion(-)
9
10diff --git a/vendor.py b/vendor.py
11index e1c714d..506e87c 100644
12--- a/vendor.py
13+++ b/vendor.py
14@@ -64,7 +64,7 @@ def vendor_library(name, version, cmd=None):
15 run(['rm', '-rf', vendor_dest])
16
17 if not path.exists(vendor_dest):
18- run(['git', 'clone', 'git://ceph.com/%s' % name])
19+ run(['git', 'clone', 'https://github.com/alfredodeza/%s.git' % name])
20 os.chdir(vendor_src)
21 run(['git', 'checkout', version])
22 if cmd:
23--
242.3.0
25
26
27From 55d72f4b57cb6da0bd6d4c6207ae0a138d509be7 Mon Sep 17 00:00:00 2001
28From: Joe Handzik <joseph.t.handzik@hp.com>
29Date: Wed, 8 Apr 2015 09:53:33 -0500
30Subject: [PATCH 02/14] Updating github url to point to the ceph fork of remoto
31
32---
33 vendor.py | 2 +-
34 1 file changed, 1 insertion(+), 1 deletion(-)
35
36diff --git a/vendor.py b/vendor.py
37index 506e87c..5a88856 100644
38--- a/vendor.py
39+++ b/vendor.py
40@@ -64,7 +64,7 @@ def vendor_library(name, version, cmd=None):
41 run(['rm', '-rf', vendor_dest])
42
43 if not path.exists(vendor_dest):
44- run(['git', 'clone', 'https://github.com/alfredodeza/%s.git' % name])
45+ run(['git', 'clone', 'https://github.com/ceph/%s.git' % name])
46 os.chdir(vendor_src)
47 run(['git', 'checkout', version])
48 if cmd:
49--
502.3.0
51
52
53From 4fce039e050f4657f488371f6da84e724b15b60c Mon Sep 17 00:00:00 2001
54From: Joe Handzik <joseph.t.handzik@hp.com>
55Date: Thu, 9 Apr 2015 17:05:35 -0500
56Subject: [PATCH 03/14] Update the run function to cascade the called process's
57 return code back to its caller
58
59---
60 vendor.py | 2 ++
61 1 file changed, 2 insertions(+)
62
63diff --git a/vendor.py b/vendor.py
64index 5a88856..f56f1c3 100644
65--- a/vendor.py
66+++ b/vendor.py
67@@ -31,6 +31,8 @@ def run(cmd):
68 if result.wait():
69 print_error(result.stdout.readlines(), result.stderr.readlines())
70
71+ return result.returncode
72+
73
74 def print_error(stdout, stderr):
75 print '*'*80
76--
772.3.0
78
79
80From dbf5897cf2762b6d3c19f87490822425e3a11d09 Mon Sep 17 00:00:00 2001
81From: Joe Handzik <joseph.t.handzik@hp.com>
82Date: Thu, 9 Apr 2015 17:18:28 -0500
83Subject: [PATCH 04/14] Try the ceph.com mirror first. If that fails, retry
84 with the github url and the https protocol.
85
86---
87 vendor.py | 5 ++++-
88 1 file changed, 4 insertions(+), 1 deletion(-)
89
90diff --git a/vendor.py b/vendor.py
91index f56f1c3..ef3c52c 100644
92--- a/vendor.py
93+++ b/vendor.py
94@@ -66,7 +66,10 @@ def vendor_library(name, version, cmd=None):
95 run(['rm', '-rf', vendor_dest])
96
97 if not path.exists(vendor_dest):
98- run(['git', 'clone', 'https://github.com/ceph/%s.git' % name])
99+ rc = run(['git', 'clone', 'git://ceph.com/%s' % name])
100+ if (rc):
101+ print "%s: git clone failed using ceph.com url with rc %s, trying github.com" % (path.basename(__file__), rc)
102+ run(['git', 'clone', 'https://github.com/ceph/%s.git' % name])
103 os.chdir(vendor_src)
104 run(['git', 'checkout', version])
105 if cmd:
106--
1072.3.0
108
109
110From 95dce45746a7044b538c03c01631a7e1f0af9bc5 Mon Sep 17 00:00:00 2001
111From: Joe Handzik <joseph.t.handzik@hp.com>
112Date: Fri, 10 Apr 2015 10:10:37 -0500
113Subject: [PATCH 05/14] remove unnecessary parentheses from an if statement
114
115---
116 vendor.py | 2 +-
117 1 file changed, 1 insertion(+), 1 deletion(-)
118
119diff --git a/vendor.py b/vendor.py
120index ef3c52c..8d6ac6a 100644
121--- a/vendor.py
122+++ b/vendor.py
123@@ -67,7 +67,7 @@ def vendor_library(name, version, cmd=None):
124
125 if not path.exists(vendor_dest):
126 rc = run(['git', 'clone', 'git://ceph.com/%s' % name])
127- if (rc):
128+ if rc:
129 print "%s: git clone failed using ceph.com url with rc %s, trying github.com" % (path.basename(__file__), rc)
130 run(['git', 'clone', 'https://github.com/ceph/%s.git' % name])
131 os.chdir(vendor_src)
132--
1332.3.0
134
135
136From c809d07b8813b0598a6dc6a14ae289be47b4a30f Mon Sep 17 00:00:00 2001
137From: Ken Dreyer <kdreyer@redhat.com>
138Date: Fri, 10 Apr 2015 09:18:17 -0600
139Subject: [PATCH 06/14] doc: add CVE-2015-3010 to changelog
140
141One of the changes in ceph-deploy 1.5.23 is tracked as CVE-2015-3010.
142Document this in the changelog.
143
144Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
145---
146 docs/source/changelog.rst | 4 ++--
147 1 file changed, 2 insertions(+), 2 deletions(-)
148
149diff --git a/docs/source/changelog.rst b/docs/source/changelog.rst
150index 5363e3b..cb67522 100644
151--- a/docs/source/changelog.rst
152+++ b/docs/source/changelog.rst
153@@ -12,8 +12,8 @@ Changelog
154 * Add ``rgw`` command to easily create rgw instances.
155 * Automatically install the radosgw package.
156 * Remove unimplemented subcommands from CLI and help.
157-* Fix an issue where keyring permissions were world readable
158- (thanks Owen Synge).
159+* **CVE-2015-3010**: Fix an issue where keyring permissions were
160+ world readable (thanks Owen Synge).
161 * Fix an issue preventing all but the first host given to
162 ``install --repo`` from being used.
163
164--
1652.3.0
166
167
168From a3940704d7c91e4eabb0d579087b10629163a3d3 Mon Sep 17 00:00:00 2001
169From: Alfredo Deza <adeza@redhat.com>
170Date: Wed, 22 Apr 2015 09:31:32 -0400
171Subject: [PATCH 07/14] update the changelog
172
173Signed-off-by: Alfredo Deza <adeza@redhat.com>
174---
175 docs/source/changelog.rst | 7 +++++++
176 1 file changed, 7 insertions(+)
177
178diff --git a/docs/source/changelog.rst b/docs/source/changelog.rst
179index cb67522..9fa009d 100644
180--- a/docs/source/changelog.rst
181+++ b/docs/source/changelog.rst
182@@ -4,6 +4,13 @@ Changelog
183 1.5
184 ---
185
186+1.5.24
187+^^^^^^
188+**UNRELEASED**
189+
190+* Use version 0.0.25 of `remoto` that fixes an issue where output would be cut
191+ (https://github.com/alfredodeza/remoto/issues/15).
192+
193 1.5.23
194 ^^^^^^
195 07-Apr-2015
196--
1972.3.0
198
199
200From 1f0cd52e9bec1951a476cc3d12b5df4abf715a93 Mon Sep 17 00:00:00 2001
201From: Alfredo Deza <adeza@redhat.com>
202Date: Wed, 22 Apr 2015 09:31:57 -0400
203Subject: [PATCH 08/14] use the new 0.0.25 version of remoto
204
205Signed-off-by: Alfredo Deza <adeza@redhat.com>
206---
207 setup.py | 2 +-
208 1 file changed, 1 insertion(+), 1 deletion(-)
209
210diff --git a/setup.py b/setup.py
211index faa4e16..81fcecd 100644
212--- a/setup.py
213+++ b/setup.py
214@@ -24,7 +24,7 @@ if os.environ.get('CEPH_DEPLOY_NO_VENDOR'):
215 clean_vendor('remoto')
216 else:
217 vendorize([
218- ('remoto', '0.0.23', ['python', 'vendor.py']),
219+ ('remoto', '0.0.25', ['python', 'vendor.py']),
220 ])
221
222
223--
2242.3.0
225
226
227From 4bc9e271d5d5d7715dfd36d0142e8aba2911138e Mon Sep 17 00:00:00 2001
228From: Travis Rhoden <trhoden@redhat.com>
229Date: Thu, 7 May 2015 17:43:15 -0400
230Subject: [PATCH 09/14] Add safe_makedirs function
231
232safe_makedirs will recursively create paths, just like mkdirs -p
233
234The "safe" part is that it wont error/except if any of the paths already
235exist.
236
237Signed-off-by: Travis Rhoden <trhoden@redhat.com>
238---
239 ceph_deploy/hosts/remotes.py | 11 +++++++++++
240 1 file changed, 11 insertions(+)
241
242diff --git a/ceph_deploy/hosts/remotes.py b/ceph_deploy/hosts/remotes.py
243index 88812fc..6c8e63a 100644
244--- a/ceph_deploy/hosts/remotes.py
245+++ b/ceph_deploy/hosts/remotes.py
246@@ -296,6 +296,17 @@ def safe_mkdir(path):
247 raise
248
249
250+def safe_makedirs(path):
251+ """ create path recursively if it doesn't exist """
252+ try:
253+ os.makedirs(path)
254+ except OSError, e:
255+ if e.errno == errno.EEXIST:
256+ pass
257+ else:
258+ raise
259+
260+
261 def zeroing(dev):
262 """ zeroing last few blocks of device """
263 # this kills the crab
264--
2652.3.0
266
267
268From 2a0b467bc4f520865a520cf634043c848f1a5989 Mon Sep 17 00:00:00 2001
269From: Travis Rhoden <trhoden@redhat.com>
270Date: Thu, 7 May 2015 17:44:37 -0400
271Subject: [PATCH 10/14] Recursively create /var/lib/ceph/radosgw/... path
272
273Previously we would fail if /var/lib/ceph/radosgw didn't already
274exist. Go ahead and make that directory if needed.
275
276Signed-off-by: Travis Rhoden <trhoden@redhat.com>
277---
278 ceph_deploy/rgw.py | 2 +-
279 1 file changed, 1 insertion(+), 1 deletion(-)
280
281diff --git a/ceph_deploy/rgw.py b/ceph_deploy/rgw.py
282index 7364efc..f4e4b1d 100644
283--- a/ceph_deploy/rgw.py
284+++ b/ceph_deploy/rgw.py
285@@ -34,7 +34,7 @@ def create_rgw(distro, name, cluster, init):
286 name=name
287 )
288
289- conn.remote_module.safe_mkdir(path)
290+ conn.remote_module.safe_makedirs(path)
291
292 bootstrap_keyring = '/var/lib/ceph/bootstrap-rgw/{cluster}.keyring'.format(
293 cluster=cluster
294--
2952.3.0
296
297
298From ff32436139d17074cbc58da0d553ffb2c5f386a1 Mon Sep 17 00:00:00 2001
299From: Jacek Konieczny <j.konieczny@eggsoft.pl>
300Date: Tue, 12 May 2015 15:09:52 +0200
301Subject: [PATCH 11/14] Basic systemd support
302
303Do not assume systemd is just another variant of sysvinit.
304
305No point in supporting sysvinit in PLD, the init scripts are
306overcomplicated.
307---
308 ceph_deploy/install.py | 2 +-
309 ceph_deploy/mds.py | 10 ++++++++++
310 ceph_deploy/mon.py | 9 +++++++--
311 ceph_deploy/rgw.py | 10 ++++++++++
312 ceph_deploy/util/system.py | 26 ++++++++++++++++++--------
313 5 files changed, 46 insertions(+), 11 deletions(-)
314
315diff --git a/ceph_deploy/install.py b/ceph_deploy/install.py
316index 8665bd0..ca06721 100644
317--- a/ceph_deploy/install.py
318+++ b/ceph_deploy/install.py
319@@ -69,7 +69,7 @@ def install(args):
320 distro.codename
321 )
322
323- if distro.init == 'sysvinit' and args.cluster != 'ceph':
324+ if distro.init in ('sysvinit', 'systemd') and args.cluster != 'ceph':
325 LOG.error('refusing to install on host: %s, with custom cluster name: %s' % (
326 hostname,
327 args.cluster,
328diff --git a/ceph_deploy/mds.py b/ceph_deploy/mds.py
329index 07621d2..01c9d2a 100644
330--- a/ceph_deploy/mds.py
331+++ b/ceph_deploy/mds.py
332@@ -97,6 +97,16 @@ def create_mds(distro, name, cluster, init):
333 ],
334 timeout=7
335 )
336+ if init == 'systemd':
337+ remoto.process.run(
338+ conn,
339+ [
340+ 'systemctl',
341+ 'start',
342+ 'ceph-mds@{name}.service'.format(name=name),
343+ ],
344+ timeout=7
345+ )
346 elif init == 'sysvinit':
347 remoto.process.run(
348 conn,
349diff --git a/ceph_deploy/mon.py b/ceph_deploy/mon.py
350index 9b20944..d70cf82 100644
351--- a/ceph_deploy/mon.py
352+++ b/ceph_deploy/mon.py
353@@ -331,7 +331,12 @@ def destroy_mon(conn, cluster, hostname):
354 'cluster={cluster}'.format(cluster=cluster),
355 'id={hostname}'.format(hostname=hostname),
356 ]
357-
358+ elif conn.remote_module.path_exists(os.path.join(path, 'systemd')):
359+ status_args = [
360+ 'systemctl',
361+ 'status',
362+ 'ceph-mon@{hostname}.service'.format(hostname=hostname),
363+ ]
364 elif conn.remote_module.path_exists(os.path.join(path, 'sysvinit')):
365 status_args = [
366 'service',
367@@ -569,7 +574,7 @@ def is_running(conn, args):
368 args
369 )
370 result_string = ' '.join(stdout)
371- for run_check in [': running', ' start/running']:
372+ for run_check in [': running', ' start/running', 'active (running)']:
373 if run_check in result_string:
374 return True
375 return False
376diff --git a/ceph_deploy/rgw.py b/ceph_deploy/rgw.py
377index f4e4b1d..4462ba0 100644
378--- a/ceph_deploy/rgw.py
379+++ b/ceph_deploy/rgw.py
380@@ -95,6 +95,16 @@ def create_rgw(distro, name, cluster, init):
381 ],
382 timeout=7
383 )
384+ elif init == 'systemd':
385+ remoto.process.run(
386+ conn,
387+ [
388+ 'systemctl',
389+ 'start',
390+ 'ceph-radosgw@{name}'.format(name=name),
391+ ],
392+ timeout=7
393+ )
394 elif init == 'sysvinit':
395 remoto.process.run(
396 conn,
397diff --git a/ceph_deploy/util/system.py b/ceph_deploy/util/system.py
398index 7665dff..f8e1c81 100644
399--- a/ceph_deploy/util/system.py
400+++ b/ceph_deploy/util/system.py
401@@ -39,14 +39,24 @@ def enable_service(conn, service='ceph'):
402 This function does not do any kind of detection.
403 """
404 if is_systemd(conn):
405- remoto.process.run(
406- conn,
407- [
408- 'systemctl',
409- 'enable',
410- 'ceph',
411- ]
412- )
413+ if conn.remote_module.path_exists('/lib/systemd/system/ceph.target'):
414+ remoto.process.run(
415+ conn,
416+ [
417+ 'systemctl',
418+ 'enable',
419+ 'ceph.target',
420+ ]
421+ )
422+ else:
423+ remoto.process.run(
424+ conn,
425+ [
426+ 'systemctl',
427+ 'enable',
428+ 'ceph',
429+ ]
430+ )
431 else:
432 remoto.process.run(
433 conn,
434--
4352.3.0
436
437
438From c57a04651ea4508b63f5eff536f1be66080b8864 Mon Sep 17 00:00:00 2001
439From: Jacek Konieczny <j.konieczny@eggsoft.pl>
440Date: Tue, 12 May 2015 15:11:19 +0200
441Subject: [PATCH 12/14] PLD Linux support (systemd only)
442
443Install packages with poldek, control services with systemctl.
444---
445 ceph_deploy/hosts/__init__.py | 5 ++--
446 ceph_deploy/hosts/pld/__init__.py | 19 ++++++++++++++
447 ceph_deploy/hosts/pld/install.py | 27 ++++++++++++++++++++
448 ceph_deploy/hosts/pld/mon/__init__.py | 2 ++
449 ceph_deploy/hosts/pld/mon/create.py | 35 ++++++++++++++++++++++++++
450 ceph_deploy/hosts/pld/pkg.py | 15 +++++++++++
451 ceph_deploy/hosts/pld/uninstall.py | 15 +++++++++++
452 ceph_deploy/util/pkg_managers.py | 47 +++++++++++++++++++++++++++++++++++
453 8 files changed, 163 insertions(+), 2 deletions(-)
454 create mode 100644 ceph_deploy/hosts/pld/__init__.py
455 create mode 100644 ceph_deploy/hosts/pld/install.py
456 create mode 100644 ceph_deploy/hosts/pld/mon/__init__.py
457 create mode 100644 ceph_deploy/hosts/pld/mon/create.py
458 create mode 100644 ceph_deploy/hosts/pld/pkg.py
459 create mode 100644 ceph_deploy/hosts/pld/uninstall.py
460
461diff --git a/ceph_deploy/hosts/__init__.py b/ceph_deploy/hosts/__init__.py
462index a662304..0215348 100644
463--- a/ceph_deploy/hosts/__init__.py
464+++ b/ceph_deploy/hosts/__init__.py
465@@ -6,7 +6,7 @@ on the type of distribution/version we are dealing with.
466 """
467 import logging
468 from ceph_deploy import exc
469-from ceph_deploy.hosts import debian, centos, fedora, suse, remotes, rhel
470+from ceph_deploy.hosts import debian, centos, fedora, suse, remotes, rhel, pld
471 from ceph_deploy.connection import get_connection
472
473 logger = logging.getLogger()
474@@ -60,7 +60,7 @@ def get(hostname,
475 module.normalized_name = _normalized_distro_name(distro_name)
476 module.normalized_release = _normalized_release(release)
477 module.distro = module.normalized_name
478- module.is_el = module.normalized_name in ['redhat', 'centos', 'fedora', 'scientific']
479+ module.is_el = module.normalized_name in ['redhat', 'centos', 'fedora', 'scientific', 'pld']
480 module.release = release
481 module.codename = codename
482 module.conn = conn
483@@ -82,6 +82,7 @@ def _get_distro(distro, fallback=None, use_rhceph=False):
484 'redhat': centos,
485 'fedora': fedora,
486 'suse': suse,
487+ 'pld': pld,
488 }
489
490 if distro == 'redhat' and use_rhceph:
491diff --git a/ceph_deploy/hosts/pld/__init__.py b/ceph_deploy/hosts/pld/__init__.py
492new file mode 100644
493index 0000000..bff6a2a
494--- /dev/null
495+++ b/ceph_deploy/hosts/pld/__init__.py
496@@ -0,0 +1,19 @@
497+import mon # noqa
498+import pkg # noqa
499+from install import install # noqa
500+from uninstall import uninstall # noqa
501+
502+# Allow to set some information about this distro
503+#
504+
505+distro = None
506+release = None
507+codename = None
508+
509+def choose_init():
510+ """
511+ Select a init system
512+
513+ Returns the name of a init system (upstart, sysvinit ...).
514+ """
515+ return 'systemd'
516diff --git a/ceph_deploy/hosts/pld/install.py b/ceph_deploy/hosts/pld/install.py
517new file mode 100644
518index 0000000..610f326
519--- /dev/null
520+++ b/ceph_deploy/hosts/pld/install.py
521@@ -0,0 +1,27 @@
522+import sys
523+
524+from ceph_deploy.lib import remoto
525+
526+def install(distro, version_kind, version, adjust_repos):
527+ logger = distro.conn.logger
528+ release = distro.release
529+ machine = distro.machine_type
530+
531+ if version_kind not in ['stable', 'testing']:
532+ logger.error("Only 'stable' and 'testing' supported for PLD")
533+ sys.exit(1)
534+
535+ if version_kind == 'testing':
536+ sources = ['-n', 'th-test', '-n', 'th-ready', '-n', 'th']
537+ else:
538+ sources = ['-n', 'th']
539+
540+ remoto.process.run(
541+ distro.conn,
542+ [ 'poldek' ] + sources + [
543+ '--cmd',
544+ 'install',
545+ 'ceph',
546+ 'ceph-radosgw',
547+ ],
548+ )
549diff --git a/ceph_deploy/hosts/pld/mon/__init__.py b/ceph_deploy/hosts/pld/mon/__init__.py
550new file mode 100644
551index 0000000..936d5d8
552--- /dev/null
553+++ b/ceph_deploy/hosts/pld/mon/__init__.py
554@@ -0,0 +1,2 @@
555+from ceph_deploy.hosts.common import mon_add as add # noqa
556+from create import create # noqa
557diff --git a/ceph_deploy/hosts/pld/mon/create.py b/ceph_deploy/hosts/pld/mon/create.py
558new file mode 100644
559index 0000000..19c08a8
560--- /dev/null
561+++ b/ceph_deploy/hosts/pld/mon/create.py
562@@ -0,0 +1,35 @@
563+from ceph_deploy.hosts import common
564+from ceph_deploy.lib import remoto
565+
566+
567+def create(distro, args, monitor_keyring):
568+ hostname = distro.conn.remote_module.shortname()
569+ common.mon_create(distro, args, monitor_keyring, hostname)
570+
571+ remoto.process.run(
572+ distro.conn,
573+ [
574+ 'systemctl',
575+ 'enable',
576+ 'ceph-mon@{hostname}.service'.format(hostname=hostname)
577+ ],
578+ timeout=7,
579+ )
580+ remoto.process.run(
581+ distro.conn,
582+ [
583+ 'systemctl',
584+ 'start',
585+ 'ceph-mon@{hostname}.service'.format(hostname=hostname)
586+ ],
587+ timeout=7,
588+ )
589+ remoto.process.run(
590+ distro.conn,
591+ [
592+ 'ceph-create-keys',
593+ '--cluster', args.cluster,
594+ '-i', hostname,
595+ ],
596+ timeout=7,
597+ )
598diff --git a/ceph_deploy/hosts/pld/pkg.py b/ceph_deploy/hosts/pld/pkg.py
599new file mode 100644
600index 0000000..64f1857
601--- /dev/null
602+++ b/ceph_deploy/hosts/pld/pkg.py
603@@ -0,0 +1,15 @@
604+from ceph_deploy.util import pkg_managers
605+
606+
607+def install(distro, packages):
608+ return pkg_managers.poldek(
609+ distro.conn,
610+ packages
611+ )
612+
613+
614+def remove(distro, packages):
615+ return pkg_managers.poldek_remove(
616+ distro.conn,
617+ packages
618+ )
619diff --git a/ceph_deploy/hosts/pld/uninstall.py b/ceph_deploy/hosts/pld/uninstall.py
620new file mode 100644
621index 0000000..c047e57
622--- /dev/null
623+++ b/ceph_deploy/hosts/pld/uninstall.py
624@@ -0,0 +1,15 @@
625+from ceph_deploy.util import pkg_managers
626+
627+
628+def uninstall(conn, purge=False):
629+ packages = [
630+ 'ceph',
631+ 'ceph-common',
632+ 'radosgw',
633+ ]
634+
635+ pkg_managers.poldek_remove(
636+ conn,
637+ packages,
638+ )
639+
640diff --git a/ceph_deploy/util/pkg_managers.py b/ceph_deploy/util/pkg_managers.py
641index 8985112..ac463c3 100644
642--- a/ceph_deploy/util/pkg_managers.py
643+++ b/ceph_deploy/util/pkg_managers.py
644@@ -164,3 +164,50 @@ def zypper_remove(conn, packages, *a, **kw):
645 *a,
646 **kw
647 )
648+
649+def poldek(conn, packages, *a, **kw):
650+ if isinstance(packages, str):
651+ packages = [packages]
652+ cmd = [
653+ 'poldek',
654+ '--noask',
655+ '--cmd',
656+ 'install',
657+ ]
658+ cmd.extend(packages)
659+ return remoto.process.run(
660+ conn,
661+ cmd,
662+ *a,
663+ **kw
664+ )
665+
666+
667+def poldek_remove(conn, packages, *a, **kw):
668+ if isinstance(packages, str):
669+ packages = [packages]
670+
671+ cmd = [
672+ 'poldek',
673+ '--noask',
674+ 'uninstall',
675+ ]
676+ cmd.extend(packages)
677+
678+ return remoto.process.run(
679+ conn,
680+ cmd,
681+ *a,
682+ **kw
683+ )
684+
685+
686+def poldek_update(conn):
687+ cmd = [
688+ 'poldek',
689+ '--upa',
690+ ]
691+ return remoto.process.run(
692+ conn,
693+ cmd,
694+ )
695--
6962.3.0
697
698
699From dc6d218f03d8cfad9a8606dcb016e2e3a45b9a53 Mon Sep 17 00:00:00 2001
700From: Jacek Konieczny <j.konieczny@eggsoft.pl>
701Date: Wed, 13 May 2015 11:08:15 +0200
702Subject: [PATCH 13/14] pld: fix 'purge' action
703
704- properly remove the packages installed with 'install'
705- remove stale /etc/systemd/system/ceph.target.wants symlinks
706---
707 ceph_deploy/hosts/pld/uninstall.py | 10 ++++++----
708 ceph_deploy/util/pkg_managers.py | 3 ++-
709 2 files changed, 8 insertions(+), 5 deletions(-)
710
711diff --git a/ceph_deploy/hosts/pld/uninstall.py b/ceph_deploy/hosts/pld/uninstall.py
712index c047e57..c7a5ee5 100644
713--- a/ceph_deploy/hosts/pld/uninstall.py
714+++ b/ceph_deploy/hosts/pld/uninstall.py
715@@ -1,15 +1,17 @@
716 from ceph_deploy.util import pkg_managers
717-
718+from ceph_deploy.lib import remoto
719
720 def uninstall(conn, purge=False):
721 packages = [
722 'ceph',
723- 'ceph-common',
724- 'radosgw',
725+ 'ceph-radosgw',
726 ]
727
728 pkg_managers.poldek_remove(
729 conn,
730 packages,
731 )
732-
733+ remoto.process.run(
734+ conn,
735+ ['sh', '-c', 'rm -f /etc/systemd/system/ceph.target.wants/* || :']
736+ )
737diff --git a/ceph_deploy/util/pkg_managers.py b/ceph_deploy/util/pkg_managers.py
738index ac463c3..d7db533 100644
739--- a/ceph_deploy/util/pkg_managers.py
740+++ b/ceph_deploy/util/pkg_managers.py
741@@ -190,7 +190,8 @@ def poldek_remove(conn, packages, *a, **kw):
742 cmd = [
743 'poldek',
744 '--noask',
745- 'uninstall',
746+ '--cmd',
747+ 'uninstall'
748 ]
749 cmd.extend(packages)
750
751--
7522.3.0
753
754
755From bfd4cdafbf34fd34f777038ad8c2efa10e7bc32f Mon Sep 17 00:00:00 2001
756From: Jacek Konieczny <j.konieczny@eggsoft.pl>
757Date: Wed, 13 May 2015 13:18:22 +0200
758Subject: [PATCH 14/14] bootstrap script updated for PLD
759
760---
761 bootstrap | 13 +++++++++++++
762 1 file changed, 13 insertions(+)
763
764diff --git a/bootstrap b/bootstrap
765index 9b6fda8..c11f413 100755
766--- a/bootstrap
767+++ b/bootstrap
768@@ -16,6 +16,19 @@ if command -v lsb_release >/dev/null 2>&1; then
769 exit 1
770 fi
771 ;;
772+ PLD)
773+ for package in python-virtualenv; do
774+ if ! rpm -q $package >/dev/null 2>&1; then
775+ # add a space after old values
776+ missing="${missing:+$missing }$package"
777+ fi
778+ done
779+ if [ -n "$missing" ]; then
780+ echo "$0: missing required packages, please install them:" 1>&2
781+ echo " poldek --cmd install $missing"
782+ exit 1
783+ fi
784+ ;;
785 esac
786
787 case "$(lsb_release --id --short | awk '{print $1}')" in
788--
7892.3.0
790
This page took 0.22589 seconds and 4 git commands to generate.