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

Adam King rak at linux.vnet.ibm.com
Wed Mar 12 22:14:46 UTC 2014


Reviewed-by: Adam King <rak at linux.vnet.ibm.com>

On 03/11/2014 04:34 PM, 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': ''}


-- 
Adam King <rak at linux.vnet.ibm.com>
IBM CSI




More information about the Kimchi-devel mailing list