No description
Find a file
maorlipchuk 6fe0215c8f Add additional mapping attributes for VM/Template registration (#32835)
* Add VnicProfileMapping to register VM

Add vnic profile mappings to be supported in vm registration

* Add VnicProfileMapping to register template

Add vnic profile mappings to be supported in template registration

* Add reassign bad macs to register VM

Add reassign bad macs to be supported in vm registration.

* Add additional mappings params for VM registration

As part of the effort to support DR with oVirt
the "Register" operation is being added with a new mapping parameter
that describes the configuration of the registration.

The idea of supporting DR site to site in oVirt is to have 2 active
setups using storage replication between the primary setup and the
secondary setup.
Both setups will have active DCs, clusters, and hosts, although those
will not be identical.
The user can define a mapping which will be used to recover its setup.

Each mapping can be used to map any VM's attribute stored in the OVF
with its correlated entity.
For example, there could be a primary setup with a VM configured on cluster A.
We also keep an active secondary setup which only have cluster B.
Cluster B is compatible for that VM and in case of a DR scenario theoretically
the storage domain can be imported to the secondary setup and the use can
register the VM to cluster B.

In that case, we can automate the recovery process by defining a cluster mapping,
so once the entity will be registered its OVF will indicate it belongs to
cluster A but the mapping which will be sent will indicate that cluster B should
be valid for every thing that is configured on cluster A.
The engine should do the switch, and register the VM to cluster B in the secondary site.

Cluster mapping is just one example.
The following list describes the different mappings which were
introduced:
  LUN mapping
  Role mapping
  Permissions mapping
  Affinity group mapping
  Affinity label mapping

Each mapping will be used for its specific OVF's data once the register operation
will take place in the engine.

* Add additional mappings params for Template registration

As part of the effort to support DR with oVirt
the "Register" operation is being added with a new mapping parameter
that describes the configuration of the registration.

The idea of supporting DR site to site in oVirt is to have 2 active
setups using storage replication between the primary setup and the
secondary setup.
Both setups will have active DCs, clusters, and hosts, although those
will not be identical.
The user can define a mapping which will be used to recover its setup.

Each mapping can be used to map any Template's attribute stored in the OVF
with its correlated entity.
For example, there could be a primary setup with a Template configured on cluster A.
We also keep an active secondary setup which only have cluster B.
Cluster B is compatible for that Template and in case of a DR scenario theoretically
the storage domain can be imported to the secondary setup and the use can
register the Template to cluster B.

In that case, we can automate the recovery process by defining a cluster mapping,
so once the entity will be registered its OVF will indicate it belongs to
cluster A but the mapping which will be sent will indicate that cluster B should
be valid for every thing that is configured on cluster A.
The engine should do the switch, and register the Template to cluster B in the
secondary site.

Cluster mapping is just one example.
The following list describes the different mappings which were
introduced:
  Role mapping
  Permissions mapping

Each mapping will be used for its specific OVF's data once the register operation
will take place in the engine.

* Add support for update OVF store

Add support for task of update OVF store in a storage domain.
2018-01-16 07:14:29 -05:00
.github Mellanox OS name change: MLNXOS changed to ONYX (#34753) 2018-01-11 22:21:17 +00:00
bin Error early if executing python version doesn't meet documented minimums (#34655) 2018-01-09 16:17:55 -06:00
contrib freeipa: support for host vars (#34535) 2018-01-15 13:57:30 +05:30
docs Temporary (#31677) 2018-01-15 21:15:04 -08:00
examples Python 2.6 str.format() compatibility fixes. 2018-01-10 14:08:11 -08:00
hacking Python 2.6 str.format() compatibility fixes. 2018-01-10 14:08:11 -08:00
lib/ansible Add additional mapping attributes for VM/Template registration (#32835) 2018-01-16 07:14:29 -05:00
licenses Create a short license for PSF and MIT. (#32212) 2017-11-06 10:25:30 -08:00
packaging [new module] adding azure_rm_postgresqlserver (#33569) 2018-01-10 14:39:26 +10:00
test nmcli: Add ipv4.dns-search attribute (#34261) 2018-01-16 08:58:40 +01:00
ticket_stubs add bug_internal_api.md to ticket_stubs (#34370) 2018-01-03 09:46:10 -06:00
.coveragerc Docker image updates for integration tests. (#26054) 2017-06-23 12:45:38 -07:00
.gitattributes avoid exporting files useless to dist 2017-06-23 15:56:43 -04:00
.gitignore Keywords docs (#32807) 2017-11-10 16:59:26 -08:00
.gitmodules
.mailmap Fix syntax typo 2017-12-24 12:16:17 +01:00
.yamllint
ansible-core-sitemap.xml Remove remnants of obsolete fireball mode. 2016-12-09 16:56:34 -07:00
CHANGELOG.md Add terraform module to changelog 2018-01-10 14:18:53 -05:00
CODING_GUIDELINES.md PEP8 set the line limit (#32578) 2017-11-06 13:38:54 +01:00
CONTRIBUTING.md Update CONTRIBUTING.md to point to the right stuff (#32258) 2017-10-27 11:27:25 -04:00
COPYING
docsite_requirements.txt Fixes the build issue pertaining to sphinx-build which is required to build ansible (#22480) 2017-03-14 14:19:46 -07:00
Makefile Fix make clean to remove test reports correctly 2017-09-18 16:49:16 -07:00
MANIFEST.in powershell setup fixes (#27516) 2017-07-31 12:16:26 -07:00
MODULE_GUIDELINES.md Moving guidelines to the official docs (#32260) 2017-10-27 11:40:42 -04:00
README.md devel usage README update (#30369) 2017-09-14 10:48:58 -07:00
RELEASES.txt updated from stable.24 2018-01-04 13:35:15 -05:00
requirements.txt Cyptography pr 20566 rebase (#25560) 2017-06-27 06:00:15 -07:00
ROADMAP.rst No hardcoding roadmaps (#32981) 2017-11-16 08:03:10 -08:00
setup.py set the zip_safe flag to False (#32194) 2017-10-27 12:47:45 -04:00
shippable.yml Split Windows tests into 4 groups. 2018-01-12 00:48:32 -08:00
tox.ini Fail hard when tests pass that are expected to fail 2017-12-21 10:27:38 -08:00
VERSION Bump the versions now that devel is 2.5 2017-09-06 13:13:57 -07:00

PyPI version Build Status

Ansible

Ansible is a radically simple IT automation system. It handles configuration-management, application deployment, cloud provisioning, ad-hoc task-execution, and multinode orchestration - including trivializing things like zero downtime rolling updates with load balancers.

Read the documentation and more at https://ansible.com/

You can find installation instructions here for a variety of platforms. Most users should probably install a released version of Ansible from pip, a package manager or our release repository. Officially supported builds of Ansible are also available. Some power users run directly from the development branch - while significant efforts are made to ensure that devel is reasonably stable, you're more likely to encounter breaking changes when running Ansible this way.

Design Principles

  • Have a dead simple setup process and a minimal learning curve
  • Manage machines very quickly and in parallel
  • Avoid custom-agents and additional open ports, be agentless by leveraging the existing SSH daemon
  • Describe infrastructure in a language that is both machine and human friendly
  • Focus on security and easy auditability/review/rewriting of content
  • Manage new remote machines instantly, without bootstrapping any software
  • Allow module development in any dynamic language, not just Python
  • Be usable as non-root
  • Be the easiest IT automation system to use, ever.

Get Involved

  • Read Community Information for all kinds of ways to contribute to and interact with the project, including mailing list information and how to submit bug reports and code to Ansible.
  • All code submissions are done through pull requests. Take care to make sure no merge commits are in the submission, and use git rebase vs git merge for this reason. If submitting a large code change (other than modules), it's probably a good idea to join ansible-devel and talk about what you would like to do or add first and to avoid duplicate efforts. This not only helps everyone know what's going on, it also helps save time and effort if we decide some changes are needed.
  • Users list: ansible-project
  • Development list: ansible-devel
  • Announcement list: ansible-announce - read only
  • irc.freenode.net: #ansible

Branch Info

  • Releases are named after Led Zeppelin songs. (Releases prior to 2.0 were named after Van Halen songs.)
  • The devel branch corresponds to the release actively under development.
  • Various release-X.Y branches exist for previous releases.
  • We'd love to have your contributions, read Community Information for notes on how to get started.

Authors

Ansible was created by Michael DeHaan (michael.dehaan/gmail/com) and has contributions from over 1000 users (and growing). Thanks everyone!

Ansible is sponsored by Ansible, Inc

License

GNU General Public License v3.0

See COPYING to see the full text.