Skip to content

Commit fd9a235

Browse files
fuzhaokunstephenfin
authored andcommitted
compute: Add --password option for openstack server create
Change-Id: Iaf923200efe023655a58ac5acac0b087d2fd5366 Story: #1708570 Task: #13780
1 parent a48c05b commit fd9a235

3 files changed

Lines changed: 36 additions & 0 deletions

File tree

openstackclient/compute/v2/server.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -555,6 +555,11 @@ def get_parser(self, prog_name):
555555
'duplicate mapping using --block-device-mapping for this '
556556
'volume.'),
557557
)
558+
parser.add_argument(
559+
'--password',
560+
metavar='<password>',
561+
help=_("Set the password to this server"),
562+
)
558563
parser.add_argument(
559564
'--flavor',
560565
metavar='<flavor>',
@@ -1054,6 +1059,7 @@ def _match_image(image_api, wanted_properties):
10541059
userdata=userdata,
10551060
key_name=parsed_args.key_name,
10561061
availability_zone=parsed_args.availability_zone,
1062+
admin_pass=parsed_args.password,
10571063
block_device_mapping_v2=block_device_mapping_v2,
10581064
nics=nics,
10591065
scheduler_hints=hints,

openstackclient/tests/unit/compute/v2/test_server.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -831,6 +831,7 @@ def test_server_create_minimal(self):
831831
userdata=None,
832832
key_name=None,
833833
availability_zone=None,
834+
admin_pass=None,
834835
block_device_mapping_v2=[],
835836
nics=[],
836837
scheduler_hints={},
@@ -857,6 +858,7 @@ def test_server_create_with_options(self):
857858
'--property', 'Beta=b',
858859
'--security-group', 'securitygroup',
859860
'--use-config-drive',
861+
'--password', 'passw0rd',
860862
'--hint', 'a=b',
861863
'--hint', 'a=c',
862864
self.new_server.name,
@@ -869,6 +871,7 @@ def test_server_create_with_options(self):
869871
('security_group', ['securitygroup']),
870872
('hint', {'a': ['b', 'c']}),
871873
('config_drive', True),
874+
('password', 'passw0rd'),
872875
('server_name', self.new_server.name),
873876
]
874877
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -897,6 +900,7 @@ def test_server_create_with_options(self):
897900
userdata=None,
898901
key_name='keyname',
899902
availability_zone=None,
903+
admin_pass='passw0rd',
900904
block_device_mapping_v2=[],
901905
nics=[],
902906
scheduler_hints={'a': ['b', 'c']},
@@ -983,6 +987,7 @@ def test_server_create_with_security_group_in_nova_network(self):
983987
userdata=None,
984988
key_name='keyname',
985989
availability_zone=None,
990+
admin_pass=None,
986991
block_device_mapping_v2=[],
987992
nics=[],
988993
scheduler_hints={},
@@ -1069,6 +1074,7 @@ def test_server_create_with_network(self):
10691074
userdata=None,
10701075
key_name=None,
10711076
availability_zone=None,
1077+
admin_pass=None,
10721078
block_device_mapping_v2=[],
10731079
nics=[{'net-id': 'net1_uuid',
10741080
'v4-fixed-ip': '',
@@ -1133,6 +1139,7 @@ def test_server_create_with_auto_network(self):
11331139
userdata=None,
11341140
key_name=None,
11351141
availability_zone=None,
1142+
admin_pass=None,
11361143
block_device_mapping_v2=[],
11371144
nics='auto',
11381145
scheduler_hints={},
@@ -1182,6 +1189,7 @@ def test_server_create_with_auto_network_default_v2_37(self):
11821189
userdata=None,
11831190
key_name=None,
11841191
availability_zone=None,
1192+
admin_pass=None,
11851193
block_device_mapping_v2=[],
11861194
nics='auto',
11871195
scheduler_hints={},
@@ -1227,6 +1235,7 @@ def test_server_create_with_none_network(self):
12271235
userdata=None,
12281236
key_name=None,
12291237
availability_zone=None,
1238+
admin_pass=None,
12301239
block_device_mapping_v2=[],
12311240
nics='none',
12321241
scheduler_hints={},
@@ -1392,6 +1401,7 @@ def test_server_create_with_wait_ok(self, mock_wait_for_status):
13921401
userdata=None,
13931402
key_name=None,
13941403
availability_zone=None,
1404+
admin_pass=None,
13951405
block_device_mapping_v2=[],
13961406
nics=[],
13971407
scheduler_hints={},
@@ -1442,6 +1452,7 @@ def test_server_create_with_wait_fails(self, mock_wait_for_status):
14421452
userdata=None,
14431453
key_name=None,
14441454
availability_zone=None,
1455+
admin_pass=None,
14451456
block_device_mapping_v2=[],
14461457
nics=[],
14471458
scheduler_hints={},
@@ -1497,6 +1508,7 @@ def test_server_create_userdata(self, mock_open):
14971508
userdata=mock_file,
14981509
key_name=None,
14991510
availability_zone=None,
1511+
admin_pass=None,
15001512
block_device_mapping_v2=[],
15011513
nics=[],
15021514
scheduler_hints={},
@@ -1543,6 +1555,7 @@ def test_server_create_with_block_device_mapping(self):
15431555
userdata=None,
15441556
key_name=None,
15451557
availability_zone=None,
1558+
admin_pass=None,
15461559
block_device_mapping_v2=[{
15471560
'device_name': 'vda',
15481561
'uuid': self.volume.id,
@@ -1595,6 +1608,7 @@ def test_server_create_with_block_device_mapping_min_input(self):
15951608
userdata=None,
15961609
key_name=None,
15971610
availability_zone=None,
1611+
admin_pass=None,
15981612
block_device_mapping_v2=[{
15991613
'device_name': 'vdf',
16001614
'uuid': self.volume.id,
@@ -1646,6 +1660,7 @@ def test_server_create_with_block_device_mapping_default_input(self):
16461660
userdata=None,
16471661
key_name=None,
16481662
availability_zone=None,
1663+
admin_pass=None,
16491664
block_device_mapping_v2=[{
16501665
'device_name': 'vdf',
16511666
'uuid': self.volume.id,
@@ -1699,6 +1714,7 @@ def test_server_create_with_block_device_mapping_full_input(self):
16991714
userdata=None,
17001715
key_name=None,
17011716
availability_zone=None,
1717+
admin_pass=None,
17021718
block_device_mapping_v2=[{
17031719
'device_name': 'vde',
17041720
'uuid': self.volume.id,
@@ -1754,6 +1770,7 @@ def test_server_create_with_block_device_mapping_snapshot(self):
17541770
userdata=None,
17551771
key_name=None,
17561772
availability_zone=None,
1773+
admin_pass=None,
17571774
block_device_mapping_v2=[{
17581775
'device_name': 'vds',
17591776
'uuid': self.snapshot.id,
@@ -1809,6 +1826,7 @@ def test_server_create_with_block_device_mapping_multiple(self):
18091826
userdata=None,
18101827
key_name=None,
18111828
availability_zone=None,
1829+
admin_pass=None,
18121830
block_device_mapping_v2=[
18131831
{
18141832
'device_name': 'vdb',
@@ -1945,6 +1963,7 @@ def test_server_create_image_property(self):
19451963
userdata=None,
19461964
key_name=None,
19471965
availability_zone=None,
1966+
admin_pass=None,
19481967
block_device_mapping_v2=[],
19491968
nics='none',
19501969
meta=None,
@@ -2000,6 +2019,7 @@ def test_server_create_image_property_multi(self):
20002019
userdata=None,
20012020
key_name=None,
20022021
availability_zone=None,
2022+
admin_pass=None,
20032023
block_device_mapping_v2=[],
20042024
nics='none',
20052025
meta=None,
@@ -2089,6 +2109,7 @@ def test_server_create_image_property_with_image_list(self):
20892109
userdata=None,
20902110
key_name=None,
20912111
availability_zone=None,
2112+
admin_pass=None,
20922113
block_device_mapping_v2=[],
20932114
nics='none',
20942115
meta=None,
@@ -2169,6 +2190,7 @@ def test_server_create_with_description_api_newer(self):
21692190
userdata=None,
21702191
key_name=None,
21712192
availability_zone=None,
2193+
admin_pass=None,
21722194
block_device_mapping_v2=[],
21732195
nics='auto',
21742196
scheduler_hints={},
@@ -2253,6 +2275,7 @@ def test_server_create_with_host_v274(self):
22532275
userdata=None,
22542276
key_name=None,
22552277
availability_zone=None,
2278+
admin_pass=None,
22562279
block_device_mapping_v2=[],
22572280
nics='auto',
22582281
scheduler_hints={},
@@ -2338,6 +2361,7 @@ def test_server_create_with_hypervisor_hostname_v274(self):
23382361
userdata=None,
23392362
key_name=None,
23402363
availability_zone=None,
2364+
admin_pass=None,
23412365
block_device_mapping_v2=[],
23422366
nics='auto',
23432367
scheduler_hints={},
@@ -2425,6 +2449,7 @@ def test_server_create_with_host_and_hypervisor_hostname_v274(self):
24252449
userdata=None,
24262450
key_name=None,
24272451
availability_zone=None,
2452+
admin_pass=None,
24282453
block_device_mapping_v2=[],
24292454
nics='auto',
24302455
scheduler_hints={},
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
features:
3+
- |
4+
Add ``--password`` option to ``server create`` command, allowing users to
5+
set the admin password when creating a new instance.

0 commit comments

Comments
 (0)