summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/conf.py2
-rw-r--r--novaclient/shell.py19
-rw-r--r--setup.py2
-rw-r--r--tests/test_shell.py13
4 files changed, 21 insertions, 15 deletions
diff --git a/docs/conf.py b/docs/conf.py
index 58428455..d8bbb5f0 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -47,7 +47,7 @@ copyright = u'Rackspace, based on work by Jacob Kaplan-Moss'
# The short X.Y version.
version = '2.5'
# The full version, including alpha/beta/rc tags.
-release = '2.5.4'
+release = '2.5.5'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
diff --git a/novaclient/shell.py b/novaclient/shell.py
index 0bd5ee97..4445680f 100644
--- a/novaclient/shell.py
+++ b/novaclient/shell.py
@@ -227,11 +227,8 @@ class OpenStackShell(object):
server = self._find_server(args.server)
server.backup_schedule.delete()
- def _boot(self, args, reservation_id=None):
+ def _boot(self, args, reservation_id=None, min_count=1, max_count=1):
"""Boot a new server."""
- min_count = args.min_instances
- max_count = args.max_instances or min_count
-
if max_count > min_count:
raise CommandError("min_instances should be <= max_instances")
if not min_count or not max_count:
@@ -319,8 +316,8 @@ class OpenStackShell(object):
@arg('name', metavar='<name>', help='Name for the new server')
def do_boot(self, args):
"""Boot a new server."""
- name, image, flavor, ipgroup, metadata, files, reservation_id = \
- self._boot(args)
+ name, image, flavor, ipgroup, metadata, files, reservation_id, \
+ min_count, max_count = self._boot(args)
server = self.cs.servers.create(args.name, image, flavor,
ipgroup=ipgroup,
@@ -369,8 +366,8 @@ class OpenStackShell(object):
@arg('name', metavar='<name>', help='Name for the new server')
def do_boot_for_account(self, args):
"""Boot a new server in an account."""
- name, image, flavor, ipgroup, metadata, files, reservation_id = \
- self._boot(args)
+ name, image, flavor, ipgroup, metadata, files, reservation_id, \
+ min_count, max_count = self._boot(args)
server = self.cs.accounts.create_instance_for(args.account, args.name,
image, flavor,
@@ -432,10 +429,14 @@ class OpenStackShell(object):
def do_zone_boot(self, args):
"""Boot a new server, potentially across Zones."""
reservation_id = args.reservation_id
+ min_count = args.min_instances
+ max_count = args.max_instances
name, image, flavor, ipgroup, metadata, \
files, reservation_id, min_count, max_count = \
self._boot(args,
- reservation_id=reservation_id)
+ reservation_id=reservation_id,
+ min_count=min_count,
+ max_count=max_count)
reservation_id = self.cs.zones.boot(args.name, image, flavor,
ipgroup=ipgroup,
diff --git a/setup.py b/setup.py
index 42204876..353900e6 100644
--- a/setup.py
+++ b/setup.py
@@ -11,7 +11,7 @@ if sys.version_info < (2,6):
setup(
name = "python-novaclient",
- version = "2.5.4",
+ version = "2.5.5",
description = "Client library for OpenStack Nova API",
long_description = read('README.rst'),
url = 'https://github.com/rackspace/python-novaclient',
diff --git a/tests/test_shell.py b/tests/test_shell.py
index 2862eedb..e7009d8b 100644
--- a/tests/test_shell.py
+++ b/tests/test_shell.py
@@ -69,14 +69,16 @@ def test_boot():
shell('boot --image 1 some-server')
assert_called(
'POST', '/servers',
- {'server': {'flavorId': 1, 'name': 'some-server', 'imageId': '1'}}
+ {'server': {'flavorId': 1, 'name': 'some-server', 'imageId': '1',
+ 'min_count': 1, 'max_count': 1}}
)
shell('boot --image 1 --meta foo=bar --meta spam=eggs some-server ')
assert_called(
'POST', '/servers',
{'server': {'flavorId': 1, 'name': 'some-server', 'imageId': '1',
- 'metadata': {'foo': 'bar', 'spam': 'eggs'}}}
+ 'min_count': 1, 'max_count': 1,
+ 'metadata': {'foo': 'bar', 'spam': 'eggs'}}}
)
@@ -90,6 +92,7 @@ def test_boot_files():
assert_called(
'POST', '/servers',
{'server': {'flavorId': 1, 'name': 'some-server', 'imageId': '1',
+ 'min_count': 1, 'max_count': 1,
'personality': [
{'path': '/tmp/bar', 'contents': expected_file_data},
{'path': '/tmp/foo', 'contents': expected_file_data}
@@ -117,6 +120,7 @@ def test_boot_key_auto():
assert_called(
'POST', '/servers',
{'server': {'flavorId': 1, 'name': 'some-server', 'imageId': '1',
+ 'min_count': 1, 'max_count': 1,
'personality': [{
'path': '/root/.ssh/authorized_keys2',
'contents': ('SSHKEY').encode('base64')},
@@ -144,6 +148,7 @@ def test_boot_key_file():
assert_called(
'POST', '/servers',
{'server': {'flavorId': 1, 'name': 'some-server', 'imageId': '1',
+ 'min_count': 1, 'max_count': 1,
'personality': [
{'path': '/root/.ssh/authorized_keys2', 'contents':
expected_file_data},
@@ -163,7 +168,7 @@ def test_boot_ipgroup():
assert_called(
'POST', '/servers',
{'server': {'flavorId': 1, 'name': 'some-server', 'imageId': '1',
- 'sharedIpGroupId': 1}}
+ 'sharedIpGroupId': 1, 'min_count': 1, 'max_count': 1}}
)
@@ -172,7 +177,7 @@ def test_boot_ipgroup_name():
assert_called(
'POST', '/servers',
{'server': {'flavorId': 1, 'name': 'some-server', 'imageId': '1',
- 'sharedIpGroupId': 1}}
+ 'sharedIpGroupId': 1, 'min_count': 1, 'max_count': 1}}
)