Use local.conf instead of localrc
Use actual local.conf file name and format instead of deprecated localrc in devstack related deployment engines. Closes-bug: #1457194 Change-Id: Iba464f33eb9d1598dfa6aabbd167712d573f79da
This commit is contained in:
parent
e13ab7142f
commit
7550c0373b
@ -4,10 +4,11 @@ Installing Rally using devstack
|
||||
|
||||
This directory contains the files necessary to integrate Rally with devstack.
|
||||
|
||||
To configure devstack to run rally::
|
||||
To configure devstack to run rally edit ``${DEVSTACK_DIR}/local.conf`` file and add::
|
||||
|
||||
$ cd ${DEVSTACK_DIR}
|
||||
$ echo "enable_plugin rally https://github.com/openstack/rally master" >> localrc
|
||||
enable_plugin rally https://github.com/openstack/rally master
|
||||
|
||||
to the ``[[local|localrc]]`` section.
|
||||
|
||||
Run devstack as normal::
|
||||
|
||||
|
@ -107,13 +107,15 @@ It is also possible to install Rally with DevStack. First, clone the correspondi
|
||||
git clone https://git.openstack.org/openstack-dev/devstack
|
||||
git clone https://github.com/openstack/rally
|
||||
|
||||
Then, configure DevStack to run Rally:
|
||||
Then, configure DevStack to run Rally. First, create your ``local.conf`` file:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
cd devstack
|
||||
cp samples/local.conf local.conf
|
||||
echo "enable_plugin rally https://github.com/openstack/rally master" >> localrc
|
||||
|
||||
Next, edit local.conf:
|
||||
add ``enable_plugin rally https://github.com/openstack/rally master`` to ``[[local|localrc]]`` section.
|
||||
|
||||
Finally, run DevStack as usually:
|
||||
|
||||
|
@ -52,7 +52,7 @@ class DevstackEngine(engine.Engine):
|
||||
{
|
||||
"type": "DevstackEngine",
|
||||
"devstack_repo": "https://example.com/devstack/",
|
||||
"localrc": {
|
||||
"local_conf": {
|
||||
"ADMIN_PASSWORD": "secret"
|
||||
},
|
||||
"provider": {
|
||||
@ -67,6 +67,7 @@ class DevstackEngine(engine.Engine):
|
||||
"properties": {
|
||||
"type": {"type": "string"},
|
||||
"provider": {"type": "object"},
|
||||
"local_conf": {"type": "object"},
|
||||
"localrc": {"type": "object"},
|
||||
"devstack_repo": {"type": "string"},
|
||||
"devstack_branch": {"type": "string"},
|
||||
@ -76,7 +77,7 @@ class DevstackEngine(engine.Engine):
|
||||
|
||||
def __init__(self, deployment):
|
||||
super(DevstackEngine, self).__init__(deployment)
|
||||
self.localrc = {
|
||||
self.local_conf = {
|
||||
"DATABASE_PASSWORD": "rally",
|
||||
"RABBIT_PASSWORD": "rally",
|
||||
"SERVICE_TOKEN": "rally",
|
||||
@ -85,8 +86,15 @@ class DevstackEngine(engine.Engine):
|
||||
"RECLONE": "yes",
|
||||
"SYSLOG": "yes",
|
||||
}
|
||||
|
||||
if "localrc" in self.config:
|
||||
self.localrc.update(self.config["localrc"])
|
||||
LOG.warn("'localrc' parameter is deprecated for deployment config "
|
||||
"since 0.1.2. Please use 'local_conf' instead.")
|
||||
if "local_conf" not in self.config:
|
||||
self.config["local_conf"] = self.config["localrc"]
|
||||
|
||||
if "local_conf" in self.config:
|
||||
self.local_conf.update(self.config["local_conf"])
|
||||
|
||||
@utils.log_deploy_wrapper(LOG.info, _("Prepare server for devstack"))
|
||||
def prepare_server(self, server):
|
||||
@ -101,9 +109,9 @@ class DevstackEngine(engine.Engine):
|
||||
self.servers = self.get_provider().create_servers()
|
||||
devstack_repo = self.config.get("devstack_repo", DEVSTACK_REPO)
|
||||
devstack_branch = self.config.get("devstack_branch", DEVSTACK_BRANCH)
|
||||
localrc = ""
|
||||
for k, v in six.iteritems(self.localrc):
|
||||
localrc += "%s=%s\n" % (k, v)
|
||||
local_conf = "[[local|localrc]]\n"
|
||||
for k, v in six.iteritems(self.local_conf):
|
||||
local_conf += "%s=%s\n" % (k, v)
|
||||
|
||||
for server in self.servers:
|
||||
self.deployment.add_resource(provider_name="DevstackEngine",
|
||||
@ -112,12 +120,13 @@ class DevstackEngine(engine.Engine):
|
||||
cmd = "/bin/sh -e -s %s %s" % (devstack_repo, devstack_branch)
|
||||
server.ssh.run(cmd, stdin=get_script("install.sh"))
|
||||
devstack_server = get_updated_server(server, user=DEVSTACK_USER)
|
||||
devstack_server.ssh.run("cat > ~/devstack/localrc", stdin=localrc)
|
||||
devstack_server.ssh.run("cat > ~/devstack/local.conf",
|
||||
stdin=local_conf)
|
||||
devstack_server.ssh.run("~/devstack/stack.sh")
|
||||
|
||||
admin_endpoint = objects.Endpoint("http://%s:5000/v2.0/" %
|
||||
self.servers[0].host, "admin",
|
||||
self.localrc["ADMIN_PASSWORD"],
|
||||
self.local_conf["ADMIN_PASSWORD"],
|
||||
"admin",
|
||||
consts.EndpointPermission.ADMIN)
|
||||
return {"admin": admin_endpoint}
|
||||
|
@ -53,7 +53,7 @@ class MultihostEngine(engine.Engine):
|
||||
"nodes": [
|
||||
{
|
||||
"type": "DevstackEngine",
|
||||
"localrc": {
|
||||
"local_conf": {
|
||||
"GLANCE_HOSTPORT": "{controller_ip}:9292",
|
||||
...
|
||||
"""
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"type": "DevstackEngine",
|
||||
"localrc": {
|
||||
"local_conf": {
|
||||
"VIRT_DRIVER": "fake"
|
||||
},
|
||||
"provider": {
|
||||
|
@ -14,14 +14,14 @@ Controller
|
||||
::
|
||||
|
||||
"type": "DevstackEngine",
|
||||
"localrc": {
|
||||
"local_conf": {
|
||||
"MULTI_HOST": "1",
|
||||
"VIRT_DRIVER": "fake",
|
||||
"ENABLED_SERVICES+": ",-n-cpu",
|
||||
},
|
||||
|
||||
Look carefully at ENABLED_SERVICES. Such syntax is translated to 'ENABLED_SERVICES+=,-n-cpu'
|
||||
in localrc. This means 'remove n-cpu from ENABLED_SERVICES'.
|
||||
in local.conf. This means 'remove n-cpu from ENABLED_SERVICES'.
|
||||
|
||||
Please note: VIRT_DRIVER=fake on controller node is mandatory.
|
||||
|
||||
@ -59,7 +59,7 @@ compute instance via the devstack engine, then makes N clones using lxc-clone.
|
||||
},
|
||||
"engine": {
|
||||
"name": "DevstackEngine",
|
||||
"localrc": {
|
||||
"local_conf": {
|
||||
"VIRT_DRIVER": "fake",
|
||||
"DATABASE_TYPE": "mysql",
|
||||
"MYSQL_HOST": "{controller_ip}",
|
||||
@ -98,7 +98,7 @@ Here is an example of a complete configuration file, assembled from the snippets
|
||||
"type": "MultihostEngine",
|
||||
"controller": {
|
||||
"type": "DevstackEngine",
|
||||
"localrc": {
|
||||
"local_conf": {
|
||||
"MULTI_HOST": "1",
|
||||
"VIRT_DRIVER": "fake",
|
||||
"API_RATE_LIMIT": "False",
|
||||
@ -128,7 +128,7 @@ Here is an example of a complete configuration file, assembled from the snippets
|
||||
},
|
||||
"engine": {
|
||||
"name": "DevstackEngine",
|
||||
"localrc": {
|
||||
"local_conf": {
|
||||
"VIRT_DRIVER": "fake",
|
||||
"DATABASE_TYPE": "mysql",
|
||||
"MYSQL_HOST": "{controller_ip}",
|
||||
@ -217,7 +217,7 @@ to controller node. So, we add the option "tunnel_to": ["192.168.1.13"]::
|
||||
},
|
||||
"engine": {
|
||||
"name": "DevstackEngine",
|
||||
"localrc": {
|
||||
"local_conf": {
|
||||
"VIRT_DRIVER": "fake",
|
||||
"DATABASE_TYPE": "mysql",
|
||||
"MYSQL_HOST": "{controller_ip}",
|
||||
|
@ -2,7 +2,7 @@
|
||||
"type": "MultihostEngine",
|
||||
"controller": {
|
||||
"type": "DevstackEngine",
|
||||
"localrc": {
|
||||
"local_conf": {
|
||||
"ENABLED_SERVICES+": ",-n-cpu,-n-net",
|
||||
"MULTI_HOST": "1",
|
||||
"SCREEN_LOGDIR": "$DEST/logs/screen"
|
||||
@ -14,7 +14,7 @@
|
||||
"nodes": [
|
||||
{
|
||||
"type": "DevstackEngine",
|
||||
"localrc": {"ENABLED_SERVICES": "n-cpu,n-net"},
|
||||
"local_conf": {"ENABLED_SERVICES": "n-cpu,n-net"},
|
||||
"provider": {
|
||||
"type": "DummyProvider",
|
||||
"credentials": [{"host": "host-2.net",
|
||||
|
@ -26,7 +26,7 @@ SAMPLE_CONFIG = {
|
||||
"name": "ExistingServers",
|
||||
"credentials": [{"user": "root", "host": "example.com"}],
|
||||
},
|
||||
"localrc": {
|
||||
"local_conf": {
|
||||
"ADMIN_PASSWORD": "secret",
|
||||
},
|
||||
}
|
||||
@ -52,7 +52,7 @@ class DevstackEngineTestCase(test.TestCase):
|
||||
engine.validate)
|
||||
|
||||
def test_construct(self):
|
||||
self.assertEqual(self.engine.localrc["ADMIN_PASSWORD"], "secret")
|
||||
self.assertEqual(self.engine.local_conf["ADMIN_PASSWORD"], "secret")
|
||||
|
||||
@mock.patch("rally.deployment.engines.devstack.open", create=True)
|
||||
def test_prepare_server(self, mock_open):
|
||||
@ -99,9 +99,9 @@ class DevstackEngineTestCase(test.TestCase):
|
||||
cmd = "/bin/sh -e -s %s master" % repo
|
||||
server.ssh.run.assert_called_once_with(cmd, stdin="fake_script")
|
||||
ds_calls = [
|
||||
mock.call.ssh.run("cat > ~/devstack/localrc", stdin=mock.ANY),
|
||||
mock.call.ssh.run("cat > ~/devstack/local.conf", stdin=mock.ANY),
|
||||
mock.call.ssh.run("~/devstack/stack.sh")
|
||||
]
|
||||
self.assertEqual(ds_calls, ds_server.mock_calls)
|
||||
localrc = ds_server.mock_calls[0][2]["stdin"]
|
||||
self.assertIn("ADMIN_PASSWORD=secret", localrc)
|
||||
local_conf = ds_server.mock_calls[0][2]["stdin"]
|
||||
self.assertIn("ADMIN_PASSWORD=secret", local_conf)
|
||||
|
Loading…
x
Reference in New Issue
Block a user