Ejemplo n.º 1
0
def get_parser():
    parser = argparse.ArgumentParser(version=version.version_string,
                                     prog='murano-test-runner')
    parser.set_defaults(func=run_tests)
    parser.add_argument('--config-file',
                        help='Path to the murano config')

    parser.add_argument('--os-auth-url',
                        default=utils.env('OS_AUTH_URL'),
                        help='Authentication URL (Env: OS_AUTH_URL)')
    parser.add_argument('--os-username',
                        default=utils.env('OS_USERNAME'),
                        help='Defaults to env[OS_USERNAME]')

    parser.add_argument('--os-password',
                        default=utils.env('OS_PASSWORD'),
                        help='Defaults to env[OS_PASSWORD]')

    parser.add_argument('--os-project-name',
                        default=utils.env('OS_PROJECT_NAME'),
                        help='Defaults to env[OS_PROJECT_NAME]')

    parser.add_argument('-p', '--package',
                        help='Full name of application package that is going '
                             'to be tested')
    parser.add_argument('-l', '--load_packages_from',
                        nargs='*', metavar='</path1, /path2>',
                        help='Directory to search packages from.'
                             ' We be added to the list of current directory'
                             ' list, provided in a config file.')
    parser.add_argument('tests', nargs='*',
                        metavar='<testMethod1, className.testMethod2>',
                        help='List of method names to be tested')
    return parser
Ejemplo n.º 2
0
    def get_parser(self, prog_name):
        parser = super(ImportBundle, self).get_parser(prog_name)
        parser.add_argument(
            'filename',
            metavar='<FILE>',
            nargs='+',
            help='Bundle URL, bundle name, or path to the bundle file.'
        )
        parser.add_argument(
            '--is-public',
            action='store_true',
            default=False,
            help="Make the package available for users from other tenants.",
        )
        parser.add_argument(
            '--exists-action',
            default='',
            choices=['a', 's', 'u'],
            help='Default action when a package already exists: '
                 '(s)kip, (u)pdate, (a)bort.'
        )
        parser.add_argument('--murano-repo-url',
                            default=murano_utils.env(
                                'MURANO_REPO_URL',
                                default=DEFAULT_REPO_URL),
                            help=('Defaults to env[MURANO_REPO_URL] '
                                  'or {0}'.format(DEFAULT_REPO_URL)))

        return parser
Ejemplo n.º 3
0
    def get_parser(self):
        parser = argparse.ArgumentParser(prog='murano-test-runner')
        parser.set_defaults(func=self.run_tests)
        parser.add_argument('--config-file', help='Path to the murano config')

        parser.add_argument('--os-auth-url',
                            default=utils.env('OS_AUTH_URL'),
                            help='Defaults to env[OS_AUTH_URL]')
        parser.add_argument('--os-username',
                            default=utils.env('OS_USERNAME'),
                            help='Defaults to env[OS_USERNAME]')

        parser.add_argument('--os-password',
                            default=utils.env('OS_PASSWORD'),
                            help='Defaults to env[OS_PASSWORD]')

        parser.add_argument('--os-project-name',
                            default=utils.env('OS_PROJECT_NAME'),
                            help='Defaults to env[OS_PROJECT_NAME]')
        parser.add_argument('-l',
                            '--load_packages_from',
                            nargs='*',
                            metavar='</path1, /path2>',
                            help='Directory to search packages from. '
                            'We be added to the list of current directory'
                            ' list, provided in a config file.')
        parser.add_argument("-v",
                            "--verbose",
                            action="store_true",
                            help="increase output verbosity")
        parser.add_argument('--version',
                            action='version',
                            version=version.version_string)
        parser.add_argument('package',
                            metavar='<PACKAGE_FQN>',
                            help='Full name of application package that is '
                            'going to be tested')
        parser.add_argument('tests',
                            nargs='*',
                            metavar='<testMethod1, className.testMethod2>',
                            help='List of method names to be tested')
        return parser
Ejemplo n.º 4
0
    def get_parser(self):
        parser = argparse.ArgumentParser(prog='murano-test-runner')
        parser.set_defaults(func=self.run_tests)
        parser.add_argument('--config-file',
                            help='Path to the murano config')

        parser.add_argument('--os-auth-url',
                            default=utils.env('OS_AUTH_URL'),
                            help='Defaults to env[OS_AUTH_URL]')
        parser.add_argument('--os-username',
                            default=utils.env('OS_USERNAME'),
                            help='Defaults to env[OS_USERNAME]')

        parser.add_argument('--os-password',
                            default=utils.env('OS_PASSWORD'),
                            help='Defaults to env[OS_PASSWORD]')

        parser.add_argument('--os-project-name',
                            default=utils.env('OS_PROJECT_NAME'),
                            help='Defaults to env[OS_PROJECT_NAME]')
        parser.add_argument('-l', '--load_packages_from',
                            nargs='*', metavar='</path1, /path2>',
                            help='Directory to search packages from. '
                                 'We be added to the list of current directory'
                                 ' list, provided in a config file.')
        parser.add_argument("-v", "--verbose", action="store_true",
                            help="increase output verbosity")
        parser.add_argument('--version', action='version',
                            version=version.version_string)
        parser.add_argument('package',
                            metavar='<PACKAGE_FQN>',
                            help='Full name of application package that is '
                                 'going to be tested')
        parser.add_argument('tests', nargs='*',
                            metavar='<testMethod1, className.testMethod2>',
                            help='List of method names to be tested')
        return parser
Ejemplo n.º 5
0
    def get_parser(self, prog_name):
        parser = super(ImportPackage, self).get_parser(prog_name)
        parser.add_argument(
            'filename',
            metavar='<FILE>',
            nargs='+',
            help='URL of the murano zip package, FQPN, path to zip package'
                 ' or path to directory with package.'
        )
        parser.add_argument(
            '--categories',
            metavar='<CATEGORY>',
            nargs='*',
            help='Category list to attach.',
        )
        parser.add_argument(
            '--is-public',
            action='store_true',
            default=False,
            help="Make the package available for users from other tenants.",
        )
        parser.add_argument(
            '--package-version',
            default='',
            help='Version of the package to use from repository '
                 '(ignored when importing with multiple packages).'
        )
        parser.add_argument(
            '--exists-action',
            default='',
            choices=['a', 's', 'u'],
            help='Default action when a package already exists: '
                 '(s)kip, (u)pdate, (a)bort.'
        )
        parser.add_argument(
            '--dep-exists-action',
            default='',
            choices=['a', 's', 'u'],
            help='Default action when a dependency package already exists: '
                 '(s)kip, (u)pdate, (a)bort.'
        )
        parser.add_argument('--murano-repo-url',
                            default=murano_utils.env(
                                'MURANO_REPO_URL',
                                default=DEFAULT_REPO_URL),
                            help=('Defaults to env[MURANO_REPO_URL] '
                                  'or {0}'.format(DEFAULT_REPO_URL)))

        return parser
Ejemplo n.º 6
0
    def get_base_parser(self, argv):

        parser = argparse.ArgumentParser(
            prog='murano',
            description=__doc__.strip(),
            epilog='See "murano help COMMAND" '
            'for help on a specific command.',
            add_help=False,
            formatter_class=HelpFormatter,
        )

        # Global arguments
        parser.add_argument(
            '-h',
            '--help',
            action='store_true',
            help=argparse.SUPPRESS,
        )

        parser.add_argument('--version',
                            action='version',
                            version=muranoclient.__version__,
                            help="Show program's version number and exit.")

        parser.add_argument('-d',
                            '--debug',
                            default=bool(utils.env('MURANOCLIENT_DEBUG')),
                            action='store_true',
                            help='Defaults to env[MURANOCLIENT_DEBUG].')

        parser.add_argument('-v',
                            '--verbose',
                            default=False,
                            action="store_true",
                            help="Print more verbose output.")

        parser.add_argument('--api-timeout',
                            help='Number of seconds to wait for an '
                            'API response, '
                            'defaults to system socket timeout.')

        parser.add_argument('--os-tenant-id',
                            default=utils.env('OS_TENANT_ID'),
                            help='Defaults to env[OS_TENANT_ID].')

        parser.add_argument('--os-tenant-name',
                            default=utils.env('OS_TENANT_NAME'),
                            help='Defaults to env[OS_TENANT_NAME].')

        parser.add_argument('--os-region-name',
                            default=utils.env('OS_REGION_NAME'),
                            help='Defaults to env[OS_REGION_NAME].')

        parser.add_argument('--os-auth-token',
                            default=utils.env('OS_AUTH_TOKEN'),
                            help='Defaults to env[OS_AUTH_TOKEN].')

        parser.add_argument('--os-no-client-auth',
                            default=utils.env('OS_NO_CLIENT_AUTH'),
                            action='store_true',
                            help="Do not contact keystone for a token. "
                            "Defaults to env[OS_NO_CLIENT_AUTH].")
        parser.add_argument('--murano-url',
                            default=utils.env('MURANO_URL'),
                            help='Defaults to env[MURANO_URL].')

        parser.add_argument('--glance-url',
                            default=utils.env('GLANCE_URL'),
                            help='Defaults to env[GLANCE_URL].')

        parser.add_argument('--glare-url',
                            default=utils.env('GLARE_URL'),
                            help='Defaults to env[GLARE_URL].')

        parser.add_argument('--murano-api-version',
                            default=utils.env('MURANO_API_VERSION',
                                              default='1'),
                            help='Defaults to env[MURANO_API_VERSION] '
                            'or 1.')

        parser.add_argument('--os-service-type',
                            default=utils.env('OS_SERVICE_TYPE'),
                            help='Defaults to env[OS_SERVICE_TYPE].')

        parser.add_argument('--os-endpoint-type',
                            default=utils.env('OS_ENDPOINT_TYPE'),
                            help='Defaults to env[OS_ENDPOINT_TYPE].')

        parser.add_argument('--include-password',
                            default=bool(utils.env('MURANO_INCLUDE_PASSWORD')),
                            action='store_true',
                            help='Send os-username and os-password to murano.')

        parser.add_argument('--murano-repo-url',
                            default=utils.env('MURANO_REPO_URL',
                                              default=DEFAULT_REPO_URL),
                            help=('Defaults to env[MURANO_REPO_URL] '
                                  'or {0}'.format(DEFAULT_REPO_URL)))

        parser.add_argument('--murano-packages-service',
                            choices=['murano', 'glance', 'glare'],
                            default=utils.env('MURANO_PACKAGES_SERVICE',
                                              default='murano'),
                            help='Specifies if murano-api ("murano") or '
                            'Glance Artifact Repository ("glare") '
                            'should be used to store murano packages. '
                            'Defaults to env[MURANO_PACKAGES_SERVICE] or '
                            'to "murano"')

        # The following 3 arguments are deprecated and are all added
        # by keystone session register_cli_opts later.  Only add these
        # arguments if they are present on the command line.

        if '--cert-file' in argv:
            parser.add_argument('--cert-file',
                                dest='os_cert',
                                help='DEPRECATED! Use --os-cert.')

        if '--key-file' in argv:
            parser.add_argument('--key-file',
                                dest='os_key',
                                help='DEPRECATED! Use --os-key.')

        if '--ca-file' in argv:
            parser.add_argument('--ca-file',
                                dest='os_cacert',
                                help='DEPRECATED! Use --os-cacert.')

        self._append_global_identity_args(parser)

        return parser
Ejemplo n.º 7
0
    def get_base_parser(self):
        parser = argparse.ArgumentParser(
            prog='murano',
            description=__doc__.strip(),
            epilog='See "murano help COMMAND" '
                   'for help on a specific command.',
            add_help=False,
            formatter_class=HelpFormatter,
        )

        # Global arguments
        parser.add_argument('-h', '--help',
                            action='store_true',
                            help=argparse.SUPPRESS,)

        parser.add_argument('--version',
                            action='version',
                            version=muranoclient.__version__)

        parser.add_argument('-d', '--debug',
                            default=bool(utils.env('MURANOCLIENT_DEBUG')),
                            action='store_true',
                            help='Defaults to env[MURANOCLIENT_DEBUG]')

        parser.add_argument('-v', '--verbose',
                            default=False, action="store_true",
                            help="Print more verbose output")

        parser.add_argument('-k', '--insecure',
                            default=False,
                            action='store_true',
                            help="Explicitly allow muranoclient to perform "
                                 "\"insecure\" SSL (https) requests. "
                                 "The server's certificate will "
                                 "not be verified against any certificate "
                                 "authorities. This option should be used "
                                 "with caution.")

        parser.add_argument('--os-cacert',
                            metavar='<ca-certificate>',
                            default=utils.env('OS_CACERT', default=None),
                            help='Specify a CA bundle file to use in '
                            'verifying a TLS (https) server certificate. '
                            'Defaults to env[OS_CACERT]')

        parser.add_argument('--cert-file',
                            help='Path of certificate file to use in SSL '
                                 'connection. This file can optionally be '
                                 'prepended with the private key.')

        parser.add_argument('--key-file',
                            help='Path of client key to use in SSL connection.'
                                 ' This option is not necessary if your '
                                 'key is prepended to your cert file.')

        parser.add_argument('--ca-file',
                            help='Path of CA SSL certificate(s) used to verify'
                                 ' the remote server certificate. Without '
                                 'this option glance looks for the default '
                                 'system CA certificates.')

        parser.add_argument('--api-timeout',
                            help='Number of seconds to wait for an '
                                 'API response, '
                                 'defaults to system socket timeout')

        parser.add_argument('--os-username',
                            default=utils.env('OS_USERNAME'),
                            help='Defaults to env[OS_USERNAME]')

        parser.add_argument('--os-password',
                            default=utils.env('OS_PASSWORD'),
                            help='Defaults to env[OS_PASSWORD]')

        parser.add_argument('--os-tenant-id',
                            default=utils.env('OS_TENANT_ID'),
                            help='Defaults to env[OS_TENANT_ID]')

        parser.add_argument('--os-tenant-name',
                            default=utils.env('OS_TENANT_NAME'),
                            help='Defaults to env[OS_TENANT_NAME]')

        parser.add_argument('--os-auth-url',
                            default=utils.env('OS_AUTH_URL'),
                            help='Defaults to env[OS_AUTH_URL]')

        parser.add_argument('--os-region-name',
                            default=utils.env('OS_REGION_NAME'),
                            help='Defaults to env[OS_REGION_NAME]')

        parser.add_argument('--os-auth-token',
                            default=utils.env('OS_AUTH_TOKEN'),
                            help='Defaults to env[OS_AUTH_TOKEN]')

        parser.add_argument('--os-no-client-auth',
                            default=utils.env('OS_NO_CLIENT_AUTH'),
                            action='store_true',
                            help="Do not contact keystone for a token. "
                                 "Defaults to env[OS_NO_CLIENT_AUTH].")

        parser.add_argument('--murano-url',
                            default=utils.env('MURANO_URL'),
                            help='Defaults to env[MURANO_URL]')

        parser.add_argument('--glance-url',
                            default=utils.env('GLANCE_URL'),
                            help='Defaults to env[GLANCE_URL]')

        parser.add_argument('--murano-api-version',
                            default=utils.env(
                                'MURANO_API_VERSION', default='1'),
                            help='Defaults to env[MURANO_API_VERSION] '
                                 'or 1')

        parser.add_argument('--os-service-type',
                            default=utils.env('OS_SERVICE_TYPE'),
                            help='Defaults to env[OS_SERVICE_TYPE]')

        parser.add_argument('--os-endpoint-type',
                            default=utils.env('OS_ENDPOINT_TYPE'),
                            help='Defaults to env[OS_ENDPOINT_TYPE]')

        parser.add_argument('--include-password',
                            default=bool(utils.env('MURANO_INCLUDE_PASSWORD')),
                            action='store_true',
                            help='Send os-username and os-password to murano.')

        parser.add_argument('--murano-repo-url',
                            default=utils.env(
                                'MURANO_REPO_URL',
                                default='http://storage.apps.openstack.org'),
                            help=('Defaults to env[MURANO_REPO_URL] '
                                  'or http://storage.apps.openstack.org'))

        return parser
Ejemplo n.º 8
0
    def get_base_parser(self):

        parser = argparse.ArgumentParser(
            prog='murano',
            description=__doc__.strip(),
            epilog='See "murano help COMMAND" '
                   'for help on a specific command.',
            add_help=False,
            formatter_class=HelpFormatter,
        )

        # Global arguments
        parser.add_argument('-h', '--help',
                            action='store_true',
                            help=argparse.SUPPRESS, )

        parser.add_argument('--version',
                            action='version',
                            version=muranoclient.__version__,
                            help="Show program's version number and exit.")

        parser.add_argument('-d', '--debug',
                            default=bool(utils.env('MURANOCLIENT_DEBUG')),
                            action='store_true',
                            help='Defaults to env[MURANOCLIENT_DEBUG].')

        parser.add_argument('-v', '--verbose',
                            default=False, action="store_true",
                            help="Print more verbose output.")

        # os-cert, os-key, insecure, ca-file are all added
        # by keystone session register_cli_opts later
        parser.add_argument('--cert-file',
                            dest='os_cert',
                            help='DEPRECATED! Use --os-cert.')

        parser.add_argument('--key-file',
                            dest='os_key',
                            help='DEPRECATED! Use --os-key.')

        parser.add_argument('--ca-file',
                            dest='os_cacert',
                            help='DEPRECATED! Use --os-cacert.')

        parser.add_argument('--api-timeout',
                            help='Number of seconds to wait for an '
                                 'API response, '
                                 'defaults to system socket timeout.')

        parser.add_argument('--os-tenant-id',
                            default=utils.env('OS_TENANT_ID'),
                            help='Defaults to env[OS_TENANT_ID].')

        parser.add_argument('--os-tenant-name',
                            default=utils.env('OS_TENANT_NAME'),
                            help='Defaults to env[OS_TENANT_NAME].')

        parser.add_argument('--os-region-name',
                            default=utils.env('OS_REGION_NAME'),
                            help='Defaults to env[OS_REGION_NAME].')

        parser.add_argument('--os-auth-token',
                            default=utils.env('OS_AUTH_TOKEN'),
                            help='Defaults to env[OS_AUTH_TOKEN].')

        parser.add_argument('--os-no-client-auth',
                            default=utils.env('OS_NO_CLIENT_AUTH'),
                            action='store_true',
                            help="Do not contact keystone for a token. "
                                 "Defaults to env[OS_NO_CLIENT_AUTH].")
        parser.add_argument('--murano-url',
                            default=utils.env('MURANO_URL'),
                            help='Defaults to env[MURANO_URL].')

        parser.add_argument('--glance-url',
                            default=utils.env('GLANCE_URL'),
                            help='Defaults to env[GLANCE_URL].')

        parser.add_argument('--glare-url',
                            default=utils.env('GLARE_URL'),
                            help='Defaults to env[GLARE_URL].')

        parser.add_argument('--murano-api-version',
                            default=utils.env(
                                'MURANO_API_VERSION', default='1'),
                            help='Defaults to env[MURANO_API_VERSION] '
                                 'or 1.')

        parser.add_argument('--os-service-type',
                            default=utils.env('OS_SERVICE_TYPE'),
                            help='Defaults to env[OS_SERVICE_TYPE].')

        parser.add_argument('--os-endpoint-type',
                            default=utils.env('OS_ENDPOINT_TYPE'),
                            help='Defaults to env[OS_ENDPOINT_TYPE].')

        parser.add_argument('--include-password',
                            default=bool(utils.env('MURANO_INCLUDE_PASSWORD')),
                            action='store_true',
                            help='Send os-username and os-password to murano.')

        parser.add_argument('--murano-repo-url',
                            default=utils.env(
                                'MURANO_REPO_URL',
                                default=DEFAULT_REPO_URL),
                            help=('Defaults to env[MURANO_REPO_URL] '
                                  'or {0}'.format(DEFAULT_REPO_URL)))

        parser.add_argument('--murano-packages-service',
                            choices=['murano', 'glance', 'glare'],
                            default=utils.env('MURANO_PACKAGES_SERVICE',
                                              default='murano'),
                            help='Specifies if murano-api ("murano") or '
                                 'Glance Artifact Repository ("glare") '
                                 'should be used to store murano packages. '
                                 'Defaults to env[MURANO_PACKAGES_SERVICE] or '
                                 'to "murano"')

        self._append_global_identity_args(parser)

        return parser
Ejemplo n.º 9
0
    def get_base_parser(self):
        parser = argparse.ArgumentParser(
            prog="murano",
            description=__doc__.strip(),
            epilog='See murano help COMMAND" ' "for help on a specific command.",
            add_help=False,
            formatter_class=HelpFormatter,
        )

        # Global arguments
        parser.add_argument("-h", "--help", action="store_true", help=argparse.SUPPRESS)

        parser.add_argument(
            "-d",
            "--debug",
            default=bool(utils.env("MURANOCLIENT_DEBUG")),
            action="store_true",
            help="Defaults to env[MURANOCLIENT_DEBUG]",
        )

        parser.add_argument("-v", "--verbose", default=False, action="store_true", help="Print more verbose output")

        parser.add_argument(
            "-k",
            "--insecure",
            default=False,
            action="store_true",
            help="Explicitly allow muranoclient to perform "
            '"insecure" SSL (https) requests. '
            "The server's certificate will "
            "not be verified against any certificate "
            "authorities. This option should be used "
            "with caution.",
        )

        parser.add_argument(
            "--cert-file",
            help="Path of certificate file to use in SSL "
            "connection. This file can optionally be "
            "prepended with the private key.",
        )

        parser.add_argument(
            "--key-file",
            help="Path of client key to use in SSL connection."
            " This option is not necessary if your "
            "key is prepended to your cert file.",
        )

        parser.add_argument(
            "--ca-file",
            help="Path of CA SSL certificate(s) used to verify"
            " the remote server certificate. Without "
            "this option glance looks for the default "
            "system CA certificates.",
        )

        parser.add_argument("--timeout", default=600, help="Number of seconds to wait for a response")

        parser.add_argument("--os-username", default=utils.env("OS_USERNAME"), help="Defaults to env[OS_USERNAME]")

        parser.add_argument("--os-password", default=utils.env("OS_PASSWORD"), help="Defaults to env[OS_PASSWORD]")

        parser.add_argument("--os-tenant-id", default=utils.env("OS_TENANT_ID"), help="Defaults to env[OS_TENANT_ID]")

        parser.add_argument(
            "--os-tenant-name", default=utils.env("OS_TENANT_NAME"), help="Defaults to env[OS_TENANT_NAME]"
        )

        parser.add_argument("--os-auth-url", default=utils.env("OS_AUTH_URL"), help="Defaults to env[OS_AUTH_URL]")

        parser.add_argument(
            "--os-region-name", default=utils.env("OS_REGION_NAME"), help="Defaults to env[OS_REGION_NAME]"
        )

        parser.add_argument(
            "--os-auth-token", default=utils.env("OS_AUTH_TOKEN"), help="Defaults to env[OS_AUTH_TOKEN]"
        )

        parser.add_argument("--murano-url", default=utils.env("MURANO_URL"), help="Defaults to env[MURANO_URL]")

        parser.add_argument(
            "--murano-api-version",
            default=utils.env("MURANO_API_VERSION", default="1"),
            help="Defaults to env[MURANO_API_VERSION] " "or 1",
        )

        parser.add_argument(
            "--os-service-type", default=utils.env("OS_SERVICE_TYPE"), help="Defaults to env[OS_SERVICE_TYPE]"
        )

        parser.add_argument(
            "--os-endpoint-type", default=utils.env("OS_ENDPOINT_TYPE"), help="Defaults to env[OS_ENDPOINT_TYPE]"
        )

        return parser
Ejemplo n.º 10
0
    def get_base_parser(self):

        parser = argparse.ArgumentParser(
            prog="murano",
            description=__doc__.strip(),
            epilog='See "murano help COMMAND" ' "for help on a specific command.",
            add_help=False,
            formatter_class=HelpFormatter,
        )

        # Global arguments
        parser.add_argument("-h", "--help", action="store_true", help=argparse.SUPPRESS)

        parser.add_argument(
            "--version",
            action="version",
            version=muranoclient.__version__,
            help="Show program's version number and exit.",
        )

        parser.add_argument(
            "-d",
            "--debug",
            default=bool(utils.env("MURANOCLIENT_DEBUG")),
            action="store_true",
            help="Defaults to env[MURANOCLIENT_DEBUG].",
        )

        parser.add_argument("-v", "--verbose", default=False, action="store_true", help="Print more verbose output.")

        # os-cert, os-key, insecure, ca-file are all added
        # by keystone session register_cli_opts later
        parser.add_argument("--cert-file", dest="os_cert", help="DEPRECATED! Use --os-cert.")

        parser.add_argument("--key-file", dest="os_key", help="DEPRECATED! Use --os-key.")

        parser.add_argument("--ca-file", dest="os_cacert", help="DEPRECATED! Use --os-cacert.")

        parser.add_argument(
            "--api-timeout",
            help="Number of seconds to wait for an " "API response, " "defaults to system socket timeout.",
        )

        parser.add_argument("--os-tenant-id", default=utils.env("OS_TENANT_ID"), help="Defaults to env[OS_TENANT_ID].")

        parser.add_argument(
            "--os-tenant-name", default=utils.env("OS_TENANT_NAME"), help="Defaults to env[OS_TENANT_NAME]."
        )

        parser.add_argument(
            "--os-region-name", default=utils.env("OS_REGION_NAME"), help="Defaults to env[OS_REGION_NAME]."
        )

        parser.add_argument(
            "--os-auth-token", default=utils.env("OS_AUTH_TOKEN"), help="Defaults to env[OS_AUTH_TOKEN]."
        )

        parser.add_argument(
            "--os-no-client-auth",
            default=utils.env("OS_NO_CLIENT_AUTH"),
            action="store_true",
            help="Do not contact keystone for a token. " "Defaults to env[OS_NO_CLIENT_AUTH].",
        )
        parser.add_argument("--murano-url", default=utils.env("MURANO_URL"), help="Defaults to env[MURANO_URL].")

        parser.add_argument("--glance-url", default=utils.env("GLANCE_URL"), help="Defaults to env[GLANCE_URL].")

        parser.add_argument(
            "--murano-api-version",
            default=utils.env("MURANO_API_VERSION", default="1"),
            help="Defaults to env[MURANO_API_VERSION] " "or 1.",
        )

        parser.add_argument(
            "--os-service-type", default=utils.env("OS_SERVICE_TYPE"), help="Defaults to env[OS_SERVICE_TYPE]."
        )

        parser.add_argument(
            "--os-endpoint-type", default=utils.env("OS_ENDPOINT_TYPE"), help="Defaults to env[OS_ENDPOINT_TYPE]."
        )

        parser.add_argument(
            "--include-password",
            default=bool(utils.env("MURANO_INCLUDE_PASSWORD")),
            action="store_true",
            help="Send os-username and os-password to murano.",
        )

        parser.add_argument(
            "--murano-repo-url",
            default=utils.env("MURANO_REPO_URL", default=DEFAULT_REPO_URL),
            help=("Defaults to env[MURANO_REPO_URL] " "or {0}".format(DEFAULT_REPO_URL)),
        )

        parser.add_argument(
            "--murano-packages-service",
            choices=["murano", "glance"],
            default=utils.env("MURANO_PACKAGES_SERVICE", default="murano"),
            help='Specifies if murano-api ("murano") or '
            'Glance Artifact Repository ("glance") '
            "should be used to store murano packages. "
            "Defaults to env[MURANO_PACKAGES_SERVICE] or "
            'to "murano"',
        )

        self._append_global_identity_args(parser)

        return parser