def quat_from_qx_qy_qz(qx, qy, qz):
    qw = 1.0 - ((qx * qx) + (qy * qy) + (qz * qz))
    if qw < 0.0:
        qw = 0.0
    else:
        qw = -math.sqrt(qw)
    return (qx, qy, qz, qw)

#######################################################################################################################
grouppolicy-policy-action-update  myid --name myname --tags a b.
dataset/ETHPy150Open turbulenz/turbulenz_tools/turbulenz_tools/tools/vmath.py/quat_from_qx_qy_qz--crossover with--dataset/ETHPy150Open openstack/python-group-based-policy-client/gbpclient/tests/unit/test_cli20_policyaction.py/CLITestV20PolicyActionJSON.test_update_policy_action