Name: osslm-ansible-resource-manager
Owner: International Business Machines
Description: osslm-ansible-adaptor
Created: 2017-10-09 17:16:52.0
Updated: 2018-05-11 07:12:28.0
Pushed: 2018-05-11 07:12:27.0
Homepage: null
Size: 508
Language: Python
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
For a more detailed overview and context of this project reference the opensource service lifecycle management project
This project provides a resource manager (RM) for the IBM Agile Lifecycle Manager (ALM) v1.2 based on ansible (see https://www.ansible.com/ ).
It uses a plain out-of-the-box ansible, ie. not ansible-tower, so no REST APIs are available. The ALM-RM API is built using swagger 2.0, and the python-flask server code generator.
It implements the ALM Resource Manager v1.1.2 API Specification and supports sync (REST) as well as async (kafka) mode of operations. The resource packages are expected to be in a folder on the shared file system. Requests, locations and instances are persisted in a cassandra db. It is tested against ALM v1.2
The current architecture:
This resource manager is packaged in two docker containers managed by docker-compose.
Folders for logging, keys and resources are shared with the host.
You should find them in <install_dir>/var_alm_ansible_rm/driver/
The images have been tested on MacOS 10.12 and ubuntu xenial
The steps to install this resource manager are described here.
There is an example hello-world resource to test and explore a run-through
Here is an example of location properties for an openstack tenant:
h_pwd": "mypass",
h_url": "http://osserver:35357/v2.0",
h_user": "admin",
ject": "admin"
This resource manager also supports the openstack python openstack client config files for details. To use client config:
erver:
oud: {{ cloud }}
me: ...
All location properties are passed to your ansible playbooks. So the location properties you need to specify depend on your ansible playbooks (e.g. how you connect to the openstack region). If your playbook connects to locations other than an openstack, just add all required properties to the location properties.
The shared file system exposes these directories:
alm_ansible_rm/cassandra - all cassandra files
alm_ansible_rm/driver
logs - the driver log files
resources - put your component packages here
keys - keypairs created by the playbooks
licenses - license files for VNFs
libraries - 3rd party ansible modules
clouds - the cloud.yaml file to capture openstack cloud credentials
There is a set of requirements that need to be implemented in your ansible playbooks and roles so that this resource manager can successfully run these playbooks.