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 when
instantiating 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