[Kimchi-devel] [PATCH 3/4] Expose repo_mngt_tool to /config/capabilities

Paulo Ricardo Paz Vital pvital at linux.vnet.ibm.com
Thu Mar 13 02:27:53 UTC 2014


-- 
Reviewed-by: Paulo Vital <pvital at linux.vnet.ibm.com>


On Tue, 2014-03-11 at 17:34 -0300, Aline Manera wrote:
> From: Aline Manera <alinefm at br.ibm.com>
> 
> Probably, in some cases Kimchi can not be able to identify which repository
> management tool to use so expose this information to properly update the
> UI
> 
> Also update the API.md and test case to reflect this change
> 
> Signed-off-by: Aline Manera <alinefm at br.ibm.com>
> ---
>  docs/API.md                |    2 ++
>  src/kimchi/mockmodel.py    |    4 +++-
>  src/kimchi/model/config.py |   11 ++++++++++-
>  tests/test_rest.py         |    2 ++
>  4 files changed, 17 insertions(+), 2 deletions(-)
> 
> diff --git a/docs/API.md b/docs/API.md
> index b3b6c49..698fc66 100644
> --- a/docs/API.md
> +++ b/docs/API.md
> @@ -579,6 +579,8 @@ creation.
>        the system; False, otherwise.
>      * update_tool: True if there is a compatible package manager for the
>        system; False, otherwise
> +    * repo_mngt_tool: True if there is a compatible repository management tool
> +      for the system; False, otherwise
>  * **POST**: *See Configuration Actions*
> 
>  **Actions (POST):**
> diff --git a/src/kimchi/mockmodel.py b/src/kimchi/mockmodel.py
> index b842b6c..72764b0 100644
> --- a/src/kimchi/mockmodel.py
> +++ b/src/kimchi/mockmodel.py
> @@ -67,7 +67,9 @@ class MockModel(object):
>                  ['http', 'https', 'ftp', 'ftps', 'tftp'],
>                  'qemu_stream': True,
>                  'screenshot': True,
> -                'system_report_tool': True}
> +                'system_report_tool': True,
> +                'update_tool': True,
> +                'repo_mngt_tool': True}
> 
>      def reset(self):
>          self._mock_vms = {}
> diff --git a/src/kimchi/model/config.py b/src/kimchi/model/config.py
> index 3580ad3..5b27188 100644
> --- a/src/kimchi/model/config.py
> +++ b/src/kimchi/model/config.py
> @@ -27,6 +27,7 @@ from kimchi.distroloader import DistroLoader
>  from kimchi.exception import NotFoundError
>  from kimchi.featuretests import FeatureTests
>  from kimchi.model.debugreports import DebugReportsModel
> +from kimchi.repositories import Repositories
>  from kimchi.screenshot import VMScreenshot
>  from kimchi.swupdate import SoftwareUpdate
>  from kimchi.utils import check_url_path, kimchi_log
> @@ -80,11 +81,19 @@ class CapabilitiesModel(object):
>          else:
>              update_tool = True
> 
> +        try:
> +            Repositories()
> +        except Exception:
> +            repo_mngt_tool = False
> +        else:
> +            repo_mngt_tool = True
> +
>          return {'libvirt_stream_protocols': self.libvirt_stream_protocols,
>                  'qemu_stream': self.qemu_stream,
>                  'screenshot': VMScreenshot.get_stream_test_result(),
>                  'system_report_tool': bool(report_tool),
> -                'update_tool': update_tool}
> +                'update_tool': update_tool,
> +                'repo_mngt_tool': repo_mngt_tool}
> 
> 
>  class DistrosModel(object):
> diff --git a/tests/test_rest.py b/tests/test_rest.py
> index 65d50e0..92c1a83 100644
> --- a/tests/test_rest.py
> +++ b/tests/test_rest.py
> @@ -1340,6 +1340,8 @@ class RestTests(unittest.TestCase):
>          self.assertIn('qemu_stream', conf)
>          self.assertIn('screenshot', conf)
>          self.assertIn('system_report_tool', conf)
> +        self.assertIn('update_tool', conf)
> +        self.assertIn('repo_mngt_tool', conf)
> 
>      def test_auth_unprotected(self):
>          hdrs = {'AUTHORIZATION': ''}




More information about the Kimchi-devel mailing list