Resolve Bug:448 - Remove yang-store api and impl. Depends on yangtools commit https://git.opendaylight.org/gerrit/#/c/5579/ . Instead of having multiple bundle trackers for config and netconf, keep only one. Each bundle containing yang files should use sal code generator, which generates YangModuleInfo objects. Using this instead of speculatively having to parse all current yang files for each adding bundle event allows not having to deal with broken yang dependencies when bundle events come in wrong order. Put SchemaContextProvider to OSGi SR in config-manager, so that any bundle working with yang can use it. This replaces too specific YangStoreService which was coupled with yang-jmx-generator. Users can listen for changes directly on OSGi SR - they receive service changed event when yang module is added or removed. Change-Id: Iabcb35929a1eeef0df328f3f948d70e1bfcbba0d Signed-off-by: Tomas Olvecky <tolvecky@cisco.com>
Modify config-api exceptions, bump config and netconf to 0.2.5-SNAPSHOT. Change ConflictingVersionException and ValidationException to be checked instead of runtime exceptions. Fix ConfigPusher's ConflictVersionException handling that was introduced when IOException was used to wrap RuntimeException. Small fixes in netconf, more refactoring of exception handling will be needed there. Maros Marsalek: Rebase commit + fix compliation issue in ShutdownTest Change-Id: Iab89de6ef6ced0de0a267470f860912ae3c56892 Signed-off-by: Tomas Olvecky <tolvecky@cisco.com> Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
[maven-release-plugin] prepare for next development iteration
[maven-release-plugin] prepare release master-tagforprepareonly-controller-bulk-release-2-1
Make sure config.yang is MD-SAL enabled In the controller-controlling-controllers scenario we need to be able to generate MD-SAL bindings against config subsystem models. In order to do that, we need the base definitions provided by config.yang. This patch subjects all config components to MD-SAL binding generation and introduces a new parent, which adds another execution to generate JMX bindings. Infrastructure components continue to use config-subsystem parent while the various config plugins (netty et al.) switch to the new config-plugin-parent. Change-Id: Id243d658a95ccfee0dbfe70044867f8de09cc20e Signed-off-by: Robert Varga <robert.varga@pantheon.sk>
Add blacklist capability to yang-store-impl. Add blacklist to overcome yuma problems when parsing buggy yang files in md-sal. Change-Id: Iaf222ac627317a48619beadaebb2a16073edac9d Signed-off-by: Tomas Olvecky <tolvecky@cisco.com>
Bump versions of config-subsystem and netconf-subsystem to 0.2.3-SNAPSHOT. Remove ConfigProvider. Change-Id: I6d578f5c3b934456cf37a0893e816cfc8d6340f1 Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
Add ModuleFactory#getDefaultModules method to config-api. Add method to populate pre-existing state. Modify code generator to generate a blank implementation. Calling of the method is done by config-manager every time new ModuleFactory is discovered in OSGi service registry, each time in a separate transaction. Implement default module functionality in config-manager. Add DependencyResolverFactory for default modules to be able to lookup dependencies. Implement new service tracker tracking ModuleFactory instances in order to commit blank transactions every time ModuleFactory service appears or disappears. Clean up pom versions: merge config.yangstore.version into config.version. Change-Id: I47229c9e403b817b24740c8f77ad43abcc720094 Signed-off-by: Tomas Olvecky <tolvecky@cisco.com>
Add change notification functionality to yang-store. Add ability to listen for change notifications to yang-store. Listeners get notified when new yang files are found in bundles and also when bundle with yang files is stopped. Change-Id: I7c665a57ba7face18bf128d6a7db17c1a23526ce Signed-off-by: Tomas Olvecky <tolvecky@cisco.com>
Changed groupId for FCAPS to org.opendaylight.controller Change-Id: I65b82f7322e21cd9007f650a0d38c982923784a9 Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Initial code drop of yang model driven configuration system Configuration system employs two phase commit to validate and push configuration changes to a running system. It allows changing simple attributes, complex transfer objects, and also provides dependency injection between configured modules. Module config-api contains base yang model config.yang, defining language extensions and other elements required by all configuration models. Other than that it contains both apis implemented by config-manager and spis to be implemeted by configuration providers. Since the configuration system is internally driven by JMX, package org.opendaylight.controller.config.api.jmx contains all M(X)Bean interfaces exposed by config-manager. Module config-manager is implementation of config-api. Module config-util contains clients (both JMX and jolokia, which is http based bridge to JMX) of configuration system. Module yang-jmx-generator parses yang models and creates java representation of configuration models and service interfaces. Module yang-jmx-generator-plugin is connector to yangtools yang-maven-plugin that generates skeletons of java files needed by configuration providers. Module yang-test contains example yang file, from which code is being generated. Module yang-jmx-generator-it tests yang-test. Module yang-store-api contains api for a registry of all yang models parsed by yang-jmx-generator. Module yang-store-impl uses OSGi extender pattern to read META-INF/yang/*.yang from all bundles and provides snapshot view of currently available configuration models. Change-Id: Icf3201f9754e4ca28ebce3411d2a667dcd7e75c8 Signed-off-by: Tomas Olvecky <tolvecky@cisco.com>