initial commit
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fe2f752 --- /dev/null +++ b/.gitignore
@@ -0,0 +1,113 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +*.egg-info/ +.installed.cfg +*.egg + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*,cover +.hypothesis/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# IPython Notebook +.ipynb_checkpoints + +# pyenv +.python-version + +# celery beat schedule file +celerybeat-schedule + +# dotenv +.env + +# virtualenv +venv/ +ENV/ + +# Spyder project settings +.spyderproject + +# Rope project settings +.ropeproject + +.vagrant +*.iml +archives +.DS_Store +ssh_keys +ansible.log +*.zip +license.txt +*.log +*.tar.gz +*.rpm +*.tar +ansible_fact_cache_dir +*jar +.ansible_cache* +configs_and_logs +redhat-rhui.repo +rhui-load-balancers.conf +out +.idea +*iml +*retry +installations/aio/installation-logs-configs/*
diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..36bbf62 --- /dev/null +++ b/.travis.yml
@@ -0,0 +1,29 @@ +--- +language: python +python: "2.7" + +# Use the new container infrastructure +sudo: false + +# Install ansible +addons: + apt: + packages: + - python-pip + +install: + # Install ansible + - pip install ansible + + # Check ansible version + - ansible --version + + # Create ansible.cfg with correct roles_path + - printf '[defaults]\nroles_path=../' >ansible.cfg + +script: + # Basic role syntax check + - ansible-playbook tests/test.yml -i tests/inventory --syntax-check + +notifications: + webhooks: https://galaxy.ansible.com/api/v1/notifications/ \ No newline at end of file
diff --git a/README.md b/README.md new file mode 100644 index 0000000..921e69f --- /dev/null +++ b/README.md
@@ -0,0 +1,44 @@ +OPDK Enable Swap +========= + +The purpose of this role is to setup swap for those instances when they are needed. + +Requirements +------------ + +There are no requirements + +Role Variables +-------------- + +Swap mount point: + + swap_path: /var/swap + +Swap size: + + swap_size_mb: 4096 + +Dependencies +------------ + +No Dependencies + +Example Playbook +---------------- + +Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too: + + - hosts: servers + roles: + - { role: opdk-enable-swap } + +License +------- + +Apache License Version 2.0, January 2004 + +Author Information +------------------ + +Paul Mibus
diff --git a/apigee-opdk-enable-swap.iml b/apigee-opdk-enable-swap.iml new file mode 100644 index 0000000..8021953 --- /dev/null +++ b/apigee-opdk-enable-swap.iml
@@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<module type="WEB_MODULE" version="4"> + <component name="NewModuleRootManager" inherit-compiler-output="true"> + <exclude-output /> + <content url="file://$MODULE_DIR$" /> + <orderEntry type="inheritedJdk" /> + <orderEntry type="sourceFolder" forTests="false" /> + </component> +</module> \ No newline at end of file
diff --git a/defaults/main.yml b/defaults/main.yml new file mode 100644 index 0000000..d247daf --- /dev/null +++ b/defaults/main.yml
@@ -0,0 +1,4 @@ +--- +# defaults file for opdk-enable-swap +swap_path: /var/swap +swap_size_mb: 4096
diff --git a/handlers/main.yml b/handlers/main.yml new file mode 100644 index 0000000..05b7ec1 --- /dev/null +++ b/handlers/main.yml
@@ -0,0 +1,2 @@ +--- +# handlers file for opdk-enable-swap
diff --git a/meta/main.yml b/meta/main.yml new file mode 100644 index 0000000..c9cdc94 --- /dev/null +++ b/meta/main.yml
@@ -0,0 +1,194 @@ +galaxy_info: + author: your name + description: your description + company: your company (optional) + + # If the issue tracker for your role is not on github, uncomment the + # next line and provide a value + # issue_tracker_url: http://example.com/issue/tracker + + # Some suggested licenses: + # - BSD (default) + # - MIT + # - GPLv2 + # - GPLv3 + # - Apache + # - CC-BY + license: license (GPLv2, CC-BY, etc) + + min_ansible_version: 1.2 + + # Optionally specify the branch Galaxy will use when accessing the GitHub + # repo for this role. During role install, if no tags are available, + # Galaxy will use this branch. During import Galaxy will access files on + # this branch. If travis integration is cofigured, only notification for this + # branch will be accepted. Otherwise, in all cases, the repo's default branch + # (usually master) will be used. + #github_branch: + + # + # Below are all platforms currently available. Just uncomment + # the ones that apply to your role. If you don't see your + # platform on this list, let us know and we'll get it added! + # + #platforms: + #- name: EL + # versions: + # - all + # - 5 + # - 6 + # - 7 + #- name: GenericUNIX + # versions: + # - all + # - any + #- name: OpenBSD + # versions: + # - all + # - 5.6 + # - 5.7 + # - 5.8 + # - 5.9 + # - 6.0 + #- name: Fedora + # versions: + # - all + # - 16 + # - 17 + # - 18 + # - 19 + # - 20 + # - 21 + # - 22 + # - 23 + #- name: opensuse + # versions: + # - all + # - 12.1 + # - 12.2 + # - 12.3 + # - 13.1 + # - 13.2 + #- name: MacOSX + # versions: + # - all + # - 10.10 + # - 10.11 + # - 10.12 + # - 10.7 + # - 10.8 + # - 10.9 + #- name: IOS + # versions: + # - all + # - any + #- name: Solaris + # versions: + # - all + # - 10 + # - 11.0 + # - 11.1 + # - 11.2 + # - 11.3 + #- name: SmartOS + # versions: + # - all + # - any + #- name: eos + # versions: + # - all + # - Any + #- name: Windows + # versions: + # - all + # - 2012R2 + #- name: Amazon + # versions: + # - all + # - 2013.03 + # - 2013.09 + #- name: GenericBSD + # versions: + # - all + # - any + #- name: Junos + # versions: + # - all + # - any + #- name: FreeBSD + # versions: + # - all + # - 10.0 + # - 10.1 + # - 10.2 + # - 10.3 + # - 8.0 + # - 8.1 + # - 8.2 + # - 8.3 + # - 8.4 + # - 9.0 + # - 9.1 + # - 9.1 + # - 9.2 + # - 9.3 + #- name: Ubuntu + # versions: + # - all + # - lucid + # - maverick + # - natty + # - oneiric + # - precise + # - quantal + # - raring + # - saucy + # - trusty + # - utopic + # - vivid + # - wily + # - xenial + #- name: SLES + # versions: + # - all + # - 10SP3 + # - 10SP4 + # - 11 + # - 11SP1 + # - 11SP2 + # - 11SP3 + # - 11SP4 + # - 12 + # - 12SP1 + #- name: GenericLinux + # versions: + # - all + # - any + #- name: NXOS + # versions: + # - all + # - any + #- name: Debian + # versions: + # - all + # - etch + # - jessie + # - lenny + # - sid + # - squeeze + # - stretch + # - wheezy + + galaxy_tags: [] + # List tags for your role here, one per line. A tag is + # a keyword that describes and categorizes the role. + # Users find roles by searching for tags. Be sure to + # remove the '[]' above if you add tags to this list. + # + # NOTE: A tag is limited to a single word comprised of + # alphanumeric characters. Maximum 20 tags per role. + +dependencies: [] + # List your role dependencies here, one per line. + # Be sure to remove the '[]' above if you add dependencies + # to this list. \ No newline at end of file
diff --git a/tasks/main.yml b/tasks/main.yml new file mode 100644 index 0000000..07595c4 --- /dev/null +++ b/tasks/main.yml
@@ -0,0 +1,34 @@ +--- +# tasks file for opdk-enable-swap +- block: + + - name: Allocate swap file + command: creates={{ swap_path }} /bin/dd if=/dev/zero of={{ swap_path }} bs=1M count={{ swap_size_mb }} + register: swap_allocate + + - name: Set swap file permissions + file: dest={{ swap_path }} owner=root group=root mode=0600 + + - name: Determine whether swap file must be initialized + command: file {{ swap_path }} + register: file_type + changed_when: false + + - name: Initialize swap file + command: mkswap {{ swap_path }} + when: file_type.stdout.count('swap file') == 0 + + - name: Add swap to fstab + mount: src={{ swap_path }} name=none fstype=swap opts=sw passno=0 dump=0 state=present + + - name: Determine whether swap file must be activated + command: swapon -s + register: active_swaps + changed_when: false + + - name: Activate swap + command: swapon {{ swap_path}} + when: active_swaps.stdout.count('{{ swap_path }}') == 0 + + become: yes + become_user: root
diff --git a/tests/inventory b/tests/inventory new file mode 100644 index 0000000..d18580b --- /dev/null +++ b/tests/inventory
@@ -0,0 +1 @@ +localhost \ No newline at end of file
diff --git a/tests/test.yml b/tests/test.yml new file mode 100644 index 0000000..77a5bb9 --- /dev/null +++ b/tests/test.yml
@@ -0,0 +1,5 @@ +--- +- hosts: localhost + remote_user: root + roles: + - opdk-enable-swap \ No newline at end of file
diff --git a/vars/main.yml b/vars/main.yml new file mode 100644 index 0000000..c7f4bea --- /dev/null +++ b/vars/main.yml
@@ -0,0 +1,2 @@ +--- +# vars file for opdk-enable-swap