diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py
index f8d6aad0e8..c4c1abb632 100644
--- a/openstackclient/compute/v2/server.py
+++ b/openstackclient/compute/v2/server.py
@@ -606,6 +606,11 @@ class CreateServer(command.ShowOne):
                    'duplicate mapping using --block-device-mapping for this '
                    'volume.'),
         )
+        parser.add_argument(
+            '--password',
+            metavar='<password>',
+            help=_("Set the password to this server"),
+        )
         parser.add_argument(
             '--flavor',
             metavar='<flavor>',
@@ -1105,6 +1110,7 @@ class CreateServer(command.ShowOne):
             userdata=userdata,
             key_name=parsed_args.key_name,
             availability_zone=parsed_args.availability_zone,
+            admin_pass=parsed_args.password,
             block_device_mapping_v2=block_device_mapping_v2,
             nics=nics,
             scheduler_hints=hints,
diff --git a/openstackclient/tests/unit/compute/v2/test_server.py b/openstackclient/tests/unit/compute/v2/test_server.py
index a9f72cf6da..0e6b34dd92 100644
--- a/openstackclient/tests/unit/compute/v2/test_server.py
+++ b/openstackclient/tests/unit/compute/v2/test_server.py
@@ -972,6 +972,7 @@ class TestServerCreate(TestServer):
             userdata=None,
             key_name=None,
             availability_zone=None,
+            admin_pass=None,
             block_device_mapping_v2=[],
             nics=[],
             scheduler_hints={},
@@ -998,6 +999,7 @@ class TestServerCreate(TestServer):
             '--property', 'Beta=b',
             '--security-group', 'securitygroup',
             '--use-config-drive',
+            '--password', 'passw0rd',
             '--hint', 'a=b',
             '--hint', 'a=c',
             self.new_server.name,
@@ -1010,6 +1012,7 @@ class TestServerCreate(TestServer):
             ('security_group', ['securitygroup']),
             ('hint', {'a': ['b', 'c']}),
             ('config_drive', True),
+            ('password', 'passw0rd'),
             ('server_name', self.new_server.name),
         ]
         parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -1038,6 +1041,7 @@ class TestServerCreate(TestServer):
             userdata=None,
             key_name='keyname',
             availability_zone=None,
+            admin_pass='passw0rd',
             block_device_mapping_v2=[],
             nics=[],
             scheduler_hints={'a': ['b', 'c']},
@@ -1124,6 +1128,7 @@ class TestServerCreate(TestServer):
             userdata=None,
             key_name='keyname',
             availability_zone=None,
+            admin_pass=None,
             block_device_mapping_v2=[],
             nics=[],
             scheduler_hints={},
@@ -1210,6 +1215,7 @@ class TestServerCreate(TestServer):
             userdata=None,
             key_name=None,
             availability_zone=None,
+            admin_pass=None,
             block_device_mapping_v2=[],
             nics=[{'net-id': 'net1_uuid',
                    'v4-fixed-ip': '',
@@ -1274,6 +1280,7 @@ class TestServerCreate(TestServer):
             userdata=None,
             key_name=None,
             availability_zone=None,
+            admin_pass=None,
             block_device_mapping_v2=[],
             nics='auto',
             scheduler_hints={},
@@ -1323,6 +1330,7 @@ class TestServerCreate(TestServer):
             userdata=None,
             key_name=None,
             availability_zone=None,
+            admin_pass=None,
             block_device_mapping_v2=[],
             nics='auto',
             scheduler_hints={},
@@ -1368,6 +1376,7 @@ class TestServerCreate(TestServer):
             userdata=None,
             key_name=None,
             availability_zone=None,
+            admin_pass=None,
             block_device_mapping_v2=[],
             nics='none',
             scheduler_hints={},
@@ -1533,6 +1542,7 @@ class TestServerCreate(TestServer):
             userdata=None,
             key_name=None,
             availability_zone=None,
+            admin_pass=None,
             block_device_mapping_v2=[],
             nics=[],
             scheduler_hints={},
@@ -1583,6 +1593,7 @@ class TestServerCreate(TestServer):
             userdata=None,
             key_name=None,
             availability_zone=None,
+            admin_pass=None,
             block_device_mapping_v2=[],
             nics=[],
             scheduler_hints={},
@@ -1638,6 +1649,7 @@ class TestServerCreate(TestServer):
             userdata=mock_file,
             key_name=None,
             availability_zone=None,
+            admin_pass=None,
             block_device_mapping_v2=[],
             nics=[],
             scheduler_hints={},
@@ -1684,6 +1696,7 @@ class TestServerCreate(TestServer):
             userdata=None,
             key_name=None,
             availability_zone=None,
+            admin_pass=None,
             block_device_mapping_v2=[{
                 'device_name': 'vda',
                 'uuid': self.volume.id,
@@ -1736,6 +1749,7 @@ class TestServerCreate(TestServer):
             userdata=None,
             key_name=None,
             availability_zone=None,
+            admin_pass=None,
             block_device_mapping_v2=[{
                 'device_name': 'vdf',
                 'uuid': self.volume.id,
@@ -1787,6 +1801,7 @@ class TestServerCreate(TestServer):
             userdata=None,
             key_name=None,
             availability_zone=None,
+            admin_pass=None,
             block_device_mapping_v2=[{
                 'device_name': 'vdf',
                 'uuid': self.volume.id,
@@ -1840,6 +1855,7 @@ class TestServerCreate(TestServer):
             userdata=None,
             key_name=None,
             availability_zone=None,
+            admin_pass=None,
             block_device_mapping_v2=[{
                 'device_name': 'vde',
                 'uuid': self.volume.id,
@@ -1895,6 +1911,7 @@ class TestServerCreate(TestServer):
             userdata=None,
             key_name=None,
             availability_zone=None,
+            admin_pass=None,
             block_device_mapping_v2=[{
                 'device_name': 'vds',
                 'uuid': self.snapshot.id,
@@ -1950,6 +1967,7 @@ class TestServerCreate(TestServer):
             userdata=None,
             key_name=None,
             availability_zone=None,
+            admin_pass=None,
             block_device_mapping_v2=[
                 {
                     'device_name': 'vdb',
@@ -2086,6 +2104,7 @@ class TestServerCreate(TestServer):
             userdata=None,
             key_name=None,
             availability_zone=None,
+            admin_pass=None,
             block_device_mapping_v2=[],
             nics='none',
             meta=None,
@@ -2141,6 +2160,7 @@ class TestServerCreate(TestServer):
             userdata=None,
             key_name=None,
             availability_zone=None,
+            admin_pass=None,
             block_device_mapping_v2=[],
             nics='none',
             meta=None,
@@ -2230,6 +2250,7 @@ class TestServerCreate(TestServer):
             userdata=None,
             key_name=None,
             availability_zone=None,
+            admin_pass=None,
             block_device_mapping_v2=[],
             nics='none',
             meta=None,
@@ -2310,6 +2331,7 @@ class TestServerCreate(TestServer):
             userdata=None,
             key_name=None,
             availability_zone=None,
+            admin_pass=None,
             block_device_mapping_v2=[],
             nics='auto',
             scheduler_hints={},
@@ -2394,6 +2416,7 @@ class TestServerCreate(TestServer):
             userdata=None,
             key_name=None,
             availability_zone=None,
+            admin_pass=None,
             block_device_mapping_v2=[],
             nics='auto',
             scheduler_hints={},
@@ -2479,6 +2502,7 @@ class TestServerCreate(TestServer):
             userdata=None,
             key_name=None,
             availability_zone=None,
+            admin_pass=None,
             block_device_mapping_v2=[],
             nics='auto',
             scheduler_hints={},
@@ -2566,6 +2590,7 @@ class TestServerCreate(TestServer):
             userdata=None,
             key_name=None,
             availability_zone=None,
+            admin_pass=None,
             block_device_mapping_v2=[],
             nics='auto',
             scheduler_hints={},
diff --git a/releasenotes/notes/bug-1708570-bb19e1213e887723.yaml b/releasenotes/notes/bug-1708570-bb19e1213e887723.yaml
new file mode 100644
index 0000000000..1a1cbdbef2
--- /dev/null
+++ b/releasenotes/notes/bug-1708570-bb19e1213e887723.yaml
@@ -0,0 +1,5 @@
+---
+features:
+  - |
+    Add ``--password`` option to ``server create`` command, allowing users to
+    set the admin password when creating a new instance.