From 748cf13182b59d77a1be7e50e1524c39c7dd3349 Mon Sep 17 00:00:00 2001 From: Drago Rosson Date: Wed, 10 Aug 2016 16:20:31 +0000 Subject: [PATCH] Use symlinks for common template files This patch establishes a convention of using a symlink named "common" in drivers/{driver}/templates/ that points to drivers/common/templates/. This has two benefits. First, it lowers the burden of forking a driver by allowing drivers/common/templates/ to be copied over the symlink, rather than having to update all of the paths in the templates and driver code. Second, it shortens the paths used, which makes things cleaner. Change-Id: I9176ec03905d0a87a43ba6bedf1f768b2b316125 Partially-implements: blueprint bay-drivers --- magnum/drivers/k8s_coreos_v1/template_def.py | 4 ++-- magnum/drivers/k8s_coreos_v1/templates/common | 1 + magnum/drivers/k8s_fedora_atomic_v1/template_def.py | 4 ++-- magnum/drivers/k8s_fedora_atomic_v1/templates/common | 1 + .../k8s_fedora_atomic_v1/templates/kubemaster.yaml | 2 +- .../k8s_fedora_atomic_v1/templates/kubeminion.yaml | 4 ++-- magnum/drivers/mesos_ubuntu_v1/template_def.py | 4 ++-- magnum/drivers/mesos_ubuntu_v1/templates/common | 1 + magnum/drivers/swarm_fedora_atomic_v1/template_def.py | 4 ++-- magnum/drivers/swarm_fedora_atomic_v1/templates/common | 1 + .../swarm_fedora_atomic_v1/templates/swarmmaster.yaml | 2 +- .../swarm_fedora_atomic_v1/templates/swarmnode.yaml | 4 ++-- .../unit/conductor/handlers/test_k8s_bay_conductor.py | 10 +++++----- .../conductor/handlers/test_mesos_bay_conductor.py | 8 ++++---- .../conductor/handlers/test_swarm_bay_conductor.py | 10 +++++----- 15 files changed, 32 insertions(+), 28 deletions(-) create mode 120000 magnum/drivers/k8s_coreos_v1/templates/common create mode 120000 magnum/drivers/k8s_fedora_atomic_v1/templates/common create mode 120000 magnum/drivers/mesos_ubuntu_v1/templates/common create mode 120000 magnum/drivers/swarm_fedora_atomic_v1/templates/common diff --git a/magnum/drivers/k8s_coreos_v1/template_def.py b/magnum/drivers/k8s_coreos_v1/template_def.py index df2998d5d5..d381112463 100644 --- a/magnum/drivers/k8s_coreos_v1/template_def.py +++ b/magnum/drivers/k8s_coreos_v1/template_def.py @@ -129,9 +129,9 @@ class CoreOSK8sTemplateDefinition(K8sTemplateDefinition): def get_env_files(self, baymodel): if baymodel.master_lb_enabled: - return ['../../common/templates/environments/with_master_lb.yaml'] + return ['common/environments/with_master_lb.yaml'] else: - return ['../../common/templates/environments/no_master_lb.yaml'] + return ['common/environments/no_master_lb.yaml'] @property def template_path(self): diff --git a/magnum/drivers/k8s_coreos_v1/templates/common b/magnum/drivers/k8s_coreos_v1/templates/common new file mode 120000 index 0000000000..03eb261d79 --- /dev/null +++ b/magnum/drivers/k8s_coreos_v1/templates/common @@ -0,0 +1 @@ +../../common/templates \ No newline at end of file diff --git a/magnum/drivers/k8s_fedora_atomic_v1/template_def.py b/magnum/drivers/k8s_fedora_atomic_v1/template_def.py index ad30115aad..eb349cee15 100644 --- a/magnum/drivers/k8s_fedora_atomic_v1/template_def.py +++ b/magnum/drivers/k8s_fedora_atomic_v1/template_def.py @@ -150,9 +150,9 @@ class AtomicK8sTemplateDefinition(K8sTemplateDefinition): def get_env_files(self, baymodel): if baymodel.master_lb_enabled: - return ['../../common/templates/environments/with_master_lb.yaml'] + return ['common/environments/with_master_lb.yaml'] else: - return ['../../common/templates/environments/no_master_lb.yaml'] + return ['common/environments/no_master_lb.yaml'] @property def template_path(self): diff --git a/magnum/drivers/k8s_fedora_atomic_v1/templates/common b/magnum/drivers/k8s_fedora_atomic_v1/templates/common new file mode 120000 index 0000000000..03eb261d79 --- /dev/null +++ b/magnum/drivers/k8s_fedora_atomic_v1/templates/common @@ -0,0 +1 @@ +../../common/templates \ No newline at end of file diff --git a/magnum/drivers/k8s_fedora_atomic_v1/templates/kubemaster.yaml b/magnum/drivers/k8s_fedora_atomic_v1/templates/kubemaster.yaml index eba16d4f39..6f64f96220 100644 --- a/magnum/drivers/k8s_fedora_atomic_v1/templates/kubemaster.yaml +++ b/magnum/drivers/k8s_fedora_atomic_v1/templates/kubemaster.yaml @@ -268,7 +268,7 @@ resources: config: str_replace: params: - $configure_docker_storage_driver: {get_file: ../../common/templates/fragments/configure_docker_storage_driver_atomic.sh} + $configure_docker_storage_driver: {get_file: common/fragments/configure_docker_storage_driver_atomic.sh} template: {get_file: fragments/configure-docker-storage.sh} configure_etcd: diff --git a/magnum/drivers/k8s_fedora_atomic_v1/templates/kubeminion.yaml b/magnum/drivers/k8s_fedora_atomic_v1/templates/kubeminion.yaml index f2660fb743..8494c147ee 100644 --- a/magnum/drivers/k8s_fedora_atomic_v1/templates/kubeminion.yaml +++ b/magnum/drivers/k8s_fedora_atomic_v1/templates/kubeminion.yaml @@ -275,14 +275,14 @@ resources: config: str_replace: params: - $configure_docker_storage_driver: {get_file: ../../common/templates/fragments/configure_docker_storage_driver_atomic.sh} + $configure_docker_storage_driver: {get_file: common/fragments/configure_docker_storage_driver_atomic.sh} template: {get_file: fragments/configure-docker-storage.sh} configure_docker_registry: type: OS::Heat::SoftwareConfig properties: group: ungrouped - config: {get_file: ../../common/templates/fragments/configure-docker-registry.sh} + config: {get_file: common/fragments/configure-docker-registry.sh} configure_kubernetes_minion: type: OS::Heat::SoftwareConfig diff --git a/magnum/drivers/mesos_ubuntu_v1/template_def.py b/magnum/drivers/mesos_ubuntu_v1/template_def.py index d571cfd519..6c3852095e 100644 --- a/magnum/drivers/mesos_ubuntu_v1/template_def.py +++ b/magnum/drivers/mesos_ubuntu_v1/template_def.py @@ -83,9 +83,9 @@ class UbuntuMesosTemplateDefinition(template_def.BaseTemplateDefinition): def get_env_files(self, baymodel): if baymodel.master_lb_enabled: - return ['../../common/templates/environments/with_master_lb.yaml'] + return ['common/environments/with_master_lb.yaml'] else: - return ['../../common/templates/environments/no_master_lb.yaml'] + return ['common/environments/no_master_lb.yaml'] @property def template_path(self): diff --git a/magnum/drivers/mesos_ubuntu_v1/templates/common b/magnum/drivers/mesos_ubuntu_v1/templates/common new file mode 120000 index 0000000000..03eb261d79 --- /dev/null +++ b/magnum/drivers/mesos_ubuntu_v1/templates/common @@ -0,0 +1 @@ +../../common/templates \ No newline at end of file diff --git a/magnum/drivers/swarm_fedora_atomic_v1/template_def.py b/magnum/drivers/swarm_fedora_atomic_v1/template_def.py index bea785d2f2..f707dd3e5d 100644 --- a/magnum/drivers/swarm_fedora_atomic_v1/template_def.py +++ b/magnum/drivers/swarm_fedora_atomic_v1/template_def.py @@ -112,9 +112,9 @@ class AtomicSwarmTemplateDefinition(template_def.BaseTemplateDefinition): def get_env_files(self, baymodel): if baymodel.master_lb_enabled: - return ['../../common/templates/environments/with_master_lb.yaml'] + return ['common/environments/with_master_lb.yaml'] else: - return ['../../common/templates/environments/no_master_lb.yaml'] + return ['common/environments/no_master_lb.yaml'] @property def template_path(self): diff --git a/magnum/drivers/swarm_fedora_atomic_v1/templates/common b/magnum/drivers/swarm_fedora_atomic_v1/templates/common new file mode 120000 index 0000000000..03eb261d79 --- /dev/null +++ b/magnum/drivers/swarm_fedora_atomic_v1/templates/common @@ -0,0 +1 @@ +../../common/templates \ No newline at end of file diff --git a/magnum/drivers/swarm_fedora_atomic_v1/templates/swarmmaster.yaml b/magnum/drivers/swarm_fedora_atomic_v1/templates/swarmmaster.yaml index 7e68b05a8f..2722b0796b 100644 --- a/magnum/drivers/swarm_fedora_atomic_v1/templates/swarmmaster.yaml +++ b/magnum/drivers/swarm_fedora_atomic_v1/templates/swarmmaster.yaml @@ -251,7 +251,7 @@ resources: config: str_replace: params: - $configure_docker_storage_driver: {get_file: ../../common/templates/fragments/configure_docker_storage_driver_atomic.sh} + $configure_docker_storage_driver: {get_file: common/fragments/configure_docker_storage_driver_atomic.sh} template: {get_file: fragments/configure-docker-storage.sh} make_cert: diff --git a/magnum/drivers/swarm_fedora_atomic_v1/templates/swarmnode.yaml b/magnum/drivers/swarm_fedora_atomic_v1/templates/swarmnode.yaml index 20983c086e..02b3a0edea 100644 --- a/magnum/drivers/swarm_fedora_atomic_v1/templates/swarmnode.yaml +++ b/magnum/drivers/swarm_fedora_atomic_v1/templates/swarmnode.yaml @@ -222,14 +222,14 @@ resources: config: str_replace: params: - $configure_docker_storage_driver: {get_file: ../../common/templates/fragments/configure_docker_storage_driver_atomic.sh} + $configure_docker_storage_driver: {get_file: common/fragments/configure_docker_storage_driver_atomic.sh} template: {get_file: fragments/configure-docker-storage.sh} configure_docker_registry: type: OS::Heat::SoftwareConfig properties: group: ungrouped - config: {get_file: ../../common/templates/fragments/configure-docker-registry.sh} + config: {get_file: common/fragments/configure-docker-registry.sh} write_docker_service: type: "OS::Heat::SoftwareConfig" diff --git a/magnum/tests/unit/conductor/handlers/test_k8s_bay_conductor.py b/magnum/tests/unit/conductor/handlers/test_k8s_bay_conductor.py index ff65b9a42a..d86fdfed23 100644 --- a/magnum/tests/unit/conductor/handlers/test_k8s_bay_conductor.py +++ b/magnum/tests/unit/conductor/handlers/test_k8s_bay_conductor.py @@ -178,7 +178,7 @@ class TestBayConductorWithK8s(base.TestCase): self.assertEqual(expected, definition) self.assertEqual( - ['../../common/templates/environments/no_master_lb.yaml'], + ['common/environments/no_master_lb.yaml'], env_files) @patch('requests.get') @@ -246,7 +246,7 @@ class TestBayConductorWithK8s(base.TestCase): self.assertEqual(expected, definition) self.assertEqual( - ['../../common/templates/environments/no_master_lb.yaml'], + ['common/environments/no_master_lb.yaml'], env_files) @patch('requests.get') @@ -302,7 +302,7 @@ class TestBayConductorWithK8s(base.TestCase): } self.assertEqual(expected, definition) self.assertEqual( - ['../../common/templates/environments/no_master_lb.yaml'], + ['common/environments/no_master_lb.yaml'], env_files) @patch('requests.get') @@ -356,7 +356,7 @@ class TestBayConductorWithK8s(base.TestCase): } self.assertEqual(expected, definition) self.assertEqual( - ['../../common/templates/environments/no_master_lb.yaml'], + ['common/environments/no_master_lb.yaml'], env_files) @patch('requests.get') @@ -518,7 +518,7 @@ class TestBayConductorWithK8s(base.TestCase): } self.assertEqual(expected, definition) self.assertEqual( - ['../../common/templates/environments/no_master_lb.yaml'], + ['common/environments/no_master_lb.yaml'], env_files) reqget.assert_called_once_with('http://etcd/test?size=1') diff --git a/magnum/tests/unit/conductor/handlers/test_mesos_bay_conductor.py b/magnum/tests/unit/conductor/handlers/test_mesos_bay_conductor.py index b990470a16..9160d1ab9f 100644 --- a/magnum/tests/unit/conductor/handlers/test_mesos_bay_conductor.py +++ b/magnum/tests/unit/conductor/handlers/test_mesos_bay_conductor.py @@ -122,7 +122,7 @@ class TestBayConductorWithMesos(base.TestCase): } self.assertEqual(expected, definition) self.assertEqual( - ['../../common/templates/environments/no_master_lb.yaml'], + ['common/environments/no_master_lb.yaml'], env_files) @patch('magnum.objects.BayModel.get_by_uuid') @@ -168,7 +168,7 @@ class TestBayConductorWithMesos(base.TestCase): } self.assertEqual(expected, definition) self.assertEqual( - ['../../common/templates/environments/no_master_lb.yaml'], + ['common/environments/no_master_lb.yaml'], env_files) @patch('magnum.objects.BayModel.get_by_uuid') @@ -217,7 +217,7 @@ class TestBayConductorWithMesos(base.TestCase): } self.assertEqual(expected, definition) self.assertEqual( - ['../../common/templates/environments/with_master_lb.yaml'], + ['common/environments/with_master_lb.yaml'], env_files) @patch('magnum.objects.BayModel.get_by_uuid') @@ -267,7 +267,7 @@ class TestBayConductorWithMesos(base.TestCase): } self.assertEqual(expected, definition) self.assertEqual( - ['../../common/templates/environments/with_master_lb.yaml'], + ['common/environments/with_master_lb.yaml'], env_files) @patch('magnum.conductor.utils.retrieve_baymodel') diff --git a/magnum/tests/unit/conductor/handlers/test_swarm_bay_conductor.py b/magnum/tests/unit/conductor/handlers/test_swarm_bay_conductor.py index 668e19ec1c..c12bba01a4 100644 --- a/magnum/tests/unit/conductor/handlers/test_swarm_bay_conductor.py +++ b/magnum/tests/unit/conductor/handlers/test_swarm_bay_conductor.py @@ -128,7 +128,7 @@ class TestBayConductorWithSwarm(base.TestCase): } self.assertEqual(expected, definition) self.assertEqual( - ['../../common/templates/environments/no_master_lb.yaml'], + ['common/environments/no_master_lb.yaml'], env_files) @patch('requests.get') @@ -190,7 +190,7 @@ class TestBayConductorWithSwarm(base.TestCase): } self.assertEqual(expected, definition) self.assertEqual( - ['../../common/templates/environments/no_master_lb.yaml'], + ['common/environments/no_master_lb.yaml'], env_files) @patch('requests.get') @@ -244,7 +244,7 @@ class TestBayConductorWithSwarm(base.TestCase): } self.assertEqual(expected, definition) self.assertEqual( - ['../../common/templates/environments/no_master_lb.yaml'], + ['common/environments/no_master_lb.yaml'], env_files) @patch('requests.get') @@ -300,7 +300,7 @@ class TestBayConductorWithSwarm(base.TestCase): } self.assertEqual(expected, definition) self.assertEqual( - ['../../common/templates/environments/with_master_lb.yaml'], + ['common/environments/with_master_lb.yaml'], env_files) @patch('requests.get') @@ -357,7 +357,7 @@ class TestBayConductorWithSwarm(base.TestCase): } self.assertEqual(expected, definition) self.assertEqual( - ['../../common/templates/environments/with_master_lb.yaml'], + ['common/environments/with_master_lb.yaml'], env_files) @patch('magnum.conductor.utils.retrieve_baymodel')