Merge "Rename kolla namespace to kolla_ansible"
This commit is contained in:
commit
67d5407db8
@ -36,7 +36,7 @@ source_suffix = '.rst'
|
|||||||
master_doc = 'index'
|
master_doc = 'index'
|
||||||
|
|
||||||
# General information about the project.
|
# General information about the project.
|
||||||
project = u'kolla'
|
project = u'kolla-ansible'
|
||||||
copyright = u'2013, OpenStack Foundation'
|
copyright = u'2013, OpenStack Foundation'
|
||||||
|
|
||||||
# The version info for the project you're documenting, acts as replacement for
|
# The version info for the project you're documenting, acts as replacement for
|
||||||
@ -44,7 +44,7 @@ copyright = u'2013, OpenStack Foundation'
|
|||||||
# built documents.
|
# built documents.
|
||||||
#
|
#
|
||||||
# The short X.Y version.
|
# The short X.Y version.
|
||||||
from kolla.version import version_info as kolla_version
|
from kolla_ansible.version import version_info as kolla_version
|
||||||
# The full version, including alpha/beta/rc tags.
|
# The full version, including alpha/beta/rc tags.
|
||||||
release = kolla_version.version_string_with_vcs()
|
release = kolla_version.version_string_with_vcs()
|
||||||
# The short X.Y version.
|
# The short X.Y version.
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
from kolla.version import version_info as kolla_version
|
from kolla_ansible.version import version_info as kolla_version
|
||||||
|
|
||||||
sys.path.insert(0, os.path.abspath('../..'))
|
sys.path.insert(0, os.path.abspath('../..'))
|
||||||
|
|
||||||
|
34
setup.cfg
34
setup.cfg
@ -5,7 +5,7 @@ description-file =
|
|||||||
README.rst
|
README.rst
|
||||||
author = OpenStack
|
author = OpenStack
|
||||||
author-email = openstack-dev@lists.openstack.org
|
author-email = openstack-dev@lists.openstack.org
|
||||||
home-page = http://docs.openstack.org/developer/kolla/
|
home-page = http://docs.openstack.org/developer/kolla-ansible/
|
||||||
license = Apache License, Version 2.0
|
license = Apache License, Version 2.0
|
||||||
classifier =
|
classifier =
|
||||||
Environment :: OpenStack
|
Environment :: OpenStack
|
||||||
@ -22,30 +22,28 @@ classifier =
|
|||||||
|
|
||||||
[files]
|
[files]
|
||||||
packages =
|
packages =
|
||||||
kolla
|
kolla_ansible
|
||||||
data_files =
|
data_files =
|
||||||
share/kolla/ansible = ansible/*
|
share/kolla-ansible/ansible = ansible/*
|
||||||
share/kolla/tools = tools/validate-docker-execute.sh
|
share/kolla-ansible/tools = tools/validate-docker-execute.sh
|
||||||
share/kolla/tools = tools/cleanup-containers
|
share/kolla-ansible/tools = tools/cleanup-containers
|
||||||
share/kolla/tools = tools/cleanup-host
|
share/kolla-ansible/tools = tools/cleanup-host
|
||||||
share/kolla/tools = tools/cleanup-images
|
share/kolla-ansible/tools = tools/cleanup-images
|
||||||
share/kolla/tools = tools/stop-containers
|
share/kolla-ansible/tools = tools/stop-containers
|
||||||
share/kolla/doc = doc/*
|
share/kolla-ansible/doc = doc/*
|
||||||
share/kolla/etc_examples = etc/*
|
share/kolla-ansible/etc_examples = etc/*
|
||||||
share/kolla = tools/init-runonce
|
share/kolla-ansible = tools/init-runonce
|
||||||
share/kolla = tools/init-vpn
|
share/kolla-ansible = tools/init-vpn
|
||||||
share/kolla = tools/openrc-example
|
share/kolla-ansible = tools/openrc-example
|
||||||
share/kolla = setup.cfg
|
share/kolla-ansible = setup.cfg
|
||||||
|
|
||||||
scripts =
|
scripts =
|
||||||
tools/kolla-ansible
|
tools/kolla-ansible
|
||||||
|
|
||||||
[entry_points]
|
[entry_points]
|
||||||
console_scripts =
|
console_scripts =
|
||||||
kolla-genpwd = kolla.cmd.genpwd:main
|
kolla-genpwd = kolla_ansible.cmd.genpwd:main
|
||||||
kolla-mergepwd = kolla.cmd.mergepwd:main
|
kolla-mergepwd = kolla_ansible.cmd.mergepwd:main
|
||||||
oslo.config.opts =
|
|
||||||
kolla = kolla.opts:list_opts
|
|
||||||
|
|
||||||
[global]
|
[global]
|
||||||
setup-hooks =
|
setup-hooks =
|
||||||
|
@ -1 +1 @@
|
|||||||
../kolla/cmd/genpwd.py
|
../kolla_ansible/cmd/genpwd.py
|
@ -1 +1 @@
|
|||||||
../kolla/cmd/mergepwd.py
|
../kolla_ansible/cmd/mergepwd.py
|
@ -1,160 +0,0 @@
|
|||||||
#!/usr/bin/env python
|
|
||||||
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
import collections
|
|
||||||
import logging
|
|
||||||
import os
|
|
||||||
import re
|
|
||||||
import sys
|
|
||||||
|
|
||||||
import bs4
|
|
||||||
from oslo_config import cfg
|
|
||||||
import pkg_resources
|
|
||||||
import prettytable
|
|
||||||
import requests
|
|
||||||
|
|
||||||
# NOTE(SamYaple): Update the search path to prefer PROJECT_ROOT as the source
|
|
||||||
# of packages to import if we are using local tools instead of
|
|
||||||
# pip installed kolla tools
|
|
||||||
PROJECT_ROOT = os.path.abspath(os.path.join(
|
|
||||||
os.path.dirname(os.path.realpath(__file__)), '..'))
|
|
||||||
if PROJECT_ROOT not in sys.path:
|
|
||||||
sys.path.insert(0, PROJECT_ROOT)
|
|
||||||
|
|
||||||
from kolla.common import config as common_config
|
|
||||||
|
|
||||||
logging.basicConfig(format="%(message)s")
|
|
||||||
LOG = logging.getLogger('version-check')
|
|
||||||
|
|
||||||
# Filter list for non-projects
|
|
||||||
NOT_PROJECTS = [
|
|
||||||
'nova-novncproxy',
|
|
||||||
'nova-spicehtml5proxy',
|
|
||||||
'openstack-base',
|
|
||||||
'profiles'
|
|
||||||
]
|
|
||||||
TARBALLS_BASE_URL = 'http://tarballs.openstack.org'
|
|
||||||
VERSIONS = {'local': dict()}
|
|
||||||
|
|
||||||
|
|
||||||
def retrieve_upstream_versions():
|
|
||||||
upstream_versions = dict()
|
|
||||||
for project in VERSIONS['local']:
|
|
||||||
winner = None
|
|
||||||
series = VERSIONS['local'][project].split('.')[0]
|
|
||||||
base = '{}/{}'.format(TARBALLS_BASE_URL, project)
|
|
||||||
LOG.debug("Getting latest version for project %s from %s",
|
|
||||||
project, base)
|
|
||||||
r = requests.get(base)
|
|
||||||
s = bs4.BeautifulSoup(r.text, 'html.parser')
|
|
||||||
|
|
||||||
for link in s.find_all('a'):
|
|
||||||
version = link.get('href')
|
|
||||||
if (version.endswith('.tar.gz') and
|
|
||||||
version.startswith('{}-{}'.format(project, series))):
|
|
||||||
split = '{}-|.tar.gz'.format(project)
|
|
||||||
candidate = re.split(split, version)[1]
|
|
||||||
# Ignore 2014, 2015 versions as they are older
|
|
||||||
if candidate.startswith('201'):
|
|
||||||
continue
|
|
||||||
if not winner or more_recent(candidate, winner):
|
|
||||||
winner = candidate
|
|
||||||
|
|
||||||
if not winner:
|
|
||||||
LOG.warning("Could not find a version for %s", project)
|
|
||||||
continue
|
|
||||||
|
|
||||||
if '-' in winner:
|
|
||||||
winner = winner.split('-')[1]
|
|
||||||
upstream_versions[project] = winner
|
|
||||||
LOG.debug("Found latest version %s for project %s", winner, project)
|
|
||||||
|
|
||||||
VERSIONS['upstream'] = collections.OrderedDict(
|
|
||||||
sorted(upstream_versions.items()))
|
|
||||||
|
|
||||||
|
|
||||||
def retrieve_local_versions(conf):
|
|
||||||
for section in common_config.SOURCES:
|
|
||||||
if section in NOT_PROJECTS:
|
|
||||||
continue
|
|
||||||
|
|
||||||
project = section.split('-')[0]
|
|
||||||
|
|
||||||
if section not in conf.list_all_sections():
|
|
||||||
LOG.debug("Project %s not found in configuration file, using "
|
|
||||||
"default from kolla.common.config", project)
|
|
||||||
raw_version = common_config.SOURCES[section]['location']
|
|
||||||
else:
|
|
||||||
raw_version = getattr(conf, section).location
|
|
||||||
|
|
||||||
version = raw_version.split('/')[-1].split('.tar.gz')[0]
|
|
||||||
if '-' in version:
|
|
||||||
version = version.split('-')[1]
|
|
||||||
|
|
||||||
LOG.debug("Use local version %s for project %s", version, project)
|
|
||||||
VERSIONS['local'][project] = version
|
|
||||||
|
|
||||||
|
|
||||||
def more_recent(candidate, reference):
|
|
||||||
return pkg_resources.parse_version(candidate) > \
|
|
||||||
pkg_resources.parse_version(reference)
|
|
||||||
|
|
||||||
|
|
||||||
def diff_link(project, old_ref, new_ref):
|
|
||||||
return "https://github.com/openstack/{}/compare/{}...{}".format(
|
|
||||||
project, old_ref, new_ref)
|
|
||||||
|
|
||||||
|
|
||||||
def compare_versions():
|
|
||||||
up_to_date = True
|
|
||||||
result = prettytable.PrettyTable(["Project", "Current version",
|
|
||||||
"Latest version", "Comparing changes"])
|
|
||||||
result.align = "l"
|
|
||||||
|
|
||||||
for project in VERSIONS['upstream']:
|
|
||||||
if project not in VERSIONS['local']:
|
|
||||||
continue
|
|
||||||
|
|
||||||
upstream_version = VERSIONS['upstream'][project]
|
|
||||||
local_version = VERSIONS['local'][project]
|
|
||||||
|
|
||||||
if more_recent(upstream_version, local_version):
|
|
||||||
result.add_row([
|
|
||||||
project,
|
|
||||||
VERSIONS['local'][project],
|
|
||||||
VERSIONS['upstream'][project],
|
|
||||||
diff_link(project, local_version, upstream_version)
|
|
||||||
])
|
|
||||||
up_to_date = False
|
|
||||||
|
|
||||||
if up_to_date:
|
|
||||||
result = "Everything is up to date"
|
|
||||||
|
|
||||||
print(result)
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
|
||||||
conf = cfg.ConfigOpts()
|
|
||||||
common_config.parse(conf, sys.argv[1:], prog='version-check')
|
|
||||||
|
|
||||||
if conf.debug:
|
|
||||||
LOG.setLevel(logging.DEBUG)
|
|
||||||
|
|
||||||
retrieve_local_versions(conf)
|
|
||||||
retrieve_upstream_versions()
|
|
||||||
|
|
||||||
compare_versions()
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
main()
|
|
Loading…
Reference in New Issue
Block a user