Add tool to check overcloud version
Change-Id: Ib30e76110753f5d764bd8e5ad9861ce3fd84569a
This commit is contained in:
parent
eb331a722a
commit
ff0c3d84fd
@ -34,6 +34,7 @@ run_playbook_from_undercloud = _ansible.run_playbook_from_undercloud
|
||||
OvercloudKeystoneCredentialsFixture = \
|
||||
overcloud.OvercloudKeystoneCredentialsFixture
|
||||
find_overcloud_node = overcloud.find_overcloud_node
|
||||
has_overcloud = overcloud.has_overcloud
|
||||
list_overcloud_nodes = overcloud.list_overcloud_nodes
|
||||
load_overcloud_rcfile = overcloud.load_overcloud_rcfile
|
||||
overcloud_host_config = overcloud.overcloud_host_config
|
||||
|
@ -13,6 +13,7 @@
|
||||
# under the License.
|
||||
from __future__ import absolute_import
|
||||
|
||||
import functools
|
||||
import io
|
||||
import os
|
||||
import typing
|
||||
@ -34,9 +35,25 @@ CONF = config.CONF
|
||||
LOG = log.getLogger(__name__)
|
||||
|
||||
|
||||
def has_overcloud():
|
||||
# rewrite this function
|
||||
return _undercloud.has_undercloud()
|
||||
def has_overcloud(min_version: str = None,
|
||||
max_version: str = None) -> bool:
|
||||
if not _undercloud.has_undercloud():
|
||||
return False
|
||||
|
||||
if min_version or max_version:
|
||||
if not tobiko.match_version(get_overcloud_version(),
|
||||
min_version=min_version,
|
||||
max_version=max_version):
|
||||
return False
|
||||
return True
|
||||
|
||||
|
||||
@functools.lru_cache()
|
||||
def get_overcloud_version() -> tobiko.VersionType:
|
||||
ssh_client = topology.find_openstack_node(group='controller').ssh_client
|
||||
release = sh.execute('cat /etc/rhosp-release',
|
||||
ssh_client=ssh_client).stdout
|
||||
return tobiko.parse_version(release)
|
||||
|
||||
|
||||
def load_overcloud_rcfile() -> typing.Dict[str, str]:
|
||||
|
Loading…
x
Reference in New Issue
Block a user