summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-ansible-waldur-module.spec318
-rw-r--r--sources1
3 files changed, 320 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..c341be5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/ansible-waldur-module-1.1.5.tar.gz
diff --git a/python-ansible-waldur-module.spec b/python-ansible-waldur-module.spec
new file mode 100644
index 0000000..b5bfd31
--- /dev/null
+++ b/python-ansible-waldur-module.spec
@@ -0,0 +1,318 @@
+%global _empty_manifest_terminate_build 0
+Name: python-ansible-waldur-module
+Version: 1.1.5
+Release: 1
+Summary: Ansible module for the Waldur API.
+License: MIT
+URL: https://waldur.com
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/6e/24/aeef43c977bd4e95f4b5e08aa32ec7f5492d8183707dfad6b6e9d6bbce32/ansible-waldur-module-1.1.5.tar.gz
+BuildArch: noarch
+
+
+%description
+# Ansible module for Waldur
+
+Waldur-based solutions can be managed with Ansible modules to allow provisioning and
+management of infrastructure under Waldur through Ansible playbooks.
+
+## Supported functionality
+
+- OpenStack management.
+- SLURM HPC management
+- Common client for Waldur APIs in Python.
+
+See also: <http://docs.ansible.com/ansible/modules.html>
+
+## Installation
+
+```bash
+pip install ansible-waldur-module
+```
+
+## Example usage
+
+### Configure an Ansible playbook with parameters
+
+```yaml
+ name: Trigger master instance
+ waldur_marketplace_os_instance:
+ access_token: "{{ access_token }}"
+ api_url: "{{ api_url }}"
+ flavor: m1.micro
+ floating_ip: auto
+ image: CentOS 7 x86_64
+ name: "{{ instance_name }}"
+ project: "OpenStack Project"
+ offering: Instance in Tenant
+ ssh_key: ssh1.pub
+ subnet: vpc-1-tm-sub-net-2
+ system_volume_size: 40
+ wait: false
+```
+
+### Pass parameters to an Ansible playbook
+
+```bash
+ANSIBLE_LIBRARY=/usr/share/ansible-waldur/ ansible \
+ -m waldur_marketplace_os_instance \
+ -a "api_url=https://waldur.example.com/api/ access_token=9036194e1ac54cada3248a8c6b203bf7 name=instance-name project='Project name'" \
+ localhost
+```
+
+### Running playbook using virtual Python environment
+
+If you've installed Ansible Waldur module to virtual Python environment you need to specify
+path to Python interpreter and path to module library along with path to playbook:
+
+```bash
+ansible-playbook \
+ -e ansible_python_interpreter=/home/user/ansible-env/bin/python \
+ -M /home/user/ansible-env/lib/python3.8/site-packages/ \
+ playbook.yml
+```
+
+## Contributing
+
+1. See general guidelines: <https://docs.ansible.com/ansible/latest/dev_guide/developing_modules_general.html>
+1. Install `pre-commit` and `tox`
+
+ ```bash
+ pip install tox pre-commit
+ pre-commit install
+ ```
+
+1. When new module is implemented, don't forget to update `py_modules` section in `setup.py` file.
+1. When new module is implemented, it should be covered with tests. Run tests using `tox`
+
+ ```bash
+ tox
+ ```
+
+1. Module name should consist of three parts separated by underscore: `waldur`, plugin name,
+ entity name. For example, `waldur_os_snapshot` refers to OpenStack (OS) as plugin name and snapshot as entity name.
+
+
+
+
+%package -n python3-ansible-waldur-module
+Summary: Ansible module for the Waldur API.
+Provides: python-ansible-waldur-module
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-ansible-waldur-module
+# Ansible module for Waldur
+
+Waldur-based solutions can be managed with Ansible modules to allow provisioning and
+management of infrastructure under Waldur through Ansible playbooks.
+
+## Supported functionality
+
+- OpenStack management.
+- SLURM HPC management
+- Common client for Waldur APIs in Python.
+
+See also: <http://docs.ansible.com/ansible/modules.html>
+
+## Installation
+
+```bash
+pip install ansible-waldur-module
+```
+
+## Example usage
+
+### Configure an Ansible playbook with parameters
+
+```yaml
+ name: Trigger master instance
+ waldur_marketplace_os_instance:
+ access_token: "{{ access_token }}"
+ api_url: "{{ api_url }}"
+ flavor: m1.micro
+ floating_ip: auto
+ image: CentOS 7 x86_64
+ name: "{{ instance_name }}"
+ project: "OpenStack Project"
+ offering: Instance in Tenant
+ ssh_key: ssh1.pub
+ subnet: vpc-1-tm-sub-net-2
+ system_volume_size: 40
+ wait: false
+```
+
+### Pass parameters to an Ansible playbook
+
+```bash
+ANSIBLE_LIBRARY=/usr/share/ansible-waldur/ ansible \
+ -m waldur_marketplace_os_instance \
+ -a "api_url=https://waldur.example.com/api/ access_token=9036194e1ac54cada3248a8c6b203bf7 name=instance-name project='Project name'" \
+ localhost
+```
+
+### Running playbook using virtual Python environment
+
+If you've installed Ansible Waldur module to virtual Python environment you need to specify
+path to Python interpreter and path to module library along with path to playbook:
+
+```bash
+ansible-playbook \
+ -e ansible_python_interpreter=/home/user/ansible-env/bin/python \
+ -M /home/user/ansible-env/lib/python3.8/site-packages/ \
+ playbook.yml
+```
+
+## Contributing
+
+1. See general guidelines: <https://docs.ansible.com/ansible/latest/dev_guide/developing_modules_general.html>
+1. Install `pre-commit` and `tox`
+
+ ```bash
+ pip install tox pre-commit
+ pre-commit install
+ ```
+
+1. When new module is implemented, don't forget to update `py_modules` section in `setup.py` file.
+1. When new module is implemented, it should be covered with tests. Run tests using `tox`
+
+ ```bash
+ tox
+ ```
+
+1. Module name should consist of three parts separated by underscore: `waldur`, plugin name,
+ entity name. For example, `waldur_os_snapshot` refers to OpenStack (OS) as plugin name and snapshot as entity name.
+
+
+
+
+%package help
+Summary: Development documents and examples for ansible-waldur-module
+Provides: python3-ansible-waldur-module-doc
+%description help
+# Ansible module for Waldur
+
+Waldur-based solutions can be managed with Ansible modules to allow provisioning and
+management of infrastructure under Waldur through Ansible playbooks.
+
+## Supported functionality
+
+- OpenStack management.
+- SLURM HPC management
+- Common client for Waldur APIs in Python.
+
+See also: <http://docs.ansible.com/ansible/modules.html>
+
+## Installation
+
+```bash
+pip install ansible-waldur-module
+```
+
+## Example usage
+
+### Configure an Ansible playbook with parameters
+
+```yaml
+ name: Trigger master instance
+ waldur_marketplace_os_instance:
+ access_token: "{{ access_token }}"
+ api_url: "{{ api_url }}"
+ flavor: m1.micro
+ floating_ip: auto
+ image: CentOS 7 x86_64
+ name: "{{ instance_name }}"
+ project: "OpenStack Project"
+ offering: Instance in Tenant
+ ssh_key: ssh1.pub
+ subnet: vpc-1-tm-sub-net-2
+ system_volume_size: 40
+ wait: false
+```
+
+### Pass parameters to an Ansible playbook
+
+```bash
+ANSIBLE_LIBRARY=/usr/share/ansible-waldur/ ansible \
+ -m waldur_marketplace_os_instance \
+ -a "api_url=https://waldur.example.com/api/ access_token=9036194e1ac54cada3248a8c6b203bf7 name=instance-name project='Project name'" \
+ localhost
+```
+
+### Running playbook using virtual Python environment
+
+If you've installed Ansible Waldur module to virtual Python environment you need to specify
+path to Python interpreter and path to module library along with path to playbook:
+
+```bash
+ansible-playbook \
+ -e ansible_python_interpreter=/home/user/ansible-env/bin/python \
+ -M /home/user/ansible-env/lib/python3.8/site-packages/ \
+ playbook.yml
+```
+
+## Contributing
+
+1. See general guidelines: <https://docs.ansible.com/ansible/latest/dev_guide/developing_modules_general.html>
+1. Install `pre-commit` and `tox`
+
+ ```bash
+ pip install tox pre-commit
+ pre-commit install
+ ```
+
+1. When new module is implemented, don't forget to update `py_modules` section in `setup.py` file.
+1. When new module is implemented, it should be covered with tests. Run tests using `tox`
+
+ ```bash
+ tox
+ ```
+
+1. Module name should consist of three parts separated by underscore: `waldur`, plugin name,
+ entity name. For example, `waldur_os_snapshot` refers to OpenStack (OS) as plugin name and snapshot as entity name.
+
+
+
+
+%prep
+%autosetup -n ansible-waldur-module-1.1.5
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-ansible-waldur-module -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 1.1.5-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..f56d364
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+e41dc8bee4cc66f09347339caa652315 ansible-waldur-module-1.1.5.tar.gz