{"action":"created","issue":{"url":"https://api.github.com/repos/inverse-inc/packetfence/issues/350","labels_url":"https://api.github.com/repos/inverse-inc/packetfence/issues/350/labels{/name}","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/issues/350/comments","events_url":"https://api.github.com/repos/inverse-inc/packetfence/issues/350/events","html_url":"https://github.com/inverse-inc/packetfence/pull/350","id":57834236,"number":350,"title":"Add pfconfig service for the SwitchFactory","user":{"login":"julsemaan","id":3857942,"avatar_url":"https://avatars.githubusercontent.com/u/3857942?v=3","gravatar_id":"","url":"https://api.github.com/users/julsemaan","html_url":"https://github.com/julsemaan","followers_url":"https://api.github.com/users/julsemaan/followers","following_url":"https://api.github.com/users/julsemaan/following{/other_user}","gists_url":"https://api.github.com/users/julsemaan/gists{/gist_id}","starred_url":"https://api.github.com/users/julsemaan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julsemaan/subscriptions","organizations_url":"https://api.github.com/users/julsemaan/orgs","repos_url":"https://api.github.com/users/julsemaan/repos","events_url":"https://api.github.com/users/julsemaan/events{/privacy}","received_events_url":"https://api.github.com/users/julsemaan/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/inverse-inc/packetfence/milestones/2","labels_url":"https://api.github.com/repos/inverse-inc/packetfence/milestones/2/labels","id":981501,"number":2,"title":"packetfence-4.7","description":"","creator":{"login":"julsemaan","id":3857942,"avatar_url":"https://avatars.githubusercontent.com/u/3857942?v=3","gravatar_id":"","url":"https://api.github.com/users/julsemaan","html_url":"https://github.com/julsemaan","followers_url":"https://api.github.com/users/julsemaan/followers","following_url":"https://api.github.com/users/julsemaan/following{/other_user}","gists_url":"https://api.github.com/users/julsemaan/gists{/gist_id}","starred_url":"https://api.github.com/users/julsemaan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julsemaan/subscriptions","organizations_url":"https://api.github.com/users/julsemaan/orgs","repos_url":"https://api.github.com/users/julsemaan/repos","events_url":"https://api.github.com/users/julsemaan/events{/privacy}","received_events_url":"https://api.github.com/users/julsemaan/received_events","type":"User","site_admin":false},"open_issues":14,"closed_issues":8,"state":"open","created_at":"2015-02-16T15:52:08Z","updated_at":"2015-02-23T21:21:20Z","due_on":"2015-03-06T05:00:00Z","closed_at":null},"comments":1,"created_at":"2015-02-16T17:55:57Z","updated_at":"2015-02-24T13:12:48Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/inverse-inc/packetfence/pulls/350","html_url":"https://github.com/inverse-inc/packetfence/pull/350","diff_url":"https://github.com/inverse-inc/packetfence/pull/350.diff","patch_url":"https://github.com/inverse-inc/packetfence/pull/350.patch"},"body":"Description\r\n-----------\r\nThis brings a new service (pfconfig) that lives outside of PacketFence. It is a possible replacement for the global configuration hashes. This uses the tying functionnality of Perl to proxy calls of the elements to an external service in charge of building and maintaining the configuration objects.\r\n\r\nThis central service uses a raw memory cache, a backend (could be anything) for cross process sharing and has the ability to build any configuration object from scratch to it's final form (usually the config hash).\r\n\r\nThis supports currently hashes and arrays but could be extended to support objects.\r\n\r\nThis service is directly tied to the resources it controls, meaning that the caching system knows exactly how to recreate the resources it caches without any external code. They are part of the service.\r\n\r\nImportant elements missing ? : \r\n- A factory to create the tied resources\r\n- Many more I'm sure...\r\n\r\nThis description needs some more love...\r\n\r\nThis code needs some cleanup. There are scripts that shouldn't be included in the release but that would be needed for testing. \r\n\r\nImpacts\r\n-------\r\nRight now, only the switch configuration uses the new tied interface (in readonly) and since the code is centralized in the SwitchFactory, the impacts should be contained to that module.\r\n\r\nSee t/configstore-2-pfconfig.t for comparison of the ConfigStore generated hashes with the pfconfig generated hashes.\r\n\r\nNEWS file entries\r\n-------\r\nNew Features\r\n++++++++++++\r\n\r\nEnhancements\r\n++++++++++++\r\n- Add the pfconfig service as the central interface to the configuration.\r\n\r\nBug Fixes\r\n+++++++++\r\n- Fix the case where the RADIUS requests would stop processing when a modification was made to a big switches.conf file\r\n\r\nDelete branch after merge\r\n-------------------------\r\nNO (for patches)"},"comment":{"url":"https://api.github.com/repos/inverse-inc/packetfence/issues/comments/75753612","html_url":"https://github.com/inverse-inc/packetfence/pull/350#issuecomment-75753612","issue_url":"https://api.github.com/repos/inverse-inc/packetfence/issues/350","id":75753612,"user":{"login":"julsemaan","id":3857942,"avatar_url":"https://avatars.githubusercontent.com/u/3857942?v=3","gravatar_id":"","url":"https://api.github.com/users/julsemaan","html_url":"https://github.com/julsemaan","followers_url":"https://api.github.com/users/julsemaan/followers","following_url":"https://api.github.com/users/julsemaan/following{/other_user}","gists_url":"https://api.github.com/users/julsemaan/gists{/gist_id}","starred_url":"https://api.github.com/users/julsemaan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julsemaan/subscriptions","organizations_url":"https://api.github.com/users/julsemaan/orgs","repos_url":"https://api.github.com/users/julsemaan/repos","events_url":"https://api.github.com/users/julsemaan/events{/privacy}","received_events_url":"https://api.github.com/users/julsemaan/received_events","type":"User","site_admin":false},"created_at":"2015-02-24T13:12:48Z","updated_at":"2015-02-24T13:12:48Z","body":"Closing to reopen with new branch"}}