thecodeteam / puppet-vnx Goto Github PK
View Code? Open in Web Editor NEWSimplify the configuration of VNX with a puppet module
License: Apache License 2.0
Simplify the configuration of VNX with a puppet module
License: Apache License 2.0
We are making a change for Puppet 6.0.0 that affects this module (found by scanning all modules on the forge). See ticket https://tickets.puppetlabs.com/browse/PUP-7141 - where the change is described.
We found that In this location:
swindlife-emc_vnx-0.1.3/lib/puppet/type/vnx_storagesystemcache.rb
11: value.gsub!(/\s+/, "")
There is a gsub!
that mutates the given input. That will no longer work in Puppet 6.0.0 as there is a high probability that the input will be a frozen string.
Please see https://tickets.puppetlabs.com/browse/PUP-9098 for the corresponding ticket for some of the puppet maintained modules.
It would be great if puppet-vnx could be updated to make a dup
of the string before mutating it (or be otherwise changed so that it does not mutate the original value).
I applied the attached manifest and created a storagepool and a couple of LUNs. This was entirely successful. I then re-applied the same manifest after a time. The re-apply failed attempting to execute navisphere commands a second time. In short, idempotency is broken for vnx_storagepool.
'''
puppet apply vnx.pp --verbose
Notice: Compiled catalog for lp01.vlab.local in environment production in 0.17 seconds
Info: Applying configuration version '1449629787'
Notice: /Stage[main]/Main/Vnx_storagepool[puppet-pool]/disks: disks changed [] to '0_0_9 0_0_10 0_0_11 0_0_12 0_0_13 1_1
_9 1_1_10 1_1_11 1_1_12 1_1_13'
Notice: /Stage[main]/Main/Vnx_storagepool[puppet-pool]/cancel_expand: defined 'cancel_expand' as 'false'
Error: /Stage[main]/Main/Vnx_storagepool[puppet-pool]: Could not evaluate: Command error, output:
The best practices check for the storagepool's expansion did not finish successfully. The storagepool will not be expand
ed
Rule Messages
Could not use the disk : 0_0_9. The disk is already part of a Storage Pool.
Could not use the disk : 0_0_10. The disk is already part of a Storage Pool.
Could not use the disk : 0_0_11. The disk is already part of a Storage Pool.
Could not use the disk : 0_0_12. The disk is already part of a Storage Pool.
Could not use the disk : 0_0_13. The disk is already part of a Storage Pool.
Could not use the disk : 1_1_9. The disk is already part of a Storage Pool.
Could not use the disk : 1_1_10. The disk is already part of a Storage Pool.
Could not use the disk : 1_1_11. The disk is already part of a Storage Pool.
Could not use the disk : 1_1_12. The disk is already part of a Storage Pool.
Could not use the disk : 1_1_13. The disk is already part of a Storage Pool.
Notice: Finished catalog run in 24.94 seconds
'''
we have tested in two versions, PE3.8 and Puppet4.2
when using storagepool, we hit this error.
Error: Parameter disks failed on Vnx_storagepool[wangzz_pool]: Validate method failed for class disks: undefined method `all?' for "1_0_7":String at /home/wangzz/modules/wzz_test/manifests/init.pp:20
Looked into lib/puppet/type/vnx_storagepool.rb
edit "validate do |value|" to “validate do |*value|” can make it work properly.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.