- Docs »
- community.general.one_service – Deploy and manage OpenNebula services
-
You are reading the latest community version of the Ansible documentation. Red Hat subscribers, select 2.9 in the version selection to the left for the most recent Red Hat release.
community.general.one_service – Deploy and manage OpenNebula services
Note
This plugin is part of the community.general collection (version 2.5.1).
To install it use: ansible-galaxy collection install community.general
.
To use it in a playbook, specify: community.general.one_service
.
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
|
Choices:
present ←
- absent
|
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
|
- 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
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
|