From a46724a584b70658a26db745e70c1d8da539e09f Mon Sep 17 00:00:00 2001 From: Masahito Muroi Date: Sat, 21 Oct 2017 10:20:40 +0900 Subject: [PATCH] Support update lease API for instance reservation plugin This patch adds instance reservation update support to the Blazar command-line client. Change-Id: I2a5ab7f6d05c0351930f69d894005329ed637dd7 Depends-On: Ibdf7a730ae45ff6d8c17de62b0fc69262df2db79 --- .../tests/v1/shell_commands/test_leases.py | 32 ++++++++++++++++++- blazarclient/v1/shell_commands/leases.py | 4 +-- 2 files changed, 33 insertions(+), 3 deletions(-) diff --git a/blazarclient/tests/v1/shell_commands/test_leases.py b/blazarclient/tests/v1/shell_commands/test_leases.py index 97be1a9..8ff7f62 100644 --- a/blazarclient/tests/v1/shell_commands/test_leases.py +++ b/blazarclient/tests/v1/shell_commands/test_leases.py @@ -139,7 +139,7 @@ class UpdateLeaseTestCase(tests.TestCase): self.assertDictEqual(self.cl.args2body(args), expected) - def test_args2body_reservation_params(self): + def test_args2body_host_reservation_params(self): args = argparse.Namespace( name=None, prolong_for=None, @@ -173,3 +173,33 @@ class UpdateLeaseTestCase(tests.TestCase): } self.assertDictEqual(self.cl.args2body(args), expected) + + def test_args2body_instance_reservation_params(self): + args = argparse.Namespace( + name=None, + prolong_for=None, + reduce_by=None, + end_date=None, + defer_by=None, + advance_by=None, + start_date=None, + reservation=[ + 'id=798379a6-194c-45dc-ba34-1b5171d5552f,' + 'vcpus=3,memory_mb=1024,disk_gb=20,' + 'amount=4,affinity=False' + ] + ) + expected = { + 'reservations': [ + { + 'id': '798379a6-194c-45dc-ba34-1b5171d5552f', + 'vcpus': 3, + 'memory_mb': 1024, + 'disk_gb': 20, + 'amount': 4, + 'affinity': 'False' + } + ] + } + + self.assertDictEqual(self.cl.args2body(args), expected) diff --git a/blazarclient/v1/shell_commands/leases.py b/blazarclient/v1/shell_commands/leases.py index c06f2ae..031dadc 100644 --- a/blazarclient/v1/shell_commands/leases.py +++ b/blazarclient/v1/shell_commands/leases.py @@ -357,8 +357,8 @@ class UpdateLease(command.UpdateCommand): 'id', # Keys for host reservation 'min', 'max', 'hypervisor_properties', 'resource_properties', - # Keys for instance reservation (update of instance reservation - # is NOT yet supported) + # Keys for instance reservation + 'vcpus', 'memory_mb', 'disk_gb', 'amount', 'affinity' ] params['reservations'] = [] reservations = []