I am going through open-stack Tempest code. I see some syntax @ used inside a class as below. Could some one give me a proper link where i can learn above why this @ is used.
  @classmethod
      def setUpClass(cls):
      cls.set_network_resources()
      super(TestLargeOpsScenario, cls).setUpClass()
or even like this,
  @attr(type='smoke')
  def test_update_setver_name(self):
        name = rand_server('server')
so what is the use of @ over here?
 
     
     
    