X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=db-config.d%2F01-init;h=71453a089fb3328bfa871d8039587940b26058fe;hb=c28d6a90333d6627837866641c3174f86cd19dc7;hp=7fd6bdf065bc16bab1c2c147ed5d3c00b5e4141d;hpb=905621647268aaf7bc792dfb6a064f06d3c76ba0;p=myplc.git diff --git a/db-config.d/01-init b/db-config.d/01-init index 7fd6bdf..71453a0 100644 --- a/db-config.d/01-init +++ b/db-config.d/01-init @@ -58,3 +58,26 @@ SetPersonPrimarySite(admin['person_id'], site['site_id']) AddRoleToPerson(10, admin['person_id']) AddRoleToPerson(20, admin['person_id']) +# Associate root ssh key with the default administrator +keyfile="/etc/planetlab/root_ssh_key.pub" +person = GetPersons(admin['person_id'])[0] +keys = GetKeys(person['key_ids']) +if os.path.exists(keyfile): + sshkeyfp = file(keyfile,"r") + sshkey = sshkeyfp.read() + sshkeyfp.close() + + found=False + for key in keys: + if key['key_type']=='ssh': + if key['key'] == sshkey: + found=True + else: + # should we delete other keys? + pass + if not found: + key_id = AddPersonKey(admin['person_id'],{'key_type':'ssh','key':sshkey}) +else: + if len(keys)==0: + print "WARNING: default administrator does not have an ssh key" + print "and the default ssh root pub key (%s) file does not exist."