diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7cce7e64..9396c877 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,3 +1,19 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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: CI on: diff --git a/.gitignore b/.gitignore index c74ccda7..e4310c2f 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ ccm.egg-info/ dse_creds.txt .eggs/ junit.xml +/nbproject/ diff --git a/NOTICE b/NOTICE new file mode 100644 index 00000000..be6080c3 --- /dev/null +++ b/NOTICE @@ -0,0 +1,61 @@ +Apache Cassandra Cluster Manager +Copyright 2024 The Apache Software Foundation + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). + + +This product originates, before git sha +cc8cb98b29f68d12c8b5fa093a33dc3b346873b3, from software from DataStax +and other individual contributors. + +Non-DataStax contributors are listed below. Those marked with +asterisk have agreed to donate (copyright assign) their contributions to the +Apache Software Foundation, signing CLAs when appropriate. + +Kishan Karunaratne +Lucas Meneghel @lmr +Joaquin Casares @joaquincasares +Andrew Hust @nutbunnies +Jaume Marhuenda +Daniel Compton * +??? @steveandwang +Byron Clark * +Thibault Charbonnier @thibaultcha +Greg Bestland @GregBestland +??? @c-kodman +Sandeep Tamhankar @stamhankar999 +Tomek Bujok @tombujok +Pekka Enberg +Brian Weck @bweck +Dimitri Krassovski * +??? @nattochaduke-yahoo +??? @pydeveloper94 +Geet Kumar @gkumar7 +??? @scharron +Eric Stevens @MightyE * +Rui Chen +??? @ezacks-barracuda +Tetsuya Morimoto @t2y +Casey Marshall @csmlyve +??? @jillichrome +??? @ekooiker * +Chris Bargren +Xian Yi Teng +Stefano Ortolani @ostefano * +Cormoran +??? @hatokani2 +??? @jeremycnf +Samuel Roberts @sproberts92 +Alexei Maridashvili * +Michael Hamm * +Lerh Low @juiceblender +Peter Palaga * +Hannu Kröger @hkroger * +Jacob Fenwick +Ulises Cervino Beresi * +Jack Kingsman @jkingsman * +Yasuharu Goto +David Sauer +Nick Bailey * +Alex Popescu @al3xandru diff --git a/README-CASSANDRA-17379.md.md b/README-CASSANDRA-17379.md.md new file mode 100644 index 00000000..604d4938 --- /dev/null +++ b/README-CASSANDRA-17379.md.md @@ -0,0 +1,34 @@ +CCM (Cassandra Cluster Manager) +CASSANDRA-17379 README +==================================================== + + +----  +  + + +WARNING - CCM configuration changes using updateconf does not happen according to CASSANDRA-17379 +------------------------------------------------------------------------------------------------- + +After CASSANDRA-15234, to support the Python upgrade tests CCM updateconf is replacing +new key name and value in case the old key name and value is provided. +For example, if you add to config `permissions_validity_in_ms`, it will replace +`permissions_validity` in default cassandra.yaml +This was needed to ensure correct overloading as CCM cassandra.yaml has keys +sorted lexicographically. CASSANDRA-17379 was opened to improve the user experience +and deprecate the overloading of parameters in cassandra.yaml. In CASSANDRA 4.1+, by default, +we refuse starting Cassandra with a config containing both old and new config keys for the +same parameter. Start Cassandra with `-Dcassandra.allow_new_old_config_keys=true` to override. +For historical reasons duplicate config keys in cassandra.yaml are allowed by default, start +Cassandra with `-Dcassandra.allow_duplicate_config_keys=false` to disallow this. Please note +that key_cache_save_period, row_cache_save_period, counter_cache_save_period will be affected +only by `-Dcassandra.allow_duplicate_config_keys`. Ticket CASSANDRA-17949 was opened to decide +the future of CCM updateconf post CASSANDRA-17379, until then - bear in mind that old replace +new parameters' in cassandra.yaml when using updateconf even if +`-Dcassandra.allow_new_old_config_keys=false` is set by default. + +TLDR Do not exercise overloading of parameters in CCM if possible. Also, the mentioned changes +are done only in master branch. Probably the best way to handle cassandra 4.1 in CCM at this +point is to set `-Dcassandra.allow_new_old_config_keys=false` and +`-Dcassandra.allow_duplicate_config_keys=false` +to prohibit any kind of overloading when using CCM master and CCM released versions diff --git a/README.md b/README.md index e75d7d95..2340e74f 100644 --- a/README.md +++ b/README.md @@ -1,35 +1,6 @@ CCM (Cassandra Cluster Manager) ==================================================== -WARNING - CCM configuration changes using updateconf does not happen according to CASSANDRA-17379 -------------------------------------------------------------------------------------------------- - -After CASSANDRA-15234, to support the Python upgrade tests CCM updateconf is replacing -new key name and value in case the old key name and value is provided. -For example, if you add to config `permissions_validity_in_ms`, it will replace -`permissions_validity` in default cassandra.yaml -This was needed to ensure correct overloading as CCM cassandra.yaml has keys -sorted lexicographically. CASSANDRA-17379 was opened to improve the user experience -and deprecate the overloading of parameters in cassandra.yaml. In CASSANDRA 4.1+, by default, -we refuse starting Cassandra with a config containing both old and new config keys for the -same parameter. Start Cassandra with `-Dcassandra.allow_new_old_config_keys=true` to override. -For historical reasons duplicate config keys in cassandra.yaml are allowed by default, start -Cassandra with `-Dcassandra.allow_duplicate_config_keys=false` to disallow this. Please note -that key_cache_save_period, row_cache_save_period, counter_cache_save_period will be affected -only by `-Dcassandra.allow_duplicate_config_keys`. Ticket CASSANDRA-17949 was opened to decide -the future of CCM updateconf post CASSANDRA-17379, until then - bear in mind that old replace -new parameters' in cassandra.yaml when using updateconf even if -`-Dcassandra.allow_new_old_config_keys=false` is set by default. - -TLDR Do not exercise overloading of parameters in CCM if possible. Also, the mentioned changes -are done only in master branch. Probably the best way to handle cassandra 4.1 in CCM at this -point is to set `-Dcassandra.allow_new_old_config_keys=false` and -`-Dcassandra.allow_duplicate_config_keys=false` -to prohibit any kind of overloading when using CCM master and CCM released versions - - -CCM (Cassandra Cluster Manager) -==================================================== A script/library to create, launch and remove an Apache Cassandra cluster on localhost. @@ -391,6 +362,3 @@ how to use ccmlib follows: # after the test, you can leave the cluster running, you can stop all nodes # using cluster.stop() but keep the data around (in CLUSTER_PATH/test), or # you can remove everything with cluster.remove() - --- -Sylvain Lebresne diff --git a/ccmlib/__init__.py b/ccmlib/__init__.py index e69de29b..9a9e2094 100644 --- a/ccmlib/__init__.py +++ b/ccmlib/__init__.py @@ -0,0 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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/ccmlib/cluster.py b/ccmlib/cluster.py index bca53108..22cb6281 100644 --- a/ccmlib/cluster.py +++ b/ccmlib/cluster.py @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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. + + # ccm clusters from __future__ import absolute_import diff --git a/ccmlib/cluster_factory.py b/ccmlib/cluster_factory.py index 977e8585..ee53116e 100644 --- a/ccmlib/cluster_factory.py +++ b/ccmlib/cluster_factory.py @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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 __future__ import absolute_import diff --git a/ccmlib/cmds/__init__.py b/ccmlib/cmds/__init__.py index e69de29b..9a9e2094 100644 --- a/ccmlib/cmds/__init__.py +++ b/ccmlib/cmds/__init__.py @@ -0,0 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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/ccmlib/cmds/cluster_cmds.py b/ccmlib/cmds/cluster_cmds.py index 9579c582..86bae65f 100644 --- a/ccmlib/cmds/cluster_cmds.py +++ b/ccmlib/cmds/cluster_cmds.py @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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 __future__ import absolute_import diff --git a/ccmlib/cmds/command.py b/ccmlib/cmds/command.py index 8d507075..fe7e3af0 100644 --- a/ccmlib/cmds/command.py +++ b/ccmlib/cmds/command.py @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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 __future__ import absolute_import diff --git a/ccmlib/cmds/node_cmds.py b/ccmlib/cmds/node_cmds.py index c8f9cade..46efc3b8 100644 --- a/ccmlib/cmds/node_cmds.py +++ b/ccmlib/cmds/node_cmds.py @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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 __future__ import absolute_import diff --git a/ccmlib/common.py b/ccmlib/common.py index 33c3e6fa..320f42dc 100644 --- a/ccmlib/common.py +++ b/ccmlib/common.py @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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. + + # # Cassandra Cluster Management lib # diff --git a/ccmlib/dse_cluster.py b/ccmlib/dse_cluster.py index 23b3b52e..75ff7610 100644 --- a/ccmlib/dse_cluster.py +++ b/ccmlib/dse_cluster.py @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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. + + # ccm clusters from __future__ import absolute_import diff --git a/ccmlib/dse_node.py b/ccmlib/dse_node.py index 1b1dd7b9..b5634fa2 100644 --- a/ccmlib/dse_node.py +++ b/ccmlib/dse_node.py @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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. + + # ccm node from __future__ import absolute_import, with_statement diff --git a/ccmlib/extension.py b/ccmlib/extension.py index c8e94d84..259e0d84 100644 --- a/ccmlib/extension.py +++ b/ccmlib/extension.py @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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. + + PRE_CLUSTER_START_HOOKS = [] POST_CLUSTER_START_HOOKS = [] PRE_CLUSTER_STOP_HOOKS = [] diff --git a/ccmlib/node.py b/ccmlib/node.py index a2b1a766..1969d23b 100644 --- a/ccmlib/node.py +++ b/ccmlib/node.py @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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. + + # ccm node from __future__ import absolute_import, with_statement diff --git a/ccmlib/remote.py b/ccmlib/remote.py index e54a79f4..72d070bd 100644 --- a/ccmlib/remote.py +++ b/ccmlib/remote.py @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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. + + # # Remote execution helper functionality for executing CCM commands on a remote # machine with CCM installed diff --git a/ccmlib/repository.py b/ccmlib/repository.py index 81d7f299..a90ed28b 100644 --- a/ccmlib/repository.py +++ b/ccmlib/repository.py @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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. + + # downloaded sources handling from __future__ import absolute_import, division, with_statement diff --git a/misc/Vagrantfile b/misc/Vagrantfile index d63f87a7..5e852215 100644 --- a/misc/Vagrantfile +++ b/misc/Vagrantfile @@ -1,4 +1,20 @@ # -*- mode: ruby -*- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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. + # vi: set ft=ruby : # Configure defaults and/or allow to be overridden diff --git a/misc/ccm-completion.bash b/misc/ccm-completion.bash index 2bbfa91a..2f35c2df 100644 --- a/misc/ccm-completion.bash +++ b/misc/ccm-completion.bash @@ -1,3 +1,19 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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. +# ############################################################################## # ccm-completion.bash # diff --git a/misc/ccm-macos.bash b/misc/ccm-macos.bash index 4af94faf..650a9f0f 100755 --- a/misc/ccm-macos.bash +++ b/misc/ccm-macos.bash @@ -1,4 +1,19 @@ #!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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. CLUSTER_NAME=${CLUSTER_NAME:-test} NUM_NODES=${NUM_NODES:-3} diff --git a/requirements.txt b/requirements.txt index 01638980..a22ad062 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,19 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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. + pyYaml six >=1.4.1 psutil diff --git a/setup.py b/setup.py old mode 100755 new mode 100644 index d6c6d084..cff48b20 --- a/setup.py +++ b/setup.py @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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 from platform import system diff --git a/tests/__init__.py b/tests/__init__.py index 05a5414d..c34733f1 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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 diff --git a/tests/ccmtest.py b/tests/ccmtest.py index c63f50f4..40047f4e 100644 --- a/tests/ccmtest.py +++ b/tests/ccmtest.py @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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 from unittest import TestCase diff --git a/tests/conftest.py b/tests/conftest.py index c1a375fb..6afbfc9b 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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 pytest import shutil diff --git a/tests/requirements.txt b/tests/requirements.txt index 73b16c00..2a95d111 100644 --- a/tests/requirements.txt +++ b/tests/requirements.txt @@ -1,3 +1,19 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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. + mock==5.1.0 pytest==8.2.1 requests==2.32.2 diff --git a/tests/test_common.py b/tests/test_common.py index 063a1e7f..0ecf52fb 100644 --- a/tests/test_common.py +++ b/tests/test_common.py @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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 unittest from mock import patch diff --git a/tests/test_lib.py b/tests/test_lib.py index f7d2e41f..370b1a62 100644 --- a/tests/test_lib.py +++ b/tests/test_lib.py @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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 import tempfile