def setUp(self): #Initialize core DB self.euca_admin_id = create_euca_provider() self.euca_provider = self.euca_admin_id.provider self.os_admin_id = create_os_provider() self.os_provider = self.os_admin_id.provider #Ensure there is an account created/ready to go euca_accounts = EucaAccounts(self.euca_provider) euca_user = euca_accounts.get_user(settings.TEST_RUNNER_USER) self.euca_id = euca_accounts.create_account(euca_user) os_accounts = OSAccounts(self.os_provider) self.os_id = os_accounts.create_account( settings.TEST_RUNNER_USER, os_accounts.hashpass(settings.TEST_RUNNER_USER)) #Initialize API self.api_client = TokenAPIClient() self.api_client.login(username=settings.TEST_RUNNER_USER, password=settings.TEST_RUNNER_PASS) reverse_link = reverse('api:public_apis:machine-list', args=[self.os_id.provider.id, self.os_id.id]) self.os_machine_url = urljoin(settings.SERVER_URL, reverse_link) reverse_link = reverse( 'api:public_apis:machine-list', args=[self.euca_id.provider.id, self.euca_id.id]) self.euca_machine_url = urljoin(settings.SERVER_URL, reverse_link)
def main(): """ TODO: Add argparse, --delete : Deletes existing users in eucalyptus (Never use in PROD) """ euca = Provider.objects.get(location='Eucalyptus (retiring March 4)') euca_driver = EucaAccountDriver(euca) openstack = Provider.objects.get(location='iPlant Cloud - Tucson') os_driver = OSAccountDriver(openstack) all_users = euca_driver.list_users() #Sort by users all_values = sorted(all_users.values(), key=lambda user: user['username']) total = 0 for user_dict in all_values: id_exists = Identity.objects.filter( created_by__username=user_dict['username'], provider=euca) if not id_exists: euca_driver.create_account(user_dict) total += 1 print "Added to Eucalyptus: %s" % user_dict['username'] print "Total users added:%s" % total if include_openstack: print "Adding all eucalyptus users to openstack" total = 0 for user_dict in all_values: id_exists = Identity.objects.filter( created_by__username=user_dict['username'], provider=openstack) if not id_exists: os_driver.create_account(user_dict['username']) total += 1 print "Added to Openstack: %s" % user_dict['username'] print "Total users added to openstack:%s" % total
def main(): """ TODO: Add argparse, --delete : Deletes existing users in eucalyptus (Never use in PROD) """ euca = Provider.objects.get(location="Eucalyptus (retiring March 4)") euca_driver = EucaAccountDriver(euca) openstack = Provider.objects.get(location="iPlant Cloud - Tucson") os_driver = OSAccountDriver(openstack) all_users = euca_driver.list_users() # Sort by users all_values = sorted(all_users.values(), key=lambda user: user["username"]) total = 0 for user_dict in all_values: id_exists = Identity.objects.filter(created_by__username=user_dict["username"], provider=euca) if not id_exists: euca_driver.create_account(user_dict) total += 1 print "Added to Eucalyptus: %s" % user_dict["username"] print "Total users added:%s" % total if include_openstack: print "Adding all eucalyptus users to openstack" total = 0 for user_dict in all_values: id_exists = Identity.objects.filter(created_by__username=user_dict["username"], provider=openstack) if not id_exists: os_driver.create_account(user_dict["username"]) total += 1 print "Added to Openstack: %s" % user_dict["username"] print "Total users added to openstack:%s" % total
def setUp(self): #Initialize core DB self.euca_admin_id = create_euca_provider() self.euca_provider = self.euca_admin_id.provider self.os_admin_id = create_os_provider() self.os_provider = self.os_admin_id.provider #Ensure there is an account created/ready to go euca_accounts = EucaAccounts(self.euca_provider) euca_user = euca_accounts.get_user(settings.TEST_RUNNER_USER) self.euca_id = euca_accounts.create_account(euca_user) os_accounts = OSAccounts(self.os_provider) self.os_id = os_accounts.create_account( settings.TEST_RUNNER_USER, os_accounts.hashpass(settings.TEST_RUNNER_USER)) #Initialize API self.api_client = TokenAPIClient() self.api_client.login( username=settings.TEST_RUNNER_USER, password=settings.TEST_RUNNER_PASS) reverse_link = reverse('api:public_apis:machine-list', args=[self.os_id.provider.id, self.os_id.id]) self.os_machine_url = urljoin(settings.SERVER_URL, reverse_link) reverse_link = reverse('api:public_apis:machine-list', args=[self.euca_id.provider.id, self.euca_id.id]) self.euca_machine_url = urljoin(settings.SERVER_URL, reverse_link)
def post(self, request): """ User Class: Create a new user in the database Returns success 200 OK - NO BODY on creation """ params = request.DATA user = request.user if user.username is not 'admin' or not user.is_superuser: return Response('Only admin and superusers can create accounts', status=status.HTTP_401_UNAUTHORIZED) username = params['username'] #STEP1 Create the account on the provider provider = Provider.objects.get(location='EUCALYPTUS') driver = AccountDriver(provider) user = driver.add_user(username) #STEP2 Retrieve the identity from the provider if user: user_keys = driver.get_key(username) driver.create_key(user_keys) #STEP3 Return the new users serialized profile serialized_data = ProfileSerializer(user.get_profile()).data response = Response(serialized_data) return response
def setUp(self): #Initialize API self.euca_admin_id = create_euca_provider() self.euca_provider = self.euca_admin_id.provider euca_accounts = EucaAccounts(self.euca_provider) euca_user = euca_accounts.get_user(settings.TEST_RUNNER_USER) self.euca_id = euca_accounts.create_account(euca_user)
def setUp(self): #Initialize core DB self.euca_admin_id = create_euca_provider() self.euca_provider = self.euca_admin_id.provider self.os_admin_id = create_os_provider() self.os_provider = self.os_admin_id.provider #Ensure there is an account created/ready to go euca_accounts = EucaAccounts(self.euca_provider) euca_user = euca_accounts.get_user(settings.TEST_RUNNER_USER) self.euca_id = euca_accounts.create_account(euca_user, max_quota=True) os_accounts = OSAccounts(self.os_provider) self.os_id = os_accounts.create_account(settings.TEST_RUNNER_USER, os_accounts.hashpass( settings.TEST_RUNNER_USER), max_quota=True) #user = AtmosphereUser.objects.get(username=settings.TEST_RUNNER_USER) #user.is_staff = True #user.is_superuser = True #user.save() #Initialize API self.api_client = TokenAPIClient() self.api_client.login(username=settings.TEST_RUNNER_USER, password=settings.TEST_RUNNER_PASS) reverse_link = reverse('api:public_apis:instance-list', args=[self.os_id.provider.id, self.os_id.id]) self.os_instance_url = urljoin(settings.SERVER_URL, reverse_link) reverse_link = reverse('api:public_apis:volume-list', args=[self.os_id.provider.id, self.os_id.id]) #Prepare Openstack self.os_volume_url = urljoin(settings.SERVER_URL, reverse_link) instance_data = { "size_alias": "2", "machine_alias": "0f539197-3718-40bc-8a29-c22e0841684f", "name": "test volume attachment", "delete_before": False } (self.os_instance_id, self.os_instance_ip) = standup_instance(self, self.os_instance_url, **instance_data) #Prepare Eucalyptus reverse_link = reverse( 'api:public_apis:volume-list', args=[self.euca_id.provider.id, self.euca_id.id]) self.euca_volume_url = urljoin(settings.SERVER_URL, reverse_link) reverse_link = reverse( 'api:public_apis:instance-list', args=[self.euca_id.provider.id, self.euca_id.id]) self.euca_instance_url = urljoin(settings.SERVER_URL, reverse_link) instance_data = { "size_alias": "m1.small", "machine_alias": "emi-E7F8300F", "name": "test volume attachment", "delete_before": False } (self.euca_instance_id, self.euca_instance_ip) = standup_instance(self, self.euca_instance_url, **instance_data)
def setUp(self): #Initialize core DB self.euca_admin_id = create_euca_provider() self.euca_provider = self.euca_admin_id.provider self.os_admin_id = create_os_provider() self.os_provider = self.os_admin_id.provider #Ensure there is an account created/ready to go euca_accounts = EucaAccounts(self.euca_provider) euca_user = euca_accounts.get_user(settings.TEST_RUNNER_USER) self.euca_id = euca_accounts.create_account(euca_user, max_quota=True) os_accounts = OSAccounts(self.os_provider) self.os_id = os_accounts.create_account( settings.TEST_RUNNER_USER, os_accounts.hashpass(settings.TEST_RUNNER_USER), max_quota=True) #user = AtmosphereUser.objects.get(username=settings.TEST_RUNNER_USER) #user.is_staff = True #user.is_superuser = True #user.save() #Initialize API self.api_client = TokenAPIClient() self.api_client.login( username=settings.TEST_RUNNER_USER, password=settings.TEST_RUNNER_PASS) reverse_link = reverse('api:public_apis:instance-list', args=[self.os_id.provider.id, self.os_id.id]) self.os_instance_url = urljoin(settings.SERVER_URL, reverse_link) reverse_link = reverse('api:public_apis:volume-list', args=[self.os_id.provider.id, self.os_id.id]) #Prepare Openstack self.os_volume_url = urljoin(settings.SERVER_URL, reverse_link) instance_data = { "size_alias":"2", "machine_alias":"0f539197-3718-40bc-8a29-c22e0841684f", "name":"test volume attachment", "delete_before":False } (self.os_instance_id, self.os_instance_ip) = standup_instance( self, self.os_instance_url, **instance_data) #Prepare Eucalyptus reverse_link = reverse('api:public_apis:volume-list', args=[self.euca_id.provider.id, self.euca_id.id]) self.euca_volume_url = urljoin(settings.SERVER_URL, reverse_link) reverse_link = reverse('api:public_apis:instance-list', args=[self.euca_id.provider.id, self.euca_id.id]) self.euca_instance_url = urljoin(settings.SERVER_URL, reverse_link) instance_data = { "size_alias":"m1.small", "machine_alias":"emi-E7F8300F", "name":"test volume attachment", "delete_before":False } (self.euca_instance_id, self.euca_instance_ip) = standup_instance( self, self.euca_instance_url, **instance_data)
def setUp_euca(): euca_admin_id = create_euca_provider() euca_provider = euca_admin_id.provider # Ensure there is an account created/ready to go euca_accounts = EucaAccounts(euca_provider) euca_user = euca_accounts.get_user(settings.TEST_RUNNER_USER) euca_id = euca_accounts.create_account(euca_user, max_quota=True) reverse_link = reverse("instance-list", args=[euca_id.provider.id, euca_id.id]) euca_instance_url = urljoin(settings.SERVER_URL, reverse_link)
def setUp_euca(): euca_admin_id = create_euca_provider() euca_provider = euca_admin_id.provider #Ensure there is an account created/ready to go euca_accounts = EucaAccounts(euca_provider) euca_user = euca_accounts.get_user(settings.TEST_RUNNER_USER) euca_id = euca_accounts.create_account(euca_user, max_quota=True) reverse_link = reverse('api:public_apis:instance-list', args=[euca_id.provider.id, euca_id.id]) euca_instance_url = urljoin(settings.SERVER_URL, reverse_link)
def setUp(self): #Initialize API self.euca_admin_id = create_euca_provider() self.euca_provider = self.euca_admin_id.provider euca_accounts = EucaAccounts(self.euca_provider) euca_user = euca_accounts.get_user(settings.TEST_RUNNER_USER) self.euca_id = euca_accounts.create_account(euca_user) self.api_client = TokenAPIClient() self.api_client.login(username=settings.TEST_RUNNER_USER, password=settings.TEST_RUNNER_PASS)
def setUp(self): #Initialize API self.euca_admin_id = create_euca_provider() self.euca_provider = self.euca_admin_id.provider euca_accounts = EucaAccounts(self.euca_provider) euca_user = euca_accounts.get_user(settings.TEST_RUNNER_USER) self.euca_id = euca_accounts.create_account(euca_user) self.api_client = TokenAPIClient() self.api_client.login( username=settings.TEST_RUNNER_USER, password=settings.TEST_RUNNER_PASS)
def main(): """ TODO: Add argparse, --delete : Deletes existing users in openstack (Never use in PROD) """ euca_driver = EucaAccountDriver( Provider.objects.get(location='EUCALYPTUS')) os_driver = OSAccountDriver(Provider.objects.get(location='iPlant Cloud - Tucson')) found = 0 create = 0 core_services = ['estevetest03', ] # get_core_services() for user in core_services: euca_driver.create_account(user, max_quota=True) # Then add the Openstack Identity os_driver.create_account(user, max_quota=True) make_admin(user) print "Total core-service/admins added:%s" % len(core_services)
def main(): """ TODO: Add argparse, --delete : Deletes existing users in openstack (Never use in PROD) """ euca_driver = EucaAccountDriver( Provider.objects.get(location='EUCALYPTUS')) os_driver = OSAccountDriver(Provider.objects.get(location='OpenStack-Tucson (BETA)')) found = 0 create = 0 core_services = ['estevetest03', ] # get_core_services() for user in core_services: euca_driver.create_account(user, max_quota=True) # Then add the Openstack Identity os_driver.create_account(user, max_quota=True) make_admin(user) print "Total core-service/admins added:%s" % len(core_services)
def main(): """ TODO: Add argparse, --delete : Deletes existing users in openstack (Never use in PROD) """ euca_driver = EucaAccountDriver( Provider.objects.get(location='EUCALYPTUS')) os_driver = OSAccountDriver(Provider.objects.get(location='iPlant Cloud - Tucson')) found = 0 create = 0 raise Exception("Must manually set core_services!! See Line 30.") core_services = ['jchansen', ] # get_core_services() # ['estevetest03', ] for user in core_services: euca_driver.create_account(user, max_quota=True) # Then add the Openstack Identity os_driver.create_account(user, max_quota=True) make_admin(user) print "Total core-service/admins added:%s" % len(core_services)
def setUp(self): #Initialize core DB self.euca_admin_id = create_euca_provider() self.euca_provider = self.euca_admin_id.provider self.os_admin_id = create_os_provider() self.os_provider = self.os_admin_id.provider #Ensure there is an account created/ready to go euca_accounts = EucaAccounts(self.euca_provider) euca_user = euca_accounts.get_user(settings.TEST_RUNNER_USER) self.euca_id = euca_accounts.create_account(euca_user, max_quota=True) os_accounts = OSAccounts(self.os_provider) self.os_id = os_accounts.create_account( settings.TEST_RUNNER_USER, os_accounts.hashpass(settings.TEST_RUNNER_USER), max_quota=True) user = AtmosphereUser.objects.get(username=settings.TEST_RUNNER_USER) user.is_staff = True user.is_superuser = True user.save() #Initialize API self.api_client = TokenAPIClient() self.api_client.login( username=settings.TEST_RUNNER_USER, password=settings.TEST_RUNNER_PASS) reverse_link = reverse('instance-list', args=[self.os_id.provider.id, self.os_id.id]) self.os_instance_url = urljoin(settings.SERVER_URL, reverse_link) reverse_link = reverse('instance-list', args=[self.euca_id.provider.id, self.euca_id.id]) self.euca_instance_url = urljoin(settings.SERVER_URL, reverse_link) reverse_link = reverse('machine-request-list', args=[self.os_id.provider.id, self.os_id.id]) self.os_request_url = urljoin(settings.SERVER_URL, reverse_link) reverse_link = reverse('machine-request-list', args=[self.euca_id.provider.id, self.euca_id.id]) self.euca_request_url = urljoin(settings.SERVER_URL, reverse_link)
def setUp(self): #Initialize core DB self.euca_admin_id = create_euca_provider() self.euca_provider = self.euca_admin_id.provider self.os_admin_id = create_os_provider() self.os_provider = self.os_admin_id.provider #Ensure there is an account created/ready to go euca_accounts = EucaAccounts(self.euca_provider) euca_user = euca_accounts.get_user(settings.TEST_RUNNER_USER) self.euca_id = euca_accounts.create_account(euca_user, max_quota=True) os_accounts = OSAccounts(self.os_provider) self.os_id = os_accounts.create_account(settings.TEST_RUNNER_USER, os_accounts.hashpass( settings.TEST_RUNNER_USER), max_quota=True) user = AtmosphereUser.objects.get(username=settings.TEST_RUNNER_USER) user.is_staff = True user.is_superuser = True user.save() #Initialize API self.api_client = TokenAPIClient() self.api_client.login(username=settings.TEST_RUNNER_USER, password=settings.TEST_RUNNER_PASS) reverse_link = reverse('api:public_apis:instance-list', args=[self.os_id.provider.id, self.os_id.id]) self.os_instance_url = urljoin(settings.SERVER_URL, reverse_link) reverse_link = reverse( 'api:public_apis:instance-list', args=[self.euca_id.provider.id, self.euca_id.id]) self.euca_instance_url = urljoin(settings.SERVER_URL, reverse_link) reverse_link = reverse('api:public_apis:machine-request-list', args=[self.os_id.provider.id, self.os_id.id]) self.os_request_url = urljoin(settings.SERVER_URL, reverse_link) reverse_link = reverse( 'api:public_apis:machine-request-list', args=[self.euca_id.provider.id, self.euca_id.id]) self.euca_request_url = urljoin(settings.SERVER_URL, reverse_link)