Move change_env_settings function from octane to nailgun extension

This function was removed because this logic
moved to cluster upgrade extension.

Depends-On: I6d1e27b8b0c01f3251067bc88931cd2354feb5ce
Partial-bug: #1602587

Change-Id: If4fa37d31d81a5f9a05a2dcac25d5e0c8dc5ec53
(cherry picked from commit cdb33305c9)
This commit is contained in:
Anastasiya 2016-07-25 18:39:41 +03:00
parent 1f0a47c558
commit 5c443f2d3c
3 changed files with 0 additions and 118 deletions

View File

@ -59,9 +59,6 @@ def upgrade_env(env_id, network_template=None):
target_release = find_deployable_release("Ubuntu")
seed_id = env_util.clone_env(env_id, target_release)
env_util.copy_fuel_keys(env_id, seed_id)
master_ip = env_util.get_astute_yaml(env)['master_ip']
env_util.change_env_settings(seed_id, master_ip)
if network_template:
network_template_data = load_network_template(network_template)
env.set_network_template_data(network_template_data)

View File

@ -10,7 +10,6 @@
# License for the specific language governing permissions and limitations
# under the License.
import json
import mock
import pytest
@ -139,81 +138,6 @@ def test_copy_vips(mock_subprocess):
)
@pytest.mark.parametrize("env_id,master_ip", [(1, '10.0.0.1')])
@pytest.mark.parametrize("format_tuples", [
[
# (path, release_template, expected_result)
('/boot', "{settings.MASTER_IP}_{cluster.id}", "10.0.0.1_1"),
(
'/',
"{cluster.id}_{settings.MASTER_IP}_blabal.tar.gz",
"1_10.0.0.1_blabal.tar.gz"
),
]
])
def test_change_env_settings(mocker, env_id, master_ip, format_tuples):
env = mocker.patch("fuelclient.objects.environment.Environment")
env_dict = {
'provision': {
'image_data': {f[0]: {'uri': 'bad_value'} for f in format_tuples}}
}
expected_dict = {
'provision': {
'image_data': {f[0]: {'uri': f[2]} for f in format_tuples}}
}
release_dict = {
'generated': {
'provision': {
'image_data': {f[0]: {'uri': f[1]} for f in format_tuples}}
}
}
sql_call_mock = mocker.patch(
"octane.util.sql.run_psql",
side_effect=[
[json.dumps(env_dict)], [json.dumps(release_dict)], 1
]
)
mock_json_dumps = mocker.patch("json.dumps", return_value="generated_json")
mock_env = env.return_value = mock.Mock()
mock_env.data = {"release_id": 1}
mock_env.get_attributes.return_value = ENV_SETTINGS
env_util.change_env_settings(env_id, master_ip)
mock_env.update_attributes.assert_called_once_with({
'editable': {
'public_ssl': {
'horizon': {
'value': False
},
'services': {
'value': False
}
},
'external_ntp': {
'ntp_list': {
'value': master_ip
}
},
'external_dns': {
'dns_list': {
'value': master_ip
}
},
'provision': {
'method': {
'value': 'image'
}
}
}
})
mock_json_dumps.assert_called_once_with(expected_dict)
sql_call_mock.assert_called_with(
"update attributes set generated='{0}' where cluster_id={1}".format(
mock_json_dumps.return_value, env_id
),
'nailgun'
)
@pytest.mark.parametrize("mock_method,version,expected_result",
[("cobbler", "5.1.1", True),
("image", "6.0", False),

View File

@ -12,7 +12,6 @@
import fuelclient
import collections
import json
import logging
import os.path
@ -23,7 +22,6 @@ import yaml
from distutils import version
from fuelclient.objects import environment as environment_obj
from fuelclient.objects import node as node_obj
from fuelclient.objects import task as task_obj
@ -31,7 +29,6 @@ from octane.helpers import tasks as tasks_helpers
from octane.helpers import transformations
from octane import magic_consts
from octane.util import disk
from octane.util import sql
from octane.util import ssh
from octane.util import subprocess
@ -75,42 +72,6 @@ def get_env_provision_method(env):
return 'cobbler'
def change_env_settings(env_id, master_ip=''):
# workaround for bugs related to DNS, NTP and TLS
env = environment_obj.Environment(env_id)
attrs = env.get_attributes()
attrs['editable']['public_ssl']['horizon']['value'] = False
attrs['editable']['public_ssl']['services']['value'] = False
attrs['editable']['external_ntp']['ntp_list']['value'] = master_ip
attrs['editable']['external_dns']['dns_list']['value'] = master_ip
if get_env_provision_method(env) != 'image':
attrs['editable']['provision']['method']['value'] = 'image'
env.update_attributes(attrs)
generated_data = sql.run_psql(
"select generated from attributes where cluster_id={0}".format(env_id),
"nailgun"
)[0]
generated_json = json.loads(generated_data)
release_data = sql.run_psql(
"select attributes_metadata from releases where id={0}".format(
env.data['release_id']),
"nailgun"
)[0]
release_json = json.loads(release_data)
release_image_dict = release_json['generated']['provision']['image_data']
settings_cls = collections.namedtuple("settings", ["MASTER_IP", "id"])
settings = settings_cls(master_ip, env_id)
for key, value in generated_json['provision']['image_data'].iteritems():
value['uri'] = release_image_dict[key]['uri'].format(settings=settings,
cluster=settings)
sql.run_psql(
"update attributes set generated='{0}' where cluster_id={1}".format(
json.dumps(generated_json), env_id),
"nailgun"
)
def clone_env(env_id, release):
LOG.info("Cloning env %s for release %s", env_id, release.data['name'])
res = fuel2_env_call(["clone", "-f", "json", str(env_id),