Force IPv4 settings for APT

* Create /etc/apt/apt.conf.d/05disable-ipv6 and set Acquire::ForceIPv4 "true";
  to disable IPv6 as Ubuntu DNS returns IPv6 sometimes.
* Delete the same part from fuel_agent_ci cloud-init template as it should be
  configured by Orchestrator

Change-Id: I90fe58157c3eac04842102b1cb956bbeb324413a
Closes-Bug: 1450004
Signed-off-by: Sergii Golovatiuk <sgolovatiuk@mirantis.com>
This commit is contained in:
Sergii Golovatiuk 2015-04-29 19:24:25 +02:00
parent cb52a2e40e
commit 5cef6371ee
5 changed files with 23 additions and 11 deletions

View File

@ -44,13 +44,6 @@ write_files:
path: /etc/nailgun-agent/config.yaml
- content: target
path: /etc/nailgun_systemtype
- content: APT::Get::AllowUnauthenticated 1;
path: /etc/apt/apt.conf.d/02mirantis-allow-unsigned
apt_sources:
- source: deb http://{{ MASTER_IP }}:8080/ubuntu/fuelweb/x86_64 trusty main
mcollective:
conf:

View File

@ -178,6 +178,7 @@ class UploadMOSRepo(GenericRolesHook):
'cmd': '> /etc/apt/sources.list',
'timeout': 10
}})
yield templates.make_ubuntu_apt_disable_ipv6(uids)
# NOTE(kozhukalov):
# This task is to allow installing packages from
# unauthenticated repositories.

View File

@ -87,6 +87,12 @@ def make_ubuntu_preferences_task(uids, repo):
return make_upload_task(uids, preferences_content, preferences_path)
def make_ubuntu_apt_disable_ipv6(uids):
config_content = 'Acquire::ForceIPv4 "true";\n'
config_path = '/etc/apt/apt.conf.d/05disable-ipv6'
return make_upload_task(uids, config_content, config_path)
def make_ubuntu_unauth_repos_task(uids):
# NOTE(kozhukalov): This task is to allow installing packages
# from unauthenticated repositories. Apt has special

View File

@ -90,7 +90,7 @@ class TestHooksSerializersUbuntu(BaseTaskSerializationTestUbuntu):
task = tasks_serializer.UploadMOSRepo(
task_config, self.cluster, self.nodes)
serialized = list(task.serialize())
self.assertEqual(len(serialized), 16)
self.assertEqual(len(serialized), 17)
self.assertEqual(serialized[0]['type'], 'shell')
self.assertEqual(
serialized[0]['parameters']['cmd'], '> /etc/apt/sources.list')
@ -108,8 +108,9 @@ class TestHooksSerializersUbuntu(BaseTaskSerializationTestUbuntu):
self.assertEqual(serialized[12]['type'], 'upload_file')
self.assertEqual(serialized[13]['type'], 'upload_file')
self.assertEqual(serialized[14]['type'], 'upload_file')
self.assertEqual(serialized[15]['type'], 'shell')
self.assertEqual(serialized[15]['parameters']['cmd'], 'apt-get update')
self.assertEqual(serialized[15]['type'], 'upload_file')
self.assertEqual(serialized[16]['type'], 'shell')
self.assertEqual(serialized[16]['parameters']['cmd'], 'apt-get update')
self.assertItemsEqual(serialized[3]['uids'], self.all_uids)
@ -308,7 +309,7 @@ class TestPreTaskSerialization(BaseTaskSerializationTestUbuntu):
self.graph = deployment_graph.AstuteGraph(self.cluster)
self.cluster.release.operating_system = consts.RELEASE_OS.ubuntu
tasks = self.graph.pre_tasks_serialize(self.nodes)
self.assertEqual(len(tasks), 19)
self.assertEqual(len(tasks), 20)
tasks_tests = [('shell', ['master']),
('shell', sorted(self.all_uids)),
('upload_file', sorted(self.all_uids)),
@ -325,6 +326,7 @@ class TestPreTaskSerialization(BaseTaskSerializationTestUbuntu):
('upload_file', sorted(self.all_uids)),
('upload_file', sorted(self.all_uids)),
('upload_file', sorted(self.all_uids)),
('upload_file', sorted(self.all_uids)),
('copy_files', sorted(self.all_uids)),
('sync', sorted(self.all_uids)),
('shell', sorted(self.all_uids))]

View File

@ -50,6 +50,16 @@ class TestMakeTask(base.BaseTestCase):
'type': 'upload_file',
'uids': [1, 2, 3]})
def test_make_ubuntu_apt_disable_ipv6(self):
result = tasks_templates.make_ubuntu_apt_disable_ipv6([1, 2, 3])
self.assertEqual(
result,
{'parameters': {
'data': 'Acquire::ForceIPv4 "true";\n',
'path': '/etc/apt/apt.conf.d/05disable-ipv6'},
'type': 'upload_file',
'uids': [1, 2, 3]})
def test_make_ubuntu_unauth_repos_task(self):
result = tasks_templates.make_ubuntu_unauth_repos_task([1, 2, 3])
self.assertEqual(