- rename VirtualResource to Composer - rename event parameter depend_action to child_action - rename values parameter to input Closes-bug: #1526780 Change-Id: Ib974e14ff4bda44c2d7d991f62aa4a06dea160ea
		
			
				
	
	
		
			62 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
import click
 | 
						|
import sys
 | 
						|
import time
 | 
						|
 | 
						|
from solar.core import resource
 | 
						|
from solar.core import signals
 | 
						|
from solar.core.resource import composer as cr
 | 
						|
from solar.dblayer.model import ModelMeta
 | 
						|
 | 
						|
 | 
						|
def run():
 | 
						|
    ModelMeta.remove_all()
 | 
						|
 | 
						|
    node = cr.create('node', 'resources/ro_node', {'name': 'first' + str(time.time()),
 | 
						|
                                                       'ip': '10.0.0.3',
 | 
						|
                                                       'node_id': 'node1',
 | 
						|
                                                   })[0]
 | 
						|
 | 
						|
    transports = cr.create('transports_node1', 'resources/transports')[0]
 | 
						|
    transports_for_solar_agent = cr.create('transports_for_solar_agent', 'resources/transports')[0]
 | 
						|
 | 
						|
    ssh_transport  = cr.create('ssh_transport', 'resources/transport_ssh',
 | 
						|
                               {'ssh_key': '/vagrant/.vagrant/machines/solar-dev1/virtualbox/private_key',
 | 
						|
                                'ssh_user': 'vagrant'})[0]
 | 
						|
 | 
						|
    solar_agent_transport  = cr.create('solar_agent_transport', 'resources/transport_solar_agent',
 | 
						|
                                  {'solar_agent_user': 'vagrant',
 | 
						|
                                   'solar_agent_password': 'password'})[0]
 | 
						|
 | 
						|
    transports_for_solar_agent.connect(solar_agent_transport, {})
 | 
						|
    ssh_transport.connect(transports_for_solar_agent,{'ssh_key': 'transports:key',
 | 
						|
                                                 'ssh_user': 'transports:user',
 | 
						|
                                                 'ssh_port': 'transports:port',
 | 
						|
                                                 'name': 'transports:name'})
 | 
						|
    # set transports_id
 | 
						|
    transports.connect(node, {})
 | 
						|
 | 
						|
    # it uses reverse mappings
 | 
						|
    ssh_transport.connect(transports, {'ssh_key': 'transports:key',
 | 
						|
                                        'ssh_user': 'transports:user',
 | 
						|
                                        'ssh_port': 'transports:port',
 | 
						|
                                        'name': 'transports:name'})
 | 
						|
    solar_agent_transport.connect(transports, {'solar_agent_user': 'transports:user',
 | 
						|
                                           'solar_agent_port': 'transports:port',
 | 
						|
                                           'solar_agent_password': 'transports:password',
 | 
						|
                                           'name': 'transports:name'})
 | 
						|
 | 
						|
 | 
						|
    hosts = cr.create('hosts_file', 'resources/hosts_file', {})[0]
 | 
						|
    node.connect(hosts, {
 | 
						|
        'ip': 'hosts:ip',
 | 
						|
        'name': 'hosts:name'
 | 
						|
    })
 | 
						|
 | 
						|
    # for r in (node, hosts, ssh_transport, transports):
 | 
						|
    #     print r.name, repr(r.args['location_id']), repr(r.args['transports_id'])
 | 
						|
 | 
						|
    # print hosts.transports()
 | 
						|
    # print hosts.ip()
 | 
						|
 | 
						|
run()
 |