Example #1
0
def userproduct_post_save(sender, instance, created, **kwargs):
    """create ssh user at every ssh server ,
       when add ssh user or change ssh user.
    """
    sshuser = instance.sshuser
    sshpwd = instance.sshpwd
    expired_date = instance.expired_date

    if created:  # new created
        if sshuser and sshpwd and expired_date:  # not up.save() for getting UserProduct id
            # create new ssh on all ssh servers
            ssh_util = SSHUtil(instance.user)
            ssh_info_list = [(sshuser, sshpwd, expired_date)]
            ssh_util.ssh_create_onall(ssh_info_list)
    else:  # not created
        #change ssh password on all ssh servers
        ssh_util = SSHUtil(instance.user)
        if sshuser and sshpwd:  # change password
            ssh_util.ssh_change_pwd_onall(sshuser, sshpwd)
        if expired_date:  # change expired date
            ssh_util.ssh_change_expire_onall(sshuser, expired_date)