Add 8-stream repo support
If you switch to 8-stream, we need those version for the HA and powertools repo. Change-Id: I12a79a6d57b9dd590f478a392b5a292eb0c00c60
This commit is contained in:
parent
1c4a717be3
commit
3820739738
|
@ -53,7 +53,7 @@ enabled=1
|
|||
OPSTOOLS_REPO_TEMPLATE = '''
|
||||
[tripleo-centos-opstools]
|
||||
name=tripleo-centos-opstools
|
||||
baseurl=%s/centos/7/opstools/$basearch/
|
||||
baseurl=%(mirror)s/centos/7/opstools/$basearch/
|
||||
gpgcheck=0
|
||||
enabled=1
|
||||
'''
|
||||
|
@ -61,7 +61,7 @@ enabled=1
|
|||
HIGHAVAILABILITY_REPO_TEMPLATE = '''
|
||||
[tripleo-centos-highavailability]
|
||||
name=tripleo-centos-highavailability
|
||||
baseurl=%s/centos/8/HighAvailability/$basearch/os/
|
||||
baseurl=%(mirror)s/centos/%(stream)s/HighAvailability/$basearch/os/
|
||||
gpgcheck=0
|
||||
enabled=1
|
||||
'''
|
||||
|
@ -69,7 +69,7 @@ enabled=1
|
|||
POWERTOOLS_REPO_TEMPLATE = '''
|
||||
[tripleo-centos-powertools]
|
||||
name=tripleo-centos-powertools
|
||||
baseurl=%s/centos/8/PowerTools/$basearch/os/
|
||||
baseurl=%(mirror)s/centos/%(stream)s/PowerTools/$basearch/os/
|
||||
gpgcheck=0
|
||||
enabled=1
|
||||
'''
|
||||
|
@ -170,6 +170,10 @@ def _parse_args():
|
|||
parser.add_argument('--rdo-mirror',
|
||||
default=DEFAULT_RDO_MIRROR,
|
||||
help='Server from which to install RDO packages.')
|
||||
parser.add_argument('--stream',
|
||||
action='store_true',
|
||||
default=False,
|
||||
help='Enable stream support for CentOS repos')
|
||||
|
||||
args = parser.parse_args()
|
||||
args.old_mirror = default_mirror
|
||||
|
@ -404,15 +408,20 @@ def _install_repos(args, base_path):
|
|||
content = _create_ceph(args, 'nautilus')
|
||||
_write_repo(content, args.output_path)
|
||||
elif repo == 'opstools':
|
||||
content = OPSTOOLS_REPO_TEMPLATE % args.mirror
|
||||
content = OPSTOOLS_REPO_TEMPLATE % {'mirror': args.mirror}
|
||||
_write_repo(content, args.output_path)
|
||||
else:
|
||||
raise InvalidArguments('Invalid repo "%s" specified' % repo)
|
||||
# HA, Powertools are required for CentOS-8
|
||||
if args.distro == 'centos8':
|
||||
content = HIGHAVAILABILITY_REPO_TEMPLATE % args.mirror
|
||||
stream = '8'
|
||||
if args.stream:
|
||||
stream = stream + '-stream'
|
||||
content = HIGHAVAILABILITY_REPO_TEMPLATE % {'mirror': args.mirror,
|
||||
'stream': stream}
|
||||
_write_repo(content, args.output_path)
|
||||
content = POWERTOOLS_REPO_TEMPLATE % args.mirror
|
||||
content = POWERTOOLS_REPO_TEMPLATE % {'mirror': args.mirror,
|
||||
'stream': stream}
|
||||
_write_repo(content, args.output_path)
|
||||
|
||||
|
||||
|
|
|
@ -379,6 +379,74 @@ enabled=1
|
|||
self.assertRaises(main.InvalidArguments, main._install_repos, args,
|
||||
'roads/')
|
||||
|
||||
@mock.patch('tripleo_repos.main._get_repo')
|
||||
@mock.patch('tripleo_repos.main._write_repo')
|
||||
def test_install_repos_centos8(self, mock_write, mock_get):
|
||||
args = mock.Mock()
|
||||
args.repos = ['current']
|
||||
args.branch = 'master'
|
||||
args.output_path = 'test'
|
||||
args.distro = 'centos8'
|
||||
args.stream = False
|
||||
args.mirror = 'mirror'
|
||||
mock_get.return_value = '[delorean]\nMr. Fusion'
|
||||
main._install_repos(args, 'roads/')
|
||||
self.assertEqual([mock.call('roads/current/delorean.repo', args),
|
||||
mock.call('roads/delorean-deps.repo', args),
|
||||
],
|
||||
mock_get.mock_calls)
|
||||
self.assertEqual([mock.call('[delorean]\nMr. Fusion', 'test',
|
||||
name='delorean'),
|
||||
mock.call('[delorean]\nMr. Fusion', 'test'),
|
||||
mock.call((
|
||||
'\n[tripleo-centos-highavailability]\n'
|
||||
'name=tripleo-centos-highavailability\n'
|
||||
'baseurl=mirror/centos/8/HighAvailability'
|
||||
'/$basearch/os/\ngpgcheck=0\nenabled=1\n'),
|
||||
'test'),
|
||||
mock.call((
|
||||
'\n[tripleo-centos-powertools]\n'
|
||||
'name=tripleo-centos-powertools\n'
|
||||
'baseurl=mirror/centos/8/PowerTools'
|
||||
'/$basearch/os/\ngpgcheck=0\nenabled=1\n'),
|
||||
'test')
|
||||
],
|
||||
mock_write.mock_calls)
|
||||
|
||||
@mock.patch('tripleo_repos.main._get_repo')
|
||||
@mock.patch('tripleo_repos.main._write_repo')
|
||||
def test_install_repos_centos8_stream(self, mock_write, mock_get):
|
||||
args = mock.Mock()
|
||||
args.repos = ['current']
|
||||
args.branch = 'master'
|
||||
args.output_path = 'test'
|
||||
args.distro = 'centos8'
|
||||
args.stream = True
|
||||
args.mirror = 'mirror'
|
||||
mock_get.return_value = '[delorean]\nMr. Fusion'
|
||||
main._install_repos(args, 'roads/')
|
||||
self.assertEqual([mock.call('roads/current/delorean.repo', args),
|
||||
mock.call('roads/delorean-deps.repo', args),
|
||||
],
|
||||
mock_get.mock_calls)
|
||||
self.assertEqual([mock.call('[delorean]\nMr. Fusion', 'test',
|
||||
name='delorean'),
|
||||
mock.call('[delorean]\nMr. Fusion', 'test'),
|
||||
mock.call((
|
||||
'\n[tripleo-centos-highavailability]\n'
|
||||
'name=tripleo-centos-highavailability\n'
|
||||
'baseurl=mirror/centos/8-stream/HighAvailability'
|
||||
'/$basearch/os/\ngpgcheck=0\nenabled=1\n'),
|
||||
'test'),
|
||||
mock.call((
|
||||
'\n[tripleo-centos-powertools]\n'
|
||||
'name=tripleo-centos-powertools\n'
|
||||
'baseurl=mirror/centos/8-stream/PowerTools'
|
||||
'/$basearch/os/\ngpgcheck=0\nenabled=1\n'),
|
||||
'test')
|
||||
],
|
||||
mock_write.mock_calls)
|
||||
|
||||
def test_write_repo(self):
|
||||
m = mock.mock_open()
|
||||
with mock.patch('tripleo_repos.main.open', m, create=True):
|
||||
|
|
Loading…
Reference in New Issue