Flavor is optional for creating instance
When creating replicas, flavor is not needed. Replica has the same server settings as the primary. Change-Id: Ia9b43a464763234b84ba163d8c773b21f53f4ee7
This commit is contained in:
parent
40af556264
commit
c23da586e9
4
releasenotes/notes/victoria-flavor-optional.yaml
Normal file
4
releasenotes/notes/victoria-flavor-optional.yaml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- Change flavor as an optional parameter (``--flavor``) for creating
|
||||||
|
instance. When creating replicas, flavor is not requried.
|
@ -227,7 +227,7 @@ class CreateDatabaseInstance(command.ShowOne):
|
|||||||
help=_("Name of the instance."),
|
help=_("Name of the instance."),
|
||||||
)
|
)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'flavor',
|
'--flavor',
|
||||||
metavar='<flavor>',
|
metavar='<flavor>',
|
||||||
type=str,
|
type=str,
|
||||||
help=_("A flavor ID."),
|
help=_("A flavor ID."),
|
||||||
@ -241,7 +241,7 @@ class CreateDatabaseInstance(command.ShowOne):
|
|||||||
"Required when volume support is enabled."),
|
"Required when volume support is enabled."),
|
||||||
)
|
)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'--volume_type',
|
'--volume-type',
|
||||||
metavar='<volume_type>',
|
metavar='<volume_type>',
|
||||||
type=str,
|
type=str,
|
||||||
default=None,
|
default=None,
|
||||||
@ -268,7 +268,7 @@ class CreateDatabaseInstance(command.ShowOne):
|
|||||||
help=_("A backup name or ID."),
|
help=_("A backup name or ID."),
|
||||||
)
|
)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'--availability_zone',
|
'--availability-zone',
|
||||||
metavar='<availability_zone>',
|
metavar='<availability_zone>',
|
||||||
default=None,
|
default=None,
|
||||||
help=_("The Zone hint to give to Nova."),
|
help=_("The Zone hint to give to Nova."),
|
||||||
@ -280,7 +280,7 @@ class CreateDatabaseInstance(command.ShowOne):
|
|||||||
help=_("A datastore name or ID."),
|
help=_("A datastore name or ID."),
|
||||||
)
|
)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'--datastore_version',
|
'--datastore-version',
|
||||||
metavar='<datastore_version>',
|
metavar='<datastore_version>',
|
||||||
default=None,
|
default=None,
|
||||||
help=_("A datastore version name or ID."),
|
help=_("A datastore version name or ID."),
|
||||||
@ -298,13 +298,13 @@ class CreateDatabaseInstance(command.ShowOne):
|
|||||||
help=_("ID of the configuration group to attach to the instance."),
|
help=_("ID of the configuration group to attach to the instance."),
|
||||||
)
|
)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'--replica_of',
|
'--replica-of',
|
||||||
metavar='<source_instance>',
|
metavar='<source_instance>',
|
||||||
default=None,
|
default=None,
|
||||||
help=_("ID or name of an existing instance to replicate from."),
|
help=_("ID or name of an existing instance to replicate from."),
|
||||||
)
|
)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'--replica_count',
|
'--replica-count',
|
||||||
metavar='<count>',
|
metavar='<count>',
|
||||||
type=int,
|
type=int,
|
||||||
default=None,
|
default=None,
|
||||||
@ -353,7 +353,6 @@ class CreateDatabaseInstance(command.ShowOne):
|
|||||||
def take_action(self, parsed_args):
|
def take_action(self, parsed_args):
|
||||||
database = self.app.client_manager.database
|
database = self.app.client_manager.database
|
||||||
db_instances = database.instances
|
db_instances = database.instances
|
||||||
flavor_id = parsed_args.flavor
|
|
||||||
|
|
||||||
volume = None
|
volume = None
|
||||||
if parsed_args.size is not None and parsed_args.size <= 0:
|
if parsed_args.size is not None and parsed_args.size <= 0:
|
||||||
@ -409,7 +408,7 @@ class CreateDatabaseInstance(command.ShowOne):
|
|||||||
|
|
||||||
instance = db_instances.create(
|
instance = db_instances.create(
|
||||||
parsed_args.name,
|
parsed_args.name,
|
||||||
flavor_id,
|
flavor_id=parsed_args.flavor,
|
||||||
volume=volume,
|
volume=volume,
|
||||||
databases=databases,
|
databases=databases,
|
||||||
users=users,
|
users=users,
|
||||||
|
@ -204,15 +204,15 @@ class TestDatabaseInstanceCreate(TestInstances):
|
|||||||
@mock.patch.object(utils, 'find_resource')
|
@mock.patch.object(utils, 'find_resource')
|
||||||
def test_instance_create(self, mock_find):
|
def test_instance_create(self, mock_find):
|
||||||
mock_find.id.side_effect = ['test', 'mod_id']
|
mock_find.id.side_effect = ['test', 'mod_id']
|
||||||
args = ['test-name', '103',
|
args = ['test-name', '--flavor', '103',
|
||||||
'--size', '1',
|
'--size', '1',
|
||||||
'--databases', 'db1', 'db2',
|
'--databases', 'db1', 'db2',
|
||||||
'--users', 'u1:111', 'u2:111',
|
'--users', 'u1:111', 'u2:111',
|
||||||
'--datastore', "datastore",
|
'--datastore', "datastore",
|
||||||
'--datastore_version', "datastore_version",
|
'--datastore-version', "datastore_version",
|
||||||
'--nic', 'net-id=net1',
|
'--nic', 'net-id=net1',
|
||||||
'--replica_of', 'test',
|
'--replica-of', 'test',
|
||||||
'--replica_count', '4',
|
'--replica-count', '4',
|
||||||
'--module', 'mod_id',
|
'--module', 'mod_id',
|
||||||
'--is-public',
|
'--is-public',
|
||||||
'--allowed-cidr', '10.0.0.1/24',
|
'--allowed-cidr', '10.0.0.1/24',
|
||||||
|
@ -89,18 +89,20 @@ class Instances(base.ManagerWithFind):
|
|||||||
auth_url, user, key, auth_version=auth_version,
|
auth_url, user, key, auth_version=auth_version,
|
||||||
os_options=os_options)
|
os_options=os_options)
|
||||||
|
|
||||||
def create(self, name, flavor_id, volume=None, databases=None, users=None,
|
def create(self, name, flavor_id=None, volume=None, databases=None,
|
||||||
restorePoint=None, availability_zone=None, datastore=None,
|
users=None, restorePoint=None, availability_zone=None,
|
||||||
datastore_version=None, nics=None, configuration=None,
|
datastore=None, datastore_version=None, nics=None,
|
||||||
replica_of=None, replica_count=None, modules=None,
|
configuration=None, replica_of=None, replica_count=None,
|
||||||
locality=None, region_name=None, access=None, **kwargs):
|
modules=None, locality=None, region_name=None, access=None,
|
||||||
|
**kwargs):
|
||||||
"""Create (boot) a new instance."""
|
"""Create (boot) a new instance."""
|
||||||
|
|
||||||
body = {"instance": {
|
body = {"instance": {
|
||||||
"name": name,
|
"name": name,
|
||||||
"flavorRef": flavor_id
|
|
||||||
}}
|
}}
|
||||||
datastore_obj = {}
|
datastore_obj = {}
|
||||||
|
if flavor_id:
|
||||||
|
body["instance"]["flavorRef"] = flavor_id
|
||||||
if volume:
|
if volume:
|
||||||
body["instance"]["volume"] = volume
|
body["instance"]["volume"] = volume
|
||||||
if databases:
|
if databases:
|
||||||
|
Loading…
Reference in New Issue
Block a user