one_service - Deploy and manage OpenNebula services
New in version 2.6.
Synopsis
- Manage OpenNebula services
Parameters
| Parameter | Choices/Defaults | Comments |
|---|---|---|
| api_password | 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 | 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 | 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 | Number of VMs for the specified role | |
| custom_attrs | Default: {} | Dictionary of key/value custom attributes which will be used when instantiating a new service. |
| force bool |
| Force the new cardinality even if it is outside the limits |
| group_id | ID of the group which will be set as the group of the service | |
| mode | 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 | ID of the user which will be set as the owner of the service | |
| role | Name of the role whose cardinality should be changed | |
| service_id | ID of a service instance that you would like to manage | |
| service_name | Name of a service instance that you would like to manage | |
| state |
| 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 | ID of a service template to use to create a new instance of a service | |
| template_name | Name of service template to use to create a new instace of a service | |
| unique bool |
| Setting unique=yes will make sure that there is only one service instance running with a name set with service_name wheninstantiating a service from a template specified with template_id/template_name. Check examples below. |
| wait bool |
| Wait for the instance to reach RUNNING state after DEPLOYING or COOLDOWN state after SCALING |
| wait_timeout | Default: 300 | How long before wait gives up, in seconds |
Examples
# Instantiate a new service
- one_service:
template_id: 90
register: result
# Print service properties
- debug:
msg: result
# Instantiate a new service with specified service_name, service group and mode
- one_service:
template_name: 'app1_template'
service_name: 'app1'
group_id: 1
mode: '660'
# Instantiate a new service with template_id and pass custom_attrs dict
- one_service:
template_id: 90
custom_attrs:
public_network_id: 21
private_network_id: 26
# Instiate a new service 'foo' if the service doesn't already exist, otherwise do nothing
- one_service:
template_id: 53
service_name: 'foo'
unique: yes
# Delete a service by ID
- one_service:
service_id: 153
state: absent
# Get service info
- one_service:
service_id: 153
register: service_info
# Change service owner, group and mode
- one_service:
service_name: 'app2'
owner_id: 34
group_id: 113
mode: '600'
# Instantiate service and wait for it to become RUNNING
- one_service:
template_id: 43
service_name: 'foo1'
# Wait service to become RUNNING
- one_service:
service_id: 112
wait: yes
# Change role cardinality
- one_service:
service_id: 153
role: bar
cardinality: 5
# Change role cardinality and wait for it to be applied
- 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 int | success | service's group id Sample: 1 |
| group_name string | success | service's group name Sample: one-users |
| mode int | success | service's mode Sample: 660 |
| owner_id int | success | service's owner id Sample: 143 |
| owner_name string | success | service's owner name Sample: ansible-test |
| roles list | 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 int | success | service id Sample: 153 |
| service_name string | success | service name Sample: app1 |
| state string | success | state of service instance Sample: RUNNING |
Status
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
Maintenance
This module is flagged as community which means that it is maintained by the Ansible Community. See Module Maintenance & Support for more info.
For a list of other modules that are also maintained by the Ansible Community, see here.
Author
- Milan Ilic (@ilicmilan)
Hint
If you notice any issues in this documentation you can edit this document to improve it.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/modules/one_service_module.html