diff --git a/xos/admin.py b/xos/admin.py
index f2adf24..1ffe972 100644
--- a/xos/admin.py
+++ b/xos/admin.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 from django.contrib import admin
 
 from services.monitoring.models import *
diff --git a/xos/api/service/monitoring/monitoringservice.py b/xos/api/service/monitoring/monitoringservice.py
index 41ce9a0..0a142aa 100644
--- a/xos/api/service/monitoring/monitoringservice.py
+++ b/xos/api/service/monitoring/monitoringservice.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 from rest_framework.decorators import api_view
 from rest_framework.response import Response
 from rest_framework.reverse import reverse
diff --git a/xos/api/tenant/monitoring/dashboard/ceilometerdashboard.py b/xos/api/tenant/monitoring/dashboard/ceilometerdashboard.py
index 1aaa7b3..22b21f8 100644
--- a/xos/api/tenant/monitoring/dashboard/ceilometerdashboard.py
+++ b/xos/api/tenant/monitoring/dashboard/ceilometerdashboard.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 import requests
 from six.moves import urllib
 import urllib2
diff --git a/xos/api/tenant/monitoring/monitoringchannel.py b/xos/api/tenant/monitoring/monitoringchannel.py
index 5b90992..bab15bd 100644
--- a/xos/api/tenant/monitoring/monitoringchannel.py
+++ b/xos/api/tenant/monitoring/monitoringchannel.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 from rest_framework.decorators import api_view
 from rest_framework.response import Response
 from rest_framework.reverse import reverse
diff --git a/xos/attic/ceilometerservice_model.py b/xos/attic/ceilometerservice_model.py
index 380da81..84f4a7d 100644
--- a/xos/attic/ceilometerservice_model.py
+++ b/xos/attic/ceilometerservice_model.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 sync_attributes = ("private_ip", "private_mac",
                    "nat_ip", "nat_mac", "ceilometer_enable_pub_sub")
                    
diff --git a/xos/attic/header.py b/xos/attic/header.py
index 770f1d2..3341fc4 100644
--- a/xos/attic/header.py
+++ b/xos/attic/header.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 # Monitoring models
 from django.db import models
 from django.core.validators import URLValidator
diff --git a/xos/attic/monitoringchannel_bottom.py b/xos/attic/monitoringchannel_bottom.py
index 00f188e..7283572 100644
--- a/xos/attic/monitoringchannel_bottom.py
+++ b/xos/attic/monitoringchannel_bottom.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 def model_policy_monitoring_channel(pk):
     # TODO: this should be made in to a real model_policy
     with transaction.atomic():
diff --git a/xos/attic/monitoringchannel_model.py b/xos/attic/monitoringchannel_model.py
index 4dcd0fa..458759a 100644
--- a/xos/attic/monitoringchannel_model.py
+++ b/xos/attic/monitoringchannel_model.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 sync_attributes = ("private_ip", "private_mac",
                    "ceilometer_ip", "ceilometer_mac",
                    "nat_ip", "nat_mac", "ceilometer_port",)
diff --git a/xos/attic/monitoringpublisher_model.py b/xos/attic/monitoringpublisher_model.py
index 9769591..e87cfe7 100644
--- a/xos/attic/monitoringpublisher_model.py
+++ b/xos/attic/monitoringpublisher_model.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 default_attributes = {}
 def __init__(self, *args, **kwargs):
     ceilometer_services = CeilometerService.get_service_objects().all()
diff --git a/xos/attic/onosservicemonitoringpublisher_model.py b/xos/attic/onosservicemonitoringpublisher_model.py
index 629b2c9..1f6137f 100644
--- a/xos/attic/onosservicemonitoringpublisher_model.py
+++ b/xos/attic/onosservicemonitoringpublisher_model.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 def __init__(self, *args, **kwargs):
     super(ONOSServiceMonitoringPublisher, self).__init__(*args, **kwargs)
 
diff --git a/xos/attic/openstackservicemonitoringpublisher_model.py b/xos/attic/openstackservicemonitoringpublisher_model.py
index 205dd75..23102f5 100644
--- a/xos/attic/openstackservicemonitoringpublisher_model.py
+++ b/xos/attic/openstackservicemonitoringpublisher_model.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 def __init__(self, *args, **kwargs):
     super(OpenStackServiceMonitoringPublisher, self).__init__(*args, **kwargs)
 
diff --git a/xos/attic/sflowservice_model.py b/xos/attic/sflowservice_model.py
index c0361e6..bd1800d 100644
--- a/xos/attic/sflowservice_model.py
+++ b/xos/attic/sflowservice_model.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 default_attributes = {"sflow_port": SFLOW_PORT, "sflow_api_port": SFLOW_API_PORT}
 
 sync_attributes = ("sflow_port", "sflow_api_port",)
diff --git a/xos/attic/sflowtenant_model.py b/xos/attic/sflowtenant_model.py
index 7dfefe7..3132df1 100644
--- a/xos/attic/sflowtenant_model.py
+++ b/xos/attic/sflowtenant_model.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 sync_attributes = ("listening_endpoint", )
 
 default_attributes = {}
diff --git a/xos/attic/userservicemonitoringpublisher_model.py b/xos/attic/userservicemonitoringpublisher_model.py
index 29d9b86..9bee3eb 100644
--- a/xos/attic/userservicemonitoringpublisher_model.py
+++ b/xos/attic/userservicemonitoringpublisher_model.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 def __init__(self, *args, **kwargs):
     self.cached_target_service = None
     self.cached_tenancy_from_target_service = None
diff --git a/xos/models.py b/xos/models.py
index 43dbd3c..8c0a8b0 100644
--- a/xos/models.py
+++ b/xos/models.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 from django.db import models
 from django.core.validators import URLValidator
 from core.models import Service, XOSBase, Slice, Instance, Tenant, TenantWithContainer, Node, Image, User, Flavor, ServiceDependency, ServiceMonitoringAgentInfo
diff --git a/xos/monitoring-onboard.yaml b/xos/monitoring-onboard.yaml
index ad7352b..220da3e 100644
--- a/xos/monitoring-onboard.yaml
+++ b/xos/monitoring-onboard.yaml
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 tosca_definitions_version: tosca_simple_yaml_1_0
 
 description: Onboard the Monitoring Service
diff --git a/xos/monitoring_tosca_types.yaml b/xos/monitoring_tosca_types.yaml
index 010a5cc..8b24efb 100644
--- a/xos/monitoring_tosca_types.yaml
+++ b/xos/monitoring_tosca_types.yaml
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 tosca_definitions_version: tosca_simple_yaml_1_0
 
 # compile this with "m4 monitoring_custom_tosca_types.m4 > monitoring_custom_tosca_types.yaml"
diff --git a/xos/synchronizer/Dockerfile.synchronizer b/xos/synchronizer/Dockerfile.synchronizer
index 3bed526..f4e627a 100644
--- a/xos/synchronizer/Dockerfile.synchronizer
+++ b/xos/synchronizer/Dockerfile.synchronizer
@@ -1,4 +1,20 @@
 
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
+
 FROM xosproject/xos-synchronizer-base:candidate
 
 ADD . /opt/xos/synchronizers/monitoring
diff --git a/xos/synchronizer/ceilometer/broadview_collector_plugin/plot.py b/xos/synchronizer/ceilometer/broadview_collector_plugin/plot.py
index b496dba..28fab4e 100644
--- a/xos/synchronizer/ceilometer/broadview_collector_plugin/plot.py
+++ b/xos/synchronizer/ceilometer/broadview_collector_plugin/plot.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 import plotly.plotly as py
 import plotly.graph_objs as go
 import time
diff --git a/xos/synchronizer/ceilometer/broadview_collector_plugin/plugins/ceilometerpublisher.py b/xos/synchronizer/ceilometer/broadview_collector_plugin/plugins/ceilometerpublisher.py
index 2690258..539c1b3 100644
--- a/xos/synchronizer/ceilometer/broadview_collector_plugin/plugins/ceilometerpublisher.py
+++ b/xos/synchronizer/ceilometer/broadview_collector_plugin/plugins/ceilometerpublisher.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 # (C) Copyright Broadcom Corporation 2016
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/xos/synchronizer/ceilometer/broadview_collector_plugin/serializers/bst_to_ceilometer.py b/xos/synchronizer/ceilometer/broadview_collector_plugin/serializers/bst_to_ceilometer.py
index e764088..04488d6 100644
--- a/xos/synchronizer/ceilometer/broadview_collector_plugin/serializers/bst_to_ceilometer.py
+++ b/xos/synchronizer/ceilometer/broadview_collector_plugin/serializers/bst_to_ceilometer.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 # (C) Copyright Broadcom Corporation 2016
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/xos/synchronizer/ceilometer/broadview_collector_plugin/serializers/pt_to_ceilometer.py b/xos/synchronizer/ceilometer/broadview_collector_plugin/serializers/pt_to_ceilometer.py
index e4bd245..99809b6 100644
--- a/xos/synchronizer/ceilometer/broadview_collector_plugin/serializers/pt_to_ceilometer.py
+++ b/xos/synchronizer/ceilometer/broadview_collector_plugin/serializers/pt_to_ceilometer.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 # (C) Copyright Broadcom Corporation 2016
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/__init__.py b/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/__init__.py
index e69de29..d4e8062 100644
--- a/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/__init__.py
+++ b/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/__init__.py
@@ -0,0 +1,16 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
diff --git a/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/broadview/__init__.py b/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/broadview/__init__.py
index e69de29..d4e8062 100644
--- a/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/broadview/__init__.py
+++ b/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/broadview/__init__.py
@@ -0,0 +1,16 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
diff --git a/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/broadview/notifications.py b/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/broadview/notifications.py
index 694cf88..2ab4c66 100644
--- a/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/broadview/notifications.py
+++ b/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/broadview/notifications.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #
 # Copyright 2012 New Dream Network, LLC (DreamHost)
 #
diff --git a/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/cord/__init__.py b/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/cord/__init__.py
index e69de29..d4e8062 100644
--- a/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/cord/__init__.py
+++ b/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/cord/__init__.py
@@ -0,0 +1,16 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
diff --git a/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/cord/notifications.py b/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/cord/notifications.py
index a832b01..a80cfe5 100644
--- a/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/cord/notifications.py
+++ b/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/cord/notifications.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #
 # Copyright 2012 New Dream Network, LLC (DreamHost)
 #
diff --git a/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/openstack_infra/__init__.py b/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/openstack_infra/__init__.py
index e69de29..d4e8062 100644
--- a/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/openstack_infra/__init__.py
+++ b/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/openstack_infra/__init__.py
@@ -0,0 +1,16 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
diff --git a/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/openstack_infra/notifications.py b/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/openstack_infra/notifications.py
index 807672d..6c09c75 100644
--- a/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/openstack_infra/notifications.py
+++ b/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/openstack_infra/notifications.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #
 # Copyright 2012 New Dream Network, LLC (DreamHost)
 #
diff --git a/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/vcpe/__init__.py b/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/vcpe/__init__.py
index e69de29..d4e8062 100644
--- a/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/vcpe/__init__.py
+++ b/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/vcpe/__init__.py
@@ -0,0 +1,16 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
diff --git a/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/vcpe/notifications.py b/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/vcpe/notifications.py
index 06a2eb7..6d1e907 100644
--- a/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/vcpe/notifications.py
+++ b/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/vcpe/notifications.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #
 # Copyright 2012 New Dream Network, LLC (DreamHost)
 #
diff --git a/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/volt/__init__.py b/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/volt/__init__.py
index e69de29..d4e8062 100644
--- a/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/volt/__init__.py
+++ b/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/volt/__init__.py
@@ -0,0 +1,16 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
diff --git a/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/volt/notifications.py b/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/volt/notifications.py
index a1f3173..bfe8dd4 100644
--- a/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/volt/notifications.py
+++ b/xos/synchronizer/ceilometer/ceilometer-plugins/network/ext_services/volt/notifications.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #
 # Copyright 2012 New Dream Network, LLC (DreamHost)
 #
diff --git a/xos/synchronizer/ceilometer/ceilometer-plugins/network/statistics/__init__.py b/xos/synchronizer/ceilometer/ceilometer-plugins/network/statistics/__init__.py
index 9c53c36..edf2f02 100644
--- a/xos/synchronizer/ceilometer/ceilometer-plugins/network/statistics/__init__.py
+++ b/xos/synchronizer/ceilometer/ceilometer-plugins/network/statistics/__init__.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #
 # Copyright 2014 NEC Corporation.  All rights reserved.
 #
diff --git a/xos/synchronizer/ceilometer/ceilometer-plugins/network/statistics/onos/__init__.py b/xos/synchronizer/ceilometer/ceilometer-plugins/network/statistics/onos/__init__.py
index e69de29..d4e8062 100644
--- a/xos/synchronizer/ceilometer/ceilometer-plugins/network/statistics/onos/__init__.py
+++ b/xos/synchronizer/ceilometer/ceilometer-plugins/network/statistics/onos/__init__.py
@@ -0,0 +1,16 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
diff --git a/xos/synchronizer/ceilometer/ceilometer-plugins/network/statistics/onos/client.py b/xos/synchronizer/ceilometer/ceilometer-plugins/network/statistics/onos/client.py
index 46b6285..caedac5 100644
--- a/xos/synchronizer/ceilometer/ceilometer-plugins/network/statistics/onos/client.py
+++ b/xos/synchronizer/ceilometer/ceilometer-plugins/network/statistics/onos/client.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #
 # Copyright 2013 NEC Corporation.  All rights reserved.
 #
diff --git a/xos/synchronizer/ceilometer/ceilometer-plugins/network/statistics/onos/driver.py b/xos/synchronizer/ceilometer/ceilometer-plugins/network/statistics/onos/driver.py
index 810275f..70db5b2 100644
--- a/xos/synchronizer/ceilometer/ceilometer-plugins/network/statistics/onos/driver.py
+++ b/xos/synchronizer/ceilometer/ceilometer-plugins/network/statistics/onos/driver.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #
 # Copyright 2013 NEC Corporation.  All rights reserved.
 #
diff --git a/xos/synchronizer/ceilometer/ceilometer-plugins/pipeline_sample.yaml b/xos/synchronizer/ceilometer/ceilometer-plugins/pipeline_sample.yaml
index cb6c213..4cf2299 100644
--- a/xos/synchronizer/ceilometer/ceilometer-plugins/pipeline_sample.yaml
+++ b/xos/synchronizer/ceilometer/ceilometer-plugins/pipeline_sample.yaml
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 ---
 sources:
     - name: all_meters
diff --git a/xos/synchronizer/ceilometer/ceilometer-plugins/sample_event_publisher.py b/xos/synchronizer/ceilometer/ceilometer-plugins/sample_event_publisher.py
index eb84a2f..232ed84 100644
--- a/xos/synchronizer/ceilometer/ceilometer-plugins/sample_event_publisher.py
+++ b/xos/synchronizer/ceilometer/ceilometer-plugins/sample_event_publisher.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 from kombu.connection import BrokerConnection
 from kombu.messaging import Exchange, Queue, Consumer, Producer
 import six
diff --git a/xos/synchronizer/ceilometer/ceilometer_pub_sub/kafka_broker.py b/xos/synchronizer/ceilometer/ceilometer_pub_sub/kafka_broker.py
index 778486b..3f616a3 100644
--- a/xos/synchronizer/ceilometer/ceilometer_pub_sub/kafka_broker.py
+++ b/xos/synchronizer/ceilometer/ceilometer_pub_sub/kafka_broker.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #
 # Copyright 2015 Cisco Inc.
 #
diff --git a/xos/synchronizer/ceilometer/ceilometer_pub_sub/pubrecords.py b/xos/synchronizer/ceilometer/ceilometer_pub_sub/pubrecords.py
index bca62b8..bc0fcd1 100644
--- a/xos/synchronizer/ceilometer/ceilometer_pub_sub/pubrecords.py
+++ b/xos/synchronizer/ceilometer/ceilometer_pub_sub/pubrecords.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #!/usr/bin/python
 import socket
 from oslo_utils import units
diff --git a/xos/synchronizer/ceilometer/ceilometer_pub_sub/sub_main.py b/xos/synchronizer/ceilometer/ceilometer_pub_sub/sub_main.py
index e7ebcf4..19d7bf1 100644
--- a/xos/synchronizer/ceilometer/ceilometer_pub_sub/sub_main.py
+++ b/xos/synchronizer/ceilometer/ceilometer_pub_sub/sub_main.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #!/usr/bin/python
 import socket,thread
 import sys
diff --git a/xos/synchronizer/ceilometer/ceilometer_pub_sub/test/kafka_broker.py b/xos/synchronizer/ceilometer/ceilometer_pub_sub/test/kafka_broker.py
index ce495fc..52d184e 100644
--- a/xos/synchronizer/ceilometer/ceilometer_pub_sub/test/kafka_broker.py
+++ b/xos/synchronizer/ceilometer/ceilometer_pub_sub/test/kafka_broker.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #
 # Copyright 2015 Cisco Inc.
 #
diff --git a/xos/synchronizer/ceilometer/ceilometer_pub_sub/test/kafka_client.py b/xos/synchronizer/ceilometer/ceilometer_pub_sub/test/kafka_client.py
index 4d7cff0..9472579 100644
--- a/xos/synchronizer/ceilometer/ceilometer_pub_sub/test/kafka_client.py
+++ b/xos/synchronizer/ceilometer/ceilometer_pub_sub/test/kafka_client.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 import kafka
 import kafka_broker
 from oslo_utils import netutils
diff --git a/xos/synchronizer/ceilometer/ceilometer_pub_sub/test/udp_client_cpu.py b/xos/synchronizer/ceilometer/ceilometer_pub_sub/test/udp_client_cpu.py
index 1c30d63..6cb6419 100644
--- a/xos/synchronizer/ceilometer/ceilometer_pub_sub/test/udp_client_cpu.py
+++ b/xos/synchronizer/ceilometer/ceilometer_pub_sub/test/udp_client_cpu.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 import socket
 import msgpack
 from oslo_utils import units
diff --git a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/install.sh b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/install.sh
index e6bfde8..2d21bc9 100755
--- a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/install.sh
+++ b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/install.sh
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 set -x
 echo $PWD
 export CMDIR=$PWD
diff --git a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/kafka-installer/conf/kafka/kafka-server-start.sh b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/kafka-installer/conf/kafka/kafka-server-start.sh
index 87b31d5..26e1872 100644
--- a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/kafka-installer/conf/kafka/kafka-server-start.sh
+++ b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/kafka-installer/conf/kafka/kafka-server-start.sh
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #!/bin/bash
 # Licensed to the Apache Software Foundation (ASF) under one or more
 # contributor license agreements.  See the NOTICE file distributed with
diff --git a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/kafka-installer/install_zookeeper_kafka.sh b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/kafka-installer/install_zookeeper_kafka.sh
index f21a353..23632d2 100755
--- a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/kafka-installer/install_zookeeper_kafka.sh
+++ b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/kafka-installer/install_zookeeper_kafka.sh
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #!/bin/bash
 set -x
 BASE_KAFKA_VERSION=0.9.0.0
diff --git a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/admin-openrc.sh b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/admin-openrc.sh
index 9bbbc87..04a675e 100644
--- a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/admin-openrc.sh
+++ b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/admin-openrc.sh
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 unset OS_PROJECT_DOMAIN_ID
 unset OS_USER_DOMAIN_ID
 export OS_PROJECT_NAME=admin
diff --git a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/configure_users_mitaka.sh b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/configure_users_mitaka.sh
index b59a0c2..c420213 100644
--- a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/configure_users_mitaka.sh
+++ b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/configure_users_mitaka.sh
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 set -x
 export OS_TOKEN=ADMIN_TOKEN
 export OS_URL=http://localhost:35357/v2.0
diff --git a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/install_ansible.sh b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/install_ansible.sh
index 40dcdd0..3c04d27 100644
--- a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/install_ansible.sh
+++ b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/install_ansible.sh
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 sudo apt-get update
 sudo apt-get -y install software-properties-common git mosh tmux dnsutils python-netaddr
 sudo add-apt-repository -y ppa:ansible/ansible
diff --git a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/mongo_user.sh b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/mongo_user.sh
index 54f632e..2c4aa01 100644
--- a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/mongo_user.sh
+++ b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/mongo_user.sh
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 mongo --host localhost --eval '
   db = db.getSiblingDB("ceilometer");
   db.addUser({user: "ceilometer",
diff --git a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/os_ceilometer_mitaka.yml b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/os_ceilometer_mitaka.yml
index 95b8778..a5f9827 100644
--- a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/os_ceilometer_mitaka.yml
+++ b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/os_ceilometer_mitaka.yml
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 ---
 - name: Install Standalone ceilometer
   hosts: local
diff --git a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/templates/apache2.conf.j2 b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/templates/apache2.conf.j2
index 52c0eeb..7229959 100644
--- a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/templates/apache2.conf.j2
+++ b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/templates/apache2.conf.j2
@@ -1,3 +1,21 @@
+
+{#
+Copyright 2017-present Open Networking Foundation
+
+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.
+#}
+
+
 # This is the main Apache server configuration file.  It contains the
 # configuration directives that give the server its instructions.
 # See http://httpd.apache.org/docs/2.4/ for detailed information about
diff --git a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/templates/ceilometer.conf.j2 b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/templates/ceilometer.conf.j2
index 98727ab..aac606d 100644
--- a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/templates/ceilometer.conf.j2
+++ b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/templates/ceilometer.conf.j2
@@ -1,3 +1,21 @@
+
+{#
+Copyright 2017-present Open Networking Foundation
+
+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.
+#}
+
+
 [DEFAULT]
 rpc_backend = rabbit
 auth_strategy = keystone
diff --git a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/templates/keystone.conf.j2 b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/templates/keystone.conf.j2
index fe6d4fc..d10423f 100644
--- a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/templates/keystone.conf.j2
+++ b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/templates/keystone.conf.j2
@@ -1,3 +1,21 @@
+
+{#
+Copyright 2017-present Open Networking Foundation
+
+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.
+#}
+
+
 [DEFAULT]
 
 #
diff --git a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/templates/keystone.override.j2 b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/templates/keystone.override.j2
index 2905494..beccdbd 100644
--- a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/templates/keystone.override.j2
+++ b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/templates/keystone.override.j2
@@ -1 +1,19 @@
+
+{#
+Copyright 2017-present Open Networking Foundation
+
+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.
+#}
+
+
 manual
diff --git a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/templates/mongodb.conf.j2 b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/templates/mongodb.conf.j2
index 5feeba2..0d14c87 100644
--- a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/templates/mongodb.conf.j2
+++ b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/templates/mongodb.conf.j2
@@ -1,3 +1,21 @@
+
+{#
+Copyright 2017-present Open Networking Foundation
+
+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.
+#}
+
+
 # mongodb.conf
 
 # Where to store the data.
diff --git a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/templates/openstack.cnf.j2 b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/templates/openstack.cnf.j2
index 1aeec60..c9b000d 100644
--- a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/templates/openstack.cnf.j2
+++ b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/templates/openstack.cnf.j2
@@ -1,3 +1,21 @@
+
+{#
+Copyright 2017-present Open Networking Foundation
+
+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.
+#}
+
+
 [mysqld] 
 bind-address = localhost 
 default-storage-engine = innodb 
diff --git a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/templates/wsgi-keystone.conf.j2 b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/templates/wsgi-keystone.conf.j2
index e5698e2..f2b1649 100644
--- a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/templates/wsgi-keystone.conf.j2
+++ b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v2/templates/wsgi-keystone.conf.j2
@@ -1,3 +1,21 @@
+
+{#
+Copyright 2017-present Open Networking Foundation
+
+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.
+#}
+
+
 Listen 5000
 Listen 35357
 
diff --git a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/admin-openrc.sh b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/admin-openrc.sh
index 4720f4c..bd9ca12 100644
--- a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/admin-openrc.sh
+++ b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/admin-openrc.sh
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 export OS_PROJECT_DOMAIN_NAME=default
 export OS_USER_DOMAIN_NAME=default
 export OS_PROJECT_NAME=admin
diff --git a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/configure_users_mitaka.sh b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/configure_users_mitaka.sh
index 11c2da2..1f206ca 100644
--- a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/configure_users_mitaka.sh
+++ b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/configure_users_mitaka.sh
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 set -x
 export OS_TOKEN=ADMIN_TOKEN
 export OS_URL=http://localhost:35357/v3
diff --git a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/install_ansible.sh b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/install_ansible.sh
index 40dcdd0..3c04d27 100644
--- a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/install_ansible.sh
+++ b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/install_ansible.sh
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 sudo apt-get update
 sudo apt-get -y install software-properties-common git mosh tmux dnsutils python-netaddr
 sudo add-apt-repository -y ppa:ansible/ansible
diff --git a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/mongo_user.sh b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/mongo_user.sh
index 54f632e..2c4aa01 100644
--- a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/mongo_user.sh
+++ b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/mongo_user.sh
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 mongo --host localhost --eval '
   db = db.getSiblingDB("ceilometer");
   db.addUser({user: "ceilometer",
diff --git a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/os_ceilometer_mitaka.yml b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/os_ceilometer_mitaka.yml
index 4ed2da2..e2dcd29 100644
--- a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/os_ceilometer_mitaka.yml
+++ b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/os_ceilometer_mitaka.yml
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 ---
 - name: Install Standalone ceilometer
   hosts: local
diff --git a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/templates/apache2.conf.j2 b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/templates/apache2.conf.j2
index 52c0eeb..7229959 100644
--- a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/templates/apache2.conf.j2
+++ b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/templates/apache2.conf.j2
@@ -1,3 +1,21 @@
+
+{#
+Copyright 2017-present Open Networking Foundation
+
+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.
+#}
+
+
 # This is the main Apache server configuration file.  It contains the
 # configuration directives that give the server its instructions.
 # See http://httpd.apache.org/docs/2.4/ for detailed information about
diff --git a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/templates/ceilometer.conf.j2 b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/templates/ceilometer.conf.j2
index 6deb9a4..b6939b6 100644
--- a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/templates/ceilometer.conf.j2
+++ b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/templates/ceilometer.conf.j2
@@ -1,3 +1,21 @@
+
+{#
+Copyright 2017-present Open Networking Foundation
+
+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.
+#}
+
+
 [DEFAULT]
 rpc_backend = rabbit
 auth_strategy = keystone
diff --git a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/templates/keystone.conf.j2 b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/templates/keystone.conf.j2
index fe6d4fc..d10423f 100644
--- a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/templates/keystone.conf.j2
+++ b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/templates/keystone.conf.j2
@@ -1,3 +1,21 @@
+
+{#
+Copyright 2017-present Open Networking Foundation
+
+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.
+#}
+
+
 [DEFAULT]
 
 #
diff --git a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/templates/keystone.override.j2 b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/templates/keystone.override.j2
index 2905494..beccdbd 100644
--- a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/templates/keystone.override.j2
+++ b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/templates/keystone.override.j2
@@ -1 +1,19 @@
+
+{#
+Copyright 2017-present Open Networking Foundation
+
+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.
+#}
+
+
 manual
diff --git a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/templates/mongodb.conf.j2 b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/templates/mongodb.conf.j2
index 5feeba2..0d14c87 100644
--- a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/templates/mongodb.conf.j2
+++ b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/templates/mongodb.conf.j2
@@ -1,3 +1,21 @@
+
+{#
+Copyright 2017-present Open Networking Foundation
+
+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.
+#}
+
+
 # mongodb.conf
 
 # Where to store the data.
diff --git a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/templates/openstack.cnf.j2 b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/templates/openstack.cnf.j2
index 1aeec60..c9b000d 100644
--- a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/templates/openstack.cnf.j2
+++ b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/templates/openstack.cnf.j2
@@ -1,3 +1,21 @@
+
+{#
+Copyright 2017-present Open Networking Foundation
+
+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.
+#}
+
+
 [mysqld] 
 bind-address = localhost 
 default-storage-engine = innodb 
diff --git a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/templates/wsgi-keystone.conf.j2 b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/templates/wsgi-keystone.conf.j2
index e5698e2..f2b1649 100644
--- a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/templates/wsgi-keystone.conf.j2
+++ b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/mitaka-v3/templates/wsgi-keystone.conf.j2
@@ -1,3 +1,21 @@
+
+{#
+Copyright 2017-present Open Networking Foundation
+
+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.
+#}
+
+
 Listen 5000
 Listen 35357
 
diff --git a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/startup-scripts/ceilometer_init_script.sh b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/startup-scripts/ceilometer_init_script.sh
index df092fc..5480252 100755
--- a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/startup-scripts/ceilometer_init_script.sh
+++ b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/startup-scripts/ceilometer_init_script.sh
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 STARTUP_PATH="/home/ubuntu/monitoring/xos/synchronizer/ceilometer/ceilometer_service_custom_image/startup-scripts"
 IP=$(ifconfig | awk '/inet addr/{print substr($2,6)}' | grep "10.0.3")
 #IP=$(ifconfig | awk '/inet addr/{print substr($2,6)}' | grep "10.11.10")
diff --git a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/startup-scripts/update-endpoints.py b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/startup-scripts/update-endpoints.py
index fa8bf2b..21f1fd5 100755
--- a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/startup-scripts/update-endpoints.py
+++ b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/startup-scripts/update-endpoints.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #!/usr/bin/python
 
 __author__      = 'Matt Fischer <matt.fischer@twcable.com>'
diff --git a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/startup-scripts/zxceilostartup.sh b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/startup-scripts/zxceilostartup.sh
index 52a46d1..0c43d59 100755
--- a/xos/synchronizer/ceilometer/ceilometer_service_custom_image/startup-scripts/zxceilostartup.sh
+++ b/xos/synchronizer/ceilometer/ceilometer_service_custom_image/startup-scripts/zxceilostartup.sh
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #!/bin/sh
 PUB_SUB_PATH=/home/ubuntu/monitoring/xos/synchronizer/ceilometer/ceilometer_pub_sub
 echo $PWD
diff --git a/xos/synchronizer/ceilometer/dockerized_ceilometer_service/ceilometer-agent-notification/Dockerfile.ceilo-agent-notification b/xos/synchronizer/ceilometer/dockerized_ceilometer_service/ceilometer-agent-notification/Dockerfile.ceilo-agent-notification
index f8bc8bc..9d40b92 100644
--- a/xos/synchronizer/ceilometer/dockerized_ceilometer_service/ceilometer-agent-notification/Dockerfile.ceilo-agent-notification
+++ b/xos/synchronizer/ceilometer/dockerized_ceilometer_service/ceilometer-agent-notification/Dockerfile.ceilo-agent-notification
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 # Dockerfile.ceilo-agent-notification: docker file for building srikanthvavila/ceilometer-agent-notification container
 # It is built on top of srikanthvavila/ceilometer-base container
 
diff --git a/xos/synchronizer/ceilometer/dockerized_ceilometer_service/ceilometer-agent-notification/ceilometer_kafka_patch/kafka_broker.py b/xos/synchronizer/ceilometer/dockerized_ceilometer_service/ceilometer-agent-notification/ceilometer_kafka_patch/kafka_broker.py
index 2ceaa33..f6d2a67 100644
--- a/xos/synchronizer/ceilometer/dockerized_ceilometer_service/ceilometer-agent-notification/ceilometer_kafka_patch/kafka_broker.py
+++ b/xos/synchronizer/ceilometer/dockerized_ceilometer_service/ceilometer-agent-notification/ceilometer_kafka_patch/kafka_broker.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #
 # Copyright 2015 Cisco Inc.
 #
diff --git a/xos/synchronizer/ceilometer/dockerized_ceilometer_service/ceilometer-agent-notification/load-ceilo-plugins.sh b/xos/synchronizer/ceilometer/dockerized_ceilometer_service/ceilometer-agent-notification/load-ceilo-plugins.sh
index 0f5cce4..577ba58 100644
--- a/xos/synchronizer/ceilometer/dockerized_ceilometer_service/ceilometer-agent-notification/load-ceilo-plugins.sh
+++ b/xos/synchronizer/ceilometer/dockerized_ceilometer_service/ceilometer-agent-notification/load-ceilo-plugins.sh
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #!/bin/sh
 
 declare -a plugins=("vcpe= ceilometer.network.ext_services.vcpe.notifications:VCPENotification"
diff --git a/xos/synchronizer/ceilometer/dockerized_ceilometer_service/ceilometer-agent-notification/pipeline.yaml b/xos/synchronizer/ceilometer/dockerized_ceilometer_service/ceilometer-agent-notification/pipeline.yaml
index df39046..3955ce1 100644
--- a/xos/synchronizer/ceilometer/dockerized_ceilometer_service/ceilometer-agent-notification/pipeline.yaml
+++ b/xos/synchronizer/ceilometer/dockerized_ceilometer_service/ceilometer-agent-notification/pipeline.yaml
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 ---
 sources:
     - name: meter_source
diff --git a/xos/synchronizer/ceilometer/dockerized_ceilometer_service/ceilometer-agent-notification/start-ceilo-agent-notification.sh b/xos/synchronizer/ceilometer/dockerized_ceilometer_service/ceilometer-agent-notification/start-ceilo-agent-notification.sh
index 3f57a8d..e9495c0 100644
--- a/xos/synchronizer/ceilometer/dockerized_ceilometer_service/ceilometer-agent-notification/start-ceilo-agent-notification.sh
+++ b/xos/synchronizer/ceilometer/dockerized_ceilometer_service/ceilometer-agent-notification/start-ceilo-agent-notification.sh
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #!/bin/sh
 
 if [ ! -z "$RABBIT_TRANSPORT_URL" ]; then
diff --git a/xos/synchronizer/ceilometer/dockerized_ceilometer_service/ceilometer-agent-notification/update-pipeline.sh b/xos/synchronizer/ceilometer/dockerized_ceilometer_service/ceilometer-agent-notification/update-pipeline.sh
index 6c3e7dd..486890d 100644
--- a/xos/synchronizer/ceilometer/dockerized_ceilometer_service/ceilometer-agent-notification/update-pipeline.sh
+++ b/xos/synchronizer/ceilometer/dockerized_ceilometer_service/ceilometer-agent-notification/update-pipeline.sh
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #!/bin/sh
 
 #Insert specified kafka url AFTER the match text
diff --git a/xos/synchronizer/ceilometer/dockerized_ceilometer_service/ceilometer-base/.Dockerfile.ceilo-base.swp b/xos/synchronizer/ceilometer/dockerized_ceilometer_service/ceilometer-base/.Dockerfile.ceilo-base.swp
index d2a16b3..b2fccd3 100644
--- a/xos/synchronizer/ceilometer/dockerized_ceilometer_service/ceilometer-base/.Dockerfile.ceilo-base.swp
+++ b/xos/synchronizer/ceilometer/dockerized_ceilometer_service/ceilometer-base/.Dockerfile.ceilo-base.swp
Binary files differ
diff --git a/xos/synchronizer/ceilometer/dockerized_ceilometer_service/ceilometer-base/Dockerfile.ceilo-base b/xos/synchronizer/ceilometer/dockerized_ceilometer_service/ceilometer-base/Dockerfile.ceilo-base
index f70e7c9..27d7a6b 100644
--- a/xos/synchronizer/ceilometer/dockerized_ceilometer_service/ceilometer-base/Dockerfile.ceilo-base
+++ b/xos/synchronizer/ceilometer/dockerized_ceilometer_service/ceilometer-base/Dockerfile.ceilo-base
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 # Dockerfile.ceilo-base: docker file for srikanthvavila/ceilometer-base
 # This image isn't used directly, but installs the prereqs for the other ceilometer images
 # Build this docker container before building other ceilometer containers
diff --git a/xos/synchronizer/ceilometer/dockerized_ceilometer_service/cord-publish-subscribe/Dockerfile.publish-subscribe b/xos/synchronizer/ceilometer/dockerized_ceilometer_service/cord-publish-subscribe/Dockerfile.publish-subscribe
index de840df..14e62bb 100644
--- a/xos/synchronizer/ceilometer/dockerized_ceilometer_service/cord-publish-subscribe/Dockerfile.publish-subscribe
+++ b/xos/synchronizer/ceilometer/dockerized_ceilometer_service/cord-publish-subscribe/Dockerfile.publish-subscribe
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 FROM ubuntu:14.04.5
 LABEL maintainer "Open Networking Lab"
 
diff --git a/xos/synchronizer/ceilometer/dockerized_ceilometer_service/docker-compose.yml b/xos/synchronizer/ceilometer/dockerized_ceilometer_service/docker-compose.yml
index 955bf28..b4c746c 100644
--- a/xos/synchronizer/ceilometer/dockerized_ceilometer_service/docker-compose.yml
+++ b/xos/synchronizer/ceilometer/dockerized_ceilometer_service/docker-compose.yml
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 # Docker-compose for CORD Monitoring Service
 #TODO: The IP addresses in this file need to be parameterized and set when the monitoring service is instantiated through XOS synchronizer
 
diff --git a/xos/synchronizer/ceilometer/monitoring_agent/ceilometer_config.yaml b/xos/synchronizer/ceilometer/monitoring_agent/ceilometer_config.yaml
index 95fca98..2a37f73 100644
--- a/xos/synchronizer/ceilometer/monitoring_agent/ceilometer_config.yaml
+++ b/xos/synchronizer/ceilometer/monitoring_agent/ceilometer_config.yaml
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 ---
 - hosts: '{{ instance_name }}'
   gather_facts: False
diff --git a/xos/synchronizer/ceilometer/monitoring_agent/disable_monitoring_service.yaml b/xos/synchronizer/ceilometer/monitoring_agent/disable_monitoring_service.yaml
index 4f4bc7f..897382d 100644
--- a/xos/synchronizer/ceilometer/monitoring_agent/disable_monitoring_service.yaml
+++ b/xos/synchronizer/ceilometer/monitoring_agent/disable_monitoring_service.yaml
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 ---
 - hosts: '{{ instance_name }}'
   gather_facts: False
diff --git a/xos/synchronizer/ceilometer/monitoring_agent/enable_monitoring_service.yaml b/xos/synchronizer/ceilometer/monitoring_agent/enable_monitoring_service.yaml
index f4d4de5..d9f2306 100644
--- a/xos/synchronizer/ceilometer/monitoring_agent/enable_monitoring_service.yaml
+++ b/xos/synchronizer/ceilometer/monitoring_agent/enable_monitoring_service.yaml
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 ---
 - hosts: '{{ instance_name }}'
   gather_facts: False
diff --git a/xos/synchronizer/ceilometer/monitoring_agent/generate_pipeline.py b/xos/synchronizer/ceilometer/monitoring_agent/generate_pipeline.py
index beab6d6..41c668f 100644
--- a/xos/synchronizer/ceilometer/monitoring_agent/generate_pipeline.py
+++ b/xos/synchronizer/ceilometer/monitoring_agent/generate_pipeline.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 from jinja2 import Environment, FileSystemLoader
 from urlparse import urlparse
 import os
diff --git a/xos/synchronizer/ceilometer/monitoring_agent/install_monitoring_ceilometer.sh b/xos/synchronizer/ceilometer/monitoring_agent/install_monitoring_ceilometer.sh
index 8cec15f..f20f536 100755
--- a/xos/synchronizer/ceilometer/monitoring_agent/install_monitoring_ceilometer.sh
+++ b/xos/synchronizer/ceilometer/monitoring_agent/install_monitoring_ceilometer.sh
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #! /bin/bash
 #set -x 
 COMPUTENODES=$( bash -c "source ~/service-profile/cord-pod/admin-openrc.sh ; nova hypervisor-list" |grep "cord.lab"|awk '{print $4}')
diff --git a/xos/synchronizer/ceilometer/monitoring_agent/monitoring_agent.py b/xos/synchronizer/ceilometer/monitoring_agent/monitoring_agent.py
index 539f091..74ee479 100644
--- a/xos/synchronizer/ceilometer/monitoring_agent/monitoring_agent.py
+++ b/xos/synchronizer/ceilometer/monitoring_agent/monitoring_agent.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #!/usr/bin/python
 from flask import request, Request, jsonify
 from flask import Flask
diff --git a/xos/synchronizer/ceilometer/monitoring_agent/pipeline.yaml.j2 b/xos/synchronizer/ceilometer/monitoring_agent/pipeline.yaml.j2
index 977847b..b1ba680 100644
--- a/xos/synchronizer/ceilometer/monitoring_agent/pipeline.yaml.j2
+++ b/xos/synchronizer/ceilometer/monitoring_agent/pipeline.yaml.j2
@@ -1,3 +1,21 @@
+
+{#
+Copyright 2017-present Open Networking Foundation
+
+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.
+#}
+
+
 ---
 sources:
     - name: meter_source
diff --git a/xos/synchronizer/ceilometer/monitoring_agent/start_monitoring_agent.sh b/xos/synchronizer/ceilometer/monitoring_agent/start_monitoring_agent.sh
index f7dedc2..2672696 100755
--- a/xos/synchronizer/ceilometer/monitoring_agent/start_monitoring_agent.sh
+++ b/xos/synchronizer/ceilometer/monitoring_agent/start_monitoring_agent.sh
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #!/bin/sh
 sudo apt-get update
 sudo apt-get install -y python-dev
diff --git a/xos/synchronizer/ceilometer/monitoring_agent/templates/monitoring_agent.conf.j2 b/xos/synchronizer/ceilometer/monitoring_agent/templates/monitoring_agent.conf.j2
index dc7da38..7ad0217 100755
--- a/xos/synchronizer/ceilometer/monitoring_agent/templates/monitoring_agent.conf.j2
+++ b/xos/synchronizer/ceilometer/monitoring_agent/templates/monitoring_agent.conf.j2
@@ -1,3 +1,21 @@
+
+{#
+Copyright 2017-present Open Networking Foundation
+
+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.
+#}
+
+
 [SERVICE]
 Ceilometer_service = {{ ceilometer_services }}
 
diff --git a/xos/synchronizer/ceilometer/pipeline_agent_module/pipeline.py b/xos/synchronizer/ceilometer/pipeline_agent_module/pipeline.py
index 17690f9..5783a06 100644
--- a/xos/synchronizer/ceilometer/pipeline_agent_module/pipeline.py
+++ b/xos/synchronizer/ceilometer/pipeline_agent_module/pipeline.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 import abc
 import six
 import yaml
diff --git a/xos/synchronizer/ceilometer/pipeline_agent_module/pipeline.yaml b/xos/synchronizer/ceilometer/pipeline_agent_module/pipeline.yaml
index 505471a..e6f6d94 100644
--- a/xos/synchronizer/ceilometer/pipeline_agent_module/pipeline.yaml
+++ b/xos/synchronizer/ceilometer/pipeline_agent_module/pipeline.yaml
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 ---
 sources:
     - name: meter_source
diff --git a/xos/synchronizer/ceilometer/pipeline_agent_module/pipeline_agent.py b/xos/synchronizer/ceilometer/pipeline_agent_module/pipeline_agent.py
index a751b8e..dc158eb 100644
--- a/xos/synchronizer/ceilometer/pipeline_agent_module/pipeline_agent.py
+++ b/xos/synchronizer/ceilometer/pipeline_agent_module/pipeline_agent.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 import pika
 import yaml
 import subprocess
diff --git a/xos/synchronizer/ceilometer/pipeline_agent_module/utils.py b/xos/synchronizer/ceilometer/pipeline_agent_module/utils.py
index 3aa4865..fa614a4 100644
--- a/xos/synchronizer/ceilometer/pipeline_agent_module/utils.py
+++ b/xos/synchronizer/ceilometer/pipeline_agent_module/utils.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 import yaml
 import random
 import string
diff --git a/xos/synchronizer/ceilometer/udp_proxy/udpagent.py b/xos/synchronizer/ceilometer/udp_proxy/udpagent.py
index 1cac784..d251ddd 100644
--- a/xos/synchronizer/ceilometer/udp_proxy/udpagent.py
+++ b/xos/synchronizer/ceilometer/udp_proxy/udpagent.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 import logging
 import logging.handlers
 import logging.config
diff --git a/xos/synchronizer/monitoring-synchronizer.py b/xos/synchronizer/monitoring-synchronizer.py
index b37ac34..3b406f4 100644
--- a/xos/synchronizer/monitoring-synchronizer.py
+++ b/xos/synchronizer/monitoring-synchronizer.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #!/usr/bin/env python
 
 # Runs the standard XOS synchronizer
diff --git a/xos/synchronizer/run-from-api.sh b/xos/synchronizer/run-from-api.sh
index 8cfa16d..3430ea8 100755
--- a/xos/synchronizer/run-from-api.sh
+++ b/xos/synchronizer/run-from-api.sh
@@ -1,2 +1,18 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 export XOS_DIR=/opt/xos
 python monitoring-synchronizer.py  -C $XOS_DIR/synchronizers/monitoring/monitoring_from_api_config
diff --git a/xos/synchronizer/steps/enable_monitoring_service.yaml b/xos/synchronizer/steps/enable_monitoring_service.yaml
index 22d94fb..417d444 100644
--- a/xos/synchronizer/steps/enable_monitoring_service.yaml
+++ b/xos/synchronizer/steps/enable_monitoring_service.yaml
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 ---
 - hosts: 127.0.0.1
   connection: local
diff --git a/xos/synchronizer/steps/sync_ceilometerservice.py b/xos/synchronizer/steps/sync_ceilometerservice.py
index 2a9ee11..0e9aa44 100644
--- a/xos/synchronizer/steps/sync_ceilometerservice.py
+++ b/xos/synchronizer/steps/sync_ceilometerservice.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 import hashlib
 import os
 import socket
diff --git a/xos/synchronizer/steps/sync_ceilometerservice.yaml b/xos/synchronizer/steps/sync_ceilometerservice.yaml
index 6fb680c..51cbc1a 100644
--- a/xos/synchronizer/steps/sync_ceilometerservice.yaml
+++ b/xos/synchronizer/steps/sync_ceilometerservice.yaml
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 ---
 # ceilometer_service_playbook
 - hosts: "{{ instance_name }}"
diff --git a/xos/synchronizer/steps/sync_monitoringchannel.py b/xos/synchronizer/steps/sync_monitoringchannel.py
index 45c72a6..be76942 100644
--- a/xos/synchronizer/steps/sync_monitoringchannel.py
+++ b/xos/synchronizer/steps/sync_monitoringchannel.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 import hashlib
 import os
 import socket
diff --git a/xos/synchronizer/steps/sync_monitoringchannel.yaml b/xos/synchronizer/steps/sync_monitoringchannel.yaml
index d6571ea..c4e7b86 100644
--- a/xos/synchronizer/steps/sync_monitoringchannel.yaml
+++ b/xos/synchronizer/steps/sync_monitoringchannel.yaml
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 ---
 - hosts: {{ instance_name }}
 #  gather_facts: False
diff --git a/xos/synchronizer/steps/sync_openstackmonitoringpublisher.py b/xos/synchronizer/steps/sync_openstackmonitoringpublisher.py
index 142d2b2..1d83053 100644
--- a/xos/synchronizer/steps/sync_openstackmonitoringpublisher.py
+++ b/xos/synchronizer/steps/sync_openstackmonitoringpublisher.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 import hashlib
 import os
 import socket
diff --git a/xos/synchronizer/steps/sync_openstackmonitoringpublisher.yaml b/xos/synchronizer/steps/sync_openstackmonitoringpublisher.yaml
index 098d63e..8082c71 100644
--- a/xos/synchronizer/steps/sync_openstackmonitoringpublisher.yaml
+++ b/xos/synchronizer/steps/sync_openstackmonitoringpublisher.yaml
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 ---
 - hosts: {{ instance_name }}
   gather_facts: False
diff --git a/xos/synchronizer/steps/sync_sflowservice.py b/xos/synchronizer/steps/sync_sflowservice.py
index f7002f6..21451b6 100644
--- a/xos/synchronizer/steps/sync_sflowservice.py
+++ b/xos/synchronizer/steps/sync_sflowservice.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 import hashlib
 import os
 import socket
diff --git a/xos/synchronizer/steps/sync_sflowservice.yaml b/xos/synchronizer/steps/sync_sflowservice.yaml
index 09da1c8..fceefae 100644
--- a/xos/synchronizer/steps/sync_sflowservice.yaml
+++ b/xos/synchronizer/steps/sync_sflowservice.yaml
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 ---
 - hosts: {{ instance_name }}
   gather_facts: False
diff --git a/xos/synchronizer/steps/sync_sflowtenant.py b/xos/synchronizer/steps/sync_sflowtenant.py
index 9114f4a..26b5eab 100644
--- a/xos/synchronizer/steps/sync_sflowtenant.py
+++ b/xos/synchronizer/steps/sync_sflowtenant.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 import hashlib
 import os
 import socket
diff --git a/xos/synchronizer/steps/sync_sflowtenant.yaml b/xos/synchronizer/steps/sync_sflowtenant.yaml
index be981c8..5ed9355 100644
--- a/xos/synchronizer/steps/sync_sflowtenant.yaml
+++ b/xos/synchronizer/steps/sync_sflowtenant.yaml
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 ---
 - hosts: {{ instance_name }}
   gather_facts: False
diff --git a/xos/synchronizer/templates/Dockerfile.monitoring_channel b/xos/synchronizer/templates/Dockerfile.monitoring_channel
index 45defb8..caba93d 100644
--- a/xos/synchronizer/templates/Dockerfile.monitoring_channel
+++ b/xos/synchronizer/templates/Dockerfile.monitoring_channel
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 FROM       ubuntu:14.04.2
 MAINTAINER Andy Bavier <acb@cs.princeton.edu>
 
diff --git a/xos/synchronizer/templates/Dockerfile.sflowpubsub b/xos/synchronizer/templates/Dockerfile.sflowpubsub
index c9025ee..035e2ce 100644
--- a/xos/synchronizer/templates/Dockerfile.sflowpubsub
+++ b/xos/synchronizer/templates/Dockerfile.sflowpubsub
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 FROM       ubuntu:14.04.2
 MAINTAINER Andy Bavier <acb@cs.princeton.edu>
 
diff --git a/xos/synchronizer/templates/ceilometer_pipeline.yaml.j2 b/xos/synchronizer/templates/ceilometer_pipeline.yaml.j2
index 6760773..836f9b7 100644
--- a/xos/synchronizer/templates/ceilometer_pipeline.yaml.j2
+++ b/xos/synchronizer/templates/ceilometer_pipeline.yaml.j2
@@ -1,3 +1,21 @@
+
+{#
+Copyright 2017-present Open Networking Foundation
+
+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.
+#}
+
+
 ---
 sources:
     - name: meter_source
diff --git a/xos/synchronizer/templates/ceilometer_proxy_config.j2 b/xos/synchronizer/templates/ceilometer_proxy_config.j2
index bd6c521..eb4da41 100644
--- a/xos/synchronizer/templates/ceilometer_proxy_config.j2
+++ b/xos/synchronizer/templates/ceilometer_proxy_config.j2
@@ -1,3 +1,21 @@
+
+{#
+Copyright 2017-present Open Networking Foundation
+
+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.
+#}
+
+
 # This file autogenerated by monitoring-channel observer
 # It contains a list of attributes to be used by ceilometer proxy web server
 # syntax: key=value
diff --git a/xos/synchronizer/templates/ceilometer_proxy_server.py b/xos/synchronizer/templates/ceilometer_proxy_server.py
index c81b941..3d81b66 100644
--- a/xos/synchronizer/templates/ceilometer_proxy_server.py
+++ b/xos/synchronizer/templates/ceilometer_proxy_server.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #!/usr/bin/env python
 import web
 import ConfigParser
diff --git a/xos/synchronizer/templates/kafka_broker.py b/xos/synchronizer/templates/kafka_broker.py
index 1687025..370962d 100644
--- a/xos/synchronizer/templates/kafka_broker.py
+++ b/xos/synchronizer/templates/kafka_broker.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #
 # Copyright 2015 Cisco Inc.
 #
diff --git a/xos/synchronizer/templates/monitoring-channel.conf.j2 b/xos/synchronizer/templates/monitoring-channel.conf.j2
index eb937ac..fe025a4 100644
--- a/xos/synchronizer/templates/monitoring-channel.conf.j2
+++ b/xos/synchronizer/templates/monitoring-channel.conf.j2
@@ -1,3 +1,21 @@
+
+{#
+Copyright 2017-present Open Networking Foundation
+
+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.
+#}
+
+
 # Upstart script for Monitoring channel
 description "Upstart script for Monitoring channel container"
 author "andy@onlab.us"
diff --git a/xos/synchronizer/templates/sflow_pub_sub/sflow_pub_sub_config.j2 b/xos/synchronizer/templates/sflow_pub_sub/sflow_pub_sub_config.j2
index 1c5c88c..249c238 100644
--- a/xos/synchronizer/templates/sflow_pub_sub/sflow_pub_sub_config.j2
+++ b/xos/synchronizer/templates/sflow_pub_sub/sflow_pub_sub_config.j2
@@ -1,3 +1,21 @@
+
+{#
+Copyright 2017-present Open Networking Foundation
+
+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.
+#}
+
+
 # This file autogenerated by sflow service synchronizer
 # It contains a list of attributes to be used by sflow service
 # syntax: key=value
diff --git a/xos/synchronizer/templates/sflow_pub_sub/sflow_pub_sub_main.py b/xos/synchronizer/templates/sflow_pub_sub/sflow_pub_sub_main.py
index 1276721..fe3de12 100644
--- a/xos/synchronizer/templates/sflow_pub_sub/sflow_pub_sub_main.py
+++ b/xos/synchronizer/templates/sflow_pub_sub/sflow_pub_sub_main.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #!/usr/bin/python
 import socket,thread
 import sys
diff --git a/xos/synchronizer/templates/sflow_pub_sub/sflow_sub_records.py b/xos/synchronizer/templates/sflow_pub_sub/sflow_sub_records.py
index f8b0038..fb51097 100644
--- a/xos/synchronizer/templates/sflow_pub_sub/sflow_sub_records.py
+++ b/xos/synchronizer/templates/sflow_pub_sub/sflow_sub_records.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #!/usr/bin/python
 import fnmatch
 import logging
diff --git a/xos/synchronizer/templates/start-monitoring-channel.sh.j2 b/xos/synchronizer/templates/start-monitoring-channel.sh.j2
index 4486985..a99fa69 100755
--- a/xos/synchronizer/templates/start-monitoring-channel.sh.j2
+++ b/xos/synchronizer/templates/start-monitoring-channel.sh.j2
@@ -1,3 +1,21 @@
+
+{#
+Copyright 2017-present Open Networking Foundation
+
+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.
+#}
+
+
 #!/bin/bash
 
 function mac_to_iface {
diff --git a/xos/synchronizer/templates/udpagent.conf.j2 b/xos/synchronizer/templates/udpagent.conf.j2
index fe9cab6..14bff5e 100644
--- a/xos/synchronizer/templates/udpagent.conf.j2
+++ b/xos/synchronizer/templates/udpagent.conf.j2
@@ -1,3 +1,21 @@
+
+{#
+Copyright 2017-present Open Networking Foundation
+
+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.
+#}
+
+
 [udpservice]
 udp_address = {{ listen_ip_addr }}
 udp_port = 4455
diff --git a/xos/synchronizer/templates/update-keystone-endpoints.py.j2 b/xos/synchronizer/templates/update-keystone-endpoints.py.j2
index 212be70..e324f6c 100755
--- a/xos/synchronizer/templates/update-keystone-endpoints.py.j2
+++ b/xos/synchronizer/templates/update-keystone-endpoints.py.j2
@@ -1,3 +1,21 @@
+
+{#
+Copyright 2017-present Open Networking Foundation
+
+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.
+#}
+
+
 #!/usr/bin/python
 
 """
diff --git a/xos/templates/ceilometeradmin.html b/xos/templates/ceilometeradmin.html
index 24e1072..c2fab2f 100644
--- a/xos/templates/ceilometeradmin.html
+++ b/xos/templates/ceilometeradmin.html
@@ -1,3 +1,21 @@
+
+<!--
+Copyright 2017-present Open Networking Foundation
+
+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.
+-->
+
+
 <div class = "row text-center">
     <div class="col-xs-12">
         <a class="btn btn-primary" href="/admin/monitoring/monitoringchannel/">Monitoring Channels</a>
diff --git a/xos/templates/sflowadmin.html b/xos/templates/sflowadmin.html
index 4dbd023..a0af7b8 100644
--- a/xos/templates/sflowadmin.html
+++ b/xos/templates/sflowadmin.html
@@ -1,3 +1,21 @@
+
+<!--
+Copyright 2017-present Open Networking Foundation
+
+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.
+-->
+
+
 <div class = "row text-center">
     <div class="col-xs-12">
         <a class="btn btn-primary" href="/admin/monitoring/sflowtenant/">sFlow Tenants</a>
diff --git a/xos/test/deploy_auto_scale_app.yaml b/xos/test/deploy_auto_scale_app.yaml
index 53258fd..3e13476 100644
--- a/xos/test/deploy_auto_scale_app.yaml
+++ b/xos/test/deploy_auto_scale_app.yaml
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 ---
 - hosts: "{{ hosts }}"
 
diff --git a/xos/test/kill-mon.py b/xos/test/kill-mon.py
index 0287ac8..44d631e 100644
--- a/xos/test/kill-mon.py
+++ b/xos/test/kill-mon.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 import os
 import sys
 sys.path.append("/opt/xos")
diff --git a/xos/test/monitoring_in_loop.sh b/xos/test/monitoring_in_loop.sh
index d35e545..3b491fc 100755
--- a/xos/test/monitoring_in_loop.sh
+++ b/xos/test/monitoring_in_loop.sh
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 while [[ 1 ]]; do
     make cord-monitoringservice
     if [[ $? -ne 0 ]]; then
diff --git a/xos/test/monitoring_test_exampleservicemetrics.yaml b/xos/test/monitoring_test_exampleservicemetrics.yaml
index ee7fed1..ae582fb 100644
--- a/xos/test/monitoring_test_exampleservicemetrics.yaml
+++ b/xos/test/monitoring_test_exampleservicemetrics.yaml
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 ---
 - hosts: localhost
 
diff --git a/xos/test/monitoring_test_inframetrics.yaml b/xos/test/monitoring_test_inframetrics.yaml
index e142c8d..4be391c 100644
--- a/xos/test/monitoring_test_inframetrics.yaml
+++ b/xos/test/monitoring_test_inframetrics.yaml
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 ---
 - hosts: localhost
 
diff --git a/xos/test/monitoring_test_initial.yaml b/xos/test/monitoring_test_initial.yaml
index fa73d5d..43cdcb9 100644
--- a/xos/test/monitoring_test_initial.yaml
+++ b/xos/test/monitoring_test_initial.yaml
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 ---
 - hosts: localhost
 
diff --git a/xos/test/monitoring_test_vsgmetrics.yaml b/xos/test/monitoring_test_vsgmetrics.yaml
index 2b7ee9e..4ca4385 100644
--- a/xos/test/monitoring_test_vsgmetrics.yaml
+++ b/xos/test/monitoring_test_vsgmetrics.yaml
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 ---
 - hosts: localhost
 
diff --git a/xos/test/monitoringservice_analytics.yaml b/xos/test/monitoringservice_analytics.yaml
index 627c1be..08217af 100644
--- a/xos/test/monitoringservice_analytics.yaml
+++ b/xos/test/monitoringservice_analytics.yaml
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 tosca_definitions_version: tosca_simple_yaml_1_0
 
 description: Setup Slice for analytics applications.
diff --git a/xos/test/roles/common/tasks/main.yml b/xos/test/roles/common/tasks/main.yml
index 6a9bbe6..4fd2b69 100644
--- a/xos/test/roles/common/tasks/main.yml
+++ b/xos/test/roles/common/tasks/main.yml
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 ---
 - name: Validate Monitoring service is ready
   uri:
diff --git a/xos/test/roles/test-exampleservicemonitoring/tasks/main.yml b/xos/test/roles/test-exampleservicemonitoring/tasks/main.yml
index 8660b93..cd49d98 100644
--- a/xos/test/roles/test-exampleservicemonitoring/tasks/main.yml
+++ b/xos/test/roles/test-exampleservicemonitoring/tasks/main.yml
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 ---
 - name: Validate Monitoring URL is completely UP and metrics contain vSG related metrics
   uri:
diff --git a/xos/test/roles/test-inframonitoring/tasks/main.yml b/xos/test/roles/test-inframonitoring/tasks/main.yml
index 0da4bf0..b21d12e 100644
--- a/xos/test/roles/test-inframonitoring/tasks/main.yml
+++ b/xos/test/roles/test-inframonitoring/tasks/main.yml
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 ---
 - name: Validate Monitoring URL is completely UP and valid metrics are returned
   uri:
diff --git a/xos/test/roles/test-initial/tasks/main.yml b/xos/test/roles/test-initial/tasks/main.yml
index 63dbe5f..040be0d 100644
--- a/xos/test/roles/test-initial/tasks/main.yml
+++ b/xos/test/roles/test-initial/tasks/main.yml
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 ---
 - name: Validate Monitoring URL is completely UP
   uri:
diff --git a/xos/test/roles/test-vsgmonitoring/tasks/main.yml b/xos/test/roles/test-vsgmonitoring/tasks/main.yml
index 38af4bb..6794b1a 100644
--- a/xos/test/roles/test-vsgmonitoring/tasks/main.yml
+++ b/xos/test/roles/test-vsgmonitoring/tasks/main.yml
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 ---
 - name: Validate Monitoring URL is completely UP and metrics contain vSG related metrics
   uri:
diff --git a/xos/test/service_for_scale.yaml b/xos/test/service_for_scale.yaml
index 4d5a6c8..8070d82 100644
--- a/xos/test/service_for_scale.yaml
+++ b/xos/test/service_for_scale.yaml
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 tosca_definitions_version: tosca_simple_yaml_1_0
 
 description: Setup example service/slice to demonstrate auto-scaling for that service/slice.
diff --git a/xos/test/vars/defaults.yml b/xos/test/vars/defaults.yml
index c04bd65..2d21168 100644
--- a/xos/test/vars/defaults.yml
+++ b/xos/test/vars/defaults.yml
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 ---
 auth:
   user: padmin@vicci.org
diff --git a/xos/tosca/resources/ceilometerservice.py b/xos/tosca/resources/ceilometerservice.py
index 18ae1d3..e9f945c 100644
--- a/xos/tosca/resources/ceilometerservice.py
+++ b/xos/tosca/resources/ceilometerservice.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 from service import XOSService
 from core.models import ServiceAttribute
 from services.monitoring.models import CeilometerService
diff --git a/xos/tosca/resources/ceilometertenant.py b/xos/tosca/resources/ceilometertenant.py
index 79bae2c..6c5594b 100644
--- a/xos/tosca/resources/ceilometertenant.py
+++ b/xos/tosca/resources/ceilometertenant.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 from xosresource import XOSResource
 from services.monitoring.models import MonitoringChannel, CeilometerService
 
diff --git a/xos/tosca/resources/inframonitoringagentinfo.py b/xos/tosca/resources/inframonitoringagentinfo.py
index 36748ba..979b25e 100644
--- a/xos/tosca/resources/inframonitoringagentinfo.py
+++ b/xos/tosca/resources/inframonitoringagentinfo.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 from xosresource import XOSResource
 from services.monitoring.models import InfraMonitoringAgentInfo
 
diff --git a/xos/tosca/resources/monitoringcollectorplugininfo.py b/xos/tosca/resources/monitoringcollectorplugininfo.py
index 1d7f88f..668d0db 100644
--- a/xos/tosca/resources/monitoringcollectorplugininfo.py
+++ b/xos/tosca/resources/monitoringcollectorplugininfo.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 from xosresource import XOSResource
 from services.monitoring.models import MonitoringCollectorPluginInfo
 
diff --git a/xos/tosca/resources/onosmonitoringpublisher.py b/xos/tosca/resources/onosmonitoringpublisher.py
index a38b556..5b37ede 100644
--- a/xos/tosca/resources/onosmonitoringpublisher.py
+++ b/xos/tosca/resources/onosmonitoringpublisher.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 from xosresource import XOSResource
 from core.models import Tenant, Service
 from services.monitoring.models import ONOSServiceMonitoringPublisher, CeilometerService, InfraMonitoringAgentInfo, MonitoringCollectorPluginInfo
diff --git a/xos/tosca/resources/openstackmonitoringpublisher.py b/xos/tosca/resources/openstackmonitoringpublisher.py
index 1b30555..9c6429e 100644
--- a/xos/tosca/resources/openstackmonitoringpublisher.py
+++ b/xos/tosca/resources/openstackmonitoringpublisher.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 from xosresource import XOSResource
 from core.models import Tenant, Service
 from services.monitoring.models import OpenStackServiceMonitoringPublisher, CeilometerService, InfraMonitoringAgentInfo, MonitoringCollectorPluginInfo
diff --git a/xos/tosca/resources/sflowservice.py b/xos/tosca/resources/sflowservice.py
index dd4497f..e291c6d 100644
--- a/xos/tosca/resources/sflowservice.py
+++ b/xos/tosca/resources/sflowservice.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 from service import XOSService
 from core.models import ServiceAttribute
 from services.monitoring.models import SFlowService
diff --git a/xos/tosca/resources/userservicemonitoringpublisher.py b/xos/tosca/resources/userservicemonitoringpublisher.py
index efac81d..f5bf8c2 100644
--- a/xos/tosca/resources/userservicemonitoringpublisher.py
+++ b/xos/tosca/resources/userservicemonitoringpublisher.py
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 from xosresource import XOSResource
 from core.models import Tenant, Service
 from services.monitoring.models import UserServiceMonitoringPublisher, CeilometerService, InfraMonitoringAgentInfo, MonitoringCollectorPluginInfo
