summaryrefslogtreecommitdiff
path: root/tests/software_config/test_heat_config_kubelet.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/software_config/test_heat_config_kubelet.py')
-rw-r--r--tests/software_config/test_heat_config_kubelet.py147
1 files changed, 0 insertions, 147 deletions
diff --git a/tests/software_config/test_heat_config_kubelet.py b/tests/software_config/test_heat_config_kubelet.py
deleted file mode 100644
index 03d2eed..0000000
--- a/tests/software_config/test_heat_config_kubelet.py
+++ /dev/null
@@ -1,147 +0,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
-#
-# 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 os
-import tempfile
-
-import fixtures
-from testtools import matchers
-
-from tests.software_config import common
-
-
-class HeatConfigKubeletORCTest(common.RunScriptTest):
-
- fake_hooks = ['kubelet']
-
- data = [{
- "id": "abcdef001",
- "group": "kubelet",
- "name": "mysql",
- "config": {
- "version": "v1beta2",
- "volumes": [{
- "name": "mariadb-data"
- }],
- "containers": [{
- "image": "mariadb_image",
- "volumeMounts": [{
- "mountPath": "/var/lib/mysql",
- "name": "mariadb-data"
- }],
- "name": "mariadb",
- "env": [{
- "name": "DB_ROOT_PASSWORD",
- "value": "mariadb_password"
- }],
- "ports": [{
- "containerPort": 3306
- }]
- }]}
- }, {
- "id": "abcdef002",
- "group": "kubelet",
- "name": "rabbitmq",
- "config": {
- "version": "v1beta2",
- "containers": [{
- "image": "rabbitmq_image",
- "name": "rabbitmq",
- "ports": [{
- "containerPort": 5672
- }]
- }]
- }
- }, {
- "id": "abcdef003",
- "group": "kubelet",
- "name": "heat_api_engine",
- "config": {
- "version": "v1beta2",
- "containers": [{
- "image": "heat_engine_image",
- "name": "heat-engine",
- "env": [{
- "name": "DB_ROOT_PASSWORD",
- "value": "mariadb_password"
- }, {
- "name": "HEAT_DB_PASSWORD",
- "value": "heatdb_password"
- }, {
- "name": "HEAT_KEYSTONE_PASSWORD",
- "value": "password"
- }]
- }, {
- "image": "heat_api_image",
- "name": "heat-api",
- "ports": [{
- "containerPort": 8004
- }]
- }]
- }
- }]
-
- def setUp(self):
- super(HeatConfigKubeletORCTest, self).setUp()
-
- self.fake_hook_path = self.relative_path(__file__, 'hook-fake.py')
-
- self.heat_config_kubelet_path = self.relative_path(
- __file__,
- '../..',
- 'hot/software-config/elements',
- 'heat-config-kubelet/os-refresh-config/configure.d/'
- '50-heat-config-kubelet')
-
- self.manifests_dir = self.useFixture(fixtures.TempDir())
-
- with open(self.fake_hook_path) as f:
- fake_hook = f.read()
-
- for hook in self.fake_hooks:
- hook_name = self.manifests_dir.join(hook)
- with open(hook_name, 'w') as f:
- os.utime(hook_name, None)
- f.write(fake_hook)
- f.flush()
- os.chmod(hook_name, 0o755)
-
- def write_config_file(self, data):
- config_file = tempfile.NamedTemporaryFile()
- config_file.write(json.dumps(data))
- config_file.flush()
- return config_file
-
- def test_run_heat_config(self):
-
- with self.write_config_file(self.data) as config_file:
-
- env = os.environ.copy()
- env.update({
- 'HEAT_KUBELET_MANIFESTS': self.manifests_dir.join(),
- 'HEAT_SHELL_CONFIG': config_file.name
- })
- returncode, stdout, stderr = self.run_cmd(
- [self.heat_config_kubelet_path], env)
-
- self.assertEqual(0, returncode, stderr)
-
- for config in self.data:
- manifest_name = '%s.json' % config['id']
- manifest_path = self.manifests_dir.join(manifest_name)
- self.assertThat(manifest_path, matchers.FileExists())
-
- # manifest file should match manifest config
- self.assertEqual(config['config'],
- self.json_from_file(manifest_path))