12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- # -*- coding: utf-8 -*-
- # 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.
- """
- Plugin responsible for post-installation configuration
- """
- from packstack.installer import utils
- from packstack.installer import basedefs
- # ------------- Postscript Packstack Plugin Initialization --------------
- PLUGIN_NAME = "Postscript"
- PLUGIN_NAME_COLORED = utils.color_text(PLUGIN_NAME, 'blue')
- def initConfig(controller):
- group = {"GROUP_NAME": "POSTSCRIPT",
- "DESCRIPTION": "POSTSCRIPT Config parameters",
- "PRE_CONDITION": lambda x: 'yes',
- "PRE_CONDITION_MATCH": "yes",
- "POST_CONDITION": False,
- "POST_CONDITION_MATCH": True}
- controller.addGroup(group, [])
- def initSequences(controller):
- config = controller.CONF
- postscript_steps = []
- if (config['CONFIG_PROVISION_TEMPEST'] == "y" and
- config['CONFIG_RUN_TEMPEST'] == "y"):
- postscript_steps.append(
- {'title': 'Running Tempest',
- 'functions': [run_tempest]}
- )
- controller.addSequence("Running post install scripts", [], [],
- postscript_steps)
- # -------------------------- step functions --------------------------
- def run_tempest(config, messages):
- logfile = basedefs.DIR_LOG + "/tempest.log"
- print("Running Tempest on %s" % config['CONFIG_TEMPEST_HOST'])
- server = utils.ScriptRunner(config['CONFIG_TEMPEST_HOST'])
- server.append('pushd /var/lib/tempest')
- server.append('tempest run --regex \'(%s)\' --concurrency 2 > %s'
- % (config['CONFIG_RUN_TEMPEST_TESTS'].replace(' ', '|'),
- logfile))
- server.append('popd')
- server.execute()
|