]> git-server-git.apps.pok.os.sepia.ceph.com Git - teuthology.git/commitdiff
ShamanProject: add repo installation and removal 974/head
authorZack Cerza <zack@redhat.com>
Tue, 8 Nov 2016 17:17:40 +0000 (10:17 -0700)
committerZack Cerza <zack@redhat.com>
Tue, 8 Nov 2016 17:18:09 +0000 (10:18 -0700)
Signed-off-by: Zack Cerza <zack@redhat.com>
teuthology/packaging.py

index 57e386b921a158b1f51a8f024af1fbb89bd1d8dd..f2a710188cda57e5dd17a87d21834e3cf22d3efb 100644 (file)
@@ -926,6 +926,42 @@ class ShamanProject(GitbuilderProject):
         self.assert_result()
         return self._result.json()[0]['extra']['package_manager_version']
 
+    @property
+    def repo_url(self):
+        self.assert_result()
+        return urlparse.urljoin(
+            self._result.json()[0]['chacra_url'],
+            'repo',
+        )
+
+    def _install_rpm_repo(self):
+        self.remote.run(
+            args=[
+                'sudo', 'curl', '-s', '-o',
+                '/etc/yum.repos.d/{proj}.repo'.format(proj=self.project),
+                self.repo_url,
+            ]
+        )
+
+    def _install_deb_repo(self):
+        self.remote.run(
+            args=[
+                'sudo', 'curl', '-s', '-o',
+                '/etc/apt/sources.list.d/{proj}.list'.format(
+                    proj=self.project),
+                self.repo_url,
+            ]
+        )
+
+    def _remove_rpm_repo(self):
+        self.remote.run(
+            args=[
+                'sudo',
+                'rm', '-f',
+                '/etc/yum.repos.d/{proj}.repo'.format(proj=self.project),
+            ]
+        )
+
 
 def get_builder_project():
     """