##############################################################################
# Copyright (c) 2017 ZTE Corporation and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################

- name: install openssl - Cryptography and SSL/TLS Toolkit
  package:
    name: openssl
    state: present

- name: RSA signatures speed measurement
  command: openssl speed rsa
  register: openssl_rsa_log

#- name: AES speed measurement
#  command: openssl speed -evp aes-128-cbc
#  register: openssl_aes_log

- name: collect ssl metrics from openssl
  collect:
    string: "{{ openssl_rsa_log.stdout }}"
    patterns:
      - |-
          ^rsa\s+512\sbits\s.+\s+
          ?(?P<rsa_sign_512>\d+\.\d)\s+
          ?(?P<rsa_verify_512>\d+\.\d)$
      - |-
          ^rsa\s+1024\sbits\s.+\s+
          ?(?P<rsa_sign_1024>\d+\.\d)\s+
          ?(?P<rsa_verify_1024>\d+\.\d)$
      - |-
          ^rsa\s+2048\sbits\s.+\s+
          ?(?P<rsa_sign_2048>\d+\.\d)\s+
          ?(?P<rsa_verify_2048>\d+\.\d)$
      - |-
          ^rsa\s+4096\sbits\s.+\s+
          ?(?P<rsa_sign_4096>\d+\.\d)\s+
          ?(?P<rsa_verify_4096>\d+\.\d)$
    dump: openssl_rsa_log
  register: openssl_rsa_metrics

#  - filename: AES-128-CBC_dump
#    grep:
#      - |-
#          ^aes-128-cbc\s+
#          ?(?P<aes_128_cbc_16_bytes>\d+\.\w+)\s+
#          ?(?P<aes_128_cbc_64_bytes>\d+\.\w+)\s+
#          ?(?P<aes_128_cbc_256_bytes>\d+\.\w+)\s+
#          ?(?P<aes_128_cbc_1024_bytes>\d+\.\w+)\s+
#          ?(?P<aes_128_cbc_8192_bytes>\d+\.\w+)$