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 = \
|
OvercloudKeystoneCredentialsFixture = \
|
||||||
overcloud.OvercloudKeystoneCredentialsFixture
|
overcloud.OvercloudKeystoneCredentialsFixture
|
||||||
find_overcloud_node = overcloud.find_overcloud_node
|
find_overcloud_node = overcloud.find_overcloud_node
|
||||||
|
has_overcloud = overcloud.has_overcloud
|
||||||
list_overcloud_nodes = overcloud.list_overcloud_nodes
|
list_overcloud_nodes = overcloud.list_overcloud_nodes
|
||||||
load_overcloud_rcfile = overcloud.load_overcloud_rcfile
|
load_overcloud_rcfile = overcloud.load_overcloud_rcfile
|
||||||
overcloud_host_config = overcloud.overcloud_host_config
|
overcloud_host_config = overcloud.overcloud_host_config
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
# under the License.
|
# under the License.
|
||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
|
|
||||||
|
import functools
|
||||||
import io
|
import io
|
||||||
import os
|
import os
|
||||||
import typing
|
import typing
|
||||||
@ -34,9 +35,25 @@ CONF = config.CONF
|
|||||||
LOG = log.getLogger(__name__)
|
LOG = log.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
def has_overcloud():
|
def has_overcloud(min_version: str = None,
|
||||||
# rewrite this function
|
max_version: str = None) -> bool:
|
||||||
return _undercloud.has_undercloud()
|
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]:
|
def load_overcloud_rcfile() -> typing.Dict[str, str]:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user