Update $IMAGE_ELEMENT after excluding elements
The $IMAGE_ELEMENT environment variable should be updated after processing excluded elements so that it's value is the accurate list of elements included in the instack run. Some elements rely on this environment variable (such as package-installs). blueprint undercloud-elements Closes-Bug: 1578357 Change-Id: I96afd9476eda05638ef631f225b216374586a386
This commit is contained in:
parent
e81520b4d3
commit
66612df5d5
@ -132,7 +132,8 @@ class ElementRunner(object):
|
||||
all_elements = element_dependencies.expand_dependencies(
|
||||
self.elements, ':'.join(self.element_paths))
|
||||
self.elements = all_elements
|
||||
os.environ['IMAGE_ELEMENT'] = ' '.join([x for x in self.elements])
|
||||
os.environ['IMAGE_ELEMENT'] = ' '.join(
|
||||
[x for x in sorted(self.elements)])
|
||||
LOG.info("List of all elements and dependencies: %s" %
|
||||
' '.join(list(self.elements)))
|
||||
|
||||
@ -142,6 +143,11 @@ class ElementRunner(object):
|
||||
if elem in self.elements:
|
||||
LOG.info("Excluding element %s" % elem)
|
||||
self.elements.remove(elem)
|
||||
# Need to redefine OS.environ['IMAGE_ELEMENT'] after removing excludes
|
||||
os.environ['IMAGE_ELEMENT'] = ' '.join(
|
||||
[x for x in sorted(self.elements)])
|
||||
LOG.info("List of all elements and dependencies after excludes: %s" %
|
||||
' '.join(list(self.elements)))
|
||||
|
||||
def run_hook(self, hook):
|
||||
"""Run a hook on the current system.
|
||||
|
@ -74,10 +74,14 @@ class TestRunner(testtools.TestCase):
|
||||
|
||||
self.runner.copy_elements()
|
||||
self.runner.load_dependencies()
|
||||
self.assertEqual(os.environ['IMAGE_ELEMENT'],
|
||||
'dep1 dep2 echo os')
|
||||
self.runner.process_exclude_elements()
|
||||
|
||||
self.assertEqual(len(self.runner.elements), 3)
|
||||
self.assertFalse('dep1' in self.runner.elements)
|
||||
self.assertEqual(os.environ['IMAGE_ELEMENT'],
|
||||
'dep2 echo os')
|
||||
|
||||
def test_process_path(self):
|
||||
cwd = os.path.dirname(__file__)
|
||||
|
Loading…
Reference in New Issue
Block a user