summaryrefslogtreecommitdiffstats
path: root/infra/cfg-init/src
diff options
context:
space:
mode:
Diffstat (limited to 'infra/cfg-init/src')
-rw-r--r--infra/cfg-init/src/main/java/io/fd/honeycomb/data/init/RestorationType.java24
-rw-r--r--infra/cfg-init/src/main/java/io/fd/honeycomb/data/init/RestoringInitializer.java1
-rw-r--r--infra/cfg-init/src/main/java/org/opendaylight/yang/gen/v1/urn/honeycomb/params/xml/ns/yang/data/init/rev160407/ConfigurationInitializerRegistryModule.java54
-rw-r--r--infra/cfg-init/src/main/java/org/opendaylight/yang/gen/v1/urn/honeycomb/params/xml/ns/yang/data/init/rev160407/ConfigurationInitializerRegistryModuleFactory.java14
-rw-r--r--infra/cfg-init/src/main/java/org/opendaylight/yang/gen/v1/urn/honeycomb/params/xml/ns/yang/data/init/rev160407/PersistedFileInitializerModule.java38
-rw-r--r--infra/cfg-init/src/main/java/org/opendaylight/yang/gen/v1/urn/honeycomb/params/xml/ns/yang/data/init/rev160407/PersistedFileInitializerModuleFactory.java13
-rw-r--r--infra/cfg-init/src/main/yang/cfg-init.yang117
7 files changed, 24 insertions, 237 deletions
diff --git a/infra/cfg-init/src/main/java/io/fd/honeycomb/data/init/RestorationType.java b/infra/cfg-init/src/main/java/io/fd/honeycomb/data/init/RestorationType.java
new file mode 100644
index 000000000..51b1d8bbe
--- /dev/null
+++ b/infra/cfg-init/src/main/java/io/fd/honeycomb/data/init/RestorationType.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2016 Cisco and/or its affiliates.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package io.fd.honeycomb.data.init;
+
+/**
+ * Type of operation to use when writing restored data
+ */
+public enum RestorationType {
+ Put, Merge
+}
diff --git a/infra/cfg-init/src/main/java/io/fd/honeycomb/data/init/RestoringInitializer.java b/infra/cfg-init/src/main/java/io/fd/honeycomb/data/init/RestoringInitializer.java
index 54c3df787..2f3f7c99e 100644
--- a/infra/cfg-init/src/main/java/io/fd/honeycomb/data/init/RestoringInitializer.java
+++ b/infra/cfg-init/src/main/java/io/fd/honeycomb/data/init/RestoringInitializer.java
@@ -29,7 +29,6 @@ import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFaile
import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker;
import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction;
import org.opendaylight.controller.sal.core.api.model.SchemaService;
-import org.opendaylight.yang.gen.v1.urn.honeycomb.params.xml.ns.yang.data.init.rev160407.RestorationType;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild;
diff --git a/infra/cfg-init/src/main/java/org/opendaylight/yang/gen/v1/urn/honeycomb/params/xml/ns/yang/data/init/rev160407/ConfigurationInitializerRegistryModule.java b/infra/cfg-init/src/main/java/org/opendaylight/yang/gen/v1/urn/honeycomb/params/xml/ns/yang/data/init/rev160407/ConfigurationInitializerRegistryModule.java
deleted file mode 100644
index 3a90c5303..000000000
--- a/infra/cfg-init/src/main/java/org/opendaylight/yang/gen/v1/urn/honeycomb/params/xml/ns/yang/data/init/rev160407/ConfigurationInitializerRegistryModule.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.opendaylight.yang.gen.v1.urn.honeycomb.params.xml.ns.yang.data.init.rev160407;
-
-import io.fd.honeycomb.data.init.InitializerRegistry;
-import io.fd.honeycomb.data.init.InitializerRegistryImpl;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
-* Initializer registry, delegating initialization to a list of initializers
-*/
-public class ConfigurationInitializerRegistryModule extends AbstractConfigurationInitializerRegistryModule {
-
- private static final Logger LOG = LoggerFactory.getLogger(ConfigurationInitializerRegistryModule.class);
-
- public ConfigurationInitializerRegistryModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
- super(identifier, dependencyResolver);
- }
-
- public ConfigurationInitializerRegistryModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, ConfigurationInitializerRegistryModule oldModule, java.lang.AutoCloseable oldInstance) {
- super(identifier, dependencyResolver, oldModule, oldInstance);
- }
-
- @Override
- public void customValidation() {
- // add custom validation form module attributes here.
- }
-
- @Override
- public java.lang.AutoCloseable createInstance() {
- LOG.info("Config initialization started");
-
- final InitializerRegistry initializer = new InitializerRegistryImpl(getInitializersDependency());
-
- try {
- // Initialize contexts first so that other initializers can find any relevant mapping before initializing
- // configuration to what is already in VPP
- getPersistedContextInitializerDependency().initialize();
- LOG.info("Persisted context restored successfully");
- // Initialize all registered initializers
- initializer.initialize();
- LOG.info("Configuration initialized successfully");
- // Initialize stored configuration on top
- getPersistedConfigInitializerDependency().initialize();
- LOG.info("Persisted configuration restored successfully");
- } catch (Exception e) {
- LOG.warn("Failed to initialize config", e);
- }
-
- LOG.info("Honeycomb initialized");
-
- return initializer;
- }
-
-}
diff --git a/infra/cfg-init/src/main/java/org/opendaylight/yang/gen/v1/urn/honeycomb/params/xml/ns/yang/data/init/rev160407/ConfigurationInitializerRegistryModuleFactory.java b/infra/cfg-init/src/main/java/org/opendaylight/yang/gen/v1/urn/honeycomb/params/xml/ns/yang/data/init/rev160407/ConfigurationInitializerRegistryModuleFactory.java
deleted file mode 100644
index 461c1f01b..000000000
--- a/infra/cfg-init/src/main/java/org/opendaylight/yang/gen/v1/urn/honeycomb/params/xml/ns/yang/data/init/rev160407/ConfigurationInitializerRegistryModuleFactory.java
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
-* Generated file
-*
-* Generated from: yang module name: vpp-cfg-init yang module local name: cfg-initializer-registry
-* Generated by: org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator
-* Generated at: Wed May 18 14:43:49 CEST 2016
-*
-* Do not modify this file unless it is present under src/main directory
-*/
-package org.opendaylight.yang.gen.v1.urn.honeycomb.params.xml.ns.yang.data.init.rev160407;
-public class ConfigurationInitializerRegistryModuleFactory extends
- AbstractConfigurationInitializerRegistryModuleFactory {
-
-}
diff --git a/infra/cfg-init/src/main/java/org/opendaylight/yang/gen/v1/urn/honeycomb/params/xml/ns/yang/data/init/rev160407/PersistedFileInitializerModule.java b/infra/cfg-init/src/main/java/org/opendaylight/yang/gen/v1/urn/honeycomb/params/xml/ns/yang/data/init/rev160407/PersistedFileInitializerModule.java
deleted file mode 100644
index b57ded9fc..000000000
--- a/infra/cfg-init/src/main/java/org/opendaylight/yang/gen/v1/urn/honeycomb/params/xml/ns/yang/data/init/rev160407/PersistedFileInitializerModule.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.opendaylight.yang.gen.v1.urn.honeycomb.params.xml.ns.yang.data.init.rev160407;
-
-import io.fd.honeycomb.data.init.RestoringInitializer;
-import java.nio.file.InvalidPathException;
-import java.nio.file.Paths;
-import org.opendaylight.controller.config.api.JmxAttributeValidationException;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
-import org.opendaylight.yang.gen.v1.urn.honeycomb.params.xml.ns.yang.data.api.rev160411.DatatreeType;
-
-/**
-* Initializer restoring data from a persisted file
-*/
-public class PersistedFileInitializerModule extends AbstractPersistedFileInitializerModule {
- public PersistedFileInitializerModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
- super(identifier, dependencyResolver);
- }
-
- public PersistedFileInitializerModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, PersistedFileInitializerModule oldModule, java.lang.AutoCloseable oldInstance) {
- super(identifier, dependencyResolver, oldModule, oldInstance);
- }
-
- @Override
- public void customValidation() {
- try {
- Paths.get(getPersistFilePath());
- } catch (InvalidPathException e) {
- throw new JmxAttributeValidationException("Invalid persist path", e, persistFilePathJmxAttribute);
- }
- }
-
- @Override
- public java.lang.AutoCloseable createInstance() {
- return new RestoringInitializer(getSchemaServiceDependency(), Paths.get(getPersistFilePath()),
- getDomDataBrokerDependency(), getRestorationType(),
- getDatastoreType() == DatatreeType.Config ? LogicalDatastoreType.CONFIGURATION : LogicalDatastoreType.OPERATIONAL);
- }
-
-}
diff --git a/infra/cfg-init/src/main/java/org/opendaylight/yang/gen/v1/urn/honeycomb/params/xml/ns/yang/data/init/rev160407/PersistedFileInitializerModuleFactory.java b/infra/cfg-init/src/main/java/org/opendaylight/yang/gen/v1/urn/honeycomb/params/xml/ns/yang/data/init/rev160407/PersistedFileInitializerModuleFactory.java
deleted file mode 100644
index 7e703d558..000000000
--- a/infra/cfg-init/src/main/java/org/opendaylight/yang/gen/v1/urn/honeycomb/params/xml/ns/yang/data/init/rev160407/PersistedFileInitializerModuleFactory.java
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
-* Generated file
-*
-* Generated from: yang module name: vpp-cfg-init yang module local name: persisted-file-initializer
-* Generated by: org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator
-* Generated at: Wed May 18 13:48:52 CEST 2016
-*
-* Do not modify this file unless it is present under src/main directory
-*/
-package org.opendaylight.yang.gen.v1.urn.honeycomb.params.xml.ns.yang.data.init.rev160407;
-public class PersistedFileInitializerModuleFactory extends AbstractPersistedFileInitializerModuleFactory {
-
-}
diff --git a/infra/cfg-init/src/main/yang/cfg-init.yang b/infra/cfg-init/src/main/yang/cfg-init.yang
deleted file mode 100644
index 8b1a4d9d1..000000000
--- a/infra/cfg-init/src/main/yang/cfg-init.yang
+++ /dev/null
@@ -1,117 +0,0 @@
-module cfg-init {
- yang-version 1;
- namespace "urn:honeycomb:params:xml:ns:yang:data:init";
- prefix "init";
-
- import config { prefix config; revision-date 2013-04-05; }
- import opendaylight-md-sal-dom {prefix dom;}
- import translate-api { prefix tapi; revision-date 2016-04-06; }
- import data-api { prefix dapi; revision-date 2016-04-11; }
-
- description
- "This module contains initializers for config data tree";
-
- revision "2016-04-07" {
- description
- "Initial revision";
- }
-
- identity cfg-initializer {
- base "config:service-type";
- config:java-class io.fd.honeycomb.data.init.DataTreeInitializer;
- }
-
- identity cfg-initializer-registry {
- base config:module-type;
- config:provided-service cfg-initializer;
- config:java-name-prefix ConfigurationInitializerRegistry;
- description "Initializer registry, delegating initialization to a list of initializers";
- }
-
- augment "/config:modules/config:module/config:configuration" {
- case cfg-initializer-registry {
- when "/config:modules/config:module/config:type = 'cfg-initializer-registry'";
-
- list initializers {
- uses config:service-ref {
- refine type {
- mandatory true;
- config:required-identity cfg-initializer;
- }
- }
- }
-
- container persisted-context-initializer {
- uses config:service-ref {
- refine type {
- mandatory true;
- config:required-identity cfg-initializer;
- }
- }
- }
-
- container persisted-config-initializer {
- uses config:service-ref {
- refine type {
- mandatory true;
- config:required-identity cfg-initializer;
- }
- }
- }
- }
- }
-
- identity persisted-file-initializer {
- base config:module-type;
- config:provided-service cfg-initializer;
- description "Initializer restoring data from a persisted file";
- }
-
- typedef restoration-type {
- type enumeration {
- enum merge;
- enum put;
- }
- }
-
- augment "/config:modules/config:module/config:configuration" {
- case persisted-file-initializer {
- when "/config:modules/config:module/config:type = 'persisted-file-initializer'";
-
- container dom-data-broker {
- uses config:service-ref {
- refine type {
- mandatory true;
- config:required-identity dom:dom-async-data-broker;
- }
- }
- }
-
- container schema-service {
- uses config:service-ref {
- refine type {
- mandatory true;
- config:required-identity dom:schema-service;
- }
- }
- }
-
- leaf persist-file-path {
- type string;
- mandatory true;
- }
-
- leaf restoration-type {
- type restoration-type;
- default merge;
- }
-
-
- leaf datastore-type {
- type dapi:datatree-type;
- mandatory true;
- }
- }
- }
-
-} \ No newline at end of file