-
Notifications
You must be signed in to change notification settings - Fork 98
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
modul filesystem is not idempotent when using jfs2 attribute agblksize #402
Comments
thanks for reporting. We are working on it. |
How is state 'modify' something compatible with the concept of idempotency? |
Hi @schamola,
will create the filesystem. With your fix, repeating calls will fail, although nothing has changed, since agblksize ist not allowed with chfs. This behaviour is contrary to the concept of idempotency. When I change the size attribute like this:
I would expect the module to change just the size of the filesystem. But once again it will return an error because of the attribute agblksize. So instead of returning an error when there are attributes like agblksize, these attributes should just be ignored when calling the chfs command. I hope this sheds some light on my problem. Thanks and best regards |
@schamola the problem exists with state: present, it tries to modify for some mysterious and incorrect reason, and then invokes chfs incorrectly. So it's like two bugs in one, cheaper by the dozen. :) |
@rseabra thanks for the elaboration. |
Hi @rseabra , |
@rseabra, We have merged the fix. Please reopen this issue if it does not address your problem. |
This is not fixed, it continues to "change" the filesystems. It seems to have fixed only the chfs invocation, but not the required idempotency :) |
This is the task: - name: Setup DATA Filesystems
ibm.power_aix.filesystem:
attributes: "{{ item.1.attributes|default(omit) }}"
auto_mount: "{{ item.1.auto_mount|default(true) }}"
device: "{{ item.1.lv }}"
filesystem: "{{ item.1.filesystem|default(item.1.mount) }}"
fs_type: "{{ item.1.fs|default('jfs2') }}"
permissions: "{{ item.1.permissions|default('rw') }}"
state: "{{ item.1.state|default('present') }}"
loop: "{{ datavgs|subelements('lvs') }}"
when: "item.1.mountfs|default(true)"
tags:
- datavg-fs And this is the relevant inventory variable: datavgs:
- vg: "datavg"
lvs:
- { lv: "fs1lv", size: "2G", mount: "/opt/fs1" }
- { lv: "fs2lv", size: "2G", mount: "/opt/fs2" } |
Hi @rseabra, We have fixed the issue, it should be working for you now. Let us know once you verify. |
Hi @rseabra ! If yes, we will close this defect. |
Describe the bug
When using jfs2 attribute agblksize, the first call of the module successfully creates the filesystem with crfs, but subsequent calls fail, since this attribute cannot be used with chfs command.
To Reproduce
Add the following task to a playbook:
Expected behavior
On subsequent calls it should not fail when calling chfs.
The text was updated successfully, but these errors were encountered: