code: def build_option_parser(self, description, version):
          
          parser = argparse.ArgumentParser(
              description=description,
              add_help=False, )
          parser.add_argument(
              '--version',
              action='version',
              version=__version__, )
          parser.add_argument(
              '-v', '--verbose', '--debug',
              action='count',
              dest='verbose_level',
              default=self.DEFAULT_VERBOSE_LEVEL,
              help=_('Increase verbosity of output and show tracebacks on'
                     ' errors. You can repeat this option.'))
          parser.add_argument(
              '-q', '--quiet',
              action='store_const',
              dest='verbose_level',
              const=0,
              help=_('Suppress output except warnings and errors.'))
          parser.add_argument(
              '-h', '--help',
              action=HelpAction,
              nargs=0,
              default=self,  # tricky
              help=_("Show this help message and exit."))
          parser.add_argument(
              '-r', '--retries',
              metavar="NUM",
              type=check_non_negative_int,
              default=0,
              help=_("How many times the request to the Neutron server should "
                     "be retried if it fails."))
          # FIXME(bklei): this method should come from keystoneauth1
          self._append_global_identity_args(parser)
  
          return parser
docs: Return an argparse option parser for this application.
  
          Subclasses may override this method to extend
          the parser with more global options.
  
          :param description: full description of the application
          :paramtype description: str
          :param version: version number for the application
          :paramtype version: str