Commit Graph

125 Commits (b24d502682a0e75ee24092d2340ddc000046dbe0)

Author SHA1 Message Date
maorlipchuk 7190b18616 Add missing storage domain properties (#34904)
* Add additional properties to storage domains

* add warn low space for additional storage properties

* Fixing comments

1. Fixing documentation
2. Use default None
3. Remove redundant if condition
4. remove added discard since it was already added

* Apply comments #2

Fix default value to None
Use percentages instead of GB
2018-01-17 04:48:27 -05:00
Matt Clay 227ff61f9d
Add module support to yamllint sanity test. (#34964)
* Add module support to yamllint sanity test.
* Fix duplicate keys in module RETURN docs.
* Fix syntax in return_common docs fragment.
* Fix duplicate keys in module EXAMPLES docs.
2018-01-16 15:08:56 -08:00
maorlipchuk 6fe0215c8f Add additional mapping attributes for VM/Template registration (#32835)
* Add VnicProfileMapping to register VM

Add vnic profile mappings to be supported in vm registration

* Add VnicProfileMapping to register template

Add vnic profile mappings to be supported in template registration

* Add reassign bad macs to register VM

Add reassign bad macs to be supported in vm registration.

* Add additional mappings params for VM registration

As part of the effort to support DR with oVirt
the "Register" operation is being added with a new mapping parameter
that describes the configuration of the registration.

The idea of supporting DR site to site in oVirt is to have 2 active
setups using storage replication between the primary setup and the
secondary setup.
Both setups will have active DCs, clusters, and hosts, although those
will not be identical.
The user can define a mapping which will be used to recover its setup.

Each mapping can be used to map any VM's attribute stored in the OVF
with its correlated entity.
For example, there could be a primary setup with a VM configured on cluster A.
We also keep an active secondary setup which only have cluster B.
Cluster B is compatible for that VM and in case of a DR scenario theoretically
the storage domain can be imported to the secondary setup and the use can
register the VM to cluster B.

In that case, we can automate the recovery process by defining a cluster mapping,
so once the entity will be registered its OVF will indicate it belongs to
cluster A but the mapping which will be sent will indicate that cluster B should
be valid for every thing that is configured on cluster A.
The engine should do the switch, and register the VM to cluster B in the secondary site.

Cluster mapping is just one example.
The following list describes the different mappings which were
introduced:
  LUN mapping
  Role mapping
  Permissions mapping
  Affinity group mapping
  Affinity label mapping

Each mapping will be used for its specific OVF's data once the register operation
will take place in the engine.

* Add additional mappings params for Template registration

As part of the effort to support DR with oVirt
the "Register" operation is being added with a new mapping parameter
that describes the configuration of the registration.

The idea of supporting DR site to site in oVirt is to have 2 active
setups using storage replication between the primary setup and the
secondary setup.
Both setups will have active DCs, clusters, and hosts, although those
will not be identical.
The user can define a mapping which will be used to recover its setup.

Each mapping can be used to map any Template's attribute stored in the OVF
with its correlated entity.
For example, there could be a primary setup with a Template configured on cluster A.
We also keep an active secondary setup which only have cluster B.
Cluster B is compatible for that Template and in case of a DR scenario theoretically
the storage domain can be imported to the secondary setup and the use can
register the Template to cluster B.

In that case, we can automate the recovery process by defining a cluster mapping,
so once the entity will be registered its OVF will indicate it belongs to
cluster A but the mapping which will be sent will indicate that cluster B should
be valid for every thing that is configured on cluster A.
The engine should do the switch, and register the Template to cluster B in the
secondary site.

Cluster mapping is just one example.
The following list describes the different mappings which were
introduced:
  Role mapping
  Permissions mapping

Each mapping will be used for its specific OVF's data once the register operation
will take place in the engine.

* Add support for update OVF store

Add support for task of update OVF store in a storage domain.
2018-01-16 07:14:29 -05:00
Simone Tiraboschi 41ce1eaea9 ovirt_disk: support sparse parameter (#34091) (#34894)
Support sparse parameter as an explicit
value to allow creating raw-sparse disks.

This commit fixes #34091
2018-01-16 07:04:03 -05:00
Ondra Machacek 6648964afa ovirt_auth: support env variable passing (#34872)
oVirt modules support environment variables to be passed as
authentication details for connection. But ovirt_auth doesn't support
it. This patch add support for it.
2018-01-15 10:13:46 -05:00
Ondra Machacek 2376d02f3f ovirt_cluster: Fix cluster cpu arch comparision (#34446) 2018-01-04 07:01:58 -05:00
Ondra Machacek b051fc6067 ovirt: host_pm: Add missing order parameter (#34213)
Fixes: https://github.com/ansible/ansible/issues/34134
2018-01-03 10:52:23 +00:00
Ondra Machacek 285f1187e0 ovirt: Fix check for upgrade when no updates (#33940) 2017-12-26 09:29:50 -05:00
Ondra Machacek 4e85cdc712 ovirt: Set no_log for storage connections (#33987) 2017-12-18 06:07:23 -05:00
Katerina Koukiou 137498bff1 cloud:ovirt:ovirt_storage_domains.py: Allow not passing dc_name parameter (#33377)
When state == absent we can skpi dc_name parameter.
This patch introduces same functionality for other states.
2017-12-14 07:53:42 -05:00
pmargara 5a4fd97955 Added 'quota' parameter and 'description' parameter to ovirt_disk module (#33860)
* Added 'quota' field and 'description' field to ovirt_disk module

* ovirt_disk: fixed example

* quota => quota_id and other improvement
2017-12-14 07:53:16 -05:00
Pilou b6528ea19f ovirt_disk: fix Python 3 compatibility (use six) (#33730) 2017-12-13 07:51:34 +01:00
Katerina Koukiou e3d99e35d3 cloud:ovirt:ovirt_storage_domains.py: Raise Exception in case no host is up for SD removal (#33662) 2017-12-08 10:22:53 -05:00
Denis Chapligin b06dfc4891 Adds 'discard_after_delete' property to ovirt_storage_domains module. (#33450) 2017-12-06 16:22:44 -05:00
Nijin Ashok 9de76693b7 ovirt_vms: Fix issue in stopping stateless VMs (#32955)
Because of wrong condition defined, the module will wait indefinitely for
snapshots to be removed and will finally timeout after the timeout interval.
2017-11-22 19:51:20 +01:00
Ondra Machacek ee46cfd690 cloud: ovirt: fix missing doc nfs mount_options (#33140) 2017-11-22 19:49:45 +01:00
Ondra Machacek e763146f0c cloud: ovirt: Don't require all iscsi params to be passed to host (#33133) 2017-11-22 19:47:51 +01:00
Mark Chappell 212d96f779 Add a little more explanation to ovirt_vms cloud_init parameter (#32977) 2017-11-16 12:40:57 -05:00
Katerina Koukiou 414d0e92ac cloud: ovirt: ovirt_cluster.py Fix issue with non required parameter 'external_network_providers' (#32797) 2017-11-13 15:59:52 -05:00
Dominik Holler 2b08fd3fb8 ovirt_cluster: Add external network providers (#32433) 2017-11-07 16:01:42 -05:00
Satyajit Bulage 1857d11034 ovirt: PEP8 compliancy fixes (#32316)
* ovirt: PEP8 compliancy fixes
This PR includes:
- PEP8 compliancy fixes

Signed-off-by: Satyajit Bulage <sbulage@redhat.com>

* Improve documentation

* Update documentation

* Update documentation

* Update documentation

* Fix legacy-files.txt

* Update documentation

* Fix PEP8 issue

* Fix PEP8 issue

* Fix another PEP8 issue

* More typo fixes

* Yet another PEP8 typo
2017-11-07 11:50:33 +01:00
Ondra Machacek ee26ecfcfd ovirt_templates: wait for OK state when importing (#31634) 2017-11-02 09:24:42 -04:00
Luca Lorenzetto ea05035be2 Use latest available template (#31780)
* Use latest available template

Documentation states:
template_version: version number of the template to be used for VM. By default the latest available version of the template is used.

This was not true because if parameter was not specified, template[0] is choosen, without checking if is the latest. Now, sorting + selecting the latest selects the one with the latest version number.

* Sort in reverse order, style cleanup

Applied fixes from comment
2017-10-26 09:12:34 -04:00
Ondra Machacek 4f01ad41bd ovirt_hosts: Don't fail upgrade when NON_RESPONSIVE state (#32123) 2017-10-26 09:03:29 -04:00
Ondra Machacek aca8a3b4d7 ovirt_vms: Don't start VM if state is present (#31698) 2017-10-20 05:59:45 -04:00
Ondra Machacek d6b564966f ovirt_host_networks: Fix label assignment (#31969) 2017-10-20 05:42:26 -04:00
Ondra Machacek 052f4d2571 ovirt_networks: Fix label assigment condition (#31772) 2017-10-16 04:58:51 -04:00
Kenny Gillen 1234a79349 Fix gender pronouns and the odd typo (#31709) 2017-10-13 13:52:38 -04:00
Katerina Koukiou 8d4c059275 cloud: ovirt: Add ovirt_disk_facts module (#30422) 2017-10-13 10:32:41 -04:00
Ondra Machacek 8dd1267e6b ovirt: Add new api facts module (#28875)
* ovirt: Add new api facts module

* Simplify boilerplate and add Python 3 import
2017-10-12 13:57:33 -04:00
Ondra Machacek f5c0e2895b ovirt_vms: Wait for VM disks when adding VM (#31468)
Fixes: https://github.com/ansible/ansible/issues/30515
2017-10-12 08:56:13 -04:00
Ondra Machacek e5c0958dbb ovirt_templates: Fix exlusive parameter (#31470) 2017-10-12 08:49:38 -04:00
Ondra Machacek 23c47a65c1 ovirt_networks: Add label to network (#31517) 2017-10-12 08:49:30 -04:00
Ondra Machacek c71394a13a ovirt_clusters: add alias performance_preset for memory_policy (#31523) 2017-10-12 08:49:22 -04:00
Ondra Machacek 0bce693046 ovirt_templates: Add seal parameter (#31482) 2017-10-12 09:04:26 +10:00
François Scala aade5234a9 Fix urlparse import for Python3 (#31240)
* Fix urlparse import for Python3 in

* contrib/inventory/consul_io.py
* contrib/inventory/rudder.py
* contrib/inventory/windows_azure.py
* lib/ansible/module_utils/known_hosts.py
* lib/ansible/modules/cloud/centurylink/clc_firewall_policy.py
* lib/ansible/modules/cloud/docker/_docker.py
* lib/ansible/modules/cloud/ovirt/ovirt_disk.py
* lib/ansible/plugins/action/ce_template.py
2017-10-09 20:18:09 -07:00
Katerina Koukiou 54ca841611 cloud:ovirt:ovirt_storage_domains.py: Don't require extra params when state==absent (#30337)
Make sure that example in docs is usable:

 # Remove storage domain
 - ovirt_storage_domains:
     state: absent
     name: mystorage_domain
    format: true

Without this PR data_center and host parameters where required when we wanted to
remove some storage domain.

Also fixes a regression when trying to remove a detached
storage domain.
2017-10-04 05:27:25 -04:00
maorlipchuk 65749bd432 Return None for DC in case of detached storage domain (#29175)
The following patch fixes a regression when trying to remove a detached
storage domain.
As part of the remove process the ovirt_storage_domains module first
tries to move the domain to maintenance and detach it.
In case of removing a detached storage domain with no DC attached to it
The maintenace process will fail with 404 (not exists) exception when
trying to fetch the DC using empty Guid.
The fix proposes a solution to return None value in case of a detached
storage domain.
2017-10-04 04:43:42 -04:00
Ondra Machacek 5e3177e29d ovirt_clusters: Fix fencing and kuma comparision (#30302) 2017-10-04 04:43:35 -04:00
Ondra Machacek 70f221d57a ovirt_vms: Raise proper error when template isn't found (#30306) 2017-10-04 04:43:28 -04:00
Katerina Koukiou 04f0b5adca cloud: ovirt_datacenter.py: Add 'force' parameter for removing dc (#30352) 2017-10-04 04:43:20 -04:00
Ondra Machacek 47e9353a31 ovirt_hosts: print error when host for iscsi login not found (#30928) 2017-10-04 04:33:45 -04:00
Ondra Machacek 3978baf32f ovirt_vms: Support to specify VM id (#31253)
Fixes: https://github.com/ansible/ansible/issues/30873
2017-10-04 04:32:49 -04:00
maorlipchuk 0f39536c5c Avoid calling maintenace or detach on destroy storage domain. (#28962)
As part of the absent state of ovirt_storage_domains module,
the pre_remove method tries to move the stoage domain to
maintenance and detach it.

In case a destroy of a storage domain is being called there is no need
for those operations since the destroy might be merely a DB operation.
2017-10-01 05:13:19 -04:00
Ondra Machacek 0aebdb4aca ovirt_vms: Fix the logout condition (#30410) 2017-09-19 08:27:09 +02:00
Ondra Machacek 883aede8ac ovirt_hosts: Fix waiting state of adding a new host (#28771) 2017-08-29 13:01:36 -04:00
maorlipchuk 81caa837a4 Use data center UUID/name in storage domains module (#28659)
The ansible action ovirt_storage_domains obligates a data center
name of the attached storage domain as part of its action's arguments,
so it will get the attached_sd_service as part of the functionality
of changing the storage domain status (to maintenance for example).

On the other hand, ovirt_storage_domains_facts retrieves a storage
domain entity with information about the data center which the storage
domain is attached to as a UUID identifier (without name).
So for the user to use that storage domain, fetched from the facts
module, one will have to fetch the DC entity to get the name.

We could use the search which is used today using:
   service.list(search=...)
but that type of search does not support search by Guid.
Therefor this patch provides the ability to use ovirt_storage_domains
action with state change using also a DC UUID instead of a DC name.
2017-08-29 09:50:38 -04:00
Ondra Machacek d0bb2a41d4 cloud: ovirt: add developer README.rst (#22685)
* cloud: ovirt: add developer README.rst

* Copy edits
2017-08-28 20:58:30 -04:00
Katerina Koukiou 1c9c16a101 cloud: ovirt: Add option to import SD with sd_type != block storage type (#28593) 2017-08-28 11:15:41 -04:00
Ondra Machacek b9600281d6 ovirt_hosts: Add upgrade_check action (#28437)
* ovirt_hosts: Add upgrade_check action

* Fix pep8 issue
2017-08-28 11:15:05 -04:00