On this page
community.general.one_service – Deploy and manage OpenNebula services
Note
This plugin is part of the community.general collection (version 1.3.2).
To install it use: ansible-galaxy collection install community.general.
To use it in a playbook, specify: community.general.one_service.
Synopsis
- Manage OpenNebula services
Parameters
| Parameter | Choices/Defaults | Comments |
|---|---|---|
| api_password
string
|
Password of the user to login into OpenNebula OneFlow API server. If not set then the value of the ONEFLOW_PASSWORD environment variable is used.
|
|
| api_url
string
|
URL of the OpenNebula OneFlow API server.
It is recommended to use HTTPS so that the username/password are not transferred over the network unencrypted.
If not set then the value of the ONEFLOW_URL environment variable is used.
|
|
| api_username
string
|
Name of the user to login into the OpenNebula OneFlow API server. If not set then the value of the ONEFLOW_USERNAME environment variable is used.
|
|
| cardinality
integer
|
Number of VMs for the specified role
|
|
| custom_attrs
dictionary
|
Default:
{}
|
Dictionary of key/value custom attributes which will be used when instantiating a new service.
|
| force
boolean
|
|
Force the new cardinality even if it is outside the limits
|
| group_id
integer
|
ID of the group which will be set as the group of the service
|
|
| mode
string
|
Set permission mode of a service instance in octet format, e.g. 600 to give owner use and manage and nothing to group and others.
|
|
| owner_id
integer
|
ID of the user which will be set as the owner of the service
|
|
| role
string
|
Name of the role whose cardinality should be changed
|
|
| service_id
integer
|
ID of a service instance that you would like to manage
|
|
| service_name
string
|
Name of a service instance that you would like to manage
|
|
| state
string
|
|
present - instantiate a service from a template specified with template_id/template_name.
absent - terminate an instance of a service specified with service_id/service_name.
|
| template_id
integer
|
ID of a service template to use to create a new instance of a service
|
|
| template_name
string
|
Name of service template to use to create a new instance of a service
|
|
| unique
boolean
|
|
Setting
unique=yes will make sure that there is only one service instance running with a name set with service_name when
instantiating a service from a template specified with template_id/template_name. Check examples below.
|
| wait
boolean
|
|
Wait for the instance to reach RUNNING state after DEPLOYING or COOLDOWN state after SCALING
|
| wait_timeout
integer
|
Default:
300
|
How long before wait gives up, in seconds
|
Examples
- name: Instantiate a new service
community.general.one_service:
template_id: 90
register: result
- name: Print service properties
ansible.builtin.debug:
msg: result
- name: Instantiate a new service with specified service_name, service group and mode
community.general.one_service:
template_name: 'app1_template'
service_name: 'app1'
group_id: 1
mode: '660'
- name: Instantiate a new service with template_id and pass custom_attrs dict
community.general.one_service:
template_id: 90
custom_attrs:
public_network_id: 21
private_network_id: 26
- name: Instantiate a new service 'foo' if the service doesn't already exist, otherwise do nothing
community.general.one_service:
template_id: 53
service_name: 'foo'
unique: yes
- name: Delete a service by ID
community.general.one_service:
service_id: 153
state: absent
- name: Get service info
community.general.one_service:
service_id: 153
register: service_info
- name: Change service owner, group and mode
community.general.one_service:
service_name: 'app2'
owner_id: 34
group_id: 113
mode: '600'
- name: Instantiate service and wait for it to become RUNNING
community.general.one_service:
template_id: 43
service_name: 'foo1'
- name: Wait service to become RUNNING
community.general.one_service:
service_id: 112
wait: yes
- name: Change role cardinality
community.general.one_service:
service_id: 153
role: bar
cardinality: 5
- name: Change role cardinality and wait for it to be applied
community.general.one_service:
service_id: 112
role: foo
cardinality: 7
wait: yes
Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description |
|---|---|---|
| group_id
integer
|
success |
service's group id
Sample:
1
|
| group_name
string
|
success |
service's group name
Sample:
one-users
|
| mode
integer
|
success |
service's mode
Sample:
660
|
| owner_id
integer
|
success |
service's owner id
Sample:
143
|
| owner_name
string
|
success |
service's owner name
Sample:
ansible-test
|
| roles
list / elements=string
|
success |
list of dictionaries of roles, each role is described by name, cardinality, state and nodes ids
Sample:
[{"cardinality": 1,"name": "foo","state": "RUNNING","ids": [ 123, 456 ]}, {"cardinality": 2,"name": "bar","state": "RUNNING", "ids": [ 452, 567, 746 ]}]
|
| service_id
integer
|
success |
service id
Sample:
153
|
| service_name
string
|
success |
service name
Sample:
app1
|
| state
string
|
success |
state of service instance
Sample:
RUNNING
|
Authors
- Milan Ilic (@ilicmilan)
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/general/one_service_module.html