[Kimchi-devel] [PATCH 0/7 V4] Host's software update support

Daniel H Barboza danielhb at linux.vnet.ibm.com
Fri Feb 14 15:04:10 UTC 2014


Tested-by: Daniel Barboza <danielhb at linux.vnet.ibm.com>
Reviewed-by: Daniel Barboza <danielhb at linux.vnet.ibm.com>

Comment: needs a rebase.

On 02/13/2014 12:07 PM, Aline Manera wrote:
> From: Aline Manera <alinefm at br.ibm.com>
>
> Hi all,
>
> I helped Paulo to apply the suggestions made on reviews and I am resending his
> patches.
> Following are the modifications I made.
>
> V3 -> V4
> - Update API.md - fix type and add the task resource will be returned when
>    doing an update operation
> - Use cherrypy.expose to expose the update() handler for
>    PackagesUpdate(Collection)
> - Return a task resource while performing an update operation
>    That way UI can provide good progress messages to the user
> - Use apt-get command to update Ubuntu system instead of apt binding python to
>    be able to get the output in live time.
> - Adjust errors messages according refactor exception patches
> - Expose update tool in Capabilities that way UI can disable update button when
>    no supported tool is found.
> - Add tests for test_rest.py
>
> ------------------------------------------------------------------------------
> This patch set provides support to host's software update operations.
>
> To test the backend (ONLY mockmodel) execute the following commands:
> $ cd tests
> $ sudo ./run_tests.sh test_mockmodel.MockModelTests.test_packages_update
>
> To test the REST API, execute the following commands (all them are agnostic
> of the host's distro):
>
> 1) Get list of all packages to be updated in the host:
> $ curl -H 'Content-type: application/json' -H 'Accept: application/json' http://localhost:8000/host/packagesupdate/ -X GET
>
> 2) Update the host system:
> $ curl -H 'Content-type: application/json' -H 'Accept: application/json' http://localhost:8000/host/packagesupdate/update -X POST -d ''
>
> V2 -> V3:
>   * Fixed indent and wrong bullets on docs/API.md
>   * Changed to use Collection and Resource
>   * Removed unnecessary 'exposed'
>   * PEP8 compatibility on mockmodel.py
>   * Removed debug prints from swupdate.py
>   * Fixed indent in swupdate.py
>   * Usage of utils.run_command() to execute Zypper update
>   * Updated swupdate.py and mockmodel.py to make consistent with docs/API.md
>   * Usage of Task element in mockmodel.py
>   * Created test case in test_mockmodel.py
>
>
> V1 -> V2:
>   * rebased to use new model framework
>   * added SLES as Zypper supported distro
>   * PEP8 compatibility
>   * changed import sentences
>   * use of run_command() from utils.py to execute shell commands
>   * usage of Task element to return update status
>
> V1:
>
> At this point, an agnostic class is providing support to backend and
> REST API operations. In addition, YUM (for RHEL and Fedora), APT (for
> Debian and Ubuntu) and ZYPPER (for OpenSuse) specific classes are provided
> to support the operation os each software update system.
>
> Aline Manera (2):
>    host update: Update po files
>    host update: Expose update tool
>
> Paulo Vital (5):
>    Host's software update: Update API.md
>    Host's software update: Update REST API
>    Host's software update: Update backend.
>    Host's software update: Update Makefile
>    Host's software update: Update test cases.
>
>   Makefile.am                |    1 +
>   docs/API.md                |   35 +++++++
>   po/en_US.po                |   29 +++++-
>   po/kimchi.pot              |   29 +++++-
>   po/pt_BR.po                |   29 +++++-
>   po/zh_CN.po                |   29 +++++-
>   src/kimchi/Makefile.am     |    1 +
>   src/kimchi/control/host.py |   29 ++++++
>   src/kimchi/i18n.py         |    5 +
>   src/kimchi/mockmodel.py    |   51 +++++++++
>   src/kimchi/model/config.py |   10 +-
>   src/kimchi/model/host.py   |   45 +++++++-
>   src/kimchi/swupdate.py     |  247 ++++++++++++++++++++++++++++++++++++++++++++
>   tests/test_mockmodel.py    |   15 +++
>   tests/test_rest.py         |   28 +++++
>   15 files changed, 577 insertions(+), 6 deletions(-)
>   create mode 100644 src/kimchi/swupdate.py
>




More information about the Kimchi-devel mailing list