{"action":"created","issue":{"url":"https://api.github.com/repos/saltstack/salt/issues/20818","labels_url":"https://api.github.com/repos/saltstack/salt/issues/20818/labels{/name}","comments_url":"https://api.github.com/repos/saltstack/salt/issues/20818/comments","events_url":"https://api.github.com/repos/saltstack/salt/issues/20818/events","html_url":"https://github.com/saltstack/salt/issues/20818","id":58166117,"number":20818,"title":"iptables state + mod_aggregate: save -- non-functional","user":{"login":"gladiatr72","id":999016,"avatar_url":"https://avatars.githubusercontent.com/u/999016?v=3","gravatar_id":"","url":"https://api.github.com/users/gladiatr72","html_url":"https://github.com/gladiatr72","followers_url":"https://api.github.com/users/gladiatr72/followers","following_url":"https://api.github.com/users/gladiatr72/following{/other_user}","gists_url":"https://api.github.com/users/gladiatr72/gists{/gist_id}","starred_url":"https://api.github.com/users/gladiatr72/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gladiatr72/subscriptions","organizations_url":"https://api.github.com/users/gladiatr72/orgs","repos_url":"https://api.github.com/users/gladiatr72/repos","events_url":"https://api.github.com/users/gladiatr72/events{/privacy}","received_events_url":"https://api.github.com/users/gladiatr72/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/saltstack/salt/labels/Bug","name":"Bug","color":"e11d21"},{"url":"https://api.github.com/repos/saltstack/salt/labels/Medium%20Severity","name":"Medium Severity","color":"fad8c7"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/saltstack/salt/milestones/13","html_url":"https://github.com/saltstack/salt/milestones/Approved","labels_url":"https://api.github.com/repos/saltstack/salt/milestones/13/labels","id":9265,"number":13,"title":"Approved","description":"All issues that are ready to be worked on, both bugs and features.","creator":{"login":"thatch45","id":507599,"avatar_url":"https://avatars.githubusercontent.com/u/507599?v=3","gravatar_id":"","url":"https://api.github.com/users/thatch45","html_url":"https://github.com/thatch45","followers_url":"https://api.github.com/users/thatch45/followers","following_url":"https://api.github.com/users/thatch45/following{/other_user}","gists_url":"https://api.github.com/users/thatch45/gists{/gist_id}","starred_url":"https://api.github.com/users/thatch45/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thatch45/subscriptions","organizations_url":"https://api.github.com/users/thatch45/orgs","repos_url":"https://api.github.com/users/thatch45/repos","events_url":"https://api.github.com/users/thatch45/events{/privacy}","received_events_url":"https://api.github.com/users/thatch45/received_events","type":"User","site_admin":false},"open_issues":1997,"closed_issues":1610,"state":"open","created_at":"2011-05-14T04:00:56Z","updated_at":"2015-03-04T20:47:17Z","due_on":null,"closed_at":null},"comments":19,"created_at":"2015-02-19T04:17:32Z","updated_at":"2015-03-04T20:57:19Z","closed_at":null,"body":"https://github.com/saltstack/salt/blob/develop/salt/states/iptables.py#L465\r\nhttps://github.com/saltstack/salt/blob/develop/salt/states/iptables.py#L342\r\n\r\nI scavenged the iptables modules/state from trunk to try with a 2014.7.1 core--was very interested in the mod_aggregate work that Mr. Greenaway committed back in November.  It works splendidly except for one thing: The 'save' option is currently not propagated.\r\n\r\nThis may be news to Absolutely No One, but I wanted to be sure to get an issue opened.  Aggregating inserts and appends solves a lot of fanduckery that must ensue to properly order rules.  I think a driving force was to avoid having a file written to disk for every rule in the set (I'm sure this gets ridiculous at a certain point)\r\n\r\nThere are two things I'd like to see:\r\n\r\n. Appends and Inserts get aggregated to the same set\r\n. The rule array (in its entirety) have the save option applied--if it appears once, it applies to all aggregated rules in the state run.  Then we get the do-many-things but only hit the disk once.\r\n\r\nAnother concept that occurred to me while working on iptables states today:\r\n\r\nHow much conceptual pain would be involved to create a (meta?)state module that would allow one to be able to grab ahold of an aggregated rule set?  \r\n\r\nRight now we can weave the correct requisites together to effectively create a \"top\" or \"bottom\" state that can be watched or required, but that's a lot of work (with a firewall ruleset) and bit on the brittle side.  It would be a welcome addition to give such a set Thingness."},"comment":{"url":"https://api.github.com/repos/saltstack/salt/issues/comments/77245534","html_url":"https://github.com/saltstack/salt/issues/20818#issuecomment-77245534","issue_url":"https://api.github.com/repos/saltstack/salt/issues/20818","id":77245534,"user":{"login":"jfindlay","id":702905,"avatar_url":"https://avatars.githubusercontent.com/u/702905?v=3","gravatar_id":"","url":"https://api.github.com/users/jfindlay","html_url":"https://github.com/jfindlay","followers_url":"https://api.github.com/users/jfindlay/followers","following_url":"https://api.github.com/users/jfindlay/following{/other_user}","gists_url":"https://api.github.com/users/jfindlay/gists{/gist_id}","starred_url":"https://api.github.com/users/jfindlay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jfindlay/subscriptions","organizations_url":"https://api.github.com/users/jfindlay/orgs","repos_url":"https://api.github.com/users/jfindlay/repos","events_url":"https://api.github.com/users/jfindlay/events{/privacy}","received_events_url":"https://api.github.com/users/jfindlay/received_events","type":"User","site_admin":false},"created_at":"2015-03-04T20:57:19Z","updated_at":"2015-03-04T20:57:19Z","body":"@garethgreenaway, @syphernl, sorry that I broke it :-( so thanks for the feedback."}}