# File lib/fog/compute/openstack/models/server.rb, line 389
        def setup(credentials = {})
          requires :ssh_ip_address, :identity, :public_key, :username
          ssh = Fog::SSH.new(ssh_ip_address, username, credentials)
          ssh.run([
                    %(mkdir .ssh),
                    %(echo "#{public_key}" >> ~/.ssh/authorized_keys),
                    %(passwd -l #{username}),
                    %(echo "#{Fog::JSON.encode(attributes)}" >> ~/attributes.json),
                    %(echo "#{Fog::JSON.encode(metadata)}" >> ~/metadata.json)
                  ])
        rescue Errno::ECONNREFUSED
          sleep(1)
          retry
        end