Update openstack-origin-git to take a YAML-formatted two-dimensional array
This commit is contained in:
69
README.md
69
README.md
@@ -32,3 +32,72 @@ a new data store is configured, the charm ensures the minimum administrator
|
||||
credentials exist (as configured via charm configuration)
|
||||
|
||||
VIP is only required if you plan on multi-unit clusterming. The VIP becomes a highly-available API endpoint.
|
||||
|
||||
Deploying from source
|
||||
---------------------
|
||||
|
||||
The minimal openstack-origin-git config required to deploy from source is:
|
||||
|
||||
openstack-origin-git:
|
||||
"{'keystone':
|
||||
{'repository': 'git://git.openstack.org/openstack/keystone.git',
|
||||
'branch': 'stable/icehouse'}}"
|
||||
|
||||
If you specify a 'requirements' repository, it will be used to update the
|
||||
requirements.txt files of all other git repos that it applies to, before
|
||||
they are installed:
|
||||
|
||||
openstack-origin-git:
|
||||
"{'requirements':
|
||||
{'repository': 'git://git.openstack.org/openstack/requirements.git',
|
||||
'branch': 'master'},
|
||||
'keystone':
|
||||
{'repository': 'git://git.openstack.org/openstack/keystone.git',
|
||||
'branch': 'master'}}"
|
||||
|
||||
Note that there are only two key values the charm knows about for the outermost
|
||||
dictionary: 'keystone' and 'requirements'. These repositories must correspond to
|
||||
these keys. If the requirements repository is specified, it will be installed
|
||||
first. The keystone repository is always installed last. All other repostories
|
||||
will be installed in between.
|
||||
|
||||
NOTE(coreycb): The following is temporary to keep track of the full list of
|
||||
current tip repos (may not be up-to-date).
|
||||
|
||||
openstack-origin-git:
|
||||
"{'requirements':
|
||||
{'repository': 'git://git.openstack.org/openstack/requirements.git',
|
||||
'branch': 'master'},
|
||||
'keystonemiddleware:
|
||||
{'repository': 'git://git.openstack.org/openstack/keystonemiddleware.git',
|
||||
'branch: 'master'},
|
||||
'oslo-concurrency':
|
||||
{'repository': 'git://git.openstack.org/openstack/oslo.concurrency.git',
|
||||
'branch: 'master'},
|
||||
'oslo-config':
|
||||
{'repository': 'git://git.openstack.org/openstack/oslo.config.git',
|
||||
'branch: 'master'},
|
||||
'oslo-db':
|
||||
{'repository': 'git://git.openstack.org/openstack/oslo.db.git',
|
||||
'branch: 'master'},
|
||||
'oslo-i18n':
|
||||
{'repository': 'git://git.openstack.org/openstack/oslo.i18n.git',
|
||||
'branch: 'master'},
|
||||
'oslo-serialization':
|
||||
{'repository': 'git://git.openstack.org/openstack/oslo.serialization.git',
|
||||
'branch: 'master'},
|
||||
'oslo-utils':
|
||||
{'repository': 'git://git.openstack.org/openstack/oslo.utils.git',
|
||||
'branch: 'master'},
|
||||
'pbr':
|
||||
{'repository': 'git://git.openstack.org/openstack-dev/pbr.git',
|
||||
'branch: 'master'},
|
||||
'python-keystoneclient':
|
||||
{'repository': 'git://git.openstack.org/openstack/python-keystoneclient.git',
|
||||
'branch: 'master'},
|
||||
'sqlalchemy-migrate':
|
||||
{'repository': 'git://git.openstack.org/stackforge/sqlalchemy-migrate.git',
|
||||
'branch: 'master'},
|
||||
'keystone':
|
||||
{'repository': 'git://git.openstack.org/openstack/keystone.git',
|
||||
'branch': 'master'}}"
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
branch: lp:charm-helpers
|
||||
#branch: lp:charm-helpers
|
||||
branch: /home/corey/src/charms/git/charm-helpers
|
||||
destination: hooks/charmhelpers
|
||||
include:
|
||||
- core
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
branch: lp:charm-helpers
|
||||
#branch: lp:charm-helpers
|
||||
branch: /home/corey/src/charms/git/charm-helpers
|
||||
destination: tests/charmhelpers
|
||||
include:
|
||||
- contrib.amulet
|
||||
|
||||
23
config.yaml
23
config.yaml
@@ -23,21 +23,24 @@ options:
|
||||
provide a later version of OpenStack will trigger a software
|
||||
upgrade.
|
||||
|
||||
Note that when openstack-origin-git is specified, the packages
|
||||
configured for that option will be installed from git rather
|
||||
than from the openstack-origin repository.
|
||||
Note that when openstack-origin-git is specified, openstack-specific
|
||||
packages will be installed from source rather than from the
|
||||
openstack-origin repository.
|
||||
openstack-origin-git:
|
||||
default: None
|
||||
type: "string"
|
||||
type: string
|
||||
description: |
|
||||
Specifies a YAML file which lists the git repositories and branches
|
||||
from which to install OpenStack. See config/git-*.yaml for a
|
||||
starting point.
|
||||
Specifies a YAML-formatted two-dimensional array listing the git
|
||||
repositories and branches from which to install OpenStack and its
|
||||
dependencies.
|
||||
|
||||
Note that the config files that are installed will be determined
|
||||
based on the OpenStack release in the openstack-origin option.
|
||||
Note that the installed config files will be determined based on
|
||||
the OpenStack release of the openstack-origin option.
|
||||
|
||||
Note that updating this setting after deployment will do nothing.
|
||||
Note also that this option is processed for the initial install
|
||||
only. Setting this option after deployment is not supported.
|
||||
|
||||
For more details see README.md.
|
||||
config-file:
|
||||
default: "/etc/keystone/keystone.conf"
|
||||
type: string
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
keystone:
|
||||
repository: git://git.openstack.org/openstack/keystone.git
|
||||
branch: stable/juno
|
||||
requirements:
|
||||
repository: git://git.openstack.org/openstack/requirements.git
|
||||
branch: stable/juno
|
||||
@@ -1,39 +0,0 @@
|
||||
keystone:
|
||||
repository: git://git.openstack.org/openstack/keystone.git
|
||||
branch: master
|
||||
keystonemiddleware:
|
||||
repository: git://git.openstack.org/openstack/keystonemiddleware.git
|
||||
branch: master
|
||||
oslo-concurrency:
|
||||
repository: git://git.openstack.org/openstack/oslo.concurrency.git
|
||||
branch: master
|
||||
oslo-config:
|
||||
repository: git://git.openstack.org/openstack/oslo.config.git
|
||||
branch: master
|
||||
oslo-db:
|
||||
repository: git://git.openstack.org/openstack/oslo.db.git
|
||||
branch: master
|
||||
oslo-i18n:
|
||||
repository: git://git.openstack.org/openstack/oslo.i18n.git
|
||||
branch: master
|
||||
oslo-serialization:
|
||||
repository: git://git.openstack.org/openstack/oslo.serialization.git
|
||||
branch: master
|
||||
oslo-utils:
|
||||
repository: git://git.openstack.org/openstack/oslo.utils.git
|
||||
branch: master
|
||||
pbr:
|
||||
repository: git://git.openstack.org/openstack-dev/pbr.git
|
||||
branch: master
|
||||
pycadf:
|
||||
repository: git://git.openstack.org/openstack/pycadf.git
|
||||
branch: master
|
||||
python-keystoneclient:
|
||||
repository: git://git.openstack.org/openstack/python-keystoneclient.git
|
||||
branch: master
|
||||
requirements:
|
||||
repository: git://git.openstack.org/openstack/requirements.git
|
||||
branch: master
|
||||
sqlalchemy-migrate:
|
||||
repository: git://git.openstack.org/stackforge/sqlalchemy-migrate.git
|
||||
branch: master
|
||||
@@ -1,6 +0,0 @@
|
||||
keystone:
|
||||
repository: git://git.openstack.org/openstack/keystone.git
|
||||
branch: master
|
||||
requirements:
|
||||
repository: git://git.openstack.org/openstack/requirements.git
|
||||
branch: master
|
||||
@@ -98,6 +98,12 @@ def install():
|
||||
configure_installation_source(config('openstack-origin'))
|
||||
apt_update()
|
||||
apt_install(determine_packages(), fatal=True)
|
||||
|
||||
# NOTE(coreycb): This is temporary for sstack proxy, unless we decide
|
||||
# we need to code proxy support into the charms.
|
||||
os.environ["http_proxy"] = "http://squid.internal:3128"
|
||||
os.environ["https_proxy"] = "https://squid.internal:3128"
|
||||
|
||||
git_install(config('openstack-origin-git'))
|
||||
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ import os
|
||||
import uuid
|
||||
import urlparse
|
||||
import time
|
||||
import yaml
|
||||
|
||||
from base64 import b64encode
|
||||
from collections import OrderedDict
|
||||
@@ -993,11 +994,11 @@ def send_notifications(data, force=False):
|
||||
relation_set(relation_id=rid, relation_settings=_notifications)
|
||||
|
||||
|
||||
def git_install(file_name):
|
||||
"""Perform setup, and install git repos specified in yaml config file."""
|
||||
def git_install(projects):
|
||||
"""Perform setup, and install git repos specified in yaml parameter."""
|
||||
if git_install_requested():
|
||||
git_pre_install()
|
||||
git_clone_and_install(file_name, core_project='keystone')
|
||||
git_clone_and_install(yaml.load(projects), core_project='keystone')
|
||||
git_post_install()
|
||||
|
||||
|
||||
|
||||
@@ -49,7 +49,12 @@ class KeystoneBasicDeployment(OpenStackAmuletDeployment):
|
||||
def _configure_services(self):
|
||||
"""Configure all of the services."""
|
||||
keystone_config = {'admin-password': 'openstack',
|
||||
'admin-token': 'ubuntutesting'}
|
||||
'admin-token': 'ubuntutesting',
|
||||
# NOTE(coreycb): Added the following temporarily to test deploy from source
|
||||
'openstack-origin-git':
|
||||
"{'keystone':"
|
||||
" {'repository': 'git://git.openstack.org/openstack/keystone.git',"
|
||||
" 'branch': 'stable/icehouse'}}"}
|
||||
mysql_config = {'dataset-size': '50%'}
|
||||
cinder_config = {'block-device': 'None'}
|
||||
configs = {'keystone': keystone_config,
|
||||
|
||||
Reference in New Issue
Block a user