class_docstr: Update git submodules
code: def run(self):
      failure = False
      try:
          self.spawn("git submodule init".split())
          self.spawn("git submodule update --recursive".split())
      except Exception as e:
          failure = e
          print(e)
  
      if not check_submodule_status() == "clean":
          print("submodules could not be checked out")
          sys.exit(1)
  
imports: import os
  import subprocess
  import sys
  import warnings
  import shutil
label_desc: Use image node_id 3 for calling the UpdateSubmodules obj's underlying member method code with example usage: obj.run() without return types