Commit graph

35108 commits

Author SHA1 Message Date
Ganesh Nalawade
c386ae9498
Fix eos_vrf and eos_vlan interfaces param idempotent issue (#34921)
Fixes # 34917

*  Remove spaces from in between interface name
*  Convert interface name to lower case as interface name
   is case insensitive wrt configuring on remote device.
2018-01-16 17:46:14 +05:30
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
Abhijeet Kasurde
0a9489ef66
VMware: Add multiple IP Addresses in result (#34866)
This fix adds IPv4 and IPv6 addresses in virtual machine facts.

Fixes: #34792

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-16 16:31:38 +05:30
Abhijeet Kasurde
b7724fdf85 nmcli: Add ipv4.dns-search attribute (#34261)
This fix adds following -
* ipv4.dns-search attribute
* refactoring of code
* correct return status for up_connection
* documentation update

Fixes: #17843

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-16 08:58:40 +01:00
Brian Coca
bbd6b8bb42 Temporary (#31677)
* allow shells to have per host options, remote_tmp

added language to shell
removed module lang setting from general as  plugins have it now
use get to avoid bad powershell plugin
more resilient tmp discovery, fall back to `pwd`
add shell to docs
fixed options for when frags are only options
added shell set ops in t_e and fixed option frags
normalize tmp dir usag4e

- pass tmpdir/tmp/temp options as env var to commands, making it default for tempfile
- adjusted ansiballz tmpdir
- default local tempfile usage to the configured local tmp
- set env temp in action

add options to powershell
shift temporary to internal envvar/params
ensure tempdir is set if we pass var
ensure basic and url use expected tempdir
ensure localhost uses local tmp
give /var/tmp priority, less perms issues
more consistent tempfile mgmt for ansiballz
made async_dir configurable
better action handling, allow for finally rm tmp
fixed tmp issue and no more tempdir in ballz
hostvarize world readable and admin users
always set shell tempdir
added comment to discourage use of exception/flow control

* Mostly revert expand_user as it's not quite working.

This was an additional feature anyhow.

Kept the use of pwd as a fallback but moved it to a second ssh
connection.  This is not optimal but getting that to work in a single
ssh connection was part of the problem holding this up.

(cherry picked from commit 395b714120522f15e4c90a346f5e8e8d79213aca)

* fixed script and other action plugins

ensure tmpdir deletion
allow for connections that don't support new options (legacy, 3rd party)
fixed tests
2018-01-15 21:15:04 -08:00
Abhijeet Kasurde
eca3fcd214
VMware: Add new module: vmware_host_service_manager (#34862)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-16 09:51:34 +05:30
Jordan Borean
9d9c117580 winrm scheme default behaviour (#34908) 2018-01-15 20:25:30 -05:00
Matt Martz
19ab882790
Fix inconsitencies between code assumptions and schema (#34901)
* Fix inconsitencies between code assumptions and schema

* Address a couple of RETURN issues, where the description was parsed as a dict
2018-01-15 18:29:20 -06:00
Michael Scherer
2a9daaa45b Fix ansible-config with python3 (#34673)
When using the -c option, like "ansible-config -c ~/.ansible.cfg view"
with python 3, it fail with this error message:

  ERROR! Unsupported configuration file extension for b'/home/misc/.ansible.cfg': .cfg
2018-01-15 13:54:48 -08:00
Berend de Boer
1f539e6601 FreeBSD STABLE distribution not correctly parsed (#34770) 2018-01-15 13:49:58 -08:00
Sloane Hertel
6c38443a9c elb_classic_lb_facts: port to boto3 - also fixes #25075 and #25000 (#27435)
* port elb_classic_facts to boto3

update module to use AnsibleAWSModule

* Add RETURN docs for elb_classic_lb_facts

* Remove superfluous exception handling around connection

Fix exit_json call and RETURN docs
2018-01-15 16:44:46 -05:00
Matt Martz
ae49dd65d9 Add note to 2.4 porting guide about initial playbook relative host/group_vars and inheritance (#34769)
* Add note to 2.4 porting guide about initial playbook relative host/group_vars and inheritance
2018-01-15 10:00:59 -08:00
Abhijeet Kasurde
3950f5b9ce facts: Get virtual facts about VMware (#34132)
This fixes fact gathering of VMware guest machines with
older Linux Kernel versions. These older Kernels do not support /sys
filesystem which is used to gather virtualization related facts.
'dmidecode' is the safest option to find out virtualization related facts.

Fixes: #21573

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-15 11:46:43 -05:00
Chris Houseknecht
6a75c1a138
Fix name param. Remove logging. (#34881) 2018-01-15 11:27:39 -05:00
Jacob McGill
32997a5160 ACI_BD: Add option to set mac-address (#34843)
* Add option to set mac-address

* Fix missing version_added

* Fix booleans
2018-01-15 17:16:54 +01:00
Pilou
64e1593243 set_fact: handle 'cacheable=value' form (#34871)
* Ensure fact isn't cached when cacheable=val form is used

* Don't cache fact when cacheable=val form is used
2018-01-15 10:02:24 -06:00
James Cammarata
b107e397cb
Cache tasks as they are queued instead of en masse (#34752)
* Cache tasks as they are queued instead of en masse

This also moves the task caching from the PlayIterator to the
StrategyBase class, where it makes more sense (and makes it easier
to not have to change the strategy class methods leading to an API
change).

Fixes #31673

* Cleaning up unit tests due to 502ca780
2018-01-15 09:49:58 -06:00
jctanner
b10d5f34ea Extend validate-modules to check the next to last line (#34819)
* Add validation for the next to last line of a module

* Fix last error code

* Reduce to a single conditional

* Fix conditionals

* Move the final warnings statement to main() in mysql_replication
2018-01-15 15:49:35 +00:00
Trishna Guha
a65f702155
add config option to replace argument (#34342)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-01-15 21:17:02 +05:30
Jacob McGill
179012caf3 ACI_DOMAIN: Additional params per MIM (#34839) 2018-01-15 16:24:56 +01:00
David Soper
b7906f9c27 Module renamed to ucs_mac_pool to match naming convention for other ucs modules. (#34826)
Documentation updated to match UCS Manager online help.
Coding style updated to match other ucs modules.
2018-01-15 16:22:17 +01: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
Madhura-CSI
aae8f351a4 new ec2_customer_gateway_facts module (#34448) 2018-01-15 09:52:51 -05:00
Dag Wieers
349024235c
ACI: Update docs (#34876) 2018-01-15 15:36:55 +01:00
Trishna Guha
43a081d1c9
fix KeyError net_base plugin (#34874)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-01-15 19:24:27 +05:30
Daniel Mellado
ed806f0fee Add support for heat stack metadata (#34573)
This commit adds support for heat tag metadata when creating a new
stack.
2018-01-15 14:19:02 +01:00
Ricardo Carrillo Cruz
9851a0540f
Plumb newline param on cliconf (#34868)
Change cb1b705218 introduced the newline
parameter on network_cli plugin, but that was never introduced on cliconf.
This causes ios_user to break, since the newline value is never plumbed thru
to network_cli
2018-01-15 14:16:56 +01:00
Ricardo Carrillo Cruz
74eb0bfb13
Add missing flags param to IOS get_config cliconf method (#34869) 2018-01-15 14:16:45 +01:00
Pilou
9e918c8003 acl integration tests: don't use restricted key, allow to run twice in a row (#34858)
* acl test: don't use restricted key

Fix this warning: [WARNING]: Removed restricted key from module data: ansible_user = ansible_user

* acl test: allow to execute twice in a row
2018-01-15 13:21:25 +01:00
Abhijeet Kasurde
191b934dbd
freeipa: support for host vars (#34535)
Adds method to return host vars related to FreeIPA hostname.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-15 13:57:30 +05:30
Trishna Guha
48ecbb8fb9
fix connection gets overridden by network_cli for transport nxapi,eapi net_* modules (#34778)
* fix connection gets overridden by network_cli for transport nxapi,eapi net_* modules

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* Define functions in individual action plugins to avoid code duplication

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* Add net_* eos tests for eapi

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* update plugin code
2018-01-15 13:16:41 +05:30
saichint
c04cd8642d fix vxlan idempotent issue (#34750) 2018-01-15 12:27:37 +05:30
Zim Kalinowski
ade02bcce5 [new module] azure_rm_sqlserver_facts (#34608)
* updates to azure_rm_sqlserver_facts

* updates to azure_rm_sqlserver_facts

* updates to azure_rm_sqlserver_facts

* updates to azure_rm_sqlserver_facts

* updates to azure_rm_sqlserver_facts

* updates to azure_rm_sqlserver_facts

* updates to azure_rm_sqlserver_facts

* updates to azure_rm_sqlserver_facts

* updates to azure_rm_sqlserver_facts

* updates to azure_rm_sqlserver_facts
2018-01-15 14:45:49 +10:00
Tim Rupp
9aba711519
Adds bigip_static_route module (#34859)
This module can be used to manage static routes on a BIG-IP
2018-01-14 17:40:59 -08:00
Danilo Riecken P. de Morais
5540e2f8a9 cloudstack: inventory: Added feature list by tag (#31319) 2018-01-14 20:42:31 +01:00
René Moser
698d5a524c
vultr: add api_endpoint param (#34850)
* vultr: add new param api_endpoint

* vultr: improve error handling for values read from ini file
2018-01-14 16:31:28 +01:00
René Moser
5a7a5b88c9
vultr: fix config ini params ignored (#34848)
* vultr: fix config ini params ignored

* vutlr: align docs with configs
2018-01-14 14:20:26 +01:00
Christopher Brown
7644042d21 Update ManageIQ Azure Tenant ID parameter (#34806)
Currently the ManageIQ API does not support azure_tenant_id but
this is in the process of being fixed. This commit changes
the recently-committed parameter to allow for the upcoming change.
2018-01-14 06:53:28 -05:00
Jacob McGill
05c960cf92 MIM URL: Update url for mim (#34844) 2018-01-13 23:53:11 -05:00
Jacob McGill
002fad53a1 ACI_SWITCH_LEAF_SELECTOR: Add description options (#34841) 2018-01-13 23:43:52 -05:00
Jacob McGill
aa9fc9313f Aci access port to interface policy leaf profile (#34842)
* ACI_ACC_PORT_TO_INTF_POL_LEAF_PROF: Change from/to to standard used elsewhere

* ACI_ACC_PORT_TO_INTF_POL_LEAF_PROF: Add description options

* ACI_ACC_PORT_TO_INTF_POL_LEAF_PROF: Add missing trailing commas
2018-01-13 23:43:44 -05:00
Jacob McGill
3c7e639dde ACI_AEP: Allow toggling of infrastructure vlan (#34840)
* ACI_AEP: Allow toggling of infrastructure vlan

* ACI_DOMAIN: fix accidental 'r' removal
2018-01-13 22:20:31 -05:00
René Moser
1c3bba0bdb
cloudstack: fix timeout in ini config file is ignored (#34833)
* cloudstack: fix timeout in ini config file is ignored

* cloudstack: prepare for unit tests
2018-01-13 21:32:06 +01:00
Paul B
9302e8d2a4 contrib(inventory): adds a dynamic inventory for Scaleway cloud (#30313)
provider

Provides a dynamic inventory plugin for Scaleway cloud provider with
the following features:

- Configurable scaleway.ini file
- Cache API responses
- Choose public or private IPs
- Create groups per Scaleway 'tags'
- Create groups per Scaleway regions
2018-01-13 14:55:05 +00:00
Ricardo Carrillo Cruz
a56de25df5
Fix persistent command timeout handling (#34791)
* Fix persistent command timeout handling

We were using play context timeout on ansible-connect to set
the persistent command timeout handler. Thus, we were ignoring
the persistent_command_timeout setting.
Moreover, even by changing that on ansible-connection, were again
overriding it on cliconf send_command, since in a same process we can
just set a single alarm and cliconf send_command alarm setup is executed
after ansible-connection alarm setup.

* Remove alarm setting on cliconf send_command

The alarm is set regardless before it is executed by ansible-connection.
Setting an alarm again, overrides/disables the previous ones as a single
process can just have a single alarm set.

* Move the setting of persistent command timeout to network_cli

We do also use ansible-connection for connection local, so if a
user provides a timeout via provider that would be ignored if we
set the value on ansible-connection.
Moving that logic to network_cli plugin constructor makes both
connections to work.

* Remove debug statements

* Set the persistent command timeout on task_executor

We can't set the timeout on ansible-connection nor network_cli,
otherwise tasks using provider timeout won't work.
2018-01-13 15:54:44 +01:00
Tim Rupp
c548ab0f18
Refactors and deprecation removals (#34830)
This patch is primarily a refactor to make the validate-modules arg-spec
no longer generate a traceback. It additionally includes removal of deprecated
code in the virtual server module.
2018-01-12 23:03:41 -08:00
Tim Rupp
a10aee0fc3
Adds refactors for more f5 modules (#34824)
The main patch is to remove the traceback generating code. There are
other small fixes that were made in addition to doing that.

* Removed re-def of cleanup_tokens.
* Changed parameter args to be keywords.
* Changed imports to include new module_util locations.
* Imports also include developing (sideband) module_util locations.
* Changed to using F5Client and plain AnsibleModule to prevent tracebacks caused by missing libraries.
* Removed init and update methods from most Parameter classes (optimization) as its now included in module_utils.
* Changed module and module param references to take into account the new self.module arg.
* Minor bug fixes made during this refactor.
2018-01-12 21:49:12 -08:00
Tim Rupp
0e4e7de000
Various F5 related fixes for traceback raising (#34820)
The main purpose of this patch is to do the refactor that
supports replacing tracebacks with fail_json. Additionally, the
following was done.

* Removed re-def of cleanup_tokens.
* Changed parameter args to be keywords.
* Changed imports to include new module_util locations.
* Imports also include developing (sideband) module_util locations.
* Changed to using F5Client and plain AnsibleModule to prevent tracebacks caused by missing libraries.
* Removed init and update methods from most Parameter classes (optimization) as its now included in module_utils.
* Changed module and module param references to take into account the new self.module arg.
* Minor bug fixes made during this refactor.
2018-01-12 14:43:35 -08:00
Matt Martz
86e4619dcf
Update echo ansible-vault example with -n as without this, you get a newline. Fixes #34795 (#34823) 2018-01-12 16:16:37 -06:00