Hi Ahmad,
When creating an instance in OpenStack, you can use the --user-data option to pass a cloud-init configuration file to the instance at boot time. This file allows you to automate initial setup tasks such as setting a user password, configuring the timezone, installing packages, or running custom scripts.
https://docs.openstack.org/nova/2024.1/user/metadata.html#user-data
Example:
cloud-init.yml
=============
#cloud-config
timezone: Asia/Tehran
user: ahmad
password: ahmad
chpasswd: { expire: False }
ssh_pwauth: True
Create Instance:
openstack server create --image ubuntu-x86_64 --flavor ubuntu --network internal --user-data cloud-init.yml vm1