in image_test/oslogin-ssh/oslogin-ssh-master-tester.py [0:0]
def main():
global MD
global MASTER_KEY
global OSLOGIN_TESTER
global OSADMINLOGIN_TESTER
global TESTEE
global OSLOGIN_USERS_LIB
global UNIQUE_ID_USER
logging.info("master: starting environment configuration")
TESTEE = MM.FetchMetadataDefault('testee')
OSLOGIN_TESTER = MM.FetchMetadataDefault('osLoginTester')
OSADMINLOGIN_TESTER = MM.FetchMetadataDefault('osAdminLoginTester')
credentials, _ = auth.default()
OSLOGIN_USERS_LIB = utils.GetOslogin(discovery, credentials).users()
UNIQUE_ID_USER = utils.GetServiceAccountUniqueIDUser()
username = utils.GetCurrentLoginProfileUsername(OSLOGIN_USERS_LIB,
UNIQUE_ID_USER)
compute = utils.GetCompute(discovery, credentials)
MD = MM(compute, TESTEE, username)
SetEnableOsLogin(None, MM.PROJECT_LEVEL)
SetEnableOsLogin(None, MM.INSTANCE_LEVEL)
# Enable OsLogin in slaves
md = MM(compute, OSLOGIN_TESTER, username)
SetEnableOsLogin(True, MM.INSTANCE_LEVEL, md)
md = MM(compute, OSADMINLOGIN_TESTER, username)
SetEnableOsLogin(True, MM.INSTANCE_LEVEL, md)
# Add key in Metadata and in OsLogin to allow access peers in both modes
MASTER_KEY = MD.AddSshKey(MM.SSH_KEYS, MM.PROJECT_LEVEL)
master_key_fingerprint = AddKeyOsLogin(MASTER_KEY + '.pub')
# Execute tests
try:
logging.info("master: starting: TestOsLogin(MM.INSTANCE_LEVEL)")
TestOsLogin(MM.INSTANCE_LEVEL)
logging.info("master: starting: TestOsLogin(MM.PROJECT_LEVEL)")
TestOsLogin(MM.PROJECT_LEVEL)
logging.info(
"master: starting: TestMetadataWithOsLogin(MM.INSTANCE_LEVEL)")
TestMetadataWithOsLogin(MM.INSTANCE_LEVEL)
logging.info("master: starting: TestMetadataWithOsLogin(MM.PROJECT_LEVEL)")
TestMetadataWithOsLogin(MM.PROJECT_LEVEL)
logging.info("master: starting test: TestOsLoginFalseInInstance()")
TestOsLoginFalseInInstance()
# Clean keys
finally:
logging.info("master: starting environment cleanup")
MD.RemoveSshKey(MASTER_KEY, MM.SSH_KEYS, MM.PROJECT_LEVEL)
RemoveKeyOsLogin(master_key_fingerprint)