Merge "Make set/unset commands in compute/image/common return normally when nothing specified"
This commit is contained in:
		@@ -142,11 +142,6 @@ class SetQuota(command.Command):
 | 
				
			|||||||
                if value is not None:
 | 
					                if value is not None:
 | 
				
			||||||
                    compute_kwargs[k] = value
 | 
					                    compute_kwargs[k] = value
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (compute_kwargs == {} and volume_kwargs == {}
 | 
					 | 
				
			||||||
                and network_kwargs == {}):
 | 
					 | 
				
			||||||
            sys.stderr.write("No quotas updated\n")
 | 
					 | 
				
			||||||
            return
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        if parsed_args.project:
 | 
					        if parsed_args.project:
 | 
				
			||||||
            project = utils.find_resource(
 | 
					            project = utils.find_resource(
 | 
				
			||||||
                identity_client.projects,
 | 
					                identity_client.projects,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -320,9 +320,6 @@ class SetFlavor(command.Command):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        flavor = _find_flavor(compute_client, parsed_args.flavor)
 | 
					        flavor = _find_flavor(compute_client, parsed_args.flavor)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if not parsed_args.property and not parsed_args.project:
 | 
					 | 
				
			||||||
            raise exceptions.CommandError(_("Nothing specified to be set."))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        result = 0
 | 
					        result = 0
 | 
				
			||||||
        if parsed_args.property:
 | 
					        if parsed_args.property:
 | 
				
			||||||
            try:
 | 
					            try:
 | 
				
			||||||
@@ -409,9 +406,6 @@ class UnsetFlavor(command.Command):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        flavor = _find_flavor(compute_client, parsed_args.flavor)
 | 
					        flavor = _find_flavor(compute_client, parsed_args.flavor)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if not parsed_args.property and not parsed_args.project:
 | 
					 | 
				
			||||||
            raise exceptions.CommandError(_("Nothing specified to be unset."))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        result = 0
 | 
					        result = 0
 | 
				
			||||||
        if parsed_args.property:
 | 
					        if parsed_args.property:
 | 
				
			||||||
            try:
 | 
					            try:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -691,10 +691,6 @@ class SetImage(command.Command):
 | 
				
			|||||||
                image.properties.update(kwargs['properties'])
 | 
					                image.properties.update(kwargs['properties'])
 | 
				
			||||||
                kwargs['properties'] = image.properties
 | 
					                kwargs['properties'] = image.properties
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if not kwargs:
 | 
					 | 
				
			||||||
                LOG.warning(_('no arguments specified'))
 | 
					 | 
				
			||||||
                return
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            image = image_client.images.update(image.id, **kwargs)
 | 
					            image = image_client.images.update(image.id, **kwargs)
 | 
				
			||||||
        finally:
 | 
					        finally:
 | 
				
			||||||
            # Clean up open files - make sure data isn't a string
 | 
					            # Clean up open files - make sure data isn't a string
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -596,8 +596,12 @@ class TestFlavorSet(TestFlavor):
 | 
				
			|||||||
            ('flavor', self.flavor.id),
 | 
					            ('flavor', self.flavor.id),
 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
        parsed_args = self.check_parser(self.cmd, arglist, verifylist)
 | 
					        parsed_args = self.check_parser(self.cmd, arglist, verifylist)
 | 
				
			||||||
        self.assertRaises(exceptions.CommandError, self.cmd.take_action,
 | 
					        result = self.cmd.take_action(parsed_args)
 | 
				
			||||||
                          parsed_args)
 | 
					
 | 
				
			||||||
 | 
					        self.flavors_mock.find.assert_called_with(name=parsed_args.flavor,
 | 
				
			||||||
 | 
					                                                  is_public=None)
 | 
				
			||||||
 | 
					        self.flavor_access_mock.add_tenant_access.assert_not_called()
 | 
				
			||||||
 | 
					        self.assertIsNone(result)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class TestFlavorShow(TestFlavor):
 | 
					class TestFlavorShow(TestFlavor):
 | 
				
			||||||
@@ -771,5 +775,8 @@ class TestFlavorUnset(TestFlavor):
 | 
				
			|||||||
            ('flavor', self.flavor.id),
 | 
					            ('flavor', self.flavor.id),
 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
        parsed_args = self.check_parser(self.cmd, arglist, verifylist)
 | 
					        parsed_args = self.check_parser(self.cmd, arglist, verifylist)
 | 
				
			||||||
        self.assertRaises(exceptions.CommandError, self.cmd.take_action,
 | 
					
 | 
				
			||||||
                          parsed_args)
 | 
					        result = self.cmd.take_action(parsed_args)
 | 
				
			||||||
 | 
					        self.assertIsNone(result)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        self.flavor_access_mock.remove_tenant_access.assert_not_called()
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -475,8 +475,8 @@ class TestImageSet(TestImage):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        result = self.cmd.take_action(parsed_args)
 | 
					        result = self.cmd.take_action(parsed_args)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # Verify update() was not called, if it was show the args
 | 
					        self.images_mock.update.assert_called_with(image_fakes.image_id,
 | 
				
			||||||
        self.assertEqual(self.images_mock.update.call_args_list, [])
 | 
					                                                   **{})
 | 
				
			||||||
        self.assertIsNone(result)
 | 
					        self.assertIsNone(result)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def test_image_set_options(self):
 | 
					    def test_image_set_options(self):
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
---
 | 
					---
 | 
				
			||||||
upgrade:
 | 
					upgrade:
 | 
				
			||||||
  - All ``set`` and ``unset`` commands in network, identity, image, and volume now
 | 
					  - All ``set`` and ``unset`` commands now return normally when nothing
 | 
				
			||||||
    return normally when nothing specified to modify. This will become the default
 | 
					    specified to modify. This will become the default behavior of OSC
 | 
				
			||||||
    behavior of OSC ``set`` and ``unset`` commands.
 | 
					    ``set`` and ``unset`` commands.
 | 
				
			||||||
    [Bug `1588588 <https://bugs.launchpad.net/python-openstackclient/+bug/1588588>`_]
 | 
					    [Bug `1588588 <https://bugs.launchpad.net/python-openstackclient/+bug/1588588>`_]
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user