Hi@akhtar,
Yes, there is nothing wrong with your steps. But when you launch an instance in AWS, apart from key they do lots of thing internally. AWS assigns gateway, IP, security etc. Whereas in OpenStack the scenario is not the same. When you launch an instance in OpenStack, it will launch in Host Only Mode. So, you can ping or SSH to your instance if you are in the same Network or Router. I think that is the issue with your instance.
Now coming to the solution. You can add your VM's public ip with your instance. For that you can follow the below given steps.
$ ssh-keygen
$ cd .ssh
$ nova keypair-add –pub_key id_rsa.pub mykey
Hope this will help you.
Thank You