f5devcentral / f5-puppet

Puppet modules for F5 BIG-IP
Apache License 2.0
13 stars 27 forks source link

`puppet resource f5_vlan` output produces invalid value for fail_safe_action #23

Open GenMalfunction opened 6 years ago

GenMalfunction commented 6 years ago

When we run puppet resource f5_vlan for an F5 device, the response we’re seeing is typically like so:

> puppet resource f5_vlan

f5_vlan { '/Common/internal':

ensure => 'present',

auto_last_hop => 'default',

cmp_hash => 'default',

dag_round_robin => 'disabled',

fail_safe => 'disabled',

fail_safe_action => 'failover-restart-tm',

fail_safe_timeout => '90',

interfaces => [{'name' => '1.0', 'tagged' => 'true'}],

mtu => '1500',

sflow_polling_interval => '0',

sflow_sampling_rate => '0',

source_check => 'disabled',

vlan_tag => '102',

}

However, if we then incorporate that YAML into a class to be applied, thus enforcing that configuration on the same device, it produces an error. Like so:

> puppet device -v --user=root

Info: starting applying configuration to f501-sc9 at https://XXX.YYY.ZZZ.NNN:443/

Info: Retrieving pluginfacts

Info: Retrieving plugin

Info: Caching catalog for f501-sc9

Error: Failed to apply catalog: Parameter fail_safe_action failed on F5_vlan[/Common/internal]: Invalid value "failover-restart-tm". Valid values are reboot, restart-all. at /etc/puppetlabs/puppet/environments/production/modules/f5/manifests/f501sc9.pp:2450

bFekete commented 6 years ago

https://github.com/f5devcentral/f5-puppet/blob/master/lib/puppet/type/f5_vlan.rb#L74-L77

As it states the only two values value are reboot and restart-all. According to the docs, https://support.f5.com/csp/article/K13297

Action Description
Reboot Specifies that the system reboots. Reboot is the default action.
Restart All Specifies that the system restarts all system services.
Failover Specifies that the active unit fails over to its peer.
Failover Restart TM Specifies that the active unit fails over to its peer and restart its TMM process.

The API states that for failSafeAction, it defaults at 'failover-restart-tm'. https://devcentral.f5.com/wiki/iControlREST.APIRef_tm_net_vlan.ashx

I'll get this fixed with my next PR.