def test_set_environment(self): env = "alternate" sav = pyrax.authenticate pyrax.authenticate = Mock() pyrax.set_environment(env) self.assertEqual(pyrax.get_environment(), env) pyrax.authenticate = sav
def setup(): default_creds_file = os.path.expanduser('~/.rackspace_cloud_credentials') env = get_config(p, 'rax', 'environment', 'RAX_ENV', None) if env: pyrax.set_environment(env) keyring_username = pyrax.get_setting('keyring_username') # Attempt to grab credentials from environment first creds_file = get_config(p, 'rax', 'creds_file', 'RAX_CREDS_FILE', None) if creds_file is not None: creds_file = os.path.expanduser(creds_file) else: # But if that fails, use the default location of # ~/.rackspace_cloud_credentials if os.path.isfile(default_creds_file): creds_file = default_creds_file elif not keyring_username: sys.stderr.write('No value in environment variable %s and/or no ' 'credentials file at %s\n' % ('RAX_CREDS_FILE', default_creds_file)) sys.exit(1) identity_type = pyrax.get_setting('identity_type') pyrax.set_setting('identity_type', identity_type or 'rackspace') region = pyrax.get_setting('region') try: if keyring_username: pyrax.keyring_auth(keyring_username, region=region) else: pyrax.set_credential_file(creds_file, region=region) except Exception as e: sys.stderr.write("%s: %s\n" % (e, e.message)) sys.exit(1) regions = [] if region: regions.append(region) else: region_list = get_config(p, 'rax', 'regions', 'RAX_REGION', 'all', islist=True) for region in region_list: region = region.strip().upper() if region == 'ALL': regions = pyrax.regions break elif region not in pyrax.regions: sys.stderr.write('Unsupported region %s' % region) sys.exit(1) elif region not in regions: regions.append(region) return regions
def setup(): default_creds_file = os.path.expanduser('~/.rackspace_cloud_credentials') env = os.getenv('RAX_ENV', None) if env: pyrax.set_environment(env) keyring_username = pyrax.get_setting('keyring_username') # Attempt to grab credentials from environment first try: creds_file = os.path.expanduser(os.environ['RAX_CREDS_FILE']) except KeyError, e: # But if that fails, use the default location of # ~/.rackspace_cloud_credentials if os.path.isfile(default_creds_file): creds_file = default_creds_file elif not keyring_username: sys.stderr.write('No value in environment variable %s and/or no ' 'credentials file at %s\n' % (e.message, default_creds_file)) sys.exit(1)
def setup(): default_creds_file = os.path.expanduser('~/.rackspace_cloud_credentials') env = get_config(p, 'rax', 'environment', 'RAX_ENV', None) if env: pyrax.set_environment(env) keyring_username = pyrax.get_setting('keyring_username') # Attempt to grab credentials from environment first creds_file = get_config(p, 'rax', 'creds_file', 'RAX_CREDS_FILE', None) if creds_file is not None: creds_file = os.path.expanduser(creds_file) else: # But if that fails, use the default location of # ~/.rackspace_cloud_credentials if os.path.isfile(default_creds_file): creds_file = default_creds_file elif not keyring_username: sys.stderr.write('No value in environment variable %s and/or no ' 'credentials file at %s\n' % ('RAX_CREDS_FILE', default_creds_file)) sys.exit(1) identity_type = pyrax.get_setting('identity_type') pyrax.set_setting('identity_type', identity_type or 'rackspace') region = pyrax.get_setting('region') try: if keyring_username: pyrax.keyring_auth(keyring_username, region=region) else: pyrax.set_credential_file(creds_file, region=region) except Exception, e: sys.stderr.write("%s: %s\n" % (e, e.message)) sys.exit(1)
#!/usr/bin/env python # -*- coding: utf-8 -*- import json import pyrax pyrax.set_environment("scale12x") pyrax.keyring_auth() CLEANUP_FILE = "scaledemo.json" svcs = {"CS": pyrax.cloudservers.servers, "CSK": pyrax.cloudservers.keypairs, "CNW": pyrax.cloud_networks, "CLB": pyrax.cloud_loadbalancers, "CDB": pyrax.cloud_databases, "DNS": pyrax.cloud_dns, } with open(CLEANUP_FILE) as ff: clean = json.load(ff) for svc_abbr in clean: svc = svcs.get(svc_abbr) for id_ in clean[svc_abbr][::-1]: try: svc.delete(id_) except Exception as e: print "SVC", svc_abbr, "ID", id_ print "ERR", e print continue
help="""Regions to run tests against. Can be specified multiple times. If not specified, the default of pyrax.regions will be used.""") parser.add_argument("--env", "-e", help="""Configuration environment to use for the test. If not specified, the `default` environment is used.""") args = parser.parse_args() regions = args.regions if not regions: pyrax.keyring_auth() regions = pyrax.regions env = args.env if env: pyrax.set_environment(env) start = time.time() pyrax.keyring_auth() for region in regions: print() print("=" * 77) print("Starting test for region: %s" % region) print("=" * 77) smoke_tester = SmokeTester(region) try: smoke_tester.run_tests() finally: smoke_tester.cleanup()
parser = argparse.ArgumentParser(description="Run the smoke tests!") parser.add_argument("--regions", "-r", action="append", help="""Regions to run tests against. Can be specified multiple times. If not specified, the default of pyrax.regions will be used.""") parser.add_argument("--env", "-e", help="""Configuration environment to use for the test. If not specified, the `default` environment is used.""") args = parser.parse_args() regions = args.regions if not regions: pyrax.keyring_auth() regions = pyrax.regions env = args.env if env: pyrax.set_environment(env) start = time.time() pyrax.keyring_auth() for region in regions: print print "=" * 77 print "Starting test for region: %s" % region print "=" * 77 smoke_tester = SmokeTester(region) try: smoke_tester.run_tests() finally: smoke_tester.cleanup()
parser.add_argument('-r', '--region', help = "Which region to use. 'ORD' if none is specified.", type = str, default = DEFAULT_REGION, choices = CLOUDFILES_REGIONS) parser.add_argument('-e', '--environment', help = "Which environment to use. 'default' if none is specified.", type = str, default = 'default') parser.add_argument('--delete', help = "Remove orphaned files from Rackspace", action = "store_true", default = False) parser.add_argument('-v', '--version', help = "Print the script version and exit", action = "store_true", default = False) pyrax.set_credential_file(os.path.expanduser('~/.rackspace')) pyrax.set_setting('custom_user_agent', 'Rackup Python Script/%s' % VERSION) pyrax.authenticate() if not pyrax.identity.authenticated: alert('Your credentials failed to authenticate.', os.EX_UNAVAILABLE) args = parser.parse_args() if not args.environment in pyrax.list_environments(): alert('"%s" is not a valid environment.' % args.environment, os.EX_UNAVAILABLE) pyrax.set_environment(args.environment) if not args.container: alert("You must pass a container as the first argument.", os.EX_NOINPUT, ERROR_COLOR) cf = pyrax.connect_to_cloudfiles(region=args.region) containers = cf.list_containers() if not args.container in containers: alert('"%s" was not found in this accounts containers.' % args.container, os.EX_UNAVAILABLE, ERROR_COLOR) def main(): alert('Syncing files to "%s"' % args.container) cf.sync_folder_to_container('.', args.container, ignore = EXCLUDES, delete = args.delete, include_hidden = True) notify(args.container, 'Your files have been synced.')