Below are the steps which I have followed.
$> neutron port-create int-net --mac-address 00:11:22:01:01:01 --name 1_eth0
$> cinder create --display-name disk1 100
$> nova boot --flavor iso_flavor --image iso --security-groups default --nic port-id=$(neutron port-list | grep 1_eth0 | awk '{print $2}') --block-device source=volume,dest=volume,id=$(cinder list | grep disk1 | awk '{print $2}'),bus=virtio,bootindex=1,type=disk ISO_VM
$> nova delete ISO_VM
$> neutron port-create int-net --mac-address 00:11:22:01:01:01 --name 1_eth0
$> nova boot --flavor iso_flavor --security-groups default --nic port-id=$(neutron port-list | grep 1_eth0 | awk '{print $2}') --block-device-mapping vda=$(cinder list | grep disk1 | awk '{print $2}') ISO_FROM_VOLUME
After booting the VM, if we touch a file and restart, then the changes are not being present. Those were lost.
Better go for 'Boot from snapshot' if you want to persist the changes.
1)Install & Configure OS.
2)Create snapshot using
nova image-create --poll myInstance myInstanceSnapshot
3) Verify by
nova image-list
4) You may boot from snapshot by.
nova boot --flavor m1.tiny --image myInstanceSnapshot myNewInstance