Merge "Add defaults for openstack-origin-git config option"
This commit is contained in:
commit
0a02e7e390
89
README.md
89
README.md
@ -30,92 +30,3 @@ Storage
|
|||||||
=======
|
=======
|
||||||
This charm supports a number of different storage backends depending on
|
This charm supports a number of different storage backends depending on
|
||||||
your hypervisor type and storage relations.
|
your hypervisor type and storage relations.
|
||||||
|
|
||||||
Deploying from source
|
|
||||||
=====================
|
|
||||||
|
|
||||||
The minimum openstack-origin-git config required to deploy from source is:
|
|
||||||
|
|
||||||
openstack-origin-git: include-file://nova-juno.yaml
|
|
||||||
|
|
||||||
nova-juno.yaml
|
|
||||||
repositories:
|
|
||||||
- {name: requirements,
|
|
||||||
repository: 'git://github.com/openstack/requirements',
|
|
||||||
branch: stable/juno}
|
|
||||||
- {name: nova,
|
|
||||||
repository: 'git://github.com/openstack/nova',
|
|
||||||
branch: stable/juno}
|
|
||||||
|
|
||||||
Note that there are only two 'name' values the charm knows about: 'requirements'
|
|
||||||
and 'nova'. These repositories must correspond to these 'name' values.
|
|
||||||
Additionally, the requirements repository must be specified first and the
|
|
||||||
nova repository must be specified last. All other repostories are installed
|
|
||||||
in the order in which they are specified.
|
|
||||||
|
|
||||||
The following is a full list of current tip repos (may not be up-to-date):
|
|
||||||
|
|
||||||
openstack-origin-git: include-file://nova-master.yaml
|
|
||||||
|
|
||||||
nova-master.yaml
|
|
||||||
repositories:
|
|
||||||
- {name: requirements,
|
|
||||||
repository: 'git://github.com/openstack/requirements',
|
|
||||||
branch: master}
|
|
||||||
- {name: oslo-concurrency,
|
|
||||||
repository: 'git://github.com/openstack/oslo.concurrency',
|
|
||||||
branch: master}
|
|
||||||
- {name: oslo-config,
|
|
||||||
repository: 'git://github.com/openstack/oslo.config',
|
|
||||||
branch: master}
|
|
||||||
- {name: oslo-context,
|
|
||||||
repository: 'git://github.com/openstack/oslo.context',
|
|
||||||
branch: master}
|
|
||||||
- {name: oslo-db,
|
|
||||||
repository: 'git://github.com/openstack/oslo.db',
|
|
||||||
branch: master}
|
|
||||||
- {name: oslo-i18n,
|
|
||||||
repository: 'git://github.com/openstack/oslo.i18n',
|
|
||||||
branch: master}
|
|
||||||
- {name: oslo-log,
|
|
||||||
repository: 'git://github.com/openstack/oslo.log',
|
|
||||||
branch: master}
|
|
||||||
- {name: oslo-messaging,
|
|
||||||
repository: 'git://github.com/openstack/oslo.messaging',
|
|
||||||
branch: master}
|
|
||||||
- {name: oslo-middleware,
|
|
||||||
repository': 'git://github.com/openstack/oslo.middleware',
|
|
||||||
branch: master}
|
|
||||||
- {name: oslo-rootwrap',
|
|
||||||
repository: 'git://github.com/openstack/oslo.rootwrap',
|
|
||||||
branch: master}
|
|
||||||
- {name: oslo-serialization,
|
|
||||||
repository: 'git://github.com/openstack/oslo.serialization',
|
|
||||||
branch: master}
|
|
||||||
- {name: oslo-utils,
|
|
||||||
repository: 'git://github.com/openstack/oslo.utils',
|
|
||||||
branch: master}
|
|
||||||
- {name: pbr,
|
|
||||||
repository: 'git://github.com/openstack-dev/pbr',
|
|
||||||
branch: master}
|
|
||||||
- {name: stevedore,
|
|
||||||
repository: 'git://github.com/openstack/stevedore',
|
|
||||||
branch: 'master'}
|
|
||||||
- {name: sqlalchemy-migrate,
|
|
||||||
repository: 'git://github.com/stackforge/sqlalchemy-migrate',
|
|
||||||
branch: master}
|
|
||||||
- {name: python-cinderclient,
|
|
||||||
repository: 'git://github.com/openstack/python-cinderclient',
|
|
||||||
branch: master}
|
|
||||||
- {name: python-glanceclient,
|
|
||||||
repository': 'git://github.com/openstack/python-glanceclient',
|
|
||||||
branch: master}
|
|
||||||
- {name: python-neutronlient,
|
|
||||||
repository': 'git://github.com/openstack/python-neutronclient',
|
|
||||||
branch: master}
|
|
||||||
- {name: keystonemiddleware,
|
|
||||||
repository: 'git://github.com/openstack/keystonemiddleware',
|
|
||||||
branch: master}
|
|
||||||
- {name: nova,
|
|
||||||
repository: 'git://github.com/openstack/nova',
|
|
||||||
branch: master}
|
|
||||||
|
29
config.yaml
29
config.yaml
@ -45,13 +45,32 @@ options:
|
|||||||
type: string
|
type: string
|
||||||
default:
|
default:
|
||||||
description: |
|
description: |
|
||||||
Specifies a YAML-formatted dictionary listing the git repositories and
|
Specifies a default OpenStack release name, or a YAML dictionary
|
||||||
branches from which to install OpenStack and its dependencies.
|
listing the git repositories to install from.
|
||||||
.
|
|
||||||
|
The default Openstack release name may be one of the following, where
|
||||||
|
the corresponding OpenStack github branch will be used:
|
||||||
|
* icehouse
|
||||||
|
* kilo
|
||||||
|
* liberty
|
||||||
|
* mitaka
|
||||||
|
* master
|
||||||
|
|
||||||
|
The YAML must minimally include requirements, neutron, and nova
|
||||||
|
repositories, and may also include repositories for other dependencies:
|
||||||
|
repositories:
|
||||||
|
- {name: requirements,
|
||||||
|
repository: 'git://github.com/openstack/requirements',
|
||||||
|
branch: master}
|
||||||
|
- {name: neutron,
|
||||||
|
repository: 'git://github.com/openstack/neutron',
|
||||||
|
branch: master}
|
||||||
|
- {name: nova,
|
||||||
|
repository: 'git://github.com/openstack/nova',
|
||||||
|
branch: master
|
||||||
|
|
||||||
Note that the installed config files will be determined based on
|
Note that the installed config files will be determined based on
|
||||||
the OpenStack release of the openstack-origin option.
|
the OpenStack release of the openstack-origin option.
|
||||||
.
|
|
||||||
For more details see README.md.
|
|
||||||
nova-config:
|
nova-config:
|
||||||
type: string
|
type: string
|
||||||
default: /etc/nova/nova.conf
|
default: /etc/nova/nova.conf
|
||||||
|
@ -725,14 +725,15 @@ def git_install_requested():
|
|||||||
requirements_dir = None
|
requirements_dir = None
|
||||||
|
|
||||||
|
|
||||||
def git_default_repos(projects):
|
def git_default_repos(projects_yaml):
|
||||||
"""
|
"""
|
||||||
Returns default repos if a default openstack-origin-git value is specified.
|
Returns default repos if a default openstack-origin-git value is specified.
|
||||||
"""
|
"""
|
||||||
service = service_name()
|
service = service_name()
|
||||||
|
core_project = service
|
||||||
|
|
||||||
for default, branch in GIT_DEFAULT_BRANCHES.iteritems():
|
for default, branch in GIT_DEFAULT_BRANCHES.iteritems():
|
||||||
if projects == default:
|
if projects_yaml == default:
|
||||||
|
|
||||||
# add the requirements repo first
|
# add the requirements repo first
|
||||||
repo = {
|
repo = {
|
||||||
@ -742,34 +743,41 @@ def git_default_repos(projects):
|
|||||||
}
|
}
|
||||||
repos = [repo]
|
repos = [repo]
|
||||||
|
|
||||||
# neutron and nova charms require some additional repos
|
# neutron-* and nova-* charms require some additional repos
|
||||||
if service == 'neutron':
|
if service in ['neutron-api', 'neutron-gateway',
|
||||||
for svc in ['neutron-fwaas', 'neutron-lbaas', 'neutron-vpnaas']:
|
'neutron-openvswitch']:
|
||||||
|
core_project = 'neutron'
|
||||||
|
for project in ['neutron-fwaas', 'neutron-lbaas',
|
||||||
|
'neutron-vpnaas']:
|
||||||
repo = {
|
repo = {
|
||||||
'name': svc,
|
'name': project,
|
||||||
'repository': GIT_DEFAULT_REPOS[svc],
|
'repository': GIT_DEFAULT_REPOS[project],
|
||||||
'branch': branch,
|
'branch': branch,
|
||||||
}
|
}
|
||||||
repos.append(repo)
|
repos.append(repo)
|
||||||
elif service == 'nova':
|
|
||||||
|
elif service in ['nova-cloud-controller', 'nova-compute']:
|
||||||
|
core_project = 'nova'
|
||||||
repo = {
|
repo = {
|
||||||
'name': 'neutron',
|
'name': 'neutron',
|
||||||
'repository': GIT_DEFAULT_REPOS['neutron'],
|
'repository': GIT_DEFAULT_REPOS['neutron'],
|
||||||
'branch': branch,
|
'branch': branch,
|
||||||
}
|
}
|
||||||
repos.append(repo)
|
repos.append(repo)
|
||||||
|
elif service == 'openstack-dashboard':
|
||||||
|
core_project = 'horizon'
|
||||||
|
|
||||||
# finally add the current service's repo
|
# finally add the current service's core project repo
|
||||||
repo = {
|
repo = {
|
||||||
'name': service,
|
'name': core_project,
|
||||||
'repository': GIT_DEFAULT_REPOS[service],
|
'repository': GIT_DEFAULT_REPOS[core_project],
|
||||||
'branch': branch,
|
'branch': branch,
|
||||||
}
|
}
|
||||||
repos.append(repo)
|
repos.append(repo)
|
||||||
|
|
||||||
return yaml.dump(dict(repositories=repos))
|
return yaml.dump(dict(repositories=repos))
|
||||||
|
|
||||||
return projects
|
return projects_yaml
|
||||||
|
|
||||||
|
|
||||||
def _git_yaml_load(projects_yaml):
|
def _git_yaml_load(projects_yaml):
|
||||||
|
@ -50,6 +50,7 @@ from charmhelpers.contrib.openstack.utils import (
|
|||||||
get_os_codename_install_source,
|
get_os_codename_install_source,
|
||||||
git_install_requested,
|
git_install_requested,
|
||||||
git_clone_and_install,
|
git_clone_and_install,
|
||||||
|
git_default_repos,
|
||||||
git_src_dir,
|
git_src_dir,
|
||||||
git_pip_venv_dir,
|
git_pip_venv_dir,
|
||||||
git_yaml_value,
|
git_yaml_value,
|
||||||
@ -608,6 +609,7 @@ def git_install(projects_yaml):
|
|||||||
"""Perform setup, and install git repos specified in yaml parameter."""
|
"""Perform setup, and install git repos specified in yaml parameter."""
|
||||||
if git_install_requested():
|
if git_install_requested():
|
||||||
git_pre_install()
|
git_pre_install()
|
||||||
|
projects_yaml = git_default_repos(projects_yaml)
|
||||||
git_clone_and_install(projects_yaml, core_project='nova')
|
git_clone_and_install(projects_yaml, core_project='nova')
|
||||||
git_post_install(projects_yaml)
|
git_post_install(projects_yaml)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user