diff --git a/.gitignore b/.gitignore index 1278b29..0f2825b 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ bin *.sw[nop] .idea *.pyc +.unit-state.db diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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/actions/__init__.py b/actions/__init__.py index ff2381c..b7fe4e1 100644 --- a/actions/__init__.py +++ b/actions/__init__.py @@ -1,3 +1,16 @@ -__author__ = 'chris' +# Copyright 2016 Canonical Ltd +# +# 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 sys sys.path.append('hooks') diff --git a/actions/ceph_ops.py b/actions/ceph_ops.py index e70ebc7..c4df90f 100755 --- a/actions/ceph_ops.py +++ b/actions/ceph_ops.py @@ -1,4 +1,17 @@ -__author__ = 'chris' +# Copyright 2016 Canonical Ltd +# +# 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 subprocess import CalledProcessError, check_output import sys diff --git a/actions/pause_resume.py b/actions/pause_resume.py index 68149f3..22e7849 100755 --- a/actions/pause_resume.py +++ b/actions/pause_resume.py @@ -1,4 +1,19 @@ #!/usr/bin/python +# +# Copyright 2016 Canonical Ltd +# +# 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. +# # pause/resume actions file. import os diff --git a/copyright b/copyright index bdfae0e..c801b14 100644 --- a/copyright +++ b/copyright @@ -1,15 +1,16 @@ Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0 -Comment: The licensing of this charm is aligned to upstream ceph - as the ceph upstart integration is distributed as part of the charm. Files: * Copyright: 2012, Canonical Ltd. -License: LGPL-2.1 +License: Apache-2.0 + 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 -Files: files/upstart/* -Copyright: 2004-2010 by Sage Weil -License: LGPL-2.1 + http://www.apache.org/licenses/LICENSE-2.0 -License: LGPL-2.1 - On Debian GNU/Linux system you can find the complete text of the - LGPL-2.1 license in '/usr/share/common-licenses/LGPL-2.1' + 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/files/upstart/ceph-create-keys.conf b/files/upstart/ceph-create-keys.conf deleted file mode 100644 index 6fb4581..0000000 --- a/files/upstart/ceph-create-keys.conf +++ /dev/null @@ -1,8 +0,0 @@ -description "Create Ceph client.admin key when possible" - -start on started ceph-mon -stop on runlevel [!2345] - -task - -exec /usr/sbin/ceph-create-keys --cluster="${cluster:-ceph}" -i "${id:-$(hostname)}" diff --git a/files/upstart/ceph-hotplug.conf b/files/upstart/ceph-hotplug.conf deleted file mode 100644 index d82e7c8..0000000 --- a/files/upstart/ceph-hotplug.conf +++ /dev/null @@ -1,11 +0,0 @@ -description "Ceph hotplug" - -start on block-device-added \ - DEVTYPE=partition \ - ID_PART_ENTRY_TYPE=4fbd7e29-9d25-41b8-afd0-062c0ceff05d -stop on runlevel [!2345] - -task -instance $DEVNAME - -exec /usr/sbin/ceph-disk activate --mount -- "$DEVNAME" diff --git a/files/upstart/ceph-mon-all-starter.conf b/files/upstart/ceph-mon-all-starter.conf deleted file mode 100644 index f7188cb..0000000 --- a/files/upstart/ceph-mon-all-starter.conf +++ /dev/null @@ -1,20 +0,0 @@ -description "Ceph MON (start all instances)" - -start on starting ceph-mon-all -stop on runlevel [!2345] - -task - -script - set -e - # TODO what's the valid charset for cluster names and mon ids? - find /var/lib/ceph/mon/ -mindepth 1 -maxdepth 1 -regextype posix-egrep -regex '.*/[a-z0-9]+-[a-z0-9._-]+' -printf '%P\n' \ - | while read f; do - if [ -e "/var/lib/ceph/mon/$f/done" ]; then - cluster="${f%%-*}" - id="${f#*-}" - - initctl emit ceph-mon cluster="$cluster" id="$id" - fi - done -end script diff --git a/files/upstart/ceph-mon-all.conf b/files/upstart/ceph-mon-all.conf deleted file mode 100644 index 006f2f2..0000000 --- a/files/upstart/ceph-mon-all.conf +++ /dev/null @@ -1,4 +0,0 @@ -description "Ceph monitor (all instances)" - -start on (local-filesystems and net-device-up IFACE!=lo) -stop on runlevel [!2345] diff --git a/files/upstart/ceph-mon.conf b/files/upstart/ceph-mon.conf deleted file mode 100644 index 2cf7bfa..0000000 --- a/files/upstart/ceph-mon.conf +++ /dev/null @@ -1,24 +0,0 @@ -description "Ceph MON" - -start on ceph-mon -stop on runlevel [!2345] or stopping ceph-mon-all - -respawn -respawn limit 5 30 - -pre-start script - set -e - test -x /usr/bin/ceph-mon || { stop; exit 0; } - test -d "/var/lib/ceph/mon/${cluster:-ceph}-$id" || { stop; exit 0; } - - install -d -m0755 /var/run/ceph -end script - -instance ${cluster:-ceph}/$id -export cluster -export id - -# this breaks oneiric -#usage "cluster = name of cluster (defaults to 'ceph'); id = monitor instance id" - -exec /usr/bin/ceph-mon --cluster="${cluster:-ceph}" -i "$id" -f diff --git a/files/upstart/ceph-osd.conf b/files/upstart/ceph-osd.conf deleted file mode 100644 index 119ad00..0000000 --- a/files/upstart/ceph-osd.conf +++ /dev/null @@ -1,37 +0,0 @@ -description "Ceph OSD" - -start on ceph-osd -stop on runlevel [!2345] - -respawn -respawn limit 5 30 - -pre-start script - set -e - test -x /usr/bin/ceph-osd || { stop; exit 0; } - test -d "/var/lib/ceph/osd/${cluster:-ceph}-$id" || { stop; exit 0; } - - install -d -m0755 /var/run/ceph - - # update location in crush; put in some suitable defaults on the - # command line, ceph.conf can override what it wants - location="$(ceph-conf --cluster="${cluster:-ceph}" --name="osd.$id" --lookup osd_crush_location || :)" - weight="$(ceph-conf --cluster="$cluster" --name="osd.$id" --lookup osd_crush_weight || :)" - ceph \ - --cluster="${cluster:-ceph}" \ - --name="osd.$id" \ - --keyring="/var/lib/ceph/osd/${cluster:-ceph}-$id/keyring" \ - osd crush set \ - -- \ - "$id" "osd.$id" "${weight:-1}" \ - pool=default \ - host="$(hostname -s)" \ - $location \ - || : -end script - -instance ${cluster:-ceph}/$id -export cluster -export id - -exec /usr/bin/ceph-osd --cluster="${cluster:-ceph}" -i "$id" -f diff --git a/hooks/__init__.py b/hooks/__init__.py index e69de29..9b088de 100644 --- a/hooks/__init__.py +++ b/hooks/__init__.py @@ -0,0 +1,13 @@ +# Copyright 2016 Canonical Ltd +# +# 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/hooks/ceph.py b/hooks/ceph.py index 35d58b1..533aab3 100644 --- a/hooks/ceph.py +++ b/hooks/ceph.py @@ -1,10 +1,17 @@ +# Copyright 2016 Canonical Ltd # -# Copyright 2012 Canonical Ltd. +# 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 # -# Authors: -# James Page -# Paul Collins +# 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 json import subprocess import time diff --git a/hooks/ceph_broker.py b/hooks/ceph_broker.py index 329da8a..adaa467 100644 --- a/hooks/ceph_broker.py +++ b/hooks/ceph_broker.py @@ -1,7 +1,19 @@ #!/usr/bin/python # -# Copyright 2015 Canonical Ltd. +# Copyright 2016 Canonical Ltd # +# 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 json from charmhelpers.core.hookenv import ( diff --git a/hooks/ceph_hooks.py b/hooks/ceph_hooks.py index 3b4554f..59ded80 100755 --- a/hooks/ceph_hooks.py +++ b/hooks/ceph_hooks.py @@ -1,17 +1,21 @@ #!/usr/bin/python +# +# Copyright 2016 Canonical Ltd +# +# 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 Canonical Ltd. -# -# Authors: -# Paul Collins -# James Page -# - -import glob import os import random -import shutil import socket import subprocess import sys @@ -269,13 +273,6 @@ def upgrade_monitor(): sys.exit(1) -def install_upstart_scripts(): - # Only install upstart configurations for older versions - if cmp_pkgrevno('ceph', "0.55.1") < 0: - for x in glob.glob('files/upstart/*.conf'): - shutil.copy(x, '/etc/init/') - - @hooks.hook('install.real') @harden() def install(): @@ -283,7 +280,6 @@ def install(): add_source(config('source'), config('key')) apt_update(fatal=True) apt_install(packages=ceph.PACKAGES, fatal=True) - install_upstart_scripts() def use_short_objects(): @@ -648,7 +644,6 @@ def client_relation_changed(): def upgrade_charm(): emit_cephconf() apt_install(packages=filter_installed_packages(ceph.PACKAGES), fatal=True) - install_upstart_scripts() ceph.update_monfs() upgrade_keys() mon_relation_joined() diff --git a/hooks/utils.py b/hooks/utils.py index 581d580..c59647d 100644 --- a/hooks/utils.py +++ b/hooks/utils.py @@ -1,11 +1,16 @@ - +# Copyright 2016 Canonical Ltd # -# Copyright 2012 Canonical Ltd. +# 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 # -# Authors: -# James Page -# Paul Collins +# 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 re diff --git a/tests/014-basic-precise-icehouse b/tests/014-basic-precise-icehouse index 020cd75..5957305 100755 --- a/tests/014-basic-precise-icehouse +++ b/tests/014-basic-precise-icehouse @@ -1,4 +1,18 @@ #!/usr/bin/python +# +# Copyright 2016 Canonical Ltd +# +# 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. """Amulet tests on a basic ceph deployment on precise-icehouse.""" diff --git a/tests/015-basic-trusty-icehouse b/tests/015-basic-trusty-icehouse index f67fea9..a8639fe 100755 --- a/tests/015-basic-trusty-icehouse +++ b/tests/015-basic-trusty-icehouse @@ -1,4 +1,18 @@ #!/usr/bin/python +# +# Copyright 2016 Canonical Ltd +# +# 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. """Amulet tests on a basic ceph deployment on trusty-icehouse.""" diff --git a/tests/016-basic-trusty-juno b/tests/016-basic-trusty-juno index 28c7684..54f3670 100755 --- a/tests/016-basic-trusty-juno +++ b/tests/016-basic-trusty-juno @@ -1,4 +1,18 @@ #!/usr/bin/python +# +# Copyright 2016 Canonical Ltd +# +# 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. """Amulet tests on a basic ceph deployment on trusty-juno.""" diff --git a/tests/017-basic-trusty-kilo b/tests/017-basic-trusty-kilo index 0a787b2..c331559 100755 --- a/tests/017-basic-trusty-kilo +++ b/tests/017-basic-trusty-kilo @@ -1,4 +1,18 @@ #!/usr/bin/python +# +# Copyright 2016 Canonical Ltd +# +# 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. """Amulet tests on a basic ceph deployment on trusty-kilo.""" diff --git a/tests/018-basic-trusty-liberty b/tests/018-basic-trusty-liberty index f339371..d654265 100755 --- a/tests/018-basic-trusty-liberty +++ b/tests/018-basic-trusty-liberty @@ -1,4 +1,18 @@ #!/usr/bin/python +# +# Copyright 2016 Canonical Ltd +# +# 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. """Amulet tests on a basic ceph deployment on trusty-liberty.""" diff --git a/tests/019-basic-trusty-mitaka b/tests/019-basic-trusty-mitaka index 2eca19d..e18197b 100755 --- a/tests/019-basic-trusty-mitaka +++ b/tests/019-basic-trusty-mitaka @@ -1,4 +1,18 @@ #!/usr/bin/python +# +# Copyright 2016 Canonical Ltd +# +# 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. """Amulet tests on a basic ceph deployment on trusty-mitaka.""" diff --git a/tests/020-basic-wily-liberty b/tests/020-basic-wily-liberty index b0d8096..fd4ebc2 100755 --- a/tests/020-basic-wily-liberty +++ b/tests/020-basic-wily-liberty @@ -1,4 +1,18 @@ #!/usr/bin/python +# +# Copyright 2016 Canonical Ltd +# +# 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. """Amulet tests on a basic ceph deployment on wily-liberty.""" diff --git a/tests/021-basic-xenial-mitaka b/tests/021-basic-xenial-mitaka index ae3d335..8d93f7b 100755 --- a/tests/021-basic-xenial-mitaka +++ b/tests/021-basic-xenial-mitaka @@ -1,4 +1,18 @@ #!/usr/bin/python +# +# Copyright 2016 Canonical Ltd +# +# 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. """Amulet tests on a basic ceph deployment on xenial-mitaka.""" diff --git a/tests/basic_deployment.py b/tests/basic_deployment.py index 28ce728..70c1ebf 100644 --- a/tests/basic_deployment.py +++ b/tests/basic_deployment.py @@ -1,4 +1,18 @@ #!/usr/bin/python +# +# Copyright 2016 Canonical Ltd +# +# 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 amulet import time diff --git a/unit_tests/__init__.py b/unit_tests/__init__.py index 466d778..d7a4ace 100644 --- a/unit_tests/__init__.py +++ b/unit_tests/__init__.py @@ -1,3 +1,17 @@ +# Copyright 2016 Canonical Ltd +# +# 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 sys sys.path.append('hooks') sys.path.append('actions') diff --git a/unit_tests/test_actions_pause_resume.py b/unit_tests/test_actions_pause_resume.py index f208f0e..e4b3357 100644 --- a/unit_tests/test_actions_pause_resume.py +++ b/unit_tests/test_actions_pause_resume.py @@ -1,3 +1,17 @@ +# Copyright 2016 Canonical Ltd +# +# 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 mock import sys diff --git a/unit_tests/test_ceph_broker.py b/unit_tests/test_ceph_broker.py index b720d94..38153d2 100644 --- a/unit_tests/test_ceph_broker.py +++ b/unit_tests/test_ceph_broker.py @@ -1,3 +1,17 @@ +# Copyright 2016 Canonical Ltd +# +# 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 json import unittest diff --git a/unit_tests/test_ceph_hooks.py b/unit_tests/test_ceph_hooks.py index a71045a..7406ced 100644 --- a/unit_tests/test_ceph_hooks.py +++ b/unit_tests/test_ceph_hooks.py @@ -1,3 +1,17 @@ +# Copyright 2016 Canonical Ltd +# +# 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 copy import unittest diff --git a/unit_tests/test_ceph_networking.py b/unit_tests/test_ceph_networking.py index ae3a7ff..168e82f 100644 --- a/unit_tests/test_ceph_networking.py +++ b/unit_tests/test_ceph_networking.py @@ -1,3 +1,17 @@ +# Copyright 2016 Canonical Ltd +# +# 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 test_utils import charmhelpers.core.hookenv as hookenv import utils as ceph_utils diff --git a/unit_tests/test_ceph_ops.py b/unit_tests/test_ceph_ops.py index fba8176..4a6713c 100644 --- a/unit_tests/test_ceph_ops.py +++ b/unit_tests/test_ceph_ops.py @@ -1,4 +1,16 @@ -__author__ = 'chris' +# Copyright 2016 Canonical Ltd +# +# 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 json import unittest diff --git a/unit_tests/test_config.py b/unit_tests/test_config.py index 9a2aadb..b31a6fa 100644 --- a/unit_tests/test_config.py +++ b/unit_tests/test_config.py @@ -1,3 +1,17 @@ +# Copyright 2016 Canonical Ltd +# +# 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 shutil import sys diff --git a/unit_tests/test_status.py b/unit_tests/test_status.py index 46cc017..784d569 100644 --- a/unit_tests/test_status.py +++ b/unit_tests/test_status.py @@ -1,3 +1,17 @@ +# Copyright 2016 Canonical Ltd +# +# 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 mock import test_utils diff --git a/unit_tests/test_upgrade_roll.py b/unit_tests/test_upgrade_roll.py index dd0ae23..9ad6b96 100644 --- a/unit_tests/test_upgrade_roll.py +++ b/unit_tests/test_upgrade_roll.py @@ -1,4 +1,17 @@ -__author__ = 'chris' +# Copyright 2016 Canonical Ltd +# +# 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 time from mock import patch, call, MagicMock diff --git a/unit_tests/test_utils.py b/unit_tests/test_utils.py index 663a048..97d3ee8 100644 --- a/unit_tests/test_utils.py +++ b/unit_tests/test_utils.py @@ -1,3 +1,17 @@ +# Copyright 2016 Canonical Ltd +# +# 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 unittest import os