Coder Social home page Coder Social logo

ansible_f5's Introduction

README

This document is a work in progress; it's creation has helped me identify and refine my thoughts and values. My hope is that it gives you some insights into how to work with me more effectively. This is not a replacement for actually getting to know each other. I very much value human interaction and look forward to connecting in person.

McGonagle's ResumeSticker

mcgonagle


McGonagle Proninciation


Personal

  • Husband, Father, Brother, Son, Son-in-Law
  • Parent to a baby girl and baby boy
  • Pet parent to a tabby cat
  • Community Organizer
  • Automation Buff
  • Swimmer/Lifeguard
  • Search and Rescue Team Member
  • Experienced Traveler and Flyer
  • History Buff
  • Jiu Jitsu and Freestyle Wrestler
  • Played American Football for 8 years
  • Life Scout in BSA
  • Music Lover, In the 95% of Pandora listeners
  • Movie Buff
  • Art Lover and, Frequent Museum Patron
  • Animal Lover
  • Disability and Burnout Activist
  • Volunteer at St Vincent de Paul - MSPCA - Knights of Columbus
  • Active in Church

Elevator Pitch

Since childhood, Thomas has prioritized and emphasized human service and has always had a genuine passion for technology. Thomas is adept at recognizing and personally investing in open source market-leading platforms. He uses his insight and genuine desire for service to help his customers with their most difficult continuous delivery problems.

Guiding Light/Northstar

The strong have to carry the weak.

What's Most Important to Thomas

Friends and Family

Brahmavihara

Thomas has many tatoos that are important to him, but one that is literally close to his heart is the Brahmavihara. Practicing the Brahmavihara causes the practioner to be reborn into the “Brahma realm,” radiating:

  • Loving-kindness
  • Compassion
  • Empathetic joy
  • Equanimity

A blog article Thomas wrote on the Brahmavihara and DevOps can be found here.

Favorite Poem

Invictus by William Earnest Henley

Leadership Brand

Thomas' super power is invincibility.

Preparedness

Thomas' personal slogan is In Omnia Paratus which means prepared in all things, or "ready for anything". Being organized and ready for anything makes him most comfortable and ready to take on the world. One way this manifests itself is as his being a mobile productivity nerd. He carries a large backpack and a small daypack full of everything he needs to get the job done whatever that job is. It also manifests itself as his need to be prepared for meetings and client engagements.

Productivity

Thomas is a productivity buff, generally he wakes early and spends a considerable part of each morning getting organized. This is not to say that organization comes easily to Thomas. He has to work on it every day, but has a very good workflow he would be happy to share with anyone.

Life Long Learner

Thomas strives to be a lifelong learner. Although he feels like he is slowing down.

Teacher/Trainer

Thomas' maternal grandfather James L. Greene was a high school history teacher for 35 years. He always said that the best teaching he encountered was in the Army, where they "told you what they were going to teach you, taught you, and then tested you". Thomas brings this approach to his trainings. He also is a firm beliver in the socratic method. His personal style refined while teaching junior college computer engineering courses for three years is to ask a lot of questions and hopefully spark lots of discussion.

Military Family

Thomas comes from a very military family and this has definitely shaped him. His family has fought and served in every war going back to the revolutionary war. He didn't serve, but considers his 7 years working for the FAA as a contractor to be his civil service to the country.

Professionality

Boston is a very reserved business culture. Thomas went to a business-focused school for undergraduate and graduate school, and the combination of growing up in Boston and coming up going to Bentley has shaped him. He is most comfortable being formal with customers. With that said, he is certainly capable of creating high quality relationships with customers. Thomas is proud to say that he has become friends with several customers and sees them socially outside of work.

disAbility and Burnout

Thomas is a disAbility and Burnout awareness activist. He has lead special interest groups at previous employers promoting awareness of disAbility and strives to make every work place as equatable as possible. Thomas co-hosts a peer support talk show on Burnout for the CNCF community on Thursdays at 12PM ET.

Thomas' values

Thomas' values were heavily influenced by his experience growing up playing sports and participating in the Boy Scouts. Thomas strives to be the very best teammate he can be, and to live by the Scout Law as an adult.

A Great Teammate:

  • Gives Relentless Effort
  • Is Unselfish
  • Is Honest
  • Is Humble
  • Holds Themselves and Others Accountable
  • Strives to Improve
  • Is Optimistic
  • Respect for Others
  • A Great Teammate is a Leader
  • Is Resilient
  • Takes Responsibility

Boy Scout Law:

  • Trustworthy - Thomas is very trustworthy and honest.
  • Loyal - Thomas is extremely loyal. There is basically nothing he wouldn't do for his friends and family.
  • Helpful - Thomas has a disabled sister. He was raised to help people. It was a major part of his upbringing.
  • Friendly - Thomas was voted "friendliest" throughout junior and high school.
  • Courteous - Thomas strives to be as polite as possible.
  • Kind - Thomas considers kindness to be a virtue and strives to be as kind as possible.
  • Obedient - Thomas has never been insubordinate in his 25 year career.
  • Cheerful - Thomas Strives to be a cheerful individual.
  • Thrifty - Thomas saves and donates as much as he can.
  • Brave -Thomas is brave and has had to be in countless situations.
  • Clean - Thomas is very clean and takes excellent care of his children and wife.
  • Reverent - Thomas' favorite prayer is Joshua 1:9 - "Be strong and courageous. Do not be afraid; do not be discouraged, for the LORD your God will be with you wherever you go". Thomas' patron saint is Joseph of Cupertino - The patron saint of flyers and air travellers.

ansible_f5's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ansible_f5's Issues

[enhancement] disable setup wizard after onboarding

ISSUE TYPE
  • Feature Idea
COMPONENT NAME

/playbooks/onboarding.yml

/roles/onboarding/

ANSIBLE VERSION
[root@f5-super-netops] [/home/snops/kam-ansible_f5] # ansible --version
ansible 2.3.1.0
  config file = /home/snops/kam-ansible_f5/ansible.cfg
  configured module search path = [u'./library']
  python version = 2.7.13 (default, Dec 22 2016, 09:22:15) [GCC 6.2.1 20160822]

PYTHON VERSION
[root@f5-super-netops] [/home/snops/kam-ansible_f5] # python -V
Python 2.7.13

BIGIP VERSION
[root@localhost:Active:Standalone] config # tmsh show sys version

Sys::Version
Main Package
  Product     BIG-IP
  Version     12.1.1
  Build       2.0.204
  Edition     Hotfix HF2
  Date        Fri Oct 21 17:35:48 PDT 2016
OS / ENVIRONMENT

running from SNOPS container

SUMMARY

I am issuing the onboarding playbook from a state where BIG-IP is in a default state (ie. tmsh load sys config default).
The onboarding role will configure all the designated configuration as expected but when going to the BIG-IP GUI, the setup wizard is displayed.

STEPS TO REPRODUCE
  1. Run onboarding playbook, confirm it completes without any errors.
ansible-playbook playbooks/onboarding.yml --ask-vault-pass -e @password.yml -vvv
  1. On the BIG-IP GUI, confirm objects are installed
[root@localhost:Active:Standalone] config # tmsh list net self
net self 10.0.2.10 {
    address 10.0.2.10/24
    traffic-group traffic-group-local-only
    vlan internal
}
net self 10.0.1.10 {
    address 10.0.1.10/24
    traffic-group traffic-group-local-only
    vlan external
}
  1. However, the below db is still true, so the setup wizard will display when logging into the GUI
[root@localhost:Active:Standalone] config # tmsh list sys db setup.run all-properties
sys db setup.run {
    default-value "true"
    scf-config "false"
    value "true"
    value-range "false true"
}
EXPECTED RESULTS

no setup wizard

ACTUAL RESULTS

setup wizard displays

SUGGESTION

Add task:

---
- name: Disable Setup Wizard 
  bigip_sys_db:
    user: "{{ username }}"
    password: "{{ password }}"
    server: "{{ inventory_hostname }}"
    key: "setup.run"
    value: "false"
  delegate_to: localhost
...

Add below to main.yml

- include: bigip_sys_db/disable_wizard.yml

run playbook

TASK [onboarding : Disable Setup Wizard] *****************************************************************************************************************
task path: /home/snops/kam-ansible_f5/roles/onboarding/tasks/bigip_sys_db/disable_wizard.yml:2
Using module file /home/snops/kam-ansible_f5/library/bigip_sys_db.py
<localhost> ESTABLISH LOCAL CONNECTION FOR USER: root
<localhost> EXEC /bin/sh -c 'echo ~ && sleep 0'
<localhost> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /root/.ansible/tmp/ansible-tmp-1503121521.51-24613469567759 `" && echo ansible-tmp-1503121521.51-24613469567759="` echo /root/.ansible/tmp/ansible-tmp-1503121521.51-24613469567759 `" ) && sleep 0'
<localhost> PUT /tmp/tmpnnl8nG TO /root/.ansible/tmp/ansible-tmp-1503121521.51-24613469567759/bigip_sys_db.py
<localhost> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1503121521.51-24613469567759/ /root/.ansible/tmp/ansible-tmp-1503121521.51-24613469567759/bigip_sys_db.py && sleep 0'
<localhost> EXEC /bin/sh -c '/usr/bin/python2 /root/.ansible/tmp/ansible-tmp-1503121521.51-24613469567759/bigip_sys_db.py; rm -rf "/root/.ansible/tmp/ansible-tmp-1503121521.51-24613469567759/" > /dev/null 2>&1 && sleep 0'
ok: [1.1.1.1 -> localhost] => {
    "changed": false, 
    "invocation": {
        "module_args": {
            "key": "setup.run", 
            "partition": "Common", 
            "password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER", 
            "server": "1.1.1.1", 
            "server_port": 443, 
            "state": "present", 
            "user": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER", 
            "validate_certs": true, 
            "value": "false"
        }
    }
}

bug: Add a self ip addresss not idempotent changes every time

changed: [54.226.107.199 -> localhost] => {
"address": "10.0.2.10%0/255.255.255.0",
"changed": true,
"invocation": {
"module_args": {
"address": "10.0.2.10",
"allow_service": null,
"name": "10.0.2.10",
"netmask": "255.255.255.0",
"partition": "Common",
"password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
"route_domain": "0",
"server": "54.226.107.199",
"server_port": 443,
"state": "present",
"traffic_group": "traffic-group-local-only",
"user": "admin",
"validate_certs": false,
"vlan": "internal"
}
},
"name": "10.0.2.10",
"partition": "Common"
}

bug: bigip_partition

fatal: [54.226.107.199 -> localhost]: FAILED! => {
"changed": false,
"failed": true,
"module_stderr": "/usr/local/lib/python2.7/site-packages/requests/packages/urllib3/connectionpool.py:852: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings\n InsecureRequestWarning)\n/usr/local/lib/python2.7/site-packages/requests/packages/urllib3/connectionpool.py:852: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings\n InsecureRequestWarning)\nTraceback (most recent call last):\n File "/var/folders/_r/ht1v5f8n31s9cm78mjn9scpw0000gn/T/ansible_fV2xKE/ansible_module_bigip_partition.py", line 362, in \n main()\n File "/var/folders/_r/ht1v5f8n31s9cm78mjn9scpw0000gn/T/ansible_fV2xKE/ansible_module_bigip_partition.py", line 352, in main\n result = obj.apply_changes()\n File "/var/folders/_r/ht1v5f8n31s9cm78mjn9scpw0000gn/T/ansible_fV2xKE/ansible_module_bigip_partition.py", line 133, in apply_changes\n changed = self.present()\n File "/var/folders/_r/ht1v5f8n31s9cm78mjn9scpw0000gn/T/ansible_fV2xKE/ansible_module_bigip_partition.py", line 144, in present\n if self.partition_exists():\n File "/var/folders/_r/ht1v5f8n31s9cm78mjn9scpw0000gn/T/ansible_fV2xKE/ansible_module_bigip_partition.py", line 156, in partition_exists\n return self.api.tm.sys.folder.exists(\n File "/usr/local/lib/python2.7/site-packages/f5/bigip/mixins.py", line 102, in getattr\n raise AttributeError(error_message)\nAttributeError: '<class 'f5.bigip.tm.sys.Sys'>' object has no attribute 'folder'\n",
"module_stdout": "",
"msg": "MODULE FAILURE",
"rc": 0
}

Bug in set_hostname.yml

fatal: [54.226.107.199 -> localhost]: FAILED! => {
"changed": false,
"failed": true,
"invocation": {
"module_args": {
"hostname": "bigip.localhost.localdomain",
"partition": "Common",
"password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
"server": "54.226.107.199",
"server_port": 443,
"state": "present",
"user": "admin",
"validate_certs": false
}
},
"msg": "404 Unexpected Error: Not Found for uri: https://54.226.107.199:443/mgmt/tm/cm/device/\nText: u'{"code":404,"message":"01020036:3: The requested Re-Key (system device) was not found.","errorStack":[],"apiError":3}'"
}

bigip_routedomain_facts return an error

Hi,
I'm trying to gather information about existing route domain in Ansible:

  • name: Checking existing setup for route domain "{{ routeDomainID }}"
    bigip_routedomain_facts:
    id: "{{ routeDomainID }}"
    user: "admin"
    password: "XXXXXXX"
    server: "{{ ansible_host }}"
    validate_certs: "no"
    delegate_to: localhost

And getting the following error:

TASK [routeDomain : Checking existing setup for route domain "1"] ******************************************************************************************************************************************
fatal: [ansible-3.mg.test -> localhost]: FAILED! => {"changed": false, "failed": true, "module_stderr": "/usr/local/lib/python2.7/site-packages/urllib3/connectionpool.py:858: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings\n InsecureRequestWarning)\nTraceback (most recent call last):\n File "/tmp/ansible_eUg8yS/ansible_module_bigip_routedomain_facts.py", line 190, in \n main()\n File "/tmp/ansible_eUg8yS/ansible_module_bigip_routedomain_facts.py", line 180, in main\n result = obj.flush()\n File "/tmp/ansible_eUg8yS/ansible_module_bigip_routedomain_facts.py", line 139, in flush\n rd = rds.route_domain.load(name=kwargs['id'],\nNameError: global name 'kwargs' is not defined\n", "module_stdout": "", "msg": "MODULE FAILURE", "rc": 0}

enhancement: ASM policy Add/Change/Remove

Not in the SDK yet
Load XML/binary policy file on bigip, activate policy MVP is putting it on the box and going to live in active state (draft state not required)
Kent to provide example

F5_VALIDATE_CERTS environment variable

I noticed that we can specify F5_VALIDATE_CERTS as an environment variable.
If no, SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. This option can be omitted if the environment variable F5_VALIDATE_CERTS is set.

What does that look like F5_VALIDATE_CERTS=false?
Where do you set that. I haven’t been able to figure out environment variables in ansible…

bug: bigip_snmp_trap

fatal: [54.226.107.199 -> localhost]: FAILED! => {
"changed": false,
"failed": true,
"module_stderr": "/usr/local/lib/python2.7/site-packages/requests/packages/urllib3/connectionpool.py:852: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings\n InsecureRequestWarning)\n/usr/local/lib/python2.7/site-packages/requests/packages/urllib3/connectionpool.py:852: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings\n InsecureRequestWarning)\n/usr/local/lib/python2.7/site-packages/requests/packages/urllib3/connectionpool.py:852: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings\n InsecureRequestWarning)\nTraceback (most recent call last):\n File "/var/folders/_r/ht1v5f8n31s9cm78mjn9scpw0000gn/T/ansible_Rn133n/ansible_module_bigip_snmp_trap.py", line 346, in \n main()\n File "/var/folders/_r/ht1v5f8n31s9cm78mjn9scpw0000gn/T/ansible_Rn133n/ansible_module_bigip_snmp_trap.py", line 342, in main\n results = mm.exec_module()\n File "/var/folders/_r/ht1v5f8n31s9cm78mjn9scpw0000gn/T/ansible_Rn133n/ansible_module_bigip_snmp_trap.py", line 182, in exec_module\n changed = self.present()\n File "/var/folders/_r/ht1v5f8n31s9cm78mjn9scpw0000gn/T/ansible_Rn133n/ansible_module_bigip_snmp_trap.py", line 203, in present\n return self.create()\n File "/var/folders/_r/ht1v5f8n31s9cm78mjn9scpw0000gn/T/ansible_Rn133n/ansible_module_bigip_snmp_trap.py", line 218, in create\n self.create_on_device()\n File "/var/folders/_r/ht1v5f8n31s9cm78mjn9scpw0000gn/T/ansible_Rn133n/ansible_module_bigip_snmp_trap.py", line 262, in create_on_device\n params = self.want.api_params()\n File "/var/folders/_r/ht1v5f8n31s9cm78mjn9scpw0000gn/T/ansible_Rn133n/ansible_module_bigip_snmp_trap.py", line 136, in api_params\n for api_attribute in self.api_attributes:\nTypeError: 'NoneType' object is not iterable\n",
"module_stdout": "",
"msg": "MODULE FAILURE",
"rc": 0
}

enhancement: HA

  • Active/Standby Pair
  • Same Capabilties in DevOps Clustering Library
  • Provision a basic BIG-IP pair
  • 2 device Active/Standby cluster
  • Single default Traffic Group
  • Automatic cluster synchronization
  • Creation of VLAN and Self IP for HA Sync

bug: set_syslog_server.yml

fatal: [54.226.107.199 -> localhost]: FAILED! => {
"changed": false,
"failed": true,
"module_stderr": "/usr/local/lib/python2.7/site-packages/requests/packages/urllib3/connectionpool.py:852: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings\n InsecureRequestWarning)\n/usr/local/lib/python2.7/site-packages/requests/packages/urllib3/connectionpool.py:852: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings\n InsecureRequestWarning)\n/usr/local/lib/python2.7/site-packages/requests/packages/urllib3/connectionpool.py:852: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings\n InsecureRequestWarning)\nTraceback (most recent call last):\n File "/var/folders/_r/ht1v5f8n31s9cm78mjn9scpw0000gn/T/ansible_D3j9VJ/ansible_module_bigip_remote_syslog.py", line 224, in \n main()\n File "/var/folders/_r/ht1v5f8n31s9cm78mjn9scpw0000gn/T/ansible_D3j9VJ/ansible_module_bigip_remote_syslog.py", line 218, in main\n results = mm.exec_module()\n File "/var/folders/_r/ht1v5f8n31s9cm78mjn9scpw0000gn/T/ansible_D3j9VJ/ansible_module_bigip_remote_syslog.py", line 148, in exec_module\n changes = self.changes.to_return()\nAttributeError: 'NoneType' object has no attribute 'to_return'\n",
"module_stdout": "",
"msg": "MODULE FAILURE",
"rc": 0
}

[enhancement] save config after onboarding playbook

ISSUE TYPE
  • Feature Idea
COMPONENT NAME

/playbooks/onboarding.yml

/roles/onboarding/

ANSIBLE VERSION
[root@f5-super-netops] [/home/snops/kam-ansible_f5] # ansible --version
ansible 2.3.1.0
  config file = /home/snops/kam-ansible_f5/ansible.cfg
  configured module search path = [u'./library']
  python version = 2.7.13 (default, Dec 22 2016, 09:22:15) [GCC 6.2.1 20160822]

PYTHON VERSION
[root@f5-super-netops] [/home/snops/kam-ansible_f5] # python -V
Python 2.7.13

BIGIP VERSION
[root@localhost:Active:Standalone] config # tmsh show sys version

Sys::Version
Main Package
  Product     BIG-IP
  Version     12.1.1
  Build       2.0.204
  Edition     Hotfix HF2
  Date        Fri Oct 21 17:35:48 PDT 2016
OS / ENVIRONMENT

running from SNOPS container

SUMMARY

After running the onboarding playbook, the config gets applied but only to memory. bigip.conf/bigip_base.conf files do not reflect the changes.

EXPECTED RESULTS

config is saved to disk

ACTUAL RESULTS
[root@localhost:Active:Standalone] config # tmsh list net self
net self 10.0.2.10 {
    address 10.0.2.10/24
    traffic-group traffic-group-local-only
    vlan internal
}
net self 10.0.1.10 {
    address 10.0.1.10/24
    traffic-group traffic-group-local-only
    vlan external
}
[root@localhost:Active:Standalone] config # cat bigip_base.conf | grep -i self
    self-device true
net self-allow {      <------------------no self-IPs on disk
security firewall port-list /Common/_sys_self_allow_tcp_defaults {
security firewall port-list /Common/_sys_self_allow_udp_defaults {
security firewall rule-list /Common/_sys_self_allow_all {
security firewall rule-list /Common/_sys_self_allow_defaults {
                    /Common/_sys_self_allow_tcp_defaults
                    /Common/_sys_self_allow_udp_defaults
security firewall rule-list /Common/_sys_self_allow_management {
[root@localhost:Active:Standalone] config #
SUGGESTION

Add task:

---
- name: Save Config 
  bigip_config:
    user: "{{ username }}"
    password: "{{ password }}"
    server: "{{ inventory_hostname }}"
    save: yes
    validate_certs: "no"
  delegate_to: localhost
...

Add below to main.yml

- include: bigip_config/save_config.yml

Run playbook

TASK [onboarding : Save Config] **************************************************************************************************************************
task path: /home/snops/kam-ansible_f5/roles/onboarding/tasks/bigip_config/save_config.yml:2
Using module file /home/snops/kam-ansible_f5/library/bigip_config.py
<localhost> ESTABLISH LOCAL CONNECTION FOR USER: root
<localhost> EXEC /bin/sh -c 'echo ~ && sleep 0'
<localhost> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /root/.ansible/tmp/ansible-tmp-1503121522.37-279635822364328 `" && echo ansible-tmp-1503121522.37-279635822364328="` echo /root/.ansible/tmp/ansible-tmp-1503121522.37-279635822364328 `" ) && sleep 0'
<localhost> PUT /tmp/tmpVkIu5C TO /root/.ansible/tmp/ansible-tmp-1503121522.37-279635822364328/bigip_config.py
<localhost> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1503121522.37-279635822364328/ /root/.ansible/tmp/ansible-tmp-1503121522.37-279635822364328/bigip_config.py && sleep 0'
<localhost> EXEC /bin/sh -c '/usr/bin/python2 /root/.ansible/tmp/ansible-tmp-1503121522.37-279635822364328/bigip_config.py; rm -rf "/root/.ansible/tmp/ansible-tmp-1503121522.37-279635822364328/" > /dev/null 2>&1 && sleep 0'
changed: [1.1.1.1 -> localhost] => {
    "changed": true, 
    "invocation": {
        "module_args": {
            "merge_content": null, 
            "partition": "Common", 
            "password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER", 
            "reset": false, 
            "save": true, 
            "server": "1.1.1.1", 
            "server_port": 443, 
            "state": "present", 
            "user": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER", 
            "validate_certs": false, 
            "verify": true
        }
    }, 
    "stdout": [
        "Saving running configuration...\n  /config/bigip.conf\n  /config/bigip_base.conf\n  /config/bigip_user.conf\nSaving Ethernet mapping...done\n"
    ], 
    "stdout_lines": [
        [
            "Saving running configuration...", 
            "  /config/bigip.conf", 
            "  /config/bigip_base.conf", 
            "  /config/bigip_user.conf", 
            "Saving Ethernet mapping...done", 
            ""
        ]
    ]
}
META: ran handlers
META: ran handlers

Can't set variables in set_ntp_server.yml correctly

--

  • name: Set NTP servers
    bigip_device_ntp:
    user: "{{ username }}"
    password: "{{ password }}"
    server: "{{ inventory_hostname }}"
    ntp_servers:
    - 'time.apple.com'
    - 'time.nist.gov'
    validate_certs: "no"
    delegate_to: localhost
    ...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.