First you need epel:
sudo yum install epel-release -y
Then install easy-rsa:
| #cloud-config | |
| # vim: syntax=yaml | |
| # | |
| # *********************** | |
| # ---- for more examples look at: ------ | |
| # ---> https://cloudinit.readthedocs.io/en/latest/topics/examples.html | |
| # ****************************** | |
| # | |
| # This is the configuration syntax that the write_files module | |
| # will know how to understand. encoding can be given b64 or gzip or (gz+b64). |
| ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDEwVjHjE0LXtgi3WKMJcPzDaGSdLpZf5F4FuI7w11x+9pjf+JX5DRkvoc+zjmfOSQNzS0qXpeunLBptlmBtxcvRrnvcBkJnq3d5dNOXoAMullAmzrRUpmDBIK0mK/9lB8cN/DpRY+UZrCko2I30H6ZWrqTx5A8lvGnWX+R1VinHFf+lvy34Y4TX4XVdrwoVNkZb3s1NVl7dlZiqzTLprPG/vuf8pz1TLlQQ6m3wtvkLrVo8VhHoy2mD/L+ek+V2vKM3LML3JXIe3dQavbSmxe1cUpsJu4Ea5oxI4JOoVpAZfNKA19ffmon/we+owac+ozsN0HadzSrD14akql8wS5t7UxxR75jhlgO7BuZz0YpUHPYylg+CXK/qfGdsbDurCrYxlSIpo2U0fb9ucDw37Sd4vYoAT5Kp/PSSCBeE5J/qIXQL3vHsnyiwbxGe32Vs420fRP8e6AbC7h5bDbaQ04aJfnsA3CRWRP/72EB5vC3ouJdsdDNv35pvHpMYlHRq/5KZu6vka6GSyWPkhejEwKaK+eoXUWZlUucsWaIrnAap7a6CSM8VF4csqqoKTHmozQorP/8uI76fClaIV6ma25RPnYXrDzFGDeMQqcug6J0Xy5qPykh8cMOAE6VczO4QAWm/y0otvoissqNqOc6bI+Sg5CY6p18Nj1qX8pnHCsVPQ== celebdor@calcifer |
| Computer Information: | |
| Manufacturer: Unknown | |
| Model: Unknown | |
| Form Factor: Laptop | |
| No Touch Input Detected | |
| Processor Information: | |
| CPU Vendor: GenuineIntel | |
| CPU Brand: Intel(R) Core(TM) i7-6600U CPU @ 2.60GHz | |
| CPU Family: 0x6 |
| import datetime | |
| import fcntl | |
| from multiprocessing import Process | |
| from os import path | |
| import tempfile | |
| import time | |
| def run_exclusive(filename): | |
| def wrapper(func): |
| import sys | |
| from pprint import pprint | |
| from keystoneauth1 import loading as ks_loading | |
| from openstack import connection | |
| from oslo_config import cfg | |
| import oslo_i18n | |
| # coding: utf-8 | |
| import openstack | |
| conn = openstack.connect() | |
| # Get load balancers | |
| lbs = conn.load_balancer.load_balancers() | |
| for lb in lbs: | |
| print(lb) |
| ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCtDvlMQGGZyrLWKgANuFXDiQge+TjcDtzjocrPFjLuepNy0tyMRfkCmpx99172V3ImKWma+yUQzrNTwzhZZ55Ojsn8JbOIBT6zsCufkb5cHSqxuhnnoXnYWZ0OQ3fczm2sVhO7GGtoot4P4ve+xiieQudFfFpzdBNX+PzJwjQmuoOM9Ecp1KrQWmxDNZxXnaHzDAva/oOyr/gS5K5oetMOJVX6N/zlo4I7A9SN/nBsz1zIwWn/Ry8WmR2PusABntZM/ap2fLQOqlzJ2K7n0vjLlhee2SF+3ki4o5rr1JsxiyY/T9ii0Zu4JrN4hFycMydyQYlALek59GFMdwE/Gili6usksQwgBXbJwUzrg0NnmnjUhHm9R4GARY0YFueCO19LhanFaqkx7cP0EN6flkszYr97jGpl3oaOAkHzwYt8ml78/IJRD+uBDbOeALgnCkECAegrnQ5seO8e0w3lCquByEQdIa19WxNbGSi+9MG6dhpLIw8q/NlCCCDmfRdk/eoEqhFW7o7J6lNRzEbY+eE7omk+X13Dtl2sZo8TsNNqigielnGPzBop7jdcorLkEwMPqhDZLJLXLkXpq+RDHOAR/LdsZrR3deZPl+za+eenL9LikFGXkKPY4x5sqM5vzgtlYHFCzXVfAhAjM14z6Mgcsi99NUiUqNVrEink0Q9/MQ== celebdor@s21 |
| # coding: utf-8 | |
| import keystoneauth1 | |
| from neutronclient.v2_0 import client as v2client | |
| from neutronclient import client | |
| import shade | |
| cloud = shade.openstack_cloud() | |
| octoadapter = keystoneauth1.adapter.Adapter( | |
| session=cloud.keystone_session, |
| # coding: utf-8 | |
| import subprocess | |
| import sys | |
| CAP_NET_ADMIN = 12 # Taken from linux/capabilities.h | |
| def am_i_net_admin(): | |
| with open('/proc/self/status', 'r') as pstat: | |
| for line in pstat: | |
| if line.startswith('CapEff:\t'): |