Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Gelencsér Szabolcs
/
vmdriver
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Wiki
Members
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
384d79c5
authored
Jun 05, 2014
by
Guba Sándor
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature-priority-queues'
parents
859d36fd
33abfb37
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
73 additions
and
18 deletions
+73
-18
miscellaneous/netcelery.conf
+2
-5
miscellaneous/node.conf
+27
-0
miscellaneous/vmcelery.conf
+2
-5
netcelery.py
+29
-5
vmcelery.py
+13
-3
No files found.
miscellaneous/netcelery.conf
View file @
384d79c5
description
"IK Cloud Django Development Server"
description
"IK Cloud Django Development Server"
start
on
runlevel
[
2345
]
stop
on
runlevel
[!
2345
]
respawn
respawn
respawn
limit
30
30
respawn
limit
30
30
setuid
cloud
setuid
cloud
setgid
libvirtd
setgid
libvirtd
instance
$
NAME
script
script
cd
/
home
/
cloud
/
vmdriver
cd
/
home
/
cloud
/
vmdriver
. /
home
/
cloud
/.
virtualenvs
/
vmdriver
/
local
/
bin
/
activate
. /
home
/
cloud
/.
virtualenvs
/
vmdriver
/
local
/
bin
/
activate
. /
home
/
cloud
/.
virtualenvs
/
vmdriver
/
local
/
bin
/
postactivate
. /
home
/
cloud
/.
virtualenvs
/
vmdriver
/
local
/
bin
/
postactivate
HOSTNAME
=$(
hostname
-
s
)
exec
celery
-
A
netcelery
worker
--
loglevel
=
info
-
n
${
NAME
}
exec
celery
-
A
netcelery
worker
--
loglevel
=
info
-
n
${
HOSTNAME
}.
netdriver
end
script
end
script
miscellaneous/node.conf
0 → 100644
View file @
384d79c5
description
"IK Cloud Django Development Server"
start
on
runlevel
[
2345
]
stop
on
runlevel
[!
2345
]
pre
-
start
script
hostname
=$(
hostname
-
s
)
for
inst
in
vm
.
fast
vm
.
slow
do
start
vmcelery
NAME
=$
hostname
.$
inst
|| :
done
for
inst
in
net
.
fast
do
start
netcelery
NAME
=$
hostname
.$
inst
|| :
done
end
script
post
-
stop
script
for
inst
in
`
initctl
list
|
grep
"^vmcelery "
|
awk
'{print $2}'
|
tr
-
d
')'
|
tr
-
d
'('
`
do
stop
vmcelery
NAME
=$
inst
|| :
done
for
inst
in
`
initctl
list
|
grep
"^netcelery "
|
awk
'{print $2}'
|
tr
-
d
')'
|
tr
-
d
'('
`
do
stop
netcelery
NAME
=$
inst
|| :
done
end
script
miscellaneous/vmcelery.conf
View file @
384d79c5
description
"IK Cloud Django Development Server"
description
"IK Cloud Django Development Server"
start
on
runlevel
[
2345
]
stop
on
runlevel
[!
2345
]
respawn
respawn
respawn
limit
30
30
respawn
limit
30
30
setuid
cloud
setuid
cloud
setgid
libvirtd
setgid
libvirtd
instance
$
NAME
script
script
cd
/
home
/
cloud
/
vmdriver
cd
/
home
/
cloud
/
vmdriver
. /
home
/
cloud
/.
virtualenvs
/
vmdriver
/
local
/
bin
/
activate
. /
home
/
cloud
/.
virtualenvs
/
vmdriver
/
local
/
bin
/
activate
. /
home
/
cloud
/.
virtualenvs
/
vmdriver
/
local
/
bin
/
postactivate
. /
home
/
cloud
/.
virtualenvs
/
vmdriver
/
local
/
bin
/
postactivate
HOSTNAME
=$(
hostname
-
s
)
exec
celery
-
A
vmcelery
worker
--
loglevel
=
info
-
n
$
NAME
exec
celery
-
A
vmcelery
worker
--
loglevel
=
info
-
n
${
HOSTNAME
}.
vmdriver
end
script
end
script
netcelery.py
View file @
384d79c5
""" Celery module for libvirt RPC calls. """
from
celery
import
Celery
from
celery
import
Celery
from
kombu
import
Queue
,
Exchange
from
kombu
import
Queue
,
Exchange
from
socket
import
gethostname
from
os
import
getenv
from
os
import
getenv
HOSTNAME
=
gethostname
()
from
argparse
import
ArgumentParser
parser
=
ArgumentParser
()
parser
.
add_argument
(
"-n"
,
"--hostname"
,
dest
=
"hostname"
,
help
=
"Define the full queue name with"
"with priority"
,
metavar
=
"hostname.queue.priority"
)
(
args
,
unknwon_args
)
=
parser
.
parse_known_args
()
HOSTNAME
=
vars
(
args
)
.
pop
(
"hostname"
)
if
HOSTNAME
is
None
:
raise
Exception
(
"You must define hostname as -n <hostname> or "
"--hostname=<hostname>.
\n
"
"Hostname format must be hostname.module.priority."
)
AMQP_URI
=
getenv
(
'AMQP_URI'
)
AMQP_URI
=
getenv
(
'AMQP_URI'
)
CACHE_URI
=
getenv
(
'CACHE_URI'
)
CACHE_URI
=
getenv
(
'CACHE_URI'
)
celery
=
Celery
(
'netdriver'
,
backend
=
'cache'
,
def
to_bool
(
value
):
return
value
.
lower
()
in
(
"true"
,
"yes"
,
"y"
,
"t"
)
lib_connection
=
None
celery
=
Celery
(
'netcelery'
,
broker
=
AMQP_URI
,
broker
=
AMQP_URI
,
include
=
[
'netdriver'
])
include
=
[
'netdriver'
])
celery
.
conf
.
update
(
celery
.
conf
.
update
(
CELERY_RESULT_BACKEND
=
'cache'
,
CELERY_CACHE_BACKEND
=
CACHE_URI
,
CELERY_CACHE_BACKEND
=
CACHE_URI
,
CELERY_TASK_RESULT_EXPIRES
=
300
,
CELERY_TASK_RESULT_EXPIRES
=
300
,
CELERY_QUEUES
=
(
CELERY_QUEUES
=
(
Queue
(
HOSTNAME
+
'.net'
,
Exchange
(
Queue
(
HOSTNAME
,
Exchange
(
'netdriver'
,
type
=
'direct'
),
routing_key
=
'netdriver'
),
'netdriver'
,
type
=
'direct'
),
routing_key
=
"netdriver"
),
)
)
)
)
if
to_bool
(
getenv
(
'LIBVIRT_KEEPALIVE'
,
"False"
)):
import
libvirt
lib_connection
=
libvirt
.
open
(
getenv
(
'LIBVIRT_URI'
))
vmcelery.py
View file @
384d79c5
""" Celery module for libvirt RPC calls. """
""" Celery module for libvirt RPC calls. """
from
celery
import
Celery
from
celery
import
Celery
from
kombu
import
Queue
,
Exchange
from
kombu
import
Queue
,
Exchange
from
socket
import
gethostname
from
os
import
getenv
from
os
import
getenv
from
argparse
import
ArgumentParser
parser
=
ArgumentParser
()
parser
.
add_argument
(
"-n"
,
"--hostname"
,
dest
=
"hostname"
,
help
=
"Define the full queue name with"
"with priority"
,
metavar
=
"hostname.queue.priority"
)
(
args
,
unknwon_args
)
=
parser
.
parse_known_args
()
HOSTNAME
=
vars
(
args
)
.
pop
(
"hostname"
)
if
HOSTNAME
is
None
:
raise
Exception
(
"You must define hostname as -n <hostname> or "
"--hostname=<hostname>.
\n
"
"Hostname format must be hostname.module.priority."
)
HOSTNAME
=
gethostname
()
AMQP_URI
=
getenv
(
'AMQP_URI'
)
AMQP_URI
=
getenv
(
'AMQP_URI'
)
CACHE_URI
=
getenv
(
'CACHE_URI'
)
CACHE_URI
=
getenv
(
'CACHE_URI'
)
...
@@ -24,7 +34,7 @@ celery.conf.update(
...
@@ -24,7 +34,7 @@ celery.conf.update(
CELERY_CACHE_BACKEND
=
CACHE_URI
,
CELERY_CACHE_BACKEND
=
CACHE_URI
,
CELERY_TASK_RESULT_EXPIRES
=
300
,
CELERY_TASK_RESULT_EXPIRES
=
300
,
CELERY_QUEUES
=
(
CELERY_QUEUES
=
(
Queue
(
HOSTNAME
+
'.vm'
,
Exchange
(
Queue
(
HOSTNAME
,
Exchange
(
'vmdriver'
,
type
=
'direct'
),
routing_key
=
"vmdriver"
),
'vmdriver'
,
type
=
'direct'
),
routing_key
=
"vmdriver"
),
)
)
)
)
...
...
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