community.general.one_service – Deploy and manage OpenNebula services
Note
This plugin is part of the community.general collection (version 3.8.3).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install community.general
.
To use it in a playbook, specify: community.general.one_service
.
Parameters
Parameter |
Comments |
---|---|
Password of the user to login into OpenNebula OneFlow API server. If not set then the value of the |
|
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. |
|
Name of the user to login into the OpenNebula OneFlow API server. If not set then the value of the |
|
Number of VMs for the specified role |
|
Dictionary of key/value custom attributes which will be used when instantiating a new service. Default: {} |
|
Force the new cardinality even if it is outside the limits Choices:
|
|
ID of the group which will be set as the group of the service |
|
Set permission mode of a service instance in octet format, e.g. |
|
ID of the user which will be set as the owner of the service |
|
Name of the role whose cardinality should be changed |
|
ID of a service instance that you would like to manage |
|
Name of a service instance that you would like to manage |
|
Choices:
|
|
ID of a service template to use to create a new instance of a service |
|
Name of service template to use to create a new instance of a service |
|
Setting instantiating a service from a template specified with Choices:
|
|
Wait for the instance to reach RUNNING state after DEPLOYING or COOLDOWN state after SCALING Choices:
|
|
How long before wait gives up, in seconds Default: 300 |
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 |
Description |
---|---|
service’s group id Returned: success Sample: 1 |
|
service’s group name Returned: success Sample: “one-users” |
|
service’s mode Returned: success Sample: 660 |
|
service’s owner id Returned: success Sample: 143 |
|
service’s owner name Returned: success Sample: “ansible-test” |
|
list of dictionaries of roles, each role is described by name, cardinality, state and nodes ids Returned: success Sample: “[{\”cardinality\”: 1,\”name\”: \”foo\”,\”state\”: \”RUNNING\”,\”ids\”: [ 123, 456 ]}, {\”cardinality\”: 2,\”name\”: \”bar\”,\”state\”: \”RUNNING\”, \”ids\”: [ 452, 567, 746 ]}]” |
|
service id Returned: success Sample: 153 |
|
service name Returned: success Sample: “app1” |
|
state of service instance Returned: success Sample: “RUNNING” |
Authors
Milan Ilic (@ilicmilan)