def link_user_to_dc_task(user, datacenter, **kwargs): LOG.info("New user: Start action [%s]" % user.username) rc = create_rc_by_dc(datacenter) tenant_name = "%s-%04d" % (settings.OS_NAME_PREFIX, user.id) try: keystone_user = "******" % (settings.OS_NAME_PREFIX, user.id, user.username.split('@')[0]) except: keystone_user = "******" % (settings.OS_NAME_PREFIX, user.id) pwd = "cloud!@#%s" % random.randrange(100000, 999999) t = keystone.tenant_create(rc, name=tenant_name, description=user.username) LOG.info("New user: create tanant [%s][tid:%s]" % (user.username, t.id)) u = keystone.user_create(rc, name=keystone_user, email=user.email, password=pwd, project=t.id) LOG.info("New user: create user [%s][uid:%s]" % (user.username, u.id)) roles = keystone.role_list(rc) admin_role = filter(lambda r: r.name.lower() == "admin", roles)[0] keystone.add_tenant_user_role(rc, project=t.id, user=u.id, role=admin_role.id) LOG.info("New user: add role [%s][role:%s]" % (user.username, admin_role.id)) udc = UserDataCenter.objects.create( data_center = datacenter, user = user, tenant_name = tenant_name, tenant_uuid = t.id, keystone_user = keystone_user, keystone_password = pwd, ) LOG.info("New user: link to datacenter [%s][udc:%s]" % (user.username, udc.id)) try: edit_default_security_group(user, udc) except Exception as ex: LOG.exception(ex) try: Contract.objects.create( user = user, udc = udc, name = user.username, customer = user.username, start_date = datetime.datetime.now(), end_date = datetime.datetime.now(), deleted = False ) except Exception as ex: LOG.exception(ex) return u
def project_create(request, tenant_name, tenant_description): LOG.info( "************* start to create a new role in keystone ***************") rc = create_rc_by_dc(DataCenter.objects.all()[0]) LOG.info("************* rc is ***************" + str(rc)) tenant_id = None LOG.info("tenant name" + str(tenant_name)) LOG.info("tenant name" + str(tenant_description)) try: project = keystone.tenant_create(rc, tenant_name) LOG.info("*** project is ***" + str(project)) tenant_id = project.id LOG.info(" tenant_id is" + str(tenant_id)) except: return False return tenant_id
def tenant_create(): t = keystone.tenant_create(None, name="zhangh-test") print t return t
def link_user_to_dc_task(user, datacenter): LOG.info("New user: Start action [%s]" % user.username) registered_udc = UserDataCenter.objects.filter(user=user, data_center=datacenter) if len(registered_udc) > 0: LOG.info("New user: has registere to datacenter [%s][%s]" % ( user.username, datacenter.name)) return True rc = create_rc_by_dc(datacenter) tenant_name = "%s-%04d" % (settings.OS_NAME_PREFIX, user.id) try: keystone_user = "******" % (settings.OS_NAME_PREFIX, user.id, user.username.split('@')[0]) except: keystone_user = "******" % (settings.OS_NAME_PREFIX, user.id) pwd = "cloud!@#%s" % random.randrange(100000, 999999) t = keystone.tenant_create(rc, name=tenant_name, description=user.username) LOG.info("New user: create tanant [%s][tid:%s]" % (user.username, t.id)) u = keystone.user_create(rc, name=keystone_user, email=user.email, password=pwd, project=t.id) LOG.info("New user: create user [%s][uid:%s]" % (user.username, u.id)) roles = keystone.role_list(rc) admin_role = filter(lambda r: r.name.lower() == "admin", roles)[0] keystone.add_tenant_user_role(rc, project=t.id, user=u.id, role=admin_role.id) LOG.info( "New user: add role [%s][role:%s]" % (user.username, admin_role.id)) udc = UserDataCenter.objects.create( data_center=datacenter, user=user, tenant_name=tenant_name, tenant_uuid=t.id, keystone_user=keystone_user, keystone_password=pwd, ) LOG.info( "New user: link to datacenter [%s][udc:%s]" % (user.username, udc.id)) try: edit_default_security_group(user, udc) except Exception as ex: LOG.exception(ex) try: Contract.objects.create( user=user, udc=udc, name=user.username, customer=user.username, start_date=datetime.datetime.now(), end_date=datetime.datetime.now(), deleted=False ) except Exception as ex: LOG.exception(ex) return u
def link_user_to_dc_task(user, datacenter): if UserDataCenter.objects.filter( user=user, data_center=datacenter).exists(): LOG.info("User[%s] has already registered to data center [%s]", user.username, datacenter.name) return True rc = create_rc_by_dc(datacenter) tenant_name = "%s-%04d" % (settings.OS_NAME_PREFIX, user.id) keystone_user = "******" % (settings.OS_NAME_PREFIX, user.id, user.username) LOG.info("Begin to register user [%s] in data center [%s]", user.username, datacenter.name) t = keystone.tenant_create(rc, name=tenant_name, description=user.username) LOG.info("User[%s] is registered as tenant[id:%s][name:%s] in " "data center [%s]", user.username, t.id, tenant_name, datacenter.name) pwd = "cloud!@#%s" % random.randrange(100000, 999999) u = keystone.user_create(rc, name=keystone_user, email=user.email, password=pwd, project=t.id) LOG.info("User[%s] is registered as keystone user[uid:%s] in " "data center[%s]", user.username, u.id, datacenter.name) roles = keystone.role_list(rc) admin_role = filter(lambda r: r.name.lower() == "admin", roles)[0] keystone.add_tenant_user_role(rc, project=t.id, user=u.id, role=admin_role.id) LOG.info("Admin role[%s] in tenant[%s] is granted to user[%s]", admin_role.id, t.id, user.username) udc = UserDataCenter.objects.create( data_center=datacenter, user=user, tenant_name=tenant_name, tenant_uuid=t.id, keystone_user=keystone_user, keystone_password=pwd, ) LOG.info("Register user[%s] to datacenter [udc:%s] successfully", user.username, udc.id) try: edit_default_security_group(user, udc) except: LOG.exception("Failed to edit default security group for user[%s] in " "data center[%s]", user.username, datacenter.name) Contract.objects.create( user=user, udc=udc, name=user.username, customer=user.username, start_date=datetime.datetime.now(), end_date=datetime.datetime.now(), deleted=False ) return u
def link_user_to_dc_task(user, datacenter): LOG.info("start to execute link_user_to_dc_task") if UserDataCenter.objects.filter(user=user, data_center=datacenter).exists(): LOG.info("User[%s] has already registered to data center [%s]", user.username, datacenter.name) return True LOG.info("2") rc = create_rc_by_dc(datacenter) LOG.info("1") tenant_name = "%s-%04d" % (settings.OS_NAME_PREFIX, user.id) keystone_user = "******" % (settings.OS_NAME_PREFIX, user.id, user.username) LOG.info("Begin to register user [%s] in data center [%s]", user.username, datacenter.name) t = keystone.tenant_create(rc, name=tenant_name, description=user.username) LOG.info( "User[%s] is registered as tenant[id:%s][name:%s] in " "data center [%s]", user.username, t.id, tenant_name, datacenter.name) pwd = "cloud!@#%s" % random.randrange(100000, 999999) u = keystone.user_create(rc, name=keystone_user, email=user.email, password=pwd, project=t.id) LOG.info( "User[%s] is registered as keystone user[uid:%s] in " "data center[%s]", user.username, u.id, datacenter.name) roles = keystone.role_list(rc) admin_role = filter(lambda r: r.name.lower() == "admin", roles)[0] keystone.add_tenant_user_role(rc, project=t.id, user=u.id, role=admin_role.id) LOG.info("Admin role[%s] in tenant[%s] is granted to user[%s]", admin_role.id, t.id, user.username) udc = UserDataCenter.objects.create( data_center=datacenter, user=user, tenant_name=tenant_name, tenant_uuid=t.id, keystone_user=keystone_user, keystone_password=pwd, ) LOG.info("Register user[%s] to datacenter [udc:%s] successfully", user.username, udc.id) try: edit_default_security_group(user, udc) except: LOG.exception( "Failed to edit default security group for user[%s] in " "data center[%s]", user.username, datacenter.name) Contract.objects.create(user=user, udc=udc, name=user.username, customer=user.username, start_date=datetime.datetime.now(), end_date=datetime.datetime.now(), deleted=False) return u