Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
ansible
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
OpenEdx
ansible
Commits
facf2c95
Commit
facf2c95
authored
Aug 08, 2014
by
Matt Martz
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Dedupe code and switch to shared doc fragments
parent
26ea9108
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
54 additions
and
183 deletions
+54
-183
library/cloud/rax_cdb
+33
-88
library/cloud/rax_cdb_database
+11
-50
library/cloud/rax_cdb_user
+10
-45
No files found.
library/cloud/rax_cdb
View file @
facf2c95
...
@@ -14,35 +14,18 @@
...
@@ -14,35 +14,18 @@
# You should have received a copy of the GNU General Public License
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
# This is a DOCUMENTATION stub specific to this module, it extends
# a documentation fragment located in ansible.utils.module_docs_fragments
DOCUMENTATION
=
'''
DOCUMENTATION
=
'''
---
---
module: rax_cdb
module: rax_cdb
short_description: create
/
delete or resize a Rackspace Cloud Databases instance
short_description: create
/
delete or resize a Rackspace Cloud Databases instance
description:
description:
- creates / deletes or resize a Rackspace Cloud Databases instance
- creates / deletes or resize a Rackspace Cloud Databases instance
and optionally waits for it to be 'running'. The name option needs to be
unique since
and optionally waits for it to be 'running'. The name option needs to be
it's used to identify the instance.
unique since
it's used to identify the instance.
version_added: "1.8"
version_added: "1.8"
options:
options:
api_key:
description:
- Rackspace API key (overrides I(credentials))
aliases:
- password
credentials:
description:
- File to find the Rackspace credentials in (ignored if I(api_key) and
I(username) are provided)
default: null
aliases:
- creds_file
region:
description:
- Region to create an instance in
default: DFW
username:
description:
- Rackspace username (overrides I(credentials))
name:
name:
description:
description:
- Name of the databases server instance
- Name of the databases server instance
...
@@ -69,15 +52,8 @@ options:
...
@@ -69,15 +52,8 @@ options:
description:
description:
- how long before wait gives up, in seconds
- how long before wait gives up, in seconds
default: 300
default: 300
requirements: [ "pyrax" ]
author: Simon JAILLET
author: Simon JAILLET
notes:
extends_documentation_fragment: rackspace
- The following environment variables can be used, C(RAX_USERNAME),
C(RAX_API_KEY), C(RAX_CREDS_FILE), C(RAX_CREDENTIALS), C(RAX_REGION).
- C(RAX_CREDENTIALS) and C(RAX_CREDS_FILE) points to a credentials file
appropriate for pyrax. See U(https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#authenticating)
- C(RAX_USERNAME) and C(RAX_API_KEY) obviate the use of a credentials file
- C(RAX_REGION) defines a Rackspace Public Cloud region (DFW, ORD, LON, ...)
'''
'''
EXAMPLES
=
'''
EXAMPLES
=
'''
...
@@ -97,25 +73,11 @@ EXAMPLES = '''
...
@@ -97,25 +73,11 @@ EXAMPLES = '''
register: rax_db_server
register: rax_db_server
'''
'''
import
sys
from
types
import
NoneType
try
:
try
:
import
pyrax
import
pyrax
HAS_PYRAX
=
True
except
ImportError
:
except
ImportError
:
print
(
"failed=True msg='pyrax is required for this module'"
)
HAS_PYRAX
=
False
sys
.
exit
(
1
)
NON_CALLABLES
=
(
basestring
,
bool
,
dict
,
int
,
list
,
NoneType
)
def
to_dict
(
obj
):
instance
=
{}
for
key
in
dir
(
obj
):
value
=
getattr
(
obj
,
key
)
if
(
isinstance
(
value
,
NON_CALLABLES
)
and
not
key
.
startswith
(
'_'
)):
instance
[
key
]
=
value
return
instance
def
find_instance
(
name
):
def
find_instance
(
name
):
...
@@ -168,45 +130,31 @@ def save_instance(module, name, flavor, volume, wait, wait_timeout):
...
@@ -168,45 +130,31 @@ def save_instance(module, name, flavor, volume, wait, wait_timeout):
if
instance
.
volume
.
size
!=
volume
:
if
instance
.
volume
.
size
!=
volume
:
action
=
'resize'
action
=
'resize'
if
instance
.
volume
.
size
>
volume
:
if
instance
.
volume
.
size
>
volume
:
module
.
fail_json
(
module
.
fail_json
(
changed
=
False
,
action
=
action
,
changed
=
False
,
msg
=
'The new volume size must be larger than '
action
=
action
,
'the current volume size'
,
msg
=
'The new volume size must be larger than the'
cdb
=
rax_to_dict
(
instance
))
' current volume size'
,
cdb
=
to_dict
(
instance
)
)
instance
.
resize_volume
(
volume
)
instance
.
resize_volume
(
volume
)
changed
=
True
changed
=
True
if
int
(
instance
.
flavor
.
id
)
!=
flavor
:
if
int
(
instance
.
flavor
.
id
)
!=
flavor
:
action
=
'resize'
action
=
'resize'
pyrax
.
utils
.
wait_until
(
pyrax
.
utils
.
wait_until
(
instance
,
'status'
,
'ACTIVE'
,
instance
,
attempts
=
wait_timeout
)
'status'
,
'ACTIVE'
,
attempts
=
wait_timeout
)
instance
.
resize
(
flavor
)
instance
.
resize
(
flavor
)
changed
=
True
changed
=
True
if
wait
:
if
wait
:
pyrax
.
utils
.
wait_until
(
pyrax
.
utils
.
wait_until
(
instance
,
'status'
,
'ACTIVE'
,
instance
,
attempts
=
wait_timeout
)
'status'
,
'ACTIVE'
,
attempts
=
wait_timeout
)
if
wait
and
instance
.
status
!=
'ACTIVE'
:
if
wait
and
instance
.
status
!=
'ACTIVE'
:
module
.
fail_json
(
module
.
fail_json
(
changed
=
changed
,
action
=
action
,
changed
=
changed
,
cdb
=
rax_to_dict
(
instance
),
action
=
action
,
msg
=
'Timeout waiting for "
%
s" databases instance to '
cdb
=
to_dict
(
instance
),
'be created'
%
name
)
msg
=
'Timeout waiting for "
%
s" databases instance to be '
'created'
%
name
)
module
.
exit_json
(
changed
=
changed
,
action
=
action
,
cdb
=
to_dict
(
instance
))
module
.
exit_json
(
changed
=
changed
,
action
=
action
,
cdb
=
rax_
to_dict
(
instance
))
def
delete_instance
(
module
,
name
,
wait
,
wait_timeout
):
def
delete_instance
(
module
,
name
,
wait
,
wait_timeout
):
...
@@ -228,23 +176,17 @@ def delete_instance(module, name, wait, wait_timeout):
...
@@ -228,23 +176,17 @@ def delete_instance(module, name, wait, wait_timeout):
changed
=
True
changed
=
True
if
wait
:
if
wait
:
pyrax
.
utils
.
wait_until
(
pyrax
.
utils
.
wait_until
(
instance
,
'status'
,
'SHUTDOWN'
,
instance
,
attempts
=
wait_timeout
)
'status'
,
'SHUTDOWN'
,
attempts
=
wait_timeout
)
if
wait
and
instance
.
status
!=
'SHUTDOWN'
:
if
wait
and
instance
.
status
!=
'SHUTDOWN'
:
module
.
fail_json
(
module
.
fail_json
(
changed
=
changed
,
action
=
'delete'
,
changed
=
changed
,
cdb
=
rax_to_dict
(
instance
),
action
=
'delete'
,
msg
=
'Timeout waiting for "
%
s" databases instance to '
cdb
=
to_dict
(
instance
),
'be deleted'
%
name
)
msg
=
'Timeout waiting for "
%
s" databases instance to be '
'deleted'
%
name
)
module
.
exit_json
(
changed
=
changed
,
action
=
'delete'
,
cdb
=
to_dict
(
instance
))
module
.
exit_json
(
changed
=
changed
,
action
=
'delete'
,
cdb
=
rax_to_dict
(
instance
))
def
rax_cdb
(
module
,
state
,
name
,
flavor
,
volume
,
wait
,
wait_timeout
):
def
rax_cdb
(
module
,
state
,
name
,
flavor
,
volume
,
wait
,
wait_timeout
):
...
@@ -274,6 +216,9 @@ def main():
...
@@ -274,6 +216,9 @@ def main():
required_together
=
rax_required_together
(),
required_together
=
rax_required_together
(),
)
)
if
not
HAS_PYRAX
:
module
.
fail_json
(
msg
=
'pyrax is required for this module'
)
name
=
module
.
params
.
get
(
'name'
)
name
=
module
.
params
.
get
(
'name'
)
flavor
=
module
.
params
.
get
(
'flavor'
)
flavor
=
module
.
params
.
get
(
'flavor'
)
volume
=
module
.
params
.
get
(
'volume'
)
volume
=
module
.
params
.
get
(
'volume'
)
...
@@ -289,5 +234,5 @@ def main():
...
@@ -289,5 +234,5 @@ def main():
from
ansible.module_utils.basic
import
*
from
ansible.module_utils.basic
import
*
from
ansible.module_utils.rax
import
*
from
ansible.module_utils.rax
import
*
#
##
invoke the module
# invoke the module
main
()
main
()
library/cloud/rax_cdb_database
View file @
facf2c95
...
@@ -14,6 +14,8 @@
...
@@ -14,6 +14,8 @@
# You should have received a copy of the GNU General Public License
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
# This is a DOCUMENTATION stub specific to this module, it extends
# a documentation fragment located in ansible.utils.module_docs_fragments
DOCUMENTATION
=
'''
DOCUMENTATION
=
'''
module: rax_cdb_database
module: rax_cdb_database
short_description: 'create / delete a database in the Cloud Databases'
short_description: 'create / delete a database in the Cloud Databases'
...
@@ -21,25 +23,6 @@ description:
...
@@ -21,25 +23,6 @@ description:
- create / delete a database in the Cloud Databases.
- create / delete a database in the Cloud Databases.
version_added: "1.8"
version_added: "1.8"
options:
options:
api_key:
description:
- Rackspace API key (overrides I(credentials))
aliases:
- password
credentials:
description:
- File to find the Rackspace credentials in (ignored if I(api_key) and
I(username) are provided)
default: null
aliases:
- creds_file
region:
description:
- Region to create an instance in
default: DFW
username:
description:
- Rackspace username (overrides I(credentials))
cdb_id:
cdb_id:
description:
description:
- The databases server UUID
- The databases server UUID
...
@@ -61,16 +44,8 @@ options:
...
@@ -61,16 +44,8 @@ options:
- Indicate desired state of the resource
- Indicate desired state of the resource
choices: ['present', 'absent']
choices: ['present', 'absent']
default: present
default: present
requirements:
- "pyrax"
author: Simon JAILLET
author: Simon JAILLET
notes:
extends_documentation_fragment: rackspace
- The following environment variables can be used, C(RAX_USERNAME),
C(RAX_API_KEY), C(RAX_CREDS_FILE), C(RAX_CREDENTIALS), C(RAX_REGION).
- C(RAX_CREDENTIALS) and C(RAX_CREDS_FILE) points to a credentials file
appropriate for pyrax. See U(https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#authenticating)
- C(RAX_USERNAME) and C(RAX_API_KEY) obviate the use of a credentials file
- C(RAX_REGION) defines a Rackspace Public Cloud region (DFW, ORD, LON, ...)
'''
'''
EXAMPLES
=
'''
EXAMPLES
=
'''
...
@@ -87,25 +62,11 @@ EXAMPLES = '''
...
@@ -87,25 +62,11 @@ EXAMPLES = '''
register: rax_db_database
register: rax_db_database
'''
'''
import
sys
from
types
import
NoneType
try
:
try
:
import
pyrax
import
pyrax
HAS_PYRAX
=
True
except
ImportError
:
except
ImportError
:
print
(
"failed=True msg='pyrax is required for this module'"
)
HAS_PYRAX
=
False
sys
.
exit
(
1
)
NON_CALLABLES
=
(
basestring
,
bool
,
dict
,
int
,
list
,
NoneType
)
def
to_dict
(
obj
):
instance
=
{}
for
key
in
dir
(
obj
):
value
=
getattr
(
obj
,
key
)
if
(
isinstance
(
value
,
NON_CALLABLES
)
and
not
key
.
startswith
(
'_'
)):
instance
[
key
]
=
value
return
instance
def
find_database
(
instance
,
name
):
def
find_database
(
instance
,
name
):
...
@@ -145,11 +106,8 @@ def save_database(module, cdb_id, name, character_set, collate):
...
@@ -145,11 +106,8 @@ def save_database(module, cdb_id, name, character_set, collate):
else
:
else
:
changed
=
True
changed
=
True
module
.
exit_json
(
module
.
exit_json
(
changed
=
changed
,
action
=
'create'
,
changed
=
changed
,
database
=
rax_to_dict
(
database
))
action
=
'create'
,
database
=
to_dict
(
database
)
)
def
delete_database
(
module
,
cdb_id
,
name
):
def
delete_database
(
module
,
cdb_id
,
name
):
...
@@ -207,6 +165,9 @@ def main():
...
@@ -207,6 +165,9 @@ def main():
required_together
=
rax_required_together
(),
required_together
=
rax_required_together
(),
)
)
if
not
HAS_PYRAX
:
module
.
fail_json
(
msg
=
'pyrax is required for this module'
)
cdb_id
=
module
.
params
.
get
(
'cdb_id'
)
cdb_id
=
module
.
params
.
get
(
'cdb_id'
)
name
=
module
.
params
.
get
(
'name'
)
name
=
module
.
params
.
get
(
'name'
)
character_set
=
module
.
params
.
get
(
'character_set'
)
character_set
=
module
.
params
.
get
(
'character_set'
)
...
@@ -221,5 +182,5 @@ def main():
...
@@ -221,5 +182,5 @@ def main():
from
ansible.module_utils.basic
import
*
from
ansible.module_utils.basic
import
*
from
ansible.module_utils.rax
import
*
from
ansible.module_utils.rax
import
*
#
##
invoke the module
# invoke the module
main
()
main
()
library/cloud/rax_cdb_user
View file @
facf2c95
...
@@ -14,6 +14,8 @@
...
@@ -14,6 +14,8 @@
# You should have received a copy of the GNU General Public License
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
# This is a DOCUMENTATION stub specific to this module, it extends
# a documentation fragment located in ansible.utils.module_docs_fragments
DOCUMENTATION
=
'''
DOCUMENTATION
=
'''
---
---
module: rax_cdb_user
module: rax_cdb_user
...
@@ -22,25 +24,6 @@ description:
...
@@ -22,25 +24,6 @@ description:
- create / delete a database in the Cloud Databases.
- create / delete a database in the Cloud Databases.
version_added: "1.8"
version_added: "1.8"
options:
options:
api_key:
description:
- Rackspace API key (overrides I(credentials))
aliases:
- password
credentials:
description:
- File to find the Rackspace credentials in (ignored if I(api_key) and
I(username) are provided)
default: null
aliases:
- creds_file
region:
description:
- Region to create an instance in
default: DFW
username:
description:
- Rackspace username (overrides I(credentials))
cdb_id:
cdb_id:
description:
description:
- The databases server UUID
- The databases server UUID
...
@@ -68,15 +51,8 @@ options:
...
@@ -68,15 +51,8 @@ options:
- Indicate desired state of the resource
- Indicate desired state of the resource
choices: ['present', 'absent']
choices: ['present', 'absent']
default: present
default: present
requirements: [ "pyrax" ]
author: Simon JAILLET
author: Simon JAILLET
notes:
extends_documentation_fragment: rackspace
- The following environment variables can be used, C(RAX_USERNAME),
C(RAX_API_KEY), C(RAX_CREDS_FILE), C(RAX_CREDENTIALS), C(RAX_REGION).
- C(RAX_CREDENTIALS) and C(RAX_CREDS_FILE) points to a credentials file
appropriate for pyrax. See U(https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#authenticating)
- C(RAX_USERNAME) and C(RAX_API_KEY) obviate the use of a credentials file
- C(RAX_REGION) defines a Rackspace Public Cloud region (DFW, ORD, LON, ...)
'''
'''
EXAMPLES
=
'''
EXAMPLES
=
'''
...
@@ -95,25 +71,11 @@ EXAMPLES = '''
...
@@ -95,25 +71,11 @@ EXAMPLES = '''
register: rax_db_user
register: rax_db_user
'''
'''
import
sys
from
types
import
NoneType
try
:
try
:
import
pyrax
import
pyrax
HAS_PYRAX
=
True
except
ImportError
:
except
ImportError
:
print
(
"failed=True msg='pyrax is required for this module'"
)
HAS_PYRAX
=
False
sys
.
exit
(
1
)
NON_CALLABLES
=
(
basestring
,
bool
,
dict
,
int
,
list
,
NoneType
)
def
to_dict
(
obj
):
instance
=
{}
for
key
in
dir
(
obj
):
value
=
getattr
(
obj
,
key
)
if
(
isinstance
(
value
,
NON_CALLABLES
)
and
not
key
.
startswith
(
'_'
)):
instance
[
key
]
=
value
return
instance
def
find_user
(
instance
,
name
):
def
find_user
(
instance
,
name
):
...
@@ -177,7 +139,7 @@ def save_user(module, cdb_id, name, password, databases, host):
...
@@ -177,7 +139,7 @@ def save_user(module, cdb_id, name, password, databases, host):
else
:
else
:
changed
=
True
changed
=
True
module
.
exit_json
(
changed
=
changed
,
action
=
action
,
user
=
to_dict
(
user
))
module
.
exit_json
(
changed
=
changed
,
action
=
action
,
user
=
rax_
to_dict
(
user
))
def
delete_user
(
module
,
cdb_id
,
name
):
def
delete_user
(
module
,
cdb_id
,
name
):
...
@@ -236,6 +198,9 @@ def main():
...
@@ -236,6 +198,9 @@ def main():
required_together
=
rax_required_together
(),
required_together
=
rax_required_together
(),
)
)
if
not
HAS_PYRAX
:
module
.
fail_json
(
msg
=
'pyrax is required for this module'
)
cdb_id
=
module
.
params
.
get
(
'cdb_id'
)
cdb_id
=
module
.
params
.
get
(
'cdb_id'
)
name
=
module
.
params
.
get
(
'db_username'
)
name
=
module
.
params
.
get
(
'db_username'
)
password
=
module
.
params
.
get
(
'db_password'
)
password
=
module
.
params
.
get
(
'db_password'
)
...
@@ -251,5 +216,5 @@ def main():
...
@@ -251,5 +216,5 @@ def main():
from
ansible.module_utils.basic
import
*
from
ansible.module_utils.basic
import
*
from
ansible.module_utils.rax
import
*
from
ansible.module_utils.rax
import
*
#
##
invoke the module
# invoke the module
main
()
main
()
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment