def get_appliance(stream, timeout=12 * 60, provision_timeout=60, version=None, date=None, desc=None, override_ram=None, override_cpu=None, provider=None): # Creating an appliance sr = SproutProvisioningRequest(group=stream, count=1, version=version, date=date, lease_time=timeout, provision_timeout=provision_timeout, desc=desc, cpu=override_cpu, ram=override_ram, provider=provider) print(sr) sm = SproutManager() appliance_data = sm.request_appliances(sr) while not sm.check_fullfilled(): print("waiting for fullfillment of appliance_data....") time.sleep(10) sm.reset_timer() print("appliance data:") for app in appliance_data: print(" {}: {}\n".format(app['name'], app['ip_address'])) return [app['ip_address'] for app in appliance_data].pop()
def checkout(appliances, timeout, provision_timeout, group, version, date, desc, override_ram, override_cpu, populate_yaml, provider, provider_type, template_type, preconfigured, sprout_user_key): """checks out a sprout provisioning request, and returns it on exit""" override_cpu = override_cpu or None override_ram = override_ram or None sr = SproutProvisioningRequest(group=group, count=appliances, version=version, date=date, lease_time=timeout, provision_timeout=provision_timeout, desc=desc, cpu=override_cpu, ram=override_ram, provider=provider, provider_type=provider_type, template_type=template_type, preconfigured=preconfigured) print(sr) sm = SproutManager(sprout_user_key=sprout_user_key) def exit_gracefully(signum, frame): sm.destroy_pool() sys.exit(0) signal.signal(signal.SIGINT, exit_gracefully) signal.signal(signal.SIGTERM, exit_gracefully) try: appliance_data = sm.request_appliances(sr) while not sm.check_fullfilled(): print("waiting...") time.sleep(10) sm.reset_timer() for app in appliance_data: print("{}: {}".format(app['name'], app['ip_address'])) if populate_yaml: populate_config_from_appliances(appliance_data) print("Appliance checked out, hit ctrl+c to checkin") while True: time.sleep(10) except KeyboardInterrupt: try: sm.destroy_pool() except Exception: print("Error in pool destroy") except AuthException: print( '\nERROR: Sprout client unauthenticated, please provide env vars or --user-key' )
def checkout(appliances, timeout, provision_timeout, group, version, date, desc, override_ram, override_cpu, populate_yaml, provider, provider_type, template_type, preconfigured, sprout_user_key): """checks out a sprout provisioning request, and returns it on exit""" override_cpu = override_cpu or None override_ram = override_ram or None sr = SproutProvisioningRequest(group=group, count=appliances, version=version, date=date, lease_time=timeout, provision_timeout=provision_timeout, desc=desc, cpu=override_cpu, ram=override_ram, provider=provider, provider_type=provider_type, template_type=template_type, preconfigured=preconfigured) print(sr) sm = SproutManager(sprout_user_key=sprout_user_key) def exit_gracefully(signum, frame): sm.destroy_pool() sys.exit(0) signal.signal(signal.SIGINT, exit_gracefully) signal.signal(signal.SIGTERM, exit_gracefully) try: appliance_data = sm.request_appliances(sr) while not sm.check_fullfilled(): print("waiting...") time.sleep(10) sm.reset_timer() for app in appliance_data: print("{}: {}".format(app['name'], app['ip_address'])) if populate_yaml: populate_config_from_appliances(appliance_data) print("Appliance checked out, hit ctrl+c to checkin") while True: time.sleep(10) except KeyboardInterrupt: try: sm.destroy_pool() except Exception: print("Error in pool destroy") except AuthException: print('\nERROR: Sprout client unauthenticated, please provide env vars or --user-key')
def checkout(appliances, timeout, provision_timeout, group, version, date, desc, override_ram, override_cpu, populate_yaml, provider): """Function to show the given credentials, takes either a provider key or a credential key""" override_cpu = override_cpu or None override_ram = override_ram or None sr = SproutProvisioningRequest(group=group, count=appliances, version=version, date=date, lease_time=timeout, provision_timeout=provision_timeout, desc=desc, cpu=override_cpu, ram=override_ram, provider=provider) sm = SproutManager() def exit_gracefully(signum, frame): sm.destroy_pool() sys.exit(0) signal.signal(signal.SIGINT, exit_gracefully) signal.signal(signal.SIGTERM, exit_gracefully) try: appliance_data = sm.request_appliances(sr) while not sm.check_fullfilled(): print("waiting...") time.sleep(10) sm.reset_timer() for app in appliance_data: print "{}: {}".format(app['name'], app['ip_address']) if populate_yaml: file_name = conf_path.join('env.local.yaml').strpath if os.path.exists(file_name): with open(file_name) as f: y_data = yaml.load(f) if not y_data: y_data = {} else: y_data = {} if y_data: with open(conf_path.join('env.local.backup').strpath, 'w') as f: yaml.dump(y_data, f, default_flow_style=False) y_data['appliances'] = [] for app in appliance_data: y_data['appliances'].append( {'base_url': 'https://{}/'.format(app['ip_address'])}) with open(file_name, 'w') as f: try: del y_data['base_url'] except KeyError: pass yaml.dump(y_data, f, default_flow_style=False) print("Appliance checked out, hit ctrl+c to checkin") while True: time.sleep(10) except KeyboardInterrupt: try: sm.destroy_pool() except: print("Error in pool destroy")