Renamed solard to solar_agent, moved transports and examples
This commit is contained in:
parent
ed283a38c7
commit
9e8009b8cb
@ -206,26 +206,26 @@ def setup_haproxies():
|
|||||||
|
|
||||||
@click.command()
|
@click.command()
|
||||||
@click.argument('i', type=int, required=True)
|
@click.argument('i', type=int, required=True)
|
||||||
def add_solard(i):
|
def add_solar_agent(i):
|
||||||
solard_transport = vr.create('solard_transport%s' % i, 'resources/transport_solard',
|
solar_agent_transport = vr.create('solar_agent_transport%s' % i, 'resources/transport_solar_agent',
|
||||||
{'solard_user': 'vagrant',
|
{'solar_agent_user': 'vagrant',
|
||||||
'solard_password': 'password'})[0]
|
'solar_agent_password': 'password'})[0]
|
||||||
transports = resource.load('transports%s' % i)
|
transports = resource.load('transports%s' % i)
|
||||||
ssh_transport = resource.load('ssh_transport%s' % i)
|
ssh_transport = resource.load('ssh_transport%s' % i)
|
||||||
transports_for_solard = vr.create('transports_for_solard%s' % i, 'resources/transports')[0]
|
transports_for_solar_agent = vr.create('transports_for_solar_agent%s' % i, 'resources/transports')[0]
|
||||||
|
|
||||||
# install solard with ssh
|
# install solar_agent with ssh
|
||||||
signals.connect(transports_for_solard, solard_transport, {})
|
signals.connect(transports_for_solar_agent, solar_agent_transport, {})
|
||||||
|
|
||||||
signals.connect(ssh_transport, transports_for_solard, {'ssh_key': 'transports:key',
|
signals.connect(ssh_transport, transports_for_solar_agent, {'ssh_key': 'transports:key',
|
||||||
'ssh_user': 'transports:user',
|
'ssh_user': 'transports:user',
|
||||||
'ssh_port': 'transports:port',
|
'ssh_port': 'transports:port',
|
||||||
'name': 'transports:name'})
|
'name': 'transports:name'})
|
||||||
|
|
||||||
# add solard to transports on this node
|
# add solar_agent to transports on this node
|
||||||
signals.connect(solard_transport, transports, {'solard_user': 'transports:user',
|
signals.connect(solar_agent_transport, transports, {'solar_agent_user': 'transports:user',
|
||||||
'solard_port': 'transports:port',
|
'solar_agent_port': 'transports:port',
|
||||||
'solard_password': 'transports:password',
|
'solar_agent_password': 'transports:password',
|
||||||
'name': 'transports:name'})
|
'name': 'transports:name'})
|
||||||
|
|
||||||
|
|
||||||
@ -252,7 +252,7 @@ def undeploy():
|
|||||||
main.add_command(deploy)
|
main.add_command(deploy)
|
||||||
main.add_command(undeploy)
|
main.add_command(undeploy)
|
||||||
main.add_command(add_haproxies)
|
main.add_command(add_haproxies)
|
||||||
main.add_command(add_solard)
|
main.add_command(add_solar_agent)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
@ -17,18 +17,18 @@ def run():
|
|||||||
})[0]
|
})[0]
|
||||||
|
|
||||||
transports = vr.create('transports_node1', 'resources/transports')[0]
|
transports = vr.create('transports_node1', 'resources/transports')[0]
|
||||||
transports_for_solard = vr.create('transports_for_solard', 'resources/transports')[0]
|
transports_for_solar_agent = vr.create('transports_for_solar_agent', 'resources/transports')[0]
|
||||||
|
|
||||||
ssh_transport = vr.create('ssh_transport', 'resources/transport_ssh',
|
ssh_transport = vr.create('ssh_transport', 'resources/transport_ssh',
|
||||||
{'ssh_key': '/vagrant/.vagrant/machines/solar-dev1/virtualbox/private_key',
|
{'ssh_key': '/vagrant/.vagrant/machines/solar-dev1/virtualbox/private_key',
|
||||||
'ssh_user': 'vagrant'})[0]
|
'ssh_user': 'vagrant'})[0]
|
||||||
|
|
||||||
solard_transport = vr.create('solard_transport', 'resources/transport_solard',
|
solar_agent_transport = vr.create('solar_agent_transport', 'resources/transport_solar_agent',
|
||||||
{'solard_user': 'vagrant',
|
{'solar_agent_user': 'vagrant',
|
||||||
'solard_password': 'password'})[0]
|
'solar_agent_password': 'password'})[0]
|
||||||
|
|
||||||
transports_for_solard.connect(solard_transport, {})
|
transports_for_solar_agent.connect(solar_agent_transport, {})
|
||||||
ssh_transport.connect(transports_for_solard,{'ssh_key': 'transports:key',
|
ssh_transport.connect(transports_for_solar_agent,{'ssh_key': 'transports:key',
|
||||||
'ssh_user': 'transports:user',
|
'ssh_user': 'transports:user',
|
||||||
'ssh_port': 'transports:port',
|
'ssh_port': 'transports:port',
|
||||||
'name': 'transports:name'})
|
'name': 'transports:name'})
|
||||||
@ -40,9 +40,9 @@ def run():
|
|||||||
'ssh_user': 'transports:user',
|
'ssh_user': 'transports:user',
|
||||||
'ssh_port': 'transports:port',
|
'ssh_port': 'transports:port',
|
||||||
'name': 'transports:name'})
|
'name': 'transports:name'})
|
||||||
solard_transport.connect(transports, {'solard_user': 'transports:user',
|
solar_agent_transport.connect(transports, {'solar_agent_user': 'transports:user',
|
||||||
'solard_port': 'transports:port',
|
'solar_agent_port': 'transports:port',
|
||||||
'solard_password': 'transports:password',
|
'solar_agent_password': 'transports:password',
|
||||||
'name': 'transports:name'})
|
'name': 'transports:name'})
|
||||||
|
|
||||||
|
|
@ -17,7 +17,7 @@ import handlers
|
|||||||
|
|
||||||
# from solar.core.transports.ssh import SSHSyncTransport, SSHRunTransport
|
# from solar.core.transports.ssh import SSHSyncTransport, SSHRunTransport
|
||||||
# from solar.core.transports.rsync import RsyncSyncTransport
|
# from solar.core.transports.rsync import RsyncSyncTransport
|
||||||
# from solar.core.transports.solard_transport import SolardRunTransport, SolardSyncTransport
|
# from solar.core.transports.solar_agent_transport import SolarAgentRunTransport, SolarAgentSyncTransport
|
||||||
|
|
||||||
from solar.core.transports.bat import BatRunTransport, BatSyncTransport
|
from solar.core.transports.bat import BatRunTransport, BatSyncTransport
|
||||||
|
|
||||||
@ -25,8 +25,8 @@ _default_transports = {
|
|||||||
# 'sync': RsyncSyncTransport,
|
# 'sync': RsyncSyncTransport,
|
||||||
# 'sync': SSHSyncTransport,
|
# 'sync': SSHSyncTransport,
|
||||||
# 'run': SSHRunTransport,
|
# 'run': SSHRunTransport,
|
||||||
# 'run': SolardRunTransport,
|
# 'run': SolarAgentRunTransport,
|
||||||
# 'sync': SolardSyncTransport
|
# 'sync': SolarAgentSyncTransport
|
||||||
'run': BatRunTransport,
|
'run': BatRunTransport,
|
||||||
'sync': BatSyncTransport
|
'sync': BatSyncTransport
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,7 @@ from solar import errors
|
|||||||
env.warn_only = True
|
env.warn_only = True
|
||||||
|
|
||||||
|
|
||||||
# if we would have something like solard that would render this then
|
# if we would have something like solar_agent that would render this then
|
||||||
# we would not need to render it there
|
# we would not need to render it there
|
||||||
# for now we redender it locally, sync to remote, run ansible on remote host as local
|
# for now we redender it locally, sync to remote, run ansible on remote host as local
|
||||||
class AnsibleTemplate(TempFileHandler):
|
class AnsibleTemplate(TempFileHandler):
|
||||||
|
@ -91,7 +91,7 @@ def location_and_transports(emitter, receiver, orig_mapping):
|
|||||||
return
|
return
|
||||||
if emitter_single.get('is_emit') is False:
|
if emitter_single.get('is_emit') is False:
|
||||||
# this case is when we connect resource to transport itself
|
# this case is when we connect resource to transport itself
|
||||||
# like adding ssh_transport for solard_transport and we don't want then
|
# like adding ssh_transport for solar_agent_transport and we don't want then
|
||||||
# transports_id to be messed
|
# transports_id to be messed
|
||||||
# it forbids passing this value around
|
# it forbids passing this value around
|
||||||
# log.debug("Disabled %r mapping for %r", single, emitter.name)
|
# log.debug("Disabled %r mapping for %r", single, emitter.name)
|
||||||
|
@ -2,11 +2,11 @@ from solar.core.transports.base import SyncTransport, RunTransport, SolarTranspo
|
|||||||
from solar.core.transports.ssh import SSHSyncTransport, SSHRunTransport
|
from solar.core.transports.ssh import SSHSyncTransport, SSHRunTransport
|
||||||
from solar.core.transports.rsync import RsyncSyncTransport
|
from solar.core.transports.rsync import RsyncSyncTransport
|
||||||
try:
|
try:
|
||||||
from solar.core.transports.solard_transport import SolardRunTransport, SolardSyncTransport
|
from solar.core.transports.solar_agent_transport import SolarAgentRunTransport, SolarAgentSyncTransport
|
||||||
except ImportError:
|
except ImportError:
|
||||||
_solard_available = False
|
_solar_agent_available = False
|
||||||
else:
|
else:
|
||||||
_solard_available = True
|
_solar_agent_available = True
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from solar.core.transports.torrent import TorrentSyncTransport
|
from solar.core.transports.torrent import TorrentSyncTransport
|
||||||
@ -29,9 +29,9 @@ KNOWN_RUN_TRANSPORTS = {
|
|||||||
|
|
||||||
if _torrent_available:
|
if _torrent_available:
|
||||||
KNOWN_SYNC_TRANSPORTS['torrent'] = TorrentSyncTransport
|
KNOWN_SYNC_TRANSPORTS['torrent'] = TorrentSyncTransport
|
||||||
if _solard_available:
|
if _solar_agent_available:
|
||||||
KNOWN_SYNC_TRANSPORTS['solard'] = SolardSyncTransport
|
KNOWN_SYNC_TRANSPORTS['solar_agent'] = SolarAgentSyncTransport
|
||||||
KNOWN_RUN_TRANSPORTS['solard'] = SolardRunTransport
|
KNOWN_RUN_TRANSPORTS['solar_agent'] = SolarAgentRunTransport
|
||||||
|
|
||||||
|
|
||||||
class OnAll(object):
|
class OnAll(object):
|
||||||
@ -87,7 +87,7 @@ class BatTransport(SolarTransport):
|
|||||||
class BatSyncTransport(SyncTransport, BatTransport):
|
class BatSyncTransport(SyncTransport, BatTransport):
|
||||||
|
|
||||||
preffered_transport_name = None
|
preffered_transport_name = None
|
||||||
_order = ('torrent', 'solard', 'rsync', 'ssh')
|
_order = ('torrent', 'solar_agent', 'rsync', 'ssh')
|
||||||
_bat_transports = KNOWN_SYNC_TRANSPORTS
|
_bat_transports = KNOWN_SYNC_TRANSPORTS
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
@ -105,7 +105,7 @@ class BatSyncTransport(SyncTransport, BatTransport):
|
|||||||
class BatRunTransport(RunTransport, BatTransport):
|
class BatRunTransport(RunTransport, BatTransport):
|
||||||
|
|
||||||
preffered_transport_name = None
|
preffered_transport_name = None
|
||||||
_order = ('solard', 'ssh')
|
_order = ('solar_agent', 'ssh')
|
||||||
_bat_transports = KNOWN_RUN_TRANSPORTS
|
_bat_transports = KNOWN_RUN_TRANSPORTS
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
|
@ -13,13 +13,13 @@
|
|||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
|
|
||||||
from solard.client import SolardClient
|
from solar_agent.client import SolarAgentClient
|
||||||
|
|
||||||
from solar.core.transports.base import RunTransport, SyncTransport, Executor, SolarRunResult
|
from solar.core.transports.base import RunTransport, SyncTransport, Executor, SolarRunResult
|
||||||
from solar.core.log import log
|
from solar.core.log import log
|
||||||
|
|
||||||
|
|
||||||
class SolardTransport(object):
|
class SolarAgentTransport(object):
|
||||||
|
|
||||||
def get_client(self, resource):
|
def get_client(self, resource):
|
||||||
transport = self.get_transport_data(resource)
|
transport = self.get_transport_data(resource)
|
||||||
@ -28,18 +28,18 @@ class SolardTransport(object):
|
|||||||
port = transport['port']
|
port = transport['port']
|
||||||
auth = transport['password']
|
auth = transport['password']
|
||||||
transport_class = transport.get('transport_class')
|
transport_class = transport.get('transport_class')
|
||||||
client = SolardClient(auth={'user': user, 'auth': auth},
|
client = SolarAgentClient(auth={'user': user, 'auth': auth},
|
||||||
transport_args=(host, port),
|
transport_args=(host, port),
|
||||||
transport_class=transport_class)
|
transport_class=transport_class)
|
||||||
return client
|
return client
|
||||||
|
|
||||||
|
|
||||||
class SolardSyncTransport(SyncTransport, SolardTransport):
|
class SolarAgentSyncTransport(SyncTransport, SolarAgentTransport):
|
||||||
|
|
||||||
preffered_transport_name = 'solard'
|
preffered_transport_name = 'solar_agent'
|
||||||
|
|
||||||
def copy(self, resource, _from, _to, use_sudo=False):
|
def copy(self, resource, _from, _to, use_sudo=False):
|
||||||
log.debug("Solard copy: %s -> %s", _from, _to)
|
log.debug("SolarAgent copy: %s -> %s", _from, _to)
|
||||||
|
|
||||||
client = self.get_client(resource)
|
client = self.get_client(resource)
|
||||||
executor = lambda transport: client.copy(_from, _to, use_sudo)
|
executor = lambda transport: client.copy(_from, _to, use_sudo)
|
||||||
@ -49,15 +49,15 @@ class SolardSyncTransport(SyncTransport, SolardTransport):
|
|||||||
self.executors.append(executor)
|
self.executors.append(executor)
|
||||||
|
|
||||||
|
|
||||||
class SolardRunTransport(RunTransport, SolardTransport):
|
class SolarAgentRunTransport(RunTransport, SolarAgentTransport):
|
||||||
|
|
||||||
preffered_transport_name = 'solard'
|
preffered_transport_name = 'solar_agent'
|
||||||
|
|
||||||
def get_result(self, result):
|
def get_result(self, result):
|
||||||
return SolarRunResult(result)
|
return SolarRunResult(result)
|
||||||
|
|
||||||
def run(self, resource, *args, **kwargs):
|
def run(self, resource, *args, **kwargs):
|
||||||
log.debug("Solard run: %s", args)
|
log.debug("SolarAgent run: %s", args)
|
||||||
client = self.get_client(resource)
|
client = self.get_client(resource)
|
||||||
res = client.run(' '.join(args), **kwargs)
|
res = client.run(' '.join(args), **kwargs)
|
||||||
return self.get_result(res)
|
return self.get_result(res)
|
Loading…
x
Reference in New Issue
Block a user