community.general.one_service – Deploy and manage OpenNebula services
Note
This plugin is part of the community.general collection (version 3.8.1).
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
.
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 wheninstantiating 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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/one_service_module.html