Flame needed pemanent adjustments to mathe the changes in the
python-openstackclients. We now use openstacksdk or shade which will
handle themselves the compatibility.
We also made flame modular so that any-one can add features by
implementing there own flame managers and adding their modules to
the `openstack_flame` entry point.
This new flame version is also fully compatible with python 3.
Change-Id: I586a165b5022031963f504874bd50e1b11fe0d27
Allow the user to establish a two way SSL connection by
adding the cert and key parameters in the client of
keystone manager
Change-Id: I4418a45a58139d63d23f1939be61e90d7cd6a062
When the extract-ports flag is used, flame extracts the neutron ports
and connects them (according to the other flags) to :
- floating ips
- nova:compute instances
- security groups
- subnets and networks
This allows the exported stack to have the same network configuration as
its source.
When the flag is used in conjunction with --generate-stack-data,
the generated stack data also contains the assocation between
ports and floating IPs.
Change-Id: Id2e406c7aac5457cdef822b78edf7e30bd833a2d
This change improves the performance of flame by fetching the different
Openstack resources through a ThreadPoolExecutor.
The resources to fetch are declared in a dict inside
flame.TemplateGenerator.extract_vm_details of the form
{'resource_type' : (fetch_method, filter_method), ...}
Co-Authored-By: zarrouk <mzarrouk.ext@orange.com>
Change-Id: I8f34ecbfff236e5469b83d1c79d1f98accb125c0
The heat client now requires the stack data and the stack template to be
passed through the same file.
This change affects the output of flameclient.Client.generate and
replaces flameclient.Client.heat_template and
flameclient.Client.stack_data_template by a single method :
heat_template_and_data.
Change-Id: I14f703cb09e9dc81c5fa89d60ed10c53c61ce004
Extraction server-groups for export tenant information.
Add the "scheduler_hints" at nova creation stage.
Change-Id: I2359de035e219709d6f2359ea90de092d1b3d1ed
Flame's documentation was lagging behind regarding the actual options
provided by the CLI. This patch fixes the documentation of flame by
syncing it with the output of flame --help.
Change-Id: I6c32665b269405c983c38a3314392904bf3ac7e6
This replaces the block_device_mapping of OS::Nova:Server attribute with
a block_device_mapping_v2 attribute.
Change-Id: Ibc552069b5e8eab367fb36fdb98a0a8cdfaa9fa0
Volume objects in the cinder client don't always provide the
display_name and display_description attributes. Don't fail in this
case.
Change-Id: I08448f002912c2382fcc6728ce3ecf75038faec2
flame could not install with curent supported version of openstack because the
requirements where conflicting with https://github.com/openstack/requirements
Updated requirements.txt and tes-requirements.txt to match openstack's
global requirements.
Change-Id: I7dd0ba588569922d43d0282183d86c82e5e9b7fc
argparse was external in python 2.6 but not anymore, remove it from
requirements.
This should help with pip 8.0 that gets confused in this situation.
Installation of the external argparse is not needed.
Change-Id: Ib7e74912b36c1b5ccb514e31fac35efeff57378d
depending on any oslo-incubator code from another project is
dangerous. keystoneclient makes its exceptions public and it's
not recommended to use any code from
keystoneclient.openstack.common.apiclient since it's maintained
by oslo-incubator.
Change-Id: I9dcbb36a482979758167351640eb6cacef62e43d
Python 2.6 support would be dropped by
Infra team from mitaka,CI would no longer be testing it,
so projects should drop it too.
Change-Id: I173b71f8fd4b7240b29d27accd5ebae9f0634cde
OpenStack projects are no longer being tested under Python 2.6, so
remove the trove classifier implying that this project supports 2.6.
Change-Id: I207d3784e01608985d60d9738e25e7ae01657b66
Added all options of TemplateGenerator in client. Also added default values for
insecure and endpoint_type.
Change-Id: I938ba640a23adc0a0277fadc806f147bcc88d580
__version__ computation fails when flame is installed in dev mode[1]
and run outside of its git folder. This change sets __version__ to
"unknown" when its computation fails.
[1]: python setup.py develop or pîp install -e
Change-Id: Ie5ea2bcb548623a059c450d1a7d541ff1cd242b0
Currently flame TemplateGenerator generates the heat template while
visiting OpenStack (nova,neutron,cinder) resources. It implies lots
of code duplication associated to the template generation.
This change introduces a Resource class in order to split the heat
template generation in 2 parts:
* Extraction: extracting OpenStack resources and creating Resource
instances
* Generation: generating heat template from Resource instances.
It allows to:
* Reduce code duplication associated to the template generation,
* Allow to test smaller methods,
* Add steps between the extraction and the generation (for
customization for example).
This change will be followed by daughter changes in order to:
* Improve tests by taking advantage of Resource use,
* Improve flameclient.flame by simplifying relationships between heat
template resources and also with parameters.
Change-Id: If5e26c6210145103e729d42b149f177439acaddb
Currently flame does not support deployment without cinder and crashs
on the first cinder request (even with --exclude-volumes option). This
change updates CinderManager to support such case.
Change-Id: I57a5b9049f9644e7fc1f5975b6b0683494271575
This change updates code to respect flake8/pep8 rules. It changes:
* correct KeystoneManager.set_client signature
* correct code indentation
* remove useless variables
* support py3X
* use netaddr instead of ipaddr (not supported by py34)
* use dict.values instead of dict.itervalues.
* correct tests
* "fake.networks[0]['router:external'] = True" update had side
effects on other tests, fake managers attributes are now builded
at instantiation to avoid such trouble.
Change-Id: I56943e198c3dc0e28be5f5b799e62f4a6427292c