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)
|
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.
|
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
|
destination: hooks/charmhelpers
|
||||||
include:
|
include:
|
||||||
- core
|
- core
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
branch: lp:charm-helpers
|
#branch: lp:charm-helpers
|
||||||
|
branch: /home/corey/src/charms/git/charm-helpers
|
||||||
destination: tests/charmhelpers
|
destination: tests/charmhelpers
|
||||||
include:
|
include:
|
||||||
- contrib.amulet
|
- contrib.amulet
|
||||||
|
|||||||
23
config.yaml
23
config.yaml
@@ -23,21 +23,24 @@ options:
|
|||||||
provide a later version of OpenStack will trigger a software
|
provide a later version of OpenStack will trigger a software
|
||||||
upgrade.
|
upgrade.
|
||||||
|
|
||||||
Note that when openstack-origin-git is specified, the packages
|
Note that when openstack-origin-git is specified, openstack-specific
|
||||||
configured for that option will be installed from git rather
|
packages will be installed from source rather than from the
|
||||||
than from the openstack-origin repository.
|
openstack-origin repository.
|
||||||
openstack-origin-git:
|
openstack-origin-git:
|
||||||
default: None
|
default: None
|
||||||
type: "string"
|
type: string
|
||||||
description: |
|
description: |
|
||||||
Specifies a YAML file which lists the git repositories and branches
|
Specifies a YAML-formatted two-dimensional array listing the git
|
||||||
from which to install OpenStack. See config/git-*.yaml for a
|
repositories and branches from which to install OpenStack and its
|
||||||
starting point.
|
dependencies.
|
||||||
|
|
||||||
Note that the config files that are installed will be determined
|
Note that the installed config files will be determined based on
|
||||||
based on the OpenStack release in the openstack-origin option.
|
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:
|
config-file:
|
||||||
default: "/etc/keystone/keystone.conf"
|
default: "/etc/keystone/keystone.conf"
|
||||||
type: string
|
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'))
|
configure_installation_source(config('openstack-origin'))
|
||||||
apt_update()
|
apt_update()
|
||||||
apt_install(determine_packages(), fatal=True)
|
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'))
|
git_install(config('openstack-origin-git'))
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import os
|
|||||||
import uuid
|
import uuid
|
||||||
import urlparse
|
import urlparse
|
||||||
import time
|
import time
|
||||||
|
import yaml
|
||||||
|
|
||||||
from base64 import b64encode
|
from base64 import b64encode
|
||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
@@ -993,11 +994,11 @@ def send_notifications(data, force=False):
|
|||||||
relation_set(relation_id=rid, relation_settings=_notifications)
|
relation_set(relation_id=rid, relation_settings=_notifications)
|
||||||
|
|
||||||
|
|
||||||
def git_install(file_name):
|
def git_install(projects):
|
||||||
"""Perform setup, and install git repos specified in yaml config file."""
|
"""Perform setup, and install git repos specified in yaml parameter."""
|
||||||
if git_install_requested():
|
if git_install_requested():
|
||||||
git_pre_install()
|
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()
|
git_post_install()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -49,7 +49,12 @@ class KeystoneBasicDeployment(OpenStackAmuletDeployment):
|
|||||||
def _configure_services(self):
|
def _configure_services(self):
|
||||||
"""Configure all of the services."""
|
"""Configure all of the services."""
|
||||||
keystone_config = {'admin-password': 'openstack',
|
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%'}
|
mysql_config = {'dataset-size': '50%'}
|
||||||
cinder_config = {'block-device': 'None'}
|
cinder_config = {'block-device': 'None'}
|
||||||
configs = {'keystone': keystone_config,
|
configs = {'keystone': keystone_config,
|
||||||
|
|||||||
Reference in New Issue
Block a user